mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Merge branch 'dev' into enh-dns-autoconf
This commit is contained in:
commit
46b51b84f3
80 changed files with 3261 additions and 1976 deletions
|
@ -181,3 +181,12 @@ test-service:
|
|||
only:
|
||||
changes:
|
||||
- src/yunohost/service.py
|
||||
|
||||
test-ldapauth:
|
||||
extends: .test-stage
|
||||
script:
|
||||
- cd src/yunohost
|
||||
- python3 -m pytest tests/test_ldapauth.py
|
||||
only:
|
||||
changes:
|
||||
- src/yunohost/authenticators/*.py
|
||||
|
|
|
@ -10,15 +10,18 @@ remove-stale-translated-strings:
|
|||
- apt-get update -y && apt-get install git hub -y
|
||||
- git config --global user.email "yunohost@yunohost.org"
|
||||
- git config --global user.name "$GITHUB_USER"
|
||||
- git remote set-url origin https://$GITHUB_TOKEN:x-oauth-basic@github.com/YunoHost/yunohost.git
|
||||
script:
|
||||
- cd tests # Maybe move this script location to another folder?
|
||||
# create a local branch that will overwrite distant one
|
||||
- git checkout -b "ci-remove-stale-translated-strings-${CI_COMMIT_REF_NAME}" --no-track
|
||||
- python remove_stale_translated_strings.py
|
||||
- python3 remove_stale_translated_strings.py
|
||||
- '[ $(git diff | wc -l) != 0 ] || exit 0' # stop if there is nothing to commit
|
||||
- git commit -am "[CI] Remove stale translated strings" || true
|
||||
- git push -f origin "ci-remove-stale-translated-strings-${CI_COMMIT_REF_NAME}":"ci-remove-stale-translated-strings-${CI_COMMIT_REF_NAME}"
|
||||
- hub pull-request -m "[CI] Remove stale translated strings" -b Yunohost:dev -p || true # GITHUB_USER and GITHUB_TOKEN registered here https://gitlab.com/yunohost/yunohost/-/settings/ci_cd
|
||||
only:
|
||||
variables:
|
||||
- $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
|
||||
changes:
|
||||
- locales/*
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
<div align="center">
|
||||
|
||||
[](https://travis-ci.org/YunoHost/yunohost)
|
||||
[](https://github.com/YunoHost/yunohost/blob/stretch-unstable/LICENSE)
|
||||
[](https://gitlab.com/yunohost/yunohost/-/pipelines)
|
||||
[](https://github.com/YunoHost/yunohost/blob/dev/LICENSE)
|
||||
[](https://mastodon.social/@yunohost)
|
||||
|
||||
</div>
|
||||
|
|
173
bin/yunomdns
Executable file
173
bin/yunomdns
Executable file
|
@ -0,0 +1,173 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
"""
|
||||
Pythonic declaration of mDNS .local domains for YunoHost
|
||||
"""
|
||||
|
||||
import subprocess
|
||||
import re
|
||||
import sys
|
||||
import yaml
|
||||
|
||||
import socket
|
||||
from time import sleep
|
||||
from typing import List, Dict
|
||||
|
||||
from zeroconf import Zeroconf, ServiceInfo
|
||||
|
||||
# Helper command taken from Moulinette
|
||||
def check_output(args, stderr=subprocess.STDOUT, shell=True, **kwargs):
|
||||
"""Run command with arguments and return its output as a byte string
|
||||
Overwrite some of the arguments to capture standard error in the result
|
||||
and use shell by default before calling subprocess.check_output.
|
||||
"""
|
||||
return (
|
||||
subprocess.check_output(args, stderr=stderr, shell=shell, **kwargs)
|
||||
.decode("utf-8")
|
||||
.strip()
|
||||
)
|
||||
|
||||
# Helper command taken from Moulinette
|
||||
def _extract_inet(string, skip_netmask=False, skip_loopback=True):
|
||||
"""
|
||||
Extract IP addresses (v4 and/or v6) from a string limited to one
|
||||
address by protocol
|
||||
|
||||
Keyword argument:
|
||||
string -- String to search in
|
||||
skip_netmask -- True to skip subnet mask extraction
|
||||
skip_loopback -- False to include addresses reserved for the
|
||||
loopback interface
|
||||
|
||||
Returns:
|
||||
A dict of {protocol: address} with protocol one of 'ipv4' or 'ipv6'
|
||||
|
||||
"""
|
||||
ip4_pattern = (
|
||||
r"((25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}"
|
||||
)
|
||||
ip6_pattern = r"(((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)::?((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)"
|
||||
ip4_pattern += r"/[0-9]{1,2})" if not skip_netmask else ")"
|
||||
ip6_pattern += r"/[0-9]{1,3})" if not skip_netmask else ")"
|
||||
result = {}
|
||||
|
||||
for m in re.finditer(ip4_pattern, string):
|
||||
addr = m.group(1)
|
||||
if skip_loopback and addr.startswith("127."):
|
||||
continue
|
||||
|
||||
# Limit to only one result
|
||||
result["ipv4"] = addr
|
||||
break
|
||||
|
||||
for m in re.finditer(ip6_pattern, string):
|
||||
addr = m.group(1)
|
||||
if skip_loopback and addr == "::1":
|
||||
continue
|
||||
|
||||
# Limit to only one result
|
||||
result["ipv6"] = addr
|
||||
break
|
||||
|
||||
return result
|
||||
|
||||
# Helper command taken from Moulinette
|
||||
def get_network_interfaces():
|
||||
|
||||
# Get network devices and their addresses (raw infos from 'ip addr')
|
||||
devices_raw = {}
|
||||
output = check_output("ip --brief a").split("\n")
|
||||
for line in output:
|
||||
line = line.split()
|
||||
iname = line[0]
|
||||
ips = ' '.join(line[2:])
|
||||
|
||||
devices_raw[iname] = ips
|
||||
|
||||
# Parse relevant informations for each of them
|
||||
devices = {
|
||||
name: _extract_inet(addrs)
|
||||
for name, addrs in devices_raw.items()
|
||||
if name != "lo"
|
||||
}
|
||||
|
||||
return devices
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
###
|
||||
# CONFIG
|
||||
###
|
||||
|
||||
with open('/etc/yunohost/mdns.yml', 'r') as f:
|
||||
config = yaml.safe_load(f) or {}
|
||||
updated = False
|
||||
|
||||
required_fields = ["interfaces", "domains"]
|
||||
missing_fields = [field for field in required_fields if field not in config]
|
||||
|
||||
if missing_fields:
|
||||
print("The fields %s are required" % ', '.join(missing_fields))
|
||||
|
||||
if config['interfaces'] is None:
|
||||
print('No interface listed for broadcast.')
|
||||
sys.exit(0)
|
||||
|
||||
if 'yunohost.local' not in config['domains']:
|
||||
config['domains'].append('yunohost.local')
|
||||
|
||||
zcs = {}
|
||||
interfaces = get_network_interfaces()
|
||||
for interface in config['interfaces']:
|
||||
infos = [] # List of ServiceInfo objects, to feed Zeroconf
|
||||
ips = [] # Human-readable IPs
|
||||
b_ips = [] # Binary-convered IPs
|
||||
|
||||
ipv4 = interfaces[interface]['ipv4'].split('/')[0]
|
||||
if ipv4:
|
||||
ips.append(ipv4)
|
||||
b_ips.append(socket.inet_pton(socket.AF_INET, ipv4))
|
||||
|
||||
ipv6 = interfaces[interface]['ipv6'].split('/')[0]
|
||||
if ipv6:
|
||||
ips.append(ipv6)
|
||||
b_ips.append(socket.inet_pton(socket.AF_INET6, ipv6))
|
||||
|
||||
# If at least one IP is listed
|
||||
if ips:
|
||||
# Create a Zeroconf object, and store the ServiceInfos
|
||||
zc = Zeroconf(interfaces=ips)
|
||||
zcs[zc]=[]
|
||||
for d in config['domains']:
|
||||
d_domain=d.replace('.local','')
|
||||
if '.' in d_domain:
|
||||
print(d_domain+'.local: subdomains are not supported.')
|
||||
else:
|
||||
# Create a ServiceInfo object for each .local domain
|
||||
zcs[zc].append(ServiceInfo(
|
||||
type_='_device-info._tcp.local.',
|
||||
name=interface+': '+d_domain+'._device-info._tcp.local.',
|
||||
addresses=b_ips,
|
||||
port=80,
|
||||
server=d+'.',
|
||||
))
|
||||
print('Adding '+d+' with addresses '+str(ips)+' on interface '+interface)
|
||||
|
||||
# Run registration
|
||||
print("Registering...")
|
||||
for zc, infos in zcs.items():
|
||||
for info in infos:
|
||||
zc.register_service(info)
|
||||
|
||||
try:
|
||||
print("Registered. Press Ctrl+C or stop service to stop.")
|
||||
while True:
|
||||
sleep(1)
|
||||
except KeyboardInterrupt:
|
||||
pass
|
||||
finally:
|
||||
print("Unregistering...")
|
||||
for zc, infos in zcs.items():
|
||||
for info in infos:
|
||||
zc.unregister_service(info)
|
||||
zc.close()
|
|
@ -34,7 +34,7 @@ Haste server.
|
|||
|
||||
For example, to paste the output of the YunoHost diagnosis, you
|
||||
can simply execute the following:
|
||||
yunohost tools diagnosis | ${0}
|
||||
yunohost diagnosis show | ${0}
|
||||
|
||||
It will return the URL where you can access the pasted data.
|
||||
|
||||
|
|
|
@ -33,18 +33,10 @@
|
|||
# Global parameters #
|
||||
#############################
|
||||
_global:
|
||||
configuration:
|
||||
authenticate:
|
||||
- api
|
||||
authenticator:
|
||||
default:
|
||||
vendor: ldap
|
||||
help: admin_password
|
||||
parameters:
|
||||
uri: ldap://localhost:389
|
||||
base_dn: dc=yunohost,dc=org
|
||||
user_rdn: cn=admin,dc=yunohost,dc=org
|
||||
argument_auth: false
|
||||
name: yunohost.admin
|
||||
authentication:
|
||||
api: ldap_admin
|
||||
cli: null
|
||||
arguments:
|
||||
-v:
|
||||
full: --version
|
||||
|
@ -740,7 +732,11 @@ app:
|
|||
api: DELETE /apps/<app>
|
||||
arguments:
|
||||
app:
|
||||
help: App to delete
|
||||
help: App to remove
|
||||
-p:
|
||||
full: --purge
|
||||
help: Also remove all application data
|
||||
action: store_true
|
||||
|
||||
### app_upgrade()
|
||||
upgrade:
|
||||
|
@ -760,6 +756,10 @@ app:
|
|||
full: --force
|
||||
help: Force the update, even though the app is up to date
|
||||
action: store_true
|
||||
-b:
|
||||
full: --no-safety-backup
|
||||
help: Disable the safety backup during upgrade
|
||||
action: store_true
|
||||
|
||||
### app_change_url()
|
||||
change-url:
|
||||
|
@ -1461,9 +1461,9 @@ tools:
|
|||
postinstall:
|
||||
action_help: YunoHost post-install
|
||||
api: POST /postinstall
|
||||
configuration:
|
||||
authentication:
|
||||
# We need to be able to run the postinstall without being authenticated, otherwise we can't run the postinstall
|
||||
authenticate: false
|
||||
api: null
|
||||
arguments:
|
||||
-d:
|
||||
full: --domain
|
||||
|
|
|
@ -32,7 +32,7 @@ def get_dict_actions(OPTION_SUBTREE, category):
|
|||
with open(ACTIONSMAP_FILE, "r") as stream:
|
||||
|
||||
# Getting the dictionary containning what actions are possible per category
|
||||
OPTION_TREE = yaml.load(stream)
|
||||
OPTION_TREE = yaml.safe_load(stream)
|
||||
|
||||
CATEGORY = [
|
||||
category for category in OPTION_TREE.keys() if not category.startswith("_")
|
||||
|
|
|
@ -31,7 +31,11 @@ ynh_multimedia_build_main_dir() {
|
|||
mkdir -p "$MEDIA_DIRECTORY/$user/eBook"
|
||||
ln -sfn "$MEDIA_DIRECTORY/share" "$MEDIA_DIRECTORY/$user/Share"
|
||||
# Création du lien symbolique dans le home de l'utilisateur.
|
||||
ln -sfn "$MEDIA_DIRECTORY/$user" "/home/$user/Multimedia"
|
||||
#link will only be created if the home directory of the user exists and if it's located in '/home' folder
|
||||
local user_home="$(getent passwd $user | cut -d: -f6 | grep '^/home/')"
|
||||
if [[ -d "$user_home" ]]; then
|
||||
ln -sfn "$MEDIA_DIRECTORY/$user" "$user_home/Multimedia"
|
||||
fi
|
||||
# Propriétaires des dossiers utilisateurs.
|
||||
chown -R $user "$MEDIA_DIRECTORY/$user"
|
||||
done
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
n_version=7.2.2
|
||||
n_version=7.3.0
|
||||
n_install_dir="/opt/node_n"
|
||||
node_version_path="$n_install_dir/n/versions/node"
|
||||
# N_PREFIX is the directory of n, it needs to be loaded as a environment variable.
|
||||
|
@ -17,7 +17,7 @@ ynh_install_n () {
|
|||
ynh_print_info --message="Installation of N - Node.js version management"
|
||||
# Build an app.src for n
|
||||
echo "SOURCE_URL=https://github.com/tj/n/archive/v${n_version}.tar.gz
|
||||
SOURCE_SUM=9654440b0e7169cf3be5897a563258116b21ec6e7e7e266acc56979d3ebec6a2" > "$YNH_APP_BASEDIR/conf/n.src"
|
||||
SOURCE_SUM=b908b0fc86922ede37e89d1030191285209d7d521507bf136e62895e5797847f" > "$YNH_APP_BASEDIR/conf/n.src"
|
||||
# Download and extract n
|
||||
ynh_setup_source --dest_dir="$n_install_dir/git" --source_id=n
|
||||
# Install n
|
||||
|
|
|
@ -362,8 +362,17 @@ ynh_permission_has_user() {
|
|||
return 1
|
||||
fi
|
||||
|
||||
yunohost user permission info "$app.$permission" --output-as json --quiet \
|
||||
| jq -e --arg user $user '.corresponding_users | index($user)' >/dev/null
|
||||
# Check both allowed and corresponding_users sections in the json
|
||||
for section in "allowed" "corresponding_users"
|
||||
do
|
||||
if yunohost user permission info "$app.$permission" --output-as json --quiet \
|
||||
| jq -e --arg user $user --arg section $section '.[$section] | index($user)' >/dev/null
|
||||
then
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
# Check if a legacy permissions exist
|
||||
|
|
|
@ -225,7 +225,7 @@ syslog.ident = php-fpm-__APP__
|
|||
include = __FINALPHPCONF__
|
||||
" > $YNH_APP_BASEDIR/conf/php-fpm-$app.conf
|
||||
|
||||
ynh_add_config --template="../config/php-fpm-$app.conf" --destination="$globalphpconf"
|
||||
ynh_add_config --template="$YNH_APP_BASEDIR/conf/php-fpm-$app.conf" --destination="$globalphpconf"
|
||||
|
||||
# Create a config for a dedicated PHP-FPM service for the app
|
||||
echo "[Unit]
|
||||
|
@ -245,7 +245,7 @@ WantedBy=multi-user.target
|
|||
# Create this dedicated PHP-FPM service
|
||||
ynh_add_systemd_config --service=$fpm_service --template=$fpm_service
|
||||
# Integrate the service in YunoHost admin panel
|
||||
yunohost service add $fpm_service --log /var/log/php/fpm-php.$app.log --log_type file --description "Php-fpm dedicated to $app"
|
||||
yunohost service add $fpm_service --log /var/log/php/fpm-php.$app.log --description "Php-fpm dedicated to $app"
|
||||
# Configure log rotate
|
||||
ynh_use_logrotate --logfile=/var/log/php
|
||||
# Restart the service, as this service is either stopped or only for this app
|
||||
|
@ -581,7 +581,7 @@ ynh_composer_exec () {
|
|||
workdir="${workdir:-$final_path}"
|
||||
phpversion="${phpversion:-$YNH_PHP_VERSION}"
|
||||
|
||||
COMPOSER_HOME="$workdir/.composer" \
|
||||
COMPOSER_HOME="$workdir/.composer" COMPOSER_MEMORY_LIMIT=-1 \
|
||||
php${phpversion} "$workdir/composer.phar" $commands \
|
||||
-d "$workdir" --quiet --no-interaction
|
||||
}
|
||||
|
|
|
@ -86,7 +86,7 @@ key, value = os.environ['KEY'], os.environ.get('VALUE', None)
|
|||
setting_file = "/etc/yunohost/apps/%s/settings.yml" % app
|
||||
assert os.path.exists(setting_file), "Setting file %s does not exists ?" % setting_file
|
||||
with open(setting_file) as f:
|
||||
settings = yaml.load(f)
|
||||
settings = yaml.safe_load(f)
|
||||
if action == "get":
|
||||
if key in settings:
|
||||
print(settings[key])
|
||||
|
@ -96,7 +96,7 @@ else:
|
|||
del settings[key]
|
||||
elif action == "set":
|
||||
if key in ['redirected_urls', 'redirected_regex']:
|
||||
value = yaml.load(value)
|
||||
value = yaml.safe_load(value)
|
||||
settings[key] = value
|
||||
else:
|
||||
raise ValueError("action should either be get, set or delete")
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
|
||||
set -e
|
||||
|
||||
services_path="/etc/yunohost/services.yml"
|
||||
|
||||
do_init_regen() {
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
echo "You must be root to run this script" 1>&2
|
||||
|
@ -19,8 +17,6 @@ do_init_regen() {
|
|||
|| echo "yunohost.org" > /etc/yunohost/current_host
|
||||
|
||||
# copy default services and firewall
|
||||
[[ -f $services_path ]] \
|
||||
|| cp services.yml "$services_path"
|
||||
[[ -f /etc/yunohost/firewall.yml ]] \
|
||||
|| cp firewall.yml /etc/yunohost/firewall.yml
|
||||
|
||||
|
@ -49,6 +45,9 @@ do_init_regen() {
|
|||
chmod 644 /etc/ssowat/conf.json.persistent
|
||||
chown root:root /etc/ssowat/conf.json.persistent
|
||||
|
||||
# Empty service conf
|
||||
touch /etc/yunohost/services.yml
|
||||
|
||||
mkdir -p /var/cache/yunohost/repo
|
||||
chown root:root /var/cache/yunohost
|
||||
chmod 700 /var/cache/yunohost
|
||||
|
@ -59,25 +58,9 @@ do_pre_regen() {
|
|||
|
||||
cd /usr/share/yunohost/templates/yunohost
|
||||
|
||||
# update services.yml
|
||||
if [[ -f $services_path ]]; then
|
||||
tmp_services_path="${services_path}-tmp"
|
||||
new_services_path="${services_path}-new"
|
||||
cp "$services_path" "$tmp_services_path"
|
||||
_update_services "$new_services_path" || {
|
||||
mv "$tmp_services_path" "$services_path"
|
||||
exit 1
|
||||
}
|
||||
if [[ -f $new_services_path ]]; then
|
||||
# replace services.yml with new one
|
||||
mv "$new_services_path" "$services_path"
|
||||
mv "$tmp_services_path" "${services_path}-old"
|
||||
else
|
||||
rm -f "$tmp_services_path"
|
||||
fi
|
||||
else
|
||||
cp services.yml /etc/yunohost/services.yml
|
||||
fi
|
||||
# Legacy code that can be removed once on bullseye
|
||||
touch /etc/yunohost/services.yml
|
||||
yunohost tools shell -c "from yunohost.service import _get_services, _save_services; _save_services(_get_services())"
|
||||
|
||||
mkdir -p $pending_dir/etc/cron.d/
|
||||
mkdir -p $pending_dir/etc/cron.daily/
|
||||
|
@ -135,6 +118,24 @@ Conflicts=yunohost-firewall.service
|
|||
ConditionFileIsExecutable=!/etc/init.d/yunohost-firewall
|
||||
ConditionPathExists=!/etc/systemd/system/multi-user.target.wants/yunohost-firewall.service
|
||||
EOF
|
||||
|
||||
# Don't suspend computer on LidSwitch
|
||||
mkdir -p ${pending_dir}/etc/systemd/logind.conf.d/
|
||||
cat > ${pending_dir}/etc/systemd/logind.conf.d/ynh-override.conf << EOF
|
||||
[Login]
|
||||
HandleLidSwitch=ignore
|
||||
HandleLidSwitchDocked=ignore
|
||||
HandleLidSwitchExternalPower=ignore
|
||||
EOF
|
||||
|
||||
mkdir -p ${pending_dir}/etc/systemd/
|
||||
if [[ "$(yunohost settings get 'security.experimental.enabled')" == "True" ]]
|
||||
then
|
||||
cp proc-hidepid.service ${pending_dir}/etc/systemd/system/proc-hidepid.service
|
||||
else
|
||||
touch ${pending_dir}/etc/systemd/system/proc-hidepid.service
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
do_post_regen() {
|
||||
|
@ -194,65 +195,13 @@ do_post_regen() {
|
|||
# Propagates changes in systemd service config overrides
|
||||
[[ ! "$regen_conf_files" =~ "ntp.service.d/ynh-override.conf" ]] || { systemctl daemon-reload; systemctl restart ntp; }
|
||||
[[ ! "$regen_conf_files" =~ "nftables.service.d/ynh-override.conf" ]] || systemctl daemon-reload
|
||||
}
|
||||
|
||||
_update_services() {
|
||||
python3 - << EOF
|
||||
import yaml
|
||||
|
||||
|
||||
with open('services.yml') as f:
|
||||
new_services = yaml.load(f)
|
||||
|
||||
with open('/etc/yunohost/services.yml') as f:
|
||||
services = yaml.load(f) or {}
|
||||
|
||||
updated = False
|
||||
|
||||
|
||||
for service, conf in new_services.items():
|
||||
# remove service with empty conf
|
||||
if conf is None:
|
||||
if service in services:
|
||||
print("removing '{0}' from services".format(service))
|
||||
del services[service]
|
||||
updated = True
|
||||
|
||||
# add new service
|
||||
elif not services.get(service, None):
|
||||
print("adding '{0}' to services".format(service))
|
||||
services[service] = conf
|
||||
updated = True
|
||||
|
||||
# update service conf
|
||||
else:
|
||||
conffiles = services[service].pop('conffiles', {})
|
||||
|
||||
# status need to be removed
|
||||
if "status" not in conf and "status" in services[service]:
|
||||
print("update '{0}' service status access".format(service))
|
||||
del services[service]["status"]
|
||||
updated = True
|
||||
|
||||
if services[service] != conf:
|
||||
print("update '{0}' service".format(service))
|
||||
services[service].update(conf)
|
||||
updated = True
|
||||
|
||||
if conffiles:
|
||||
services[service]['conffiles'] = conffiles
|
||||
|
||||
# Remove legacy /var/log/daemon.log and /var/log/syslog from log entries
|
||||
# because they are too general. Instead, now the journalctl log is
|
||||
# returned by default which is more relevant.
|
||||
if "log" in services[service]:
|
||||
if services[service]["log"] in ["/var/log/syslog", "/var/log/daemon.log"]:
|
||||
del services[service]["log"]
|
||||
|
||||
if updated:
|
||||
with open('/etc/yunohost/services.yml-new', 'w') as f:
|
||||
yaml.safe_dump(services, f, default_flow_style=False)
|
||||
EOF
|
||||
[[ ! "$regen_conf_files" =~ "login.conf.d/ynh-override.conf" ]] || systemctl daemon-reload
|
||||
if [[ "$regen_conf_files" =~ "proc-hidepid.service" ]]
|
||||
then
|
||||
systemctl daemon-reload
|
||||
action=$([[ -e /etc/systemd/system/proc-hidepid.service ]] && echo 'enable' || echo 'disable')
|
||||
systemctl $action proc-hidepid --quiet --now
|
||||
fi
|
||||
}
|
||||
|
||||
FORCE=${2:-0}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
set -e
|
||||
|
||||
tmp_backup_dir_file="/tmp/slapd-backup-dir.txt"
|
||||
tmp_backup_dir_file="/root/slapd-backup-dir.txt"
|
||||
|
||||
config="/usr/share/yunohost/templates/slapd/config.ldif"
|
||||
db_init="/usr/share/yunohost/templates/slapd/db_init.ldif"
|
||||
|
|
|
@ -17,19 +17,16 @@ Pin-Priority: -1" >> "${pending_dir}/etc/apt/preferences.d/extra_php_version"
|
|||
done
|
||||
|
||||
echo "
|
||||
# Yes !
|
||||
# This is what's preventing you from installing apache2 !
|
||||
#
|
||||
# Maybe take two fucking minutes to realize that if you try to install
|
||||
# apache2, this will break nginx and break the entire YunoHost ecosystem.
|
||||
# on your server.
|
||||
#
|
||||
# So, *NO*
|
||||
# DO NOT do this.
|
||||
# DO NOT remove these lines.
|
||||
#
|
||||
# I warned you. I WARNED YOU! But did you listen to me?
|
||||
# Oooooh, noooo. You knew it all, didn't you?
|
||||
|
||||
# PLEASE READ THIS WARNING AND DON'T EDIT THIS FILE
|
||||
|
||||
# You are probably reading this file because you tried to install apache2 or
|
||||
# bind9. These 2 packages conflict with YunoHost.
|
||||
|
||||
# Installing apache2 will break nginx and break the entire YunoHost ecosystem
|
||||
# on your server, therefore don't remove those lines!
|
||||
|
||||
# You have been warned.
|
||||
|
||||
Package: apache2
|
||||
Pin: release *
|
||||
|
@ -39,9 +36,9 @@ Package: apache2-bin
|
|||
Pin: release *
|
||||
Pin-Priority: -1
|
||||
|
||||
# Also yes, bind9 will conflict with dnsmasq.
|
||||
# Same story than for apache2.
|
||||
# Don't fucking install it.
|
||||
# Also bind9 will conflict with dnsmasq.
|
||||
# Same story as for apache2.
|
||||
# Don't install it, don't remove those lines.
|
||||
|
||||
Package: bind9
|
||||
Pin: release *
|
||||
|
|
|
@ -25,6 +25,8 @@ do_init_regen() {
|
|||
export compatibility="intermediate"
|
||||
ynh_render_template "security.conf.inc" "${nginx_conf_dir}/security.conf.inc"
|
||||
ynh_render_template "yunohost_admin.conf" "${nginx_conf_dir}/yunohost_admin.conf"
|
||||
ynh_render_template "yunohost_admin.conf.inc" "${nginx_conf_dir}/yunohost_admin.conf.inc"
|
||||
ynh_render_template "yunohost_api.conf.inc" "${nginx_conf_dir}/yunohost_api.conf.inc"
|
||||
|
||||
mkdir -p $nginx_conf_dir/default.d/
|
||||
cp "redirect_to_admin.conf" $nginx_conf_dir/default.d/
|
||||
|
@ -59,6 +61,7 @@ do_pre_regen() {
|
|||
|
||||
# Support different strategy for security configurations
|
||||
export compatibility="$(yunohost settings get 'security.nginx.compatibility')"
|
||||
export experimental="$(yunohost settings get 'security.experimental.enabled')"
|
||||
ynh_render_template "security.conf.inc" "${nginx_conf_dir}/security.conf.inc"
|
||||
|
||||
cert_status=$(yunohost domain cert-status --json)
|
||||
|
@ -83,6 +86,13 @@ do_pre_regen() {
|
|||
|
||||
done
|
||||
|
||||
export webadmin_allowlist_enabled=$(yunohost settings get security.webadmin.allowlist.enabled)
|
||||
if [ "$webadmin_allowlist_enabled" == "True" ]
|
||||
then
|
||||
export webadmin_allowlist=$(yunohost settings get security.webadmin.allowlist)
|
||||
fi
|
||||
ynh_render_template "yunohost_admin.conf.inc" "${nginx_conf_dir}/yunohost_admin.conf.inc"
|
||||
ynh_render_template "yunohost_api.conf.inc" "${nginx_conf_dir}/yunohost_api.conf.inc"
|
||||
ynh_render_template "yunohost_admin.conf" "${nginx_conf_dir}/yunohost_admin.conf"
|
||||
mkdir -p $nginx_conf_dir/default.d/
|
||||
cp "redirect_to_admin.conf" $nginx_conf_dir/default.d/
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
do_pre_regen() {
|
||||
pending_dir=$1
|
||||
|
||||
cd /usr/share/yunohost/templates/avahi-daemon
|
||||
|
||||
install -D -m 644 avahi-daemon.conf \
|
||||
"${pending_dir}/etc/avahi/avahi-daemon.conf"
|
||||
}
|
||||
|
||||
do_post_regen() {
|
||||
regen_conf_files=$1
|
||||
|
||||
[[ -z "$regen_conf_files" ]] \
|
||||
|| systemctl restart avahi-daemon
|
||||
}
|
||||
|
||||
FORCE=${2:-0}
|
||||
DRY_RUN=${3:-0}
|
||||
|
||||
case "$1" in
|
||||
pre)
|
||||
do_pre_regen $4
|
||||
;;
|
||||
post)
|
||||
do_post_regen $4
|
||||
;;
|
||||
*)
|
||||
echo "hook called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
83
data/hooks/conf_regen/37-mdns
Executable file
83
data/hooks/conf_regen/37-mdns
Executable file
|
@ -0,0 +1,83 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
_generate_config() {
|
||||
echo "domains:"
|
||||
echo " - yunohost.local"
|
||||
for domain in $YNH_DOMAINS
|
||||
do
|
||||
# Only keep .local domains (don't keep
|
||||
[[ "$domain" =~ [^.]+\.[^.]+\.local$ ]] && echo "Subdomain $domain cannot be handled by Bonjour/Zeroconf/mDNS" >&2
|
||||
[[ "$domain" =~ ^[^.]+\.local$ ]] || continue
|
||||
echo " - $domain"
|
||||
done
|
||||
|
||||
echo "interfaces:"
|
||||
local_network_interfaces="$(ip --brief a | grep ' 10\.\| 192\.168\.' | awk '{print $1}')"
|
||||
for interface in $local_network_interfaces
|
||||
do
|
||||
echo " - $interface"
|
||||
done
|
||||
}
|
||||
|
||||
do_init_regen() {
|
||||
do_pre_regen
|
||||
do_post_regen /etc/systemd/system/yunomdns.service
|
||||
systemctl enable yunomdns
|
||||
}
|
||||
|
||||
do_pre_regen() {
|
||||
pending_dir="$1"
|
||||
|
||||
cd /usr/share/yunohost/templates/mdns
|
||||
mkdir -p ${pending_dir}/etc/systemd/system/
|
||||
cp yunomdns.service ${pending_dir}/etc/systemd/system/
|
||||
|
||||
getent passwd mdns &>/dev/null || useradd --no-create-home --shell /usr/sbin/nologin --system --user-group mdns
|
||||
|
||||
mkdir -p ${pending_dir}/etc/yunohost
|
||||
_generate_config > ${pending_dir}/etc/yunohost/mdns.yml
|
||||
}
|
||||
|
||||
do_post_regen() {
|
||||
regen_conf_files="$1"
|
||||
|
||||
chown mdns:mdns /etc/yunohost/mdns.yml
|
||||
|
||||
# If we changed the systemd ynh-override conf
|
||||
if echo "$regen_conf_files" | sed 's/,/\n/g' | grep -q "^/etc/systemd/system/yunomdns.service$"
|
||||
then
|
||||
systemctl daemon-reload
|
||||
fi
|
||||
|
||||
# Legacy stuff to enable the new yunomdns service on legacy systems
|
||||
if [[ -e /etc/avahi/avahi-daemon.conf ]] && grep -q 'yunohost' /etc/avahi/avahi-daemon.conf
|
||||
then
|
||||
systemctl enable yunomdns
|
||||
fi
|
||||
|
||||
[[ -z "$regen_conf_files" ]] \
|
||||
|| systemctl restart yunomdns
|
||||
}
|
||||
|
||||
FORCE=${2:-0}
|
||||
DRY_RUN=${3:-0}
|
||||
|
||||
case "$1" in
|
||||
pre)
|
||||
do_pre_regen $4
|
||||
;;
|
||||
post)
|
||||
do_post_regen $4
|
||||
;;
|
||||
init)
|
||||
do_init_regen
|
||||
;;
|
||||
*)
|
||||
echo "hook called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
|
@ -13,6 +13,7 @@ from yunohost.diagnosis import Diagnoser
|
|||
from yunohost.domain import domain_list, _build_dns_conf, _get_maindomain
|
||||
|
||||
YNH_DYNDNS_DOMAINS = ["nohost.me", "noho.st", "ynh.fr"]
|
||||
SPECIAL_USE_TLDS = ["local", "localhost", "onion", "test"]
|
||||
|
||||
|
||||
class DNSRecordsDiagnoser(Diagnoser):
|
||||
|
@ -29,8 +30,14 @@ class DNSRecordsDiagnoser(Diagnoser):
|
|||
for domain in all_domains:
|
||||
self.logger_debug("Diagnosing DNS conf for %s" % domain)
|
||||
is_subdomain = domain.split(".", 1)[1] in all_domains
|
||||
is_specialusedomain = any(
|
||||
domain.endswith("." + tld) for tld in SPECIAL_USE_TLDS
|
||||
)
|
||||
for report in self.check_domain(
|
||||
domain, domain == main_domain, is_subdomain=is_subdomain
|
||||
domain,
|
||||
domain == main_domain,
|
||||
is_subdomain=is_subdomain,
|
||||
is_specialusedomain=is_specialusedomain,
|
||||
):
|
||||
yield report
|
||||
|
||||
|
@ -48,7 +55,7 @@ class DNSRecordsDiagnoser(Diagnoser):
|
|||
for report in self.check_expiration_date(domains_from_registrar):
|
||||
yield report
|
||||
|
||||
def check_domain(self, domain, is_main_domain, is_subdomain):
|
||||
def check_domain(self, domain, is_main_domain, is_subdomain, is_specialusedomain):
|
||||
|
||||
expected_configuration = _build_dns_conf(
|
||||
domain, include_empty_AAAA_if_no_ipv6=True
|
||||
|
@ -59,6 +66,15 @@ class DNSRecordsDiagnoser(Diagnoser):
|
|||
if is_subdomain:
|
||||
categories = ["basic"]
|
||||
|
||||
if is_specialusedomain:
|
||||
categories = []
|
||||
yield dict(
|
||||
meta={"domain": domain},
|
||||
data={},
|
||||
status="INFO",
|
||||
summary="diagnosis_dns_specialusedomain",
|
||||
)
|
||||
|
||||
for category in categories:
|
||||
|
||||
records = expected_configuration[category]
|
||||
|
|
|
@ -34,6 +34,12 @@ class WebDiagnoser(Diagnoser):
|
|||
summary="diagnosis_http_nginx_conf_not_up_to_date",
|
||||
details=["diagnosis_http_nginx_conf_not_up_to_date_details"],
|
||||
)
|
||||
elif domain.endswith(".local"):
|
||||
yield dict(
|
||||
meta={"domain": domain},
|
||||
status="INFO",
|
||||
summary="diagnosis_http_localdomain",
|
||||
)
|
||||
else:
|
||||
domains_to_check.append(domain)
|
||||
|
||||
|
|
76
data/hooks/diagnosis/80-apps.py
Normal file
76
data/hooks/diagnosis/80-apps.py
Normal file
|
@ -0,0 +1,76 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
import os
|
||||
|
||||
from yunohost.app import app_list
|
||||
|
||||
from yunohost.diagnosis import Diagnoser
|
||||
|
||||
class AppDiagnoser(Diagnoser):
|
||||
|
||||
id_ = os.path.splitext(os.path.basename(__file__))[0].split("-")[1]
|
||||
cache_duration = 300
|
||||
dependencies = []
|
||||
|
||||
def run(self):
|
||||
|
||||
apps = app_list(full=True)["apps"]
|
||||
for app in apps:
|
||||
app["issues"] = list(self.issues(app))
|
||||
|
||||
if not any(app["issues"] for app in apps):
|
||||
yield dict(
|
||||
meta={"test": "apps"},
|
||||
status="SUCCESS",
|
||||
summary="diagnosis_apps_allgood",
|
||||
)
|
||||
else:
|
||||
for app in apps:
|
||||
|
||||
if not app["issues"]:
|
||||
continue
|
||||
|
||||
level = "ERROR" if any(issue[0] == "error" for issue in app["issues"]) else "WARNING"
|
||||
|
||||
yield dict(
|
||||
meta={"test": "apps", "app": app["name"]},
|
||||
status=level,
|
||||
summary="diagnosis_apps_issue",
|
||||
details=[issue[1] for issue in app["issues"]]
|
||||
)
|
||||
|
||||
def issues(self, app):
|
||||
|
||||
# Check quality level in catalog
|
||||
|
||||
if not app.get("from_catalog") or app["from_catalog"].get("state") != "working":
|
||||
yield ("error", "diagnosis_apps_not_in_app_catalog")
|
||||
elif not isinstance(app["from_catalog"].get("level"), int) or app["from_catalog"]["level"] == 0:
|
||||
yield ("error", "diagnosis_apps_broken")
|
||||
elif app["from_catalog"]["level"] <= 4:
|
||||
yield ("warning", "diagnosis_apps_bad_quality")
|
||||
|
||||
# Check for super old, deprecated practices
|
||||
|
||||
yunohost_version_req = app["manifest"].get("requirements", {}).get("yunohost", "").strip(">= ")
|
||||
if yunohost_version_req.startswith("2."):
|
||||
yield ("error", "diagnosis_apps_outdated_ynh_requirement")
|
||||
|
||||
deprecated_helpers = [
|
||||
"yunohost app setting",
|
||||
"yunohost app checkurl",
|
||||
"yunohost app checkport",
|
||||
"yunohost app initdb",
|
||||
"yunohost tools port-available",
|
||||
]
|
||||
for deprecated_helper in deprecated_helpers:
|
||||
if os.system(f"grep -nr -q '{deprecated_helper}' {app['setting_path']}/scripts/") == 0:
|
||||
yield ("error", "diagnosis_apps_deprecated_practices")
|
||||
|
||||
old_arg_regex = r'^domain=\${?[0-9]'
|
||||
if os.system(f"grep -q '{old_arg_regex}' {app['setting_path']}/scripts/install") == 0:
|
||||
yield ("error", "diagnosis_apps_deprecated_practices")
|
||||
|
||||
|
||||
def main(args, env, loggers):
|
||||
return AppDiagnoser(args, env, loggers).diagnose()
|
|
@ -15,7 +15,11 @@ mkdir -p "$MEDIA_DIRECTORY/$user/Video"
|
|||
mkdir -p "$MEDIA_DIRECTORY/$user/eBook"
|
||||
ln -sfn "$MEDIA_DIRECTORY/share" "$MEDIA_DIRECTORY/$user/Share"
|
||||
# Création du lien symbolique dans le home de l'utilisateur.
|
||||
ln -sfn "$MEDIA_DIRECTORY/$user" "/home/$user/Multimedia"
|
||||
#link will only be created if the home directory of the user exists and if it's located in '/home' folder
|
||||
user_home="$(getent passwd $user | cut -d: -f6 | grep '^/home/')"
|
||||
if [[ -d "$user_home" ]]; then
|
||||
ln -sfn "$MEDIA_DIRECTORY/$user" "$user_home/Multimedia"
|
||||
fi
|
||||
# Propriétaires des dossiers utilisateurs.
|
||||
chown -R $user "$MEDIA_DIRECTORY/$user"
|
||||
|
||||
|
|
|
@ -151,12 +151,6 @@
|
|||
ipv4: true
|
||||
ipv6: false
|
||||
domain: false
|
||||
- name: Invaluement
|
||||
dns_server: sip.invaluement.com
|
||||
website: https://www.invaluement.com/
|
||||
ipv4: true
|
||||
ipv6: false
|
||||
domain: false
|
||||
# Added cause it supports IPv6
|
||||
- name: AntiCaptcha.NET IPv6
|
||||
dns_server: dnsbl6.anticaptcha.net
|
||||
|
|
|
@ -1,68 +0,0 @@
|
|||
# This file is part of avahi.
|
||||
#
|
||||
# avahi is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# avahi 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 General Public
|
||||
# License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with avahi; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
# USA.
|
||||
|
||||
# See avahi-daemon.conf(5) for more information on this configuration
|
||||
# file!
|
||||
|
||||
[server]
|
||||
host-name=yunohost
|
||||
domain-name=local
|
||||
#browse-domains=0pointer.de, zeroconf.org
|
||||
use-ipv4=yes
|
||||
use-ipv6=yes
|
||||
#allow-interfaces=eth0
|
||||
#deny-interfaces=eth1
|
||||
#check-response-ttl=no
|
||||
#use-iff-running=no
|
||||
#enable-dbus=yes
|
||||
#disallow-other-stacks=no
|
||||
#allow-point-to-point=no
|
||||
#cache-entries-max=4096
|
||||
#clients-max=4096
|
||||
#objects-per-client-max=1024
|
||||
#entries-per-entry-group-max=32
|
||||
ratelimit-interval-usec=1000000
|
||||
ratelimit-burst=1000
|
||||
|
||||
[wide-area]
|
||||
enable-wide-area=yes
|
||||
|
||||
[publish]
|
||||
#disable-publishing=no
|
||||
#disable-user-service-publishing=no
|
||||
#add-service-cookie=no
|
||||
#publish-addresses=yes
|
||||
#publish-hinfo=yes
|
||||
#publish-workstation=yes
|
||||
#publish-domain=yes
|
||||
#publish-dns-servers=192.168.50.1, 192.168.50.2
|
||||
#publish-resolv-conf-dns-servers=yes
|
||||
#publish-aaaa-on-ipv4=yes
|
||||
#publish-a-on-ipv6=no
|
||||
|
||||
[reflector]
|
||||
#enable-reflector=no
|
||||
#reflect-ipv=no
|
||||
|
||||
[rlimits]
|
||||
#rlimit-as=
|
||||
rlimit-core=0
|
||||
rlimit-data=4194304
|
||||
rlimit-fsize=0
|
||||
rlimit-nofile=768
|
||||
rlimit-stack=4194304
|
||||
rlimit-nproc=3
|
13
data/templates/mdns/yunomdns.service
Normal file
13
data/templates/mdns/yunomdns.service
Normal file
|
@ -0,0 +1,13 @@
|
|||
[Unit]
|
||||
Description=YunoHost mDNS service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=mdns
|
||||
Group=mdns
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/yunomdns
|
||||
StandardOutput=syslog
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
|
@ -30,7 +30,7 @@ skip-external-locking
|
|||
key_buffer_size = 16K
|
||||
max_allowed_packet = 16M
|
||||
table_open_cache = 4
|
||||
sort_buffer_size = 64K
|
||||
sort_buffer_size = 256K
|
||||
read_buffer_size = 256K
|
||||
read_rnd_buffer_size = 256K
|
||||
net_buffer_length = 2K
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Insert YunoHost button + portal overlay
|
||||
sub_filter </head> '<script type="text/javascript" src="/ynh_portal.js"></script><link type="text/css" rel="stylesheet" href="/ynh_overlay.css"></link><script type="text/javascript" src="/ynhtheme/custom_portal.js"></script><link type="text/css" rel="stylesheet" href="/ynhtheme/custom_overlay.css"></link></head>';
|
||||
sub_filter </head> '<script type="text/javascript" src="/ynh_portal.js"></script><link type="text/css" rel="stylesheet" href="/ynh_overlay.css"><script type="text/javascript" src="/ynhtheme/custom_portal.js"></script><link type="text/css" rel="stylesheet" href="/ynhtheme/custom_overlay.css"></head>';
|
||||
sub_filter_once on;
|
||||
# Apply to other mime types than text/html
|
||||
sub_filter_types application/xhtml+xml;
|
||||
|
|
|
@ -25,7 +25,11 @@ ssl_dhparam /usr/share/yunohost/other/ffdhe2048.pem;
|
|||
# Follows the Web Security Directives from the Mozilla Dev Lab and the Mozilla Obervatory + Partners
|
||||
# https://wiki.mozilla.org/Security/Guidelines/Web_Security
|
||||
# https://observatory.mozilla.org/
|
||||
{% if experimental == "True" %}
|
||||
more_set_headers "Content-Security-Policy : upgrade-insecure-requests; default-src https: data:";
|
||||
{% else %}
|
||||
more_set_headers "Content-Security-Policy : upgrade-insecure-requests";
|
||||
{% endif %}
|
||||
more_set_headers "Content-Security-Policy-Report-Only : default-src https: data: 'unsafe-inline' 'unsafe-eval' ";
|
||||
more_set_headers "X-Content-Type-Options : nosniff";
|
||||
more_set_headers "X-XSS-Protection : 1; mode=block";
|
||||
|
@ -34,7 +38,13 @@ more_set_headers "X-Permitted-Cross-Domain-Policies : none";
|
|||
more_set_headers "X-Frame-Options : SAMEORIGIN";
|
||||
|
||||
# Disable the disaster privacy thing that is FLoC
|
||||
{% if experimental == "True" %}
|
||||
more_set_headers "Permissions-Policy : fullscreen=(), geolocation=(), payment=(), accelerometer=(), battery=(), magnetometer=(), usb=(), interest-cohort=()";
|
||||
# Force HTTPOnly and Secure for all cookies
|
||||
proxy_cookie_path ~$ "; HTTPOnly; Secure;";
|
||||
{% else %}
|
||||
more_set_headers "Permissions-Policy : interest-cohort=()";
|
||||
{% endif %}
|
||||
|
||||
# Disable gzip to protect against BREACH
|
||||
# Read https://trac.nginx.org/nginx/ticket/1720 (text/html cannot be disabled!)
|
||||
|
|
|
@ -6,6 +6,13 @@ location /yunohost/admin/ {
|
|||
default_type text/html;
|
||||
index index.html;
|
||||
|
||||
{% if webadmin_allowlist_enabled == "True" %}
|
||||
{% for ip in webadmin_allowlist.split(',') %}
|
||||
allow {{ ip }};
|
||||
{% endfor %}
|
||||
deny all;
|
||||
{% endif %}
|
||||
|
||||
more_set_headers "Content-Security-Policy: upgrade-insecure-requests; default-src 'self'; connect-src 'self' https://paste.yunohost.org wss://$host; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-eval'; object-src 'none'; img-src 'self' data:;";
|
||||
more_set_headers "Content-Security-Policy-Report-Only:";
|
||||
}
|
|
@ -6,6 +6,13 @@ location /yunohost/api/ {
|
|||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $http_host;
|
||||
|
||||
{% if webadmin_allowlist_enabled == "True" %}
|
||||
{% for ip in webadmin_allowlist.split(',') %}
|
||||
allow {{ ip }};
|
||||
{% endfor %}
|
||||
deny all;
|
||||
{% endif %}
|
||||
|
||||
# Custom 502 error page
|
||||
error_page 502 /yunohost/api/error/502;
|
||||
}
|
14
data/templates/yunohost/proc-hidepid.service
Normal file
14
data/templates/yunohost/proc-hidepid.service
Normal file
|
@ -0,0 +1,14 @@
|
|||
[Unit]
|
||||
Description=Mounts /proc with hidepid=2
|
||||
DefaultDependencies=no
|
||||
Before=sysinit.target
|
||||
Requires=local-fs.target
|
||||
After=local-fs.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/bin/mount -o remount,nosuid,nodev,noexec,hidepid=2 /proc
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=sysinit.target
|
|
@ -1,4 +1,3 @@
|
|||
avahi-daemon: {}
|
||||
dnsmasq:
|
||||
test_conf: dnsmasq --test
|
||||
dovecot:
|
||||
|
@ -52,6 +51,8 @@ yunohost-firewall:
|
|||
need_lock: true
|
||||
test_status: iptables -S | grep "^-A INPUT" | grep " --dport" | grep -q ACCEPT
|
||||
category: security
|
||||
yunomdns:
|
||||
category: mdns
|
||||
glances: null
|
||||
nsswitch: null
|
||||
ssl: null
|
||||
|
@ -68,3 +69,4 @@ rmilter: null
|
|||
php5-fpm: null
|
||||
php7.0-fpm: null
|
||||
nslcd: null
|
||||
avahi-daemon: null
|
||||
|
|
76
debian/changelog
vendored
76
debian/changelog
vendored
|
@ -1,3 +1,79 @@
|
|||
yunohost (4.2.8.1) stable; urgency=low
|
||||
|
||||
- [fix] Safer location for slapd backup during hdb/mdb migration (3c646b3d)
|
||||
|
||||
Thanks to all contributors <3 ! (ljf)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Fri, 27 Aug 2021 01:32:16 +0200
|
||||
|
||||
yunohost (4.2.8) stable; urgency=low
|
||||
|
||||
- [fix] ynh_permission_has_user not behaving properly when checking if a group is allowed (f0590907)
|
||||
- [enh] use yaml safeloader everywhere ([#1287](https://github.com/YunoHost/yunohost/pull/1287))
|
||||
- [enh] Add --no-safety-backup option to "yunohost app upgrade" ([#1286](https://github.com/YunoHost/yunohost/pull/1286))
|
||||
- [enh] Add --purge option to "yunohost app remove" ([#1285](https://github.com/YunoHost/yunohost/pull/1285))
|
||||
- [enh] Multimedia helper: check that home folder exists ([#1255](https://github.com/YunoHost/yunohost/pull/1255))
|
||||
- [i18n] Translations updated for French, Galician, German, Portuguese
|
||||
|
||||
Thanks to all contributors <3 ! (José M, Kay0u, Krakinou, ljf, Luca, mifegui, ppr, sagessylu)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Thu, 19 Aug 2021 19:11:19 +0200
|
||||
|
||||
yunohost (4.2.7) stable; urgency=low
|
||||
|
||||
Notable changes:
|
||||
- [fix] app: 'yunohost app search' was broken (8cf92576)
|
||||
- [fix] app: actions were broken, fix by reintroducing user arg in hook exec ([#1264](https://github.com/yunohost/yunohost/pull/1264))
|
||||
- [enh] app: Add check for available disk space before app install/upgrade ([#1266](https://github.com/yunohost/yunohost/pull/1266))
|
||||
- [enh] domains: Better support for non latin domain name ([#1270](https://github.com/yunohost/yunohost/pull/1270))
|
||||
- [enh] security: Add settings to restrict webadmin access to a list of IPs ([#1271](https://github.com/yunohost/yunohost/pull/1271))
|
||||
- [enh] misc: Avoid to suspend server if we close lidswitch ([#1275](https://github.com/yunohost/yunohost/pull/1275))
|
||||
- [i18n] Translations updated for French, Galician, German
|
||||
|
||||
Misc fixes, improvements:
|
||||
- [fix] logs: Sometimes metadata ends up being empty for some reason and ends up being loaded as None, making the "in" operator crash :| (50129f3a)
|
||||
- [fix] nginx: Invalid HTML in yunohost_panel #1837 (1c15f644)
|
||||
- [fix] ssh: set .ssh folder permissions to 600 ([#1269](https://github.com/yunohost/yunohost/pull/1269))
|
||||
- [fix] firewall: upnpc.getspecificportmapping expects an int, can't handle port ranges ? (ee70dfe5)
|
||||
- [fix] php helpers: fix conf path for dedicated php server (7349b229)
|
||||
- [fix] php helpers: Increase memory limit for composer ([#1278](https://github.com/yunohost/yunohost/pull/1278))
|
||||
- [enh] nodejs helpers: Upgrade n version to 7.3.0 ([#1262](https://github.com/yunohost/yunohost/pull/1262))
|
||||
- [fix] doc: Example command in yunopaste usage was outdated (a8df60da)
|
||||
- [fix] doc, diagnosis: update links to SMTP relay configuration ([#1277](https://github.com/yunohost/yunohost/pull/1277))
|
||||
- [i18n] Translations fixes/cleanups (780c3cb8, b61082b1, 271e3a26, 4e4173d1, fab248ce, d49ad748)
|
||||
|
||||
Thanks to all contributors <3 ! (Bram, Christian Wehrli, cyxae, Éric Gaspar, José M, Kay0u, Le Libre Au Quotidien, ljf, Luca, Meta Meta, ppr, Stylix58, Tagada, yalh76)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sun, 08 Aug 2021 19:27:27 +0200
|
||||
|
||||
yunohost (4.2.6.1) stable; urgency=low
|
||||
|
||||
- [fix] Remove invaluement from free dnsbl list (71489307)
|
||||
- [i18n] Remove stale strings (079f6762)
|
||||
- [i18n] Translations updated for Esperanto, French, Galician, German, Greek
|
||||
|
||||
Thanks to all contributors <3 ! (amirale qt, Christian Wehrli, Éric Gaspar, José M, ljf, ppr, qwerty287)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sat, 19 Jun 2021 17:18:13 +0200
|
||||
|
||||
yunohost (4.2.6) stable; urgency=low
|
||||
|
||||
- [fix] metronome/xmpp: deactivate stanza mention optimization / have quick notification in chat group ([#1164](https://github.com/YunoHost/yunohost/pull/1164))
|
||||
- [enh] metronome/xmpp: activate module pubsub ([#1170](https://github.com/YunoHost/yunohost/pull/1170))
|
||||
- [fix] upgrade: undefined 'apps' variable (923f703e)
|
||||
- [fix] python3: fix string split in postgresql migration (14d4cec8)
|
||||
- [fix] python3: python2 was still used in helpers (bd196c87)
|
||||
- [fix] security: fail2ban rule for yunohost-api login (b837d3da)
|
||||
- [fix] backup: Apply realpath to find mounted points to unmount ([#1239](https://github.com/YunoHost/yunohost/pull/1239))
|
||||
- [mod] dnsmasq: Remove LDN from resolver list (a97fce05)
|
||||
- [fix] logs: redact borg's passphrase (dbe5e51e, c8d4bbf8)
|
||||
- [i18n] Translations updated for Galician, German, Italian
|
||||
- Misc fixes/enh for tests and CI (8a5213c8, e5a03cab, [#1249](https://github.com/YunoHost/yunohost/pull/1249), [#1251](https://github.com/YunoHost/yunohost/pull/1251))
|
||||
|
||||
Thanks to all contributors <3 ! (Christian Wehrli, Flavio Cristoforetti, Gabriel, José M, Kay0u, ljf, tofbouf, yalh76)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Fri, 11 Jun 2021 20:12:20 +0200
|
||||
|
||||
yunohost (4.2.5.3) stable; urgency=low
|
||||
|
||||
- [fix] doc, helpers: Helper doc auto-generation job (f2886510)
|
||||
|
|
5
debian/control
vendored
5
debian/control
vendored
|
@ -13,14 +13,15 @@ Depends: ${python3:Depends}, ${misc:Depends}
|
|||
, moulinette (>= 4.2), ssowat (>= 4.0)
|
||||
, python3-psutil, python3-requests, python3-dnspython, python3-openssl
|
||||
, python3-miniupnpc, python3-dbus, python3-jinja2
|
||||
, python3-toml, python3-packaging, python3-publicsuffix
|
||||
, python3-toml, python3-packaging, python3-publicsuffix,
|
||||
, python3-ldap, python3-zeroconf,
|
||||
, apt, apt-transport-https, apt-utils, dirmngr
|
||||
, php7.3-common, php7.3-fpm, php7.3-ldap, php7.3-intl
|
||||
, mariadb-server, php7.3-mysql
|
||||
, openssh-server, iptables, fail2ban, dnsutils, bind9utils
|
||||
, openssl, ca-certificates, netcat-openbsd, iproute2
|
||||
, slapd, ldap-utils, sudo-ldap, libnss-ldapd, unscd, libpam-ldapd
|
||||
, dnsmasq, avahi-daemon, libnss-mdns, resolvconf, libnss-myhostname
|
||||
, dnsmasq, resolvconf, libnss-myhostname
|
||||
, postfix, postfix-ldap, postfix-policyd-spf-perl, postfix-pcre
|
||||
, dovecot-core, dovecot-ldap, dovecot-lmtpd, dovecot-managesieved, dovecot-antispam
|
||||
, rspamd, opendkim-tools, postsrsd, procmail, mailutils
|
||||
|
|
1
debian/postinst
vendored
1
debian/postinst
vendored
|
@ -18,6 +18,7 @@ do_configure() {
|
|||
bash /usr/share/yunohost/hooks/conf_regen/46-nsswitch init
|
||||
bash /usr/share/yunohost/hooks/conf_regen/06-slapd init
|
||||
bash /usr/share/yunohost/hooks/conf_regen/15-nginx init
|
||||
bash /usr/share/yunohost/hooks/conf_regen/37-mdns init
|
||||
fi
|
||||
else
|
||||
echo "Regenerating configuration, this might take a while..."
|
||||
|
|
|
@ -26,7 +26,7 @@ ACTIONSMAP_FILE = os.path.join(THIS_SCRIPT_DIR, "../data/actionsmap/yunohost.yml
|
|||
|
||||
|
||||
def ordered_yaml_load(stream):
|
||||
class OrderedLoader(yaml.Loader):
|
||||
class OrderedLoader(yaml.SafeLoader):
|
||||
pass
|
||||
|
||||
OrderedLoader.add_constructor(
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
{
|
||||
"action_invalid": "إجراء غير صالح '{action:s}'",
|
||||
"action_invalid": "إجراء غير صالح '{action}'",
|
||||
"admin_password": "كلمة السر الإدارية",
|
||||
"admin_password_change_failed": "لا يمكن تعديل الكلمة السرية",
|
||||
"admin_password_changed": "تم تعديل الكلمة السرية الإدارية",
|
||||
"app_already_installed": "{app:s} تم تنصيبه مِن قبل",
|
||||
"app_already_up_to_date": "{app:s} تم تحديثه مِن قَبل",
|
||||
"app_argument_required": "المُعامِل '{name:s}' مطلوب",
|
||||
"app_change_url_failed_nginx_reload": "فشلت عملية إعادة تشغيل NGINX. ها هي نتيجة الأمر 'nginx -t':\n{nginx_errors:s}",
|
||||
"app_already_installed": "{app} تم تنصيبه مِن قبل",
|
||||
"app_already_up_to_date": "{app} تم تحديثه مِن قَبل",
|
||||
"app_argument_required": "المُعامِل '{name}' مطلوب",
|
||||
"app_change_url_failed_nginx_reload": "فشلت عملية إعادة تشغيل NGINX. ها هي نتيجة الأمر 'nginx -t':\n{nginx_errors}",
|
||||
"app_extraction_failed": "تعذر فك الضغط عن ملفات التنصيب",
|
||||
"app_install_files_invalid": "ملفات التنصيب خاطئة",
|
||||
"app_not_correctly_installed": "يبدو أن التطبيق {app:s} لم يتم تنصيبه بشكل صحيح",
|
||||
"app_not_installed": "إنّ التطبيق {app:s} غير مُنصَّب",
|
||||
"app_not_properly_removed": "لم يتم حذف تطبيق {app:s} بشكلٍ جيّد",
|
||||
"app_removed": "تمت إزالة تطبيق {app:s}",
|
||||
"app_not_correctly_installed": "يبدو أن التطبيق {app} لم يتم تنصيبه بشكل صحيح",
|
||||
"app_not_installed": "إنّ التطبيق {app} غير مُنصَّب",
|
||||
"app_not_properly_removed": "لم يتم حذف تطبيق {app} بشكلٍ جيّد",
|
||||
"app_removed": "تمت إزالة تطبيق {app}",
|
||||
"app_requirements_checking": "جار فحص الحزم اللازمة لـ {app}…",
|
||||
"app_sources_fetch_failed": "تعذرت عملية جلب مصادر الملفات",
|
||||
"app_unknown": "برنامج مجهول",
|
||||
"app_upgrade_app_name": "جارٍ تحديث تطبيق {app}…",
|
||||
"app_upgrade_failed": "تعذرت عملية ترقية {app:s}",
|
||||
"app_upgrade_failed": "تعذرت عملية ترقية {app}",
|
||||
"app_upgrade_some_app_failed": "تعذرت عملية ترقية بعض التطبيقات",
|
||||
"app_upgraded": "تم تحديث التطبيق {app:s}",
|
||||
"app_upgraded": "تم تحديث التطبيق {app}",
|
||||
"ask_firstname": "الإسم",
|
||||
"ask_lastname": "اللقب",
|
||||
"ask_main_domain": "النطاق الرئيسي",
|
||||
|
@ -31,11 +31,11 @@
|
|||
"backup_method_copy_finished": "إنتهت عملية النسخ الإحتياطي",
|
||||
"backup_nothings_done": "ليس هناك أي شيء للحفظ",
|
||||
"backup_output_directory_required": "يتوجب عليك تحديد مجلد لتلقي النسخ الإحتياطية",
|
||||
"certmanager_cert_install_success": "تمت عملية تنصيب شهادة Let's Encrypt بنجاح على النطاق {domain:s} !",
|
||||
"certmanager_cert_install_success_selfsigned": "نجحت عملية تثبيت الشهادة الموقعة ذاتيا الخاصة بالنطاق {domain:s}",
|
||||
"certmanager_cert_renew_success": "نجحت عملية تجديد شهادة Let's Encrypt الخاصة باسم النطاق {domain:s} !",
|
||||
"certmanager_cert_install_success": "تمت عملية تنصيب شهادة Let's Encrypt بنجاح على النطاق {domain} !",
|
||||
"certmanager_cert_install_success_selfsigned": "نجحت عملية تثبيت الشهادة الموقعة ذاتيا الخاصة بالنطاق {domain}",
|
||||
"certmanager_cert_renew_success": "نجحت عملية تجديد شهادة Let's Encrypt الخاصة باسم النطاق {domain} !",
|
||||
"certmanager_cert_signing_failed": "فشل إجراء توقيع الشهادة الجديدة",
|
||||
"certmanager_no_cert_file": "تعذرت عملية قراءة شهادة نطاق {domain:s} (الملف : {file:s})",
|
||||
"certmanager_no_cert_file": "تعذرت عملية قراءة شهادة نطاق {domain} (الملف : {file})",
|
||||
"domain_created": "تم إنشاء النطاق",
|
||||
"domain_creation_failed": "تعذرت عملية إنشاء النطاق",
|
||||
"domain_deleted": "تم حذف النطاق",
|
||||
|
@ -58,16 +58,16 @@
|
|||
"pattern_positive_number": "يجب أن يكون عددا إيجابيا",
|
||||
"restore_extracting": "جارٍ فك الضغط عن الملفات التي نحتاجها من النسخة الاحتياطية…",
|
||||
"server_shutdown": "سوف ينطفئ الخادوم",
|
||||
"server_shutdown_confirm": "سوف ينطفئ الخادوم حالا. متأكد ؟ [{answers:s}]",
|
||||
"server_shutdown_confirm": "سوف ينطفئ الخادوم حالا. متأكد ؟ [{answers}]",
|
||||
"server_reboot": "سيعاد تشغيل الخادوم",
|
||||
"server_reboot_confirm": "سيعاد تشغيل الخادوم في الحين. هل أنت متأكد ؟ [{answers:s}]",
|
||||
"service_add_failed": "تعذرت إضافة خدمة '{service:s}'",
|
||||
"service_already_stopped": "إنّ خدمة '{service:s}' متوقفة مِن قبلُ",
|
||||
"service_disabled": "لن يتم إطلاق خدمة '{service:s}' أثناء بداية تشغيل النظام.",
|
||||
"service_enabled": "تم تنشيط خدمة '{service:s}'",
|
||||
"service_removed": "تمت إزالة خدمة '{service:s}'",
|
||||
"service_started": "تم إطلاق تشغيل خدمة '{service:s}'",
|
||||
"service_stopped": "تمّ إيقاف خدمة '{service:s}'",
|
||||
"server_reboot_confirm": "سيعاد تشغيل الخادوم في الحين. هل أنت متأكد ؟ [{answers}]",
|
||||
"service_add_failed": "تعذرت إضافة خدمة '{service}'",
|
||||
"service_already_stopped": "إنّ خدمة '{service}' متوقفة مِن قبلُ",
|
||||
"service_disabled": "لن يتم إطلاق خدمة '{service}' أثناء بداية تشغيل النظام.",
|
||||
"service_enabled": "تم تنشيط خدمة '{service}'",
|
||||
"service_removed": "تمت إزالة خدمة '{service}'",
|
||||
"service_started": "تم إطلاق تشغيل خدمة '{service}'",
|
||||
"service_stopped": "تمّ إيقاف خدمة '{service}'",
|
||||
"system_upgraded": "تمت عملية ترقية النظام",
|
||||
"unlimit": "دون تحديد الحصة",
|
||||
"updating_apt_cache": "جارٍ جلب قائمة حُزم النظام المحدّثة المتوفرة…",
|
||||
|
@ -77,13 +77,12 @@
|
|||
"user_created": "تم إنشاء المستخدم",
|
||||
"user_deleted": "تم حذف المستخدم",
|
||||
"user_deletion_failed": "لا يمكن حذف المستخدم",
|
||||
"user_unknown": "المستخدم {user:s} مجهول",
|
||||
"user_unknown": "المستخدم {user} مجهول",
|
||||
"user_update_failed": "لا يمكن تحديث المستخدم",
|
||||
"user_updated": "تم تحديث المستخدم",
|
||||
"yunohost_installing": "عملية تنصيب يونوهوست جارية …",
|
||||
"yunohost_not_installed": "إنَّ واي يونوهوست ليس مُنَصَّب أو هو مثبت حاليا بشكل خاطئ. قم بتنفيذ الأمر 'yunohost tools postinstall'",
|
||||
"migrations_list_conflict_pending_done": "لا يمكنك استخدام --previous و --done معًا على نفس سطر الأوامر.",
|
||||
"service_description_avahi-daemon": "يسمح لك بالنفاذ إلى خادومك عبر الشبكة المحلية باستخدام yunohost.local",
|
||||
"service_description_metronome": "يُدير حسابات الدردشة الفورية XMPP",
|
||||
"service_description_nginx": "يقوم بتوفير النفاذ و السماح بالوصول إلى كافة مواقع الويب المستضافة على خادومك",
|
||||
"service_description_postfix": "يقوم بإرسال و تلقي الرسائل البريدية الإلكترونية",
|
||||
|
@ -129,13 +128,13 @@
|
|||
"password_too_simple_1": "يجب أن يكون طول الكلمة السرية على الأقل 8 حروف",
|
||||
"already_up_to_date": "كل شيء على ما يرام. ليس هناك ما يتطلّب تحديثًا.",
|
||||
"service_description_slapd": "يخزّن المستخدمين والنطاقات والمعلومات المتعلقة بها",
|
||||
"service_reloaded": "تم إعادة تشغيل خدمة '{service:s}'",
|
||||
"service_restarted": "تم إعادة تشغيل خدمة '{service:s}'",
|
||||
"group_unknown": "الفريق {group:s} مجهول",
|
||||
"service_reloaded": "تم إعادة تشغيل خدمة '{service}'",
|
||||
"service_restarted": "تم إعادة تشغيل خدمة '{service}'",
|
||||
"group_unknown": "الفريق {group} مجهول",
|
||||
"group_deletion_failed": "فشلت عملية حذف الفريق '{group}': {error}",
|
||||
"group_deleted": "تم حذف الفريق '{group}'",
|
||||
"group_created": "تم إنشاء الفريق '{group}'",
|
||||
"dyndns_could_not_check_available": "لا يمكن التحقق مِن أنّ {domain:s} متوفر على {provider:s}.",
|
||||
"dyndns_could_not_check_available": "لا يمكن التحقق مِن أنّ {domain} متوفر على {provider}.",
|
||||
"backup_mount_archive_for_restore": "جارٍ تهيئة النسخة الاحتياطية للاسترجاع…",
|
||||
"root_password_replaced_by_admin_password": "لقد تم استبدال كلمة سر الجذر root بالكلمة الإدارية لـ admin.",
|
||||
"app_action_broke_system": "يبدو أنّ هذا الإجراء أدّى إلى تحطيم هذه الخدمات المهمة: {services}",
|
||||
|
|
266
locales/ca.json
266
locales/ca.json
|
@ -1,59 +1,59 @@
|
|||
{
|
||||
"action_invalid": "Acció '{action:s}' invàlida",
|
||||
"action_invalid": "Acció '{action}' invàlida",
|
||||
"admin_password": "Contrasenya d'administració",
|
||||
"admin_password_change_failed": "No es pot canviar la contrasenya",
|
||||
"admin_password_changed": "S'ha canviat la contrasenya d'administració",
|
||||
"app_already_installed": "{app:s} ja està instal·lada",
|
||||
"app_already_installed": "{app} ja està instal·lada",
|
||||
"app_already_installed_cant_change_url": "Aquesta aplicació ja està instal·lada. La URL no és pot canviar únicament amb aquesta funció. Mireu a `app changeurl` si està disponible.",
|
||||
"app_already_up_to_date": "{app:s} ja està actualitzada",
|
||||
"app_argument_choice_invalid": "Utilitzeu una de les opcions «{choices:s}» per l'argument «{name:s}»",
|
||||
"app_argument_invalid": "Escolliu un valor vàlid per l'argument «{name:s}»: {error:s}",
|
||||
"app_argument_required": "Es necessita l'argument '{name:s}'",
|
||||
"app_change_url_failed_nginx_reload": "No s'ha pogut tornar a carregar NGINX. Aquí teniu el resultat de \"nginx -t\":\n{nginx_errors:s}",
|
||||
"app_change_url_identical_domains": "L'antic i el nou domini/camí són idèntics ('{domain:s}{path:s}'), no hi ha res per fer.",
|
||||
"app_change_url_no_script": "L'aplicació '{app_name:s}' encara no permet modificar la URL. Potser s'ha d'actualitzar.",
|
||||
"app_change_url_success": "La URL de {app:s} ara és {domain:s}{path:s}",
|
||||
"app_already_up_to_date": "{app} ja està actualitzada",
|
||||
"app_argument_choice_invalid": "Utilitzeu una de les opcions «{choices}» per l'argument «{name}»",
|
||||
"app_argument_invalid": "Escolliu un valor vàlid per l'argument «{name}»: {error}",
|
||||
"app_argument_required": "Es necessita l'argument '{name}'",
|
||||
"app_change_url_failed_nginx_reload": "No s'ha pogut tornar a carregar NGINX. Aquí teniu el resultat de \"nginx -t\":\n{nginx_errors}",
|
||||
"app_change_url_identical_domains": "L'antic i el nou domini/camí són idèntics ('{domain}{path}'), no hi ha res per fer.",
|
||||
"app_change_url_no_script": "L'aplicació '{app_name}' encara no permet modificar la URL. Potser s'ha d'actualitzar.",
|
||||
"app_change_url_success": "La URL de {app} ara és {domain}{path}",
|
||||
"app_extraction_failed": "No s'han pogut extreure els fitxers d'instal·lació",
|
||||
"app_id_invalid": "ID de l'aplicació incorrecte",
|
||||
"app_install_files_invalid": "Aquests fitxers no es poden instal·lar",
|
||||
"app_make_default_location_already_used": "No es pot fer l'aplicació '{app}' l'aplicació per defecte en el domini «{domain}», ja que ja és utilitzat per '{other_app}'",
|
||||
"app_location_unavailable": "Aquesta URL no està disponible o entra en conflicte amb aplicacions ja instal·lades:\n{apps:s}",
|
||||
"app_location_unavailable": "Aquesta URL no està disponible o entra en conflicte amb aplicacions ja instal·lades:\n{apps}",
|
||||
"app_manifest_invalid": "Hi ha algun error amb el manifest de l'aplicació: {error}",
|
||||
"app_not_correctly_installed": "{app:s} sembla estar mal instal·lada",
|
||||
"app_not_installed": "No s'ha trobat {app:s} en la llista d'aplicacions instal·lades: {all_apps}",
|
||||
"app_not_properly_removed": "{app:s} no s'ha pogut suprimir correctament",
|
||||
"app_removed": "{app:s} ha estat suprimida",
|
||||
"app_not_correctly_installed": "{app} sembla estar mal instal·lada",
|
||||
"app_not_installed": "No s'ha trobat {app} en la llista d'aplicacions instal·lades: {all_apps}",
|
||||
"app_not_properly_removed": "{app} no s'ha pogut suprimir correctament",
|
||||
"app_removed": "{app} ha estat suprimida",
|
||||
"app_requirements_checking": "Verificació dels paquets requerits per {app}...",
|
||||
"app_requirements_unmeet": "No es compleixen els requeriments per {app}, el paquet {pkgname} ({version}) ha de ser {spec}",
|
||||
"app_sources_fetch_failed": "No s'han pogut carregar els fitxers font, l'URL és correcta?",
|
||||
"app_unknown": "Aplicació desconeguda",
|
||||
"app_unsupported_remote_type": "El tipus remot utilitzat per l'aplicació no està suportat",
|
||||
"app_upgrade_app_name": "Actualitzant {app}...",
|
||||
"app_upgrade_failed": "No s'ha pogut actualitzar {app:s}: {error}",
|
||||
"app_upgrade_failed": "No s'ha pogut actualitzar {app}: {error}",
|
||||
"app_upgrade_some_app_failed": "No s'han pogut actualitzar algunes aplicacions",
|
||||
"app_upgraded": "S'ha actualitzat {app:s}",
|
||||
"app_upgraded": "S'ha actualitzat {app}",
|
||||
"ask_firstname": "Nom",
|
||||
"ask_lastname": "Cognom",
|
||||
"ask_main_domain": "Domini principal",
|
||||
"ask_new_admin_password": "Nova contrasenya d'administrador",
|
||||
"ask_password": "Contrasenya",
|
||||
"backup_abstract_method": "Encara està per implementar aquest mètode de còpia de seguretat",
|
||||
"backup_app_failed": "No s'ha pogut fer la còpia de seguretat de {app:s}",
|
||||
"backup_app_failed": "No s'ha pogut fer la còpia de seguretat de {app}",
|
||||
"backup_applying_method_copy": "Còpia de tots els fitxers a la còpia de seguretat...",
|
||||
"backup_applying_method_custom": "Crida del mètode de còpia de seguretat personalitzat \"{method:s}\"...",
|
||||
"backup_applying_method_custom": "Crida del mètode de còpia de seguretat personalitzat \"{method}\"...",
|
||||
"backup_applying_method_tar": "Creació de l'arxiu TAR de la còpia de seguretat...",
|
||||
"backup_archive_app_not_found": "No s'ha pogut trobar {app:s} en l'arxiu de la còpia de seguretat",
|
||||
"backup_archive_broken_link": "No s'ha pogut accedir a l'arxiu de la còpia de seguretat (enllaç invàlid cap a {path:s})",
|
||||
"backup_archive_app_not_found": "No s'ha pogut trobar {app} en l'arxiu de la còpia de seguretat",
|
||||
"backup_archive_broken_link": "No s'ha pogut accedir a l'arxiu de la còpia de seguretat (enllaç invàlid cap a {path})",
|
||||
"backup_archive_name_exists": "Ja hi ha una còpia de seguretat amb aquest nom.",
|
||||
"backup_archive_name_unknown": "Còpia de seguretat local \"{name:s}\" desconeguda",
|
||||
"backup_archive_name_unknown": "Còpia de seguretat local \"{name}\" desconeguda",
|
||||
"backup_archive_open_failed": "No s'ha pogut obrir l'arxiu de la còpia de seguretat",
|
||||
"backup_archive_system_part_not_available": "La part «{part:s}» del sistema no està disponible en aquesta copia de seguretat",
|
||||
"backup_archive_writing_error": "No es poden afegir els arxius «{source:s}» (anomenats en l'arxiu «{dest:s}») a l'arxiu comprimit de la còpia de seguretat «{archive:s}»",
|
||||
"backup_ask_for_copying_if_needed": "Voleu fer la còpia de seguretat utilitzant {size:s}MB temporalment? (S'utilitza aquest mètode ja que alguns dels fitxers no s'han pogut preparar utilitzar un mètode més eficient.)",
|
||||
"backup_archive_system_part_not_available": "La part «{part}» del sistema no està disponible en aquesta copia de seguretat",
|
||||
"backup_archive_writing_error": "No es poden afegir els arxius «{source}» (anomenats en l'arxiu «{dest}») a l'arxiu comprimit de la còpia de seguretat «{archive}»",
|
||||
"backup_ask_for_copying_if_needed": "Voleu fer la còpia de seguretat utilitzant {size}MB temporalment? (S'utilitza aquest mètode ja que alguns dels fitxers no s'han pogut preparar utilitzar un mètode més eficient.)",
|
||||
"backup_cant_mount_uncompress_archive": "No es pot carregar l'arxiu descomprimit com a protegit contra escriptura",
|
||||
"backup_cleaning_failed": "No s'ha pogut netejar el directori temporal de la còpia de seguretat",
|
||||
"backup_copying_to_organize_the_archive": "Copiant {size:s}MB per organitzar l'arxiu",
|
||||
"backup_couldnt_bind": "No es pot lligar {src:s} amb {dest:s}.",
|
||||
"backup_copying_to_organize_the_archive": "Copiant {size}MB per organitzar l'arxiu",
|
||||
"backup_couldnt_bind": "No es pot lligar {src} amb {dest}.",
|
||||
"backup_created": "S'ha creat la còpia de seguretat",
|
||||
"aborting": "Avortant.",
|
||||
"app_not_upgraded": "L'aplicació «{failed_app}» no s'ha pogut actualitzar, i com a conseqüència s'ha cancel·lat l'actualització de les següents aplicacions: {apps}",
|
||||
|
@ -70,11 +70,11 @@
|
|||
"backup_csv_creation_failed": "No s'ha pogut crear el fitxer CSV necessari per a la restauració",
|
||||
"backup_custom_backup_error": "El mètode de còpia de seguretat personalitzat ha fallat a l'etapa «backup»",
|
||||
"backup_custom_mount_error": "El mètode de còpia de seguretat personalitzat ha fallat a l'etapa «mount»",
|
||||
"backup_delete_error": "No s'ha pogut suprimir «{path:s}»",
|
||||
"backup_delete_error": "No s'ha pogut suprimir «{path}»",
|
||||
"backup_deleted": "S'ha suprimit la còpia de seguretat",
|
||||
"backup_hook_unknown": "Script de còpia de seguretat «{hook:s}» desconegut",
|
||||
"backup_hook_unknown": "Script de còpia de seguretat «{hook}» desconegut",
|
||||
"backup_method_copy_finished": "La còpia de la còpia de seguretat ha acabat",
|
||||
"backup_method_custom_finished": "El mètode de còpia de seguretat personalitzat \"{method:s}\" ha acabat",
|
||||
"backup_method_custom_finished": "El mètode de còpia de seguretat personalitzat \"{method}\" ha acabat",
|
||||
"backup_method_tar_finished": "S'ha creat l'arxiu de còpia de seguretat TAR",
|
||||
"backup_mount_archive_for_restore": "Preparant l'arxiu per la restauració...",
|
||||
"good_practices_about_user_password": "Esteu a punt de definir una nova contrasenya d'usuari. La contrasenya ha de tenir un mínim de 8 caràcters; tot i que és de bona pràctica utilitzar una contrasenya més llarga (és a dir una frase de contrasenya) i/o utilitzar diferents tipus de caràcters (majúscules, minúscules, dígits i caràcters especials).",
|
||||
|
@ -88,36 +88,36 @@
|
|||
"backup_output_directory_forbidden": "Escolliu un directori de sortida different. Les còpies de seguretat no es poden crear ni dins els directoris /bin, /boot, /dev, /etc, /lib, /root, /run, /sbin, /sys, /usr, /var ni dins els subdirectoris /home/yunohost.backup/archives",
|
||||
"backup_output_directory_not_empty": "Heu d'escollir un directori de sortida buit",
|
||||
"backup_output_directory_required": "Heu d'especificar un directori de sortida per la còpia de seguretat",
|
||||
"backup_output_symlink_dir_broken": "El directori del arxiu «{path:s}» es un enllaç simbòlic trencat. Pot ser heu oblidat muntar, tornar a muntar o connectar el mitja d'emmagatzematge al que apunta.",
|
||||
"backup_output_symlink_dir_broken": "El directori del arxiu «{path}» es un enllaç simbòlic trencat. Pot ser heu oblidat muntar, tornar a muntar o connectar el mitja d'emmagatzematge al que apunta.",
|
||||
"backup_running_hooks": "Executant els scripts de la còpia de seguretat...",
|
||||
"backup_system_part_failed": "No s'ha pogut fer la còpia de seguretat de la part \"{part:s}\" del sistema",
|
||||
"backup_system_part_failed": "No s'ha pogut fer la còpia de seguretat de la part \"{part}\" del sistema",
|
||||
"backup_unable_to_organize_files": "No s'ha pogut utilitzar el mètode ràpid per organitzar els fitxers dins de l'arxiu",
|
||||
"backup_with_no_backup_script_for_app": "L'aplicació «{app:s}» no té un script de còpia de seguretat. Serà ignorat.",
|
||||
"backup_with_no_restore_script_for_app": "{app:s} no té un script de restauració, no podreu restaurar automàticament la còpia de seguretat d'aquesta aplicació.",
|
||||
"backup_with_no_backup_script_for_app": "L'aplicació «{app}» no té un script de còpia de seguretat. Serà ignorat.",
|
||||
"backup_with_no_restore_script_for_app": "{app} no té un script de restauració, no podreu restaurar automàticament la còpia de seguretat d'aquesta aplicació.",
|
||||
"certmanager_acme_not_configured_for_domain": "No s'ha pogut executar el ACME challenge pel domini {domain} en aquests moments ja que a la seva configuració de nginx li manca el codi corresponent… Assegureu-vos que la configuració nginx està actualitzada utilitzant «yunohost tools regen-conf nginx --dry-run --with-diff».",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "El certificat pel domini «{domain:s}» no ha estat emès per Let's Encrypt. No es pot renovar automàticament!",
|
||||
"certmanager_attempt_to_renew_valid_cert": "El certificat pel domini «{domain:s}» està a punt de caducar! (Utilitzeu --force si sabeu el que esteu fent)",
|
||||
"certmanager_attempt_to_replace_valid_cert": "Esteu intentant sobreescriure un certificat correcte i vàlid pel domini {domain:s}! (Utilitzeu --force per ometre)",
|
||||
"certmanager_cannot_read_cert": "S'ha produït un error al intentar obrir el certificat actual pel domini {domain:s} (arxiu: {file:s}), raó: {reason:s}",
|
||||
"certmanager_cert_install_success": "S'ha instal·lat correctament un certificat Let's Encrypt pel domini «{domain:s}»",
|
||||
"certmanager_cert_install_success_selfsigned": "S'ha instal·lat correctament un certificat auto-signat pel domini «{domain:s}»",
|
||||
"certmanager_cert_renew_success": "S'ha renovat correctament el certificat Let's Encrypt pel domini «{domain:s}»",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "El certificat pel domini «{domain}» no ha estat emès per Let's Encrypt. No es pot renovar automàticament!",
|
||||
"certmanager_attempt_to_renew_valid_cert": "El certificat pel domini «{domain}» està a punt de caducar! (Utilitzeu --force si sabeu el que esteu fent)",
|
||||
"certmanager_attempt_to_replace_valid_cert": "Esteu intentant sobreescriure un certificat correcte i vàlid pel domini {domain}! (Utilitzeu --force per ometre)",
|
||||
"certmanager_cannot_read_cert": "S'ha produït un error al intentar obrir el certificat actual pel domini {domain} (arxiu: {file}), raó: {reason}",
|
||||
"certmanager_cert_install_success": "S'ha instal·lat correctament un certificat Let's Encrypt pel domini «{domain}»",
|
||||
"certmanager_cert_install_success_selfsigned": "S'ha instal·lat correctament un certificat auto-signat pel domini «{domain}»",
|
||||
"certmanager_cert_renew_success": "S'ha renovat correctament el certificat Let's Encrypt pel domini «{domain}»",
|
||||
"certmanager_cert_signing_failed": "No s'ha pogut firmar el nou certificat",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "Sembla que utilitzar el nou certificat per {domain:s} ha fallat...",
|
||||
"certmanager_domain_cert_not_selfsigned": "El certificat pel domini {domain:s} no és auto-signat Esteu segur de voler canviar-lo? (Utilitzeu «--force» per fer-ho)",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "Els registres DNS pel domini «{domain:s}» són diferents a l'adreça IP d'aquest servidor. Mireu la categoria «registres DNS» (bàsic) al diagnòstic per a més informació. Si heu modificat recentment el registre A, si us plau espereu a que es propagui (hi ha eines per verificar la propagació disponibles a internet). (Si sabeu el que esteu fent, podeu utilitzar «--no-checks» per desactivar aquestes comprovacions.)",
|
||||
"certmanager_domain_http_not_working": "El domini {domain:s} sembla que no és accessible via HTTP. Verifiqueu la categoria «Web» en el diagnòstic per a més informació. (Si sabeu el que esteu fent, utilitzeu «--no-checks» per deshabilitar les comprovacions.)",
|
||||
"certmanager_hit_rate_limit": "S'han emès massa certificats recentment per aquest mateix conjunt de dominis {domain:s}. Si us plau torneu-ho a intentar més tard. Consulteu https://letsencrypt.org/docs/rate-limits/ per obtenir més detalls",
|
||||
"certmanager_no_cert_file": "No s'ha pogut llegir l'arxiu del certificat pel domini {domain:s} (fitxer: {file:s})",
|
||||
"certmanager_self_ca_conf_file_not_found": "No s'ha trobat el fitxer de configuració per l'autoritat del certificat auto-signat (fitxer: {file:s})",
|
||||
"certmanager_unable_to_parse_self_CA_name": "No s'ha pogut analitzar el nom de l'autoritat del certificat auto-signat (fitxer: {file:s})",
|
||||
"confirm_app_install_warning": "Atenció: Aquesta aplicació funciona, però no està ben integrada amb YunoHost. Algunes característiques com la autenticació única i la còpia de seguretat/restauració poden no estar disponibles. Voleu instal·lar-la de totes maneres? [{answers:s}] ",
|
||||
"confirm_app_install_danger": "PERILL! Aquesta aplicació encara és experimental (si no és que no funciona directament)! No hauríeu d'instal·lar-la a no ser que sapigueu el que feu. No obtindreu CAP AJUDA si l'aplicació no funciona o trenca el sistema… Si accepteu el risc, escriviu «{answers:s}»",
|
||||
"confirm_app_install_thirdparty": "PERILL! Aquesta aplicació no es part del catàleg d'aplicacions de YunoHost. La instal·lació d'aplicacions de terceres parts pot comprometre la integritat i seguretat del seu sistema. No hauríeu d'instal·lar-ne a no ser que sapigueu el que feu. No obtindreu CAP AJUDA si l'aplicació no funciona o trenca el sistema… Si accepteu el risc, escriviu «{answers:s}»",
|
||||
"custom_app_url_required": "Heu de especificar una URL per actualitzar la vostra aplicació personalitzada {app:s}",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "Sembla que utilitzar el nou certificat per {domain} ha fallat...",
|
||||
"certmanager_domain_cert_not_selfsigned": "El certificat pel domini {domain} no és auto-signat Esteu segur de voler canviar-lo? (Utilitzeu «--force» per fer-ho)",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "Els registres DNS pel domini «{domain}» són diferents a l'adreça IP d'aquest servidor. Mireu la categoria «registres DNS» (bàsic) al diagnòstic per a més informació. Si heu modificat recentment el registre A, si us plau espereu a que es propagui (hi ha eines per verificar la propagació disponibles a internet). (Si sabeu el que esteu fent, podeu utilitzar «--no-checks» per desactivar aquestes comprovacions.)",
|
||||
"certmanager_domain_http_not_working": "El domini {domain} sembla que no és accessible via HTTP. Verifiqueu la categoria «Web» en el diagnòstic per a més informació. (Si sabeu el que esteu fent, utilitzeu «--no-checks» per deshabilitar les comprovacions.)",
|
||||
"certmanager_hit_rate_limit": "S'han emès massa certificats recentment per aquest mateix conjunt de dominis {domain}. Si us plau torneu-ho a intentar més tard. Consulteu https://letsencrypt.org/docs/rate-limits/ per obtenir més detalls",
|
||||
"certmanager_no_cert_file": "No s'ha pogut llegir l'arxiu del certificat pel domini {domain} (fitxer: {file})",
|
||||
"certmanager_self_ca_conf_file_not_found": "No s'ha trobat el fitxer de configuració per l'autoritat del certificat auto-signat (fitxer: {file})",
|
||||
"certmanager_unable_to_parse_self_CA_name": "No s'ha pogut analitzar el nom de l'autoritat del certificat auto-signat (fitxer: {file})",
|
||||
"confirm_app_install_warning": "Atenció: Aquesta aplicació funciona, però no està ben integrada amb YunoHost. Algunes característiques com la autenticació única i la còpia de seguretat/restauració poden no estar disponibles. Voleu instal·lar-la de totes maneres? [{answers}] ",
|
||||
"confirm_app_install_danger": "PERILL! Aquesta aplicació encara és experimental (si no és que no funciona directament)! No hauríeu d'instal·lar-la a no ser que sapigueu el que feu. No obtindreu CAP AJUDA si l'aplicació no funciona o trenca el sistema… Si accepteu el risc, escriviu «{answers}»",
|
||||
"confirm_app_install_thirdparty": "PERILL! Aquesta aplicació no es part del catàleg d'aplicacions de YunoHost. La instal·lació d'aplicacions de terceres parts pot comprometre la integritat i seguretat del seu sistema. No hauríeu d'instal·lar-ne a no ser que sapigueu el que feu. No obtindreu CAP AJUDA si l'aplicació no funciona o trenca el sistema… Si accepteu el risc, escriviu «{answers}»",
|
||||
"custom_app_url_required": "Heu de especificar una URL per actualitzar la vostra aplicació personalitzada {app}",
|
||||
"admin_password_too_long": "Trieu una contrasenya de menys de 127 caràcters",
|
||||
"dpkg_is_broken": "No es pot fer això en aquest instant perquè dpkg/APT (els gestors de paquets del sistema) sembla estar mal configurat… Podeu intentar solucionar-ho connectant-vos per SSH i executant «sudo apt install --fix-broken» i/o «sudo dpkg --configure -a».",
|
||||
"domain_cannot_remove_main": "No es pot eliminar «{domain:s}» ja que és el domini principal, primer s'ha d'establir un nou domini principal utilitzant «yunohost domain main-domain -n <un-altre-domini>»; aquí hi ha una llista dels possibles dominis: {other_domains:s}",
|
||||
"domain_cannot_remove_main": "No es pot eliminar «{domain}» ja que és el domini principal, primer s'ha d'establir un nou domini principal utilitzant «yunohost domain main-domain -n <un-altre-domini>»; aquí hi ha una llista dels possibles dominis: {other_domains}",
|
||||
"domain_cert_gen_failed": "No s'ha pogut generar el certificat",
|
||||
"domain_created": "S'ha creat el domini",
|
||||
"domain_creation_failed": "No s'ha pogut crear el domini {domain}: {error}",
|
||||
|
@ -134,46 +134,45 @@
|
|||
"domains_available": "Dominis disponibles:",
|
||||
"done": "Fet",
|
||||
"downloading": "Descarregant…",
|
||||
"dyndns_could_not_check_provide": "No s'ha pogut verificar si {provider:s} pot oferir {domain:s}.",
|
||||
"dyndns_could_not_check_available": "No s'ha pogut verificar la disponibilitat de {domain:s} a {provider:s}.",
|
||||
"dyndns_could_not_check_provide": "No s'ha pogut verificar si {provider} pot oferir {domain}.",
|
||||
"dyndns_could_not_check_available": "No s'ha pogut verificar la disponibilitat de {domain} a {provider}.",
|
||||
"dyndns_ip_update_failed": "No s'ha pogut actualitzar l'adreça IP al DynDNS",
|
||||
"dyndns_ip_updated": "S'ha actualitzat l'adreça IP al DynDNS",
|
||||
"dyndns_key_generating": "S'està generant la clau DNS... això pot trigar una estona.",
|
||||
"dyndns_key_not_found": "No s'ha trobat la clau DNS pel domini",
|
||||
"dyndns_no_domain_registered": "No hi ha cap domini registrat amb DynDNS",
|
||||
"dyndns_registered": "S'ha registrat el domini DynDNS",
|
||||
"dyndns_registration_failed": "No s'ha pogut registrar el domini DynDNS: {error:s}",
|
||||
"dyndns_domain_not_provided": "El proveïdor de DynDNS {provider:s} no pot oferir el domini {domain:s}.",
|
||||
"dyndns_unavailable": "El domini {domain:s} no està disponible.",
|
||||
"dyndns_registration_failed": "No s'ha pogut registrar el domini DynDNS: {error}",
|
||||
"dyndns_domain_not_provided": "El proveïdor de DynDNS {provider} no pot oferir el domini {domain}.",
|
||||
"dyndns_unavailable": "El domini {domain} no està disponible.",
|
||||
"extracting": "Extracció en curs...",
|
||||
"experimental_feature": "Atenció: Aquesta funcionalitat és experimental i no es considera estable, no s'ha d'utilitzar a excepció de saber el que esteu fent.",
|
||||
"field_invalid": "Camp incorrecte « {:s} »",
|
||||
"file_does_not_exist": "El camí {path:s} no existeix.",
|
||||
"field_invalid": "Camp incorrecte « {} »",
|
||||
"file_does_not_exist": "El camí {path} no existeix.",
|
||||
"firewall_reload_failed": "No s'ha pogut tornar a carregar el tallafocs",
|
||||
"firewall_reloaded": "S'ha tornat a carregar el tallafocs",
|
||||
"firewall_rules_cmd_failed": "Han fallat algunes comandes per aplicar regles del tallafocs. Més informació en el registre.",
|
||||
"global_settings_bad_choice_for_enum": "Opció pel paràmetre {setting:s} incorrecta, s'ha rebut «{choice:s}», però les opcions disponibles són: {available_choices:s}",
|
||||
"global_settings_bad_type_for_setting": "El tipus del paràmetre {setting:s} és incorrecte. S'ha rebut {received_type:s}, però s'esperava {expected_type:s}",
|
||||
"global_settings_cant_open_settings": "No s'ha pogut obrir el fitxer de configuració, raó: {reason:s}",
|
||||
"global_settings_cant_serialize_settings": "No s'ha pogut serialitzar les dades de configuració, raó: {reason:s}",
|
||||
"global_settings_cant_write_settings": "No s'ha pogut escriure el fitxer de configuració, raó: {reason:s}",
|
||||
"global_settings_key_doesnt_exists": "La clau « {settings_key:s} » no existeix en la configuració global, podeu veure totes les claus disponibles executant « yunohost settings list »",
|
||||
"global_settings_reset_success": "S'ha fet una còpia de seguretat de la configuració anterior a {path:s}",
|
||||
"global_settings_bad_choice_for_enum": "Opció pel paràmetre {setting} incorrecta, s'ha rebut «{choice}», però les opcions disponibles són: {available_choices}",
|
||||
"global_settings_bad_type_for_setting": "El tipus del paràmetre {setting} és incorrecte. S'ha rebut {received_type}, però s'esperava {expected_type}",
|
||||
"global_settings_cant_open_settings": "No s'ha pogut obrir el fitxer de configuració, raó: {reason}",
|
||||
"global_settings_cant_serialize_settings": "No s'ha pogut serialitzar les dades de configuració, raó: {reason}",
|
||||
"global_settings_cant_write_settings": "No s'ha pogut escriure el fitxer de configuració, raó: {reason}",
|
||||
"global_settings_key_doesnt_exists": "La clau « {settings_key} » no existeix en la configuració global, podeu veure totes les claus disponibles executant « yunohost settings list »",
|
||||
"global_settings_reset_success": "S'ha fet una còpia de seguretat de la configuració anterior a {path}",
|
||||
"global_settings_setting_security_nginx_compatibility": "Solució de compromís entre compatibilitat i seguretat pel servidor web NGINX. Afecta els criptògrafs (i altres aspectes relacionats amb la seguretat)",
|
||||
"global_settings_setting_security_password_admin_strength": "Robustesa de la contrasenya d'administrador",
|
||||
"global_settings_setting_security_password_user_strength": "Robustesa de la contrasenya de l'usuari",
|
||||
"global_settings_setting_security_ssh_compatibility": "Solució de compromís entre compatibilitat i seguretat pel servidor SSH. Afecta els criptògrafs (i altres aspectes relacionats amb la seguretat)",
|
||||
"global_settings_unknown_setting_from_settings_file": "Clau de configuració desconeguda: «{setting_key:s}», refusada i guardada a /etc/yunohost/settings-unknown.json",
|
||||
"global_settings_unknown_setting_from_settings_file": "Clau de configuració desconeguda: «{setting_key}», refusada i guardada a /etc/yunohost/settings-unknown.json",
|
||||
"global_settings_setting_service_ssh_allow_deprecated_dsa_hostkey": "Permetre la clau d'hoste DSA (obsolet) per la configuració del servei SSH",
|
||||
"global_settings_unknown_type": "Situació inesperada, la configuració {setting:s} sembla tenir el tipus {unknown_type:s} però no és un tipus reconegut pel sistema.",
|
||||
"global_settings_unknown_type": "Situació inesperada, la configuració {setting} sembla tenir el tipus {unknown_type} però no és un tipus reconegut pel sistema.",
|
||||
"good_practices_about_admin_password": "Esteu a punt de definir una nova contrasenya d'administrador. La contrasenya ha de tenir un mínim de 8 caràcters; tot i que és de bona pràctica utilitzar una contrasenya més llarga (és a dir una frase de contrasenya) i/o utilitzar diferents tipus de caràcters (majúscules, minúscules, dígits i caràcters especials).",
|
||||
"hook_exec_failed": "No s'ha pogut executar el script: {path:s}",
|
||||
"hook_exec_not_terminated": "El script no s'ha acabat correctament: {path:s}",
|
||||
"hook_json_return_error": "No s'ha pogut llegir el retorn del script {path:s}. Error: {msg:s}. Contingut en brut: {raw_content}",
|
||||
"hook_exec_failed": "No s'ha pogut executar el script: {path}",
|
||||
"hook_exec_not_terminated": "El script no s'ha acabat correctament: {path}",
|
||||
"hook_json_return_error": "No s'ha pogut llegir el retorn del script {path}. Error: {msg}. Contingut en brut: {raw_content}",
|
||||
"hook_list_by_invalid": "Aquesta propietat no es pot utilitzar per llistar els hooks",
|
||||
"hook_name_unknown": "Nom de script « {name:s} » desconegut",
|
||||
"hook_name_unknown": "Nom de script « {name} » desconegut",
|
||||
"installation_complete": "Instal·lació completada",
|
||||
"installation_failed": "Ha fallat alguna cosa amb la instal·lació",
|
||||
"ip6tables_unavailable": "No podeu modificar les ip6tables aquí. O bé sou en un contenidor o bé el vostre nucli no és compatible amb aquesta opció",
|
||||
"iptables_unavailable": "No podeu modificar les iptables aquí. O bé sou en un contenidor o bé el vostre nucli no és compatible amb aquesta opció",
|
||||
"log_corrupted_md_file": "El fitxer de metadades YAML associat amb els registres està malmès: « {md_file} »\nError: {error}",
|
||||
|
@ -213,11 +212,9 @@
|
|||
"already_up_to_date": "No hi ha res a fer. Tot està actualitzat.",
|
||||
"dpkg_lock_not_available": "No es pot utilitzar aquesta comanda en aquest moment ja que sembla que un altre programa està utilitzant el lock de dpkg (el gestor de paquets del sistema)",
|
||||
"global_settings_setting_security_postfix_compatibility": "Solució de compromís entre compatibilitat i seguretat pel servidor Postfix. Afecta els criptògrafs (i altres aspectes relacionats amb la seguretat)",
|
||||
"ldap_init_failed_to_create_admin": "La inicialització de LDAP no ha pogut crear l'usuari admin",
|
||||
"ldap_initialized": "S'ha iniciat LDAP",
|
||||
"mail_alias_remove_failed": "No s'han pogut eliminar els àlies del correu «{mail:s}»",
|
||||
"mail_domain_unknown": "El domini «{domain:s}» de l'adreça de correu no és vàlid. Utilitzeu un domini administrat per aquest servidor.",
|
||||
"mail_forward_remove_failed": "No s'han pogut eliminar el reenviament de correu «{mail:s}»",
|
||||
"mail_alias_remove_failed": "No s'han pogut eliminar els àlies del correu «{mail}»",
|
||||
"mail_domain_unknown": "El domini «{domain}» de l'adreça de correu no és vàlid. Utilitzeu un domini administrat per aquest servidor.",
|
||||
"mail_forward_remove_failed": "No s'han pogut eliminar el reenviament de correu «{mail}»",
|
||||
"mailbox_used_space_dovecot_down": "S'ha d'engegar el servei de correu Dovecot, per poder obtenir l'espai utilitzat per la bústia de correu",
|
||||
"mail_unavailable": "Aquesta adreça de correu està reservada i ha de ser atribuïda automàticament el primer usuari",
|
||||
"main_domain_change_failed": "No s'ha pogut canviar el domini principal",
|
||||
|
@ -230,7 +227,7 @@
|
|||
"migrations_skip_migration": "Saltant migració {id}...",
|
||||
"migrations_to_be_ran_manually": "La migració {id} s'ha de fer manualment. Aneu a Eines → Migracions a la interfície admin, o executeu «yunohost tools migrations run».",
|
||||
"migrations_need_to_accept_disclaimer": "Per fer la migració {id}, heu d'acceptar aquesta clàusula de no responsabilitat:\n---\n{disclaimer}\n---\nSi accepteu fer la migració, torneu a executar l'ordre amb l'opció «--accept-disclaimer».",
|
||||
"not_enough_disk_space": "No hi ha prou espai en «{path:s}»",
|
||||
"not_enough_disk_space": "No hi ha prou espai en «{path}»",
|
||||
"packages_upgrade_failed": "No s'han pogut actualitzar tots els paquets",
|
||||
"pattern_backup_archive_name": "Ha de ser un nom d'arxiu vàlid amb un màxim de 30 caràcters, compost per caràcters alfanumèrics i -_. exclusivament",
|
||||
"pattern_domain": "Ha de ser un nom de domini vàlid (ex.: el-meu-domini.cat)",
|
||||
|
@ -243,8 +240,8 @@
|
|||
"pattern_positive_number": "Ha de ser un nombre positiu",
|
||||
"pattern_username": "Ha d'estar compost per caràcters alfanumèrics en minúscula i guió baix exclusivament",
|
||||
"pattern_password_app": "Les contrasenyes no poden de tenir els següents caràcters: {forbidden_chars}",
|
||||
"port_already_closed": "El port {port:d} ja està tancat per les connexions {ip_version:s}",
|
||||
"port_already_opened": "El port {port:d} ja està obert per les connexions {ip_version:s}",
|
||||
"port_already_closed": "El port {port:d} ja està tancat per les connexions {ip_version}",
|
||||
"port_already_opened": "El port {port:d} ja està obert per les connexions {ip_version}",
|
||||
"regenconf_file_backed_up": "S'ha guardat una còpia de seguretat del fitxer de configuració «{conf}» a «{backup}»",
|
||||
"regenconf_file_copy_failed": "No s'ha pogut copiar el nou fitxer de configuració «{new}» a «{conf}»",
|
||||
"regenconf_file_kept_back": "S'espera que el fitxer de configuració «{conf}» sigui suprimit per regen-conf (categoria {category}) però s'ha mantingut.",
|
||||
|
@ -260,33 +257,32 @@
|
|||
"regenconf_dry_pending_applying": "Verificació de la configuració pendent que s'hauria d'haver aplicat per la categoria «{category}»…",
|
||||
"regenconf_failed": "No s'ha pogut regenerar la configuració per la/les categoria/es : {categories}",
|
||||
"regenconf_pending_applying": "Aplicació de la configuració pendent per la categoria «{category}»...",
|
||||
"restore_already_installed_app": "Una aplicació amb la ID «{app:s}» ja està instal·lada",
|
||||
"app_restore_failed": "No s'ha pogut restaurar {app:s}: {error:s}",
|
||||
"restore_already_installed_app": "Una aplicació amb la ID «{app}» ja està instal·lada",
|
||||
"app_restore_failed": "No s'ha pogut restaurar {app}: {error}",
|
||||
"restore_cleaning_failed": "No s'ha pogut netejar el directori temporal de restauració",
|
||||
"restore_complete": "Restauració completada",
|
||||
"restore_confirm_yunohost_installed": "Esteu segur de voler restaurar un sistema ja instal·lat? [{answers:s}]",
|
||||
"restore_confirm_yunohost_installed": "Esteu segur de voler restaurar un sistema ja instal·lat? [{answers}]",
|
||||
"restore_extracting": "Extracció dels fitxers necessaris de l'arxiu…",
|
||||
"restore_failed": "No s'ha pogut restaurar el sistema",
|
||||
"restore_hook_unavailable": "El script de restauració «{part:s}» no està disponible en el sistema i tampoc és en l'arxiu",
|
||||
"restore_hook_unavailable": "El script de restauració «{part}» no està disponible en el sistema i tampoc és en l'arxiu",
|
||||
"restore_may_be_not_enough_disk_space": "Sembla que no hi ha prou espai disponible en el sistema (lliure: {free_space:d} B, espai necessari: {needed_space:d} B, marge de seguretat: {margin:d} B)",
|
||||
"restore_not_enough_disk_space": "No hi ha prou espai disponible (espai: {free_space:d} B, espai necessari: {needed_space:d} B, marge de seguretat: {margin:d} B)",
|
||||
"restore_nothings_done": "No s'ha restaurat res",
|
||||
"restore_removing_tmp_dir_failed": "No s'ha pogut eliminar un directori temporal antic",
|
||||
"restore_running_app_script": "Restaurant l'aplicació «{app:s}»…",
|
||||
"restore_running_app_script": "Restaurant l'aplicació «{app}»…",
|
||||
"restore_running_hooks": "Execució dels hooks de restauració…",
|
||||
"restore_system_part_failed": "No s'ha pogut restaurar la part «{part:s}» del sistema",
|
||||
"restore_system_part_failed": "No s'ha pogut restaurar la part «{part}» del sistema",
|
||||
"root_password_desynchronized": "S'ha canviat la contrasenya d'administració, però YunoHost no ha pogut propagar-ho cap a la contrasenya root!",
|
||||
"root_password_replaced_by_admin_password": "La contrasenya root s'ha substituït per la contrasenya d'administració.",
|
||||
"server_shutdown": "S'aturarà el servidor",
|
||||
"server_shutdown_confirm": "S'aturarà el servidor immediatament, n'esteu segur? [{answers:s}]",
|
||||
"server_shutdown_confirm": "S'aturarà el servidor immediatament, n'esteu segur? [{answers}]",
|
||||
"server_reboot": "Es reiniciarà el servidor",
|
||||
"server_reboot_confirm": "Es reiniciarà el servidor immediatament, n'esteu segur? [{answers:s}]",
|
||||
"service_add_failed": "No s'ha pogut afegir el servei «{service:s}»",
|
||||
"service_added": "S'ha afegit el servei «{service:s}»",
|
||||
"service_already_started": "El servei «{service:s}» ja està funcionant",
|
||||
"service_already_stopped": "Ja s'ha aturat el servei «{service:s}»",
|
||||
"service_cmd_exec_failed": "No s'ha pogut executar l'ordre «{command:s}»",
|
||||
"service_description_avahi-daemon": "Permet accedir al servidor via «yunohost.local» en la xarxa local",
|
||||
"server_reboot_confirm": "Es reiniciarà el servidor immediatament, n'esteu segur? [{answers}]",
|
||||
"service_add_failed": "No s'ha pogut afegir el servei «{service}»",
|
||||
"service_added": "S'ha afegit el servei «{service}»",
|
||||
"service_already_started": "El servei «{service}» ja està funcionant",
|
||||
"service_already_stopped": "Ja s'ha aturat el servei «{service}»",
|
||||
"service_cmd_exec_failed": "No s'ha pogut executar l'ordre «{command}»",
|
||||
"service_description_dnsmasq": "Gestiona la resolució del nom de domini (DNS)",
|
||||
"service_description_dovecot": "Permet als clients de correu accedir/recuperar correus (via IMAP i POP3)",
|
||||
"service_description_fail2ban": "Protegeix contra els atacs de força bruta i a altres atacs provinents d'Internet",
|
||||
|
@ -300,24 +296,24 @@
|
|||
"service_description_ssh": "Permet la connexió remota al servidor via terminal (protocol SSH)",
|
||||
"service_description_yunohost-api": "Gestiona les interaccions entre la interfície web de YunoHost i el sistema",
|
||||
"service_description_yunohost-firewall": "Gestiona els ports de connexió oberts i tancats als serveis",
|
||||
"service_disable_failed": "No s'han pogut fer que el servei «{service:s}» no comenci a l'arrancada.\n\nRegistres recents: {logs:s}",
|
||||
"service_disabled": "El servei «{service:s}» ja no començarà al arrancar el sistema.",
|
||||
"service_enable_failed": "No s'ha pogut fer que el servei «{service:s}» comenci automàticament a l'arrancada.\n\nRegistres recents: {logs:s}",
|
||||
"service_enabled": "El servei «{service:s}» començarà automàticament durant l'arrancada del sistema.",
|
||||
"service_disable_failed": "No s'han pogut fer que el servei «{service}» no comenci a l'arrancada.\n\nRegistres recents: {logs}",
|
||||
"service_disabled": "El servei «{service}» ja no començarà al arrancar el sistema.",
|
||||
"service_enable_failed": "No s'ha pogut fer que el servei «{service}» comenci automàticament a l'arrancada.\n\nRegistres recents: {logs}",
|
||||
"service_enabled": "El servei «{service}» començarà automàticament durant l'arrancada del sistema.",
|
||||
"service_regen_conf_is_deprecated": "«yunohost service regen-conf» està desfasat! Utilitzeu «yunohost tools regen-conf» en el seu lloc.",
|
||||
"service_remove_failed": "No s'ha pogut eliminar el servei «{service:s}»",
|
||||
"service_removed": "S'ha eliminat el servei «{service:s}»",
|
||||
"service_reload_failed": "No s'ha pogut tornar a carregar el servei «{service:s}»\n\nRegistres recents: {logs:s}",
|
||||
"service_reloaded": "S'ha tornat a carregar el servei «{service:s}»",
|
||||
"service_restart_failed": "No s'ha pogut reiniciar el servei «{service:s}»\n\nRegistres recents: {logs:s}",
|
||||
"service_restarted": "S'ha reiniciat el servei «{service:s}»",
|
||||
"service_reload_or_restart_failed": "No s'ha pogut tornar a carregar o reiniciar el servei «{service:s}»\n\nRegistres recents: {logs:s}",
|
||||
"service_reloaded_or_restarted": "S'ha tornat a carregar o s'ha reiniciat el servei «{service:s}»",
|
||||
"service_start_failed": "No s'ha pogut iniciar el servei «{service:s}»\n\nRegistres recents: {logs:s}",
|
||||
"service_started": "S'ha iniciat el servei «{service:s}»",
|
||||
"service_stop_failed": "No s'ha pogut aturar el servei «{service:s}»\n\nRegistres recents: {logs:s}",
|
||||
"service_stopped": "S'ha aturat el servei «{service:s}»",
|
||||
"service_unknown": "Servei «{service:s}» desconegut",
|
||||
"service_remove_failed": "No s'ha pogut eliminar el servei «{service}»",
|
||||
"service_removed": "S'ha eliminat el servei «{service}»",
|
||||
"service_reload_failed": "No s'ha pogut tornar a carregar el servei «{service}»\n\nRegistres recents: {logs}",
|
||||
"service_reloaded": "S'ha tornat a carregar el servei «{service}»",
|
||||
"service_restart_failed": "No s'ha pogut reiniciar el servei «{service}»\n\nRegistres recents: {logs}",
|
||||
"service_restarted": "S'ha reiniciat el servei «{service}»",
|
||||
"service_reload_or_restart_failed": "No s'ha pogut tornar a carregar o reiniciar el servei «{service}»\n\nRegistres recents: {logs}",
|
||||
"service_reloaded_or_restarted": "S'ha tornat a carregar o s'ha reiniciat el servei «{service}»",
|
||||
"service_start_failed": "No s'ha pogut iniciar el servei «{service}»\n\nRegistres recents: {logs}",
|
||||
"service_started": "S'ha iniciat el servei «{service}»",
|
||||
"service_stop_failed": "No s'ha pogut aturar el servei «{service}»\n\nRegistres recents: {logs}",
|
||||
"service_stopped": "S'ha aturat el servei «{service}»",
|
||||
"service_unknown": "Servei «{service}» desconegut",
|
||||
"ssowat_conf_generated": "S'ha regenerat la configuració SSOwat",
|
||||
"ssowat_conf_updated": "S'ha actualitzat la configuració SSOwat",
|
||||
"system_upgraded": "S'ha actualitzat el sistema",
|
||||
|
@ -332,10 +328,10 @@
|
|||
"tools_upgrade_special_packages": "Actualitzant els paquets «especials» (relacionats amb YunoHost)…",
|
||||
"tools_upgrade_special_packages_explanation": "Aquesta actualització especial continuarà en segon pla. No comenceu cap altra acció al servidor en els pròxims ~10 minuts (depèn de la velocitat del maquinari). Després d'això, pot ser que us hagueu de tornar a connectar a la interfície d'administració. Els registres de l'actualització estaran disponibles a Eines → Registres (a la interfície d'administració) o utilitzant «yunohost log list» (des de la línia d'ordres).",
|
||||
"tools_upgrade_special_packages_completed": "Actualització dels paquets YunoHost acabada.\nPremeu [Enter] per tornar a la línia d'ordres",
|
||||
"unbackup_app": "{app:s} no es guardarà",
|
||||
"unbackup_app": "{app} no es guardarà",
|
||||
"unexpected_error": "Hi ha hagut un error inesperat: {error}",
|
||||
"unlimit": "Sense quota",
|
||||
"unrestore_app": "{app:s} no es restaurarà",
|
||||
"unrestore_app": "{app} no es restaurarà",
|
||||
"update_apt_cache_failed": "No s'ha pogut actualitzar la memòria cau d'APT (el gestor de paquets de Debian). Aquí teniu les línies de sources.list, que poden ajudar-vos a identificar les línies problemàtiques:\n{sourceslist}",
|
||||
"update_apt_cache_warning": "Hi ha hagut errors al actualitzar la memòria cau d'APT (el gestor de paquets de Debian). Aquí teniu les línies de sources.list que poden ajudar-vos a identificar les línies problemàtiques:\n{sourceslist}",
|
||||
"updating_apt_cache": "Obtenció de les actualitzacions disponibles per als paquets del sistema...",
|
||||
|
@ -350,32 +346,32 @@
|
|||
"user_deleted": "S'ha suprimit l'usuari",
|
||||
"user_deletion_failed": "No s'ha pogut suprimir l'usuari {user}: {error}",
|
||||
"user_home_creation_failed": "No s'ha pogut crear la carpeta personal «home» per l'usuari",
|
||||
"user_unknown": "Usuari desconegut: {user:s}",
|
||||
"user_unknown": "Usuari desconegut: {user}",
|
||||
"user_update_failed": "No s'ha pogut actualitzar l'usuari {user}: {error}",
|
||||
"user_updated": "S'ha canviat la informació de l'usuari",
|
||||
"yunohost_already_installed": "YunoHost ja està instal·lat",
|
||||
"yunohost_configured": "YunoHost està configurat",
|
||||
"yunohost_installing": "Instal·lació de YunoHost...",
|
||||
"yunohost_not_installed": "YunoHost no està instal·lat correctament. Executeu «yunohost tools postinstall»",
|
||||
"backup_permission": "Permís de còpia de seguretat per {app:s}",
|
||||
"backup_permission": "Permís de còpia de seguretat per {app}",
|
||||
"group_created": "S'ha creat el grup «{group}»",
|
||||
"group_creation_failed": "No s'ha pogut crear el grup «{group}»: {error}",
|
||||
"group_deleted": "S'ha eliminat el grup «{group}»",
|
||||
"group_deletion_failed": "No s'ha pogut eliminar el grup «{group}»: {error}",
|
||||
"group_unknown": "Grup {group:s} desconegut",
|
||||
"group_unknown": "Grup {group} desconegut",
|
||||
"group_updated": "S'ha actualitzat el grup «{group}»",
|
||||
"group_update_failed": "No s'ha pogut actualitzat el grup «{group}»: {error}",
|
||||
"log_user_group_delete": "Eliminar grup «{}»",
|
||||
"log_user_group_update": "Actualitzar grup «{}»",
|
||||
"mailbox_disabled": "La bústia de correu està desactivada per al usuari {user:s}",
|
||||
"permission_already_exist": "El permís «{permission:s}» ja existeix",
|
||||
"permission_created": "S'ha creat el permís «{permission:s}»",
|
||||
"mailbox_disabled": "La bústia de correu està desactivada per al usuari {user}",
|
||||
"permission_already_exist": "El permís «{permission}» ja existeix",
|
||||
"permission_created": "S'ha creat el permís «{permission}»",
|
||||
"permission_creation_failed": "No s'ha pogut crear el permís «{permission}»: {error}",
|
||||
"permission_deleted": "S'ha eliminat el permís «{permission:s}»",
|
||||
"permission_deletion_failed": "No s'ha pogut eliminar el permís «{permission:s}»: {error}",
|
||||
"permission_not_found": "No s'ha trobat el permís «{permission:s}»",
|
||||
"permission_deleted": "S'ha eliminat el permís «{permission}»",
|
||||
"permission_deletion_failed": "No s'ha pogut eliminar el permís «{permission}»: {error}",
|
||||
"permission_not_found": "No s'ha trobat el permís «{permission}»",
|
||||
"permission_update_failed": "No s'ha pogut actualitzar el permís «{permission}»: {error}",
|
||||
"permission_updated": "S'ha actualitzat el permís «{permission:s}»",
|
||||
"permission_updated": "S'ha actualitzat el permís «{permission}»",
|
||||
"app_full_domain_unavailable": "Aquesta aplicació ha de ser instal·lada en el seu propi domini, però ja hi ha altres aplicacions instal·lades en el domini «{domain}». Podeu utilitzar un subdomini dedicat a aquesta aplicació.",
|
||||
"migrations_not_pending_cant_skip": "Aquestes migracions no estan pendents, així que no poden ser omeses: {ids}",
|
||||
"app_action_broke_system": "Aquesta acció sembla haver trencat els següents serveis importants: {services}",
|
||||
|
@ -422,7 +418,7 @@
|
|||
"diagnosis_security_vulnerable_to_meltdown_details": "Per arreglar-ho, hauríeu d'actualitzar i reiniciar el sistema per tal de carregar el nou nucli de linux (o contactar amb el proveïdor del servidor si no funciona). Vegeu https://meltdownattack.com/ per a més informació.",
|
||||
"diagnosis_http_could_not_diagnose": "No s'ha pogut diagnosticar si el domini és accessible des de l'exterior.",
|
||||
"diagnosis_http_could_not_diagnose_details": "Error: {error}",
|
||||
"domain_cannot_remove_main_add_new_one": "No es pot eliminar «{domain:s}» ja que és el domini principal i únic domini, primer s'ha d'afegir un altre domini utilitzant «yunohost domain add <un-altre-domini.com>», i després fer-lo el domini principal amb «yunohost domain main-domain -n <un-altre-domini.com>» i després es pot eliminar el domini «{domain:s}» utilitzant «yunohost domain remove {domain:s}».",
|
||||
"domain_cannot_remove_main_add_new_one": "No es pot eliminar «{domain}» ja que és el domini principal i únic domini, primer s'ha d'afegir un altre domini utilitzant «yunohost domain add <un-altre-domini.com>», i després fer-lo el domini principal amb «yunohost domain main-domain -n <un-altre-domini.com>» i després es pot eliminar el domini «{domain}» utilitzant «yunohost domain remove {domain}».",
|
||||
"diagnosis_basesystem_host": "El servidor funciona amb Debian {debian_version}",
|
||||
"diagnosis_basesystem_kernel": "El servidor funciona amb el nucli de Linux {kernel_version}",
|
||||
"diagnosis_basesystem_ynh_single_version": "{package} versió: {version}({repo})",
|
||||
|
@ -501,10 +497,10 @@
|
|||
"diagnosis_description_web": "Web",
|
||||
"diagnosis_basesystem_hardware": "L'arquitectura del maquinari del servidor és {virt} {arch}",
|
||||
"group_already_exist_on_system_but_removing_it": "El grup {group} ja existeix en els grups del sistema, però YunoHost l'eliminarà...",
|
||||
"certmanager_warning_subdomain_dns_record": "El subdomini «{subdomain:s}» no resol a la mateixa adreça IP que «{domain:s}». Algunes funcions no estaran disponibles fins que no s'hagi arreglat i s'hagi regenerat el certificat.",
|
||||
"certmanager_warning_subdomain_dns_record": "El subdomini «{subdomain}» no resol a la mateixa adreça IP que «{domain}». Algunes funcions no estaran disponibles fins que no s'hagi arreglat i s'hagi regenerat el certificat.",
|
||||
"domain_cannot_add_xmpp_upload": "No podeu afegir dominis començant per «xmpp-upload.». Aquest tipus de nom està reservat per a la funció de pujada de XMPP integrada a YunoHost.",
|
||||
"diagnosis_display_tip": "Per veure els problemes que s'han trobat, podeu anar a la secció de Diagnòstic a la pàgina web d'administració, o utilitzar « yunohost diagnostic show --issues --human-readable» a la línia de comandes.",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_relay_vpn": "Alguns proveïdors no permeten desbloquejar el port de sortida 25 perquè no els hi importa la Neutralitat de la Xarxa.<br> - Alguns d'ells ofereixen l'alternativa d'<a href='https://yunohost.org/#/smtp_relay'>utilitzar un relay de servidor de correu electrònic</a> tot i que implica que el relay serà capaç d'espiar el tràfic de correus electrònics.<br>- Una alternativa respectuosa amb la privacitat és utilitzar una VPN *amb una IP pública dedicada* per sortejar aquest tipus de limitació. Vegeu <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- També podeu considerar canviar-vos a <a href='https://yunohost.org/#/isp'>un proveïdor més respectuós de la neutralitat de la xarxa</a>",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_relay_vpn": "Alguns proveïdors no permeten desbloquejar el port de sortida 25 perquè no els hi importa la Neutralitat de la Xarxa.<br> - Alguns d'ells ofereixen l'alternativa d'<a href='https://yunohost.org/#/email_configure_relay'>utilitzar un relay de servidor de correu electrònic</a> tot i que implica que el relay serà capaç d'espiar el tràfic de correus electrònics.<br>- Una alternativa respectuosa amb la privacitat és utilitzar una VPN *amb una IP pública dedicada* per sortejar aquest tipus de limitació. Vegeu <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- També podeu considerar canviar-vos a <a href='https://yunohost.org/#/isp'>un proveïdor més respectuós de la neutralitat de la xarxa</a>",
|
||||
"diagnosis_ip_global": "IP global: <code>{global}</code>",
|
||||
"diagnosis_ip_local": "IP local: <code>{local}</code>",
|
||||
"diagnosis_dns_point_to_doc": "Consulteu la documentació a <a href='https://yunohost.org/dns_config'>https://yunohost.org/dns_config</a> si necessiteu ajuda per configurar els registres DNS.",
|
||||
|
@ -538,7 +534,7 @@
|
|||
"diagnosis_ports_partially_unreachable": "El port {port} no és accessible des de l'exterior amb IPv{failed}.",
|
||||
"diagnosis_http_partially_unreachable": "El domini {domain} sembla que no és accessible utilitzant HTTP des de l'exterior de la xarxa local amb IPv{failed}, tot i que funciona amb IPv{passed}.",
|
||||
"diagnosis_mail_fcrdns_nok_details": "Hauríeu d'intentar configurar primer el DNS invers amb <code>{ehlo_domain}</code> en la interfície del router o en la interfície del vostre allotjador. (Alguns allotjadors requereixen que obris un informe de suport per això).",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_4": "Alguns proveïdors no permeten configurar el DNS invers (o aquesta funció pot no funcionar…). Si teniu problemes a causa d'això, considereu les solucions següents:<br> - Alguns proveïdors d'accés a internet (ISP) donen l'alternativa de <a href='https://yunohost.org/#/smtp_relay'> utilitzar un relay de servidor de correu electrònic</a> tot i que implica que el relay podrà espiar el trànsit de correus electrònics.<br>- Una alternativa respectuosa amb la privacitat és utilitzar una VPN *amb una IP pública dedicada* per sobrepassar aquest tipus de limitacions. Mireu <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- O es pot <a href='https://yunohost.org/#/isp'>canviar a un proveïdor diferent</a>",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_4": "Alguns proveïdors no permeten configurar el DNS invers (o aquesta funció pot no funcionar…). Si teniu problemes a causa d'això, considereu les solucions següents:<br> - Alguns proveïdors d'accés a internet (ISP) donen l'alternativa de <a href='https://yunohost.org/#/email_configure_relay'> utilitzar un relay de servidor de correu electrònic</a> tot i que implica que el relay podrà espiar el trànsit de correus electrònics.<br>- Una alternativa respectuosa amb la privacitat és utilitzar una VPN *amb una IP pública dedicada* per sobrepassar aquest tipus de limitacions. Mireu <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- O es pot <a href='https://yunohost.org/#/isp'>canviar a un proveïdor diferent</a>",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_6": "Alguns proveïdors no permeten configurar el vostre DNS invers (o la funció no els hi funciona…). Si el vostre DNS invers està correctament configurat per IPv4, podeu intentar deshabilitar l'ús de IPv6 per a enviar correus electrònics utilitzant <cmd>yunohost settings set smtp.allow_ipv6 -v off</cmd>. Nota: aquesta última solució implica que no podreu enviar o rebre correus electrònics cap a els pocs servidors que hi ha que només tenen IPv-6.",
|
||||
"diagnosis_http_hairpinning_issue_details": "Això és probablement a causa del router del vostre proveïdor d'accés a internet. El que fa, que gent de fora de la xarxa local pugui accedir al servidor sense problemes, però no la gent de dins la xarxa local (com vostè probablement) quan s'utilitza el nom de domini o la IP global. Podreu segurament millorar la situació fent una ullada a <a href='https://yunohost.org/dns_local_network'>https://yunohost.org/dns_local_network</a>",
|
||||
"backup_archive_cant_retrieve_info_json": "No s'ha pogut carregar la informació de l'arxiu «{archive}»... No s'ha pogut obtenir el fitxer info.json (o no és un fitxer json vàlid).",
|
||||
|
@ -592,14 +588,10 @@
|
|||
"pattern_email_forward": "Ha de ser una adreça de correu vàlida, s'accepta el símbol «+» (per exemple, algu+etiqueta@exemple.cat)",
|
||||
"invalid_number": "Ha de ser una xifra",
|
||||
"migration_0019_slapd_config_will_be_overwritten": "Sembla que heu modificat manualment la configuració sldap. Per a aquesta migració crítica, YunoHist necessita forçar l'actualització de la configuració sldap. Es crearà una còpia de seguretat dels fitxers originals a {conf_backup_folder}.",
|
||||
"migration_0019_rollback_success": "S'ha restaurat el sistema.",
|
||||
"migration_0019_migration_failed_trying_to_rollback": "No s'ha pogut fer la migració... intentant restaurar el sistema.",
|
||||
"migration_0019_can_not_backup_before_migration": "No s'ha pogut completar la còpia de seguretat del sistema abans de que fallés la migració. Error: {error:s}",
|
||||
"migration_0019_backup_before_migration": "Creant una còpia de seguretat de la base de dades LDAP i de la configuració de les aplicacions abans de la migració actual.",
|
||||
"migration_0019_add_new_attributes_in_ldap": "Afegir nous atributs per als permisos en la base de dades LDAP",
|
||||
"migration_description_0019_extend_permissions_features": "Amplia/refés el sistema de gestió dels permisos de l'aplicació",
|
||||
"migrating_legacy_permission_settings": "Migració dels paràmetres de permisos antics...",
|
||||
"invalid_regex": "Regex no vàlid: «{regex:s}»",
|
||||
"invalid_regex": "Regex no vàlid: «{regex}»",
|
||||
"global_settings_setting_smtp_relay_password": "Tramesa de la contrasenya d'amfitrió SMTP",
|
||||
"global_settings_setting_smtp_relay_user": "Tramesa de compte d'usuari SMTP",
|
||||
"global_settings_setting_smtp_relay_port": "Port de tramesa SMTP",
|
||||
|
@ -615,8 +607,8 @@
|
|||
"app_manifest_install_ask_domain": "Escolliu el domini en el que s'hauria d'instal·lar aquesta aplicació",
|
||||
"app_label_deprecated": "Aquesta ordre està desestimada! Si us plau utilitzeu la nova ordre «yunohost user permission update» per gestionar l'etiqueta de l'aplicació.",
|
||||
"app_argument_password_no_default": "Hi ha hagut un error al analitzar l'argument de la contrasenya «{name}»: l'argument de contrasenya no pot tenir un valor per defecte per raons de seguretat",
|
||||
"additional_urls_already_removed": "URL addicional «{url:s}» ja ha estat eliminada per al permís «{permission:s}»",
|
||||
"additional_urls_already_added": "URL addicional «{url:s}» ja ha estat afegida per al permís «{permission:s}»",
|
||||
"additional_urls_already_removed": "URL addicional «{url}» ja ha estat eliminada per al permís «{permission}»",
|
||||
"additional_urls_already_added": "URL addicional «{url}» ja ha estat afegida per al permís «{permission}»",
|
||||
"diagnosis_backports_in_sources_list": "Sembla que apt (el gestor de paquets) està configurat per utilitzar el repositori backports. A menys de saber el que esteu fent, recomanem fortament no instal·lar paquets de backports, ja que poder causar inestabilitats o conflictes en el sistema.",
|
||||
"diagnosis_basesystem_hardware_model": "El model del servidor és {model}",
|
||||
"postinstall_low_rootfsspace": "El sistema de fitxers arrel té un total de menys de 10 GB d'espai, el que es preocupant! És molt probable que us quedeu sense espai ràpidament! Es recomana tenir un mínim de 16 GB per al sistema de fitxers arrel. Si voleu instal·lar YunoHost tot i aquest avís, torneu a executar la postinstal·lació amb --force-diskspace",
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
{
|
||||
"password_too_simple_1": "Heslo musí být aspoň 8 znaků dlouhé",
|
||||
"app_already_installed": "{app:s} je již nainstalován/a",
|
||||
"app_already_installed": "{app} je již nainstalován/a",
|
||||
"already_up_to_date": "Neprovedena žádná akce. Vše je již aktuální.",
|
||||
"admin_password_too_long": "Zvolte prosím heslo kratší než 127 znaků",
|
||||
"admin_password_changed": "Administrační heslo bylo změněno",
|
||||
"admin_password_change_failed": "Nebylo možné změnit heslo",
|
||||
"admin_password": "Administrační heslo",
|
||||
"additional_urls_already_removed": "Další URL '{url:s}' již bylo odebráno u oprávnění '{permission:s}'",
|
||||
"additional_urls_already_added": "Další URL '{url:s}' již bylo přidáno pro oprávnění '{permission:s}'",
|
||||
"action_invalid": "Nesprávné akce '{action:s}'",
|
||||
"additional_urls_already_removed": "Další URL '{url}' již bylo odebráno u oprávnění '{permission}'",
|
||||
"additional_urls_already_added": "Další URL '{url}' již bylo přidáno pro oprávnění '{permission}'",
|
||||
"action_invalid": "Nesprávné akce '{action}'",
|
||||
"aborting": "Zrušeno.",
|
||||
"app_change_url_identical_domains": "Stará a nová doména/url_cesta jsou totožné ('{domain:s}{path:s}'), nebudou provedeny žádné změny.",
|
||||
"app_change_url_failed_nginx_reload": "Nepodařilo se znovunačís NGINX. Následuje výpis příkazu 'nginx -t':\n{nginx_errors:s}",
|
||||
"app_argument_invalid": "Vyberte správnou hodnotu pro argument '{name:s}': {error:s}",
|
||||
"app_argument_choice_invalid": "Vyberte jednu z možností '{choices:s}' pro argument'{name:s}'",
|
||||
"app_already_up_to_date": "{app:s} aplikace je/jsou aktuální",
|
||||
"app_change_url_identical_domains": "Stará a nová doména/url_cesta jsou totožné ('{domain}{path}'), nebudou provedeny žádné změny.",
|
||||
"app_change_url_failed_nginx_reload": "Nepodařilo se znovunačís NGINX. Následuje výpis příkazu 'nginx -t':\n{nginx_errors}",
|
||||
"app_argument_invalid": "Vyberte správnou hodnotu pro argument '{name}': {error}",
|
||||
"app_argument_choice_invalid": "Vyberte jednu z možností '{choices}' pro argument'{name}'",
|
||||
"app_already_up_to_date": "{app} aplikace je/jsou aktuální",
|
||||
"app_already_installed_cant_change_url": "Tato aplikace je již nainstalována. URL nemůže být touto akcí změněna. Zkontrolujte `app changeurl` pokud je dostupné.",
|
||||
"app_action_cannot_be_ran_because_required_services_down": "Pro běh této akce by měli být spuštěné následující služby: {services}. Zkuste je zrestartovat, případně zjistěte, proč neběží.",
|
||||
"app_action_broke_system": "Zdá se, že tato akce rozbila následující důležité služby: {services}",
|
||||
|
@ -24,9 +24,9 @@
|
|||
"app_id_invalid": "Neplatné ID aplikace",
|
||||
"app_full_domain_unavailable": "Tato aplikace musí být nainstalována na své vlastní doméně, jiné aplikace tuto doménu již využívají. Můžete použít poddoménu určenou pouze pro tuto aplikaci.",
|
||||
"app_extraction_failed": "Nelze rozbalit instalační soubory",
|
||||
"app_change_url_success": "{app:s} URL je nyní {domain:s}{path:s}",
|
||||
"app_change_url_no_script": "Aplikace '{app_name:s}' nyní nepodporuje URL modifikace. Zkuste ji aktualizovat.",
|
||||
"app_argument_required": "Hodnota'{name:s}' je vyžadována",
|
||||
"app_change_url_success": "{app} URL je nyní {domain}{path}",
|
||||
"app_change_url_no_script": "Aplikace '{app_name}' nyní nepodporuje URL modifikace. Zkuste ji aktualizovat.",
|
||||
"app_argument_required": "Hodnota'{name}' je vyžadována",
|
||||
"app_argument_password_no_default": "Chyba při zpracování obsahu hesla '{name}': z bezpečnostních důvodů nemůže obsahovat výchozí hodnotu",
|
||||
"password_too_simple_4": "Heslo musí být aspoň 12 znaků dlouhé a obsahovat čísla, velká a malá písmena a speciální znaky",
|
||||
"password_too_simple_3": "Heslo musí být aspoň 8 znaků dlouhé a obsahovat čísla, velká a malá písmena a speciální znaky",
|
||||
|
@ -36,7 +36,7 @@
|
|||
"group_user_already_in_group": "Uživatel {user} je již ve skupině {group}",
|
||||
"group_update_failed": "Nelze upravit skupinu '{group}': {error}",
|
||||
"group_updated": "Skupina '{group}' upravena",
|
||||
"group_unknown": "Neznámá skupina '{group:s}'",
|
||||
"group_unknown": "Neznámá skupina '{group}'",
|
||||
"group_deletion_failed": "Nelze smazat skupinu '{group}': {error}",
|
||||
"group_deleted": "Skupina '{group}' smazána",
|
||||
"group_cannot_be_deleted": "Skupina {group} nemůže být smazána.",
|
||||
|
@ -50,7 +50,7 @@
|
|||
"group_already_exist": "Skupina {group} již existuje",
|
||||
"good_practices_about_user_password": "Nyní zvolte nové heslo uživatele. Heslo by mělo být minimálně 8 znaků dlouhé, avšak je dobrou taktikou jej mít delší (např. použít více slov) a použít kombinaci znaků (velké, malé, čísla a speciální znaky).",
|
||||
"good_practices_about_admin_password": "Nyní zvolte nové administrační heslo. Heslo by mělo být minimálně 8 znaků dlouhé, avšak je dobrou taktikou jej mít delší (např. použít více slov) a použít kombinaci znaků (velké, malé, čísla a speciílní znaky).",
|
||||
"global_settings_unknown_type": "Neočekávaná situace, nastavení {setting:s} deklaruje typ {unknown_type:s} ale toto není systémem podporováno.",
|
||||
"global_settings_unknown_type": "Neočekávaná situace, nastavení {setting} deklaruje typ {unknown_type} ale toto není systémem podporováno.",
|
||||
"global_settings_setting_backup_compress_tar_archives": "Komprimovat nové zálohy (.tar.gz) namísto nekomprimovaných (.tar). Poznámka: povolení této volby znamená objemově menší soubory záloh, avšak zálohování bude trvat déle a bude více zatěžovat CPU.",
|
||||
"global_settings_setting_smtp_relay_password": "SMTP relay heslo uživatele/hostitele",
|
||||
"global_settings_setting_smtp_relay_user": "SMTP relay uživatelské jméno/účet",
|
||||
|
@ -59,7 +59,7 @@
|
|||
"global_settings_setting_smtp_allow_ipv6": "Povolit použití IPv6 pro příjem a odesílání emailů",
|
||||
"global_settings_setting_ssowat_panel_overlay_enabled": "Povolit SSOwat překryvný panel",
|
||||
"global_settings_setting_service_ssh_allow_deprecated_dsa_hostkey": "Povolit použití (zastaralého) DSA klíče hostitele pro konfiguraci SSH služby",
|
||||
"global_settings_unknown_setting_from_settings_file": "Neznámý klíč v nastavení: '{setting_key:s}', zrušte jej a uložte v /etc/yunohost/settings-unknown.json",
|
||||
"global_settings_unknown_setting_from_settings_file": "Neznámý klíč v nastavení: '{setting_key}', zrušte jej a uložte v /etc/yunohost/settings-unknown.json",
|
||||
"global_settings_setting_security_ssh_port": "SSH port",
|
||||
"global_settings_setting_security_postfix_compatibility": "Kompromis mezi kompatibilitou a bezpečností Postfix serveru. Ovlivní šifry a další související bezpečnostní nastavení",
|
||||
"global_settings_setting_security_ssh_compatibility": "Kompromis mezi kompatibilitou a bezpečností SSH serveru. Ovlivní šifry a další související bezpečnostní nastavení",
|
||||
|
|
384
locales/de.json
384
locales/de.json
|
@ -1,43 +1,43 @@
|
|||
{
|
||||
"action_invalid": "Ungültige Aktion '{action:s}'",
|
||||
"action_invalid": "Ungültige Aktion '{action}'",
|
||||
"admin_password": "Administrator-Passwort",
|
||||
"admin_password_change_failed": "Ändern des Passworts nicht möglich",
|
||||
"admin_password_changed": "Das Administrator-Kennwort wurde geändert",
|
||||
"app_already_installed": "{app:s} ist schon installiert",
|
||||
"app_argument_choice_invalid": "Wähle einen der folgenden Werte '{choices:s}' für das Argument '{name:s}'",
|
||||
"app_argument_invalid": "Wähle einen gültigen Wert für das Argument '{name:s}': {error:s}",
|
||||
"app_argument_required": "Argument '{name:s}' wird benötigt",
|
||||
"app_already_installed": "{app} ist schon installiert",
|
||||
"app_argument_choice_invalid": "Wähle einen der folgenden Werte '{choices}' für das Argument '{name}'",
|
||||
"app_argument_invalid": "Wähle einen gültigen Wert für das Argument '{name}': {error}",
|
||||
"app_argument_required": "Argument '{name}' wird benötigt",
|
||||
"app_extraction_failed": "Installationsdateien konnten nicht entpackt werden",
|
||||
"app_id_invalid": "Falsche App-ID",
|
||||
"app_install_files_invalid": "Diese Dateien können nicht installiert werden",
|
||||
"app_manifest_invalid": "Mit dem App-Manifest stimmt etwas nicht: {error}",
|
||||
"app_not_installed": "{app:s} konnte nicht in der Liste installierter Apps gefunden werden: {all_apps}",
|
||||
"app_removed": "{app:s} wurde entfernt",
|
||||
"app_not_installed": "{app} konnte nicht in der Liste installierter Apps gefunden werden: {all_apps}",
|
||||
"app_removed": "{app} wurde entfernt",
|
||||
"app_sources_fetch_failed": "Quelldateien konnten nicht abgerufen werden, ist die URL korrekt?",
|
||||
"app_unknown": "Unbekannte App",
|
||||
"app_upgrade_failed": "{app:s} konnte nicht aktualisiert werden: {error}",
|
||||
"app_upgraded": "{app:s} aktualisiert",
|
||||
"app_upgrade_failed": "{app} konnte nicht aktualisiert werden: {error}",
|
||||
"app_upgraded": "{app} aktualisiert",
|
||||
"ask_firstname": "Vorname",
|
||||
"ask_lastname": "Nachname",
|
||||
"ask_main_domain": "Hauptdomain",
|
||||
"ask_new_admin_password": "Neues Verwaltungskennwort",
|
||||
"ask_password": "Passwort",
|
||||
"backup_app_failed": "Konnte keine Sicherung für {app:s} erstellen",
|
||||
"backup_archive_app_not_found": "{app:s} konnte in keiner Datensicherung gefunden werden",
|
||||
"backup_app_failed": "Konnte keine Sicherung für {app} erstellen",
|
||||
"backup_archive_app_not_found": "{app} konnte in keiner Datensicherung gefunden werden",
|
||||
"backup_archive_name_exists": "Datensicherung mit dem selben Namen existiert bereits.",
|
||||
"backup_archive_name_unknown": "Unbekanntes lokale Datensicherung mit Namen '{name:s}' gefunden",
|
||||
"backup_archive_name_unknown": "Unbekanntes lokale Datensicherung mit Namen '{name}' gefunden",
|
||||
"backup_archive_open_failed": "Kann Sicherungsarchiv nicht öfnen",
|
||||
"backup_cleaning_failed": "Temporäres Sicherungsverzeichnis konnte nicht geleert werden",
|
||||
"backup_created": "Datensicherung komplett",
|
||||
"backup_delete_error": "Pfad '{path:s}' konnte nicht gelöscht werden",
|
||||
"backup_delete_error": "Pfad '{path}' konnte nicht gelöscht werden",
|
||||
"backup_deleted": "Backup wurde entfernt",
|
||||
"backup_hook_unknown": "Der Datensicherungshook '{hook:s}' unbekannt",
|
||||
"backup_hook_unknown": "Der Datensicherungshook '{hook}' unbekannt",
|
||||
"backup_nothings_done": "Keine Änderungen zur Speicherung",
|
||||
"backup_output_directory_forbidden": "Wähle ein anderes Ausgabeverzeichnis. Datensicherungen können nicht in /bin, /boot, /dev, /etc, /lib, /root, /run, /sbin, /sys, /usr, /var oder in Unterordnern von /home/yunohost.backup/archives erstellt werden",
|
||||
"backup_output_directory_not_empty": "Der gewählte Ausgabeordner sollte leer sein",
|
||||
"backup_output_directory_required": "Für die Datensicherung muss ein Zielverzeichnis angegeben werden",
|
||||
"backup_running_hooks": "Datensicherunghook wird ausgeführt...",
|
||||
"custom_app_url_required": "Es muss eine URL angegeben werden, um deine benutzerdefinierte App {app:s} zu aktualisieren",
|
||||
"custom_app_url_required": "Sie müssen eine URL angeben, um Ihre benutzerdefinierte App {app} zu aktualisieren",
|
||||
"domain_cert_gen_failed": "Zertifikat konnte nicht erzeugt werden",
|
||||
"domain_created": "Domäne erstellt",
|
||||
"domain_creation_failed": "Konnte Domäne nicht erzeugen",
|
||||
|
@ -46,7 +46,7 @@
|
|||
"domain_dyndns_already_subscribed": "Sie haben sich schon für eine DynDNS-Domäne registriert",
|
||||
"domain_dyndns_root_unknown": "Unbekannte DynDNS Hauptdomain",
|
||||
"domain_exists": "Die Domäne existiert bereits",
|
||||
"domain_uninstall_app_first": "Diese Apps sind noch auf Ihrer Domäne installiert; \n{apps}\n\nBitte deinstallieren Sie sie mit dem Befehl 'yunohost app remove the_app_id' oder verschieben Sie sie mit 'yunohost app change-url the_app_id'",
|
||||
"domain_uninstall_app_first": "Diese Applikationen sind noch auf Ihrer Domäne installiert; \n{apps}\n\nBitte deinstallieren Sie sie mit dem Befehl 'yunohost app remove the_app_id' oder verschieben Sie sie mit 'yunohost app change-url the_app_id'",
|
||||
"domain_unknown": "Unbekannte Domain",
|
||||
"done": "Erledigt",
|
||||
"downloading": "Wird heruntergeladen…",
|
||||
|
@ -54,25 +54,23 @@
|
|||
"dyndns_ip_updated": "Aktualisierung Ihrer IP-Adresse bei DynDNS",
|
||||
"dyndns_key_generating": "Generierung des DNS-Schlüssels..., das könnte eine Weile dauern.",
|
||||
"dyndns_registered": "DynDNS Domain registriert",
|
||||
"dyndns_registration_failed": "DynDNS Domain konnte nicht registriert werden: {error:s}",
|
||||
"dyndns_unavailable": "Die Domäne {domain:s} ist nicht verfügbar.",
|
||||
"dyndns_registration_failed": "DynDNS Domain konnte nicht registriert werden: {error}",
|
||||
"dyndns_unavailable": "Die Domäne {domain} ist nicht verfügbar.",
|
||||
"extracting": "Wird entpackt...",
|
||||
"field_invalid": "Feld '{:s}' ist unbekannt",
|
||||
"field_invalid": "Feld '{}' ist unbekannt",
|
||||
"firewall_reload_failed": "Firewall konnte nicht neu geladen werden",
|
||||
"firewall_reloaded": "Firewall neu geladen",
|
||||
"firewall_rules_cmd_failed": "Einige Befehle für die Firewallregeln sind gescheitert. Mehr Informationen im Log.",
|
||||
"hook_exec_failed": "Konnte Skript nicht ausführen: {path:s}",
|
||||
"hook_exec_not_terminated": "Skript ist nicht normal beendet worden: {path:s}",
|
||||
"hook_exec_failed": "Konnte Skript nicht ausführen: {path}",
|
||||
"hook_exec_not_terminated": "Skript ist nicht normal beendet worden: {path}",
|
||||
"hook_list_by_invalid": "Dieser Wert kann nicht verwendet werden, um Hooks anzuzeigen",
|
||||
"hook_name_unknown": "Hook '{name:s}' ist nicht bekannt",
|
||||
"hook_name_unknown": "Hook '{name}' ist nicht bekannt",
|
||||
"installation_complete": "Installation vollständig",
|
||||
"installation_failed": "Etwas ist mit der Installation falsch gelaufen",
|
||||
"ip6tables_unavailable": "ip6tables kann nicht verwendet werden. Du befindest dich entweder in einem Container oder es wird nicht vom Kernel unterstützt",
|
||||
"iptables_unavailable": "iptables kann nicht verwendet werden. Du befindest dich entweder in einem Container oder es wird nicht vom Kernel unterstützt",
|
||||
"ldap_initialized": "LDAP initialisiert",
|
||||
"mail_alias_remove_failed": "Konnte E-Mail-Alias '{mail:s}' nicht entfernen",
|
||||
"mail_domain_unknown": "Die Domäne '{domain:s}' dieser E-Mail-Adresse ist ungültig. Wähle bitte eine Domäne, welche durch diesen Server verwaltet wird.",
|
||||
"mail_forward_remove_failed": "Die Weiterleitungs-E-Mail '{mail:s}' konnte nicht gelöscht werden",
|
||||
"mail_alias_remove_failed": "Konnte E-Mail-Alias '{mail}' nicht entfernen",
|
||||
"mail_domain_unknown": "Die Domäne '{domain}' dieser E-Mail-Adresse ist ungültig. Wähle bitte eine Domäne, welche durch diesen Server verwaltet wird.",
|
||||
"mail_forward_remove_failed": "Die Weiterleitungs-E-Mail '{mail}' konnte nicht gelöscht werden",
|
||||
"main_domain_change_failed": "Die Hauptdomain konnte nicht geändert werden",
|
||||
"main_domain_changed": "Die Hauptdomain wurde geändert",
|
||||
"packages_upgrade_failed": "Konnte nicht alle Pakete aktualisieren",
|
||||
|
@ -85,137 +83,136 @@
|
|||
"pattern_password": "Muss mindestens drei Zeichen lang sein",
|
||||
"pattern_port_or_range": "Muss ein valider Port (z.B. 0-65535) oder ein Bereich (z.B. 100:200) sein",
|
||||
"pattern_username": "Darf nur aus klein geschriebenen alphanumerischen Zeichen und Unterstrichen bestehen",
|
||||
"port_already_closed": "Der Port {port:d} wurde bereits für {ip_version:s} Verbindungen geschlossen",
|
||||
"port_already_opened": "Der Port {port:d} wird bereits von {ip_version:s} benutzt",
|
||||
"restore_already_installed_app": "Eine Applikation mit der ID '{app:s}' ist bereits installiert",
|
||||
"port_already_closed": "Der Port {port:d} wurde bereits für {ip_version} Verbindungen geschlossen",
|
||||
"port_already_opened": "Der Port {port:d} wird bereits von {ip_version} benutzt",
|
||||
"restore_already_installed_app": "Eine Applikation mit der ID '{app}' ist bereits installiert",
|
||||
"restore_cleaning_failed": "Das temporäre Dateiverzeichnis für Systemrestaurierung konnte nicht gelöscht werden",
|
||||
"restore_complete": "Vollständig wiederhergestellt",
|
||||
"restore_confirm_yunohost_installed": "Möchtest du die Wiederherstellung wirklich starten? [{answers:s}]",
|
||||
"restore_failed": "System kann nicht Wiederhergestellt werden",
|
||||
"restore_hook_unavailable": "Das Wiederherstellungsskript für '{part:s}' steht weder in deinem System noch im Archiv zur Verfügung",
|
||||
"restore_confirm_yunohost_installed": "Möchtest du die Wiederherstellung wirklich starten? [{answers}]",
|
||||
"restore_failed": "Das System konnte nicht wiederhergestellt werden",
|
||||
"restore_hook_unavailable": "Das Wiederherstellungsskript für '{part}' steht weder in Ihrem System noch im Archiv zur Verfügung",
|
||||
"restore_nothings_done": "Nichts wurde wiederhergestellt",
|
||||
"restore_running_app_script": "Wiederherstellung wird ausfeührt für App '{app:s}'...",
|
||||
"restore_running_app_script": "App '{app}' wird wiederhergestellt…",
|
||||
"restore_running_hooks": "Wiederherstellung wird gestartet…",
|
||||
"service_add_failed": "Der Dienst '{service:s}' konnte nicht hinzugefügt werden",
|
||||
"service_added": "Der Dienst '{service:s}' wurde erfolgreich hinzugefügt",
|
||||
"service_already_started": "Der Dienst '{service:s}' läuft bereits",
|
||||
"service_already_stopped": "Der Dienst '{service:s}' wurde bereits gestoppt",
|
||||
"service_cmd_exec_failed": "Der Befehl '{command:s}' konnte nicht ausgeführt werden",
|
||||
"service_disable_failed": "Der Start des Dienstes '{service:s}' beim Hochfahren konnte nicht verhindert werden.\n\nKürzlich erstellte Logs des Dienstes: {logs:s}",
|
||||
"service_disabled": "Der Dienst '{service:s}' wird beim Hochfahren des Systems nicht mehr gestartet werden.",
|
||||
"service_enable_failed": "Der Dienst '{service:s}' konnte beim Hochfahren nicht gestartet werden.\n\nKürzlich erstellte Logs des Dienstes: {logs:s}",
|
||||
"service_enabled": "Der Dienst '{service:s}' wird nun beim Hochfahren des Systems automatisch gestartet.",
|
||||
"service_remove_failed": "Konnte den Dienst '{service:s}' nicht entfernen",
|
||||
"service_removed": "Der Dienst '{service:s}' wurde erfolgreich entfernt",
|
||||
"service_start_failed": "Der Dienst '{service:s}' konnte nicht gestartet werden\n\nKürzlich erstellte Logs des Dienstes: {logs:s}",
|
||||
"service_started": "Der Dienst '{service:s}' wurde erfolgreich gestartet",
|
||||
"service_stop_failed": "Der Dienst '{service:s}' kann nicht gestoppt werden",
|
||||
"service_stopped": "Der Dienst '{service:s}' wurde erfolgreich beendet",
|
||||
"service_unknown": "Unbekannter Dienst '{service:s}'",
|
||||
"ssowat_conf_generated": "Die Konfiguration von SSOwat erstellt",
|
||||
"service_add_failed": "Der Dienst '{service}' konnte nicht hinzugefügt werden",
|
||||
"service_added": "Der Dienst '{service}' wurde erfolgreich hinzugefügt",
|
||||
"service_already_started": "Der Dienst '{service}' läuft bereits",
|
||||
"service_already_stopped": "Der Dienst '{service}' wurde bereits gestoppt",
|
||||
"service_cmd_exec_failed": "Der Befehl '{command}' konnte nicht ausgeführt werden",
|
||||
"service_disable_failed": "Der Start des Dienstes '{service}' beim Hochfahren konnte nicht verhindert werden.\n\nKürzlich erstellte Logs des Dienstes: {logs}",
|
||||
"service_disabled": "Der Dienst '{service}' wird beim Hochfahren des Systems nicht mehr gestartet werden.",
|
||||
"service_enable_failed": "Der Dienst '{service}' konnte beim Hochfahren nicht gestartet werden.\n\nKürzlich erstellte Logs des Dienstes: {logs}",
|
||||
"service_enabled": "Der Dienst '{service}' wird nun beim Hochfahren des Systems automatisch gestartet.",
|
||||
"service_remove_failed": "Konnte den Dienst '{service}' nicht entfernen",
|
||||
"service_removed": "Der Dienst '{service}' wurde erfolgreich entfernt",
|
||||
"service_start_failed": "Der Dienst '{service}' konnte nicht gestartet werden\n\nKürzlich erstellte Logs des Dienstes: {logs}",
|
||||
"service_started": "Der Dienst '{service}' wurde erfolgreich gestartet",
|
||||
"service_stop_failed": "Der Dienst '{service}' kann nicht gestoppt werden\n\nAktuelle Service-Logs: {logs}",
|
||||
"service_stopped": "Der Dienst '{service}' wurde erfolgreich beendet",
|
||||
"service_unknown": "Unbekannter Dienst '{service}'",
|
||||
"ssowat_conf_generated": "Konfiguration von SSOwat neu erstellt",
|
||||
"ssowat_conf_updated": "Die Konfiguration von SSOwat aktualisiert",
|
||||
"system_upgraded": "System aktualisiert",
|
||||
"system_username_exists": "Der Benutzername existiert bereits in der Liste der System-Benutzer",
|
||||
"unbackup_app": "App '{app:s}' konnte nicht gespeichert werden",
|
||||
"unexpected_error": "Ein unerwarteter Fehler ist aufgetreten",
|
||||
"unbackup_app": "'{app}' wird nicht gespeichert werden",
|
||||
"unexpected_error": "Etwas Unerwartetes ist passiert: {error}",
|
||||
"unlimit": "Kein Kontingent",
|
||||
"unrestore_app": "App '{app:s}' kann nicht Wiederhergestellt werden",
|
||||
"unrestore_app": "{app} wird nicht wiederhergestellt werden",
|
||||
"updating_apt_cache": "Die Liste der verfügbaren Pakete wird aktualisiert…",
|
||||
"upgrade_complete": "Upgrade vollständig",
|
||||
"upgrading_packages": "Pakete werden aktualisiert…",
|
||||
"upnp_dev_not_found": "Es konnten keine UPnP Geräte gefunden werden",
|
||||
"upnp_disabled": "UPnP wurde deaktiviert",
|
||||
"upnp_enabled": "UPnP wurde aktiviert",
|
||||
"upnp_port_open_failed": "UPnP Ports konnten nicht geöffnet werden",
|
||||
"user_created": "Der Benutzer wurde erstellt",
|
||||
"user_creation_failed": "Nutzer konnte nicht erstellt werden",
|
||||
"user_deleted": "Der Benutzer wurde entfernt",
|
||||
"user_deletion_failed": "Nutzer konnte nicht gelöscht werden",
|
||||
"user_home_creation_failed": "Benutzer Home konnte nicht erstellt werden",
|
||||
"user_unknown": "Unbekannter Benutzer: {user:s}",
|
||||
"user_update_failed": "Benutzer kann nicht aktualisiert werden",
|
||||
"user_updated": "Der Benutzer wurde aktualisiert",
|
||||
"upnp_disabled": "UPnP deaktiviert",
|
||||
"upnp_enabled": "UPnP aktiviert",
|
||||
"upnp_port_open_failed": "Port konnte nicht via UPnP geöffnet werden",
|
||||
"user_created": "Benutzer erstellt",
|
||||
"user_creation_failed": "Benutzer konnte nicht erstellt werden {user}: {error}",
|
||||
"user_deleted": "Benutzer gelöscht",
|
||||
"user_deletion_failed": "Benutzer konnte nicht gelöscht werden {user}: {error}",
|
||||
"user_home_creation_failed": "Persönlicher Ordner des Benutzers konnte nicht erstellt werden",
|
||||
"user_unknown": "Unbekannter Benutzer: {user}",
|
||||
"user_update_failed": "Benutzer konnte nicht aktualisiert werden {user}: {error}",
|
||||
"user_updated": "Benutzerinformationen wurden aktualisiert",
|
||||
"yunohost_already_installed": "YunoHost ist bereits installiert",
|
||||
"yunohost_configured": "YunoHost wurde konfiguriert",
|
||||
"yunohost_installing": "YunoHost wird installiert…",
|
||||
"yunohost_not_installed": "YunoHost ist nicht oder unvollständig installiert worden. Bitte 'yunohost tools postinstall' ausführen",
|
||||
"app_not_properly_removed": "{app:s} wurde nicht ordnungsgemäß entfernt",
|
||||
"not_enough_disk_space": "Nicht genügend Speicherplatz auf '{path:s}' frei",
|
||||
"yunohost_configured": "YunoHost ist nun konfiguriert",
|
||||
"yunohost_installing": "YunoHost wird installiert...",
|
||||
"yunohost_not_installed": "YunoHost ist nicht oder nur unvollständig installiert worden. Bitte 'yunohost tools postinstall' ausführen",
|
||||
"app_not_properly_removed": "{app} wurde nicht ordnungsgemäß entfernt",
|
||||
"not_enough_disk_space": "Nicht genügend Speicherplatz auf '{path}' frei",
|
||||
"backup_creation_failed": "Konnte Backup-Archiv nicht erstellen",
|
||||
"pattern_positive_number": "Muss eine positive Zahl sein",
|
||||
"app_not_correctly_installed": "{app:s} scheint nicht korrekt installiert zu sein",
|
||||
"app_not_correctly_installed": "{app} scheint nicht korrekt installiert zu sein",
|
||||
"app_requirements_checking": "Überprüfe notwendige Pakete für {app}...",
|
||||
"app_requirements_unmeet": "Anforderungen für {app} werden nicht erfüllt, das Paket {pkgname} ({version}) muss {spec} sein",
|
||||
"app_unsupported_remote_type": "Für die App wurde ein nicht unterstützer Steuerungstyp verwendet",
|
||||
"backup_archive_broken_link": "Auf das Backup-Archiv konnte nicht zugegriffen werden (ungültiger Link zu {path:s})",
|
||||
"backup_archive_broken_link": "Auf das Backup-Archiv konnte nicht zugegriffen werden (ungültiger Link zu {path})",
|
||||
"domains_available": "Verfügbare Domains:",
|
||||
"dyndns_key_not_found": "DNS-Schlüssel für die Domain wurde nicht gefunden",
|
||||
"dyndns_no_domain_registered": "Keine Domain mit DynDNS registriert",
|
||||
"ldap_init_failed_to_create_admin": "Die LDAP-Initialisierung konnte keinen admin-Benutzer erstellen",
|
||||
"mailbox_used_space_dovecot_down": "Der Dovecot-Mailbox-Dienst muss aktiv sein, wenn Sie den von der Mailbox belegten Speicher abrufen wollen",
|
||||
"certmanager_attempt_to_replace_valid_cert": "Du versuchst gerade eine richtiges und gültiges Zertifikat der Domain {domain:s} zu überschreiben! (Benutze --force , um diese Nachricht zu umgehen)",
|
||||
"certmanager_domain_cert_not_selfsigned": "Das Zertifikat der Domain {domain:s} ist kein selbstsigniertes Zertifikat. Sind Sie sich sicher, dass Sie es ersetzen wollen? (Benutzen Sie dafür '--force')",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "Die Aktivierung des neuen Zertifikats für die {domain:s} ist fehlgeschlagen...",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "Das Zertifikat der Domain '{domain:s}' wurde nicht von Let's Encrypt ausgestellt. Es kann nicht automatisch erneuert werden!",
|
||||
"certmanager_attempt_to_renew_valid_cert": "Das Zertifikat der Domain {domain:s} läuft nicht in Kürze ab! (Benutze --force um diese Nachricht zu umgehen)",
|
||||
"certmanager_domain_http_not_working": "Es scheint so, dass die Domain {domain:s} nicht über HTTP erreicht werden kann. Bitte überprüfe, ob deine DNS und nginx Konfiguration in Ordnung ist. (Wenn du weißt was du tust, nutze \"--no-checks\" um die überprüfung zu überspringen.)",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "Der DNS-A-Eintrag der Domain {domain:s} unterscheidet sich von dieser Server-IP. Für weitere Informationen überprüfen Sie bitte die 'DNS records' (basic) Kategorie in der Diagnose. Wenn Sie gerade Ihren A-Eintrag verändert haben, warten Sie bitte etwas, damit die Änderungen wirksam werden (Sie können die DNS-Propagation mittels Website überprüfen) (Wenn Sie wissen was Sie tun, können Sie --no-checks benutzen, um diese Überprüfung zu überspringen.)",
|
||||
"certmanager_cannot_read_cert": "Es ist ein Fehler aufgetreten, als es versucht wurde das aktuelle Zertifikat für die Domain {domain:s} zu öffnen (Datei: {file:s}), Grund: {reason:s}",
|
||||
"certmanager_cert_install_success_selfsigned": "Ein selbstsigniertes Zertifikat für die Domain {domain:s} wurde erfolgreich installiert",
|
||||
"certmanager_cert_install_success": "Let's-Encrypt-Zertifikat für die Domäne {domain:s} ist jetzt installiert",
|
||||
"certmanager_cert_renew_success": "Das Let's Encrypt Zertifikat für die Domain {domain:s} wurde erfolgreich erneuert",
|
||||
"certmanager_hit_rate_limit": "Es wurden innerhalb kurzer Zeit zu viele Zertifikate für dieselbe Domain {domain:s} ausgestellt. Bitte versuchen Sie es später nochmal. Besuchen Sie https://letsencrypt.org/docs/rate-limits/ für mehr Informationen",
|
||||
"certmanager_attempt_to_replace_valid_cert": "Du versuchst gerade eine richtiges und gültiges Zertifikat der Domain {domain} zu überschreiben! (Benutze --force , um diese Nachricht zu umgehen)",
|
||||
"certmanager_domain_cert_not_selfsigned": "Das Zertifikat der Domain {domain} ist kein selbstsigniertes Zertifikat. Sind Sie sich sicher, dass Sie es ersetzen wollen? (Benutzen Sie dafür '--force')",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "Die Aktivierung des neuen Zertifikats für die {domain} ist fehlgeschlagen...",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "Das Zertifikat der Domain '{domain}' wurde nicht von Let's Encrypt ausgestellt. Es kann nicht automatisch erneuert werden!",
|
||||
"certmanager_attempt_to_renew_valid_cert": "Das Zertifikat der Domain {domain} läuft nicht in Kürze ab! (Benutze --force um diese Nachricht zu umgehen)",
|
||||
"certmanager_domain_http_not_working": "Es scheint, als ob die Domäne {domain} nicht über HTTP erreicht werden kann. Bitte überprüfen Sie, ob Ihre DNS- und nginx-Konfiguration in Ordnung ist. (Wenn Sie wissen was Sie tun, nutzen Sie \"--no-checks\" um die Überprüfung zu überspringen.)",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "Der DNS-A-Eintrag der Domain {domain} unterscheidet sich von dieser Server-IP. Für weitere Informationen überprüfen Sie bitte die 'DNS records' (basic) Kategorie in der Diagnose. Wenn Sie gerade Ihren A-Eintrag verändert haben, warten Sie bitte etwas, damit die Änderungen wirksam werden (Sie können die DNS-Propagation mittels Website überprüfen) (Wenn Sie wissen was Sie tun, können Sie --no-checks benutzen, um diese Überprüfung zu überspringen.)",
|
||||
"certmanager_cannot_read_cert": "Es ist ein Fehler aufgetreten, als es versucht wurde das aktuelle Zertifikat für die Domain {domain} zu öffnen (Datei: {file}), Grund: {reason}",
|
||||
"certmanager_cert_install_success_selfsigned": "Das selbstsignierte Zertifikat für die Domäne '{domain}' wurde erfolgreich installiert",
|
||||
"certmanager_cert_install_success": "Let's-Encrypt-Zertifikat für die Domäne {domain} ist jetzt installiert",
|
||||
"certmanager_cert_renew_success": "Das Let's Encrypt Zertifikat für die Domain {domain} wurde erfolgreich erneuert",
|
||||
"certmanager_hit_rate_limit": "Es wurden innerhalb kurzer Zeit zu viele Zertifikate für dieselbe Domäne {domain} ausgestellt. Bitte versuchen Sie es später nochmal. Besuchen Sie https://letsencrypt.org/docs/rate-limits/ für mehr Informationen",
|
||||
"certmanager_cert_signing_failed": "Das neue Zertifikat konnte nicht signiert werden",
|
||||
"certmanager_no_cert_file": "Die Zertifikatsdatei für die Domain {domain:s} (Datei: {file:s}) konnte nicht gelesen werden",
|
||||
"domain_cannot_remove_main": "Die primäre Domain konnten nicht entfernt werden. Lege zuerst einen neue primäre Domain Sie können die Domäne '{domain:s}' nicht entfernen, weil Sie die Hauptdomäne ist. Sie müssen zuerst eine andere Domäne als Hauptdomäne festlegen. Sie können das mit dem Befehl <cmd>'yunohost domain main-domain -n <another-domain></cmd> tun. Hier ist eine Liste der möglichen Domänen: {other_domains:s}",
|
||||
"certmanager_self_ca_conf_file_not_found": "Die Konfigurationsdatei der Zertifizierungsstelle für selbstsignierte Zertifikate wurde nicht gefunden (Datei {file:s})",
|
||||
"certmanager_no_cert_file": "Die Zertifikatsdatei für die Domain {domain} (Datei: {file}) konnte nicht gelesen werden",
|
||||
"domain_cannot_remove_main": "Die primäre Domain konnten nicht entfernt werden. Lege zuerst einen neue primäre Domain Sie können die Domäne '{domain}' nicht entfernen, weil Sie die Hauptdomäne ist. Sie müssen zuerst eine andere Domäne als Hauptdomäne festlegen. Sie können das mit dem Befehl <cmd>'yunohost domain main-domain -n <another-domain></cmd> tun. Hier ist eine Liste der möglichen Domänen: {other_domains}",
|
||||
"certmanager_self_ca_conf_file_not_found": "Die Konfigurationsdatei der Zertifizierungsstelle für selbstsignierte Zertifikate wurde nicht gefunden (Datei {file})",
|
||||
"certmanager_acme_not_configured_for_domain": "Die ACME Challenge kann im Moment nicht für {domain} ausgeführt werden, weil in ihrer nginx conf das entsprechende Code-Snippet fehlt... Bitte stellen Sie sicher, dass Ihre nginx-Konfiguration mit 'yunohost tools regen-conf nginx --dry-run --with-diff' auf dem neuesten Stand ist.",
|
||||
"certmanager_unable_to_parse_self_CA_name": "Der Name der Zertifizierungsstelle für selbstsignierte Zertifikate konnte nicht aufgelöst werden (Datei: {file:s})",
|
||||
"certmanager_unable_to_parse_self_CA_name": "Der Name der Zertifizierungsstelle für selbstsignierte Zertifikate konnte nicht aufgelöst werden (Datei: {file})",
|
||||
"domain_hostname_failed": "Sie können keinen neuen Hostnamen verwenden. Das kann zukünftige Probleme verursachen (es kann auch sein, dass es funktioniert).",
|
||||
"app_already_installed_cant_change_url": "Diese Application ist bereits installiert. Die URL kann durch diese Funktion nicht modifiziert werden. Überprüfe ob `app changeurl` verfügbar ist.",
|
||||
"app_change_url_failed_nginx_reload": "NGINX konnte nicht neu gestartet werden. Hier ist der Output von 'nginx -t':\n{nginx_errors:s}",
|
||||
"app_change_url_identical_domains": "Die alte und neue domain/url_path sind identisch: ('{domain:s} {path:s}'). Es gibt nichts zu tun.",
|
||||
"app_already_up_to_date": "{app:s} ist bereits aktuell",
|
||||
"app_already_installed_cant_change_url": "Diese Applikation ist bereits installiert. Die URL kann durch diese Funktion nicht modifiziert werden. Überprüfe ob `app changeurl` verfügbar ist.",
|
||||
"app_change_url_failed_nginx_reload": "NGINX konnte nicht neu gestartet werden. Hier ist der Output von 'nginx -t':\n{nginx_errors}",
|
||||
"app_change_url_identical_domains": "Die alte und neue domain/url_path sind identisch: ('{domain} {path}'). Es gibt nichts zu tun.",
|
||||
"app_already_up_to_date": "{app} ist bereits aktuell",
|
||||
"backup_abstract_method": "Diese Backup-Methode wird noch nicht unterstützt",
|
||||
"backup_applying_method_tar": "Erstellen des Backup-tar Archives...",
|
||||
"backup_applying_method_copy": "Kopiere alle Dateien ins Backup...",
|
||||
"app_change_url_no_script": "Die Anwendung '{app_name:s}' unterstützt bisher keine URL-Modifikation. Vielleicht sollte sie aktualisiert werden.",
|
||||
"app_location_unavailable": "Diese URL ist nicht verfügbar oder wird von einer installierten Anwendung genutzt:\n{apps:s}",
|
||||
"backup_applying_method_custom": "Rufe die benutzerdefinierte Backup-Methode '{method:s}' auf...",
|
||||
"backup_archive_system_part_not_available": "Der System-Teil '{part:s}' ist in diesem Backup nicht enthalten",
|
||||
"backup_archive_writing_error": "Die Dateien '{source:s} (im Ordner '{dest:s}') konnten nicht in das komprimierte Archiv-Backup '{archive:s}' hinzugefügt werden",
|
||||
"app_change_url_success": "{app:s} URL ist nun {domain:s}{path:s}",
|
||||
"global_settings_bad_type_for_setting": "Falscher Typ der Einstellung {setting:s}. Empfangen: {received_type:s}, aber erwarteter Typ: {expected_type:s}",
|
||||
"global_settings_bad_choice_for_enum": "Wert des Einstellungsparameters {setting:s} ungültig. Der Wert den Sie eingegeben haben: '{choice:s}', die gültigen Werte für diese Einstellung: {available_choices:s}",
|
||||
"file_does_not_exist": "Die Datei {path: s} existiert nicht.",
|
||||
"app_change_url_no_script": "Die Applikation '{app_name}' unterstützt bisher keine URL-Modifikation. Vielleicht sollte sie aktualisiert werden.",
|
||||
"app_location_unavailable": "Diese URL ist nicht verfügbar oder wird von einer installierten Applikation genutzt:\n{apps}",
|
||||
"backup_applying_method_custom": "Rufe die benutzerdefinierte Backup-Methode '{method}' auf...",
|
||||
"backup_archive_system_part_not_available": "Der System-Teil '{part}' ist in diesem Backup nicht enthalten",
|
||||
"backup_archive_writing_error": "Die Dateien '{source} (im Ordner '{dest}') konnten nicht in das komprimierte Archiv-Backup '{archive}' hinzugefügt werden",
|
||||
"app_change_url_success": "{app} URL ist nun {domain}{path}",
|
||||
"global_settings_bad_type_for_setting": "Falscher Typ der Einstellung {setting}. Empfangen: {received_type}, aber erwarteter Typ: {expected_type}",
|
||||
"global_settings_bad_choice_for_enum": "Wert des Einstellungsparameters {setting} ungültig. Der Wert den Sie eingegeben haben: '{choice}', die gültigen Werte für diese Einstellung: {available_choices}",
|
||||
"file_does_not_exist": "Die Datei {path} existiert nicht.",
|
||||
"experimental_feature": "Warnung: Der Maintainer hat diese Funktion als experimentell gekennzeichnet. Sie ist nicht stabil. Sie sollten sie nur verwenden, wenn Sie wissen, was Sie tun.",
|
||||
"dyndns_domain_not_provided": "Der DynDNS-Anbieter {provider:s} kann die Domäne(n) {domain:s} nicht bereitstellen.",
|
||||
"dyndns_could_not_check_available": "Konnte nicht überprüfen, ob {domain:s} auf {provider:s} verfügbar ist.",
|
||||
"dyndns_could_not_check_provide": "Konnte nicht überprüft, ob {provider:s} die Domain(s) {domain:s} bereitstellen kann.",
|
||||
"domain_dns_conf_is_just_a_recommendation": "Dieser Befehl zeigt Ihnen die * empfohlene * Konfiguration. Die DNS-Konfiguration wird NICHT für Sie eingerichtet. Es liegt in Ihrer Verantwortung, Ihre DNS-Zone in Ihrem Registrar gemäß dieser Empfehlung zu konfigurieren.",
|
||||
"dyndns_domain_not_provided": "Der DynDNS-Anbieter {provider} kann die Domäne(n) {domain} nicht bereitstellen.",
|
||||
"dyndns_could_not_check_available": "Konnte nicht überprüfen, ob {domain} auf {provider} verfügbar ist.",
|
||||
"dyndns_could_not_check_provide": "Konnte nicht überprüft, ob {provider} die Domain(s) {domain} bereitstellen kann.",
|
||||
"domain_dns_conf_is_just_a_recommendation": "Dieser Befehl zeigt dir die *empfohlene* Konfiguration. Er konfiguriert *nicht* das DNS für dich. Es liegt in deiner Verantwortung, die DNS-Zone bei deinem DNS-Registrar nach dieser Empfehlung zu konfigurieren.",
|
||||
"dpkg_lock_not_available": "Dieser Befehl kann momentan nicht ausgeführt werden, da anscheinend ein anderes Programm die Sperre von dpkg (dem Systempaket-Manager) verwendet",
|
||||
"confirm_app_install_thirdparty": "WARNUNG! Diese App ist nicht Teil von YunoHosts App-Katalog. Das Installieren von Drittanbieteranwendungen könnte die Sicherheit und Integrität des System beeinträchtigen. Sie sollten wahrscheinlich NICHT fortfahren, es sei denn, Sie wissen, was Sie tun. Es wird KEIN SUPPORT zur Verfügung stehen, wenn die App nicht funktioniert oder das System zerstört... Wenn Sie das Risiko trotzdem eingehen möchten, tippen Sie '{answers:s}'",
|
||||
"confirm_app_install_danger": "WARNUNG! Diese Anwendung ist noch experimentell (wenn nicht ausdrücklich \"not working\"/\"nicht funktionsfähig\")! Sie sollten sie wahrscheinlich NICHT installieren, es sei denn, Sie wißen, was Sie tun. Es wird keine Unterstützung geleistet, falls diese Anwendung nicht funktioniert oder Ihr System zerstört... Falls Sie bereit bist, dieses Risiko einzugehen, tippe '{answers:s}'",
|
||||
"confirm_app_install_warning": "Warnung: Diese Anwendung funktioniert möglicherweise, ist jedoch nicht gut in YunoHost integriert. Einige Funktionen wie Single Sign-On und Backup / Restore sind möglicherweise nicht verfügbar. Trotzdem installieren? [{answers:s}] ",
|
||||
"backup_with_no_restore_script_for_app": "{app:s} hat kein Wiederherstellungsskript. Das Backup dieser App kann nicht automatisch wiederhergestellt werden.",
|
||||
"backup_with_no_backup_script_for_app": "Die App {app:s} hat kein Sicherungsskript. Ignoriere es.",
|
||||
"confirm_app_install_thirdparty": "WARNUNG! Diese Applikation ist nicht Teil des YunoHost-Applikationskatalogs. Das Installieren von Drittanbieterapplikationen könnte die Sicherheit und Integrität Ihres Systems beeinträchtigen. Sie sollten wahrscheinlich NICHT fortfahren, es sei denn, Sie wissen, was Sie tun. Es wird KEIN SUPPORT angeboten, wenn die Applikation nicht funktionieren oder Ihr System beschädigen sollte... Wenn Sie das Risiko trotzdem eingehen möchten, tippen Sie '{answers}'",
|
||||
"confirm_app_install_danger": "WARNUNG! Diese Applikation ist noch experimentell (wenn nicht ausdrücklich nicht funktionsfähig)! Sie sollten Sie wahrscheinlich NICHT installieren, es sei denn, Sie wissen, was Sie tun. Es wird keine Unterstützung angeboten, falls diese Applikation nicht funktionieren oder Ihr System beschädigen sollte... Falls Sie bereit sind, dieses Risiko einzugehen, tippen Sie '{answers}'",
|
||||
"confirm_app_install_warning": "Warnung: Diese Applikation funktioniert möglicherweise, ist jedoch nicht gut in YunoHost integriert. Einige Funktionen wie Single Sign-On und Backup / Restore sind möglicherweise nicht verfügbar. Trotzdem installieren? [{answers}] ",
|
||||
"backup_with_no_restore_script_for_app": "{app} hat kein Wiederherstellungsskript. Das Backup dieser App kann nicht automatisch wiederhergestellt werden.",
|
||||
"backup_with_no_backup_script_for_app": "Die App {app} hat kein Sicherungsskript. Ignoriere es.",
|
||||
"backup_unable_to_organize_files": "Dateien im Archiv konnten nicht mit der schnellen Methode organisiert werden",
|
||||
"backup_system_part_failed": "Der Systemteil '{part:s}' konnte nicht gesichert werden",
|
||||
"backup_permission": "Sicherungsberechtigung für {app:s}",
|
||||
"backup_output_symlink_dir_broken": "Ihr Archivverzeichnis '{path:s}' ist ein fehlerhafter Symlink. Vielleicht haben Sie vergessen, das Speichermedium, auf das er verweist, neu zu mounten oder einzustecken.",
|
||||
"backup_system_part_failed": "Der Systemteil '{part}' konnte nicht gesichert werden",
|
||||
"backup_permission": "Sicherungsberechtigung für {app}",
|
||||
"backup_output_symlink_dir_broken": "Ihr Archivverzeichnis '{path}' ist ein fehlerhafter Symlink. Vielleicht haben Sie vergessen, das Speichermedium, auf das er verweist, neu zu mounten oder einzustecken.",
|
||||
"backup_mount_archive_for_restore": "Archiv für Wiederherstellung vorbereiten...",
|
||||
"backup_method_tar_finished": "Tar-Backup-Archiv erstellt",
|
||||
"backup_method_custom_finished": "Benutzerdefinierte Sicherungsmethode '{method:s}' beendet",
|
||||
"backup_method_custom_finished": "Benutzerdefinierte Sicherungsmethode '{method}' beendet",
|
||||
"backup_method_copy_finished": "Sicherungskopie beendet",
|
||||
"backup_custom_mount_error": "Bei der benutzerdefinierten Sicherungsmethode ist beim Arbeitsschritt \"Einhängen/Verbinden\" ein Fehler aufgetreten",
|
||||
"backup_custom_backup_error": "Bei der benutzerdefinierten Sicherungsmethode ist beim Arbeitsschritt \"Sicherung\" ein Fehler aufgetreten",
|
||||
"backup_csv_creation_failed": "Die zur Wiederherstellung erforderliche CSV-Datei kann nicht erstellt werden",
|
||||
"backup_couldnt_bind": "{src:s} konnte nicht an {dest:s} angebunden werden.",
|
||||
"backup_ask_for_copying_if_needed": "Möchten Sie die Sicherung mit {size:s}MB temporär durchführen? (Dieser Weg wird verwendet, da einige Dateien nicht mit einer effizienteren Methode vorbereitet werden konnten.)",
|
||||
"backup_couldnt_bind": "{src} konnte nicht an {dest} angebunden werden.",
|
||||
"backup_ask_for_copying_if_needed": "Möchten Sie die Sicherung mit {size}MB temporär durchführen? (Dieser Weg wird verwendet, da einige Dateien nicht mit einer effizienteren Methode vorbereitet werden konnten.)",
|
||||
"backup_actually_backuping": "Erstellt ein Backup-Archiv aus den gesammelten Dateien...",
|
||||
"ask_new_path": "Neuer Pfad",
|
||||
"ask_new_domain": "Neue Domain",
|
||||
"app_upgrade_some_app_failed": "Einige Anwendungen können nicht aktualisiert werden",
|
||||
"app_upgrade_some_app_failed": "Einige Applikationen können nicht aktualisiert werden",
|
||||
"app_upgrade_app_name": "{app} wird jetzt aktualisiert...",
|
||||
"app_upgrade_several_apps": "Die folgenden Apps werden aktualisiert: {apps}",
|
||||
"app_start_restore": "{app} wird wiederhergestellt...",
|
||||
|
@ -230,49 +227,49 @@
|
|||
"admin_password_too_long": "Bitte ein Passwort kürzer als 127 Zeichen wählen",
|
||||
"app_action_broke_system": "Diese Aktion scheint diese wichtigen Dienste unterbrochen zu haben: {services}",
|
||||
"apps_already_up_to_date": "Alle Apps sind bereits aktuell",
|
||||
"backup_copying_to_organize_the_archive": "Kopieren von {size:s} MB, um das Archiv zu organisieren",
|
||||
"global_settings_setting_security_ssh_compatibility": "Kompatibilität vs. Sicherheitskompromiss für den SSH-Server. Beeinflusst die Chiffren (und andere sicherheitsrelevante Aspekte)",
|
||||
"backup_copying_to_organize_the_archive": "Kopieren von {size} MB, um das Archiv zu organisieren",
|
||||
"global_settings_setting_security_ssh_compatibility": "Kompatibilitäts- vs. Sicherheits-Kompromiss für den SSH-Server. Betrifft die Ciphers (und andere sicherheitsrelevante Aspekte)",
|
||||
"group_deleted": "Gruppe '{group}' gelöscht",
|
||||
"group_deletion_failed": "Konnte Gruppe '{group}' nicht löschen",
|
||||
"dyndns_provider_unreachable": "DynDNS-Anbieter {provider} kann nicht erreicht werden: Entweder ist dein YunoHost nicht korrekt mit dem Internet verbunden oder der Dynette-Server ist ausgefallen.",
|
||||
"group_deletion_failed": "Konnte Gruppe '{group}' nicht löschen: {error}",
|
||||
"dyndns_provider_unreachable": "DynDNS-Anbieter {provider} kann nicht erreicht werden: Entweder ist Ihr YunoHost nicht korrekt mit dem Internet verbunden oder der Dynette-Server ist ausgefallen.",
|
||||
"group_created": "Gruppe '{group}' angelegt",
|
||||
"group_creation_failed": "Konnte Gruppe '{group}' nicht anlegen",
|
||||
"group_unknown": "Die Gruppe '{group:s}' ist unbekannt",
|
||||
"group_updated": "Gruppe '{group:s}' erneuert",
|
||||
"group_update_failed": "Kann Gruppe '{group:s}' nicht aktualisieren: {error}",
|
||||
"group_unknown": "Die Gruppe '{group}' ist unbekannt",
|
||||
"group_updated": "Gruppe '{group}' erneuert",
|
||||
"group_update_failed": "Kann Gruppe '{group}' nicht aktualisieren: {error}",
|
||||
"log_does_exists": "Es gibt kein Operationsprotokoll mit dem Namen'{log}', verwende 'yunohost log list', um alle verfügbaren Operationsprotokolle anzuzeigen",
|
||||
"log_operation_unit_unclosed_properly": "Die Operationseinheit wurde nicht richtig geschlossen",
|
||||
"global_settings_setting_security_postfix_compatibility": "Kompatibilität vs. Sicherheitskompromiss für den Postfix-Server. Beeinflusst die Chiffren (und andere sicherheitsrelevante Aspekte)",
|
||||
"global_settings_unknown_type": "Unerwartete Situation, die Einstellung {setting:s} scheint den Typ {unknown_type:s} zu haben, ist aber kein vom System unterstützter Typ.",
|
||||
"global_settings_setting_security_postfix_compatibility": "Kompatibilitäts- vs. Sicherheits-Kompromiss für den Postfix-Server. Betrifft die Ciphers (und andere sicherheitsrelevante Aspekte)",
|
||||
"global_settings_unknown_type": "Unerwartete Situation, die Einstellung {setting} scheint den Typ {unknown_type} zu haben, ist aber kein vom System unterstützter Typ.",
|
||||
"dpkg_is_broken": "Du kannst das gerade nicht tun, weil dpkg/APT (der Systempaketmanager) in einem defekten Zustand zu sein scheint.... Du kannst versuchen, dieses Problem zu lösen, indem du dich über SSH verbindest und `sudo apt install --fix-broken` sowie/oder `sudo dpkg --configure -a` ausführst.",
|
||||
"global_settings_unknown_setting_from_settings_file": "Unbekannter Schlüssel in den Einstellungen: '{setting_key:s}', verwerfen und speichern in /etc/yunohost/settings-unknown.json",
|
||||
"global_settings_unknown_setting_from_settings_file": "Unbekannter Schlüssel in den Einstellungen: '{setting_key}', verwerfen und speichern in /etc/yunohost/settings-unknown.json",
|
||||
"log_link_to_log": "Vollständiges Log dieser Operation: '<a href=\"#/tools/logs/{name}\" style=\"text-decoration:underline\">{desc}</a>'",
|
||||
"log_help_to_get_log": "Um das Protokoll der Operation '{desc}' anzuzeigen, verwende den Befehl 'yunohost log show {name}{name}'",
|
||||
"global_settings_setting_security_nginx_compatibility": "Kompatibilität vs. Sicherheitskompromiss für den Webserver NGINX. Beeinflusst die Chiffren (und andere sicherheitsrelevante Aspekte)",
|
||||
"log_help_to_get_log": "Um das Protokoll der Operation '{desc}' anzuzeigen, verwenden Sie den Befehl 'yunohost log show {name}{name}'",
|
||||
"global_settings_setting_security_nginx_compatibility": "Kompatibilitäts- vs. Sicherheits-Kompromiss für den Webserver NGINX. Betrifft die Ciphers (und andere sicherheitsrelevante Aspekte)",
|
||||
"global_settings_setting_service_ssh_allow_deprecated_dsa_hostkey": "Erlaubt die Verwendung eines (veralteten) DSA-Hostkeys für die SSH-Daemon-Konfiguration",
|
||||
"log_app_remove": "Entferne die Applikation '{}'",
|
||||
"global_settings_cant_open_settings": "Einstellungsdatei konnte nicht geöffnet werden, Grund: {reason:s}",
|
||||
"global_settings_cant_write_settings": "Einstellungsdatei konnte nicht gespeichert werden, Grund: {reason:s}",
|
||||
"global_settings_cant_open_settings": "Einstellungsdatei konnte nicht geöffnet werden, Grund: {reason}",
|
||||
"global_settings_cant_write_settings": "Einstellungsdatei konnte nicht gespeichert werden, Grund: {reason}",
|
||||
"log_app_install": "Installiere die Applikation '{}'",
|
||||
"global_settings_reset_success": "Frühere Einstellungen werden nun auf {path:s} gesichert",
|
||||
"global_settings_reset_success": "Frühere Einstellungen werden nun auf {path} gesichert",
|
||||
"log_app_upgrade": "Upgrade der Applikation '{}'",
|
||||
"good_practices_about_admin_password": "Sie sind nun dabei, ein neues Administrationspasswort zu definieren. Das Passwort sollte mindestens 8 Zeichen lang sein, obwohl es sinnvoll ist, ein längeres Passwort (z.B. eine Passphrase) und/oder eine Variation von Zeichen (Groß- und Kleinschreibung, Ziffern und Sonderzeichen) zu verwenden.",
|
||||
"good_practices_about_admin_password": "Du bist nun dabei, ein neues Administratorpasswort zu definieren. Das Passwort sollte mindestens 8 Zeichen lang sein - es ist jedoch empfehlenswert, ein längeres Passwort (z.B. eine Passphrase) und/oder verschiedene Arten von Zeichen (Groß- und Kleinschreibung, Ziffern und Sonderzeichen) zu verwenden.",
|
||||
"log_corrupted_md_file": "Die mit Protokollen verknüpfte YAML-Metadatendatei ist beschädigt: '{md_file}\nFehler: {error}''",
|
||||
"global_settings_cant_serialize_settings": "Einstellungsdaten konnten nicht serialisiert werden, Grund: {reason:s}",
|
||||
"global_settings_cant_serialize_settings": "Einstellungsdaten konnten nicht serialisiert werden, Grund: {reason}",
|
||||
"log_help_to_get_failed_log": "Der Vorgang'{desc}' konnte nicht abgeschlossen werden. Bitte teile das vollständige Protokoll dieser Operation mit dem Befehl 'yunohost log share {name}', um Hilfe zu erhalten",
|
||||
"backup_no_uncompress_archive_dir": "Dieses unkomprimierte Archivverzeichnis gibt es nicht",
|
||||
"log_app_change_url": "Ändere die URL der Applikation '{}'",
|
||||
"global_settings_setting_security_password_user_strength": "Stärke des Benutzerpassworts",
|
||||
"good_practices_about_user_password": "Sie sind dabei, ein neues Benutzerpasswort zu definieren. Das Passwort sollte mindestens 8 Zeichen lang sein, obwohl es ratsam ist, ein längeres Passwort (z.B. eine Passphrase) und/oder eine Variation von Zeichen (Groß- und Kleinschreibung, Ziffern und Sonderzeichen) zu verwenden.",
|
||||
"good_practices_about_user_password": "Du bist nun dabei, ein neues Nutzerpasswort zu definieren. Das Passwort sollte mindestens 8 Zeichen lang sein - es ist jedoch empfehlenswert, ein längeres Passwort (z.B. eine Passphrase) und/oder verschiedene Arten von Zeichen (Groß- und Kleinschreibung, Ziffern und Sonderzeichen) zu verwenden.",
|
||||
"log_link_to_failed_log": "Der Vorgang konnte nicht abgeschlossen werden '{desc}'. Bitte gib das vollständige Protokoll dieser Operation mit <a href=\"#/tools/logs/{name}\">Klicken Sie hier</a> an, um Hilfe zu erhalten",
|
||||
"backup_cant_mount_uncompress_archive": "Das unkomprimierte Archiv konnte nicht als schreibgeschützt gemountet werden",
|
||||
"backup_csv_addition_failed": "Es konnten keine Dateien zur Sicherung in die CSV-Datei hinzugefügt werden",
|
||||
"global_settings_setting_security_password_admin_strength": "Stärke des Admin-Passworts",
|
||||
"global_settings_key_doesnt_exists": "Der Schlüssel'{settings_key:s}' existiert nicht in den globalen Einstellungen, du kannst alle verfügbaren Schlüssel sehen, indem du 'yunohost settings list' ausführst",
|
||||
"global_settings_key_doesnt_exists": "Der Schlüssel'{settings_key}' existiert nicht in den globalen Einstellungen, du kannst alle verfügbaren Schlüssel sehen, indem du 'yunohost settings list' ausführst",
|
||||
"log_app_makedefault": "Mache '{}' zur Standard-Applikation",
|
||||
"hook_json_return_error": "Konnte die Rückkehr vom Einsprungpunkt {path:s} nicht lesen. Fehler: {msg:s}. Unformatierter Inhalt: {raw_content}",
|
||||
"app_full_domain_unavailable": "Es tut uns leid, aber diese Anwendung erfordert die Installation auf einer eigenen Domain, aber einige andere Anwendungen sind bereits auf der Domäne'{domain}' installiert. Eine mögliche Lösung ist das Hinzufügen und Verwenden einer Subdomain, die dieser Anwendung zugeordnet ist.",
|
||||
"app_install_failed": "{app} kann nicht installiert werden: {error}",
|
||||
"hook_json_return_error": "Konnte die Rückkehr vom Einsprungpunkt {path} nicht lesen. Fehler: {msg}. Unformatierter Inhalt: {raw_content}",
|
||||
"app_full_domain_unavailable": "Es tut uns leid, aber diese Applikation erfordert die Installation auf einer eigenen Domain, aber einige andere Applikationen sind bereits auf der Domäne'{domain}' installiert. Eine mögliche Lösung ist das Hinzufügen und Verwenden einer Subdomain, die dieser Applikation zugeordnet ist.",
|
||||
"app_install_failed": "Installation von {app} fehlgeschlagen: {error}",
|
||||
"app_install_script_failed": "Im Installationsscript ist ein Fehler aufgetreten",
|
||||
"app_remove_after_failed_install": "Entfernen der App nach fehlgeschlagener Installation...",
|
||||
"app_upgrade_script_failed": "Es ist ein Fehler im App-Upgrade-Skript aufgetreten",
|
||||
|
@ -296,11 +293,11 @@
|
|||
"diagnosis_ip_no_ipv6": "Der Server hat kein funktionierendes IPv6.",
|
||||
"diagnosis_ip_not_connected_at_all": "Der Server scheint überhaupt nicht mit dem Internet verbunden zu sein!?",
|
||||
"diagnosis_failed_for_category": "Diagnose fehlgeschlagen für die Kategorie '{category}': {error}",
|
||||
"diagnosis_cache_still_valid": "(Cache noch gültig für {category} Diagnose. Werde keine neue Diagnose durchführen!)",
|
||||
"diagnosis_cache_still_valid": "(Der Cache für die Diagnose {category} ist immer noch gültig . Es wird momentan keine neue Diagnose durchgeführt!)",
|
||||
"diagnosis_cant_run_because_of_dep": "Kann Diagnose für {category} nicht ausführen während wichtige Probleme zu {dep} noch nicht behoben sind.",
|
||||
"diagnosis_found_errors_and_warnings": "Habe {errors} erhebliche(s) Problem(e) (und {warnings} Warnung(en)) in Verbindung mit {category} gefunden!",
|
||||
"diagnosis_ip_broken_dnsresolution": "Domänen-Namens-Auflösung scheint aus einem bestimmten Grund nicht zu funktionieren... Blockiert eine Firewall die DNS Anfragen?",
|
||||
"diagnosis_ip_broken_resolvconf": "Domänen-Namens-Auflösung scheint nicht zu funktionieren, was daran liegen könnte, dass in <code>/etc/resolv.conf</> kein Eintrag auf <code>127.0.0.1</code> zeigt.",
|
||||
"diagnosis_ip_broken_resolvconf": "Domänen-Namensauflösung scheint nicht zu funktionieren, was daran liegen könnte, dass in <code>/etc/resolv.conf</code> kein Eintrag auf <code>127.0.0.1</code> zeigt.",
|
||||
"diagnosis_ip_weird_resolvconf_details": "Die Datei <code>/etc/resolv.conf</code> muss ein Symlink auf <code>/etc/resolvconf/run/resolv.conf</code> sein, welcher auf <code>127.0.0.1</code> (dnsmasq) zeigt. Falls Sie die DNS-Resolver manuell konfigurieren möchten, bearbeiten Sie bitte <code>/etc/resolv.dnsmasq.conf</code>.",
|
||||
"diagnosis_dns_good_conf": "Die DNS-Einträge für die Domäne {domain} (Kategorie {category}) sind korrekt konfiguriert",
|
||||
"diagnosis_ignored_issues": "(+ {nb_ignored} ignorierte(s) Problem(e))",
|
||||
|
@ -313,7 +310,7 @@
|
|||
"backup_archive_corrupted": "Das Backup-Archiv '{archive}' scheint beschädigt: {error}",
|
||||
"backup_archive_cant_retrieve_info_json": "Die Informationen für das Archiv '{archive}' konnten nicht geladen werden... Die Datei info.json wurde nicht gefunden (oder ist kein gültiges json).",
|
||||
"app_packaging_format_not_supported": "Diese App kann nicht installiert werden da das Paketformat nicht von der YunoHost-Version unterstützt wird. Denken Sie darüber nach das System zu aktualisieren.",
|
||||
"certmanager_domain_not_diagnosed_yet": "Für die Domäne {domain} gibt es noch keine Diagnoseresultate. Bitte wiederholen Sie die Diagnose für die Kategorien 'DNS-Einträge' und 'Web' im Diagnose-Bereich um zu überprüfen ob die Domäne für Let's Encrypt bereit ist. (Oder wenn Sie wissen was Sie tun, verwenden Sie '--no-checks' um diese Überprüfungen abzuschalten.",
|
||||
"certmanager_domain_not_diagnosed_yet": "Für die Domain {domain} gibt es noch keine Diagnose-Resultate. Bitte widerhole die Diagnose für die Kategorien 'DNS records' und 'Web' im Diagnose-Bereich um zu überprüfen ob die Domain für Let's Encrypt bereit ist. (Wenn du weißt was du tust, kannst du --no-checks benutzen, um diese Überprüfung zu überspringen.)",
|
||||
"migration_0015_patching_sources_list": "sources.lists wird repariert...",
|
||||
"migration_0015_start": "Start der Migration auf Buster",
|
||||
"migration_description_0015_migrate_to_buster": "Auf Debian Buster und YunoHost 4.x upgraden",
|
||||
|
@ -322,10 +319,10 @@
|
|||
"diagnosis_services_running": "Dienst {service} läuft!",
|
||||
"diagnosis_domain_expires_in": "{domain} läuft in {days} Tagen ab.",
|
||||
"diagnosis_domain_expiration_error": "Einige Domänen werden SEHR BALD ablaufen!",
|
||||
"diagnosis_domain_expiration_success": "Deine Domänen sind registriert und werden in nächster Zeit nicht ablaufen.",
|
||||
"diagnosis_domain_expiration_success": "Ihre Domänen sind registriert und werden in nächster Zeit nicht ablaufen.",
|
||||
"diagnosis_domain_not_found_details": "Die Domäne {domain} existiert nicht in der WHOIS-Datenbank oder sie ist abgelaufen!",
|
||||
"diagnosis_domain_expiration_not_found": "Das Ablaufdatum einiger Domains kann nicht überprüft werden",
|
||||
"diagnosis_dns_try_dyndns_update_force": "Die DNS-Konfiguration dieser Domäne sollte automatisch von Yunohost verwaltet werden. Andernfalls können Sie mittels <cmd>yunohost dyndns update --force</cmd> ein Update erzwingen.",
|
||||
"diagnosis_dns_try_dyndns_update_force": "Die DNS-Konfiguration dieser Domain sollte automatisch von YunoHost verwaltet werden. Andernfalls können Sie mittels <cmd>yunohost dyndns update --force</cmd> ein Update erzwingen.",
|
||||
"diagnosis_dns_point_to_doc": "Bitte schauen Sie in die Dokumentation unter <a href='https://yunohost.org/dns_config'>https://yunohost.org/dns_config</a> wenn Sie Hilfe bei der Konfiguration der DNS-Einträge brauchen.",
|
||||
"diagnosis_dns_discrepancy": "Der folgende DNS-Eintrag scheint nicht den empfohlenen Einstellungen zu entsprechen: <br>Typ: <code>{type}</code><br>Name: <code>{name}</code><br> Aktueller Wert: <code>{current}</code><br> Erwarteter Wert: <code>{value}</code>",
|
||||
"diagnosis_dns_missing_record": "Gemäß der empfohlenen DNS-Konfiguration sollten Sie einen DNS-Eintrag mit den folgenden Informationen hinzufügen.<br>Typ: <code>{type}</code><br>Name: <code>{name}</code><br>Wert: <code>{value}</code>",
|
||||
|
@ -337,12 +334,12 @@
|
|||
"diagnosis_services_bad_status": "Der Dienst {service} ist {status} :(",
|
||||
"diagnosis_diskusage_verylow": "Der Speicher <code>{mountpoint}</code> (auf Gerät <code>{device}</code>) hat nur noch {free} ({free_percent}%) freien Speicherplatz (von ingesamt {total}). Sie sollten sich ernsthaft überlegen, einigen Seicherplatz frei zu machen!",
|
||||
"diagnosis_http_ok": "Die Domäne {domain} ist über HTTP von außerhalb des lokalen Netzwerks erreichbar.",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_relay_vpn": "Einige Hosting-Anbieter werden es Ihnen nicht gestatten, den ausgehenden Port 25 zu öffnen, da diese sich nicht um die Netzneutralität kümmern.<br>- Einige davon bieten als Alternative an, <a href='https://yunohost.org/#/smtp_relay'>ein Mailserver-Relay zu verwenden</a>, was jedoch bedeutet, dass das Relay Ihren E-Mail-Verkehr ausspionieren kann.<br>- Eine die Privatsphäre berücksichtigende Alternative ist die Verwendung eines VPN *mit einer dedizierten öffentlichen IP* um solche Einschränkungen zu umgehen. Schauen Sie unter <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a> nach.<br>- Sie können auch in Betracht ziehen, zu einem <a href='https://yunohost.org/#/isp'>netzneutralitätfreundlicheren Anbieter</a> zu wechseln.",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_relay_vpn": "Einige Hosting-Anbieter werden es Ihnen nicht gestatten, den ausgehenden Port 25 zu öffnen, da diese sich nicht um die Netzneutralität kümmern.<br>- Einige davon bieten als Alternative an, <a href='https://yunohost.org/#/email_configure_relay'>ein Mailserver-Relay zu verwenden</a>, was jedoch bedeutet, dass das Relay Ihren E-Mail-Verkehr ausspionieren kann.<br>- Eine die Privatsphäre berücksichtigende Alternative ist die Verwendung eines VPN *mit einer dedizierten öffentlichen IP* um solche Einschränkungen zu umgehen. Schauen Sie unter <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a> nach.<br>- Sie können auch in Betracht ziehen, zu einem <a href='https://yunohost.org/#/isp'>netzneutralitätfreundlicheren Anbieter</a> zu wechseln",
|
||||
"diagnosis_http_timeout": "Wartezeit wurde beim Versuch, von außen eine Verbindung zum Server aufzubauen, überschritten. Er scheint nicht erreichbar zu sein.<br>1. Die häufigste Ursache für dieses Problem ist daß der Port 80 (und 433) <a href='https://yunohost.org/isp_box_config'>nicht richtig zu Ihrem Server weitergeleitet werden</a>.<br>2. Sie sollten auch sicherstellen, daß der Dienst nginx läuft.<br>3. In komplexeren Umgebungen: Stellen Sie sicher, daß keine Firewall oder Reverse-Proxy stört.",
|
||||
"service_reloaded_or_restarted": "Der Dienst '{service:s}' wurde erfolgreich neu geladen oder gestartet",
|
||||
"service_restarted": "Der Dienst '{service:s}' wurde neu gestartet",
|
||||
"service_reloaded_or_restarted": "Der Dienst '{service}' wurde erfolgreich neu geladen oder gestartet",
|
||||
"service_restarted": "Der Dienst '{service}' wurde neu gestartet",
|
||||
"service_regen_conf_is_deprecated": "'yunohost service regen-conf' ist veraltet! Bitte verwenden Sie stattdessen 'yunohost tools regen-conf'.",
|
||||
"certmanager_warning_subdomain_dns_record": "Die Subdomäne \"{subdomain:s}\" löst nicht zur gleichen IP Adresse auf wie \"{domain:s}\". Einige Funktionen sind nicht verfügbar bis du dies behebst und die Zertifikate neu erzeugst.",
|
||||
"certmanager_warning_subdomain_dns_record": "Die Subdomäne \"{subdomain}\" löst nicht zur gleichen IP Adresse auf wie \"{domain}\". Einige Funktionen sind nicht verfügbar bis du dies behebst und die Zertifikate neu erzeugst.",
|
||||
"diagnosis_ports_ok": "Port {port} ist von außen erreichbar.",
|
||||
"diagnosis_ram_verylow": "Das System hat nur {available} ({available_percent}%) RAM zur Verfügung! (von insgesamt {total})",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_details": "Sie sollten zuerst versuchen den ausgehenden Port 25 auf Ihrer Router-Konfigurationsoberfläche oder Ihrer Hosting-Anbieter-Konfigurationsoberfläche zu öffnen. (Bei einigen Hosting-Anbieter kann es sein, daß Sie verlangen, daß man dafür ein Support-Ticket sendet).",
|
||||
|
@ -356,8 +353,8 @@
|
|||
"diagnosis_mail_ehlo_unreachable": "Der SMTP-Server ist von außen nicht erreichbar per IPv{ipversion}. Er wird nicht in der Lage sein E-Mails zu empfangen.",
|
||||
"diagnosis_diskusage_low": "Der Speicher <code>{mountpoint}</code> (auf Gerät <code>{device}</code>) hat nur noch {free} ({free_percent}%) freien Speicherplatz (von insgesamt {total}). Seien Sie vorsichtig.",
|
||||
"diagnosis_ram_low": "Das System hat nur {available} ({available_percent}%) RAM zur Verfügung! (von insgesamt {total}). Seien Sie vorsichtig.",
|
||||
"service_reload_or_restart_failed": "Der Dienst '{service:s}' konnte nicht erneut geladen oder gestartet werden.\n\nKürzlich erstellte Logs des Dienstes: {logs:s}",
|
||||
"diagnosis_domain_expiration_not_found_details": "Die WHOIS-Informationen für die Domäne {domain} scheint keine Informationen über das Ablaufdatum zu enthalten.",
|
||||
"service_reload_or_restart_failed": "Der Dienst '{service}' konnte nicht erneut geladen oder gestartet werden.\n\nKürzlich erstellte Logs des Dienstes: {logs}",
|
||||
"diagnosis_domain_expiration_not_found_details": "Die WHOIS-Informationen für die Domäne {domain} scheint keine Informationen über das Ablaufdatum zu enthalten?",
|
||||
"diagnosis_domain_expiration_warning": "Einige Domänen werden bald ablaufen!",
|
||||
"diagnosis_diskusage_ok": "Der Speicher <code>{mountpoint}</code> (auf Gerät <code>{device}</code>) hat immer noch {free} ({free_percent}%) freien Speicherplatz übrig(von insgesamt {total})!",
|
||||
"diagnosis_ram_ok": "Das System hat immer noch {available} ({available_percent}%) RAM zu Verfügung von {total}.",
|
||||
|
@ -365,9 +362,9 @@
|
|||
"diagnosis_mail_ehlo_unreachable_details": "Konnte keine Verbindung zu Ihrem Server auf dem Port 25 herzustellen per IPv{ipversion}. Er scheint nicht erreichbar zu sein.<br>1. Das häufigste Problem ist, dass der Port 25 <a href='https://yunohost.org/isp_box_config'>nicht richtig zu Ihrem Server weitergeleitet ist</a>.<br>2. Sie sollten auch sicherstellen, dass der Postfix-Dienst läuft.<br>3. In komplexeren Umgebungen: Stellen Sie sicher, daß keine Firewall oder Reverse-Proxy stört.",
|
||||
"diagnosis_mail_ehlo_wrong": "Ein anderer SMTP-Server antwortet auf IPv{ipversion}. Ihr Server wird wahrscheinlich nicht in der Lage sein, E-Mails zu empfangen.",
|
||||
"migration_description_0018_xtable_to_nftable": "Alte Netzwerkverkehrsregeln zum neuen nftable-System migrieren",
|
||||
"service_reload_failed": "Der Dienst '{service:s}' konnte nicht erneut geladen werden.\n\nKürzlich erstellte Logs des Dienstes: {logs:s}",
|
||||
"service_reloaded": "Der Dienst '{service:s}' wurde erneut geladen",
|
||||
"service_restart_failed": "Der Dienst '{service:s}' konnte nicht erneut gestartet werden.\n\nKürzlich erstellte Logs des Dienstes: {logs:s}",
|
||||
"service_reload_failed": "Der Dienst '{service}' konnte nicht erneut geladen werden.\n\nKürzlich erstellte Logs des Dienstes: {logs}",
|
||||
"service_reloaded": "Der Dienst '{service}' wurde erneut geladen",
|
||||
"service_restart_failed": "Der Dienst '{service}' konnte nicht erneut gestartet werden.\n\nKürzlich erstellte Logs des Dienstes: {logs}",
|
||||
"app_manifest_install_ask_password": "Wählen Sie ein Verwaltungspasswort für diese Applikation",
|
||||
"app_manifest_install_ask_domain": "Wählen Sie die Domäne, auf welcher die Applikation installiert werden soll",
|
||||
"log_letsencrypt_cert_renew": "Erneuern des Let's Encrypt-Zeritifikates von '{}'",
|
||||
|
@ -389,12 +386,12 @@
|
|||
"diagnosis_mail_fcrdns_different_from_ehlo_domain_details": "Aktueller Reverse-DNS-Eintrag: <code>{rdns_domain}</code><br>Erwarteter Wert: <code>{ehlo_domain}</code>",
|
||||
"diagnosis_mail_fcrdns_different_from_ehlo_domain": "Der Reverse-DNS-Eintrag für IPv{ipversion} ist nicht korrekt konfiguriert. Einige E-Mails könnten abgewiesen oder als Spam markiert werden.",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_6": "Einige Provider werden es Ihnen nicht erlauben, Ihren Reverse-DNS-Eintrag zu konfigurieren (oder ihre Funktionalität könnte defekt sein ...). Falls Ihr Reverse-DNS-Eintrag für IPv4 korrekt konfiguiert ist, können Sie versuchen, die Verwendung von IPv6 für das Versenden von E-Mails auszuschalten, indem Sie den Befehl <cmd>yunohost settings set smtp.allow_ipv6 -v off</cmd> ausführen. Bemerkung: Die Folge dieser letzten Lösung ist, dass Sie mit Servern, welche ausschliesslich über IPv6 verfügen, keine E-Mails mehr versenden oder empfangen können.",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_4": "Einige Anbieter werden es Ihnen nicht erlauben, dass Sie Ihren Reverse-DNS (oder deren Funktionalität ist defekt...) konfigurieren. Falls Sie deswegen auf Probleme stossen sollten, ziehen Sie folgende Lösungen in Betracht:<br> - Manche ISPs stellen als Alternative <a href='https://yunohost.org/#/smtp_relay'>die Benutzung eines Mail-Server-Relays</a> zur Verfügung, was jedoch mit sich zieht, dass das Relay Ihren E-Mail-Verkehr ausspionieren kann. <br> - Eine privatsphärenfreundlichere Alternative ist die Benutzung eines VPN *mit einer dedizierten öffentlichen IP* um Einschränkungen dieser Art zu umgehen. Schauen Sie hier nach <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- Schliesslich ist es auch möglich <a href='https://yunohost.org/#/isp'>zu einem anderen Anbieter zu wechseln</a>",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_4": "Einige Anbieter werden es dir nicht erlauben, deinen Reverse-DNS zu konfigurieren (oder deren Funktionalität ist defekt...). Falls du deswegen auf Probleme stoßen solltest, ziehe folgende Lösungen in Betracht:<br> - Manche ISPs stellen als Alternative <a href='https://yunohost.org/#/email_configure_relay'>die Benutzung eines Mail-Server-Relays</a> zur Verfügung, was jedoch mit sich zieht, dass das Relay Ihren E-Mail-Verkehr ausspionieren kann. <br> - Eine privatsphärenfreundlichere Alternative ist die Benutzung eines VPN *mit einer dedizierten öffentlichen IP* um Einschränkungen dieser Art zu umgehen. Schaue hier nach <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- Schließlich ist es auch möglich <a href='https://yunohost.org/#/isp'>zu einem anderen Anbieter zu wechseln</a>",
|
||||
"diagnosis_mail_queue_unavailable_details": "Fehler: {error}",
|
||||
"diagnosis_mail_queue_unavailable": "Die Anzahl der anstehenden Nachrichten in der Warteschlange kann nicht abgefragt werden",
|
||||
"diagnosis_mail_queue_ok": "{nb_pending} anstehende E-Mails in der Warteschlange",
|
||||
"diagnosis_mail_blacklist_reason": "Der Grund für die Blacklist ist: {reason}",
|
||||
"app_argument_password_no_default": "Fehler beim Verarbeiten des Passwort-Arguments '{name}': Passwort-Argument kann aus Sicherheitsgründen keinen Standardwert haben",
|
||||
"app_argument_password_no_default": "Fehler beim Verarbeiten des Passwortarguments '{name}': Passwortargument kann aus Sicherheitsgründen keinen Standardwert enthalten",
|
||||
"log_regen_conf": "Systemkonfiguration neu generieren '{}'",
|
||||
"diagnosis_http_partially_unreachable": "Die Domäne {domain} scheint von aussen via HTTP per IPv{failed} nicht erreichbar zu sein, obwohl es per IPv{passed} funktioniert.",
|
||||
"diagnosis_http_unreachable": "Die Domäne {domain} scheint von aussen per HTTP nicht erreichbar zu sein.",
|
||||
|
@ -423,16 +420,16 @@
|
|||
"diagnosis_mail_blacklist_website": "Nachdem Sie herausgefunden haben, weshalb Sie auf die Blacklist gesetzt wurden und dies behoben haben, zögern Sie nicht, nachzufragen, ob Ihre IP-Adresse oder Ihre Domäne von auf {blacklist_website} entfernt wird",
|
||||
"diagnosis_unknown_categories": "Folgende Kategorien sind unbekannt: {categories}",
|
||||
"diagnosis_http_hairpinning_issue": "In Ihrem lokalen Netzwerk scheint Hairpinning nicht aktiviert zu sein.",
|
||||
"diagnosis_ports_needed_by": "Diesen Port zu öffnen ist nötig, um die Funktionalität des Typs {category} (service {service}) zu gewährleisten.",
|
||||
"diagnosis_ports_needed_by": "Diesen Port zu öffnen ist nötig, um die Funktionalität des Typs {category} (service {service}) zu gewährleisten",
|
||||
"diagnosis_mail_queue_too_big": "Zu viele anstehende Nachrichten in der Warteschlange ({nb_pending} emails)",
|
||||
"diagnosis_package_installed_from_sury_details": "Einige Pakete wurden versehentlich aus einem Drittanbieter-Repository genannt Sury installiert. Das YunoHost-Team hat die Strategie um diese Pakete zu handhaben verbessert, aber es wird erwartet, dass einige Setups, welche PHP7.3-Applikationen installiert haben und immer noch auf Strech laufen ein paar Inkonsistenzen aufweisen. Um diese Situation zu beheben sollten Sie versuchen den folgenden Befehl auszuführen: <cmd>{cmd_to_fix}</cmd>",
|
||||
"diagnosis_package_installed_from_sury_details": "Einige Pakete wurden unbeabsichtigterweise aus einem Drittanbieter-Repository, genannt Sury, installiert. Das YunoHost-Team hat die Strategie, um diese Pakete zu handhaben, verbessert, aber es wird erwartet, dass einige Setups, welche PHP7.3-Applikationen installiert haben und immer noch auf Strech laufen, ein paar Inkonsistenzen aufweisen. Um diese Situation zu beheben, sollten Sie versuchen, den folgenden Befehl auszuführen: <cmd>{cmd_to_fix}</cmd>",
|
||||
"domain_cannot_add_xmpp_upload": "Eine hinzugefügte Domain darf nicht mit 'xmpp-upload.' beginnen. Dieser Name ist für das XMPP-Upload-Feature von YunoHost reserviert.",
|
||||
"group_cannot_be_deleted": "Die Gruppe {group} kann nicht manuell entfernt werden.",
|
||||
"group_cannot_edit_primary_group": "Die Gruppe '{group}' kann nicht manuell bearbeitet werden. Es ist die primäre Gruppe, welche dazu gedacht ist, nur einen spezifischen Benutzer zu enthalten.",
|
||||
"diagnosis_processes_killed_by_oom_reaper": "Das System hat einige Prozesse beendet, weil ihm der Arbeitsspeicher ausgegangen ist. Das passiert normalerweise, wenn das System ingesamt nicht genügend Arbeitsspeicher zur Verfügung hat oder wenn ein einzelner Prozess zu viel Speicher verbraucht. Zusammenfassung der beendeten Prozesse: \n{kills_summary}",
|
||||
"diagnosis_description_ports": "Offene Ports",
|
||||
"additional_urls_already_added": "Zusätzliche URL '{url:s}' bereits hinzugefügt in der zusätzlichen URL für Berechtigung '{permission:s}'",
|
||||
"additional_urls_already_removed": "Zusätzliche URL '{url:s}' bereits entfernt in der zusätzlichen URL für Berechtigung '{permission:s}'",
|
||||
"additional_urls_already_added": "Zusätzliche URL '{url}' bereits hinzugefügt in der zusätzlichen URL für Berechtigung '{permission}'",
|
||||
"additional_urls_already_removed": "Zusätzliche URL '{url}' bereits entfernt in der zusätzlichen URL für Berechtigung '{permission}'",
|
||||
"app_label_deprecated": "Dieser Befehl ist veraltet! Bitte nutzen Sie den neuen Befehl 'yunohost user permission update' um das Applabel zu verwalten.",
|
||||
"diagnosis_http_hairpinning_issue_details": "Das ist wahrscheinlich aufgrund Ihrer ISP Box / Router. Als Konsequenz können Personen von ausserhalb Ihres Netzwerkes aber nicht von innerhalb Ihres lokalen Netzwerkes (wie wahrscheinlich Sie selber?) wie gewohnt auf Ihren Server zugreifen, wenn Sie ihre Domäne oder Ihre öffentliche IP verwenden. Sie können die Situation wahrscheinlich verbessern, indem Sie ein einen Blick in <a href='https://yunohost.org/dns_local_network'>https://yunohost.org/dns_local_network</a> werfen",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date": "Jemand hat anscheinend die Konfiguration von Nginx manuell geändert. Diese Änderung verhindert, dass Yunohost eine Diagnose durchführen kann, wenn er via HTTP erreichbar ist.",
|
||||
|
@ -454,7 +451,7 @@
|
|||
"global_settings_setting_smtp_relay_port": "SMTP Relay Port",
|
||||
"global_settings_setting_smtp_allow_ipv6": "Erlaube die Nutzung von IPv6 um Mails zu empfangen und zu versenden",
|
||||
"global_settings_setting_pop3_enabled": "Aktiviere das POP3 Protokoll für den Mailserver",
|
||||
"domain_cannot_remove_main_add_new_one": "Du kannst \"{domain:s}\" nicht entfernen da es die Hauptdomain und deine einzige Domain ist, erst musst erst eine andere Domain hinzufügen indem du eingibst \"yunohost domain add <andere-domian.de>\", setze es dann als deine Hauptdomain indem du eingibst \"yunohost domain main-domain -n <andere-domain.de>\", erst jetzt kannst du die domain \"{domain:s}\" entfernen.",
|
||||
"domain_cannot_remove_main_add_new_one": "Sie können '{domain}' nicht entfernen, weil es die Hauptdomäne und gleichzeitig Ihre einzige Domäne ist. Zuerst müssen Sie eine andere Domäne hinzufügen, indem Sie \"yunohost domain add another-domain.com>\" eingeben. Bestimmen Sie diese dann als Ihre Hauptdomain indem Sie 'yunohost domain main-domain -n <another-domain.com>' eingeben. Nun können Sie die Domäne \"{domain}\" enfernen, indem Sie 'yunohost domain remove {domain}' eingeben.'",
|
||||
"diagnosis_rootfstotalspace_critical": "Das Root-Filesystem hat noch freien Speicher von {space}. Das ist besorngiserregend! Der Speicher wird schnell aufgebraucht sein. 16 GB für das Root-Filesystem werden empfohlen.",
|
||||
"diagnosis_rootfstotalspace_warning": "Das Root-Filesystem hat noch freien Speicher von {space}. Möglich, dass das in Ordnung ist. Vielleicht ist er aber auch schneller aufgebraucht. 16 GB für das Root-Filesystem werden empfohlen.",
|
||||
"global_settings_setting_smtp_relay_host": "Zu verwendender SMTP-Relay-Host um E-Mails zu versenden. Er wird anstelle dieser YunoHost-Instanz verwendet. Nützlich, wenn Sie in einer der folgenden Situationen sind: Ihr ISP- oder VPS-Provider hat Ihren Port 25 geblockt, eine Ihrer residentiellen IPs ist auf DUHL gelistet, Sie können keinen Reverse-DNS konfigurieren oder dieser Server ist nicht direkt mit dem Internet verbunden und Sie möchten einen anderen verwenden, um E-Mails zu versenden.",
|
||||
|
@ -466,9 +463,9 @@
|
|||
"log_app_config_apply": "Wende die Konfiguration auf die Applikation '{}' an",
|
||||
"log_app_config_show_panel": "Zeige das Konfigurations-Panel der Applikation '{}'",
|
||||
"log_app_action_run": "Führe Aktion der Applikation '{}' aus",
|
||||
"invalid_regex": "Ungültige Regex:'{regex:s}'",
|
||||
"invalid_regex": "Ungültige Regex:'{regex}'",
|
||||
"migration_description_0016_php70_to_php73_pools": "Migrieren der php7.0-fpm-Konfigurationsdateien zu php7.3",
|
||||
"mailbox_disabled": "E-Mail für Benutzer {user:s} deaktiviert",
|
||||
"mailbox_disabled": "E-Mail für Benutzer {user} deaktiviert",
|
||||
"log_tools_reboot": "Server neustarten",
|
||||
"log_tools_shutdown": "Server ausschalten",
|
||||
"log_tools_upgrade": "Systempakete aktualisieren",
|
||||
|
@ -510,11 +507,8 @@
|
|||
"migration_0015_weak_certs": "Die folgenden Zertifikate verwenden immer noch schwache Signierungsalgorithmen und müssen aktualisiert werden um mit der nächsten Version von nginx kompatibel zu sein: {certs}",
|
||||
"migrations_pending_cant_rerun": "Diese Migrationen sind immer noch anstehend und können deshalb nicht erneut durchgeführt werden: {ids}",
|
||||
"migration_0019_add_new_attributes_in_ldap": "Hinzufügen neuer Attribute für die Berechtigungen in der LDAP-Datenbank",
|
||||
"migration_0019_can_not_backup_before_migration": "Das Backup des Systems konnte nicht abgeschlossen werden bevor die Migration fehlschlug. Fehlermeldung: {error}",
|
||||
"migration_0019_migration_failed_trying_to_rollback": "Konnte nicht migrieren... versuche ein Rollback des Systems.",
|
||||
"migrations_not_pending_cant_skip": "Diese Migrationen sind nicht anstehend und können deshalb nicht übersprungen werden: {ids}",
|
||||
"migration_0018_failed_to_reset_legacy_rules": "Zurücksetzen der veralteten iptables-Regeln fehlgeschlagen: {error}",
|
||||
"migration_0019_rollback_success": "Rollback des Systems durchgeführt.",
|
||||
"migration_0019_slapd_config_will_be_overwritten": "Es schaut aus, als ob Sie die slapd-Konfigurationsdatei manuell bearbeitet haben. Für diese kritische Migration muss das Update der slapd-Konfiguration erzwungen werden. Von der Originaldatei wird ein Backup gemacht in {conf_backup_folder}.",
|
||||
"migrations_success_forward": "Migration {id} abgeschlossen",
|
||||
"migrations_cant_reach_migration_file": "Die Migrationsdateien konnten nicht aufgerufen werden im Verzeichnis '%s'",
|
||||
|
@ -530,24 +524,23 @@
|
|||
"migration_0017_postgresql_11_not_installed": "PostgreSQL 9.6 ist installiert aber nicht postgreSQL 11? Etwas komisches ist Ihrem System zugestossen :(...",
|
||||
"migration_0017_not_enough_space": "Stellen Siea ausreichend Speicherplatz im Verzeichnis {path} zur Verfügung um die Migration durchzuführen.",
|
||||
"migration_0018_failed_to_migrate_iptables_rules": "Migration der veralteten iptables-Regeln zu nftables fehlgeschlagen: {error}",
|
||||
"migration_0019_backup_before_migration": "Ein Backup der LDAP-Datenbank und der Applikationseinstellungen erstellen vor der Migration.",
|
||||
"migrations_exclusive_options": "'--auto', '--skip' und '--force-rerun' sind Optionen, die sich gegenseitig ausschliessen.",
|
||||
"migrations_no_such_migration": "Es existiert keine Migration genannt '{id}'",
|
||||
"migrations_running_forward": "Durchführen der Migrationen {id}...",
|
||||
"migrations_skip_migration": "Überspringe Migrationen {id}...",
|
||||
"password_too_simple_2": "Dieses Passwort gehört zu den meistverwendeten der Welt. Bitte nehmen Sie etwas einzigartigeres.",
|
||||
"password_listed": "Dieses Passwort gehört zu den meistverwendeten der Welt. Bitte nehmen Sie etwas einzigartigeres.",
|
||||
"password_too_simple_2": "Das Passwort muss mindestens 8 Zeichen lang sein und Gross- sowie Kleinbuchstaben enthalten",
|
||||
"password_listed": "Dieses Passwort zählt zu den meistgenutzten Passwörtern der Welt. Bitte wähle ein anderes, einzigartigeres Passwort.",
|
||||
"operation_interrupted": "Wurde die Operation manuell unterbrochen?",
|
||||
"invalid_number": "Muss eine Zahl sein",
|
||||
"migrations_to_be_ran_manually": "Die Migration {id} muss manuell durchgeführt werden. Bitte gehen Sie zu Werkzeuge → Migrationen auf der Webadmin-Seite oder führen Sie 'yunohost tools migrations run' aus.",
|
||||
"permission_already_up_to_date": "Die Berechtigung wurde nicht aktualisiert, weil die Anfragen für Hinzufügen/Entfernen stimmen mit dem aktuellen Status bereits überein",
|
||||
"permission_already_up_to_date": "Die Berechtigung wurde nicht aktualisiert, weil die Anfragen für Hinzufügen/Entfernen bereits mit dem aktuellen Status übereinstimmen.",
|
||||
"permission_already_exist": "Berechtigung '{permission}' existiert bereits",
|
||||
"permission_already_disallowed": "Für die Gruppe '{group}' wurde die Berechtigung '{permission}' deaktiviert",
|
||||
"permission_already_allowed": "Die Gruppe '{group}' hat die Berechtigung '{permission}' bereits erhalten",
|
||||
"pattern_password_app": "Entschuldigen Sie bitte! Passwörter dürfen folgende Zeichen nicht enthalten: {forbidden_chars}",
|
||||
"pattern_email_forward": "Es muss sich um eine gültige E-Mail-Adresse handeln. Das Symbol '+' wird akzeptiert (zum Beispiel : maxmuster@beispiel.com oder maxmuster+yunohost@beispiel.com)",
|
||||
"password_too_simple_4": "Dass Passwort muss mindestens 12 Zeichen lang sein und Zahlen, Klein- und Grossbuchstaben und Sonderzeichen enthalten",
|
||||
"password_too_simple_3": "Das Passwort muss mindestens 8 Zeichen lang sein und Zahlen, Klein- und Grossbuchstaben und Sonderzeichen enthalten",
|
||||
"password_too_simple_4": "Das Passwort muss mindestens 12 Zeichen lang sein und Grossbuchstaben, Kleinbuchstaben, Zahlen und Sonderzeichen enthalten",
|
||||
"password_too_simple_3": "Das Passwort muss mindestens 8 Zeichen lang sein und Grossbuchstaben, Kleinbuchstaben, Zahlen und Sonderzeichen enthalten",
|
||||
"regenconf_file_manually_removed": "Die Konfigurationsdatei '{conf}' wurde manuell gelöscht und wird nicht erstellt",
|
||||
"regenconf_file_manually_modified": "Die Konfigurationsdatei '{conf}' wurde manuell bearbeitet und wird nicht aktualisiert",
|
||||
"regenconf_file_kept_back": "Die Konfigurationsdatei '{conf}' sollte von \"regen-conf\" (Kategorie {category}) gelöscht werden, wurde aber beibehalten.",
|
||||
|
@ -555,14 +548,14 @@
|
|||
"regenconf_file_backed_up": "Die Konfigurationsdatei '{conf}' wurde unter '{backup}' gespeichert",
|
||||
"permission_require_account": "Berechtigung {permission} ist nur für Benutzer mit einem Konto sinnvoll und kann daher nicht für Besucher aktiviert werden.",
|
||||
"permission_protected": "Die Berechtigung ist geschützt. Sie können die Besuchergruppe nicht zu dieser Berechtigung hinzufügen oder daraus entfernen.",
|
||||
"permission_updated": "Berechtigung '{permission:s}' aktualisiert",
|
||||
"permission_updated": "Berechtigung '{permission}' aktualisiert",
|
||||
"permission_update_failed": "Die Berechtigung '{permission}' kann nicht aktualisiert werden : {error}",
|
||||
"permission_not_found": "Berechtigung nicht gefunden",
|
||||
"permission_not_found": "Berechtigung '{permission}' nicht gefunden",
|
||||
"permission_deletion_failed": "Entfernung der Berechtigung nicht möglich '{permission}': {error}",
|
||||
"permission_deleted": "Berechtigung gelöscht",
|
||||
"permission_deleted": "Berechtigung '{permission}' gelöscht",
|
||||
"permission_currently_allowed_for_all_users": "Diese Berechtigung wird derzeit allen Benutzern zusätzlich zu anderen Gruppen erteilt. Möglicherweise möchten Sie entweder die Berechtigung 'all_users' entfernen oder die anderen Gruppen entfernen, für die sie derzeit zulässig sind.",
|
||||
"permission_creation_failed": "Berechtigungserstellung nicht möglich '{permission}' : {error}",
|
||||
"permission_created": "Berechtigung '{permission: s}' erstellt",
|
||||
"permission_created": "Berechtigung '{permission}' erstellt",
|
||||
"permission_cannot_remove_main": "Entfernung einer Hauptberechtigung nicht genehmigt",
|
||||
"regenconf_file_updated": "Konfigurationsdatei '{conf}' aktualisiert",
|
||||
"regenconf_file_removed": "Konfigurationsdatei '{conf}' entfernt",
|
||||
|
@ -575,22 +568,22 @@
|
|||
"regenconf_failed": "Konnte die Konfiguration für die Kategorie(n) {categories} nicht neu erstellen",
|
||||
"regenconf_dry_pending_applying": "Überprüfe die anstehende Konfiguration, welche für die Kategorie {category}' aktualisiert worden wäre…",
|
||||
"regenconf_would_be_updated": "Die Konfiguration wäre für die Kategorie '{category}' aktualisiert worden",
|
||||
"restore_system_part_failed": "Die Systemteile '{part:s}' konnten nicht wiederhergestellt werden",
|
||||
"restore_system_part_failed": "Die Systemteile '{part}' konnten nicht wiederhergestellt werden",
|
||||
"restore_removing_tmp_dir_failed": "Ein altes, temporäres Directory konnte nicht entfernt werden",
|
||||
"restore_not_enough_disk_space": "Nicht genug Speicher (Speicher: {free_space:d} B, benötigter Speicher: {needed_space:d} B, Sicherheitspuffer: {margin:d} B)",
|
||||
"restore_may_be_not_enough_disk_space": "Dein System scheint nicht genug Speicherplatz zu haben (frei: {free_space:d} B, benötigter Platz: {needed_space:d} B, Sicherheitspuffer: {margin:d} B)",
|
||||
"restore_may_be_not_enough_disk_space": "Ihr System scheint nicht genug Speicherplatz zu haben (frei: {free_space:d} B, benötigter Platz: {needed_space:d} B, Sicherheitspuffer: {margin:d} B)",
|
||||
"restore_extracting": "Packe die benötigten Dateien aus dem Archiv aus…",
|
||||
"restore_already_installed_apps": "Folgende Apps können nicht wiederhergestellt werden, weil sie schon installiert sind: {apps}",
|
||||
"regex_with_only_domain": "Du kannst regex nicht als Domain verwenden, sondern nur als Pfad",
|
||||
"root_password_desynchronized": "Das Admin-Passwort wurde verändert, aber das root Passwort ist immer noch das alte.",
|
||||
"root_password_desynchronized": "Das Admin-Passwort wurde verändert, aber das Root-Passwort ist immer noch das alte!",
|
||||
"regenconf_need_to_explicitly_specify_ssh": "Die SSH-Konfiguration wurde manuell modifiziert, aber Sie müssen explizit die Kategorie 'SSH' mit --force spezifizieren, um die Änderungen tatsächlich anzuwenden.",
|
||||
"migration_update_LDAP_schema": "Aktualisiere das LDAP-Schema...",
|
||||
"log_backup_create": "Erstelle ein Backup-Archiv",
|
||||
"diagnosis_sshd_config_inconsistent": "Es sieht aus, als ob der SSH-Port manuell geändert wurde in /etc/ssh/ssh_config. Seit YunoHost 4.2 ist eine neue globale Einstellung 'security.ssh.port' verfügbar um zu verhindern, dass die Konfiguration manuell verändert wird.",
|
||||
"diagnosis_sshd_config_insecure": "Die SSH-Konfiguration wurde scheinbar manuell abgeändert, und ist unsicher, weil sie keine 'AllowGroups'- oder 'AllowUsers' -Direktiven für die Begrenzung des Zugriffs durch autorisierte Benutzer enthält.",
|
||||
"diagnosis_sshd_config_insecure": "Die SSH-Konfiguration wurde scheinbar manuell geändert und ist unsicher, weil sie keine 'AllowGroups'- oder 'AllowUsers' -Direktiven für die Beschränkung des Zugriffs durch autorisierte Benutzer enthält.",
|
||||
"backup_create_size_estimation": "Das Archiv wird etwa {size} an Daten enthalten.",
|
||||
"app_restore_script_failed": "Im Wiederherstellungsskript der Anwendung ist ein Fehler aufgetreten",
|
||||
"app_restore_failed": "Konnte {app:s} nicht wiederherstellen: {error:s}",
|
||||
"app_restore_script_failed": "Im Wiederherstellungsskript der Applikation ist ein Fehler aufgetreten",
|
||||
"app_restore_failed": "Konnte {app} nicht wiederherstellen: {error}",
|
||||
"migration_ldap_rollback_success": "System-Rollback erfolgreich.",
|
||||
"migration_ldap_migration_failed_trying_to_rollback": "Migrieren war nicht möglich... Versuch, ein Rollback des Systems durchzuführen.",
|
||||
"migration_ldap_backup_before_migration": "Vor der eigentlichen Migration ein Backup der LDAP-Datenbank und der Applikations-Einstellungen erstellen.",
|
||||
|
@ -600,26 +593,25 @@
|
|||
"diagnosis_sshd_config_inconsistent_details": "Bitte führen Sie <cmd>yunohost settings set security.ssh.port -v YOUR_SSH_PORT</cmd> aus, um den SSH-Port festzulegen, und prüfen Sie <cmd> yunohost tools regen-conf ssh --dry-run --with-diff</cmd> und <cmd>yunohost tools regen-conf ssh --force</cmd> um Ihre conf auf die YunoHost-Empfehlung zurückzusetzen.",
|
||||
"regex_incompatible_with_tile": "/!\\ Packagers! Für Berechtigung '{permission}' ist show_tile auf 'true' gesetzt und deshalb können Sie keine regex-URL als Hauptdomäne setzen",
|
||||
"permission_cant_add_to_all_users": "Die Berechtigung {permission} konnte nicht allen Benutzern gegeben werden.",
|
||||
"migration_ldap_can_not_backup_before_migration": "Das System-Backup konnte nicht abgeschlossen werden, bevor die Migration fehlschlug. Fehler: {error:s}",
|
||||
"migration_ldap_can_not_backup_before_migration": "Das System-Backup konnte nicht abgeschlossen werden, bevor die Migration fehlschlug. Fehler: {error}",
|
||||
"service_description_fail2ban": "Schützt gegen Brute-Force-Angriffe und andere Angriffe aus dem Internet",
|
||||
"service_description_dovecot": "Ermöglicht es E-Mail-Clients auf Konten zuzugreifen (IMAP und POP3)",
|
||||
"service_description_dnsmasq": "Verarbeitet die Auflösung des Domainnamens (DNS)",
|
||||
"service_description_avahi-daemon": "Erlaubt, den Server im lokalen Netz über 'yunohost.local' zu erreichen",
|
||||
"restore_backup_too_old": "Dieses Backup kann nicht wieder hergestellt werden, weil es von einer zu alten YunoHost Version stammt.",
|
||||
"service_description_slapd": "Speichert Benutzer, Domains und verbundene Informationen",
|
||||
"service_description_rspamd": "Spamfilter und andere E-Mail Merkmale",
|
||||
"service_description_rspamd": "Spamfilter und andere E-Mail-Merkmale",
|
||||
"service_description_redis-server": "Eine spezialisierte Datenbank für den schnellen Datenzugriff, die Aufgabenwarteschlange und die Kommunikation zwischen Programmen",
|
||||
"service_description_postfix": "Wird benutzt, um E-Mails zu senden und zu empfangen",
|
||||
"service_description_nginx": "Stellt Daten aller Websiten auf dem Server bereit",
|
||||
"service_description_mysql": "Apeichert Anwendungsdaten (SQL Datenbank)",
|
||||
"service_description_mysql": "Speichert die Applikationsdaten (SQL Datenbank)",
|
||||
"service_description_metronome": "XMPP Sofortnachrichtenkonten verwalten",
|
||||
"service_description_yunohost-firewall": "Verwaltet offene und geschlossene Ports zur Verbindung mit Diensten",
|
||||
"service_description_yunohost-api": "Verwaltet die Interaktionen zwischen der Weboberfläche von YunoHost und dem System",
|
||||
"service_description_ssh": "Ermöglicht die Verbindung zu Ihrem Server über ein Terminal (SSH-Protokoll)",
|
||||
"service_description_php7.3-fpm": "Führt in PHP geschriebene Apps mit NGINX aus",
|
||||
"server_reboot_confirm": "Der Server wird sofort heruntergefahren, sind Sie sicher? [{answers:s}]",
|
||||
"server_reboot_confirm": "Der Server wird sofort heruntergefahren, sind Sie sicher? [{answers}]",
|
||||
"server_reboot": "Der Server wird neu gestartet",
|
||||
"server_shutdown_confirm": "Der Server wird sofort heruntergefahren, sind Sie sicher? [{answers:s}]",
|
||||
"server_shutdown_confirm": "Der Server wird sofort heruntergefahren, sind Sie sicher? [{answers}]",
|
||||
"server_shutdown": "Der Server wird heruntergefahren",
|
||||
"root_password_replaced_by_admin_password": "Ihr Root Passwort wurde durch Ihr Admin Passwort ersetzt.",
|
||||
"show_tile_cant_be_enabled_for_regex": "Momentan können Sie 'show_tile' nicht aktivieren, weil die URL für die Berechtigung '{permission}' ein regulärer Ausdruck ist",
|
||||
|
@ -628,7 +620,19 @@
|
|||
"tools_upgrade_regular_packages": "Momentan werden Upgrades für das System (YunoHost-unabhängige) Pakete durchgeführt…",
|
||||
"tools_upgrade_cant_unhold_critical_packages": "Konnte für die kritischen Pakete das Flag 'hold' nicht aufheben…",
|
||||
"tools_upgrade_cant_hold_critical_packages": "Konnte für die kritischen Pakete das Flag 'hold' nicht setzen…",
|
||||
"tools_upgrade_cant_both": "Kann das Upgrade für das System und die Anwendungen nicht gleichzeitig durchführen",
|
||||
"tools_upgrade_cant_both": "Kann das Upgrade für das System und die Applikation nicht gleichzeitig durchführen",
|
||||
"tools_upgrade_at_least_one": "Bitte geben Sie '--apps' oder '--system' an",
|
||||
"this_action_broke_dpkg": "Diese Aktion hat unkonfigurierte Pakete verursacht, welche durch dpkg/apt (die Paketverwaltungen dieses Systems) zurückgelassen wurden... Sie können versuchen dieses Problem zu lösen, indem Sie 'sudo apt install --fix-broken' und/oder 'sudo dpkg --configure -a' ausführen."
|
||||
"this_action_broke_dpkg": "Diese Aktion hat unkonfigurierte Pakete verursacht, welche durch dpkg/apt (die Paketverwaltungen dieses Systems) zurückgelassen wurden... Sie können versuchen dieses Problem zu lösen, indem Sie 'sudo apt install --fix-broken' und/oder 'sudo dpkg --configure -a' ausführen.",
|
||||
"update_apt_cache_failed": "Kann den Cache von APT (Debians Paketmanager) nicht aktualisieren. Hier ist ein Auszug aus den sources.list-Zeilen, die helfen könnten, das Problem zu identifizieren:\n{sourceslist}",
|
||||
"tools_upgrade_special_packages_completed": "YunoHost-Paketupdate beendet.\nDrücke [Enter], um zurück zur Kommandoziele zu kommen",
|
||||
"tools_upgrade_special_packages_explanation": "Das Upgrade \"special\" wird im Hintergrund ausgeführt. Bitte starten Sie keine anderen Aktionen auf Ihrem Server für die nächsten ~10 Minuten. Die Dauer ist abhängig von der Geschwindigkeit Ihres Servers. Nach dem Upgrade müssen Sie sich eventuell erneut in das Adminportal einloggen. Upgrade-Logs sind im Adminbereich unter Tools → Log verfügbar. Alternativ können Sie in der Befehlszeile 'yunohost log list' eingeben.",
|
||||
"tools_upgrade_special_packages": "\"special\" (YunoHost-bezogene) Pakete werden jetzt aktualisiert…",
|
||||
"unknown_main_domain_path": "Unbekannte:r Domain oder Pfad für '{app}'. Du musst eine Domain und einen Pfad setzen, um die URL für Berechtigungen zu setzen.",
|
||||
"yunohost_postinstall_end_tip": "Post-install ist fertig! Um das Setup abzuschliessen, wird empfohlen:\n - einen ersten Benutzer über den Bereich 'Benutzer*in' im Adminbereich hinzuzufügen (oder mit 'yunohost user create <username>' in der Kommandezeile);\n - mögliche Fehler zu diagnostizieren über den Bereich 'Diagnose' im Adminbereich (oder mit 'yunohost diagnosis run' in der Kommandozeile;\n - Die Abschnitte 'Install YunoHost' und 'Geführte Tour' im Administratorenhandbuch zu lesen: https://yunohost.org/admindoc.",
|
||||
"user_already_exists": "Der Benutzer '{user}' ist bereits vorhanden",
|
||||
"update_apt_cache_warning": "Beim Versuch den Cache für APT (Debians Paketmanager) zu aktualisieren, ist etwas schief gelaufen. Hier ist ein Dump der Zeilen aus sources.list, die Ihnen vielleicht dabei helfen, das Problem zu identifizieren:\n{sourceslist}",
|
||||
"global_settings_setting_security_webadmin_allowlist": "IP-Adressen, die auf die Verwaltungsseite zugreifen dürfen. Kommasepariert.",
|
||||
"global_settings_setting_security_webadmin_allowlist_enabled": "Erlaube nur bestimmten IP-Adressen den Zugriff auf die Verwaltungsseite.",
|
||||
"disk_space_not_sufficient_update": "Es ist nicht genügend Speicherplatz frei, um diese Applikation zu aktuallisieren",
|
||||
"disk_space_not_sufficient_install": "Es ist nicht genügend Speicherplatz frei, um diese Applikation zu installieren"
|
||||
}
|
|
@ -1,3 +1,4 @@
|
|||
{
|
||||
"password_too_simple_1": "Ο κωδικός πρόσβασης πρέπει να έχει τουλάχιστον 8 χαρακτήρες"
|
||||
"password_too_simple_1": "Ο κωδικός πρόσβασης πρέπει να έχει τουλάχιστον 8 χαρακτήρες",
|
||||
"aborting": "Ματαίωση."
|
||||
}
|
280
locales/en.json
280
locales/en.json
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"aborting": "Aborting.",
|
||||
"action_invalid": "Invalid action '{action:s}'",
|
||||
"additional_urls_already_added": "Additionnal URL '{url:s}' already added in the additional URL for permission '{permission:s}'",
|
||||
"additional_urls_already_removed": "Additionnal URL '{url:s}' already removed in the additional URL for permission '{permission:s}'",
|
||||
"action_invalid": "Invalid action '{action}'",
|
||||
"additional_urls_already_added": "Additionnal URL '{url}' already added in the additional URL for permission '{permission}'",
|
||||
"additional_urls_already_removed": "Additionnal URL '{url}' already removed in the additional URL for permission '{permission}'",
|
||||
"admin_password": "Administration password",
|
||||
"admin_password_change_failed": "Unable to change password",
|
||||
"admin_password_changed": "The administration password was changed",
|
||||
|
@ -10,17 +10,17 @@
|
|||
"already_up_to_date": "Nothing to do. Everything is already up-to-date.",
|
||||
"app_action_cannot_be_ran_because_required_services_down": "These required services should be running to run this action: {services}. Try restarting them to continue (and possibly investigate why they are down).",
|
||||
"app_action_broke_system": "This action seems to have broken these important services: {services}",
|
||||
"app_already_installed": "{app:s} is already installed",
|
||||
"app_already_installed": "{app} is already installed",
|
||||
"app_already_installed_cant_change_url": "This app is already installed. The URL cannot be changed just by this function. Check in `app changeurl` if it's available.",
|
||||
"app_already_up_to_date": "{app:s} is already up-to-date",
|
||||
"app_argument_choice_invalid": "Use one of these choices '{choices:s}' for the argument '{name:s}'",
|
||||
"app_argument_invalid": "Pick a valid value for the argument '{name:s}': {error:s}",
|
||||
"app_already_up_to_date": "{app} is already up-to-date",
|
||||
"app_argument_choice_invalid": "Use one of these choices '{choices}' for the argument '{name}'",
|
||||
"app_argument_invalid": "Pick a valid value for the argument '{name}': {error}",
|
||||
"app_argument_password_no_default": "Error while parsing password argument '{name}': password argument can't have a default value for security reason",
|
||||
"app_argument_required": "Argument '{name:s}' is required",
|
||||
"app_change_url_failed_nginx_reload": "Could not reload NGINX. Here is the output of 'nginx -t':\n{nginx_errors:s}",
|
||||
"app_change_url_identical_domains": "The old and new domain/url_path are identical ('{domain:s}{path:s}'), nothing to do.",
|
||||
"app_change_url_no_script": "The app '{app_name:s}' doesn't support URL modification yet. Maybe you should upgrade it.",
|
||||
"app_change_url_success": "{app:s} URL is now {domain:s}{path:s}",
|
||||
"app_argument_required": "Argument '{name}' is required",
|
||||
"app_change_url_failed_nginx_reload": "Could not reload NGINX. Here is the output of 'nginx -t':\n{nginx_errors}",
|
||||
"app_change_url_identical_domains": "The old and new domain/url_path are identical ('{domain}{path}'), nothing to do.",
|
||||
"app_change_url_no_script": "The app '{app_name}' doesn't support URL modification yet. Maybe you should upgrade it.",
|
||||
"app_change_url_success": "{app} URL is now {domain}{path}",
|
||||
"app_extraction_failed": "Could not extract the installation files",
|
||||
"app_full_domain_unavailable": "Sorry, this app must be installed on a domain of its own, but other apps are already installed on the domain '{domain}'. You could use a subdomain dedicated to this app instead.",
|
||||
"app_id_invalid": "Invalid app ID",
|
||||
|
@ -29,22 +29,22 @@
|
|||
"app_install_script_failed": "An error occurred inside the app installation script",
|
||||
"app_make_default_location_already_used": "Unable to make '{app}' the default app on the domain, '{domain}' is already in use by '{other_app}'",
|
||||
"app_label_deprecated": "This command is deprecated! Please use the new command 'yunohost user permission update' to manage the app label.",
|
||||
"app_location_unavailable": "This URL is either unavailable, or conflicts with the already installed app(s):\n{apps:s}",
|
||||
"app_location_unavailable": "This URL is either unavailable, or conflicts with the already installed app(s):\n{apps}",
|
||||
"app_manifest_invalid": "Something is wrong with the app manifest: {error}",
|
||||
"app_manifest_install_ask_domain": "Choose the domain where this app should be installed",
|
||||
"app_manifest_install_ask_path": "Choose the path where this app should be installed",
|
||||
"app_manifest_install_ask_path": "Choose the URL path (after the domain) where this app should be installed",
|
||||
"app_manifest_install_ask_password": "Choose an administration password for this app",
|
||||
"app_manifest_install_ask_admin": "Choose an administrator user for this app",
|
||||
"app_manifest_install_ask_is_public": "Should this app be exposed to anonymous visitors?",
|
||||
"app_not_upgraded": "The app '{failed_app}' failed to upgrade, and as a consequence the following apps' upgrades have been cancelled: {apps}",
|
||||
"app_not_correctly_installed": "{app:s} seems to be incorrectly installed",
|
||||
"app_not_installed": "Could not find {app:s} in the list of installed apps: {all_apps}",
|
||||
"app_not_properly_removed": "{app:s} has not been properly removed",
|
||||
"app_removed": "{app:s} removed",
|
||||
"app_not_correctly_installed": "{app} seems to be incorrectly installed",
|
||||
"app_not_installed": "Could not find {app} in the list of installed apps: {all_apps}",
|
||||
"app_not_properly_removed": "{app} has not been properly removed",
|
||||
"app_removed": "{app} uninstalled",
|
||||
"app_requirements_checking": "Checking required packages for {app}...",
|
||||
"app_requirements_unmeet": "Requirements are not met for {app}, the package {pkgname} ({version}) must be {spec}",
|
||||
"app_remove_after_failed_install": "Removing the app following the installation failure...",
|
||||
"app_restore_failed": "Could not restore {app:s}: {error:s}",
|
||||
"app_restore_failed": "Could not restore {app}: {error}",
|
||||
"app_restore_script_failed": "An error occured inside the app restore script",
|
||||
"app_sources_fetch_failed": "Could not fetch sources files, is the URL correct?",
|
||||
"app_start_install": "Installing {app}...",
|
||||
|
@ -55,10 +55,10 @@
|
|||
"app_unsupported_remote_type": "Unsupported remote type used for the app",
|
||||
"app_upgrade_several_apps": "The following apps will be upgraded: {apps}",
|
||||
"app_upgrade_app_name": "Now upgrading {app}...",
|
||||
"app_upgrade_failed": "Could not upgrade {app:s}: {error}",
|
||||
"app_upgrade_failed": "Could not upgrade {app}: {error}",
|
||||
"app_upgrade_script_failed": "An error occurred inside the app upgrade script",
|
||||
"app_upgrade_some_app_failed": "Some apps could not be upgraded",
|
||||
"app_upgraded": "{app:s} upgraded",
|
||||
"app_upgraded": "{app} upgraded",
|
||||
"app_packaging_format_not_supported": "This app cannot be installed because its packaging format is not supported by your YunoHost version. You should probably consider upgrading your system.",
|
||||
"apps_already_up_to_date": "All apps are already up-to-date",
|
||||
"apps_catalog_init_success": "App catalog system initialized!",
|
||||
|
@ -76,24 +76,24 @@
|
|||
"ask_password": "Password",
|
||||
"backup_abstract_method": "This backup method has yet to be implemented",
|
||||
"backup_actually_backuping": "Creating a backup archive from the collected files...",
|
||||
"backup_app_failed": "Could not back up {app:s}",
|
||||
"backup_app_failed": "Could not back up {app}",
|
||||
"backup_applying_method_copy": "Copying all files to backup...",
|
||||
"backup_applying_method_custom": "Calling the custom backup method '{method:s}'...",
|
||||
"backup_applying_method_custom": "Calling the custom backup method '{method}'...",
|
||||
"backup_applying_method_tar": "Creating the backup TAR archive...",
|
||||
"backup_archive_app_not_found": "Could not find {app:s} in the backup archive",
|
||||
"backup_archive_broken_link": "Could not access the backup archive (broken link to {path:s})",
|
||||
"backup_archive_app_not_found": "Could not find {app} in the backup archive",
|
||||
"backup_archive_broken_link": "Could not access the backup archive (broken link to {path})",
|
||||
"backup_archive_name_exists": "A backup archive with this name already exists.",
|
||||
"backup_archive_name_unknown": "Unknown local backup archive named '{name:s}'",
|
||||
"backup_archive_name_unknown": "Unknown local backup archive named '{name}'",
|
||||
"backup_archive_open_failed": "Could not open the backup archive",
|
||||
"backup_archive_cant_retrieve_info_json": "Could not load infos for archive '{archive}'... The info.json cannot be retrieved (or is not a valid json).",
|
||||
"backup_archive_corrupted": "It looks like the backup archive '{archive}' is corrupted : {error}",
|
||||
"backup_archive_system_part_not_available": "System part '{part:s}' unavailable in this backup",
|
||||
"backup_archive_writing_error": "Could not add the files '{source:s}' (named in the archive '{dest:s}') to be backed up into the compressed archive '{archive:s}'",
|
||||
"backup_ask_for_copying_if_needed": "Do you want to perform the backup using {size:s}MB temporarily? (This way is used since some files could not be prepared using a more efficient method.)",
|
||||
"backup_archive_system_part_not_available": "System part '{part}' unavailable in this backup",
|
||||
"backup_archive_writing_error": "Could not add the files '{source}' (named in the archive '{dest}') to be backed up into the compressed archive '{archive}'",
|
||||
"backup_ask_for_copying_if_needed": "Do you want to perform the backup using {size}MB temporarily? (This way is used since some files could not be prepared using a more efficient method.)",
|
||||
"backup_cant_mount_uncompress_archive": "Could not mount the uncompressed archive as write protected",
|
||||
"backup_cleaning_failed": "Could not clean up the temporary backup folder",
|
||||
"backup_copying_to_organize_the_archive": "Copying {size:s}MB to organize the archive",
|
||||
"backup_couldnt_bind": "Could not bind {src:s} to {dest:s}.",
|
||||
"backup_copying_to_organize_the_archive": "Copying {size}MB to organize the archive",
|
||||
"backup_couldnt_bind": "Could not bind {src} to {dest}.",
|
||||
"backup_created": "Backup created",
|
||||
"backup_create_size_estimation": "The archive will contain about {size} of data.",
|
||||
"backup_creation_failed": "Could not create the backup archive",
|
||||
|
@ -101,11 +101,11 @@
|
|||
"backup_csv_creation_failed": "Could not create the CSV file needed for restoration",
|
||||
"backup_custom_backup_error": "Custom backup method could not get past the 'backup' step",
|
||||
"backup_custom_mount_error": "Custom backup method could not get past the 'mount' step",
|
||||
"backup_delete_error": "Could not delete '{path:s}'",
|
||||
"backup_delete_error": "Could not delete '{path}'",
|
||||
"backup_deleted": "Backup deleted",
|
||||
"backup_hook_unknown": "The backup hook '{hook:s}' is unknown",
|
||||
"backup_hook_unknown": "The backup hook '{hook}' is unknown",
|
||||
"backup_method_copy_finished": "Backup copy finalized",
|
||||
"backup_method_custom_finished": "Custom backup method '{method:s}' finished",
|
||||
"backup_method_custom_finished": "Custom backup method '{method}' finished",
|
||||
"backup_method_tar_finished": "TAR backup archive created",
|
||||
"backup_mount_archive_for_restore": "Preparing archive for restoration...",
|
||||
"backup_no_uncompress_archive_dir": "There is no such uncompressed archive directory",
|
||||
|
@ -113,36 +113,36 @@
|
|||
"backup_output_directory_forbidden": "Pick a different output directory. Backups cannot be created in /bin, /boot, /dev, /etc, /lib, /root, /run, /sbin, /sys, /usr, /var or /home/yunohost.backup/archives sub-folders",
|
||||
"backup_output_directory_not_empty": "You should pick an empty output directory",
|
||||
"backup_output_directory_required": "You must provide an output directory for the backup",
|
||||
"backup_output_symlink_dir_broken": "Your archive directory '{path:s}' is a broken symlink. Maybe you forgot to re/mount or plug in the storage medium it points to.",
|
||||
"backup_permission": "Backup permission for {app:s}",
|
||||
"backup_output_symlink_dir_broken": "Your archive directory '{path}' is a broken symlink. Maybe you forgot to re/mount or plug in the storage medium it points to.",
|
||||
"backup_permission": "Backup permission for {app}",
|
||||
"backup_running_hooks": "Running backup hooks...",
|
||||
"backup_system_part_failed": "Could not backup the '{part:s}' system part",
|
||||
"backup_system_part_failed": "Could not backup the '{part}' system part",
|
||||
"backup_unable_to_organize_files": "Could not use the quick method to organize files in the archive",
|
||||
"backup_with_no_backup_script_for_app": "The app '{app:s}' has no backup script. Ignoring.",
|
||||
"backup_with_no_restore_script_for_app": "{app:s} has no restoration script, you will not be able to automatically restore the backup of this app.",
|
||||
"backup_with_no_backup_script_for_app": "The app '{app}' has no backup script. Ignoring.",
|
||||
"backup_with_no_restore_script_for_app": "{app} has no restoration script, you will not be able to automatically restore the backup of this app.",
|
||||
"certmanager_acme_not_configured_for_domain": "The ACME challenge cannot be ran for {domain} right now because its nginx conf lacks the corresponding code snippet... Please make sure that your nginx configuration is up to date using `yunohost tools regen-conf nginx --dry-run --with-diff`.",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "The certificate for the domain '{domain:s}' is not issued by Let's Encrypt. Cannot renew it automatically!",
|
||||
"certmanager_attempt_to_renew_valid_cert": "The certificate for the domain '{domain:s}' is not about to expire! (You may use --force if you know what you're doing)",
|
||||
"certmanager_attempt_to_replace_valid_cert": "You are attempting to overwrite a good and valid certificate for domain {domain:s}! (Use --force to bypass)",
|
||||
"certmanager_cannot_read_cert": "Something wrong happened when trying to open current certificate for domain {domain:s} (file: {file:s}), reason: {reason:s}",
|
||||
"certmanager_cert_install_success": "Let's Encrypt certificate now installed for the domain '{domain:s}'",
|
||||
"certmanager_cert_install_success_selfsigned": "Self-signed certificate now installed for the domain '{domain:s}'",
|
||||
"certmanager_cert_renew_success": "Let's Encrypt certificate renewed for the domain '{domain:s}'",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "The certificate for the domain '{domain}' is not issued by Let's Encrypt. Cannot renew it automatically!",
|
||||
"certmanager_attempt_to_renew_valid_cert": "The certificate for the domain '{domain}' is not about to expire! (You may use --force if you know what you're doing)",
|
||||
"certmanager_attempt_to_replace_valid_cert": "You are attempting to overwrite a good and valid certificate for domain {domain}! (Use --force to bypass)",
|
||||
"certmanager_cannot_read_cert": "Something wrong happened when trying to open current certificate for domain {domain} (file: {file}), reason: {reason}",
|
||||
"certmanager_cert_install_success": "Let's Encrypt certificate now installed for the domain '{domain}'",
|
||||
"certmanager_cert_install_success_selfsigned": "Self-signed certificate now installed for the domain '{domain}'",
|
||||
"certmanager_cert_renew_success": "Let's Encrypt certificate renewed for the domain '{domain}'",
|
||||
"certmanager_cert_signing_failed": "Could not sign the new certificate",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "Trying to use the new certificate for {domain:s} did not work...",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "Trying to use the new certificate for {domain} did not work...",
|
||||
"certmanager_domain_not_diagnosed_yet": "There is no diagnosis result for domain {domain} yet. Please re-run a diagnosis for categories 'DNS records' and 'Web' in the diagnosis section to check if the domain is ready for Let's Encrypt. (Or if you know what you are doing, use '--no-checks' to turn off those checks.)",
|
||||
"certmanager_domain_cert_not_selfsigned": "The certificate for domain {domain:s} is not self-signed. Are you sure you want to replace it? (Use '--force' to do so.)",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "The DNS records for domain '{domain:s}' is different from this server's IP. Please check the 'DNS records' (basic) category in the diagnosis for more info. If you recently modified your A record, please wait for it to propagate (some DNS propagation checkers are available online). (If you know what you are doing, use '--no-checks' to turn off those checks.)",
|
||||
"certmanager_domain_http_not_working": "Domain {domain:s} does not seem to be accessible through HTTP. Please check the 'Web' category in the diagnosis for more info. (If you know what you are doing, use '--no-checks' to turn off those checks.)",
|
||||
"certmanager_warning_subdomain_dns_record": "Subdomain '{subdomain:s}' does not resolve to the same IP address as '{domain:s}'. Some features will not be available until you fix this and regenerate the certificate.",
|
||||
"certmanager_hit_rate_limit": "Too many certificates already issued for this exact set of domains {domain:s} recently. Please try again later. See https://letsencrypt.org/docs/rate-limits/ for more details",
|
||||
"certmanager_no_cert_file": "Could not read the certificate file for the domain {domain:s} (file: {file:s})",
|
||||
"certmanager_self_ca_conf_file_not_found": "Could not find configuration file for self-signing authority (file: {file:s})",
|
||||
"certmanager_unable_to_parse_self_CA_name": "Could not parse name of self-signing authority (file: {file:s})",
|
||||
"confirm_app_install_warning": "Warning: This app may work, but is not well-integrated in YunoHost. Some features such as single sign-on and backup/restore might not be available. Install anyway? [{answers:s}] ",
|
||||
"confirm_app_install_danger": "DANGER! This app is known to be still experimental (if not explicitly not working)! You should probably NOT install it unless you know what you are doing. NO SUPPORT will be provided if this app doesn't work or breaks your system… If you are willing to take that risk anyway, type '{answers:s}'",
|
||||
"confirm_app_install_thirdparty": "DANGER! This app is not part of YunoHost's app catalog. Installing third-party apps may compromise the integrity and security of your system. You should probably NOT install it unless you know what you are doing. NO SUPPORT will be provided if this app doesn't work or breaks your system… If you are willing to take that risk anyway, type '{answers:s}'",
|
||||
"custom_app_url_required": "You must provide a URL to upgrade your custom app {app:s}",
|
||||
"certmanager_domain_cert_not_selfsigned": "The certificate for domain {domain} is not self-signed. Are you sure you want to replace it? (Use '--force' to do so.)",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "The DNS records for domain '{domain}' is different from this server's IP. Please check the 'DNS records' (basic) category in the diagnosis for more info. If you recently modified your A record, please wait for it to propagate (some DNS propagation checkers are available online). (If you know what you are doing, use '--no-checks' to turn off those checks.)",
|
||||
"certmanager_domain_http_not_working": "Domain {domain} does not seem to be accessible through HTTP. Please check the 'Web' category in the diagnosis for more info. (If you know what you are doing, use '--no-checks' to turn off those checks.)",
|
||||
"certmanager_warning_subdomain_dns_record": "Subdomain '{subdomain}' does not resolve to the same IP address as '{domain}'. Some features will not be available until you fix this and regenerate the certificate.",
|
||||
"certmanager_hit_rate_limit": "Too many certificates already issued for this exact set of domains {domain} recently. Please try again later. See https://letsencrypt.org/docs/rate-limits/ for more details",
|
||||
"certmanager_no_cert_file": "Could not read the certificate file for the domain {domain} (file: {file})",
|
||||
"certmanager_self_ca_conf_file_not_found": "Could not find configuration file for self-signing authority (file: {file})",
|
||||
"certmanager_unable_to_parse_self_CA_name": "Could not parse name of self-signing authority (file: {file})",
|
||||
"confirm_app_install_warning": "Warning: This app may work, but is not well-integrated in YunoHost. Some features such as single sign-on and backup/restore might not be available. Install anyway? [{answers}] ",
|
||||
"confirm_app_install_danger": "DANGER! This app is known to be still experimental (if not explicitly not working)! You should probably NOT install it unless you know what you are doing. NO SUPPORT will be provided if this app doesn't work or breaks your system… If you are willing to take that risk anyway, type '{answers}'",
|
||||
"confirm_app_install_thirdparty": "DANGER! This app is not part of YunoHost's app catalog. Installing third-party apps may compromise the integrity and security of your system. You should probably NOT install it unless you know what you are doing. NO SUPPORT will be provided if this app doesn't work or breaks your system… If you are willing to take that risk anyway, type '{answers}'",
|
||||
"custom_app_url_required": "You must provide a URL to upgrade your custom app {app}",
|
||||
"diagnosis_basesystem_hardware": "Server hardware architecture is {virt} {arch}",
|
||||
"diagnosis_basesystem_hardware_model": "Server model is {model}",
|
||||
"diagnosis_basesystem_host": "Server is running Debian {debian_version}",
|
||||
|
@ -183,6 +183,7 @@
|
|||
"diagnosis_dns_discrepancy": "The following DNS record does not seem to follow the recommended configuration:<br>Type: <code>{type}</code><br>Name: <code>{name}</code><br>Current value: <code>{current}</code><br>Expected value: <code>{value}</code>",
|
||||
"diagnosis_dns_point_to_doc": "Please check the documentation at <a href='https://yunohost.org/dns_config'>https://yunohost.org/dns_config</a> if you need help about configuring DNS records.",
|
||||
"diagnosis_dns_try_dyndns_update_force": "This domain's DNS configuration should automatically be managed by YunoHost. If that's not the case, you can try to force an update using <cmd>yunohost dyndns update --force</cmd>.",
|
||||
"diagnosis_dns_specialusedomain": "Domain {domain} is based on a special-use top-level domain (TLD) and is therefore not expected to have actual DNS records.",
|
||||
"diagnosis_domain_expiration_not_found": "Unable to check the expiration date for some domains",
|
||||
"diagnosis_domain_not_found_details": "The domain {domain} doesn't exist in WHOIS database or is expired!",
|
||||
"diagnosis_domain_expiration_not_found_details": "The WHOIS information for domain {domain} doesn't seem to contain the information about the expiration date?",
|
||||
|
@ -207,7 +208,7 @@
|
|||
"diagnosis_mail_outgoing_port_25_ok": "The SMTP mail server is able to send emails (outgoing port 25 is not blocked).",
|
||||
"diagnosis_mail_outgoing_port_25_blocked": "The SMTP mail server cannot send emails to other servers because outgoing port 25 is blocked in IPv{ipversion}.",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_details": "You should first try to unblock outgoing port 25 in your internet router interface or your hosting provider interface. (Some hosting provider may require you to send them a support ticket for this).",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_relay_vpn": "Some providers won't let you unblock outgoing port 25 because they don't care about Net Neutrality.<br> - Some of them provide the alternative of <a href='https://yunohost.org/#/smtp_relay'>using a mail server relay</a> though it implies that the relay will be able to spy on your email traffic.<br>- A privacy-friendly alternative is to use a VPN *with a dedicated public IP* to bypass this kind of limits. See <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- You can also consider switching to <a href='https://yunohost.org/#/isp'>a more net neutrality-friendly provider</a>",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_relay_vpn": "Some providers won't let you unblock outgoing port 25 because they don't care about Net Neutrality.<br> - Some of them provide the alternative of <a href='https://yunohost.org/#/email_configure_relay'>using a mail server relay</a> though it implies that the relay will be able to spy on your email traffic.<br>- A privacy-friendly alternative is to use a VPN *with a dedicated public IP* to bypass this kind of limits. See <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- You can also consider switching to <a href='https://yunohost.org/#/isp'>a more net neutrality-friendly provider</a>",
|
||||
"diagnosis_mail_ehlo_ok": "The SMTP mail server is reachable from the outside and therefore is able to receive emails!",
|
||||
"diagnosis_mail_ehlo_unreachable": "The SMTP mail server is unreachable from the outside on IPv{ipversion}. It won't be able to receive emails.",
|
||||
"diagnosis_mail_ehlo_unreachable_details": "Could not open a connection on port 25 to your server in IPv{ipversion}. It appears to be unreachable.<br>1. The most common cause for this issue is that port 25 <a href='https://yunohost.org/isp_box_config'>is not correctly forwarded to your server</a>.<br>2. You should also make sure that service postfix is running.<br>3. On more complex setups: make sure that no firewall or reverse-proxy is interfering.",
|
||||
|
@ -220,7 +221,7 @@
|
|||
"diagnosis_mail_fcrdns_ok": "Your reverse DNS is correctly configured!",
|
||||
"diagnosis_mail_fcrdns_dns_missing": "No reverse DNS is defined in IPv{ipversion}. Some emails may fail to get delivered or may get flagged as spam.",
|
||||
"diagnosis_mail_fcrdns_nok_details": "You should first try to configure the reverse DNS with <code>{ehlo_domain}</code> in your internet router interface or your hosting provider interface. (Some hosting provider may require you to send them a support ticket for this).",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_4": "Some providers won't let you configure your reverse DNS (or their feature might be broken...). If you are experiencing issues because of this, consider the following solutions:<br> - Some ISP provide the alternative of <a href='https://yunohost.org/#/smtp_relay'>using a mail server relay</a> though it implies that the relay will be able to spy on your email traffic.<br>- A privacy-friendly alternative is to use a VPN *with a dedicated public IP* to bypass this kind of limits. See <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- Or it's possible to <a href='https://yunohost.org/#/isp'>switch to a different provider</a>",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_4": "Some providers won't let you configure your reverse DNS (or their feature might be broken...). If you are experiencing issues because of this, consider the following solutions:<br> - Some ISP provide the alternative of <a href='https://yunohost.org/#/email_configure_relay'>using a mail server relay</a> though it implies that the relay will be able to spy on your email traffic.<br>- A privacy-friendly alternative is to use a VPN *with a dedicated public IP* to bypass this kind of limits. See <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- Or it's possible to <a href='https://yunohost.org/#/isp'>switch to a different provider</a>",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_6": "Some providers won't let you configure your reverse DNS (or their feature might be broken...). If your reverse DNS is correctly configured for IPv4, you can try disabling the use of IPv6 when sending emails by running <cmd>yunohost settings set smtp.allow_ipv6 -v off</cmd>. Note: this last solution means that you won't be able to send or receive emails from the few IPv6-only servers out there.",
|
||||
"diagnosis_mail_fcrdns_different_from_ehlo_domain": "The reverse DNS is not correctly configured in IPv{ipversion}. Some emails may fail to get delivered or may get flagged as spam.",
|
||||
"diagnosis_mail_fcrdns_different_from_ehlo_domain_details": "Current reverse DNS: <code>{rdns_domain}</code><br>Expected value: <code>{ehlo_domain}</code>",
|
||||
|
@ -248,6 +249,14 @@
|
|||
"diagnosis_description_web": "Web",
|
||||
"diagnosis_description_mail": "Email",
|
||||
"diagnosis_description_regenconf": "System configurations",
|
||||
"diagnosis_description_apps": "Applications",
|
||||
"diagnosis_apps_allgood": "All installed apps respect basic packaging practices",
|
||||
"diagnosis_apps_issue": "An issue was found for app {app}",
|
||||
"diagnosis_apps_not_in_app_catalog": "This application is not in YunoHost's application catalog. If it was in the past and got removed, you should consider uninstalling this app as it won't receive upgrade, and may compromise the integrity and security of your system.",
|
||||
"diagnosis_apps_broken": "This application is currently flagged as broken on YunoHost's application catalog. This may be a temporary issue while the maintainers attempt to fix the issue. In the meantime, upgrading this app is disabled.",
|
||||
"diagnosis_apps_bad_quality": "This application is currently flagged as broken on YunoHost's application catalog. This may be a temporary issue while the maintainers attempt to fix the issue. In the meantime, upgrading this app is disabled.",
|
||||
"diagnosis_apps_outdated_ynh_requirement": "This app's installed version only requires yunohost >= 2.x, which tends to indicate that it's not up to date with recommended packaging practices and helpers. You should really consider upgrading it.",
|
||||
"diagnosis_apps_deprecated_practices": "This app's installed version still uses some super-old deprecated packaging practices. You should really consider upgrading it.",
|
||||
"diagnosis_ports_could_not_diagnose": "Could not diagnose if ports are reachable from outside in IPv{ipversion}.",
|
||||
"diagnosis_ports_could_not_diagnose_details": "Error: {error}",
|
||||
"diagnosis_ports_unreachable": "Port {port} is not reachable from outside.",
|
||||
|
@ -259,6 +268,7 @@
|
|||
"diagnosis_http_hairpinning_issue_details": "This is probably because of your ISP box / router. As a result, people from outside your local network will be able to access your server as expected, but not people from inside the local network (like you, probably?) when using the domain name or global IP. You may be able to improve the situation by having a look at <a href='https://yunohost.org/dns_local_network'>https://yunohost.org/dns_local_network</a>",
|
||||
"diagnosis_http_could_not_diagnose": "Could not diagnose if domains are reachable from outside in IPv{ipversion}.",
|
||||
"diagnosis_http_could_not_diagnose_details": "Error: {error}",
|
||||
"diagnosis_http_localdomain": "Domain {domain}, with a .local TLD, is not expected to be reached from outside the local network.",
|
||||
"diagnosis_http_ok": "Domain {domain} is reachable through HTTP from outside the local network.",
|
||||
"diagnosis_http_timeout": "Timed-out while trying to contact your server from outside. It appears to be unreachable.<br>1. The most common cause for this issue is that port 80 (and 443) <a href='https://yunohost.org/isp_box_config'>are not correctly forwarded to your server</a>.<br>2. You should also make sure that the service nginx is running<br>3. On more complex setups: make sure that no firewall or reverse-proxy is interfering.",
|
||||
"diagnosis_http_connection_error": "Connection error: could not connect to the requested domain, it's very likely unreachable.",
|
||||
|
@ -273,9 +283,11 @@
|
|||
"diagnosis_sshd_config_insecure": "The SSH configuration appears to have been manually modified, and is insecure because it contains no 'AllowGroups' or 'AllowUsers' directive to limit access to authorized users.",
|
||||
"diagnosis_sshd_config_inconsistent": "It looks like the SSH port was manually modified in /etc/ssh/sshd_config. Since YunoHost 4.2, a new global setting 'security.ssh.port' is available to avoid manually editing the configuration.",
|
||||
"diagnosis_sshd_config_inconsistent_details": "Please run <cmd>yunohost settings set security.ssh.port -v YOUR_SSH_PORT</cmd> to define the SSH port, and check <cmd>yunohost tools regen-conf ssh --dry-run --with-diff</cmd> and <cmd>yunohost tools regen-conf ssh --force</cmd> to reset your conf to the YunoHost recommendation.",
|
||||
"domain_cannot_remove_main": "You cannot remove '{domain:s}' since it's the main domain, you first need to set another domain as the main domain using 'yunohost domain main-domain -n <another-domain>'; here is the list of candidate domains: {other_domains:s}",
|
||||
"disk_space_not_sufficient_install": "There is not enough disk space left to install this application",
|
||||
"disk_space_not_sufficient_update": "There is not enough disk space left to update this application",
|
||||
"domain_cannot_remove_main": "You cannot remove '{domain}' since it's the main domain, you first need to set another domain as the main domain using 'yunohost domain main-domain -n <another-domain>'; here is the list of candidate domains: {other_domains}",
|
||||
"domain_cannot_add_xmpp_upload": "You cannot add domains starting with 'xmpp-upload.'. This kind of name is reserved for the XMPP upload feature integrated in YunoHost.",
|
||||
"domain_cannot_remove_main_add_new_one": "You cannot remove '{domain:s}' since it's the main domain and your only domain, you need to first add another domain using 'yunohost domain add <another-domain.com>', then set is as the main domain using 'yunohost domain main-domain -n <another-domain.com>' and then you can remove the domain '{domain:s}' using 'yunohost domain remove {domain:s}'.'",
|
||||
"domain_cannot_remove_main_add_new_one": "You cannot remove '{domain}' since it's the main domain and your only domain, you need to first add another domain using 'yunohost domain add <another-domain.com>', then set is as the main domain using 'yunohost domain main-domain -n <another-domain.com>' and then you can remove the domain '{domain}' using 'yunohost domain remove {domain}'.'",
|
||||
"domain_cert_gen_failed": "Could not generate certificate",
|
||||
"domain_created": "Domain created",
|
||||
"domain_creation_failed": "Unable to create domain {domain}: {error}",
|
||||
|
@ -297,8 +309,8 @@
|
|||
"downloading": "Downloading…",
|
||||
"dpkg_is_broken": "You cannot do this right now because dpkg/APT (the system package managers) seems to be in a broken state… You can try to solve this issue by connecting through SSH and running `sudo apt install --fix-broken` and/or `sudo dpkg --configure -a`.",
|
||||
"dpkg_lock_not_available": "This command can't be run right now because another program seems to be using the lock of dpkg (the system package manager)",
|
||||
"dyndns_could_not_check_provide": "Could not check if {provider:s} can provide {domain:s}.",
|
||||
"dyndns_could_not_check_available": "Could not check if {domain:s} is available on {provider:s}.",
|
||||
"dyndns_could_not_check_provide": "Could not check if {provider} can provide {domain}.",
|
||||
"dyndns_could_not_check_available": "Could not check if {domain} is available on {provider}.",
|
||||
"dyndns_ip_update_failed": "Could not update IP address to DynDNS",
|
||||
"dyndns_ip_updated": "Updated your IP on DynDNS",
|
||||
"dyndns_key_generating": "Generating DNS key... It may take a while.",
|
||||
|
@ -306,23 +318,23 @@
|
|||
"dyndns_no_domain_registered": "No domain registered with DynDNS",
|
||||
"dyndns_provider_unreachable": "Unable to reach DynDNS provider {provider}: either your YunoHost is not correctly connected to the internet or the dynette server is down.",
|
||||
"dyndns_registered": "DynDNS domain registered",
|
||||
"dyndns_registration_failed": "Could not register DynDNS domain: {error:s}",
|
||||
"dyndns_domain_not_provided": "DynDNS provider {provider:s} cannot provide domain {domain:s}.",
|
||||
"dyndns_unavailable": "The domain '{domain:s}' is unavailable.",
|
||||
"dyndns_registration_failed": "Could not register DynDNS domain: {error}",
|
||||
"dyndns_domain_not_provided": "DynDNS provider {provider} cannot provide domain {domain}.",
|
||||
"dyndns_unavailable": "The domain '{domain}' is unavailable.",
|
||||
"extracting": "Extracting...",
|
||||
"experimental_feature": "Warning: This feature is experimental and not considered stable, you should not use it unless you know what you are doing.",
|
||||
"field_invalid": "Invalid field '{:s}'",
|
||||
"file_does_not_exist": "The file {path:s} does not exist.",
|
||||
"field_invalid": "Invalid field '{}'",
|
||||
"file_does_not_exist": "The file {path} does not exist.",
|
||||
"firewall_reload_failed": "Could not reload the firewall",
|
||||
"firewall_reloaded": "Firewall reloaded",
|
||||
"firewall_rules_cmd_failed": "Some firewall rule commands have failed. More info in log.",
|
||||
"global_settings_bad_choice_for_enum": "Bad choice for setting {setting:s}, received '{choice:s}', but available choices are: {available_choices:s}",
|
||||
"global_settings_bad_type_for_setting": "Bad type for setting {setting:s}, received {received_type:s}, expected {expected_type:s}",
|
||||
"global_settings_cant_open_settings": "Could not open settings file, reason: {reason:s}",
|
||||
"global_settings_cant_serialize_settings": "Could not serialize settings data, reason: {reason:s}",
|
||||
"global_settings_cant_write_settings": "Could not save settings file, reason: {reason:s}",
|
||||
"global_settings_key_doesnt_exists": "The key '{settings_key:s}' does not exist in the global settings, you can see all the available keys by running 'yunohost settings list'",
|
||||
"global_settings_reset_success": "Previous settings now backed up to {path:s}",
|
||||
"global_settings_bad_choice_for_enum": "Bad choice for setting {setting}, received '{choice}', but available choices are: {available_choices}",
|
||||
"global_settings_bad_type_for_setting": "Bad type for setting {setting}, received {received_type}, expected {expected_type}",
|
||||
"global_settings_cant_open_settings": "Could not open settings file, reason: {reason}",
|
||||
"global_settings_cant_serialize_settings": "Could not serialize settings data, reason: {reason}",
|
||||
"global_settings_cant_write_settings": "Could not save settings file, reason: {reason}",
|
||||
"global_settings_key_doesnt_exists": "The key '{settings_key}' does not exist in the global settings, you can see all the available keys by running 'yunohost settings list'",
|
||||
"global_settings_reset_success": "Previous settings now backed up to {path}",
|
||||
"global_settings_setting_pop3_enabled": "Enable the POP3 protocol for the mail server",
|
||||
"global_settings_setting_security_nginx_compatibility": "Compatibility vs. security tradeoff for the web server NGINX. Affects the ciphers (and other security-related aspects)",
|
||||
"global_settings_setting_security_password_admin_strength": "Admin password strength",
|
||||
|
@ -330,7 +342,7 @@
|
|||
"global_settings_setting_security_ssh_compatibility": "Compatibility vs. security tradeoff for the SSH server. Affects the ciphers (and other security-related aspects)",
|
||||
"global_settings_setting_security_postfix_compatibility": "Compatibility vs. security tradeoff for the Postfix server. Affects the ciphers (and other security-related aspects)",
|
||||
"global_settings_setting_security_ssh_port": "SSH port",
|
||||
"global_settings_unknown_setting_from_settings_file": "Unknown key in settings: '{setting_key:s}', discard it and save it in /etc/yunohost/settings-unknown.json",
|
||||
"global_settings_unknown_setting_from_settings_file": "Unknown key in settings: '{setting_key}', discard it and save it in /etc/yunohost/settings-unknown.json",
|
||||
"global_settings_setting_service_ssh_allow_deprecated_dsa_hostkey": "Allow the use of (deprecated) DSA hostkey for the SSH daemon configuration",
|
||||
"global_settings_setting_ssowat_panel_overlay_enabled": "Enable SSOwat panel overlay",
|
||||
"global_settings_setting_smtp_allow_ipv6": "Allow the use of IPv6 to receive and send mail",
|
||||
|
@ -338,8 +350,11 @@
|
|||
"global_settings_setting_smtp_relay_port": "SMTP relay port",
|
||||
"global_settings_setting_smtp_relay_user": "SMTP relay user account",
|
||||
"global_settings_setting_smtp_relay_password": "SMTP relay host password",
|
||||
"global_settings_setting_security_webadmin_allowlist_enabled": "Allow only some IPs to access the webadmin.",
|
||||
"global_settings_setting_security_webadmin_allowlist": "IP adresses allowed to access the webadmin. Comma-separated.",
|
||||
"global_settings_setting_security_experimental_enabled": "Enable experimental security features (don't enable this if you don't know what you're doing!)",
|
||||
"global_settings_setting_backup_compress_tar_archives": "When creating new backups, compress the archives (.tar.gz) instead of uncompressed archives (.tar). N.B. : enabling this option means create lighter backup archives, but the initial backup procedure will be significantly longer and heavy on CPU.",
|
||||
"global_settings_unknown_type": "Unexpected situation, the setting {setting:s} appears to have the type {unknown_type:s} but it is not a type supported by the system.",
|
||||
"global_settings_unknown_type": "Unexpected situation, the setting {setting} appears to have the type {unknown_type} but it is not a type supported by the system.",
|
||||
"good_practices_about_admin_password": "You are now about to define a new administration password. The password should be at least 8 characters long—though it is good practice to use a longer password (i.e. a passphrase) and/or to use a variation of characters (uppercase, lowercase, digits and special characters).",
|
||||
"good_practices_about_user_password": "You are now about to define a new user password. The password should be at least 8 characters long—though it is good practice to use a longer password (i.e. a passphrase) and/or to a variation of characters (uppercase, lowercase, digits and special characters).",
|
||||
"group_already_exist": "Group {group} already exists",
|
||||
|
@ -353,20 +368,22 @@
|
|||
"group_cannot_be_deleted": "The group {group} cannot be deleted manually.",
|
||||
"group_deleted": "Group '{group}' deleted",
|
||||
"group_deletion_failed": "Could not delete the group '{group}': {error}",
|
||||
"group_unknown": "The group '{group:s}' is unknown",
|
||||
"group_unknown": "The group '{group}' is unknown",
|
||||
"group_updated": "Group '{group}' updated",
|
||||
"group_update_failed": "Could not update the group '{group}': {error}",
|
||||
"group_user_already_in_group": "User {user} is already in group {group}",
|
||||
"group_user_not_in_group": "User {user} is not in group {group}",
|
||||
"hook_exec_failed": "Could not run script: {path:s}",
|
||||
"hook_exec_not_terminated": "Script did not finish properly: {path:s}",
|
||||
"hook_json_return_error": "Could not read return from hook {path:s}. Error: {msg:s}. Raw content: {raw_content}",
|
||||
"hook_exec_failed": "Could not run script: {path}",
|
||||
"hook_exec_not_terminated": "Script did not finish properly: {path}",
|
||||
"hook_json_return_error": "Could not read return from hook {path}. Error: {msg}. Raw content: {raw_content}",
|
||||
"hook_list_by_invalid": "This property can not be used to list hooks",
|
||||
"hook_name_unknown": "Unknown hook name '{name:s}'",
|
||||
"hook_name_unknown": "Unknown hook name '{name}'",
|
||||
"installation_complete": "Installation completed",
|
||||
"invalid_regex": "Invalid regex:'{regex:s}'",
|
||||
"invalid_regex": "Invalid regex:'{regex}'",
|
||||
"ip6tables_unavailable": "You cannot play with ip6tables here. You are either in a container or your kernel does not support it",
|
||||
"iptables_unavailable": "You cannot play with iptables here. You are either in a container or your kernel does not support it",
|
||||
"ldap_server_down": "Unable to reach LDAP server",
|
||||
"ldap_server_is_down_restart_it": "The LDAP service is down, attempt to restart it...",
|
||||
"log_corrupted_md_file": "The YAML metadata file associated with logs is damaged: '{md_file}\nError: {error}'",
|
||||
"log_link_to_log": "Full log of this operation: '<a href=\"#/tools/logs/{name}\" style=\"text-decoration:underline\">{desc}</a>'",
|
||||
"log_help_to_get_log": "To view the log of the operation '{desc}', use the command 'yunohost log show {name}{name}'",
|
||||
|
@ -395,7 +412,7 @@
|
|||
"log_letsencrypt_cert_install": "Install a Let's Encrypt certificate on '{}' domain",
|
||||
"log_permission_create": "Create permission '{}'",
|
||||
"log_permission_delete": "Delete permission '{}'",
|
||||
"log_permission_url": "Update url related to permission '{}'",
|
||||
"log_permission_url": "Update URL related to permission '{}'",
|
||||
"log_selfsigned_cert_install": "Install self-signed certificate on '{}' domain",
|
||||
"log_letsencrypt_cert_renew": "Renew '{}' Let's Encrypt certificate",
|
||||
"log_regen_conf": "Regenerate system configurations '{}'",
|
||||
|
@ -413,10 +430,10 @@
|
|||
"log_tools_upgrade": "Upgrade system packages",
|
||||
"log_tools_shutdown": "Shutdown your server",
|
||||
"log_tools_reboot": "Reboot your server",
|
||||
"mail_alias_remove_failed": "Could not remove e-mail alias '{mail:s}'",
|
||||
"mail_domain_unknown": "Invalid e-mail address for domain '{domain:s}'. Please, use a domain administrated by this server.",
|
||||
"mail_forward_remove_failed": "Could not remove e-mail forwarding '{mail:s}'",
|
||||
"mailbox_disabled": "E-mail turned off for user {user:s}",
|
||||
"mail_alias_remove_failed": "Could not remove e-mail alias '{mail}'",
|
||||
"mail_domain_unknown": "Invalid e-mail address for domain '{domain}'. Please, use a domain administrated by this server.",
|
||||
"mail_forward_remove_failed": "Could not remove e-mail forwarding '{mail}'",
|
||||
"mailbox_disabled": "E-mail turned off for user {user}",
|
||||
"mailbox_used_space_dovecot_down": "The Dovecot mailbox service needs to be up if you want to fetch used mailbox space",
|
||||
"mail_unavailable": "This e-mail address is reserved and shall be automatically allocated to the very first user",
|
||||
"main_domain_change_failed": "Unable to change the main domain",
|
||||
|
@ -429,7 +446,7 @@
|
|||
"migration_description_0019_extend_permissions_features": "Extend/rework the app permission management system",
|
||||
"migration_description_0020_ssh_sftp_permissions": "Add SSH and SFTP permissions support",
|
||||
"migration_ldap_backup_before_migration": "Creating a backup of LDAP database and apps settings prior to the actual migration.",
|
||||
"migration_ldap_can_not_backup_before_migration": "The backup of the system could not be completed before the migration failed. Error: {error:s}",
|
||||
"migration_ldap_can_not_backup_before_migration": "The backup of the system could not be completed before the migration failed. Error: {error}",
|
||||
"migration_ldap_migration_failed_trying_to_rollback": "Could not migrate... trying to roll back the system.",
|
||||
"migration_ldap_rollback_success": "System rolled back.",
|
||||
"migration_update_LDAP_schema": "Updating LDAP schema...",
|
||||
|
@ -472,8 +489,9 @@
|
|||
"migrations_skip_migration": "Skipping migration {id}...",
|
||||
"migrations_success_forward": "Migration {id} completed",
|
||||
"migrations_to_be_ran_manually": "Migration {id} has to be run manually. Please go to Tools → Migrations on the webadmin page, or run `yunohost tools migrations run`.",
|
||||
"not_enough_disk_space": "Not enough free space on '{path:s}'",
|
||||
"not_enough_disk_space": "Not enough free space on '{path}'",
|
||||
"invalid_number": "Must be a number",
|
||||
"invalid_password": "Invalid password",
|
||||
"operation_interrupted": "The operation was manually interrupted?",
|
||||
"packages_upgrade_failed": "Could not upgrade all the packages",
|
||||
"password_listed": "This password is among the most used passwords in the world. Please choose something more unique.",
|
||||
|
@ -498,19 +516,19 @@
|
|||
"permission_already_exist": "Permission '{permission}' already exists",
|
||||
"permission_already_up_to_date": "The permission was not updated because the addition/removal requests already match the current state.",
|
||||
"permission_cannot_remove_main": "Removing a main permission is not allowed",
|
||||
"permission_created": "Permission '{permission:s}' created",
|
||||
"permission_created": "Permission '{permission}' created",
|
||||
"permission_creation_failed": "Could not create permission '{permission}': {error}",
|
||||
"permission_currently_allowed_for_all_users": "This permission is currently granted to all users in addition to other groups. You probably want to either remove the 'all_users' permission or remove the other groups it is currently granted to.",
|
||||
"permission_cant_add_to_all_users": "The permission {permission} can not be added to all users.",
|
||||
"permission_deleted": "Permission '{permission:s}' deleted",
|
||||
"permission_deleted": "Permission '{permission}' deleted",
|
||||
"permission_deletion_failed": "Could not delete permission '{permission}': {error}",
|
||||
"permission_not_found": "Permission '{permission:s}' not found",
|
||||
"permission_not_found": "Permission '{permission}' not found",
|
||||
"permission_update_failed": "Could not update permission '{permission}': {error}",
|
||||
"permission_updated": "Permission '{permission:s}' updated",
|
||||
"permission_updated": "Permission '{permission}' updated",
|
||||
"permission_protected": "Permission {permission} is protected. You cannot add or remove the visitors group to/from this permission.",
|
||||
"permission_require_account": "Permission {permission} only makes sense for users having an account, and therefore cannot be enabled for visitors.",
|
||||
"port_already_closed": "Port {port:d} is already closed for {ip_version:s} connections",
|
||||
"port_already_opened": "Port {port:d} is already opened for {ip_version:s} connections",
|
||||
"port_already_closed": "Port {port:d} is already closed for {ip_version} connections",
|
||||
"port_already_opened": "Port {port:d} is already opened for {ip_version} connections",
|
||||
"postinstall_low_rootfsspace": "The root filesystem has a total space less than 10 GB, which is quite worrisome! You will likely run out of disk space very quickly! It's recommended to have at least 16GB for the root filesystem. If you want to install YunoHost despite this warning, re-run the postinstall with --force-diskspace",
|
||||
"regenconf_file_backed_up": "Configuration file '{conf}' backed up to '{backup}'",
|
||||
"regenconf_file_copy_failed": "Could not copy the new configuration file '{new}' to '{conf}'",
|
||||
|
@ -531,34 +549,34 @@
|
|||
"regex_incompatible_with_tile": "/!\\ Packagers! Permission '{permission}' has show_tile set to 'true' and you therefore cannot define a regex URL as the main URL",
|
||||
"regex_with_only_domain": "You can't use a regex for domain, only for path",
|
||||
"registrar_is_not_set": "The registrar for this domain has not been configured",
|
||||
"restore_already_installed_app": "An app with the ID '{app:s}' is already installed",
|
||||
"restore_already_installed_app": "An app with the ID '{app}' is already installed",
|
||||
"restore_already_installed_apps": "The following apps can't be restored because they are already installed: {apps}",
|
||||
"restore_backup_too_old": "This backup archive can not be restored because it comes from a too-old YunoHost version.",
|
||||
"restore_cleaning_failed": "Could not clean up the temporary restoration directory",
|
||||
"restore_complete": "Restoration completed",
|
||||
"restore_confirm_yunohost_installed": "Do you really want to restore an already installed system? [{answers:s}]",
|
||||
"restore_confirm_yunohost_installed": "Do you really want to restore an already installed system? [{answers}]",
|
||||
"restore_extracting": "Extracting needed files from the archive…",
|
||||
"restore_failed": "Could not restore system",
|
||||
"restore_hook_unavailable": "Restoration script for '{part:s}' not available on your system and not in the archive either",
|
||||
"restore_hook_unavailable": "Restoration script for '{part}' not available on your system and not in the archive either",
|
||||
"restore_may_be_not_enough_disk_space": "Your system does not seem to have enough space (free: {free_space:d} B, needed space: {needed_space:d} B, security margin: {margin:d} B)",
|
||||
"restore_not_enough_disk_space": "Not enough space (space: {free_space:d} B, needed space: {needed_space:d} B, security margin: {margin:d} B)",
|
||||
"restore_nothings_done": "Nothing was restored",
|
||||
"restore_removing_tmp_dir_failed": "Could not remove an old temporary directory",
|
||||
"restore_running_app_script": "Restoring the app '{app:s}'…",
|
||||
"restore_running_app_script": "Restoring the app '{app}'…",
|
||||
"restore_running_hooks": "Running restoration hooks…",
|
||||
"restore_system_part_failed": "Could not restore the '{part:s}' system part",
|
||||
"restore_system_part_failed": "Could not restore the '{part}' system part",
|
||||
"root_password_desynchronized": "The admin password was changed, but YunoHost could not propagate this to the root password!",
|
||||
"root_password_replaced_by_admin_password": "Your root password have been replaced by your admin password.",
|
||||
"server_shutdown": "The server will shut down",
|
||||
"server_shutdown_confirm": "The server will shutdown immediatly, are you sure? [{answers:s}]",
|
||||
"server_shutdown_confirm": "The server will shutdown immediatly, are you sure? [{answers}]",
|
||||
"server_reboot": "The server will reboot",
|
||||
"server_reboot_confirm": "The server will reboot immediatly, are you sure? [{answers:s}]",
|
||||
"service_add_failed": "Could not add the service '{service:s}'",
|
||||
"service_added": "The service '{service:s}' was added",
|
||||
"service_already_started": "The service '{service:s}' is running already",
|
||||
"service_already_stopped": "The service '{service:s}' has already been stopped",
|
||||
"service_cmd_exec_failed": "Could not execute the command '{command:s}'",
|
||||
"service_description_avahi-daemon": "Allows you to reach your server using 'yunohost.local' in your local network",
|
||||
"server_reboot_confirm": "The server will reboot immediatly, are you sure? [{answers}]",
|
||||
"service_add_failed": "Could not add the service '{service}'",
|
||||
"service_added": "The service '{service}' was added",
|
||||
"service_already_started": "The service '{service}' is running already",
|
||||
"service_already_stopped": "The service '{service}' has already been stopped",
|
||||
"service_cmd_exec_failed": "Could not execute the command '{command}'",
|
||||
"service_description_yunomdns": "Allows you to reach your server using 'yunohost.local' in your local network",
|
||||
"service_description_dnsmasq": "Handles domain name resolution (DNS)",
|
||||
"service_description_dovecot": "Allows e-mail clients to access/fetch email (via IMAP and POP3)",
|
||||
"service_description_fail2ban": "Protects against brute-force and other kinds of attacks from the Internet",
|
||||
|
@ -573,24 +591,24 @@
|
|||
"service_description_ssh": "Allows you to connect remotely to your server via a terminal (SSH protocol)",
|
||||
"service_description_yunohost-api": "Manages interactions between the YunoHost web interface and the system",
|
||||
"service_description_yunohost-firewall": "Manages open and close connection ports to services",
|
||||
"service_disable_failed": "Could not make the service '{service:s}' not start at boot.\n\nRecent service logs:{logs:s}",
|
||||
"service_disabled": "The service '{service:s}' will not be started anymore when system boots.",
|
||||
"service_enable_failed": "Could not make the service '{service:s}' automatically start at boot.\n\nRecent service logs:{logs:s}",
|
||||
"service_enabled": "The service '{service:s}' will now be automatically started during system boots.",
|
||||
"service_disable_failed": "Could not make the service '{service}' not start at boot.\n\nRecent service logs:{logs}",
|
||||
"service_disabled": "The service '{service}' will not be started anymore when system boots.",
|
||||
"service_enable_failed": "Could not make the service '{service}' automatically start at boot.\n\nRecent service logs:{logs}",
|
||||
"service_enabled": "The service '{service}' will now be automatically started during system boots.",
|
||||
"service_regen_conf_is_deprecated": "'yunohost service regen-conf' is deprecated! Please use 'yunohost tools regen-conf' instead.",
|
||||
"service_remove_failed": "Could not remove the service '{service:s}'",
|
||||
"service_removed": "Service '{service:s}' removed",
|
||||
"service_reload_failed": "Could not reload the service '{service:s}'\n\nRecent service logs:{logs:s}",
|
||||
"service_reloaded": "Service '{service:s}' reloaded",
|
||||
"service_restart_failed": "Could not restart the service '{service:s}'\n\nRecent service logs:{logs:s}",
|
||||
"service_restarted": "Service '{service:s}' restarted",
|
||||
"service_reload_or_restart_failed": "Could not reload or restart the service '{service:s}'\n\nRecent service logs:{logs:s}",
|
||||
"service_reloaded_or_restarted": "The service '{service:s}' was reloaded or restarted",
|
||||
"service_start_failed": "Could not start the service '{service:s}'\n\nRecent service logs:{logs:s}",
|
||||
"service_started": "Service '{service:s}' started",
|
||||
"service_stop_failed": "Unable to stop the service '{service:s}'\n\nRecent service logs:{logs:s}",
|
||||
"service_stopped": "Service '{service:s}' stopped",
|
||||
"service_unknown": "Unknown service '{service:s}'",
|
||||
"service_remove_failed": "Could not remove the service '{service}'",
|
||||
"service_removed": "Service '{service}' removed",
|
||||
"service_reload_failed": "Could not reload the service '{service}'\n\nRecent service logs:{logs}",
|
||||
"service_reloaded": "Service '{service}' reloaded",
|
||||
"service_restart_failed": "Could not restart the service '{service}'\n\nRecent service logs:{logs}",
|
||||
"service_restarted": "Service '{service}' restarted",
|
||||
"service_reload_or_restart_failed": "Could not reload or restart the service '{service}'\n\nRecent service logs:{logs}",
|
||||
"service_reloaded_or_restarted": "The service '{service}' was reloaded or restarted",
|
||||
"service_start_failed": "Could not start the service '{service}'\n\nRecent service logs:{logs}",
|
||||
"service_started": "Service '{service}' started",
|
||||
"service_stop_failed": "Unable to stop the service '{service}'\n\nRecent service logs:{logs}",
|
||||
"service_stopped": "Service '{service}' stopped",
|
||||
"service_unknown": "Unknown service '{service}'",
|
||||
"show_tile_cant_be_enabled_for_url_not_defined": "You cannot enable 'show_tile' right now, because you must first define an URL for the permission '{permission}'",
|
||||
"show_tile_cant_be_enabled_for_regex": "You cannot enable 'show_tile' right no, because the URL for the permission '{permission}' is a regex",
|
||||
"ssowat_conf_generated": "SSOwat configuration regenerated",
|
||||
|
@ -607,11 +625,11 @@
|
|||
"tools_upgrade_special_packages": "Now upgrading 'special' (yunohost-related) packages…",
|
||||
"tools_upgrade_special_packages_explanation": "The special upgrade will continue in the background. Please don't start any other actions on your server for the next ~10 minutes (depending on hardware speed). After this, you may have to re-log in to the webadmin. The upgrade log will be available in Tools → Log (in the webadmin) or using 'yunohost log list' (from the command-line).",
|
||||
"tools_upgrade_special_packages_completed": "YunoHost package upgrade completed.\nPress [Enter] to get the command line back",
|
||||
"unbackup_app": "{app:s} will not be saved",
|
||||
"unbackup_app": "{app} will not be saved",
|
||||
"unexpected_error": "Something unexpected went wrong: {error}",
|
||||
"unknown_main_domain_path": "Unknown domain or path for '{app}'. You need to specify a domain and a path to be able to specify a URL for permission.",
|
||||
"unlimit": "No quota",
|
||||
"unrestore_app": "{app:s} will not be restored",
|
||||
"unrestore_app": "{app} will not be restored",
|
||||
"update_apt_cache_failed": "Unable to update the cache of APT (Debian's package manager). Here is a dump of the sources.list lines, which might help identify problematic lines: \n{sourceslist}",
|
||||
"update_apt_cache_warning": "Something went wrong while updating the cache of APT (Debian's package manager). Here is a dump of the sources.list lines, which might help identify problematic lines: \n{sourceslist}",
|
||||
"updating_apt_cache": "Fetching available upgrades for system packages...",
|
||||
|
@ -627,7 +645,7 @@
|
|||
"user_deleted": "User deleted",
|
||||
"user_deletion_failed": "Could not delete user {user}: {error}",
|
||||
"user_home_creation_failed": "Could not create 'home' folder for user",
|
||||
"user_unknown": "Unknown user: {user:s}",
|
||||
"user_unknown": "Unknown user: {user}",
|
||||
"user_update_failed": "Could not update user {user}: {error}",
|
||||
"user_updated": "User info changed",
|
||||
"yunohost_already_installed": "YunoHost is already installed",
|
||||
|
|
294
locales/eo.json
294
locales/eo.json
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
"admin_password_change_failed": "Ne eblas ŝanĝi pasvorton",
|
||||
"admin_password_change_failed": "Ne povis ŝanĝi pasvorton",
|
||||
"admin_password_changed": "La pasvorto de administrado estis ŝanĝita",
|
||||
"app_already_installed": "{app:s} estas jam instalita",
|
||||
"app_already_up_to_date": "{app:s} estas jam ĝisdata",
|
||||
"app_argument_required": "Parametro {name:s} estas bezonata",
|
||||
"app_change_url_identical_domains": "Malnovaj kaj novaj domajno/URL estas la sama ('{domain:s}{path:s}'), nenio fareblas.",
|
||||
"app_change_url_success": "{app:s} URL nun estas {domain:s} {path:s}",
|
||||
"app_already_installed": "{app} estas jam instalita",
|
||||
"app_already_up_to_date": "{app} estas jam ĝisdata",
|
||||
"app_argument_required": "Parametro {name} estas bezonata",
|
||||
"app_change_url_identical_domains": "Malnovaj kaj novaj domajno/URL estas la sama ('{domain}{path}'), nenio fareblas.",
|
||||
"app_change_url_success": "{app} URL nun estas {domain} {path}",
|
||||
"app_extraction_failed": "Ne povis ĉerpi la instalajn dosierojn",
|
||||
"app_id_invalid": "Nevalida apo ID",
|
||||
"app_install_files_invalid": "Ĉi tiuj dosieroj ne povas esti instalitaj",
|
||||
|
@ -22,106 +22,106 @@
|
|||
"service_description_ssh": "Permesas al vi konekti al via servilo kun fora terminalo (SSH protokolo)",
|
||||
"service_description_yunohost-api": "Mastrumas interagojn inter la YunoHost retinterfaco kaj la sistemo",
|
||||
"service_description_yunohost-firewall": "Administras malfermajn kaj fermajn konektajn havenojn al servoj",
|
||||
"service_disable_failed": "Ne povis fari la servon '{service:s}' ne komenci ĉe la ekkuro.\n\nLastatempaj servaj protokoloj: {logs:s}",
|
||||
"service_disabled": "La servo '{service:s}' ne plu komenciĝos kiam sistemo ekos.",
|
||||
"action_invalid": "Nevalida ago « {action:s} »",
|
||||
"service_disable_failed": "Ne povis fari la servon '{service}' ne komenci ĉe la ekkuro.\n\nLastatempaj servaj protokoloj: {logs}",
|
||||
"service_disabled": "La servo '{service}' ne plu komenciĝos kiam sistemo ekos.",
|
||||
"action_invalid": "Nevalida ago « {action} »",
|
||||
"admin_password": "Pasvorto de la estro",
|
||||
"admin_password_too_long": "Bonvolu elekti pasvorton pli mallonga ol 127 signoj",
|
||||
"already_up_to_date": "Nenio por fari. Ĉio estas jam ĝisdatigita.",
|
||||
"app_argument_choice_invalid": "Uzu unu el ĉi tiuj elektoj '{choices:s}' por la argumento '{name:s}'",
|
||||
"app_argument_invalid": "Elektu validan valoron por la argumento '{name:s}': {error:s}",
|
||||
"app_change_url_failed_nginx_reload": "Ne eblis reŝarĝi NGINX. Jen la eligo de 'nginx -t':\n{nginx_errors:s}",
|
||||
"app_argument_choice_invalid": "Uzu unu el ĉi tiuj elektoj '{choices}' por la argumento '{name}'",
|
||||
"app_argument_invalid": "Elektu validan valoron por la argumento '{name}': {error}",
|
||||
"app_change_url_failed_nginx_reload": "Ne eblis reŝarĝi NGINX. Jen la eligo de 'nginx -t':\n{nginx_errors}",
|
||||
"ask_new_admin_password": "Nova administrada pasvorto",
|
||||
"app_action_broke_system": "Ĉi tiu ago ŝajne rompis ĉi tiujn gravajn servojn: {services}",
|
||||
"app_unsupported_remote_type": "Malkontrolita fora speco uzita por la apliko",
|
||||
"backup_archive_system_part_not_available": "Sistemo parto '{part:s}' ne haveblas en ĉi tiu rezervo",
|
||||
"backup_archive_system_part_not_available": "Sistemo parto '{part}' ne haveblas en ĉi tiu rezervo",
|
||||
"backup_abstract_method": "Ĉi tiu rezerva metodo ankoraŭ efektiviĝis",
|
||||
"apps_already_up_to_date": "Ĉiuj aplikoj estas jam ĝisdatigitaj",
|
||||
"app_location_unavailable": "Ĉi tiu URL aŭ ne haveblas, aŭ konfliktas kun la jam instalita (j) apliko (j):\n{apps:s}",
|
||||
"backup_archive_app_not_found": "Ne povis trovi la programon '{app:s}' en la rezerva ar archiveivo",
|
||||
"backup_actually_backuping": "Krei rezervan ar archiveivon el la kolektitaj dosieroj …",
|
||||
"app_change_url_no_script": "La app '{app_name:s}' ankoraŭ ne subtenas URL-modifon. Eble vi devus altgradigi ĝin.",
|
||||
"app_start_install": "Instali la programon '{app}' …",
|
||||
"app_location_unavailable": "Ĉi tiu URL aŭ ne haveblas, aŭ konfliktas kun la jam instalita (j) apliko (j):\n{apps}",
|
||||
"backup_archive_app_not_found": "Ne povis trovi {app} en la rezerva arkivo",
|
||||
"backup_actually_backuping": "Krei rezervan arkivon de la kolektitaj dosieroj ...",
|
||||
"app_change_url_no_script": "La app '{app_name}' ankoraŭ ne subtenas URL-modifon. Eble vi devus altgradigi ĝin.",
|
||||
"app_start_install": "Instali {app}...",
|
||||
"backup_created": "Sekurkopio kreita",
|
||||
"app_make_default_location_already_used": "Ne povas igi la aplikon '{app}' defaŭlta sur la domajno, '{domain}' jam uziĝas de la alia app '{other_app}'",
|
||||
"app_make_default_location_already_used": "Ne povis fari '{app}' la defaŭltan programon sur la domajno, '{domain}' estas jam uzata de '{other_app}'",
|
||||
"backup_method_copy_finished": "Rezerva kopio finis",
|
||||
"app_not_properly_removed": "{app:s} ne estis ĝuste forigita",
|
||||
"backup_archive_broken_link": "Ne povis aliri la rezervan ar archiveivon (rompita ligilo al {path:s})",
|
||||
"app_requirements_checking": "Kontrolante postulatajn pakaĵojn por {app} …",
|
||||
"app_not_installed": "Ne povis trovi la aplikon '{app:s}' en la listo de instalitaj programoj: {all_apps}",
|
||||
"app_not_properly_removed": "{app} ne estis ĝuste forigita",
|
||||
"backup_archive_broken_link": "Ne povis aliri la rezervan ar archiveivon (rompita ligilo al {path})",
|
||||
"app_requirements_checking": "Kontrolante bezonatajn pakaĵojn por {app} ...",
|
||||
"app_not_installed": "Ne povis trovi {app} en la listo de instalitaj programoj: {all_apps}",
|
||||
"ask_new_path": "Nova vojo",
|
||||
"backup_custom_mount_error": "Propra rezerva metodo ne povis preterpasi la paŝon 'monto'",
|
||||
"app_upgrade_app_name": "Nun ĝisdatiganta {app} …",
|
||||
"app_upgrade_app_name": "Nun ĝisdatigu {app}...",
|
||||
"app_manifest_invalid": "Io misas pri la aplika manifesto: {error}",
|
||||
"backup_cleaning_failed": "Ne povis purigi la provizoran rezervan dosierujon",
|
||||
"backup_creation_failed": "Ne povis krei la rezervan ar archiveivon",
|
||||
"backup_hook_unknown": "La rezerva hoko '{hook:s}' estas nekonata",
|
||||
"backup_hook_unknown": "La rezerva hoko '{hook}' estas nekonata",
|
||||
"backup_custom_backup_error": "Propra rezerva metodo ne povis preterpasi la paŝon \"sekurkopio\"",
|
||||
"ask_main_domain": "Ĉefa domajno",
|
||||
"backup_method_tar_finished": "TAR-rezerva ar archiveivo kreita",
|
||||
"backup_cant_mount_uncompress_archive": "Ne povis munti la nekompresitan ar archiveivon kiel protektita kontraŭ skribo",
|
||||
"app_action_cannot_be_ran_because_required_services_down": "Ĉi tiuj postulataj servoj devas funkcii por funkciigi ĉi tiun agon: {services}. Provu rekomenci ilin por daŭrigi (kaj eble esploru, kial ili malsupreniras).",
|
||||
"backup_copying_to_organize_the_archive": "Kopiante {size:s} MB por organizi la ar archiveivon",
|
||||
"backup_copying_to_organize_the_archive": "Kopiante {size} MB por organizi la ar archiveivon",
|
||||
"backup_output_directory_forbidden": "Elektu malsaman elirejan dosierujon. Sekurkopioj ne povas esti kreitaj en sub-dosierujoj /bin, /boot, /dev, /ktp, /lib, /root, /run, /sbin, /sys, /usr, /var aŭ /home/yunohost.backup/archives",
|
||||
"backup_no_uncompress_archive_dir": "Ne ekzistas tia nekompremita arkiva dosierujo",
|
||||
"password_too_simple_1": "Pasvorto devas esti almenaŭ 8 signojn longa",
|
||||
"app_upgrade_failed": "Ne povis ĝisdatigi {app:s}: {error}",
|
||||
"app_upgrade_failed": "Ne povis ĝisdatigi {app}: {error}",
|
||||
"app_upgrade_several_apps": "La sekvaj apliko estos altgradigitaj: {apps}",
|
||||
"backup_archive_open_failed": "Ne povis malfermi la rezervan ar archiveivon",
|
||||
"ask_lastname": "Familia nomo",
|
||||
"app_start_backup": "Kolekti dosierojn por esti subtenata por la '{app}' …",
|
||||
"app_start_backup": "Kolekti dosierojn por esti subtenata por {app}...",
|
||||
"backup_archive_name_exists": "Rezerva arkivo kun ĉi tiu nomo jam ekzistas.",
|
||||
"backup_applying_method_tar": "Krei la rezervan TAR-ar archiveivon …",
|
||||
"backup_method_custom_finished": "Propra rezerva metodo '{method:s}' finiĝis",
|
||||
"backup_applying_method_tar": "Krei la rezervon TAR Arkivo...",
|
||||
"backup_method_custom_finished": "Propra rezerva metodo '{method}' finiĝis",
|
||||
"app_already_installed_cant_change_url": "Ĉi tiu app estas jam instalita. La URL ne povas esti ŝanĝita nur per ĉi tiu funkcio. Kontrolu en `app changeurl` se ĝi haveblas.",
|
||||
"app_not_correctly_installed": "{app:s} ŝajnas esti malĝuste instalita",
|
||||
"app_removed": "{app:s} forigita",
|
||||
"backup_delete_error": "Ne povis forigi '{path:s}'",
|
||||
"app_not_correctly_installed": "{app} ŝajnas esti malĝuste instalita",
|
||||
"app_removed": "{app} forigita",
|
||||
"backup_delete_error": "Ne povis forigi '{path}'",
|
||||
"backup_nothings_done": "Nenio por ŝpari",
|
||||
"backup_applying_method_custom": "Nomante la kutiman rezervan metodon '{method:s}' …",
|
||||
"backup_app_failed": "Ne eblis rezervi la programon '{app:s}'",
|
||||
"backup_applying_method_custom": "Voki la laŭmendan rezervan metodon '{method}'...",
|
||||
"backup_app_failed": "Ne povis subteni {app}",
|
||||
"app_upgrade_some_app_failed": "Iuj aplikoj ne povis esti altgradigitaj",
|
||||
"app_start_remove": "Forigo de la apliko '{app}' …",
|
||||
"app_start_remove": "Forigado {app}...",
|
||||
"backup_output_directory_not_empty": "Vi devas elekti malplenan eligitan dosierujon",
|
||||
"backup_archive_writing_error": "Ne povis aldoni la dosierojn '{source:s}' (nomitaj en la ar theivo '{dest:s}') por esti rezervitaj en la kunpremita arkivo '{archive:s}'",
|
||||
"app_start_restore": "Restarigi la programon '{app}' …",
|
||||
"backup_applying_method_copy": "Kopiante ĉiujn dosierojn al sekurkopio …",
|
||||
"backup_couldnt_bind": "Ne povis ligi {src:s} al {dest:s}.",
|
||||
"backup_archive_writing_error": "Ne povis aldoni la dosierojn '{source}' (nomitaj en la ar theivo '{dest}') por esti rezervitaj en la kunpremita arkivo '{archive}'",
|
||||
"app_start_restore": "Restarigi {app}...",
|
||||
"backup_applying_method_copy": "Kopii ĉiujn dosierojn por sekurigi...",
|
||||
"backup_couldnt_bind": "Ne povis ligi {src} al {dest}.",
|
||||
"ask_password": "Pasvorto",
|
||||
"app_requirements_unmeet": "Postuloj ne estas renkontitaj por {app}, la pakaĵo {pkgname} ({version}) devas esti {spec}",
|
||||
"ask_firstname": "Antaŭnomo",
|
||||
"backup_ask_for_copying_if_needed": "Ĉu vi volas realigi la sekurkopion uzante {size:s} MB provizore? (Ĉi tiu maniero estas uzata ĉar iuj dosieroj ne povus esti pretigitaj per pli efika metodo.)",
|
||||
"backup_ask_for_copying_if_needed": "Ĉu vi volas realigi la sekurkopion uzante {size} MB provizore? (Ĉi tiu maniero estas uzata ĉar iuj dosieroj ne povus esti pretigitaj per pli efika metodo.)",
|
||||
"backup_mount_archive_for_restore": "Preparante arkivon por restarigo …",
|
||||
"backup_csv_creation_failed": "Ne povis krei la CSV-dosieron bezonatan por restarigo",
|
||||
"backup_archive_name_unknown": "Nekonata loka rezerva ar archiveivo nomata '{name:s}'",
|
||||
"backup_archive_name_unknown": "Nekonata loka rezerva ar archiveivo nomata '{name}'",
|
||||
"app_sources_fetch_failed": "Ne povis akiri fontajn dosierojn, ĉu la URL estas ĝusta?",
|
||||
"ask_new_domain": "Nova domajno",
|
||||
"app_unknown": "Nekonata apliko",
|
||||
"app_not_upgraded": "La '{failed_app}' de la programo ne sukcesis ĝisdatigi, kaj sekve la nuntempaj plibonigoj de la sekvaj programoj estis nuligitaj: {apps}",
|
||||
"aborting": "Aborti.",
|
||||
"app_upgraded": "{app:s} altgradigita",
|
||||
"app_upgraded": "{app} altgradigita",
|
||||
"backup_deleted": "Rezerva forigita",
|
||||
"backup_csv_addition_failed": "Ne povis aldoni dosierojn al sekurkopio en la CSV-dosiero",
|
||||
"dpkg_lock_not_available": "Ĉi tiu komando ne povas funkcii nun ĉar alia programo uzas la seruron de dpkg (la administrilo de paka sistemo)",
|
||||
"domain_dyndns_root_unknown": "Nekonata radika domajno DynDNS",
|
||||
"field_invalid": "Nevalida kampo '{:s}'",
|
||||
"field_invalid": "Nevalida kampo '{}'",
|
||||
"log_app_makedefault": "Faru '{}' la defaŭlta apliko",
|
||||
"backup_system_part_failed": "Ne eblis sekurkopi la sistemon de '{part:s}'",
|
||||
"backup_system_part_failed": "Ne eblis sekurkopi la sistemon de '{part}'",
|
||||
"global_settings_setting_security_postfix_compatibility": "Kongruo vs sekureca kompromiso por la Postfix-servilo. Afektas la ĉifradojn (kaj aliajn aspektojn pri sekureco)",
|
||||
"group_unknown": "La grupo '{group:s}' estas nekonata",
|
||||
"mailbox_disabled": "Retpoŝto malŝaltita por uzanto {user:s}",
|
||||
"group_unknown": "La grupo '{group}' estas nekonata",
|
||||
"mailbox_disabled": "Retpoŝto malŝaltita por uzanto {user}",
|
||||
"migrations_dependencies_not_satisfied": "Rulu ĉi tiujn migradojn: '{dependencies_id}', antaŭ migrado {id}.",
|
||||
"migrations_failed_to_load_migration": "Ne povis ŝarĝi migradon {id}: {error}",
|
||||
"migrations_exclusive_options": "'--auto', '--skip' kaj '--force-rerun' estas reciproke ekskluzivaj ebloj.",
|
||||
"migrations_must_provide_explicit_targets": "Vi devas provizi eksplicitajn celojn kiam vi uzas '--skip' aŭ '--force-rerun'",
|
||||
"permission_update_failed": "Ne povis ĝisdatigi permeson '{permission}': {error}",
|
||||
"permission_updated": "Ĝisdatigita \"{permission:s}\" rajtigita",
|
||||
"permission_updated": "Ĝisdatigita \"{permission}\" rajtigita",
|
||||
"tools_upgrade_cant_hold_critical_packages": "Ne povis teni kritikajn pakojn…",
|
||||
"upnp_dev_not_found": "Neniu UPnP-aparato trovita",
|
||||
"pattern_password": "Devas esti almenaŭ 3 signoj longaj",
|
||||
"root_password_desynchronized": "La pasvorta administranto estis ŝanĝita, sed YunoHost ne povis propagandi ĉi tion al la radika pasvorto!",
|
||||
"service_remove_failed": "Ne povis forigi la servon '{service:s}'",
|
||||
"backup_permission": "Rezerva permeso por app {app:s}",
|
||||
"service_remove_failed": "Ne povis forigi la servon '{service}'",
|
||||
"backup_permission": "Rezerva permeso por app {app}",
|
||||
"log_user_group_delete": "Forigi grupon '{}'",
|
||||
"log_user_group_update": "Ĝisdatigi grupon '{}'",
|
||||
"dyndns_provider_unreachable": "Ne povas atingi la provizanton DynDNS {provider}: ĉu via YunoHost ne estas ĝuste konektita al la interreto aŭ la dyneta servilo malŝaltiĝas.",
|
||||
|
@ -139,7 +139,7 @@
|
|||
"log_user_group_create": "Krei grupon '{}'",
|
||||
"log_user_permission_update": "Mise à jour des accès pour la permission '{}'",
|
||||
"log_user_permission_reset": "Restarigi permeson '{}'",
|
||||
"mail_forward_remove_failed": "Ne povis forigi retpoŝton plusendante '{mail:s}'",
|
||||
"mail_forward_remove_failed": "Ne povis forigi retpoŝton plusendante '{mail}'",
|
||||
"migrations_already_ran": "Tiuj migradoj estas jam faritaj: {ids}",
|
||||
"migrations_no_such_migration": "Estas neniu migrado nomata '{id}'",
|
||||
"permission_already_allowed": "Grupo '{group}' jam havas rajtigitan permeson '{permission}'",
|
||||
|
@ -151,14 +151,14 @@
|
|||
"migrations_running_forward": "Kuranta migrado {id}…",
|
||||
"migrations_success_forward": "Migrado {id} kompletigita",
|
||||
"operation_interrupted": "La operacio estis permane interrompita?",
|
||||
"permission_created": "Permesita '{permission:s}' kreita",
|
||||
"permission_deleted": "Permesita \"{permission:s}\" forigita",
|
||||
"permission_created": "Permesita '{permission}' kreita",
|
||||
"permission_deleted": "Permesita \"{permission}\" forigita",
|
||||
"permission_deletion_failed": "Ne povis forigi permeson '{permission}': {error}",
|
||||
"permission_not_found": "Permesita \"{permission:s}\" ne trovita",
|
||||
"permission_not_found": "Permesita \"{permission}\" ne trovita",
|
||||
"restore_not_enough_disk_space": "Ne sufiĉa spaco (spaco: {free_space:d} B, necesa spaco: {needed_space:d} B, sekureca marĝeno: {margin:d} B)",
|
||||
"tools_upgrade_regular_packages": "Nun ĝisdatigi 'regulajn' (ne-yunohost-rilatajn) pakojn …",
|
||||
"tools_upgrade_special_packages_explanation": "La speciala ĝisdatigo daŭros en la fono. Bonvolu ne komenci aliajn agojn en via servilo dum la sekvaj ~ 10 minutoj (depende de la aparata rapideco). Post tio, vi eble devos re-ensaluti al la retadreso. La ĝisdatiga registro estos havebla en Iloj → Ensaluto (en la retadreso) aŭ uzante 'yunohost logliston' (el la komandlinio).",
|
||||
"unrestore_app": "App '{app:s}' ne restarigos",
|
||||
"unrestore_app": "App '{app}' ne restarigos",
|
||||
"group_created": "Grupo '{group}' kreita",
|
||||
"group_creation_failed": "Ne povis krei la grupon '{group}': {error}",
|
||||
"group_deleted": "Grupo '{group}' forigita",
|
||||
|
@ -169,46 +169,44 @@
|
|||
"log_user_create": "Aldonu uzanton '{}'",
|
||||
"ip6tables_unavailable": "Vi ne povas ludi kun ip6tabloj ĉi tie. Vi estas en ujo aŭ via kerno ne subtenas ĝin",
|
||||
"mail_unavailable": "Ĉi tiu retpoŝta adreso estas rezervita kaj aŭtomate estos atribuita al la unua uzanto",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "La DNS 'A' rekordo por la domajno '{domain:s}' diferencas de la IP de ĉi tiu servilo. Se vi lastatempe modifis vian A-registron, bonvolu atendi ĝin propagandi (iuj DNS-disvastigaj kontroliloj estas disponeblaj interrete). (Se vi scias, kion vi faras, uzu '--no-checks' por malŝalti tiujn ĉekojn.)",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "La DNS 'A' rekordo por la domajno '{domain}' diferencas de la IP de ĉi tiu servilo. Se vi lastatempe modifis vian A-registron, bonvolu atendi ĝin propagandi (iuj DNS-disvastigaj kontroliloj estas disponeblaj interrete). (Se vi scias, kion vi faras, uzu '--no-checks' por malŝalti tiujn ĉekojn.)",
|
||||
"tools_upgrade_special_packages_completed": "Plenumis la ĝisdatigon de pakaĵoj de YunoHost.\nPremu [Enter] por retrovi la komandlinion",
|
||||
"log_remove_on_failed_install": "Forigu '{}' post malsukcesa instalado",
|
||||
"regenconf_file_manually_modified": "La agorddosiero '{conf}' estis modifita permane kaj ne estos ĝisdatigita",
|
||||
"regenconf_would_be_updated": "La agordo estus aktualigita por la kategorio '{category}'",
|
||||
"certmanager_cert_install_success_selfsigned": "Mem-subskribita atestilo nun instalita por la domajno '{domain:s}'",
|
||||
"global_settings_unknown_setting_from_settings_file": "Nekonata ŝlosilo en agordoj: '{setting_key:s}', forĵetu ĝin kaj konservu ĝin en /etc/yunohost/settings-unknown.json",
|
||||
"certmanager_cert_install_success_selfsigned": "Mem-subskribita atestilo nun instalita por la domajno '{domain}'",
|
||||
"global_settings_unknown_setting_from_settings_file": "Nekonata ŝlosilo en agordoj: '{setting_key}', forĵetu ĝin kaj konservu ĝin en /etc/yunohost/settings-unknown.json",
|
||||
"regenconf_file_backed_up": "Agordodosiero '{conf}' estis rezervita al '{backup}'",
|
||||
"iptables_unavailable": "Vi ne povas ludi kun iptables ĉi tie. Vi estas en ujo aŭ via kerno ne subtenas ĝin",
|
||||
"global_settings_cant_write_settings": "Ne eblis konservi agordojn, tial: {reason:s}",
|
||||
"service_added": "La servo '{service:s}' estis aldonita",
|
||||
"global_settings_cant_write_settings": "Ne eblis konservi agordojn, tial: {reason}",
|
||||
"service_added": "La servo '{service}' estis aldonita",
|
||||
"upnp_disabled": "UPnP malŝaltis",
|
||||
"service_started": "Servo '{service:s}' komenciĝis",
|
||||
"port_already_opened": "Haveno {port:d} estas jam malfermita por {ip_version:s} rilatoj",
|
||||
"installation_failed": "Io okazis malbone kun la instalado",
|
||||
"service_started": "Servo '{service}' komenciĝis",
|
||||
"port_already_opened": "Haveno {port:d} estas jam malfermita por {ip_version} rilatoj",
|
||||
"upgrading_packages": "Ĝisdatigi pakojn…",
|
||||
"custom_app_url_required": "Vi devas provizi URL por altgradigi vian kutimon app {app:s}",
|
||||
"service_reload_failed": "Ne povis reŝargi la servon '{service:s}'\n\nLastatempaj servaj protokoloj: {logs:s}",
|
||||
"custom_app_url_required": "Vi devas provizi URL por altgradigi vian kutimon app {app}",
|
||||
"service_reload_failed": "Ne povis reŝargi la servon '{service}'\n\nLastatempaj servaj protokoloj: {logs}",
|
||||
"packages_upgrade_failed": "Ne povis ĝisdatigi ĉiujn pakojn",
|
||||
"hook_json_return_error": "Ne povis legi revenon de hoko {path:s}. Eraro: {msg:s}. Kruda enhavo: {raw_content}",
|
||||
"hook_json_return_error": "Ne povis legi revenon de hoko {path}. Eraro: {msg}. Kruda enhavo: {raw_content}",
|
||||
"dyndns_key_not_found": "DNS-ŝlosilo ne trovita por la domajno",
|
||||
"tools_upgrade_regular_packages_failed": "Ne povis ĝisdatigi pakojn: {packages_list}",
|
||||
"service_start_failed": "Ne povis komenci la servon '{service:s}'\n\nLastatempaj servaj protokoloj: {logs:s}",
|
||||
"service_reloaded": "Servo '{service:s}' reŝargita",
|
||||
"service_start_failed": "Ne povis komenci la servon '{service}'\n\nLastatempaj servaj protokoloj: {logs}",
|
||||
"service_reloaded": "Servo '{service}' reŝargita",
|
||||
"system_upgraded": "Sistemo ĝisdatigita",
|
||||
"domain_deleted": "Domajno forigita",
|
||||
"certmanager_acme_not_configured_for_domain": "Atestilo por la domajno '{domain:s}' ne ŝajnas esti ĝuste instalita. Bonvolu ekzekuti 'cert-instali' por ĉi tiu regado unue.",
|
||||
"certmanager_acme_not_configured_for_domain": "Atestilo por la domajno '{domain}' ne ŝajnas esti ĝuste instalita. Bonvolu ekzekuti 'cert-instali' por ĉi tiu regado unue.",
|
||||
"user_update_failed": "Ne povis ĝisdatigi uzanton {user}: {error}",
|
||||
"restore_confirm_yunohost_installed": "Ĉu vi vere volas restarigi jam instalitan sistemon? [{answers:s}]",
|
||||
"restore_confirm_yunohost_installed": "Ĉu vi vere volas restarigi jam instalitan sistemon? [{answers}]",
|
||||
"pattern_positive_number": "Devas esti pozitiva nombro",
|
||||
"update_apt_cache_failed": "Ne eblis ĝisdatigi la kaŝmemoron de APT (paka administranto de Debian). Jen rubujo de la sources.list-linioj, kiuj povus helpi identigi problemajn liniojn:\n{sourceslist}",
|
||||
"migrations_no_migrations_to_run": "Neniuj migradoj por funkcii",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "La atestilo por la domajno '{domain:s}' ne estas elsendita de Let's Encrypt. Ne eblas renovigi ĝin aŭtomate!",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "La atestilo por la domajno '{domain}' ne estas elsendita de Let's Encrypt. Ne eblas renovigi ĝin aŭtomate!",
|
||||
"domain_dyndns_already_subscribed": "Vi jam abonis DynDNS-domajnon",
|
||||
"log_letsencrypt_cert_renew": "Renovigu '{}' Let's Encrypt atestilon",
|
||||
"ldap_init_failed_to_create_admin": "LDAP-iniciato ne povis krei administran uzanton",
|
||||
"backup_output_directory_required": "Vi devas provizi elirejan dosierujon por la sekurkopio",
|
||||
"tools_upgrade_cant_unhold_critical_packages": "Ne povis malŝalti kritikajn pakojn…",
|
||||
"log_link_to_log": "Plena ŝtipo de ĉi tiu operacio: '<a href=\"#/tools/logs/{name}\" style=\"text-decoration:underline\">{desc} </a>'",
|
||||
"global_settings_cant_serialize_settings": "Ne eblis serialigi datumojn pri agordoj, motivo: {reason:s}",
|
||||
"global_settings_cant_serialize_settings": "Ne eblis serialigi datumojn pri agordoj, motivo: {reason}",
|
||||
"backup_running_hooks": "Kurado de apogaj hokoj …",
|
||||
"unexpected_error": "Io neatendita iris malbone: {error}",
|
||||
"password_listed": "Ĉi tiu pasvorto estas inter la plej uzataj pasvortoj en la mondo. Bonvolu elekti ion pli unikan.",
|
||||
|
@ -222,36 +220,36 @@
|
|||
"migrations_loading_migration": "Ŝarĝante migradon {id}…",
|
||||
"pattern_mailbox_quota": "Devas esti grandeco kun la sufikso b/k/M/G/T aŭ 0 por ne havi kvoton",
|
||||
"user_deletion_failed": "Ne povis forigi uzanton {user}: {error}",
|
||||
"backup_with_no_backup_script_for_app": "La app '{app:s}' ne havas sekretan skripton. Ignorante.",
|
||||
"backup_with_no_backup_script_for_app": "La app '{app}' ne havas sekretan skripton. Ignorante.",
|
||||
"service_regen_conf_is_deprecated": "'yunohost service regen-conf' malakceptas! Bonvolu uzi anstataŭe 'yunohost tools regen-conf'.",
|
||||
"global_settings_key_doesnt_exists": "La ŝlosilo '{settings_key:s}' ne ekzistas en la tutmondaj agordoj, vi povas vidi ĉiujn disponeblajn klavojn per uzado de 'yunohost settings list'",
|
||||
"global_settings_key_doesnt_exists": "La ŝlosilo '{settings_key}' ne ekzistas en la tutmondaj agordoj, vi povas vidi ĉiujn disponeblajn klavojn per uzado de 'yunohost settings list'",
|
||||
"dyndns_no_domain_registered": "Neniu domajno registrita ĉe DynDNS",
|
||||
"dyndns_could_not_check_available": "Ne povis kontroli ĉu {domain:s} haveblas sur {provider:s}.",
|
||||
"hook_exec_not_terminated": "Skripto ne finiĝis ĝuste: {path:s}",
|
||||
"service_stopped": "Servo '{service:s}' ĉesis",
|
||||
"dyndns_could_not_check_available": "Ne povis kontroli ĉu {domain} haveblas sur {provider}.",
|
||||
"hook_exec_not_terminated": "Skripto ne finiĝis ĝuste: {path}",
|
||||
"service_stopped": "Servo '{service}' ĉesis",
|
||||
"restore_failed": "Ne povis restarigi sistemon",
|
||||
"confirm_app_install_danger": "Danĝero! Ĉi tiu apliko estas konata ankoraŭ eksperimenta (se ne eksplicite ne funkcias)! Vi probable ne devas instali ĝin krom se vi scias kion vi faras. NENIU SUBTENO estos provizita se ĉi tiu app ne funkcias aŭ rompas vian sistemon ... Se vi pretas riski ĉiuokaze, tajpu '{answers:s}'",
|
||||
"confirm_app_install_danger": "Danĝero! Ĉi tiu apliko estas konata ankoraŭ eksperimenta (se ne eksplicite ne funkcias)! Vi probable ne devas instali ĝin krom se vi scias kion vi faras. NENIU SUBTENO estos provizita se ĉi tiu app ne funkcias aŭ rompas vian sistemon ... Se vi pretas riski ĉiuokaze, tajpu '{answers}'",
|
||||
"log_operation_unit_unclosed_properly": "Operaciumo ne estis fermita ĝuste",
|
||||
"upgrade_complete": "Ĝisdatigo kompleta",
|
||||
"upnp_enabled": "UPnP ŝaltis",
|
||||
"mailbox_used_space_dovecot_down": "La poŝta servo de Dovecot devas funkcii, se vi volas akcepti uzitan poŝtan keston",
|
||||
"restore_system_part_failed": "Ne povis restarigi la sisteman parton '{part:s}'",
|
||||
"service_stop_failed": "Ne povis maldaŭrigi la servon '{service:s}'\n\nLastatempaj servaj protokoloj: {logs:s}",
|
||||
"unbackup_app": "App '{app:s}' ne konserviĝos",
|
||||
"restore_system_part_failed": "Ne povis restarigi la sisteman parton '{part}'",
|
||||
"service_stop_failed": "Ne povis maldaŭrigi la servon '{service}'\n\nLastatempaj servaj protokoloj: {logs}",
|
||||
"unbackup_app": "App '{app}' ne konserviĝos",
|
||||
"updating_apt_cache": "Akirante haveblajn ĝisdatigojn por sistemaj pakoj…",
|
||||
"tools_upgrade_at_least_one": "Bonvolu specifi '--apps' aŭ '--system'",
|
||||
"service_already_stopped": "La servo '{service:s}' jam ĉesis",
|
||||
"service_already_stopped": "La servo '{service}' jam ĉesis",
|
||||
"tools_upgrade_cant_both": "Ne eblas ĝisdatigi ambaŭ sistemon kaj programojn samtempe",
|
||||
"restore_extracting": "Eltirante bezonatajn dosierojn el la ar theivo…",
|
||||
"upnp_port_open_failed": "Ne povis malfermi havenon per UPnP",
|
||||
"log_app_upgrade": "Ĝisdatigu la aplikon '{}'",
|
||||
"log_help_to_get_failed_log": "La operacio '{desc}' ne povis finiĝi. Bonvolu dividi la plenan ŝtipon de ĉi tiu operacio per la komando 'yunohost log share {name}' por akiri helpon",
|
||||
"port_already_closed": "Haveno {port:d} estas jam fermita por {ip_version:s} rilatoj",
|
||||
"hook_name_unknown": "Nekonata hoko-nomo '{name:s}'",
|
||||
"dyndns_could_not_check_provide": "Ne povis kontroli ĉu {provider:s} povas provizi {domain:s}.",
|
||||
"port_already_closed": "Haveno {port:d} estas jam fermita por {ip_version} rilatoj",
|
||||
"hook_name_unknown": "Nekonata hoko-nomo '{name}'",
|
||||
"dyndns_could_not_check_provide": "Ne povis kontroli ĉu {provider} povas provizi {domain}.",
|
||||
"restore_nothings_done": "Nenio estis restarigita",
|
||||
"log_tools_postinstall": "Afiŝu vian servilon YunoHost",
|
||||
"dyndns_unavailable": "La domajno '{domain:s}' ne haveblas.",
|
||||
"dyndns_unavailable": "La domajno '{domain}' ne haveblas.",
|
||||
"experimental_feature": "Averto: Ĉi tiu funkcio estas eksperimenta kaj ne konsiderata stabila, vi ne uzu ĝin krom se vi scias kion vi faras.",
|
||||
"root_password_replaced_by_admin_password": "Via radika pasvorto estis anstataŭigita per via administra pasvorto.",
|
||||
"domain_unknown": "Nekonata domajno",
|
||||
|
@ -260,112 +258,110 @@
|
|||
"log_corrupted_md_file": "La YAD-metadata dosiero asociita kun protokoloj estas damaĝita: '{md_file}\nEraro: {error} '",
|
||||
"downloading": "Elŝutante …",
|
||||
"user_deleted": "Uzanto forigita",
|
||||
"service_enable_failed": "Ne povis fari la servon '{service:s}' aŭtomate komenci ĉe la ekkuro.\n\nLastatempaj servaj protokoloj: {logs:s}",
|
||||
"service_enable_failed": "Ne povis fari la servon '{service}' aŭtomate komenci ĉe la ekkuro.\n\nLastatempaj servaj protokoloj: {logs}",
|
||||
"tools_upgrade_special_packages": "Nun ĝisdatigi 'specialajn' (rilatajn al yunohost)…",
|
||||
"domains_available": "Haveblaj domajnoj:",
|
||||
"dyndns_registered": "Registrita domajno DynDNS",
|
||||
"service_description_fail2ban": "Protektas kontraŭ bruta forto kaj aliaj specoj de atakoj de la interreto",
|
||||
"file_does_not_exist": "La dosiero {path:s} ne ekzistas.",
|
||||
"file_does_not_exist": "La dosiero {path} ne ekzistas.",
|
||||
"yunohost_not_installed": "YunoHost ne estas ĝuste instalita. Bonvolu prilabori 'yunohost tools postinstall'",
|
||||
"restore_removing_tmp_dir_failed": "Ne povis forigi malnovan provizoran dosierujon",
|
||||
"certmanager_cannot_read_cert": "Io malbona okazis, kiam mi provis malfermi aktualan atestilon por domajno {domain:s} (dosiero: {file:s}), kialo: {reason:s}",
|
||||
"service_removed": "Servo '{service:s}' forigita",
|
||||
"certmanager_hit_rate_limit": "Tro multaj atestiloj jam eldonitaj por ĉi tiu ĝusta aro de domajnoj {domain:s} antaŭ nelonge. Bonvolu reprovi poste. Vidu https://letsencrypt.org/docs/rate-limits/ por pliaj detaloj",
|
||||
"certmanager_cannot_read_cert": "Io malbona okazis, kiam mi provis malfermi aktualan atestilon por domajno {domain} (dosiero: {file}), kialo: {reason}",
|
||||
"service_removed": "Servo '{service}' forigita",
|
||||
"certmanager_hit_rate_limit": "Tro multaj atestiloj jam eldonitaj por ĉi tiu ĝusta aro de domajnoj {domain} antaŭ nelonge. Bonvolu reprovi poste. Vidu https://letsencrypt.org/docs/rate-limits/ por pliaj detaloj",
|
||||
"pattern_firstname": "Devas esti valida antaŭnomo",
|
||||
"domain_cert_gen_failed": "Ne povis generi atestilon",
|
||||
"regenconf_file_kept_back": "La agorda dosiero '{conf}' estas atendita forigi per regen-conf (kategorio {category}), sed ĝi estis konservita.",
|
||||
"backup_with_no_restore_script_for_app": "La apliko \"{app:s}\" ne havas restarigan skripton, vi ne povos aŭtomate restarigi la sekurkopion de ĉi tiu apliko.",
|
||||
"backup_with_no_restore_script_for_app": "La apliko \"{app}\" ne havas restarigan skripton, vi ne povos aŭtomate restarigi la sekurkopion de ĉi tiu apliko.",
|
||||
"log_letsencrypt_cert_install": "Instalu atestilon Let's Encrypt sur '{}' regado",
|
||||
"log_dyndns_update": "Ĝisdatigu la IP asociita kun via subdominio YunoHost '{}'",
|
||||
"firewall_reload_failed": "Ne eblis reŝargi la firewall",
|
||||
"confirm_app_install_warning": "Averto: Ĉi tiu aplikaĵo povas funkcii, sed ne bone integras en YunoHost. Iuj funkcioj kiel ekzemple aliĝilo kaj sekurkopio / restarigo eble ne haveblos. Instali ĉiuokaze? [{answers:s}] ",
|
||||
"confirm_app_install_warning": "Averto: Ĉi tiu aplikaĵo povas funkcii, sed ne bone integras en YunoHost. Iuj funkcioj kiel ekzemple aliĝilo kaj sekurkopio / restarigo eble ne haveblos. Instali ĉiuokaze? [{answers}] ",
|
||||
"log_user_delete": "Forigi uzanton '{}'",
|
||||
"dyndns_ip_updated": "Ĝisdatigis vian IP sur DynDNS",
|
||||
"regenconf_up_to_date": "La agordo jam estas ĝisdatigita por kategorio '{category}'",
|
||||
"global_settings_setting_security_ssh_compatibility": "Kongruo vs sekureca kompromiso por la SSH-servilo. Afektas la ĉifradojn (kaj aliajn aspektojn pri sekureco)",
|
||||
"migrations_need_to_accept_disclaimer": "Por funkciigi la migradon {id}, via devas akcepti la sekvan malakcepton:\n---\n{disclaimer}\n---\nSe vi akceptas funkcii la migradon, bonvolu rekonduki la komandon kun la opcio '--accept-disclaimer'.",
|
||||
"regenconf_file_remove_failed": "Ne povis forigi la agordodosieron '{conf}'",
|
||||
"not_enough_disk_space": "Ne sufiĉe libera spaco sur '{path:s}'",
|
||||
"not_enough_disk_space": "Ne sufiĉe libera spaco sur '{path}'",
|
||||
"dyndns_ip_update_failed": "Ne povis ĝisdatigi IP-adreson al DynDNS",
|
||||
"ssowat_conf_updated": "SSOwat-agordo ĝisdatigita",
|
||||
"log_link_to_failed_log": "Ne povis plenumi la operacion '{desc}'. Bonvolu provizi la plenan protokolon de ĉi tiu operacio per <a href=\"#/tools/logs/{name}\">alklakante ĉi tie </a> por akiri helpon",
|
||||
"user_home_creation_failed": "Ne povis krei dosierujon \"home\" por uzanto",
|
||||
"pattern_backup_archive_name": "Devas esti valida dosiernomo kun maksimume 30 signoj, alfanombraj kaj -_. signoj nur",
|
||||
"restore_cleaning_failed": "Ne eblis purigi la adresaron de provizora restarigo",
|
||||
"dyndns_registration_failed": "Ne povis registri DynDNS-domajnon: {error:s}",
|
||||
"user_unknown": "Nekonata uzanto: {user:s}",
|
||||
"dyndns_registration_failed": "Ne povis registri DynDNS-domajnon: {error}",
|
||||
"user_unknown": "Nekonata uzanto: {user}",
|
||||
"migrations_to_be_ran_manually": "Migrado {id} devas funkcii permane. Bonvolu iri al Iloj → Migradoj en la retpaĝa paĝo, aŭ kuri `yunohost tools migrations run`.",
|
||||
"certmanager_cert_renew_success": "Ni Ĉifru atestilon renovigitan por la domajno '{domain:s}'",
|
||||
"global_settings_reset_success": "Antaŭaj agordoj nun estas rezervitaj al {path:s}",
|
||||
"certmanager_cert_renew_success": "Ni Ĉifru atestilon renovigitan por la domajno '{domain}'",
|
||||
"global_settings_reset_success": "Antaŭaj agordoj nun estas rezervitaj al {path}",
|
||||
"pattern_domain": "Devas esti valida domajna nomo (t.e. mia-domino.org)",
|
||||
"dyndns_key_generating": "Generi DNS-ŝlosilon ... Eble daŭros iom da tempo.",
|
||||
"restore_running_app_script": "Restarigi la programon '{app:s}'…",
|
||||
"restore_running_app_script": "Restarigi la programon '{app}'…",
|
||||
"migrations_skip_migration": "Salti migradon {id}…",
|
||||
"regenconf_file_removed": "Agordodosiero '{conf}' forigita",
|
||||
"log_tools_shutdown": "Enŝaltu vian servilon",
|
||||
"password_too_simple_3": "La pasvorto bezonas almenaŭ 8 signojn kaj enhavas ciferon, majusklon, pli malaltan kaj specialajn signojn",
|
||||
"backup_output_symlink_dir_broken": "Via arkiva dosierujo '{path:s}' estas rompita ligilo. Eble vi forgesis restarigi aŭ munti aŭ enŝovi la stokadon, al kiu ĝi notas.",
|
||||
"backup_output_symlink_dir_broken": "Via arkiva dosierujo '{path}' estas rompita ligilo. Eble vi forgesis restarigi aŭ munti aŭ enŝovi la stokadon, al kiu ĝi notas.",
|
||||
"good_practices_about_admin_password": "Vi nun estas por difini novan administran pasvorton. La pasvorto devas esti almenaŭ 8 signojn - kvankam estas bone praktiki uzi pli longan pasvorton (t.e. pasfrazon) kaj/aŭ uzi variaĵon de signoj (majuskloj, minuskloj, ciferoj kaj specialaj signoj).",
|
||||
"certmanager_attempt_to_renew_valid_cert": "La atestilo por la domajno '{domain:s}' ne finiĝos! (Vi eble uzos --force se vi scias kion vi faras)",
|
||||
"certmanager_attempt_to_renew_valid_cert": "La atestilo por la domajno '{domain}' ne finiĝos! (Vi eble uzos --force se vi scias kion vi faras)",
|
||||
"restore_running_hooks": "Kurantaj restarigaj hokoj…",
|
||||
"regenconf_pending_applying": "Aplikante pritraktata agordo por kategorio '{category}'…",
|
||||
"service_description_dovecot": "Permesas al retpoŝtaj klientoj aliri / serĉi retpoŝton (per IMAP kaj POP3)",
|
||||
"domain_dns_conf_is_just_a_recommendation": "Ĉi tiu komando montras al vi la *rekomenditan* agordon. Ĝi efektive ne agordas la DNS-agordon por vi. Via respondeco agordi vian DNS-zonon en via registristo laŭ ĉi tiu rekomendo.",
|
||||
"log_backup_restore_system": "Restarigi sistemon de rezerva arkivo",
|
||||
"log_app_change_url": "Ŝanĝu la URL de la apliko '{}'",
|
||||
"service_already_started": "La servo '{service:s}' jam funkcias",
|
||||
"service_already_started": "La servo '{service}' jam funkcias",
|
||||
"global_settings_setting_security_password_admin_strength": "Admin pasvorta forto",
|
||||
"service_reload_or_restart_failed": "Ne povis reŝargi aŭ rekomenci la servon '{service:s}'\n\nLastatempaj servaj protokoloj: {logs:s}",
|
||||
"service_reload_or_restart_failed": "Ne povis reŝargi aŭ rekomenci la servon '{service}'\n\nLastatempaj servaj protokoloj: {logs}",
|
||||
"migrations_list_conflict_pending_done": "Vi ne povas uzi ambaŭ '--previous' kaj '--done' samtempe.",
|
||||
"server_shutdown_confirm": "La servilo haltos tuj, ĉu vi certas? [{answers:s}]",
|
||||
"server_shutdown_confirm": "La servilo haltos tuj, ĉu vi certas? [{answers}]",
|
||||
"log_backup_restore_app": "Restarigu '{}' de rezerva ar archiveivo",
|
||||
"log_does_exists": "Ne estas operacio kun la nomo '{log}', uzu 'yunohost log list' por vidi ĉiujn disponeblajn operaciojn",
|
||||
"service_add_failed": "Ne povis aldoni la servon '{service:s}'",
|
||||
"service_add_failed": "Ne povis aldoni la servon '{service}'",
|
||||
"pattern_password_app": "Bedaŭrinde, pasvortoj ne povas enhavi jenajn signojn: {forbidden_chars}",
|
||||
"this_action_broke_dpkg": "Ĉi tiu ago rompis dpkg / APT (la administrantoj pri la paka sistemo) ... Vi povas provi solvi ĉi tiun problemon per konekto per SSH kaj funkcianta `sudo dpkg --configure -a`.",
|
||||
"log_regen_conf": "Regeneri sistemajn agordojn '{}'",
|
||||
"restore_hook_unavailable": "Restariga skripto por '{part:s}' ne haveblas en via sistemo kaj ankaŭ ne en la ar theivo",
|
||||
"restore_hook_unavailable": "Restariga skripto por '{part}' ne haveblas en via sistemo kaj ankaŭ ne en la ar theivo",
|
||||
"log_dyndns_subscribe": "Aboni al YunoHost-subdominio '{}'",
|
||||
"password_too_simple_4": "La pasvorto bezonas almenaŭ 12 signojn kaj enhavas ciferon, majuskle, pli malaltan kaj specialajn signojn",
|
||||
"regenconf_file_updated": "Agordodosiero '{conf}' ĝisdatigita",
|
||||
"log_help_to_get_log": "Por vidi la protokolon de la operacio '{desc}', uzu la komandon 'yunohost log show {name}{name}'",
|
||||
"global_settings_setting_security_nginx_compatibility": "Kongruo vs sekureca kompromiso por la TTT-servilo NGINX. Afektas la ĉifradojn (kaj aliajn aspektojn pri sekureco)",
|
||||
"restore_complete": "Restarigita",
|
||||
"hook_exec_failed": "Ne povis funkcii skripto: {path:s}",
|
||||
"global_settings_cant_open_settings": "Ne eblis malfermi agordojn, tial: {reason:s}",
|
||||
"hook_exec_failed": "Ne povis funkcii skripto: {path}",
|
||||
"global_settings_cant_open_settings": "Ne eblis malfermi agordojn, tial: {reason}",
|
||||
"user_created": "Uzanto kreita",
|
||||
"service_description_avahi-daemon": "Permesas al vi atingi vian servilon uzante 'yunohost.local' en via loka reto",
|
||||
"certmanager_attempt_to_replace_valid_cert": "Vi provas anstataŭigi bonan kaj validan atestilon por domajno {domain:s}! (Uzu --forte pretervidi)",
|
||||
"certmanager_attempt_to_replace_valid_cert": "Vi provas anstataŭigi bonan kaj validan atestilon por domajno {domain}! (Uzu --forte pretervidi)",
|
||||
"regenconf_updated": "Agordo ĝisdatigita por '{category}'",
|
||||
"update_apt_cache_warning": "Io iris malbone dum la ĝisdatigo de la kaŝmemoro de APT (paka administranto de Debian). Jen rubujo de la sources.list-linioj, kiuj povus helpi identigi problemajn liniojn:\n{sourceslist}",
|
||||
"regenconf_dry_pending_applying": "Kontrolado de pritraktata agordo, kiu estus aplikita por kategorio '{category}'…",
|
||||
"regenconf_file_copy_failed": "Ne povis kopii la novan agordodosieron '{new}' al '{conf}'",
|
||||
"restore_already_installed_app": "App kun la ID '{app:s}' estas jam instalita",
|
||||
"mail_domain_unknown": "Nevalida retadreso por domajno '{domain:s}'. Bonvolu uzi domajnon administritan de ĉi tiu servilo.",
|
||||
"restore_already_installed_app": "App kun la ID '{app}' estas jam instalita",
|
||||
"mail_domain_unknown": "Nevalida retadreso por domajno '{domain}'. Bonvolu uzi domajnon administritan de ĉi tiu servilo.",
|
||||
"migrations_cant_reach_migration_file": "Ne povis aliri migrajn dosierojn ĉe la vojo '% s'",
|
||||
"pattern_email": "Devas esti valida retpoŝta adreso (t.e. iu@ekzemple.com)",
|
||||
"mail_alias_remove_failed": "Ne povis forigi retpoŝton alias '{mail:s}'",
|
||||
"mail_alias_remove_failed": "Ne povis forigi retpoŝton alias '{mail}'",
|
||||
"regenconf_file_manually_removed": "La dosiero de agordo '{conf}' estis forigita permane, kaj ne estos kreita",
|
||||
"domain_exists": "La domajno jam ekzistas",
|
||||
"ldap_initialized": "LDAP inicializis",
|
||||
"certmanager_domain_cert_not_selfsigned": "La atestilo por domajno {domain:s} ne estas mem-subskribita. Ĉu vi certas, ke vi volas anstataŭigi ĝin? (Uzu '--force' por fari tion.)",
|
||||
"certmanager_unable_to_parse_self_CA_name": "Ne povis trapasi nomon de mem-subskribinta aŭtoritato (dosiero: {file:s})",
|
||||
"certmanager_domain_cert_not_selfsigned": "La atestilo por domajno {domain} ne estas mem-subskribita. Ĉu vi certas, ke vi volas anstataŭigi ĝin? (Uzu '--force' por fari tion.)",
|
||||
"certmanager_unable_to_parse_self_CA_name": "Ne povis trapasi nomon de mem-subskribinta aŭtoritato (dosiero: {file})",
|
||||
"log_selfsigned_cert_install": "Instalu mem-subskribitan atestilon sur '{}' domajno",
|
||||
"log_tools_reboot": "Reklamu vian servilon",
|
||||
"certmanager_cert_install_success": "Ni Ĉifru atestilon nun instalitan por la domajno '{domain:s}'",
|
||||
"global_settings_bad_choice_for_enum": "Malbona elekto por agordo {setting:s}, ricevita '{choice:s}', sed disponeblaj elektoj estas: {available_choices:s}",
|
||||
"certmanager_cert_install_success": "Ni Ĉifru atestilon nun instalitan por la domajno '{domain}'",
|
||||
"global_settings_bad_choice_for_enum": "Malbona elekto por agordo {setting}, ricevita '{choice}', sed disponeblaj elektoj estas: {available_choices}",
|
||||
"server_shutdown": "La servilo haltos",
|
||||
"log_tools_migrations_migrate_forward": "Kuru migradoj",
|
||||
"regenconf_now_managed_by_yunohost": "La agorda dosiero '{conf}' nun estas administrata de YunoHost (kategorio {category}).",
|
||||
"server_reboot_confirm": "Ĉu la servilo rekomencos tuj, ĉu vi certas? [{answers:s}]",
|
||||
"server_reboot_confirm": "Ĉu la servilo rekomencos tuj, ĉu vi certas? [{answers}]",
|
||||
"log_app_install": "Instalu la aplikon '{}'",
|
||||
"service_description_dnsmasq": "Traktas rezolucion de domajna nomo (DNS)",
|
||||
"global_settings_unknown_type": "Neatendita situacio, la agordo {setting:s} ŝajnas havi la tipon {unknown_type:s} sed ĝi ne estas tipo subtenata de la sistemo.",
|
||||
"global_settings_unknown_type": "Neatendita situacio, la agordo {setting} ŝajnas havi la tipon {unknown_type} sed ĝi ne estas tipo subtenata de la sistemo.",
|
||||
"domain_hostname_failed": "Ne povis agordi novan gastigilon. Ĉi tio eble kaŭzos problemon poste (eble bone).",
|
||||
"server_reboot": "La servilo rekomenciĝos",
|
||||
"regenconf_failed": "Ne povis regeneri la agordon por kategorio(j): {categories}",
|
||||
"domain_uninstall_app_first": "Unu aŭ pluraj programoj estas instalitaj en ĉi tiu domajno. Bonvolu malinstali ilin antaŭ ol daŭrigi la domajnan forigon",
|
||||
"service_unknown": "Nekonata servo '{service:s}'",
|
||||
"service_unknown": "Nekonata servo '{service}'",
|
||||
"domain_deletion_failed": "Ne eblas forigi domajnon {domain}: {error}",
|
||||
"log_user_update": "Ĝisdatigu uzantinformojn de '{}'",
|
||||
"user_creation_failed": "Ne povis krei uzanton {user}: {error}",
|
||||
|
@ -373,34 +369,34 @@
|
|||
"done": "Farita",
|
||||
"log_domain_remove": "Forigi domon '{}' de agordo de sistemo",
|
||||
"hook_list_by_invalid": "Ĉi tiu posedaĵo ne povas esti uzata por listigi hokojn",
|
||||
"confirm_app_install_thirdparty": "Danĝero! Ĉi tiu apliko ne estas parto de la aplika katalogo de Yunohost. Instali triajn aplikojn povas kompromiti la integrecon kaj sekurecon de via sistemo. Vi probable ne devas instali ĝin krom se vi scias kion vi faras. NENIU SUBTENO estos provizita se ĉi tiu app ne funkcias aŭ rompas vian sistemon ... Se vi pretas riski ĉiuokaze, tajpu '{answers:s}'",
|
||||
"confirm_app_install_thirdparty": "Danĝero! Ĉi tiu apliko ne estas parto de la aplika katalogo de Yunohost. Instali triajn aplikojn povas kompromiti la integrecon kaj sekurecon de via sistemo. Vi probable ne devas instali ĝin krom se vi scias kion vi faras. NENIU SUBTENO estos provizita se ĉi tiu app ne funkcias aŭ rompas vian sistemon ... Se vi pretas riski ĉiuokaze, tajpu '{answers}'",
|
||||
"global_settings_setting_service_ssh_allow_deprecated_dsa_hostkey": "Permesu uzon de (malaktuala) DSA-hostkey por la agordo de daemon SSH",
|
||||
"dyndns_domain_not_provided": "Provizanto DynDNS {provider:s} ne povas provizi domajnon {domain:s}.",
|
||||
"dyndns_domain_not_provided": "Provizanto DynDNS {provider} ne povas provizi domajnon {domain}.",
|
||||
"backup_unable_to_organize_files": "Ne povis uzi la rapidan metodon por organizi dosierojn en la ar archiveivo",
|
||||
"password_too_simple_2": "La pasvorto bezonas almenaŭ 8 signojn kaj enhavas ciferon, majusklojn kaj minusklojn",
|
||||
"service_cmd_exec_failed": "Ne povis plenumi la komandon '{command:s}'",
|
||||
"service_cmd_exec_failed": "Ne povis plenumi la komandon '{command}'",
|
||||
"pattern_lastname": "Devas esti valida familinomo",
|
||||
"service_enabled": "La servo '{service:s}' nun aŭtomate komenciĝos dum sistemaj botoj.",
|
||||
"certmanager_no_cert_file": "Ne povis legi la atestan dosieron por la domajno {domain:s} (dosiero: {file:s})",
|
||||
"service_enabled": "La servo '{service}' nun aŭtomate komenciĝos dum sistemaj botoj.",
|
||||
"certmanager_no_cert_file": "Ne povis legi la atestan dosieron por la domajno {domain} (dosiero: {file})",
|
||||
"domain_creation_failed": "Ne eblas krei domajnon {domain}: {error}",
|
||||
"certmanager_domain_http_not_working": "Ŝajnas ke la domajno {domain:s} ne atingeblas per HTTP. Kontrolu, ke via DNS kaj NGINX-agordo ĝustas",
|
||||
"domain_cannot_remove_main": "Vi ne povas forigi '{domain:s}' ĉar ĝi estas la ĉefa domajno, vi bezonas unue agordi alian domajnon kiel la ĉefan domajnon per uzado de 'yunohost domain main-domain -n <another-domain>', jen la listo de kandidataj domajnoj. : {other_domains:s}",
|
||||
"service_reloaded_or_restarted": "La servo '{service:s}' estis reŝarĝita aŭ rekomencita",
|
||||
"certmanager_domain_http_not_working": "Ŝajnas ke la domajno {domain} ne atingeblas per HTTP. Kontrolu, ke via DNS kaj NGINX-agordo ĝustas",
|
||||
"domain_cannot_remove_main": "Vi ne povas forigi '{domain}' ĉar ĝi estas la ĉefa domajno, vi bezonas unue agordi alian domajnon kiel la ĉefan domajnon per uzado de 'yunohost domain main-domain -n <another-domain>', jen la listo de kandidataj domajnoj. : {other_domains}",
|
||||
"service_reloaded_or_restarted": "La servo '{service}' estis reŝarĝita aŭ rekomencita",
|
||||
"log_domain_add": "Aldonu '{}' domajnon en sisteman agordon",
|
||||
"global_settings_bad_type_for_setting": "Malbona tipo por agordo {setting:s}, ricevita {received_type:s}, atendata {expected_type:s}",
|
||||
"global_settings_bad_type_for_setting": "Malbona tipo por agordo {setting}, ricevita {received_type}, atendata {expected_type}",
|
||||
"unlimit": "Neniu kvoto",
|
||||
"system_username_exists": "Uzantnomo jam ekzistas en la listo de uzantoj de sistemo",
|
||||
"firewall_reloaded": "Fajroŝirmilo reŝarĝis",
|
||||
"service_restarted": "Servo '{service:s}' rekomencis",
|
||||
"service_restarted": "Servo '{service}' rekomencis",
|
||||
"pattern_username": "Devas esti minuskulaj literoj kaj minuskloj nur",
|
||||
"extracting": "Eltirante…",
|
||||
"app_restore_failed": "Ne povis restarigi la programon '{app:s}': {error:s}",
|
||||
"app_restore_failed": "Ne povis restarigi la programon '{app}': {error}",
|
||||
"yunohost_configured": "YunoHost nun estas agordita",
|
||||
"certmanager_self_ca_conf_file_not_found": "Ne povis trovi agorddosieron por mem-subskriba aŭtoritato (dosiero: {file:s})",
|
||||
"certmanager_self_ca_conf_file_not_found": "Ne povis trovi agorddosieron por mem-subskriba aŭtoritato (dosiero: {file})",
|
||||
"log_app_remove": "Forigu la aplikon '{}'",
|
||||
"service_restart_failed": "Ne povis rekomenci la servon '{service:s}'\n\nLastatempaj servaj protokoloj: {logs:s}",
|
||||
"service_restart_failed": "Ne povis rekomenci la servon '{service}'\n\nLastatempaj servaj protokoloj: {logs}",
|
||||
"firewall_rules_cmd_failed": "Iuj komandoj pri fajroŝirmilo malsukcesis. Pliaj informoj en ensaluto.",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "Provante uzi la novan atestilon por {domain:s} ne funkciis …",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "Provante uzi la novan atestilon por {domain} ne funkciis …",
|
||||
"app_full_domain_unavailable": "Bedaŭrinde, ĉi tiu app devas esti instalita sur propra domajno, sed aliaj programoj jam estas instalitaj sur la domajno '{domain}'. Vi povus uzi subdominon dediĉitan al ĉi tiu app anstataŭe.",
|
||||
"group_cannot_edit_all_users": "La grupo 'all_users' ne povas esti redaktita permane. Ĝi estas speciala grupo celita enhavi ĉiujn uzantojn registritajn en YunoHost",
|
||||
"group_cannot_edit_visitors": "La grupo 'vizitantoj' ne povas esti redaktita permane. Ĝi estas speciala grupo reprezentanta anonimajn vizitantojn",
|
||||
|
@ -410,7 +406,7 @@
|
|||
"permission_currently_allowed_for_all_users": "Ĉi tiu permeso estas nuntempe donita al ĉiuj uzantoj aldone al aliaj grupoj. Vi probable volas aŭ forigi la permeson \"all_users\" aŭ forigi la aliajn grupojn, kiujn ĝi nuntempe donas.",
|
||||
"app_install_failed": "Ne povis instali {app}: {error}",
|
||||
"app_install_script_failed": "Eraro okazis en la skripto de instalado de la app",
|
||||
"app_remove_after_failed_install": "Forigado de la app post la instala fiasko …",
|
||||
"app_remove_after_failed_install": "Forigado de la programo post la instalado-fiasko ...",
|
||||
"diagnosis_basesystem_host": "Servilo funkcias Debian {debian_version}",
|
||||
"apps_catalog_init_success": "Aplikoj katalogsistemo inicializita !",
|
||||
"apps_catalog_updating": "Ĝisdatigante katalogo de aplikoj …",
|
||||
|
@ -487,7 +483,7 @@
|
|||
"diagnosis_http_could_not_diagnose_details": "Eraro: {error}",
|
||||
"diagnosis_http_ok": "Domajno {domain} atingebla per HTTP de ekster la loka reto.",
|
||||
"diagnosis_http_unreachable": "Domajno {domain} ŝajnas neatingebla per HTTP de ekster la loka reto.",
|
||||
"domain_cannot_remove_main_add_new_one": "Vi ne povas forigi '{domain:s}' ĉar ĝi estas la ĉefa domajno kaj via sola domajno, vi devas unue aldoni alian domajnon uzante ''yunohost domain add <another-domain.com>', tiam agordi kiel ĉefan domajnon uzante 'yunohost domain main-domain -n <another-domain.com>' kaj tiam vi povas forigi la domajnon' {domain:s} 'uzante' yunohost domain remove {domain:s} '.'",
|
||||
"domain_cannot_remove_main_add_new_one": "Vi ne povas forigi '{domain}' ĉar ĝi estas la ĉefa domajno kaj via sola domajno, vi devas unue aldoni alian domajnon uzante ''yunohost domain add <another-domain.com>', tiam agordi kiel ĉefan domajnon uzante 'yunohost domain main-domain -n <another-domain.com>' kaj tiam vi povas forigi la domajnon' {domain} 'uzante' yunohost domain remove {domain} '.'",
|
||||
"permission_require_account": "Permesilo {permission} nur havas sencon por uzantoj, kiuj havas konton, kaj tial ne rajtas esti ebligitaj por vizitantoj.",
|
||||
"diagnosis_found_warnings": "Trovitaj {warnings} ero (j) kiuj povus esti plibonigitaj por {category}.",
|
||||
"diagnosis_everything_ok": "Ĉio aspektas bone por {category}!",
|
||||
|
@ -498,14 +494,14 @@
|
|||
"log_app_config_show_panel": "Montri la agordan panelon de la apliko '{}'",
|
||||
"log_app_config_apply": "Apliki agordon al la apliko '{}'",
|
||||
"diagnosis_never_ran_yet": "Ŝajnas, ke ĉi tiu servilo estis instalita antaŭ nelonge kaj estas neniu diagnoza raporto por montri. Vi devas komenci kurante plenan diagnozon, ĉu de la retadministro aŭ uzante 'yunohost diagnosis run' el la komandlinio.",
|
||||
"certmanager_warning_subdomain_dns_record": "Subdominio '{subdomain:s}' ne solvas al la sama IP-adreso kiel '{domain:s}'. Iuj funkcioj ne estos haveblaj ĝis vi riparos ĉi tion kaj regeneros la atestilon.",
|
||||
"certmanager_warning_subdomain_dns_record": "Subdominio '{subdomain}' ne solvas al la sama IP-adreso kiel '{domain}'. Iuj funkcioj ne estos haveblaj ĝis vi riparos ĉi tion kaj regeneros la atestilon.",
|
||||
"diagnosis_basesystem_hardware": "Arkitekturo de servila aparataro estas {virt} {arch}",
|
||||
"diagnosis_description_web": "Reta",
|
||||
"domain_cannot_add_xmpp_upload": "Vi ne povas aldoni domajnojn per 'xmpp-upload'. Ĉi tiu speco de nomo estas rezervita por la XMPP-alŝuta funkcio integrita en YunoHost.",
|
||||
"group_already_exist_on_system_but_removing_it": "Grupo {group} jam ekzistas en la sistemaj grupoj, sed YunoHost forigos ĝin …",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_relay_vpn": "Iuj provizantoj ne lasos vin malŝlosi elirantan havenon 25 ĉar ili ne zorgas pri Neta Neŭtraleco.<br>- Iuj el ili provizas la alternativon de <a href='https://yunohost.org/#/smtp_relay'>uzante retpoŝtan servilon</a> kvankam ĝi implicas, ke la relajso povos spioni vian retpoŝtan trafikon.<br>- Amika privateco estas uzi VPN * kun dediĉita publika IP * por pretervidi ĉi tiun specon. de limoj. Vidu <a href='https://yunohost.org/#/vpn_avantage'>https://yunohost.org/#/vpn_avantage</a><br>- Vi ankaŭ povas konsideri ŝanĝi al <a href='https://yunohost.org/#/isp'>pli neta neŭtraleco-amika provizanto</a>",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_relay_vpn": "Iuj provizantoj ne lasos vin malŝlosi elirantan havenon 25 ĉar ili ne zorgas pri Neta Neŭtraleco.<br>- Iuj el ili provizas la alternativon de <a href='https://yunohost.org/#/email_configure_relay'>uzante retpoŝtan servilon</a> kvankam ĝi implicas, ke la relajso povos spioni vian retpoŝtan trafikon.<br>- Amika privateco estas uzi VPN * kun dediĉita publika IP * por pretervidi ĉi tiun specon. de limoj. Vidu <a href='https://yunohost.org/#/vpn_avantage'>https://yunohost.org/#/vpn_avantage</a><br>- Vi ankaŭ povas konsideri ŝanĝi al <a href='https://yunohost.org/#/isp'>pli neta neŭtraleco-amika provizanto</a>",
|
||||
"diagnosis_mail_fcrdns_nok_details": "Vi unue provu agordi la inversan DNS kun <code>{ehlo_domain}</code> en via interreta enkursigilo aŭ en via retprovizanta interfaco. (Iuj gastigantaj provizantoj eble postulas, ke vi sendu al ili subtenan bileton por ĉi tio).",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_4": "Iuj provizantoj ne lasos vin agordi vian inversan DNS (aŭ ilia funkcio povus esti rompita ...). Se vi spertas problemojn pro tio, konsideru jenajn solvojn:<br>- Iuj ISP provizas la alternativon de <a href='https://yunohost.org/#/smtp_relay'>uzante retpoŝtan servilon</a> kvankam ĝi implicas, ke la relajso povos spioni vian retpoŝtan trafikon.<br>- Interreta privateco estas uzi VPN * kun dediĉita publika IP * por preterpasi ĉi tiajn limojn. Vidu <a href='https://yunohost.org/#/vpn_avantage'>https://yunohost.org/#/vpn_avantage</a><br>- Finfine eblas ankaŭ <a href='https://yunohost.org/#/isp'>ŝanĝo de provizanto</a>",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_4": "Iuj provizantoj ne lasos vin agordi vian inversan DNS (aŭ ilia funkcio povus esti rompita ...). Se vi spertas problemojn pro tio, konsideru jenajn solvojn:<br>- Iuj ISP provizas la alternativon de <a href='https://yunohost.org/#/email_configure_relay'>uzante retpoŝtan servilon</a> kvankam ĝi implicas, ke la relajso povos spioni vian retpoŝtan trafikon.<br>- Interreta privateco estas uzi VPN * kun dediĉita publika IP * por preterpasi ĉi tiajn limojn. Vidu <a href='https://yunohost.org/#/vpn_avantage'>https://yunohost.org/#/vpn_avantage</a><br>- Finfine eblas ankaŭ <a href='https://yunohost.org/#/isp'>ŝanĝo de provizanto</a>",
|
||||
"diagnosis_display_tip": "Por vidi la trovitajn problemojn, vi povas iri al la sekcio pri Diagnozo de la reteja administrado, aŭ funkcii \"yunohost diagnosis show --issues --human-readable\" el la komandlinio.",
|
||||
"diagnosis_ip_global": "Tutmonda IP: <code>{global} </code>",
|
||||
"diagnosis_ip_local": "Loka IP: <code>{local} </code>",
|
||||
|
@ -540,5 +536,19 @@
|
|||
"diagnosis_http_partially_unreachable": "Domajno {domain} ŝajnas neatingebla per HTTP de ekster la loka reto en IPv {failed}, kvankam ĝi funkcias en IPv {passed}.",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date": "La nginx-agordo de ĉi tiu domajno ŝajnas esti modifita permane, kaj malhelpas YunoHost diagnozi ĉu ĝi atingeblas per HTTP.",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date_details": "Por solvi la situacion, inspektu la diferencon per la komandlinio per <cmd>yunohost tools regen-conf nginx --dry-run --with-diff</cmd> kaj se vi aranĝas, apliku la ŝanĝojn per <cmd>yunohost tools regen-conf nginx --force</cmd>.",
|
||||
"global_settings_setting_smtp_allow_ipv6": "Permesu la uzon de IPv6 por ricevi kaj sendi poŝton"
|
||||
"global_settings_setting_smtp_allow_ipv6": "Permesu la uzon de IPv6 por ricevi kaj sendi poŝton",
|
||||
"backup_archive_corrupted": "I aspektas kiel la rezerva arkivo '{archive}' estas koruptita: {error}",
|
||||
"backup_archive_cant_retrieve_info_json": "Ne povis ŝarĝi infos por arkivo '{archive}' ... la info.json ne povas esti reprenita (aŭ ne estas valida JSON).",
|
||||
"ask_user_domain": "Domajno uzi por la retpoŝta adreso de la uzanto kaj XMPP-konto",
|
||||
"app_packaging_format_not_supported": "Ĉi tiu programo ne povas esti instalita ĉar ĝia pakita formato ne estas subtenata de via Yunohost-versio. Vi probable devas konsideri ĝisdatigi vian sistemon.",
|
||||
"app_restore_script_failed": "Eraro okazis ene de la App Restarigu Skripton",
|
||||
"app_manifest_install_ask_is_public": "Ĉu ĉi tiu programo devas esti eksponita al anonimaj vizitantoj?",
|
||||
"app_manifest_install_ask_admin": "Elektu administran uzanton por ĉi tiu programo",
|
||||
"app_manifest_install_ask_password": "Elektu administradan pasvorton por ĉi tiu programo",
|
||||
"app_manifest_install_ask_path": "Elektu la vojon, kie ĉi tiu programo devas esti instalita",
|
||||
"app_manifest_install_ask_domain": "Elektu la domajnon, kie ĉi tiu programo devas esti instalita",
|
||||
"app_label_deprecated": "Ĉi tiu komando estas malrekomendita! Bonvolu uzi la novan komandon 'yunohost user permission update' por administri la app etikedo.",
|
||||
"app_argument_password_no_default": "Eraro dum analiza pasvorta argumento '{name}': pasvorta argumento ne povas havi defaŭltan valoron por sekureca kialo",
|
||||
"additional_urls_already_removed": "Plia URL '{url}' jam forigita en la aldona URL por permeso '{permission}'",
|
||||
"additional_urls_already_added": "Plia URL '{url}' jam aldonita en la aldona URL por permeso '{permission}'"
|
||||
}
|
258
locales/es.json
258
locales/es.json
|
@ -1,49 +1,49 @@
|
|||
{
|
||||
"action_invalid": "Acción no válida '{action:s} 1'",
|
||||
"action_invalid": "Acción no válida '{action} 1'",
|
||||
"admin_password": "Contraseña administrativa",
|
||||
"admin_password_change_failed": "No se pudo cambiar la contraseña",
|
||||
"admin_password_changed": "La contraseña de administración fue cambiada",
|
||||
"app_already_installed": "{app:s} ya está instalada",
|
||||
"app_argument_choice_invalid": "Use una de estas opciones «{choices:s}» para el argumento «{name:s}»",
|
||||
"app_argument_invalid": "Elija un valor válido para el argumento «{name:s}»: {error:s}",
|
||||
"app_argument_required": "Se requiere el argumento '{name:s} 7'",
|
||||
"app_already_installed": "{app} ya está instalada",
|
||||
"app_argument_choice_invalid": "Use una de estas opciones «{choices}» para el argumento «{name}»",
|
||||
"app_argument_invalid": "Elija un valor válido para el argumento «{name}»: {error}",
|
||||
"app_argument_required": "Se requiere el argumento '{name} 7'",
|
||||
"app_extraction_failed": "No se pudieron extraer los archivos de instalación",
|
||||
"app_id_invalid": "ID de la aplicación no válida",
|
||||
"app_install_files_invalid": "Estos archivos no se pueden instalar",
|
||||
"app_manifest_invalid": "Algo va mal con el manifiesto de la aplicación: {error}",
|
||||
"app_not_correctly_installed": "La aplicación {app:s} 8 parece estar incorrectamente instalada",
|
||||
"app_not_installed": "No se pudo encontrar «{app:s}» en la lista de aplicaciones instaladas: {all_apps}",
|
||||
"app_not_properly_removed": "La {app:s} 0 no ha sido desinstalada correctamente",
|
||||
"app_removed": "Eliminado {app:s}",
|
||||
"app_not_correctly_installed": "La aplicación {app} 8 parece estar incorrectamente instalada",
|
||||
"app_not_installed": "No se pudo encontrar «{app}» en la lista de aplicaciones instaladas: {all_apps}",
|
||||
"app_not_properly_removed": "La {app} 0 no ha sido desinstalada correctamente",
|
||||
"app_removed": "Eliminado {app}",
|
||||
"app_requirements_checking": "Comprobando los paquetes necesarios para {app}…",
|
||||
"app_requirements_unmeet": "No se cumplen los requisitos para {app}, el paquete {pkgname} ({version}) debe ser {spec}",
|
||||
"app_sources_fetch_failed": "No se pudieron obtener los archivos con el código fuente, ¿es el URL correcto?",
|
||||
"app_unknown": "Aplicación desconocida",
|
||||
"app_unsupported_remote_type": "Tipo remoto no soportado por la aplicación",
|
||||
"app_upgrade_failed": "No se pudo actualizar {app:s}: {error}",
|
||||
"app_upgraded": "Actualizado {app:s}",
|
||||
"app_upgrade_failed": "No se pudo actualizar {app}: {error}",
|
||||
"app_upgraded": "Actualizado {app}",
|
||||
"ask_firstname": "Nombre",
|
||||
"ask_lastname": "Apellido",
|
||||
"ask_main_domain": "Dominio principal",
|
||||
"ask_new_admin_password": "Nueva contraseña administrativa",
|
||||
"ask_password": "Contraseña",
|
||||
"backup_app_failed": "No se pudo respaldar «{app:s}»",
|
||||
"backup_archive_app_not_found": "No se pudo encontrar «{app:s}» en el archivo de respaldo",
|
||||
"backup_app_failed": "No se pudo respaldar «{app}»",
|
||||
"backup_archive_app_not_found": "No se pudo encontrar «{app}» en el archivo de respaldo",
|
||||
"backup_archive_name_exists": "Ya existe un archivo de respaldo con este nombre.",
|
||||
"backup_archive_name_unknown": "Copia de seguridad local desconocida '{name:s}'",
|
||||
"backup_archive_name_unknown": "Copia de seguridad local desconocida '{name}'",
|
||||
"backup_archive_open_failed": "No se pudo abrir el archivo de respaldo",
|
||||
"backup_cleaning_failed": "No se pudo limpiar la carpeta de respaldo temporal",
|
||||
"backup_created": "Se ha creado la copia de seguridad",
|
||||
"backup_creation_failed": "No se pudo crear el archivo de respaldo",
|
||||
"backup_delete_error": "No se pudo eliminar «{path:s}»",
|
||||
"backup_delete_error": "No se pudo eliminar «{path}»",
|
||||
"backup_deleted": "Eliminada la copia de seguridad",
|
||||
"backup_hook_unknown": "El gancho «{hook:s}» de la copia de seguridad es desconocido",
|
||||
"backup_hook_unknown": "El gancho «{hook}» de la copia de seguridad es desconocido",
|
||||
"backup_nothings_done": "Nada que guardar",
|
||||
"backup_output_directory_forbidden": "Elija un directorio de salida diferente. Las copias de seguridad no se pueden crear en /bin, /boot, /dev, /etc, /lib, /root, /run, /sbin, /sys, /usr, /var o /home/yunohost.backup/archives subcarpetas",
|
||||
"backup_output_directory_not_empty": "Debe elegir un directorio de salida vacío",
|
||||
"backup_output_directory_required": "Debe proporcionar un directorio de salida para la copia de seguridad",
|
||||
"backup_running_hooks": "Ejecutando los hooks de copia de respaldo...",
|
||||
"custom_app_url_required": "Debe proporcionar una URL para actualizar su aplicación personalizada {app:s}",
|
||||
"custom_app_url_required": "Debe proporcionar una URL para actualizar su aplicación personalizada {app}",
|
||||
"domain_cert_gen_failed": "No se pudo generar el certificado",
|
||||
"domain_created": "Dominio creado",
|
||||
"domain_creation_failed": "No se puede crear el dominio {domain}: {error}",
|
||||
|
@ -62,28 +62,26 @@
|
|||
"dyndns_key_not_found": "No se ha encontrado la clave DNS para el dominio",
|
||||
"dyndns_no_domain_registered": "Ningún dominio registrado con DynDNS",
|
||||
"dyndns_registered": "Registrado dominio de DynDNS",
|
||||
"dyndns_registration_failed": "No se pudo registrar el dominio de DynDNS: {error:s}",
|
||||
"dyndns_unavailable": "El dominio «{domain:s}» no está disponible.",
|
||||
"dyndns_registration_failed": "No se pudo registrar el dominio de DynDNS: {error}",
|
||||
"dyndns_unavailable": "El dominio «{domain}» no está disponible.",
|
||||
"extracting": "Extrayendo…",
|
||||
"field_invalid": "Campo no válido '{:s}'",
|
||||
"field_invalid": "Campo no válido '{}'",
|
||||
"firewall_reload_failed": "No se pudo recargar el cortafuegos",
|
||||
"firewall_reloaded": "Cortafuegos recargado",
|
||||
"firewall_rules_cmd_failed": "Algunos comandos para aplicar reglas del cortafuegos han fallado. Más información en el registro.",
|
||||
"hook_exec_failed": "No se pudo ejecutar el guión: {path:s}",
|
||||
"hook_exec_not_terminated": "El guión no terminó correctamente:{path:s}",
|
||||
"hook_exec_failed": "No se pudo ejecutar el guión: {path}",
|
||||
"hook_exec_not_terminated": "El guión no terminó correctamente:{path}",
|
||||
"hook_list_by_invalid": "Esta propiedad no se puede usar para enumerar ganchos («hooks»)",
|
||||
"hook_name_unknown": "Nombre de hook desconocido '{name:s}'",
|
||||
"hook_name_unknown": "Nombre de hook desconocido '{name}'",
|
||||
"installation_complete": "Instalación finalizada",
|
||||
"installation_failed": "Algo ha ido mal con la instalación",
|
||||
"ip6tables_unavailable": "No puede modificar ip6tables aquí. O bien está en un 'container' o su kernel no soporta esta opción",
|
||||
"iptables_unavailable": "No puede modificar iptables aquí. O bien está en un 'container' o su kernel no soporta esta opción",
|
||||
"ldap_initialized": "Inicializado LDAP",
|
||||
"mail_alias_remove_failed": "No se pudo eliminar el alias de correo «{mail:s}»",
|
||||
"mail_domain_unknown": "Dirección de correo no válida para el dominio «{domain:s}». Use un dominio administrado por este servidor.",
|
||||
"mail_forward_remove_failed": "No se pudo eliminar el reenvío de correo «{mail:s}»",
|
||||
"mail_alias_remove_failed": "No se pudo eliminar el alias de correo «{mail}»",
|
||||
"mail_domain_unknown": "Dirección de correo no válida para el dominio «{domain}». Use un dominio administrado por este servidor.",
|
||||
"mail_forward_remove_failed": "No se pudo eliminar el reenvío de correo «{mail}»",
|
||||
"main_domain_change_failed": "No se pudo cambiar el dominio principal",
|
||||
"main_domain_changed": "El dominio principal ha cambiado",
|
||||
"not_enough_disk_space": "No hay espacio libre suficiente en «{path:s}»",
|
||||
"not_enough_disk_space": "No hay espacio libre suficiente en «{path}»",
|
||||
"packages_upgrade_failed": "No se pudieron actualizar todos los paquetes",
|
||||
"pattern_backup_archive_name": "Debe ser un nombre de archivo válido con un máximo de 30 caracteres, solo se admiten caracteres alfanuméricos y los caracteres -_. (guiones y punto)",
|
||||
"pattern_domain": "El nombre de dominio debe ser válido (por ejemplo mi-dominio.org)",
|
||||
|
@ -95,42 +93,42 @@
|
|||
"pattern_port_or_range": "Debe ser un número de puerto válido (es decir entre 0-65535) o un intervalo de puertos (por ejemplo 100:200)",
|
||||
"pattern_positive_number": "Deber ser un número positivo",
|
||||
"pattern_username": "Solo puede contener caracteres alfanuméricos o el guión bajo",
|
||||
"port_already_closed": "El puerto {port:d} ya está cerrado para las conexiones {ip_version:s}",
|
||||
"port_already_opened": "El puerto {port:d} ya está abierto para las conexiones {ip_version:s}",
|
||||
"restore_already_installed_app": "Una aplicación con el ID «{app:s}» ya está instalada",
|
||||
"app_restore_failed": "No se pudo restaurar la aplicación «{app:s}»: {error:s}",
|
||||
"port_already_closed": "El puerto {port:d} ya está cerrado para las conexiones {ip_version}",
|
||||
"port_already_opened": "El puerto {port:d} ya está abierto para las conexiones {ip_version}",
|
||||
"restore_already_installed_app": "Una aplicación con el ID «{app}» ya está instalada",
|
||||
"app_restore_failed": "No se pudo restaurar la aplicación «{app}»: {error}",
|
||||
"restore_cleaning_failed": "No se pudo limpiar el directorio temporal de restauración",
|
||||
"restore_complete": "Restaurada",
|
||||
"restore_confirm_yunohost_installed": "¿Realmente desea restaurar un sistema ya instalado? [{answers:s}]",
|
||||
"restore_confirm_yunohost_installed": "¿Realmente desea restaurar un sistema ya instalado? [{answers}]",
|
||||
"restore_failed": "No se pudo restaurar el sistema",
|
||||
"restore_hook_unavailable": "El script de restauración para «{part:s}» no está disponible en su sistema y tampoco en el archivo",
|
||||
"restore_hook_unavailable": "El script de restauración para «{part}» no está disponible en su sistema y tampoco en el archivo",
|
||||
"restore_nothings_done": "No se ha restaurado nada",
|
||||
"restore_running_app_script": "Restaurando la aplicación «{app:s}»…",
|
||||
"restore_running_app_script": "Restaurando la aplicación «{app}»…",
|
||||
"restore_running_hooks": "Ejecutando los ganchos de restauración…",
|
||||
"service_add_failed": "No se pudo añadir el servicio «{service:s}»",
|
||||
"service_added": "Se agregó el servicio '{service:s}'",
|
||||
"service_already_started": "El servicio «{service:s}» ya está funcionando",
|
||||
"service_already_stopped": "El servicio «{service:s}» ya ha sido detenido",
|
||||
"service_cmd_exec_failed": "No se pudo ejecutar la orden «{command:s}»",
|
||||
"service_disable_failed": "No se pudo hacer que el servicio '{service:s}' no se iniciara en el arranque.\n\nRegistros de servicio recientes: {logs:s}",
|
||||
"service_disabled": "El servicio '{service:s}' ya no se iniciará cuando se inicie el sistema.",
|
||||
"service_enable_failed": "No se pudo hacer que el servicio '{service:s}' se inicie automáticamente en el arranque.\n\nRegistros de servicio recientes: {logs s}",
|
||||
"service_enabled": "El servicio '{service:s}' ahora se iniciará automáticamente durante el arranque del sistema.",
|
||||
"service_remove_failed": "No se pudo eliminar el servicio «{service:s}»",
|
||||
"service_removed": "Servicio '{service:s}' eliminado",
|
||||
"service_start_failed": "No se pudo iniciar el servicio «{service:s}»\n\nRegistro de servicios recientes:{logs:s}",
|
||||
"service_started": "El servicio '{service:s}' comenzó",
|
||||
"service_stop_failed": "No se pudo detener el servicio «{service:s}»\n\nRegistro de servicios recientes:{logs:s}",
|
||||
"service_stopped": "Servicio '{service:s}' detenido",
|
||||
"service_unknown": "Servicio desconocido '{service:s}'",
|
||||
"service_add_failed": "No se pudo añadir el servicio «{service}»",
|
||||
"service_added": "Se agregó el servicio '{service}'",
|
||||
"service_already_started": "El servicio «{service}» ya está funcionando",
|
||||
"service_already_stopped": "El servicio «{service}» ya ha sido detenido",
|
||||
"service_cmd_exec_failed": "No se pudo ejecutar la orden «{command}»",
|
||||
"service_disable_failed": "No se pudo hacer que el servicio '{service}' no se iniciara en el arranque.\n\nRegistros de servicio recientes: {logs}",
|
||||
"service_disabled": "El servicio '{service}' ya no se iniciará cuando se inicie el sistema.",
|
||||
"service_enable_failed": "No se pudo hacer que el servicio '{service}' se inicie automáticamente en el arranque.\n\nRegistros de servicio recientes: {logs s}",
|
||||
"service_enabled": "El servicio '{service}' ahora se iniciará automáticamente durante el arranque del sistema.",
|
||||
"service_remove_failed": "No se pudo eliminar el servicio «{service}»",
|
||||
"service_removed": "Servicio '{service}' eliminado",
|
||||
"service_start_failed": "No se pudo iniciar el servicio «{service}»\n\nRegistro de servicios recientes:{logs}",
|
||||
"service_started": "El servicio '{service}' comenzó",
|
||||
"service_stop_failed": "No se pudo detener el servicio «{service}»\n\nRegistro de servicios recientes:{logs}",
|
||||
"service_stopped": "Servicio '{service}' detenido",
|
||||
"service_unknown": "Servicio desconocido '{service}'",
|
||||
"ssowat_conf_generated": "Generada la configuración de SSOwat",
|
||||
"ssowat_conf_updated": "Actualizada la configuración de SSOwat",
|
||||
"system_upgraded": "Sistema actualizado",
|
||||
"system_username_exists": "El nombre de usuario ya existe en la lista de usuarios del sistema",
|
||||
"unbackup_app": "La aplicación '{app:s}' no se guardará",
|
||||
"unbackup_app": "La aplicación '{app}' no se guardará",
|
||||
"unexpected_error": "Algo inesperado salió mal: {error}",
|
||||
"unlimit": "Sin cuota",
|
||||
"unrestore_app": "La aplicación '{app:s}' no será restaurada",
|
||||
"unrestore_app": "La aplicación '{app}' no será restaurada",
|
||||
"updating_apt_cache": "Obteniendo las actualizaciones disponibles para los paquetes del sistema…",
|
||||
"upgrade_complete": "Actualización finalizada",
|
||||
"upgrading_packages": "Actualizando paquetes…",
|
||||
|
@ -143,65 +141,64 @@
|
|||
"user_deleted": "Usuario eliminado",
|
||||
"user_deletion_failed": "No se pudo eliminar el usuario {user}: {error}",
|
||||
"user_home_creation_failed": "No se pudo crear la carpeta «home» para el usuario",
|
||||
"user_unknown": "Usuario desconocido: {user:s}",
|
||||
"user_unknown": "Usuario desconocido: {user}",
|
||||
"user_update_failed": "No se pudo actualizar el usuario {user}: {error}",
|
||||
"user_updated": "Cambiada la información de usuario",
|
||||
"yunohost_already_installed": "YunoHost ya está instalado",
|
||||
"yunohost_configured": "YunoHost está ahora configurado",
|
||||
"yunohost_installing": "Instalando YunoHost…",
|
||||
"yunohost_not_installed": "YunoHost no está correctamente instalado. Ejecute «yunohost tools postinstall»",
|
||||
"ldap_init_failed_to_create_admin": "La inicialización de LDAP no pudo crear el usuario «admin»",
|
||||
"mailbox_used_space_dovecot_down": "El servicio de buzón Dovecot debe estar activo si desea recuperar el espacio usado del buzón",
|
||||
"certmanager_attempt_to_replace_valid_cert": "Está intentando sobrescribir un certificado correcto y válido para el dominio {domain:s}! (Use --force para omitir este mensaje)",
|
||||
"certmanager_domain_cert_not_selfsigned": "El certificado para el dominio {domain:s} no es un certificado autofirmado. ¿Está seguro de que quiere reemplazarlo? (Use «--force» para hacerlo)",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "El intento de usar el nuevo certificado para {domain:s} no ha funcionado…",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "El certificado para el dominio «{domain:s}» no ha sido emitido por Let's Encrypt. ¡No se puede renovar automáticamente!",
|
||||
"certmanager_attempt_to_renew_valid_cert": "¡El certificado para el dominio «{domain:s}» no está a punto de expirar! (Puede usar --force si sabe lo que está haciendo)",
|
||||
"certmanager_domain_http_not_working": "Parece que no se puede acceder al dominio {domain:s} a través de HTTP. Por favor compruebe en los diagnósticos la categoría 'Web'para más información. (Si sabe lo que está haciendo, utilice '--no-checks' para no realizar estas comprobaciones.)",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "El registro DNS 'A' para el dominio '{domain:s}' es diferente de la IP de este servidor. Por favor comprueba los 'registros DNS' (básicos) la categoría de diagnósticos para mayor información. Si recientemente modificó su registro 'A', espere a que se propague (algunos verificadores de propagación de DNS están disponibles en línea). (Si sabe lo que está haciendo, use '--no-checks' para desactivar esos cheques)",
|
||||
"certmanager_cannot_read_cert": "Se ha producido un error al intentar abrir el certificado actual para el dominio {domain:s} (archivo: {file:s}), razón: {reason:s}",
|
||||
"certmanager_cert_install_success_selfsigned": "Instalado correctamente un certificado autofirmado para el dominio «{domain:s}»",
|
||||
"certmanager_cert_install_success": "Instalado correctamente un certificado de Let's Encrypt para el dominio «{domain:s}»",
|
||||
"certmanager_cert_renew_success": "Renovado correctamente el certificado de Let's Encrypt para el dominio «{domain:s}»",
|
||||
"certmanager_hit_rate_limit": "Se han emitido demasiados certificados recientemente para este conjunto exacto de dominios {domain:s}. Pruebe de nuevo más tarde. Vea para más detalles https://letsencrypt.org/docs/rate-limits/",
|
||||
"certmanager_attempt_to_replace_valid_cert": "Está intentando sobrescribir un certificado correcto y válido para el dominio {domain}! (Use --force para omitir este mensaje)",
|
||||
"certmanager_domain_cert_not_selfsigned": "El certificado para el dominio {domain} no es un certificado autofirmado. ¿Está seguro de que quiere reemplazarlo? (Use «--force» para hacerlo)",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "El intento de usar el nuevo certificado para {domain} no ha funcionado…",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "El certificado para el dominio «{domain}» no ha sido emitido por Let's Encrypt. ¡No se puede renovar automáticamente!",
|
||||
"certmanager_attempt_to_renew_valid_cert": "¡El certificado para el dominio «{domain}» no está a punto de expirar! (Puede usar --force si sabe lo que está haciendo)",
|
||||
"certmanager_domain_http_not_working": "Parece que no se puede acceder al dominio {domain} a través de HTTP. Por favor compruebe en los diagnósticos la categoría 'Web'para más información. (Si sabe lo que está haciendo, utilice '--no-checks' para no realizar estas comprobaciones.)",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "El registro DNS 'A' para el dominio '{domain}' es diferente de la IP de este servidor. Por favor comprueba los 'registros DNS' (básicos) la categoría de diagnósticos para mayor información. Si recientemente modificó su registro 'A', espere a que se propague (algunos verificadores de propagación de DNS están disponibles en línea). (Si sabe lo que está haciendo, use '--no-checks' para desactivar esos cheques)",
|
||||
"certmanager_cannot_read_cert": "Se ha producido un error al intentar abrir el certificado actual para el dominio {domain} (archivo: {file}), razón: {reason}",
|
||||
"certmanager_cert_install_success_selfsigned": "Instalado correctamente un certificado autofirmado para el dominio «{domain}»",
|
||||
"certmanager_cert_install_success": "Instalado correctamente un certificado de Let's Encrypt para el dominio «{domain}»",
|
||||
"certmanager_cert_renew_success": "Renovado correctamente el certificado de Let's Encrypt para el dominio «{domain}»",
|
||||
"certmanager_hit_rate_limit": "Se han emitido demasiados certificados recientemente para este conjunto exacto de dominios {domain}. Pruebe de nuevo más tarde. Vea para más detalles https://letsencrypt.org/docs/rate-limits/",
|
||||
"certmanager_cert_signing_failed": "No se pudo firmar el nuevo certificado",
|
||||
"certmanager_no_cert_file": "No se pudo leer el certificado para el dominio {domain:s} (archivo: {file:s})",
|
||||
"domain_cannot_remove_main": "No puede eliminar '{domain:s}' ya que es el dominio principal, primero debe configurar otro dominio como el dominio principal usando 'yunohost domain main-domain -n <otro dominio>'; Aquí está la lista de dominios candidatos: {other_domains:s}",
|
||||
"certmanager_self_ca_conf_file_not_found": "No se pudo encontrar el archivo de configuración para la autoridad de autofirma (archivo: {file:s})",
|
||||
"certmanager_unable_to_parse_self_CA_name": "No se pudo procesar el nombre de la autoridad de autofirma (archivo: {file:s})",
|
||||
"certmanager_no_cert_file": "No se pudo leer el certificado para el dominio {domain} (archivo: {file})",
|
||||
"domain_cannot_remove_main": "No puede eliminar '{domain}' ya que es el dominio principal, primero debe configurar otro dominio como el dominio principal usando 'yunohost domain main-domain -n <otro dominio>'; Aquí está la lista de dominios candidatos: {other_domains}",
|
||||
"certmanager_self_ca_conf_file_not_found": "No se pudo encontrar el archivo de configuración para la autoridad de autofirma (archivo: {file})",
|
||||
"certmanager_unable_to_parse_self_CA_name": "No se pudo procesar el nombre de la autoridad de autofirma (archivo: {file})",
|
||||
"domains_available": "Dominios disponibles:",
|
||||
"backup_archive_broken_link": "No se pudo acceder al archivo de respaldo (enlace roto a {path:s})",
|
||||
"backup_archive_broken_link": "No se pudo acceder al archivo de respaldo (enlace roto a {path})",
|
||||
"certmanager_acme_not_configured_for_domain": "El reto ACME no ha podido ser realizado para {domain} porque su configuración de nginx no tiene el el código correcto... Por favor, asegurate que la configuración de nginx es correcta ejecutando en el terminal `yunohost tools regen-conf nginx --dry-run --with-diff`.",
|
||||
"domain_hostname_failed": "No se pudo establecer un nuevo nombre de anfitrión («hostname»). Esto podría causar problemas más tarde (no es seguro... podría ir bien).",
|
||||
"app_already_installed_cant_change_url": "Esta aplicación ya está instalada. La URL no se puede cambiar solo con esta función. Marque `app changeurl` si está disponible.",
|
||||
"app_change_url_failed_nginx_reload": "No se pudo recargar NGINX. Esta es la salida de «nginx -t»:\n{nginx_errors:s}",
|
||||
"app_change_url_identical_domains": "El antiguo y nuevo dominio/url_path son idénticos ('{domain:s} {path:s}'), no se realizarán cambios.",
|
||||
"app_change_url_no_script": "La aplicación «{app_name:s}» aún no permite la modificación de URLs. Quizás debería actualizarla.",
|
||||
"app_change_url_success": "El URL de la aplicación {app:s} es ahora {domain:s} {path:s}",
|
||||
"app_location_unavailable": "Este URL o no está disponible o está en conflicto con otra(s) aplicación(es) instalada(s):\n{apps:s}",
|
||||
"app_already_up_to_date": "La aplicación {app:s} ya está actualizada",
|
||||
"app_change_url_failed_nginx_reload": "No se pudo recargar NGINX. Esta es la salida de «nginx -t»:\n{nginx_errors}",
|
||||
"app_change_url_identical_domains": "El antiguo y nuevo dominio/url_path son idénticos ('{domain} {path}'), no se realizarán cambios.",
|
||||
"app_change_url_no_script": "La aplicación «{app_name}» aún no permite la modificación de URLs. Quizás debería actualizarla.",
|
||||
"app_change_url_success": "El URL de la aplicación {app} es ahora {domain} {path}",
|
||||
"app_location_unavailable": "Este URL o no está disponible o está en conflicto con otra(s) aplicación(es) instalada(s):\n{apps}",
|
||||
"app_already_up_to_date": "La aplicación {app} ya está actualizada",
|
||||
"app_upgrade_some_app_failed": "No se pudieron actualizar algunas aplicaciones",
|
||||
"app_make_default_location_already_used": "No pudo hacer que la aplicación «{app}» sea la predeterminada en el dominio, «{domain}» ya está siendo usado por la aplicación «{other_app}»",
|
||||
"app_upgrade_app_name": "Ahora actualizando {app}…",
|
||||
"backup_abstract_method": "Este método de respaldo aún no se ha implementado",
|
||||
"backup_applying_method_copy": "Copiando todos los archivos en la copia de respaldo…",
|
||||
"backup_applying_method_custom": "Llamando al método de copia de seguridad personalizado «{method:s}»…",
|
||||
"backup_applying_method_custom": "Llamando al método de copia de seguridad personalizado «{method}»…",
|
||||
"backup_applying_method_tar": "Creando el archivo TAR de respaldo…",
|
||||
"backup_archive_system_part_not_available": "La parte del sistema «{part:s}» no está disponible en esta copia de seguridad",
|
||||
"backup_archive_writing_error": "No se pudieron añadir los archivos «{source:s}» (llamados en el archivo «{dest:s}») para ser respaldados en el archivo comprimido «{archive:s}»",
|
||||
"backup_ask_for_copying_if_needed": "¿Quiere realizar la copia de seguridad usando {size:s}MB temporalmente? (Se usa este modo ya que algunos archivos no se pudieron preparar usando un método más eficiente.)",
|
||||
"backup_archive_system_part_not_available": "La parte del sistema «{part}» no está disponible en esta copia de seguridad",
|
||||
"backup_archive_writing_error": "No se pudieron añadir los archivos «{source}» (llamados en el archivo «{dest}») para ser respaldados en el archivo comprimido «{archive}»",
|
||||
"backup_ask_for_copying_if_needed": "¿Quiere realizar la copia de seguridad usando {size}MB temporalmente? (Se usa este modo ya que algunos archivos no se pudieron preparar usando un método más eficiente.)",
|
||||
"backup_cant_mount_uncompress_archive": "No se pudo montar el archivo descomprimido como protegido contra escritura",
|
||||
"backup_copying_to_organize_the_archive": "Copiando {size:s}MB para organizar el archivo",
|
||||
"backup_couldnt_bind": "No se pudo enlazar {src:s} con {dest:s}.",
|
||||
"backup_copying_to_organize_the_archive": "Copiando {size}MB para organizar el archivo",
|
||||
"backup_couldnt_bind": "No se pudo enlazar {src} con {dest}.",
|
||||
"backup_csv_addition_failed": "No se pudo añadir archivos para respaldar en el archivo CSV",
|
||||
"backup_csv_creation_failed": "No se pudo crear el archivo CSV necesario para la restauración",
|
||||
"backup_custom_mount_error": "El método de respaldo personalizado no pudo superar el paso «mount»",
|
||||
"backup_no_uncompress_archive_dir": "No existe tal directorio de archivos sin comprimir",
|
||||
"backup_system_part_failed": "No se pudo respaldar la parte del sistema «{part:s}»",
|
||||
"backup_with_no_backup_script_for_app": "La aplicación «{app:s}» no tiene un guión de respaldo. Omitiendo.",
|
||||
"backup_with_no_restore_script_for_app": "«{app:s}» no tiene un script de restauración, no podá restaurar automáticamente la copia de seguridad de esta aplicación.",
|
||||
"dyndns_could_not_check_provide": "No se pudo verificar si {provider:s} puede ofrecer {domain:s}.",
|
||||
"dyndns_domain_not_provided": "El proveedor de DynDNS {provider:s} no puede proporcionar el dominio {domain:s}.",
|
||||
"backup_system_part_failed": "No se pudo respaldar la parte del sistema «{part}»",
|
||||
"backup_with_no_backup_script_for_app": "La aplicación «{app}» no tiene un guión de respaldo. Omitiendo.",
|
||||
"backup_with_no_restore_script_for_app": "«{app}» no tiene un script de restauración, no podá restaurar automáticamente la copia de seguridad de esta aplicación.",
|
||||
"dyndns_could_not_check_provide": "No se pudo verificar si {provider} puede ofrecer {domain}.",
|
||||
"dyndns_domain_not_provided": "El proveedor de DynDNS {provider} no puede proporcionar el dominio {domain}.",
|
||||
"experimental_feature": "Aviso : esta funcionalidad es experimental y no se considera estable, no debería usarla a menos que sepa lo que está haciendo.",
|
||||
"good_practices_about_user_password": "Ahora está a punto de definir una nueva contraseña de usuario. La contraseña debe tener al menos 8 caracteres, aunque es una buena práctica usar una contraseña más larga (es decir, una frase de contraseña) y / o una variación de caracteres (mayúsculas, minúsculas, dígitos y caracteres especiales).",
|
||||
"password_listed": "Esta contraseña se encuentra entre las contraseñas más utilizadas en el mundo. Por favor, elija algo más único.",
|
||||
|
@ -221,12 +218,12 @@
|
|||
"tools_upgrade_cant_both": "No se puede actualizar el sistema y las aplicaciones al mismo tiempo",
|
||||
"tools_upgrade_at_least_one": "Especifique «--apps», o «--system»",
|
||||
"this_action_broke_dpkg": "Esta acción rompió dpkg/APT(los gestores de paquetes del sistema)… Puede tratar de solucionar este problema conectando mediante SSH y ejecutando `sudo dpkg --configure -a`.",
|
||||
"service_reloaded_or_restarted": "El servicio '{service:s}' fue recargado o reiniciado",
|
||||
"service_reload_or_restart_failed": "No se pudo recargar o reiniciar el servicio «{service:s}»\n\nRegistro de servicios recientes:{logs:s}",
|
||||
"service_restarted": "Servicio '{service:s}' reiniciado",
|
||||
"service_restart_failed": "No se pudo reiniciar el servicio «{service:s}»\n\nRegistro de servicios recientes:{logs:s}",
|
||||
"service_reloaded": "Servicio '{service:s}' recargado",
|
||||
"service_reload_failed": "No se pudo recargar el servicio «{service:s}»\n\nRegistro de servicios recientes:{logs:s}",
|
||||
"service_reloaded_or_restarted": "El servicio '{service}' fue recargado o reiniciado",
|
||||
"service_reload_or_restart_failed": "No se pudo recargar o reiniciar el servicio «{service}»\n\nRegistro de servicios recientes:{logs}",
|
||||
"service_restarted": "Servicio '{service}' reiniciado",
|
||||
"service_restart_failed": "No se pudo reiniciar el servicio «{service}»\n\nRegistro de servicios recientes:{logs}",
|
||||
"service_reloaded": "Servicio '{service}' recargado",
|
||||
"service_reload_failed": "No se pudo recargar el servicio «{service}»\n\nRegistro de servicios recientes:{logs}",
|
||||
"service_regen_conf_is_deprecated": "¡«yunohost service regen-conf» está obsoleto! Use «yunohost tools regen-conf» en su lugar.",
|
||||
"service_description_yunohost-firewall": "Gestiona los puertos de conexiones abiertos y cerrados a los servicios",
|
||||
"service_description_yunohost-api": "Gestiona las interacciones entre la interfaz web de YunoHost y el sistema",
|
||||
|
@ -241,14 +238,13 @@
|
|||
"service_description_fail2ban": "Protege contra ataques de fuerza bruta y otras clases de ataques desde Internet",
|
||||
"service_description_dovecot": "Permite a los clientes de correo acceder/obtener correo (vía IMAP y POP3)",
|
||||
"service_description_dnsmasq": "Maneja la resolución de nombres de dominio (DNS)",
|
||||
"service_description_avahi-daemon": "Permite acceder a su servidor usando «yunohost.local» en su red local",
|
||||
"server_reboot_confirm": "El servidor se reiniciará inmediatamente ¿está seguro? [{answers:s}]",
|
||||
"server_reboot_confirm": "El servidor se reiniciará inmediatamente ¿está seguro? [{answers}]",
|
||||
"server_reboot": "El servidor se reiniciará",
|
||||
"server_shutdown_confirm": "El servidor se apagará inmediatamente ¿está seguro? [{answers:s}]",
|
||||
"server_shutdown_confirm": "El servidor se apagará inmediatamente ¿está seguro? [{answers}]",
|
||||
"server_shutdown": "El servidor se apagará",
|
||||
"root_password_replaced_by_admin_password": "Su contraseña de root ha sido sustituida por su contraseña de administración.",
|
||||
"root_password_desynchronized": "La contraseña de administración ha sido cambiada pero ¡YunoHost no pudo propagar esto a la contraseña de root!",
|
||||
"restore_system_part_failed": "No se pudo restaurar la parte del sistema «{part:s}»",
|
||||
"restore_system_part_failed": "No se pudo restaurar la parte del sistema «{part}»",
|
||||
"restore_removing_tmp_dir_failed": "No se pudo eliminar un directorio temporal antiguo",
|
||||
"restore_not_enough_disk_space": "Espacio insuficiente (espacio: {free_space:d} B, espacio necesario: {needed_space:d} B, margen de seguridad: {margin:d} B)",
|
||||
"restore_may_be_not_enough_disk_space": "Parece que su sistema no tiene suficiente espacio libre (libre: {free_space:d} B, espacio necesario: {needed_space:d} B, margen de seguridad: {margin:d} B)",
|
||||
|
@ -268,13 +264,13 @@
|
|||
"regenconf_file_kept_back": "Se espera que el archivo de configuración «{conf}» sea eliminado por regen-conf (categoría {category}) pero ha sido retenido.",
|
||||
"regenconf_file_copy_failed": "No se pudo copiar el nuevo archivo de configuración «{new}» a «{conf}»",
|
||||
"regenconf_file_backed_up": "Archivo de configuración «{conf}» respaldado en «{backup}»",
|
||||
"permission_updated": "Actualizado el permiso «{permission:s}»",
|
||||
"permission_updated": "Actualizado el permiso «{permission}»",
|
||||
"permission_update_failed": "No se pudo actualizar el permiso '{permission}': {error}",
|
||||
"permission_not_found": "No se encontró el permiso «{permission:s}»",
|
||||
"permission_not_found": "No se encontró el permiso «{permission}»",
|
||||
"permission_deletion_failed": "No se pudo eliminar el permiso «{permission}»: {error}",
|
||||
"permission_deleted": "Eliminado el permiso «{permission:s}»",
|
||||
"permission_deleted": "Eliminado el permiso «{permission}»",
|
||||
"permission_creation_failed": "No se pudo crear el permiso «{permission}»: {error}",
|
||||
"permission_created": "Creado el permiso «{permission:s}»",
|
||||
"permission_created": "Creado el permiso «{permission}»",
|
||||
"permission_already_exist": "El permiso «{permission}» ya existe",
|
||||
"pattern_password_app": "Las contraseñas no pueden incluir los siguientes caracteres: {forbidden_chars}",
|
||||
"migrations_to_be_ran_manually": "La migración {id} hay que ejecutarla manualmente. Vaya a Herramientas → Migraciones en la página web de administración o ejecute `yunohost tools migrations run`.",
|
||||
|
@ -296,7 +292,7 @@
|
|||
"migrations_cant_reach_migration_file": "No se pudo acceder a los archivos de migración en la ruta «%s»",
|
||||
"migrations_already_ran": "Esas migraciones ya se han realizado: {ids}",
|
||||
"mail_unavailable": "Esta dirección de correo está reservada y será asignada automáticamente al primer usuario",
|
||||
"mailbox_disabled": "Correo desactivado para usuario {user:s}",
|
||||
"mailbox_disabled": "Correo desactivado para usuario {user}",
|
||||
"log_tools_reboot": "Reiniciar el servidor",
|
||||
"log_tools_shutdown": "Apagar el servidor",
|
||||
"log_tools_upgrade": "Actualizar paquetes del sistema",
|
||||
|
@ -332,44 +328,44 @@
|
|||
"log_help_to_get_log": "Para ver el registro de la operación «{desc}», ejecute la orden «yunohost log show {name}{name}»",
|
||||
"log_link_to_log": "Registro completo de esta operación: «<a href=\"#/tools/logs/{name}\" style=\"text-decoration:underline\">{desc}</a>»",
|
||||
"log_corrupted_md_file": "El archivo de metadatos YAML asociado con el registro está dañado: «{md_file}\nError: {error}»",
|
||||
"hook_json_return_error": "No se pudo leer la respuesta del gancho {path:s}. Error: {msg:s}. Contenido sin procesar: {raw_content}",
|
||||
"hook_json_return_error": "No se pudo leer la respuesta del gancho {path}. Error: {msg}. Contenido sin procesar: {raw_content}",
|
||||
"group_update_failed": "No se pudo actualizar el grupo «{group}»: {error}",
|
||||
"group_updated": "Grupo «{group}» actualizado",
|
||||
"group_unknown": "El grupo «{group:s}» es desconocido",
|
||||
"group_unknown": "El grupo «{group}» es desconocido",
|
||||
"group_deletion_failed": "No se pudo eliminar el grupo «{group}»: {error}",
|
||||
"group_deleted": "Eliminado el grupo «{group}»",
|
||||
"group_creation_failed": "No se pudo crear el grupo «{group}»: {error}",
|
||||
"group_created": "Creado el grupo «{group}»",
|
||||
"good_practices_about_admin_password": "Ahora está a punto de definir una nueva contraseña de administración. La contraseña debe tener al menos 8 caracteres, aunque es una buena práctica usar una contraseña más larga (es decir, una frase de contraseña) y / o usar una variación de caracteres (mayúsculas, minúsculas, dígitos y caracteres especiales).",
|
||||
"global_settings_unknown_type": "Situación imprevista, la configuración {setting:s} parece tener el tipo {unknown_type:s} pero no es un tipo compatible con el sistema.",
|
||||
"global_settings_unknown_type": "Situación imprevista, la configuración {setting} parece tener el tipo {unknown_type} pero no es un tipo compatible con el sistema.",
|
||||
"global_settings_setting_service_ssh_allow_deprecated_dsa_hostkey": "Permitir el uso de la llave (obsoleta) DSA para la configuración del demonio SSH",
|
||||
"global_settings_unknown_setting_from_settings_file": "Clave desconocida en la configuración: «{setting_key:s}», desechada y guardada en /etc/yunohost/settings-unknown.json",
|
||||
"global_settings_unknown_setting_from_settings_file": "Clave desconocida en la configuración: «{setting_key}», desechada y guardada en /etc/yunohost/settings-unknown.json",
|
||||
"global_settings_setting_security_postfix_compatibility": "Compromiso entre compatibilidad y seguridad para el servidor Postfix. Afecta al cifrado (y otros aspectos relacionados con la seguridad)",
|
||||
"global_settings_setting_security_ssh_compatibility": "Compromiso entre compatibilidad y seguridad para el servidor SSH. Afecta al cifrado (y otros aspectos relacionados con la seguridad)",
|
||||
"global_settings_setting_security_password_user_strength": "Seguridad de la contraseña de usuario",
|
||||
"global_settings_setting_security_password_admin_strength": "Seguridad de la contraseña del administrador",
|
||||
"global_settings_setting_security_nginx_compatibility": "Compromiso entre compatibilidad y seguridad para el servidor web NGINX. Afecta al cifrado (y otros aspectos relacionados con la seguridad)",
|
||||
"global_settings_reset_success": "Respaldada la configuración previa en {path:s}",
|
||||
"global_settings_key_doesnt_exists": "La clave «{settings_key:s}» no existe en la configuración global, puede ver todas las claves disponibles ejecutando «yunohost settings list»",
|
||||
"global_settings_cant_write_settings": "No se pudo guardar el archivo de configuración, motivo: {reason:s}",
|
||||
"global_settings_cant_serialize_settings": "No se pudo seriar los datos de configuración, motivo: {reason:s}",
|
||||
"global_settings_cant_open_settings": "No se pudo abrir el archivo de configuración, motivo: {reason:s}",
|
||||
"global_settings_bad_type_for_setting": "Tipo erróneo para la configuración {setting:s}, obtuvo {received_type:s}, esperado {expected_type:s}",
|
||||
"global_settings_bad_choice_for_enum": "Opción errónea para la configuración {setting:s}, obtuvo «{choice:s}» pero las opciones disponibles son: {available_choices:s}",
|
||||
"file_does_not_exist": "El archivo {path:s} no existe.",
|
||||
"dyndns_could_not_check_available": "No se pudo comprobar si {domain:s} está disponible en {provider:s}.",
|
||||
"global_settings_reset_success": "Respaldada la configuración previa en {path}",
|
||||
"global_settings_key_doesnt_exists": "La clave «{settings_key}» no existe en la configuración global, puede ver todas las claves disponibles ejecutando «yunohost settings list»",
|
||||
"global_settings_cant_write_settings": "No se pudo guardar el archivo de configuración, motivo: {reason}",
|
||||
"global_settings_cant_serialize_settings": "No se pudo seriar los datos de configuración, motivo: {reason}",
|
||||
"global_settings_cant_open_settings": "No se pudo abrir el archivo de configuración, motivo: {reason}",
|
||||
"global_settings_bad_type_for_setting": "Tipo erróneo para la configuración {setting}, obtuvo {received_type}, esperado {expected_type}",
|
||||
"global_settings_bad_choice_for_enum": "Opción errónea para la configuración {setting}, obtuvo «{choice}» pero las opciones disponibles son: {available_choices}",
|
||||
"file_does_not_exist": "El archivo {path} no existe.",
|
||||
"dyndns_could_not_check_available": "No se pudo comprobar si {domain} está disponible en {provider}.",
|
||||
"domain_dns_conf_is_just_a_recommendation": "Esta orden muestra la configuración *recomendada*. No configura el DNS en realidad. Es su responsabilidad configurar la zona de DNS en su registrador según esta recomendación.",
|
||||
"dpkg_lock_not_available": "Esta orden no se puede ejecutar en este momento ,parece que programa está usando el bloqueo de dpkg (el gestor de paquetes del sistema)",
|
||||
"dpkg_is_broken": "No puede hacer esto en este momento porque dpkg/APT (los gestores de paquetes del sistema) parecen estar mal configurados... Puede tratar de solucionar este problema conectando a través de SSH y ejecutando `sudo apt install --fix-broken` y/o `sudo dpkg --configure -a`.",
|
||||
"confirm_app_install_thirdparty": "¡PELIGRO! Esta aplicación no forma parte del catálogo de aplicaciones de Yunohost. La instalación de aplicaciones de terceros puede comprometer la integridad y la seguridad de su sistema. Probablemente NO debería instalarlo a menos que sepa lo que está haciendo. NO se proporcionará SOPORTE si esta aplicación no funciona o rompe su sistema ... Si de todos modos está dispuesto a correr ese riesgo, escriba '{answers:s}'",
|
||||
"confirm_app_install_danger": "¡PELIGRO! ¡Se sabe que esta aplicación sigue siendo experimental (si no explícitamente no funciona)! Probablemente NO debería instalarlo a menos que sepa lo que está haciendo. NO se proporcionará SOPORTE si esta aplicación no funciona o rompe su sistema ... Si de todos modos está dispuesto a correr ese riesgo, escriba '{answers:s}'",
|
||||
"confirm_app_install_warning": "Aviso: esta aplicación puede funcionar pero no está bien integrada en YunoHost. Algunas herramientas como la autentificación única y respaldo/restauración podrían no estar disponibles. ¿Instalar de todos modos? [{answers:s}] ",
|
||||
"confirm_app_install_thirdparty": "¡PELIGRO! Esta aplicación no forma parte del catálogo de aplicaciones de Yunohost. La instalación de aplicaciones de terceros puede comprometer la integridad y la seguridad de su sistema. Probablemente NO debería instalarlo a menos que sepa lo que está haciendo. NO se proporcionará SOPORTE si esta aplicación no funciona o rompe su sistema ... Si de todos modos está dispuesto a correr ese riesgo, escriba '{answers}'",
|
||||
"confirm_app_install_danger": "¡PELIGRO! ¡Se sabe que esta aplicación sigue siendo experimental (si no explícitamente no funciona)! Probablemente NO debería instalarlo a menos que sepa lo que está haciendo. NO se proporcionará SOPORTE si esta aplicación no funciona o rompe su sistema ... Si de todos modos está dispuesto a correr ese riesgo, escriba '{answers}'",
|
||||
"confirm_app_install_warning": "Aviso: esta aplicación puede funcionar pero no está bien integrada en YunoHost. Algunas herramientas como la autentificación única y respaldo/restauración podrían no estar disponibles. ¿Instalar de todos modos? [{answers}] ",
|
||||
"backup_unable_to_organize_files": "No se pudo usar el método rápido de organización de los archivos en el archivo",
|
||||
"backup_permission": "Permiso de respaldo para {app:s}",
|
||||
"backup_output_symlink_dir_broken": "El directorio de su archivo «{path:s}» es un enlace simbólico roto. Tal vez olvidó (re)montarlo o conectarlo al medio de almacenamiento al que apunta.",
|
||||
"backup_permission": "Permiso de respaldo para {app}",
|
||||
"backup_output_symlink_dir_broken": "El directorio de su archivo «{path}» es un enlace simbólico roto. Tal vez olvidó (re)montarlo o conectarlo al medio de almacenamiento al que apunta.",
|
||||
"backup_mount_archive_for_restore": "Preparando el archivo para restaurarlo…",
|
||||
"backup_method_tar_finished": "Creado el archivo TAR de respaldo",
|
||||
"backup_method_custom_finished": "Terminado el método «{method:s}» de respaldo personalizado",
|
||||
"backup_method_custom_finished": "Terminado el método «{method}» de respaldo personalizado",
|
||||
"backup_method_copy_finished": "Terminada la copia de seguridad",
|
||||
"backup_custom_backup_error": "El método de respaldo personalizado no pudo superar el paso de «copia de seguridad»",
|
||||
"backup_actually_backuping": "Creando un archivo de respaldo de los archivos obtenidos…",
|
||||
|
@ -489,7 +485,7 @@
|
|||
"log_app_action_run": "Inicializa la acción de la aplicación '{}'",
|
||||
"group_already_exist_on_system_but_removing_it": "El grupo {group} ya existe en los grupos del sistema, pero YunoHost lo suprimirá …",
|
||||
"global_settings_setting_pop3_enabled": "Habilita el protocolo POP3 para el servidor de correo electrónico",
|
||||
"domain_cannot_remove_main_add_new_one": "No se puede remover '{domain:s}' porque es su principal y único dominio. Primero debe agregar un nuevo dominio con la linea de comando 'yunohost domain add <another-domain.com>', entonces configurarlo como dominio principal con 'yunohost domain main-domain -n <another-domain.com>' y finalmente borrar el dominio '{domain:s}' con 'yunohost domain remove {domain:s}'.'",
|
||||
"domain_cannot_remove_main_add_new_one": "No se puede remover '{domain}' porque es su principal y único dominio. Primero debe agregar un nuevo dominio con la linea de comando 'yunohost domain add <another-domain.com>', entonces configurarlo como dominio principal con 'yunohost domain main-domain -n <another-domain.com>' y finalmente borrar el dominio '{domain}' con 'yunohost domain remove {domain}'.'",
|
||||
"diagnosis_never_ran_yet": "Este servidor todavía no tiene reportes de diagnostico. Puede iniciar un diagnostico completo desde la interface administrador web o con la linea de comando 'yunohost diagnosis run'.",
|
||||
"diagnosis_unknown_categories": "Las siguientes categorías están desconocidas: {categories}",
|
||||
"diagnosis_http_unreachable": "El dominio {domain} esta fuera de alcance desde internet y a través de HTTP.",
|
||||
|
@ -500,7 +496,7 @@
|
|||
"diagnosis_http_could_not_diagnose": "No se pudo verificar si el dominio es accesible desde internet.",
|
||||
"diagnosis_http_could_not_diagnose_details": "Error: {error}",
|
||||
"diagnosis_ports_forwarding_tip": "Para solucionar este incidente, lo más seguro deberías configurar la redirección de los puertos en el router como se especifica en <a href='https://yunohost.org/isp_box_config'>https://yunohost.org/isp_box_config</a>",
|
||||
"certmanager_warning_subdomain_dns_record": "El subdominio '{subdomain:s}' no se resuelve en la misma dirección IP que '{domain:s}'. Algunas funciones no estarán disponibles hasta que solucione esto y regenere el certificado.",
|
||||
"certmanager_warning_subdomain_dns_record": "El subdominio '{subdomain}' no se resuelve en la misma dirección IP que '{domain}'. Algunas funciones no estarán disponibles hasta que solucione esto y regenere el certificado.",
|
||||
"domain_cannot_add_xmpp_upload": "No puede agregar dominios que comiencen con 'xmpp-upload'. Este tipo de nombre está reservado para la función de carga XMPP integrada en YunoHost.",
|
||||
"yunohost_postinstall_end_tip": "¡La post-instalación completada! Para finalizar su configuración, considere:\n - agregar un primer usuario a través de la sección 'Usuarios' del webadmin (o 'yunohost user create <username>' en la línea de comandos);\n - diagnostique problemas potenciales a través de la sección 'Diagnóstico' de webadmin (o 'ejecución de diagnóstico yunohost' en la línea de comandos);\n - leyendo las partes 'Finalizando su configuración' y 'Conociendo a Yunohost' en la documentación del administrador: https://yunohost.org/admindoc.",
|
||||
"diagnosis_dns_point_to_doc": "Por favor, consulta la documentación en <a href='https://yunohost.org/dns_config'>https://yunohost.org/dns_config</a> si necesitas ayuda para configurar los registros DNS.",
|
||||
|
@ -546,7 +542,7 @@
|
|||
"migration_description_0016_php70_to_php73_pools": "Migra el «pool» de ficheros php7.0-fpm a php7.3",
|
||||
"migration_description_0015_migrate_to_buster": "Actualiza el sistema a Debian Buster y YunoHost 4.x",
|
||||
"migrating_legacy_permission_settings": "Migrando los antiguos parámetros de permisos...",
|
||||
"invalid_regex": "Regex no valido: «{regex:s}»",
|
||||
"invalid_regex": "Regex no valido: «{regex}»",
|
||||
"global_settings_setting_backup_compress_tar_archives": "Cuando se creen nuevas copias de respaldo, comprimir los archivos (.tar.gz) en lugar de descomprimir los archivos (.tar). N.B.: activar esta opción quiere decir que los archivos serán más pequeños pero que el proceso tardará más y utilizará más CPU.",
|
||||
"global_settings_setting_smtp_relay_password": "Clave de uso del SMTP",
|
||||
"global_settings_setting_smtp_relay_user": "Cuenta de uso de SMTP",
|
||||
|
@ -572,7 +568,7 @@
|
|||
"diagnosis_mail_fcrdns_different_from_ehlo_domain_details": "El DNS inverso actual es: <code>{rdns_domain}</code><br>Valor esperado: <code>{ehlo_domain}</code>",
|
||||
"diagnosis_mail_fcrdns_different_from_ehlo_domain": "La resolución de DNS inverso no está correctamente configurada mediante IPv{ipversion}. Algunos correos pueden fallar al ser enviados o pueden ser marcados como basura.",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_6": "Algunos proveedores no permiten configurar el DNS inverso (o su funcionalidad puede estar rota...). Si tu DNS inverso está configurado correctamente para IPv4, puedes intentar deshabilitarlo para IPv6 cuando envies correos mediante el comando <cmd>yunohost settings set smtp.allow_ipv6 -v off</cmd>. Nota: esta solución quiere decir que no podrás enviar ni recibir correos con los pocos servidores que utilizan exclusivamente IPv6.",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_4": "Algunos proveedores no te permitirán que configures un DNS inverso (o puede que esta opción esté rota...). Si estás sufriendo problemas por este asunto, quizás te sirvan las siguientes soluciones:<br>- Algunos ISP proporcionan una alternativa mediante <a href='https://yunohost.org/#/smtp_relay'>el uso de un relay de servidor de correo</a> aunque esto implica que el relay podrá espiar tu tráfico de correo electrónico.<br>- Una solución amigable con la privacidad es utilizar una VPN con una *IP pública dedicada* para evitar este tipo de limitaciones. Mira en <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- Quizás tu solución sea <a href='https://yunohost.org/#/isp'>cambiar de proveedor de internet</a>",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_4": "Algunos proveedores no te permitirán que configures un DNS inverso (o puede que esta opción esté rota...). Si estás sufriendo problemas por este asunto, quizás te sirvan las siguientes soluciones:<br>- Algunos ISP proporcionan una alternativa mediante <a href='https://yunohost.org/#/email_configure_relay'>el uso de un relay de servidor de correo</a> aunque esto implica que el relay podrá espiar tu tráfico de correo electrónico.<br>- Una solución amigable con la privacidad es utilizar una VPN con una *IP pública dedicada* para evitar este tipo de limitaciones. Mira en <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- Quizás tu solución sea <a href='https://yunohost.org/#/isp'>cambiar de proveedor de internet</a>",
|
||||
"diagnosis_mail_fcrdns_nok_details": "Primero deberías intentar configurar el DNS inverso mediante <code>{ehlo_domain}</code> en la interfaz de internet de tu router o en la de tu proveedor de internet. (Algunos proveedores de internet en ocasiones necesitan que les solicites un ticket de soporte para ello).",
|
||||
"diagnosis_mail_fcrdns_dns_missing": "No hay definida ninguna DNS inversa mediante IPv{ipversion}. Algunos correos puede que fallen al enviarse o puede que se marquen como basura.",
|
||||
"diagnosis_mail_fcrdns_ok": "¡Las DNS inversas están bien configuradas!",
|
||||
|
@ -585,9 +581,9 @@
|
|||
"diagnosis_mail_ehlo_unreachable_details": "No pudo abrirse la conexión en el puerto 25 de tu servidor mediante IPv{ipversion}. Parece que no se puede contactar.<br>1. La causa más común en estos casos suele ser que el puerto 25 <a href='https://yunohost.org/isp_box_config'>no está correctamente redireccionado a tu servidor</a>.<br>2. También deberías asegurarte que el servicio postfix está en marcha.<br>3. En casos más complejos: asegurate que no estén interfiriendo ni el firewall ni el reverse-proxy.",
|
||||
"diagnosis_mail_ehlo_unreachable": "El servidor de correo SMTP no puede contactarse desde el exterior mediante IPv{ipversion}. No puede recibir correos",
|
||||
"diagnosis_mail_ehlo_ok": "¡El servidor de correo SMTP puede contactarse desde el exterior por lo que puede recibir correos!",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_relay_vpn": "Algunos proveedores de internet no le permitirán desbloquear el puerto 25 porque no les importa la Neutralidad de la Red.<br> - Algunos proporcionan una alternativa usando <a href='https://yunohost.org/#/smtp_relay'>un relay como servidor de correo</a> lo que implica que el relay podrá espiar tu trafico de correo.<br>- Una alternativa buena para la privacidad es utilizar una VPN *con una IP pública dedicada* para evitar estas limitaciones. Mira en <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- Otra alternativa es cambiar de proveedor de inteernet a <a href='https://yunohost.org/#/isp'>uno más amable con la Neutralidad de la Red</a>",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_relay_vpn": "Algunos proveedores de internet no le permitirán desbloquear el puerto 25 porque no les importa la Neutralidad de la Red.<br> - Algunos proporcionan una alternativa usando <a href='https://yunohost.org/#/email_configure_relay'>un relay como servidor de correo</a> lo que implica que el relay podrá espiar tu trafico de correo.<br>- Una alternativa buena para la privacidad es utilizar una VPN *con una IP pública dedicada* para evitar estas limitaciones. Mira en <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- Otra alternativa es cambiar de proveedor de inteernet a <a href='https://yunohost.org/#/isp'>uno más amable con la Neutralidad de la Red</a>",
|
||||
"diagnosis_backports_in_sources_list": "Parece que apt (el gestor de paquetes) está configurado para usar el repositorio backports. A menos que realmente sepas lo que estás haciendo, desaconsejamos absolutamente instalar paquetes desde backports, ya que pueden provocar comportamientos intestables o conflictos en el sistema.",
|
||||
"diagnosis_basesystem_hardware_model": "El modelo de servidor es {model}",
|
||||
"additional_urls_already_removed": "La URL adicional «{url:s}» ya se ha eliminado para el permiso «{permission:s}»",
|
||||
"additional_urls_already_added": "La URL adicional «{url:s}» ya se ha añadido para el permiso «{permission:s}»"
|
||||
"additional_urls_already_removed": "La URL adicional «{url}» ya se ha eliminado para el permiso «{permission}»",
|
||||
"additional_urls_already_added": "La URL adicional «{url}» ya se ha añadido para el permiso «{permission}»"
|
||||
}
|
313
locales/fr.json
313
locales/fr.json
|
@ -1,49 +1,51 @@
|
|||
{
|
||||
"action_invalid": "Action '{action:s}' incorrecte",
|
||||
"action_invalid": "Action '{action}' incorrecte",
|
||||
"admin_password": "Mot de passe d’administration",
|
||||
"admin_password_change_failed": "Impossible de changer le mot de passe",
|
||||
"admin_password_changed": "Le mot de passe d’administration a été modifié",
|
||||
"app_already_installed": "{app:s} est déjà installé",
|
||||
"app_argument_choice_invalid": "Choix invalide pour le paramètre '{name:s}', il doit être l’un de {choices:s}",
|
||||
"app_argument_invalid": "Valeur invalide pour le paramètre '{name:s}' : {error:s}",
|
||||
"app_argument_required": "Le paramètre '{name:s}' est requis",
|
||||
"app_already_installed": "{app} est déjà installé",
|
||||
"app_argument_choice_invalid": "Choix invalide pour le paramètre '{name}', il doit être l’un de {choices}",
|
||||
"app_argument_invalid": "Valeur invalide pour le paramètre '{name}' : {error}",
|
||||
"app_argument_required": "Le paramètre '{name}' est requis",
|
||||
"app_extraction_failed": "Impossible d’extraire les fichiers d’installation",
|
||||
"app_id_invalid": "Identifiant d’application invalide",
|
||||
"app_install_files_invalid": "Fichiers d’installation incorrects",
|
||||
"app_manifest_invalid": "Manifeste d’application incorrect : {error}",
|
||||
"app_not_correctly_installed": "{app:s} semble être mal installé",
|
||||
"app_not_installed": "Nous n’avons pas trouvé {app:s} dans la liste des applications installées : {all_apps}",
|
||||
"app_not_properly_removed": "{app:s} n’a pas été supprimé correctement",
|
||||
"app_removed": "{app:s} supprimé",
|
||||
"app_not_correctly_installed": "{app} semble être mal installé",
|
||||
"app_not_installed": "Nous n’avons pas trouvé {app} dans la liste des applications installées : {all_apps}",
|
||||
"app_not_properly_removed": "{app} n’a pas été supprimé correctement",
|
||||
"app_removed": "{app} désinstallé",
|
||||
"app_requirements_checking": "Vérification des paquets requis pour {app}...",
|
||||
"app_requirements_unmeet": "Les pré-requis de {app} ne sont pas satisfaits, le paquet {pkgname} ({version}) doit être {spec}",
|
||||
"app_sources_fetch_failed": "Impossible de récupérer les fichiers sources, l’URL est-elle correcte ?",
|
||||
"app_unknown": "Application inconnue",
|
||||
"app_unsupported_remote_type": "Ce type de commande à distance utilisé pour cette application n’est pas supporté",
|
||||
"app_upgrade_failed": "Impossible de mettre à jour {app:s} : {error}",
|
||||
"app_upgraded": "{app:s} mis à jour",
|
||||
"app_upgrade_failed": "Impossible de mettre à jour {app} : {error}",
|
||||
"app_upgraded": "{app} mis à jour",
|
||||
"ask_firstname": "Prénom",
|
||||
"ask_lastname": "Nom",
|
||||
"ask_main_domain": "Domaine principal",
|
||||
"ask_new_admin_password": "Nouveau mot de passe d’administration",
|
||||
"ask_password": "Mot de passe",
|
||||
"backup_app_failed": "Impossible de sauvegarder {app:s}",
|
||||
"backup_archive_app_not_found": "{app:s} n’a pas été trouvée dans l’archive de la sauvegarde",
|
||||
"backup_app_failed": "Impossible de sauvegarder {app}",
|
||||
"backup_archive_app_not_found": "{app} n’a pas été trouvée dans l’archive de la sauvegarde",
|
||||
"backup_archive_name_exists": "Une archive de sauvegarde avec ce nom existe déjà.",
|
||||
"backup_archive_name_unknown": "L’archive locale de sauvegarde nommée '{name:s}' est inconnue",
|
||||
"backup_archive_name_unknown": "L’archive locale de sauvegarde nommée '{name}' est inconnue",
|
||||
"backup_archive_open_failed": "Impossible d’ouvrir l’archive de la sauvegarde",
|
||||
"backup_cleaning_failed": "Impossible de nettoyer le dossier temporaire de sauvegarde",
|
||||
"backup_created": "Sauvegarde terminée",
|
||||
"backup_creation_failed": "Impossible de créer l’archive de la sauvegarde",
|
||||
"backup_delete_error": "Impossible de supprimer '{path:s}'",
|
||||
"backup_delete_error": "Impossible de supprimer '{path}'",
|
||||
"backup_deleted": "La sauvegarde a été supprimée",
|
||||
"backup_hook_unknown": "Script de sauvegarde '{hook:s}' inconnu",
|
||||
"backup_hook_unknown": "Script de sauvegarde '{hook}' inconnu",
|
||||
"backup_nothings_done": "Il n’y a rien à sauvegarder",
|
||||
"backup_output_directory_forbidden": "Choisissez un répertoire de destination différent. Les sauvegardes ne peuvent pas être créées dans les sous-dossiers /bin, /boot, /dev, /etc, /lib, /root, /run, /sbin, /sys, /usr, /var ou /home/yunohost.backup/archives",
|
||||
"backup_output_directory_not_empty": "Le répertoire de destination n’est pas vide",
|
||||
"backup_output_directory_required": "Vous devez spécifier un dossier de destination pour la sauvegarde",
|
||||
"backup_running_hooks": "Exécution des scripts de sauvegarde...",
|
||||
"custom_app_url_required": "Vous devez spécifier une URL pour mettre à jour votre application personnalisée {app:s}",
|
||||
"custom_app_url_required": "Vous devez spécifier une URL pour mettre à jour votre application personnalisée {app}",
|
||||
"disk_space_not_sufficient_install": "Il ne reste pas assez d'espace disque pour installer cette application",
|
||||
"disk_space_not_sufficient_update": "Il ne reste pas assez d'espace disque pour mettre à jour cette application",
|
||||
"domain_cert_gen_failed": "Impossible de générer le certificat",
|
||||
"domain_created": "Le domaine a été créé",
|
||||
"domain_creation_failed": "Impossible de créer le domaine {domain} : {error}",
|
||||
|
@ -62,28 +64,26 @@
|
|||
"dyndns_key_not_found": "Clé DNS introuvable pour le domaine",
|
||||
"dyndns_no_domain_registered": "Aucun domaine n'a été enregistré avec DynDNS",
|
||||
"dyndns_registered": "Domaine DynDNS enregistré",
|
||||
"dyndns_registration_failed": "Impossible d’enregistrer le domaine DynDNS : {error:s}",
|
||||
"dyndns_unavailable": "Le domaine {domain:s} est indisponible.",
|
||||
"dyndns_registration_failed": "Impossible d’enregistrer le domaine DynDNS : {error}",
|
||||
"dyndns_unavailable": "Le domaine {domain} est indisponible.",
|
||||
"extracting": "Extraction en cours...",
|
||||
"field_invalid": "Champ incorrect : '{:s}'",
|
||||
"field_invalid": "Champ incorrect : '{}'",
|
||||
"firewall_reload_failed": "Impossible de recharger le pare-feu",
|
||||
"firewall_reloaded": "Pare-feu rechargé",
|
||||
"firewall_rules_cmd_failed": "Certaines commandes de règles de pare-feu ont échoué. Plus d'informations dans le journal.",
|
||||
"hook_exec_failed": "Échec de l’exécution du script : {path:s}",
|
||||
"hook_exec_not_terminated": "L’exécution du script {path:s} ne s’est pas terminée correctement",
|
||||
"hook_exec_failed": "Échec de l’exécution du script : {path}",
|
||||
"hook_exec_not_terminated": "L’exécution du script {path} ne s’est pas terminée correctement",
|
||||
"hook_list_by_invalid": "Propriété invalide pour lister les actions par celle-ci",
|
||||
"hook_name_unknown": "Nom de l’action '{name:s}' inconnu",
|
||||
"hook_name_unknown": "Nom de l’action '{name}' inconnu",
|
||||
"installation_complete": "Installation terminée",
|
||||
"installation_failed": "Quelque chose s’est mal passé lors de l’installation",
|
||||
"ip6tables_unavailable": "Vous ne pouvez pas jouer avec ip6tables ici. Vous êtes soit dans un conteneur, soit votre noyau ne le prend pas en charge",
|
||||
"iptables_unavailable": "Vous ne pouvez pas jouer avec iptables ici. Vous êtes soit dans un conteneur, soit votre noyau ne le prend pas en charge",
|
||||
"ldap_initialized": "L’annuaire LDAP a été initialisé",
|
||||
"mail_alias_remove_failed": "Impossible de supprimer l’alias de courriel '{mail:s}'",
|
||||
"mail_domain_unknown": "Le domaine '{domain:s}' de cette adresse de courriel n’est pas valide. Merci d’utiliser un domaine administré par ce serveur.",
|
||||
"mail_forward_remove_failed": "Impossible de supprimer le courriel de transfert '{mail:s}'",
|
||||
"mail_alias_remove_failed": "Impossible de supprimer l’alias de courriel '{mail}'",
|
||||
"mail_domain_unknown": "Le domaine '{domain}' de cette adresse de courriel n’est pas valide. Merci d’utiliser un domaine administré par ce serveur.",
|
||||
"mail_forward_remove_failed": "Impossible de supprimer le courriel de transfert '{mail}'",
|
||||
"main_domain_change_failed": "Impossible de modifier le domaine principal",
|
||||
"main_domain_changed": "Le domaine principal a été modifié",
|
||||
"not_enough_disk_space": "L’espace disque est insuffisant sur '{path:s}'",
|
||||
"not_enough_disk_space": "L’espace disque est insuffisant sur '{path}'",
|
||||
"packages_upgrade_failed": "Impossible de mettre à jour tous les paquets",
|
||||
"pattern_backup_archive_name": "Doit être un nom de fichier valide avec un maximum de 30 caractères, et composé de caractères alphanumériques et -_. uniquement",
|
||||
"pattern_domain": "Doit être un nom de domaine valide (ex : mon-domaine.fr)",
|
||||
|
@ -95,108 +95,107 @@
|
|||
"pattern_port_or_range": "Doit être un numéro de port valide compris entre 0 et 65535, ou une gamme de ports (exemple : 100:200)",
|
||||
"pattern_positive_number": "Doit être un nombre positif",
|
||||
"pattern_username": "Doit être composé uniquement de caractères alphanumériques minuscules et de tirets bas (aussi appelé tiret du 8 ou underscore)",
|
||||
"port_already_closed": "Le port {port:d} est déjà fermé pour les connexions {ip_version:s}",
|
||||
"port_already_opened": "Le port {port:d} est déjà ouvert pour les connexions {ip_version:s}",
|
||||
"restore_already_installed_app": "Une application est déjà installée avec l’identifiant '{app:s}'",
|
||||
"app_restore_failed": "Impossible de restaurer {app:s} : {error:s}",
|
||||
"port_already_closed": "Le port {port:d} est déjà fermé pour les connexions {ip_version}",
|
||||
"port_already_opened": "Le port {port:d} est déjà ouvert pour les connexions {ip_version}",
|
||||
"restore_already_installed_app": "Une application est déjà installée avec l’identifiant '{app}'",
|
||||
"app_restore_failed": "Impossible de restaurer {app} : {error}",
|
||||
"restore_cleaning_failed": "Impossible de nettoyer le dossier temporaire de restauration",
|
||||
"restore_complete": "Restauration terminée",
|
||||
"restore_confirm_yunohost_installed": "Voulez-vous vraiment restaurer un système déjà installé ? [{answers:s}]",
|
||||
"restore_confirm_yunohost_installed": "Voulez-vous vraiment restaurer un système déjà installé ? [{answers}]",
|
||||
"restore_failed": "Impossible de restaurer le système",
|
||||
"restore_hook_unavailable": "Le script de restauration '{part:s}' n’est pas disponible sur votre système, et ne l’est pas non plus dans l’archive",
|
||||
"restore_hook_unavailable": "Le script de restauration '{part}' n’est pas disponible sur votre système, et ne l’est pas non plus dans l’archive",
|
||||
"restore_nothings_done": "Rien n’a été restauré",
|
||||
"restore_running_app_script": "Exécution du script de restauration de l’application '{app:s}'…",
|
||||
"restore_running_app_script": "Exécution du script de restauration de l’application '{app}'…",
|
||||
"restore_running_hooks": "Exécution des scripts de restauration…",
|
||||
"service_add_failed": "Impossible d’ajouter le service '{service:s}'",
|
||||
"service_added": "Le service '{service:s}' a été ajouté",
|
||||
"service_already_started": "Le service '{service:s}' est déjà en cours d’exécution",
|
||||
"service_already_stopped": "Le service '{service:s}' est déjà arrêté",
|
||||
"service_cmd_exec_failed": "Impossible d’exécuter la commande '{command:s}'",
|
||||
"service_disable_failed": "Impossible de ne pas lancer le service « {service:s} » au démarrage.\n\nJournaux récents du service : {logs:s}",
|
||||
"service_disabled": "Le service « {service:s} » ne sera plus lancé au démarrage du système.",
|
||||
"service_enable_failed": "Impossible de lancer automatiquement le service « {service:s} » au démarrage.\n\nJournaux récents du service : {logs:s}",
|
||||
"service_enabled": "Le service « {service:s} » sera désormais lancé automatiquement au démarrage du système.",
|
||||
"service_remove_failed": "Impossible de supprimer le service '{service:s}'",
|
||||
"service_removed": "Le service « {service:s} » a été supprimé",
|
||||
"service_start_failed": "Impossible de démarrer le service '{service:s}'\n\nJournaux historisés récents : {logs:s}",
|
||||
"service_started": "Le service « {service:s} » a été démarré",
|
||||
"service_stop_failed": "Impossible d’arrêter le service '{service:s}'\n\nJournaux récents de service : {logs:s}",
|
||||
"service_stopped": "Le service « {service:s} » a été arrêté",
|
||||
"service_unknown": "Le service '{service:s}' est inconnu",
|
||||
"service_add_failed": "Impossible d’ajouter le service '{service}'",
|
||||
"service_added": "Le service '{service}' a été ajouté",
|
||||
"service_already_started": "Le service '{service}' est déjà en cours d’exécution",
|
||||
"service_already_stopped": "Le service '{service}' est déjà arrêté",
|
||||
"service_cmd_exec_failed": "Impossible d’exécuter la commande '{command}'",
|
||||
"service_disable_failed": "Impossible de ne pas lancer le service « {service} » au démarrage.\n\nJournaux récents du service : {logs}",
|
||||
"service_disabled": "Le service « {service} » ne sera plus lancé au démarrage du système.",
|
||||
"service_enable_failed": "Impossible de lancer automatiquement le service « {service} » au démarrage.\n\nJournaux récents du service : {logs}",
|
||||
"service_enabled": "Le service « {service} » sera désormais lancé automatiquement au démarrage du système.",
|
||||
"service_remove_failed": "Impossible de supprimer le service '{service}'",
|
||||
"service_removed": "Le service « {service} » a été supprimé",
|
||||
"service_start_failed": "Impossible de démarrer le service '{service}'\n\nJournaux historisés récents : {logs}",
|
||||
"service_started": "Le service « {service} » a été démarré",
|
||||
"service_stop_failed": "Impossible d’arrêter le service '{service}'\n\nJournaux récents de service : {logs}",
|
||||
"service_stopped": "Le service « {service} » a été arrêté",
|
||||
"service_unknown": "Le service '{service}' est inconnu",
|
||||
"ssowat_conf_generated": "La configuration de SSOwat a été regénérée",
|
||||
"ssowat_conf_updated": "La configuration de SSOwat a été mise à jour",
|
||||
"system_upgraded": "Système mis à jour",
|
||||
"system_username_exists": "Ce nom d’utilisateur existe déjà dans les utilisateurs système",
|
||||
"unbackup_app": "'{app:s}' ne sera pas sauvegardée",
|
||||
"unbackup_app": "'{app}' ne sera pas sauvegardée",
|
||||
"unexpected_error": "Une erreur inattendue est survenue : {error}",
|
||||
"unlimit": "Pas de quota",
|
||||
"unrestore_app": "'{app:s}' ne sera pas restaurée",
|
||||
"unrestore_app": "'{app}' ne sera pas restaurée",
|
||||
"updating_apt_cache": "Récupération des mises à jour disponibles pour les paquets du système...",
|
||||
"upgrade_complete": "Mise à jour terminée",
|
||||
"upgrading_packages": "Mise à jour des paquets en cours...",
|
||||
"upnp_dev_not_found": "Aucun périphérique compatible UPnP n’a été trouvé",
|
||||
"upnp_disabled": "UPnP désactivé",
|
||||
"upnp_enabled": "UPnP activé",
|
||||
"upnp_disabled": "L'UPnP est désactivé",
|
||||
"upnp_enabled": "L'UPnP est activé",
|
||||
"upnp_port_open_failed": "Impossible d’ouvrir les ports UPnP",
|
||||
"user_created": "L’utilisateur a été créé",
|
||||
"user_creation_failed": "Impossible de créer l’utilisateur {user} : {error}",
|
||||
"user_deleted": "L’utilisateur a été supprimé",
|
||||
"user_deletion_failed": "Impossible de supprimer l’utilisateur {user} : {error}",
|
||||
"user_home_creation_failed": "Impossible de créer le dossier personnel de l’utilisateur",
|
||||
"user_unknown": "L’utilisateur {user:s} est inconnu",
|
||||
"user_unknown": "L’utilisateur {user} est inconnu",
|
||||
"user_update_failed": "Impossible de mettre à jour l’utilisateur {user} : {error}",
|
||||
"user_updated": "L’utilisateur a été modifié",
|
||||
"yunohost_already_installed": "YunoHost est déjà installé",
|
||||
"yunohost_configured": "YunoHost est maintenant configuré",
|
||||
"yunohost_installing": "L’installation de YunoHost est en cours...",
|
||||
"yunohost_not_installed": "YunoHost n’est pas correctement installé. Veuillez exécuter 'yunohost tools postinstall'",
|
||||
"certmanager_attempt_to_replace_valid_cert": "Vous êtes en train de vouloir remplacer un certificat correct et valide pour le domaine {domain:s} ! (Utilisez --force pour contourner cela)",
|
||||
"certmanager_domain_cert_not_selfsigned": "Le certificat du domaine {domain:s} n’est pas auto-signé. Voulez-vous vraiment le remplacer ? (Utilisez --force pour cela)",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "Il semble que l’activation du nouveau certificat pour {domain:s} a échoué...",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "Le certificat pour le domaine {domain:s} n’est pas émis par Let’s Encrypt. Impossible de le renouveler automatiquement !",
|
||||
"certmanager_attempt_to_renew_valid_cert": "Le certificat pour le domaine {domain:s} n’est pas sur le point d’expirer ! (Vous pouvez utiliser --force si vous savez ce que vous faites)",
|
||||
"certmanager_domain_http_not_working": "Le domaine {domain:s} ne semble pas être accessible via HTTP. Merci de vérifier la catégorie 'Web' dans le diagnostic pour plus d'informations. (Ou si vous savez ce que vous faites, utilisez '--no-checks' pour désactiver la vérification.)",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "L'enregistrement DNS du domaine {domain:s} est différent de l’adresse IP de ce serveur. Pour plus d'informations, veuillez consulter la catégorie \"Enregistrements DNS\" dans la section diagnostic. Si vous avez récemment modifié votre enregistrement 'A', veuillez attendre sa propagation (des vérificateurs de propagation DNS sont disponibles en ligne). (Si vous savez ce que vous faites, utilisez --no-checks pour désactiver ces contrôles)",
|
||||
"certmanager_cannot_read_cert": "Quelque chose s’est mal passé lors de la tentative d’ouverture du certificat actuel pour le domaine {domain:s} (fichier : {file:s}), la cause est : {reason:s}",
|
||||
"certmanager_cert_install_success_selfsigned": "Le certificat auto-signé est maintenant installé pour le domaine « {domain:s} »",
|
||||
"certmanager_cert_install_success": "Le certificat Let’s Encrypt est maintenant installé pour le domaine « {domain:s} »",
|
||||
"certmanager_cert_renew_success": "Certificat Let’s Encrypt renouvelé pour le domaine '{domain:s}'",
|
||||
"certmanager_attempt_to_replace_valid_cert": "Vous êtes en train de vouloir remplacer un certificat correct et valide pour le domaine {domain} ! (Utilisez --force pour contourner cela)",
|
||||
"certmanager_domain_cert_not_selfsigned": "Le certificat du domaine {domain} n’est pas auto-signé. Voulez-vous vraiment le remplacer ? (Utilisez --force pour cela)",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "Il semble que l’activation du nouveau certificat pour {domain} a échoué...",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "Le certificat pour le domaine {domain} n’est pas émis par Let’s Encrypt. Impossible de le renouveler automatiquement !",
|
||||
"certmanager_attempt_to_renew_valid_cert": "Le certificat pour le domaine {domain} n’est pas sur le point d’expirer ! (Vous pouvez utiliser --force si vous savez ce que vous faites)",
|
||||
"certmanager_domain_http_not_working": "Le domaine {domain} ne semble pas être accessible via HTTP. Merci de vérifier la catégorie 'Web' dans le diagnostic pour plus d'informations. (Ou si vous savez ce que vous faites, utilisez '--no-checks' pour désactiver la vérification.)",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "Les enregistrements DNS du domaine '{domain}' sont différents de l’adresse IP de ce serveur. Pour plus d'informations, veuillez consulter la catégorie \"Enregistrements DNS\" dans la section diagnostic. Si vous avez récemment modifié votre enregistrement A, veuillez attendre sa propagation (des vérificateurs de propagation DNS sont disponibles en ligne). (Si vous savez ce que vous faites, utilisez '--no-checks' pour désactiver ces contrôles)",
|
||||
"certmanager_cannot_read_cert": "Quelque chose s’est mal passé lors de la tentative d’ouverture du certificat actuel pour le domaine {domain} (fichier : {file}), la cause est : {reason}",
|
||||
"certmanager_cert_install_success_selfsigned": "Le certificat auto-signé est maintenant installé pour le domaine « {domain} »",
|
||||
"certmanager_cert_install_success": "Le certificat Let’s Encrypt est maintenant installé pour le domaine « {domain} »",
|
||||
"certmanager_cert_renew_success": "Certificat Let’s Encrypt renouvelé pour le domaine '{domain}'",
|
||||
"certmanager_cert_signing_failed": "Impossible de signer le nouveau certificat",
|
||||
"certmanager_no_cert_file": "Impossible de lire le fichier du certificat pour le domaine {domain:s} (fichier : {file:s})",
|
||||
"certmanager_hit_rate_limit": "Trop de certificats ont déjà été émis récemment pour ce même ensemble de domaines {domain:s}. Veuillez réessayer plus tard. Lisez https://letsencrypt.org/docs/rate-limits/ pour obtenir plus de détails sur les ratios et limitations",
|
||||
"ldap_init_failed_to_create_admin": "L’initialisation de l’annuaire LDAP n’a pas réussi à créer l’utilisateur admin",
|
||||
"domain_cannot_remove_main": "Vous ne pouvez pas supprimer '{domain:s}' car il s’agit du domaine principal. Vous devez d’abord définir un autre domaine comme domaine principal à l’aide de 'yunohost domain main-domain -n <another-domain>', voici la liste des domaines candidats : {other_domains:s}",
|
||||
"certmanager_self_ca_conf_file_not_found": "Le fichier de configuration pour l’autorité du certificat auto-signé est introuvable (fichier : {file:s})",
|
||||
"certmanager_unable_to_parse_self_CA_name": "Impossible d’analyser le nom de l’autorité du certificat auto-signé (fichier : {file:s})",
|
||||
"certmanager_no_cert_file": "Impossible de lire le fichier du certificat pour le domaine {domain} (fichier : {file})",
|
||||
"certmanager_hit_rate_limit": "Trop de certificats ont déjà été émis récemment pour ce même ensemble de domaines {domain}. Veuillez réessayer plus tard. Lisez https://letsencrypt.org/docs/rate-limits/ pour obtenir plus de détails sur les ratios et limitations",
|
||||
"domain_cannot_remove_main": "Vous ne pouvez pas supprimer '{domain}' car il s’agit du domaine principal. Vous devez d’abord définir un autre domaine comme domaine principal à l’aide de 'yunohost domain main-domain -n <another-domain>', voici la liste des domaines candidats : {other_domains}",
|
||||
"certmanager_self_ca_conf_file_not_found": "Le fichier de configuration pour l’autorité du certificat auto-signé est introuvable (fichier : {file})",
|
||||
"certmanager_unable_to_parse_self_CA_name": "Impossible d’analyser le nom de l’autorité du certificat auto-signé (fichier : {file})",
|
||||
"mailbox_used_space_dovecot_down": "Le service de courriel Dovecot doit être démarré si vous souhaitez voir l’espace disque occupé par la messagerie",
|
||||
"domains_available": "Domaines disponibles :",
|
||||
"backup_archive_broken_link": "Impossible d’accéder à l’archive de sauvegarde (lien invalide vers {path:s})",
|
||||
"backup_archive_broken_link": "Impossible d’accéder à l’archive de sauvegarde (lien invalide vers {path})",
|
||||
"certmanager_acme_not_configured_for_domain": "Le challenge ACME n'a pas pu être validé pour le domaine {domain} pour le moment car le code de la configuration nginx est manquant... Merci de vérifier que votre configuration nginx est à jour avec la commande: `yunohost tools regen-conf nginx --dry-run --with-diff`.",
|
||||
"domain_hostname_failed": "Échec de l’utilisation d’un nouveau nom d’hôte. Cela pourrait causer des soucis plus tard (cela n’en causera peut-être pas).",
|
||||
"app_already_installed_cant_change_url": "Cette application est déjà installée. L’URL ne peut pas être changé simplement par cette fonction. Vérifiez si cela est disponible avec `app changeurl`.",
|
||||
"app_change_url_failed_nginx_reload": "Le redémarrage de NGINX a échoué. Voici la sortie de 'nginx -t' :\n{nginx_errors:s}",
|
||||
"app_change_url_identical_domains": "L’ancien et le nouveau couple domaine/chemin_de_l’URL sont identiques pour ('{domain:s}{path:s}'), rien à faire.",
|
||||
"app_change_url_no_script": "L’application '{app_name:s}' ne prend pas encore en charge le changement d’URL. Vous devriez peut-être la mettre à jour.",
|
||||
"app_change_url_success": "L’URL de l’application {app:s} a été changée en {domain:s}{path:s}",
|
||||
"app_location_unavailable": "Cette URL n’est pas disponible ou est en conflit avec une application existante :\n{apps:s}",
|
||||
"app_already_up_to_date": "{app:s} est déjà à jour",
|
||||
"global_settings_bad_choice_for_enum": "Valeur du paramètre {setting:s} incorrecte. Reçu : {choice:s}, mais les valeurs possibles sont : {available_choices:s}",
|
||||
"global_settings_bad_type_for_setting": "Le type du paramètre {setting:s} est incorrect. Reçu {received_type:s} alors que {expected_type:s} était attendu",
|
||||
"global_settings_cant_open_settings": "Échec de l’ouverture du ficher de configurations car : {reason:s}",
|
||||
"global_settings_cant_write_settings": "Échec d’écriture du fichier de configurations car : {reason:s}",
|
||||
"global_settings_key_doesnt_exists": "La clef '{settings_key:s}' n’existe pas dans les configurations générales, vous pouvez voir toutes les clefs disponibles en saisissant 'yunohost settings list'",
|
||||
"global_settings_reset_success": "Vos configurations précédentes ont été sauvegardées dans {path:s}",
|
||||
"global_settings_unknown_type": "Situation inattendue : la configuration {setting:s} semble avoir le type {unknown_type:s} mais celui-ci n’est pas pris en charge par le système.",
|
||||
"global_settings_unknown_setting_from_settings_file": "Clé inconnue dans les paramètres : '{setting_key:s}', rejet de cette clé et sauvegarde de celle-ci dans /etc/yunohost/unkown_settings.json",
|
||||
"app_change_url_failed_nginx_reload": "Le redémarrage de NGINX a échoué. Voici la sortie de 'nginx -t' :\n{nginx_errors}",
|
||||
"app_change_url_identical_domains": "L’ancien et le nouveau couple domaine/chemin_de_l’URL sont identiques pour ('{domain}{path}'), rien à faire.",
|
||||
"app_change_url_no_script": "L’application '{app_name}' ne prend pas encore en charge le changement d’URL. Vous devriez peut-être la mettre à jour.",
|
||||
"app_change_url_success": "L’URL de l’application {app} a été changée en {domain}{path}",
|
||||
"app_location_unavailable": "Cette URL n’est pas disponible ou est en conflit avec une application existante :\n{apps}",
|
||||
"app_already_up_to_date": "{app} est déjà à jour",
|
||||
"global_settings_bad_choice_for_enum": "Valeur du paramètre {setting} incorrecte. Reçu : {choice}, mais les valeurs possibles sont : {available_choices}",
|
||||
"global_settings_bad_type_for_setting": "Le type du paramètre {setting} est incorrect. Reçu {received_type} alors que {expected_type} était attendu",
|
||||
"global_settings_cant_open_settings": "Échec de l’ouverture du ficher de configurations car : {reason}",
|
||||
"global_settings_cant_write_settings": "Échec d’écriture du fichier de configurations car : {reason}",
|
||||
"global_settings_key_doesnt_exists": "La clef '{settings_key}' n’existe pas dans les configurations générales, vous pouvez voir toutes les clefs disponibles en saisissant 'yunohost settings list'",
|
||||
"global_settings_reset_success": "Vos configurations précédentes ont été sauvegardées dans {path}",
|
||||
"global_settings_unknown_type": "Situation inattendue : la configuration {setting} semble avoir le type {unknown_type} mais celui-ci n’est pas pris en charge par le système.",
|
||||
"global_settings_unknown_setting_from_settings_file": "Clé inconnue dans les paramètres : '{setting_key}', rejet de cette clé et sauvegarde de celle-ci dans /etc/yunohost/unkown_settings.json",
|
||||
"backup_abstract_method": "Cette méthode de sauvegarde reste à implémenter",
|
||||
"backup_applying_method_tar": "Création de l’archive TAR de la sauvegarde...",
|
||||
"backup_applying_method_copy": "Copie de tous les fichiers à sauvegarder...",
|
||||
"backup_applying_method_custom": "Appel de la méthode de sauvegarde personnalisée '{method:s}'...",
|
||||
"backup_archive_system_part_not_available": "La partie '{part:s}' du système n’est pas disponible dans cette sauvegarde",
|
||||
"backup_archive_writing_error": "Impossible d’ajouter des fichiers '{source:s}' (nommés dans l’archive : '{dest:s}') à sauvegarder dans l’archive compressée '{archive:s}'",
|
||||
"backup_ask_for_copying_if_needed": "Voulez-vous effectuer la sauvegarde en utilisant {size:s}Mo temporairement ? (Cette méthode est utilisée car certains fichiers n’ont pas pu être préparés avec une méthode plus efficace.)",
|
||||
"backup_applying_method_custom": "Appel de la méthode de sauvegarde personnalisée '{method}'...",
|
||||
"backup_archive_system_part_not_available": "La partie '{part}' du système n’est pas disponible dans cette sauvegarde",
|
||||
"backup_archive_writing_error": "Impossible d’ajouter des fichiers '{source}' (nommés dans l’archive : '{dest}') à sauvegarder dans l’archive compressée '{archive}'",
|
||||
"backup_ask_for_copying_if_needed": "Voulez-vous effectuer la sauvegarde en utilisant {size}Mo temporairement ? (Cette méthode est utilisée car certains fichiers n’ont pas pu être préparés avec une méthode plus efficace.)",
|
||||
"backup_cant_mount_uncompress_archive": "Impossible de monter en lecture seule le dossier de l’archive décompressée",
|
||||
"backup_copying_to_organize_the_archive": "Copie de {size:s} Mo pour organiser l’archive",
|
||||
"backup_copying_to_organize_the_archive": "Copie de {size} Mo pour organiser l’archive",
|
||||
"backup_csv_creation_failed": "Impossible de créer le fichier CSV nécessaire à la restauration",
|
||||
"backup_csv_addition_failed": "Impossible d’ajouter des fichiers à sauvegarder dans le fichier CSV",
|
||||
"backup_custom_backup_error": "Échec de la méthode de sauvegarde personnalisée à l’étape 'backup'",
|
||||
|
@ -204,38 +203,38 @@
|
|||
"backup_no_uncompress_archive_dir": "Ce dossier d’archive décompressée n’existe pas",
|
||||
"backup_method_tar_finished": "L’archive TAR de la sauvegarde a été créée",
|
||||
"backup_method_copy_finished": "La copie de la sauvegarde est terminée",
|
||||
"backup_method_custom_finished": "La méthode de sauvegarde personnalisée '{method:s}' est terminée",
|
||||
"backup_system_part_failed": "Impossible de sauvegarder la partie '{part:s}' du système",
|
||||
"backup_method_custom_finished": "La méthode de sauvegarde personnalisée '{method}' est terminée",
|
||||
"backup_system_part_failed": "Impossible de sauvegarder la partie '{part}' du système",
|
||||
"backup_unable_to_organize_files": "Impossible d’utiliser la méthode rapide pour organiser les fichiers dans l’archive",
|
||||
"backup_with_no_backup_script_for_app": "L’application {app:s} n’a pas de script de sauvegarde. Ignorer.",
|
||||
"backup_with_no_restore_script_for_app": "{app:s} n’a pas de script de restauration, vous ne pourrez pas restaurer automatiquement la sauvegarde de cette application.",
|
||||
"global_settings_cant_serialize_settings": "Échec de la sérialisation des données de paramétrage car : {reason:s}",
|
||||
"backup_with_no_backup_script_for_app": "L’application {app} n’a pas de script de sauvegarde. Ignorer.",
|
||||
"backup_with_no_restore_script_for_app": "{app} n’a pas de script de restauration, vous ne pourrez pas restaurer automatiquement la sauvegarde de cette application.",
|
||||
"global_settings_cant_serialize_settings": "Échec de la sérialisation des données de paramétrage car : {reason}",
|
||||
"restore_removing_tmp_dir_failed": "Impossible de sauvegarder un ancien dossier temporaire",
|
||||
"restore_extracting": "Extraction des fichiers nécessaires depuis l’archive…",
|
||||
"restore_may_be_not_enough_disk_space": "Votre système ne semble pas avoir suffisamment d’espace (libre : {free_space:d} B, espace nécessaire : {needed_space:d} B, marge de sécurité : {margin:d} B)",
|
||||
"restore_not_enough_disk_space": "Espace disponible insuffisant (L’espace libre est de {free_space:d} octets. Le besoin d’espace nécessaire est de {needed_space:d} octets. En appliquant une marge de sécurité, la quantité d’espace nécessaire est de {margin:d} octets)",
|
||||
"restore_system_part_failed": "Impossible de restaurer la partie '{part:s}' du système",
|
||||
"backup_couldnt_bind": "Impossible de lier {src:s} avec {dest:s}.",
|
||||
"domain_dns_conf_is_just_a_recommendation": "Cette page montre la configuration *recommandée*. Elle ne configure *pas* le DNS pour vous. Il est de votre responsabilité que de configurer votre zone DNS chez votre fournisseur/registrar DNS avec cette recommandation.",
|
||||
"restore_system_part_failed": "Impossible de restaurer la partie '{part}' du système",
|
||||
"backup_couldnt_bind": "Impossible de lier {src} avec {dest}.",
|
||||
"domain_dns_conf_is_just_a_recommendation": "Cette commande vous montre la configuration *recommandée*. Elle ne configure pas le DNS pour vous. Il est de votre ressort de configurer votre zone DNS chez votre registrar/fournisseur conformément à cette recommandation.",
|
||||
"migrations_cant_reach_migration_file": "Impossible d’accéder aux fichiers de migration via le chemin '%s'",
|
||||
"migrations_loading_migration": "Chargement de la migration {id} ...",
|
||||
"migrations_migration_has_failed": "La migration {id} a échoué avec l’exception {exception} : annulation",
|
||||
"migrations_no_migrations_to_run": "Aucune migration à lancer",
|
||||
"migrations_skip_migration": "Ignorer et passer la migration {id} ...",
|
||||
"server_shutdown": "Le serveur va s’éteindre",
|
||||
"server_shutdown_confirm": "Le serveur va être éteint immédiatement, le voulez-vous vraiment ? [{answers:s}]",
|
||||
"server_shutdown_confirm": "Le serveur va être éteint immédiatement, le voulez-vous vraiment ? [{answers}]",
|
||||
"server_reboot": "Le serveur va redémarrer",
|
||||
"server_reboot_confirm": "Le serveur va redémarrer immédiatement, le voulez-vous vraiment ? [{answers:s}]",
|
||||
"server_reboot_confirm": "Le serveur va redémarrer immédiatement, le voulez-vous vraiment ? [{answers}]",
|
||||
"app_upgrade_some_app_failed": "Certaines applications n’ont pas été mises à jour",
|
||||
"dyndns_could_not_check_provide": "Impossible de vérifier si {provider:s} peut fournir {domain:s}.",
|
||||
"dyndns_domain_not_provided": "Le fournisseur DynDNS {provider:s} ne peut pas fournir le domaine {domain:s}.",
|
||||
"dyndns_could_not_check_provide": "Impossible de vérifier si {provider} peut fournir {domain}.",
|
||||
"dyndns_domain_not_provided": "Le fournisseur DynDNS {provider} ne peut pas fournir le domaine {domain}.",
|
||||
"app_make_default_location_already_used": "Impossible de configurer l’application '{app}' par défaut pour le domaine '{domain}' car il est déjà utilisé par l'application '{other_app}'",
|
||||
"app_upgrade_app_name": "Mise à jour de {app}...",
|
||||
"backup_output_symlink_dir_broken": "Votre répertoire d’archivage '{path:s}' est un lien symbolique brisé. Peut-être avez-vous oublié de re/monter ou de brancher le support de stockage sur lequel il pointe.",
|
||||
"backup_output_symlink_dir_broken": "Votre répertoire d’archivage '{path}' est un lien symbolique brisé. Peut-être avez-vous oublié de re/monter ou de brancher le support de stockage sur lequel il pointe.",
|
||||
"migrations_list_conflict_pending_done": "Vous ne pouvez pas utiliser --previous et --done simultanément.",
|
||||
"migrations_to_be_ran_manually": "La migration {id} doit être lancée manuellement. Veuillez aller dans Outils > Migrations dans l’interface admin, ou lancer `yunohost tools migrations run`.",
|
||||
"migrations_need_to_accept_disclaimer": "Pour lancer la migration {id}, vous devez accepter cet avertissement :\n---\n{disclaimer}\n---\nSi vous acceptez de lancer la migration, veuillez relancer la commande avec l’option --accept-disclaimer.",
|
||||
"service_description_avahi-daemon": "Vous permet d’atteindre votre serveur en utilisant « yunohost.local » sur votre réseau local",
|
||||
"service_description_yunomdns": "Vous permet d’atteindre votre serveur en utilisant « yunohost.local » sur votre réseau local",
|
||||
"service_description_dnsmasq": "Gère la résolution des noms de domaine (DNS)",
|
||||
"service_description_dovecot": "Permet aux clients de messagerie d’accéder/récupérer les courriels (via IMAP et POP3)",
|
||||
"service_description_fail2ban": "Protège contre les attaques brute-force et autres types d’attaques venant d’Internet",
|
||||
|
@ -284,9 +283,9 @@
|
|||
"log_tools_shutdown": "Éteindre votre serveur",
|
||||
"log_tools_reboot": "Redémarrer votre serveur",
|
||||
"mail_unavailable": "Cette adresse de courriel est réservée et doit être automatiquement attribuée au tout premier utilisateur",
|
||||
"good_practices_about_admin_password": "Vous êtes sur le point de définir un nouveau mot de passe d'administration. Le mot de passe doit comporter au moins 8 caractères, bien qu'il soit recommandé d'utiliser un mot de passe plus long (c'est-à-dire une phrase de passe) et / ou d'utiliser une variation de caractères (majuscule, minuscule, chiffres et caractères spéciaux).",
|
||||
"good_practices_about_user_password": "Vous êtes sur le point de définir un nouveau mot de passe utilisateur. Le mot de passe doit comporter au moins 8 caractères, bien qu'il soit recommandé d'utiliser un mot de passe plus long (c'est-à-dire une phrase secrète) et / ou une variation de caractères (majuscule, minuscule, chiffres et caractères spéciaux).",
|
||||
"password_listed": "Ce mot de passe fait partie des mots de passe les plus utilisés au monde. Veuillez choisir quelque chose de plus unique.",
|
||||
"good_practices_about_admin_password": "Vous êtes sur le point de définir un nouveau mot de passe d'administration. Le mot de passe doit comporter au moins 8 caractères, bien qu'il soit recommandé d'utiliser un mot de passe plus long (c'est-à-dire une phrase secrète) et/ou d'utiliser une combinaison de caractères (majuscules, minuscules, chiffres et caractères spéciaux).",
|
||||
"good_practices_about_user_password": "Vous êtes sur le point de définir un nouveau mot de passe utilisateur. Le mot de passe doit comporter au moins 8 caractères, bien qu'il soit recommandé d'utiliser un mot de passe plus long (c'est-à-dire une phrase secrète) et/ou une combinaison de caractères (majuscules, minuscules, chiffres et caractères spéciaux).",
|
||||
"password_listed": "Ce mot de passe fait partie des mots de passe les plus utilisés dans le monde. Veuillez en choisir un autre moins commun et plus robuste.",
|
||||
"password_too_simple_1": "Le mot de passe doit comporter au moins 8 caractères",
|
||||
"password_too_simple_2": "Le mot de passe doit comporter au moins 8 caractères et contenir des chiffres, des majuscules et des minuscules",
|
||||
"password_too_simple_3": "Le mot de passe doit comporter au moins 8 caractères et contenir des chiffres, des majuscules, des minuscules et des caractères spéciaux",
|
||||
|
@ -303,24 +302,24 @@
|
|||
"ask_new_path": "Nouveau chemin",
|
||||
"backup_actually_backuping": "Création d’une archive de sauvegarde à partir des fichiers collectés...",
|
||||
"backup_mount_archive_for_restore": "Préparation de l’archive pour restauration...",
|
||||
"confirm_app_install_warning": "Avertissement : cette application peut fonctionner mais n’est pas bien intégrée dans YunoHost. Certaines fonctionnalités telles que l’authentification unique et la sauvegarde/restauration peuvent ne pas être disponibles. L’installer quand même ? [{answers:s}] ",
|
||||
"confirm_app_install_danger": "DANGER ! Cette application est connue pour être encore expérimentale (si elle ne fonctionne pas explicitement) ! Vous ne devriez probablement PAS l’installer à moins de savoir ce que vous faites. AUCUN SUPPORT ne sera fourni si cette application ne fonctionne pas ou casse votre système … Si vous êtes prêt à prendre ce risque de toute façon, tapez '{answers:s}'",
|
||||
"confirm_app_install_thirdparty": "DANGER ! Cette application ne fait pas partie du catalogue d'applications de YunoHost. L'installation d'applications tierces peut compromettre l'intégrité et la sécurité de votre système. Vous ne devriez probablement PAS l'installer à moins de savoir ce que vous faites. AUCUN SUPPORT ne sera fourni si cette application ne fonctionne pas ou casse votre système... Si vous êtes prêt à prendre ce risque de toute façon, tapez '{answers:s}'",
|
||||
"confirm_app_install_warning": "Avertissement : cette application peut fonctionner mais n’est pas bien intégrée dans YunoHost. Certaines fonctionnalités telles que l’authentification unique et la sauvegarde/restauration peuvent ne pas être disponibles. L’installer quand même ? [{answers}] ",
|
||||
"confirm_app_install_danger": "DANGER ! Cette application est connue pour être encore expérimentale (si elle ne fonctionne pas explicitement) ! Vous ne devriez probablement PAS l’installer à moins de savoir ce que vous faites. AUCUN SUPPORT ne sera fourni si cette application ne fonctionne pas ou casse votre système … Si vous êtes prêt à prendre ce risque de toute façon, tapez '{answers}'",
|
||||
"confirm_app_install_thirdparty": "DANGER ! Cette application ne fait pas partie du catalogue d'applications de YunoHost. L'installation d'applications tierces peut compromettre l'intégrité et la sécurité de votre système. Vous ne devriez probablement PAS l'installer à moins de savoir ce que vous faites. AUCUN SUPPORT ne sera fourni si cette application ne fonctionne pas ou casse votre système... Si vous êtes prêt à prendre ce risque de toute façon, tapez '{answers}'",
|
||||
"dpkg_is_broken": "Vous ne pouvez pas faire ça maintenant car dpkg/apt (le gestionnaire de paquets du système) semble avoir laissé des choses non configurées. Vous pouvez essayer de résoudre ce problème en vous connectant via SSH et en exécutant `sudo apt install --fix-broken` et/ou `sudo dpkg --configure -a'.",
|
||||
"dyndns_could_not_check_available": "Impossible de vérifier si {domain:s} est disponible chez {provider:s}.",
|
||||
"file_does_not_exist": "Le fichier dont le chemin est {path:s} n’existe pas.",
|
||||
"dyndns_could_not_check_available": "Impossible de vérifier si {domain} est disponible chez {provider}.",
|
||||
"file_does_not_exist": "Le fichier dont le chemin est {path} n’existe pas.",
|
||||
"global_settings_setting_security_password_admin_strength": "Qualité du mot de passe administrateur",
|
||||
"global_settings_setting_security_password_user_strength": "Qualité du mot de passe de l’utilisateur",
|
||||
"global_settings_setting_service_ssh_allow_deprecated_dsa_hostkey": "Autoriser l’utilisation de la clé hôte DSA (obsolète) pour la configuration du service SSH",
|
||||
"hook_json_return_error": "Échec de la lecture au retour du script {path:s}. Erreur : {msg:s}. Contenu brut : {raw_content}",
|
||||
"hook_json_return_error": "Échec de la lecture au retour du script {path}. Erreur : {msg}. Contenu brut : {raw_content}",
|
||||
"pattern_password_app": "Désolé, les mots de passe ne peuvent pas contenir les caractères suivants : {forbidden_chars}",
|
||||
"root_password_replaced_by_admin_password": "Votre mot de passe root a été remplacé par votre mot de passe administrateur.",
|
||||
"service_reload_failed": "Impossible de recharger le service '{service:s}'.\n\nJournaux historisés récents de ce service : {logs:s}",
|
||||
"service_reloaded": "Le service « {service:s} » a été rechargé",
|
||||
"service_restart_failed": "Impossible de redémarrer le service '{service:s}'\n\nJournaux historisés récents de ce service : {logs:s}",
|
||||
"service_restarted": "Le service « {service:s} » a été redémarré",
|
||||
"service_reload_or_restart_failed": "Impossible de recharger ou de redémarrer le service '{service:s}'\n\nJournaux historisés récents de ce service : {logs:s}",
|
||||
"service_reloaded_or_restarted": "Le service « {service:s} » a été rechargé ou redémarré",
|
||||
"service_reload_failed": "Impossible de recharger le service '{service}'.\n\nJournaux historisés récents de ce service : {logs}",
|
||||
"service_reloaded": "Le service « {service} » a été rechargé",
|
||||
"service_restart_failed": "Impossible de redémarrer le service '{service}'\n\nJournaux historisés récents de ce service : {logs}",
|
||||
"service_restarted": "Le service « {service} » a été redémarré",
|
||||
"service_reload_or_restart_failed": "Impossible de recharger ou de redémarrer le service '{service}'\n\nJournaux historisés récents de ce service : {logs}",
|
||||
"service_reloaded_or_restarted": "Le service « {service} » a été rechargé ou redémarré",
|
||||
"this_action_broke_dpkg": "Cette action a laissé des paquets non configurés par dpkg/apt (les gestionnaires de paquets du système) … Vous pouvez essayer de résoudre ce problème en vous connectant via SSH et en exécutant `sudo apt install --fix-broken` et/ou `sudo dpkg --configure -a`.",
|
||||
"app_action_cannot_be_ran_because_required_services_down": "Ces services requis doivent être en cours d’exécution pour exécuter cette action : {services}. Essayez de les redémarrer pour continuer (et éventuellement rechercher pourquoi ils sont en panne).",
|
||||
"admin_password_too_long": "Veuillez choisir un mot de passe comportant moins de 127 caractères",
|
||||
|
@ -334,7 +333,7 @@
|
|||
"regenconf_file_updated": "Le fichier de configuration '{conf}' a été mis à jour",
|
||||
"regenconf_now_managed_by_yunohost": "Le fichier de configuration '{conf}' est maintenant géré par YunoHost (catégorie {category}).",
|
||||
"regenconf_up_to_date": "La configuration est déjà à jour pour la catégorie '{category}'",
|
||||
"already_up_to_date": "Il n’y a rien à faire ! Tout est déjà à jour !",
|
||||
"already_up_to_date": "Il n’y a rien à faire. Tout est déjà à jour.",
|
||||
"global_settings_setting_security_nginx_compatibility": "Compatibilité versus compromis sécuritaire pour le serveur web Nginx. Affecte les cryptogrammes (et d’autres aspects liés à la sécurité)",
|
||||
"global_settings_setting_security_ssh_compatibility": "Compatibilité versus compromis sécuritaire pour le serveur SSH. Affecte les cryptogrammes (et d’autres aspects liés à la sécurité)",
|
||||
"global_settings_setting_security_postfix_compatibility": "Compatibilité versus compromis sécuritaire pour le serveur Postfix. Affecte les cryptogrammes (et d’autres aspects liés à la sécurité)",
|
||||
|
@ -354,20 +353,20 @@
|
|||
"tools_upgrade_special_packages_completed": "La mise à jour des paquets de YunoHost est finie !\nPressez [Entrée] pour revenir à la ligne de commande",
|
||||
"dpkg_lock_not_available": "Cette commande ne peut pas être exécutée pour le moment car un autre programme semble utiliser le verrou de dpkg (le gestionnaire de package système)",
|
||||
"tools_upgrade_cant_unhold_critical_packages": "Impossible d'enlever le drapeau 'hold' pour les paquets critiques…",
|
||||
"tools_upgrade_special_packages_explanation": "La mise à niveau spécifique à YunoHost se poursuivra en arrière-plan. Veuillez ne pas lancer d'autres actions sur votre serveur pendant les 10 prochaines minutes (selon la vitesse du matériel). Après cela, vous devrez peut-être vous reconnecter à l'administrateur Web. Le journal de mise à niveau sera disponible dans Outils → Journal (dans le webadmin) ou en utilisant la « liste des journaux yunohost » (à partir de la ligne de commande).",
|
||||
"tools_upgrade_special_packages_explanation": "La mise à niveau spécifique à YunoHost se poursuivra en arrière-plan. Veuillez ne pas lancer d'autres actions sur votre serveur pendant les 10 prochaines minutes (selon la vitesse du matériel). Après cela, vous devrez peut-être vous reconnecter à la webadmin. Le journal de mise à niveau sera disponible dans Outils → Journal (dans le webadmin) ou en utilisant 'yunohost log list' (à partir de la ligne de commande).",
|
||||
"update_apt_cache_failed": "Impossible de mettre à jour le cache APT (gestionnaire de paquets Debian). Voici un extrait du fichier sources.list qui pourrait vous aider à identifier les lignes problématiques :\n{sourceslist}",
|
||||
"update_apt_cache_warning": "Des erreurs se sont produites lors de la mise à jour du cache APT (gestionnaire de paquets Debian). Voici un extrait des lignes du fichier sources.list qui pourrait vous aider à identifier les lignes problématiques :\n{sourceslist}",
|
||||
"backup_permission": "Permission de sauvegarde pour {app:s}",
|
||||
"backup_permission": "Permission de sauvegarde pour {app}",
|
||||
"group_created": "Le groupe '{group}' a été créé",
|
||||
"group_deleted": "Suppression du groupe '{group}'",
|
||||
"group_unknown": "Le groupe {group:s} est inconnu",
|
||||
"group_unknown": "Le groupe {group} est inconnu",
|
||||
"group_updated": "Le groupe '{group}' a été mis à jour",
|
||||
"group_update_failed": "La mise à jour du groupe '{group}' a échoué : {error}",
|
||||
"group_creation_failed": "Échec de la création du groupe '{group}' : {error}",
|
||||
"group_deletion_failed": "Échec de la suppression du groupe '{group}' : {error}",
|
||||
"log_user_group_delete": "Supprimer le groupe '{}'",
|
||||
"log_user_group_update": "Mettre à jour '{}' pour le groupe",
|
||||
"mailbox_disabled": "La boîte aux lettres est désactivée pour l’utilisateur {user:s}",
|
||||
"mailbox_disabled": "La boîte aux lettres est désactivée pour l’utilisateur {user}",
|
||||
"app_action_broke_system": "Cette action semble avoir cassé des services importants : {services}",
|
||||
"apps_already_up_to_date": "Toutes les applications sont déjà à jour",
|
||||
"migrations_must_provide_explicit_targets": "Vous devez fournir des cibles explicites lorsque vous utilisez '--skip' ou '--force-rerun'",
|
||||
|
@ -375,20 +374,20 @@
|
|||
"migrations_pending_cant_rerun": "Ces migrations étant toujours en attente, vous ne pouvez pas les exécuter à nouveau : {ids}",
|
||||
"migrations_exclusive_options": "'auto', '--skip' et '--force-rerun' sont des options mutuellement exclusives.",
|
||||
"migrations_not_pending_cant_skip": "Ces migrations ne sont pas en attente et ne peuvent donc pas être ignorées : {ids}",
|
||||
"permission_not_found": "Permission '{permission:s}' introuvable",
|
||||
"permission_not_found": "Permission '{permission}' introuvable",
|
||||
"permission_update_failed": "Impossible de mettre à jour la permission '{permission}' : {error}",
|
||||
"permission_updated": "Permission '{permission:s}' mise à jour",
|
||||
"permission_updated": "Permission '{permission}' mise à jour",
|
||||
"dyndns_provider_unreachable": "Impossible d’atteindre le fournisseur DynDNS {provider} : votre YunoHost n’est pas correctement connecté à Internet ou le serveur Dynette est en panne.",
|
||||
"migrations_already_ran": "Ces migrations sont déjà effectuées : {ids}",
|
||||
"migrations_dependencies_not_satisfied": "Exécutez ces migrations : '{dependencies_id}', avant migration {id}.",
|
||||
"migrations_failed_to_load_migration": "Impossible de charger la migration {id} : {error}",
|
||||
"migrations_running_forward": "Exécution de la migration {id} ...",
|
||||
"migrations_success_forward": "Migration {id} terminée",
|
||||
"operation_interrupted": "L’opération a été interrompue manuellement ?",
|
||||
"operation_interrupted": "L'opération a-t-elle été interrompue manuellement ?",
|
||||
"permission_already_exist": "L’autorisation '{permission}' existe déjà",
|
||||
"permission_created": "Permission '{permission:s}' créée",
|
||||
"permission_created": "Permission '{permission}' créée",
|
||||
"permission_creation_failed": "Impossible de créer l’autorisation '{permission}' : {error}",
|
||||
"permission_deleted": "Permission '{permission:s}' supprimée",
|
||||
"permission_deleted": "Permission '{permission}' supprimée",
|
||||
"permission_deletion_failed": "Impossible de supprimer la permission '{permission}' : {error}",
|
||||
"group_already_exist": "Le groupe {group} existe déjà",
|
||||
"group_already_exist_on_system": "Le groupe {group} existe déjà dans les groupes système",
|
||||
|
@ -460,7 +459,7 @@
|
|||
"apps_catalog_init_success": "Système de catalogue d’applications initialisé !",
|
||||
"apps_catalog_failed_to_download": "Impossible de télécharger le catalogue des applications {apps_catalog} : {error}",
|
||||
"diagnosis_mail_outgoing_port_25_blocked": "Le port sortant 25 semble être bloqué. Vous devriez essayer de le débloquer dans le panneau de configuration de votre fournisseur de services Internet (ou hébergeur). En attendant, le serveur ne pourra pas envoyer des courriels à d’autres serveurs.",
|
||||
"domain_cannot_remove_main_add_new_one": "Vous ne pouvez pas supprimer '{domain:s}' car il s’agit du domaine principal et de votre seul domaine. Vous devez d’abord ajouter un autre domaine à l’aide de 'yunohost domain add <another-domain.com>', puis définir comme domaine principal à l’aide de 'yunohost domain main-domain -n <nom-d’un-autre-domaine.com>' et vous pouvez ensuite supprimer le domaine '{domain:s}' à l’aide de 'yunohost domain remove {domain:s}'.'",
|
||||
"domain_cannot_remove_main_add_new_one": "Vous ne pouvez pas supprimer '{domain}' car il s’agit du domaine principal et de votre seul domaine. Vous devez d’abord ajouter un autre domaine à l’aide de 'yunohost domain add <another-domain.com>', puis définir comme domaine principal à l’aide de 'yunohost domain main-domain -n <nom-d’un-autre-domaine.com>' et vous pouvez ensuite supprimer le domaine '{domain}' à l’aide de 'yunohost domain remove {domain}'.'",
|
||||
"diagnosis_security_vulnerable_to_meltdown_details": "Pour résoudre ce problème, vous devez mettre à niveau votre système et redémarrer pour charger le nouveau noyau Linux (ou contacter votre fournisseur de serveur si cela ne fonctionne pas). Voir https://meltdownattack.com/ pour plus d’informations.",
|
||||
"diagnosis_description_basesystem": "Système de base",
|
||||
"diagnosis_description_ip": "Connectivité Internet",
|
||||
|
@ -489,7 +488,7 @@
|
|||
"diagnosis_ports_forwarding_tip": "Pour résoudre ce problème, vous devez probablement configurer la redirection de port sur votre routeur Internet comme décrit dans <a href='https://yunohost.org/isp_box_config'>https://yunohost.org/isp_box_config</a>",
|
||||
"diagnosis_http_connection_error": "Erreur de connexion : impossible de se connecter au domaine demandé, il est probablement injoignable.",
|
||||
"diagnosis_no_cache": "Pas encore de cache de diagnostique pour la catégorie « {category} »",
|
||||
"yunohost_postinstall_end_tip": "La post-installation terminée! Pour finaliser votre configuration, il est recommandé de :\n - ajouter un premier utilisateur depuis la section \"Utilisateurs\" de l’interface web (ou \"yunohost user create <nom d’utilisateur>\" en ligne de commande) ;\n - diagnostiquer les potentiels problèmes dans la section \"Diagnostic\" de l'interface web (ou \"yunohost diagnosis run\" en ligne de commande) ;\n - lire les parties \"Finalisation de votre configuration\" et \"Découverte de YunoHost\" dans le guide de l’administrateur: https://yunohost.org/admindoc.",
|
||||
"yunohost_postinstall_end_tip": "La post-installation terminée ! Pour finaliser votre configuration, il est recommandé de :\n- ajouter un premier utilisateur depuis la section \"Utilisateurs\" de l’interface web (ou 'yunohost user create <nom d’utilisateur>' en ligne de commande) ;\n- diagnostiquer les potentiels problèmes dans la section \"Diagnostic\" de l'interface web (ou 'yunohost diagnosis run' en ligne de commande) ;\n- lire les parties 'Finalisation de votre configuration' et 'Découverte de YunoHost' dans le guide de l’administrateur : https://yunohost.org/admindoc.",
|
||||
"diagnosis_services_bad_status_tip": "Vous pouvez essayer de <a href='#/services/{service}'>redémarrer le service</a>, et si cela ne fonctionne pas, consultez <a href='#/services/{service}'>les journaux de service dans le webadmin</a> (à partir de la ligne de commande, vous pouvez le faire avec <cmd>yunohost service restart {service}</cmd> et <cmd>yunohost service log {service}</cmd> ).",
|
||||
"diagnosis_http_bad_status_code": "Le système de diagnostique n’a pas réussi à contacter votre serveur. Il se peut qu’une autre machine réponde à la place de votre serveur. Vérifiez que le port 80 est correctement redirigé, que votre configuration Nginx est à jour et qu’un reverse-proxy n’interfère pas.",
|
||||
"diagnosis_http_timeout": "Expiration du délai en essayant de contacter votre serveur de l’extérieur. Il semble être inaccessible. Vérifiez que vous transférez correctement le port 80, que Nginx est en cours d’exécution et qu’un pare-feu n’interfère pas.",
|
||||
|
@ -501,7 +500,7 @@
|
|||
"diagnosis_description_web": "Web",
|
||||
"diagnosis_basesystem_hardware": "L’architecture du serveur est {virt} {arch}",
|
||||
"group_already_exist_on_system_but_removing_it": "Le groupe {group} est déjà présent dans les groupes du système, mais YunoHost va le supprimer...",
|
||||
"certmanager_warning_subdomain_dns_record": "Le sous-domaine '{subdomain:s}' ne résout pas vers la même adresse IP que '{domain:s}'. Certaines fonctionnalités seront indisponibles tant que vous n’aurez pas corrigé cela et regénéré le certificat.",
|
||||
"certmanager_warning_subdomain_dns_record": "Le sous-domaine '{subdomain}' ne résout pas vers la même adresse IP que '{domain}'. Certaines fonctionnalités seront indisponibles tant que vous n’aurez pas corrigé cela et regénéré le certificat.",
|
||||
"domain_cannot_add_xmpp_upload": "Vous ne pouvez pas ajouter de domaine commençant par 'xmpp-upload.'. Ce type de nom est réservé à la fonctionnalité d’upload XMPP intégrée dans YunoHost.",
|
||||
"diagnosis_mail_outgoing_port_25_ok": "Le serveur de messagerie SMTP peut envoyer des courriels (le port sortant 25 n'est pas bloqué).",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_details": "Vous devez d’abord essayer de débloquer le port sortant 25 dans votre interface de routeur Internet ou votre interface d’hébergement. (Certains hébergeurs peuvent vous demander de leur envoyer un ticket de support pour cela).",
|
||||
|
@ -525,12 +524,12 @@
|
|||
"diagnosis_ip_global": "IP globale : <code>{global}</code>",
|
||||
"diagnosis_ip_local": "IP locale : <code>{local}</code>",
|
||||
"diagnosis_dns_point_to_doc": "Veuillez consulter la documentation sur <a href='https://yunohost.org/dns_config'>https://yunohost.org/dns_config</a> si vous avez besoin d’aide pour configurer les enregistrements DNS.",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_relay_vpn": "Certains fournisseurs ne vous laisseront pas débloquer le port sortant 25 parce qu’ils ne se soucient pas de la neutralité du Net. <br> - Certains d’entre eux offrent l’alternative d'<a href='https://yunohost.org/#/smtp_relay'>utiliser un serveur de messagerie relai</a> bien que cela implique que le relai sera en mesure d’espionner votre trafic de messagerie. <br> - Une alternative respectueuse de la vie privée consiste à utiliser un VPN *avec une IP publique dédiée* pour contourner ce type de limites. Voir <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a> <br> - Vous pouvez également envisager de passer à <a href='https://yunohost.org/#/isp'>un fournisseur plus respectueux de la neutralité du net</a>",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_relay_vpn": "Certains fournisseurs ne vous laisseront pas débloquer le port sortant 25 parce qu’ils ne se soucient pas de la neutralité du Net. <br> - Certains d’entre eux offrent l’alternative d'<a href='https://yunohost.org/#/email_configure_relay'>utiliser un serveur de messagerie relai</a> bien que cela implique que le relai sera en mesure d’espionner votre trafic de messagerie. <br> - Une alternative respectueuse de la vie privée consiste à utiliser un VPN *avec une IP publique dédiée* pour contourner ce type de limites. Voir <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a> <br> - Vous pouvez également envisager de passer à <a href='https://yunohost.org/#/isp'>un fournisseur plus respectueux de la neutralité du net</a>",
|
||||
"diagnosis_mail_ehlo_ok": "Le serveur de messagerie SMTP est accessible de l'extérieur et peut donc recevoir des courriels !",
|
||||
"diagnosis_mail_ehlo_unreachable": "Le serveur de messagerie SMTP est inaccessible de l’extérieur en IPv{ipversion}. Il ne pourra pas recevoir des courriels.",
|
||||
"diagnosis_mail_ehlo_unreachable_details": "Impossible d'ouvrir une connexion sur le port 25 à votre serveur en IPv{ipversion}. Il semble inaccessible. <br> 1. La cause la plus courante de ce problème est que le port 25 <a href='https://yunohost.org/isp_box_config'>n'est pas correctement redirigé vers votre serveur</a>. <br> 2. Vous devez également vous assurer que le service postfix est en cours d'exécution. <br> 3. Sur les configurations plus complexes: assurez-vous qu'aucun pare-feu ou proxy inversé n'interfère.",
|
||||
"diagnosis_mail_ehlo_wrong_details": "Le EHLO reçu par le serveur de diagnostique distant en IPv{ipversion} est différent du domaine de votre serveur. <br> EHLO reçu: <code>{wrong_ehlo}</code> <br> Attendu : <code>{right_ehlo}</code> <br> La cause la plus courante ce problème est que le port 25 <a href='https://yunohost.org/isp_box_config'> n’est pas correctement redirigé vers votre serveur </a>. Vous pouvez également vous assurer qu’aucun pare-feu ou proxy inversé n’interfère.",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_4": "Certains fournisseurs ne vous laisseront pas configurer votre DNS inversé (ou leur fonctionnalité pourrait être cassée …). Si vous rencontrez des problèmes à cause de cela, envisagez les solutions suivantes : <br> - Certains FAI fournissent l’alternative de <a href='https://yunohost.org/#/smtp_relay'>à l’aide d’un relais de serveur de messagerie</a> bien que cela implique que le relais pourra espionner votre trafic de messagerie. <br> - Une alternative respectueuse de la vie privée consiste à utiliser un VPN *avec une IP publique dédiée* pour contourner ce type de limites. Voir <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a> <br> - Enfin, il est également possible de <a href='https://yunohost.org/#/isp'>changer de fournisseur</a>",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_4": "Certains fournisseurs ne vous laisseront pas configurer votre DNS inversé (ou leur fonctionnalité pourrait être cassée …). Si vous rencontrez des problèmes à cause de cela, envisagez les solutions suivantes : <br> - Certains FAI fournissent l’alternative de <a href='https://yunohost.org/#/email_configure_relay'>à l’aide d’un relais de serveur de messagerie</a> bien que cela implique que le relais pourra espionner votre trafic de messagerie. <br> - Une alternative respectueuse de la vie privée consiste à utiliser un VPN *avec une IP publique dédiée* pour contourner ce type de limites. Voir <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a> <br> - Enfin, il est également possible de <a href='https://yunohost.org/#/isp'>changer de fournisseur</a>",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_6": "Certains fournisseurs ne vous laisseront pas configurer votre DNS inversé (ou leur fonctionnalité pourrait être cassée ...). Si votre DNS inversé est correctement configuré en IPv4, vous pouvez essayer de désactiver l'utilisation d'IPv6 lors de l'envoi d'e-mails en exécutant <cmd>yunohost settings set smtp.allow_ipv6 -v off</cmd>. Remarque: cette dernière solution signifie que vous ne pourrez pas envoyer ou recevoir de courriels avec les quelques serveurs qui ont uniquement de l'IPv6.",
|
||||
"diagnosis_mail_fcrdns_different_from_ehlo_domain_details": "DNS inverse actuel : <code>{rdns_domain}</code> <br> Valeur attendue : <code>{ehlo_domain}</code>",
|
||||
"diagnosis_mail_blacklist_listed_by": "Votre IP ou domaine <code>{item}</code> est sur liste noire sur {blacklist_name}",
|
||||
|
@ -555,7 +554,7 @@
|
|||
"diagnosis_swap_tip": "Merci d'être prudent et conscient que si vous hébergez une partition SWAP sur une carte SD ou un disque SSD, cela risque de réduire drastiquement l’espérance de vie du périphérique.",
|
||||
"restore_already_installed_apps": "Les applications suivantes ne peuvent pas être restaurées car elles sont déjà installées : {apps}",
|
||||
"regenconf_need_to_explicitly_specify_ssh": "La configuration de ssh a été modifiée manuellement. Vous devez explicitement indiquer la mention --force à \"ssh\" pour appliquer les changements.",
|
||||
"migration_0015_cleaning_up": "Nettoyage du cache et des paquets qui ne sont plus utiles...",
|
||||
"migration_0015_cleaning_up": "Nettoyage du cache et des paquets qui ne sont plus nécessaires ...",
|
||||
"migration_0015_specific_upgrade": "Démarrage de la mise à jour des paquets du système qui doivent être mis à jour séparément ...",
|
||||
"migration_0015_modified_files": "Veuillez noter que les fichiers suivants ont été modifiés manuellement et pourraient être écrasés à la suite de la mise à niveau : {manually_modified_files}",
|
||||
"migration_0015_problematic_apps_warning": "Veuillez noter que des applications qui peuvent poser problèmes ont été détectées. Il semble qu'elles n'aient pas été installées à partir du catalogue d'applications YunoHost, ou bien qu'elles ne soient pas signalées comme \"fonctionnelles\". Par conséquent, il n'est pas possible de garantir que les applications suivantes fonctionneront encore après la mise à niveau : {problematic_apps}",
|
||||
|
@ -572,7 +571,7 @@
|
|||
"diagnosis_dns_try_dyndns_update_force": "La configuration DNS de ce domaine devrait être automatiquement gérée par YunoHost. Si ce n'est pas le cas, vous pouvez essayer de forcer une mise à jour en utilisant <cmd>yunohost dyndns update --force</cmd>.",
|
||||
"app_packaging_format_not_supported": "Cette application ne peut pas être installée car son format n'est pas pris en charge par votre version de YunoHost. Vous devriez probablement envisager de mettre à jour votre système.",
|
||||
"migration_0015_weak_certs": "Il a été constaté que les certificats suivants utilisent encore des algorithmes de signature peu robustes et doivent être mis à jour pour être compatibles avec la prochaine version de NGINX : {certs}",
|
||||
"global_settings_setting_backup_compress_tar_archives": "Compresser les archives (.tar.gz) au lieu des archives non-compressées lors de la création des backups. N.B. : activer cette option permet d'obtenir des sauvegardes plus légères, mais leur création sera significativement plus longue et plus gourmande en CPU.",
|
||||
"global_settings_setting_backup_compress_tar_archives": "Compresser les archives (.tar.gz) au lieu de créer des archives non-compressées lors de la création des sauvegardes. N.B. Activer cette option permet de créer des archives plus légères, mais aussi d'avoir des procédures de sauvegarde significativement plus longues et plus gourmandes en CPU.",
|
||||
"migration_description_0018_xtable_to_nftable": "Migrer les anciennes règles de trafic réseau vers le nouveau système basé sur nftables",
|
||||
"service_description_php7.3-fpm": "Exécute les applications écrites en PHP avec NGINX",
|
||||
"migration_0018_failed_to_reset_legacy_rules": "La réinitialisation des règles iptable par défaut a échoué : {error}",
|
||||
|
@ -589,15 +588,15 @@
|
|||
"app_manifest_install_ask_password": "Choisissez un mot de passe administrateur pour cette application",
|
||||
"app_manifest_install_ask_path": "Choisissez le chemin sur lequel vous souhaitez installer cette application",
|
||||
"app_manifest_install_ask_domain": "Choisissez le domaine sur lequel vous souhaitez installer cette application",
|
||||
"global_settings_setting_smtp_relay_user": "Relais de compte utilisateur SMTP",
|
||||
"global_settings_setting_smtp_relay_port": "Port relais SMTP",
|
||||
"global_settings_setting_smtp_relay_host": "Relais SMTP à utiliser pour envoyer du courrier à la place de cette instance YunoHost. Utile si vous êtes dans l'une de ces situations : votre port 25 est bloqué par votre FAI ou votre fournisseur VPS, vous avez une IP résidentielle répertoriée sur DUHL, vous ne pouvez pas configurer de DNS inversé ou ce serveur n'est pas directement exposé sur Internet et vous voulez en utiliser un autre pour envoyer des mails.",
|
||||
"global_settings_setting_smtp_relay_user": "Compte utilisateur du relais SMTP",
|
||||
"global_settings_setting_smtp_relay_port": "Port du relais SMTP",
|
||||
"global_settings_setting_smtp_relay_host": "Un relais SMTP permet d'envoyer du courrier à la place de cette instance YunoHost. Cela est utile si vous êtes dans l'une de ces situations : le port 25 est bloqué par votre FAI ou par votre fournisseur VPS, vous avez une IP résidentielle répertoriée sur DUHL, vous ne pouvez pas configurer de reverse DNS ou le serveur n'est pas directement accessible depuis Internet et que vous voulez en utiliser un autre pour envoyer des mails.",
|
||||
"diagnosis_package_installed_from_sury_details": "Certains paquets ont été installés par inadvertance à partir d'un dépôt tiers appelé Sury. L'équipe YunoHost a amélioré la stratégie de gestion de ces paquets, mais on s'attend à ce que certaines configurations qui ont installé des applications PHP7.3 tout en étant toujours sur Stretch présentent des incohérences. Pour résoudre cette situation, vous devez essayer d'exécuter la commande suivante : <cmd>{cmd_to_fix}</cmd>",
|
||||
"app_argument_password_no_default": "Erreur lors de l'analyse de l'argument de mot de passe '{name}' : l'argument de mot de passe ne peut pas avoir de valeur par défaut pour des raisons de sécurité",
|
||||
"pattern_email_forward": "Il doit s'agir d'une adresse électronique valide, le symbole '+' étant accepté (par exemples : johndoe@exemple.com ou bien johndoe+yunohost@exemple.com)",
|
||||
"pattern_email_forward": "L'adresse électronique doit être valide, le symbole '+' étant accepté (par exemple : johndoe+yunohost@exemple.com)",
|
||||
"global_settings_setting_smtp_relay_password": "Mot de passe du relais de l'hôte SMTP",
|
||||
"diagnosis_package_installed_from_sury": "Des paquets du système devraient être rétrogradé de version",
|
||||
"additional_urls_already_added": "URL supplémentaire '{url:s}' déjà ajoutée pour la permission '{permission:s}'",
|
||||
"additional_urls_already_added": "URL supplémentaire '{url}' déjà ajoutée pour la permission '{permission}'",
|
||||
"unknown_main_domain_path": "Domaine ou chemin inconnu pour '{app}'. Vous devez spécifier un domaine et un chemin pour pouvoir spécifier une URL pour l'autorisation.",
|
||||
"show_tile_cant_be_enabled_for_regex": "Vous ne pouvez pas activer 'show_tile' pour le moment, car l'URL de l'autorisation '{permission}' est une expression régulière",
|
||||
"show_tile_cant_be_enabled_for_url_not_defined": "Vous ne pouvez pas activer 'show_tile' pour le moment, car vous devez d'abord définir une URL pour l'autorisation '{permission}'",
|
||||
|
@ -605,38 +604,38 @@
|
|||
"regex_incompatible_with_tile": "/!\\ Packagers ! La permission '{permission}' a 'show_tile' définie sur 'true' et vous ne pouvez donc pas définir une URL regex comme URL principale",
|
||||
"permission_protected": "L'autorisation {permission} est protégée. Vous ne pouvez pas ajouter ou supprimer le groupe visiteurs à/de cette autorisation.",
|
||||
"migration_0019_slapd_config_will_be_overwritten": "Il semble que vous ayez modifié manuellement la configuration de slapd. Pour cette migration critique, YunoHost doit forcer la mise à jour de la configuration slapd. Les fichiers originaux seront sauvegardés dans {conf_backup_folder}.",
|
||||
"migration_0019_migration_failed_trying_to_rollback": "Impossible de migrer... tentative de restauration du système.",
|
||||
"migration_0019_can_not_backup_before_migration": "La sauvegarde du système n'a pas pu être effectuée avant l'échec de la migration. Erreur : {error:s}",
|
||||
"migration_0019_backup_before_migration": "Création d'une sauvegarde de la base de données LDAP et des paramètres des applications avant la migration.",
|
||||
"migration_0019_add_new_attributes_in_ldap": "Ajouter de nouveaux attributs pour les autorisations dans la base de données LDAP",
|
||||
"migrating_legacy_permission_settings": "Migration des anciens paramètres d'autorisation...",
|
||||
"invalid_regex": "Regex non valide : '{regex:s}'",
|
||||
"invalid_regex": "Regex non valide : '{regex}'",
|
||||
"domain_name_unknown": "Domaine '{domain}' inconnu",
|
||||
"app_label_deprecated": "Cette commande est obsolète ! Veuillez utiliser la nouvelle commande 'yunohost user permission update' pour gérer l'étiquette de l'application.",
|
||||
"additional_urls_already_removed": "URL supplémentaire '{url:s}' déjà supprimées pour la permission '{permission:s}'",
|
||||
"migration_0019_rollback_success": "Retour à l'état antérieur du système.",
|
||||
"additional_urls_already_removed": "URL supplémentaire '{url}' déjà supprimées pour la permission '{permission}'",
|
||||
"invalid_number": "Doit être un nombre",
|
||||
"migration_description_0019_extend_permissions_features": "Étendre et retravailler le système de gestion des permissions applicatives",
|
||||
"diagnosis_basesystem_hardware_model": "Le modèle du serveur est {model}",
|
||||
"diagnosis_basesystem_hardware_model": "Le modèle/architecture du serveur est {model}",
|
||||
"diagnosis_backports_in_sources_list": "Il semble qu'apt (le gestionnaire de paquets) soit configuré pour utiliser le dépôt des rétroportages (backports). A moins que vous ne sachiez vraiment ce que vous faites, nous vous déconseillons fortement d'installer des paquets provenant des rétroportages, car cela risque de créer des instabilités ou des conflits sur votre système.",
|
||||
"postinstall_low_rootfsspace": "Le système de fichiers racine a une taille totale inférieure à 10 GB, ce qui est inquiétant ! Vous allez certainement arriver à court d'espace disque rapidement ! Il est recommandé d'avoir au moins 16 GB pour ce système de fichiers. Si vous voulez installer YunoHost malgré cet avertissement, relancez le postinstall avec --force-diskspace",
|
||||
"postinstall_low_rootfsspace": "Le système de fichiers a une taille totale inférieure à 10 Go, ce qui est préoccupant et devrait attirer votre attention ! Vous allez certainement arriver à court d'espace disque (très) rapidement ! Il est recommandé d'avoir au moins 16 Go à la racine pour ce système de fichiers. Si vous voulez installer YunoHost malgré cet avertissement, relancez la post-installation avec --force-diskspace",
|
||||
"domain_remove_confirm_apps_removal": "Le retrait de ce domaine retirera aussi ces applications :\n{apps}\n\nÊtes vous sûr de vouloir cela ? [{answers}]",
|
||||
"diagnosis_rootfstotalspace_critical": "Le système de fichiers racine ne fait que {space} ! Vous allez certainement le remplir très rapidement ! Il est recommandé d'avoir au moins 16 GB pour ce système de fichiers.",
|
||||
"diagnosis_rootfstotalspace_warning": "Le système de fichiers racine n'est que de {space}. Cela peut suffire, mais faites attention car vous risquez de les remplir rapidement... Il est recommandé d'avoir au moins 16 GB pour ce système de fichiers.",
|
||||
"app_restore_script_failed": "Une erreur s'est produite dans le script de restauration de l'application",
|
||||
"restore_backup_too_old": "Cette archive de sauvegarde ne peut être restaurée car elle provient d'une version trop ancienne de YunoHost.",
|
||||
"restore_backup_too_old": "Cette sauvegarde ne peut pas être restaurée car elle provient d'une version trop ancienne de YunoHost.",
|
||||
"migration_update_LDAP_schema": "Mise à jour du schéma LDAP...",
|
||||
"log_backup_create": "Créer une archive de sauvegarde",
|
||||
"global_settings_setting_ssowat_panel_overlay_enabled": "Activer la superposition du panneau SSOwat",
|
||||
"global_settings_setting_ssowat_panel_overlay_enabled": "Activer la superposition de la vignette SSOwat",
|
||||
"migration_ldap_rollback_success": "Système rétabli dans son état initial.",
|
||||
"permission_cant_add_to_all_users": "L'autorisation {permission} ne peut pas être ajoutée à tous les utilisateurs.",
|
||||
"migration_ldap_migration_failed_trying_to_rollback": "Impossible de migrer... tentative de restauration du système.",
|
||||
"migration_ldap_can_not_backup_before_migration": "La sauvegarde du système n'a pas pu être terminée avant l'échec de la migration. Erreur : {error : s}",
|
||||
"migration_ldap_can_not_backup_before_migration": "La sauvegarde du système n'a pas pu être terminée avant l'échec de la migration. Erreur : {error }",
|
||||
"migration_ldap_backup_before_migration": "Création d'une sauvegarde de la base de données LDAP et des paramètres des applications avant la migration proprement dite.",
|
||||
"migration_description_0020_ssh_sftp_permissions": "Ajouter la prise en charge des autorisations SSH et SFTP",
|
||||
"global_settings_setting_security_ssh_port": "Port SSH",
|
||||
"diagnosis_sshd_config_inconsistent_details": "Veuillez exécuter <cmd>yunohost settings set security.ssh.port -v VOTRE_PORT_SSH</cmd> pour définir le port SSH, et vérifiez <cmd>yunohost tools regen-conf ssh --dry-run --with-diff</cmd> et <cmd>yunohost tools regen-conf ssh --force</cmd> pour réinitialiser votre configuration aux recommandations YunoHost.",
|
||||
"diagnosis_sshd_config_inconsistent": "Il semble que le port SSH a été modifié manuellement dans /etc/ssh/sshd_config. Depuis YunoHost 4.2, un nouveau paramètre global 'security.ssh.port' est disponible pour éviter de modifier manuellement la configuration.",
|
||||
"diagnosis_sshd_config_insecure": "La configuration SSH semble avoir été modifiée manuellement et n'est pas sécurisée car elle ne contient aucune directive 'AllowGroups' ou 'AllowUsers' pour limiter l'accès aux utilisateurs autorisés.",
|
||||
"backup_create_size_estimation": "L'archive contiendra environ {size} de données."
|
||||
"backup_create_size_estimation": "L'archive contiendra environ {size} de données.",
|
||||
"global_settings_setting_security_webadmin_allowlist": "Adresses IP autorisées à accéder à la page web du portail d'administration (webadmin). Elles doivent être séparées par une virgule.",
|
||||
"global_settings_setting_security_webadmin_allowlist_enabled": "Autorisez seulement certaines IP à accéder à la page web du portail d'administration (webadmin).",
|
||||
"diagnosis_http_localdomain": "Le domaine {domain}, avec un TLD .local, ne devrait pas être atteint depuis l'extérieur du réseau local.",
|
||||
"diagnosis_dns_specialusedomain": "Le domaine {domain} est basé sur un domaine de premier niveau (TLD) à usage spécial et ne devrait donc pas avoir d'enregistrements DNS réels."
|
||||
}
|
474
locales/gl.json
474
locales/gl.json
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
"password_too_simple_1": "O contrasinal ten que ter 8 caracteres como mínimo",
|
||||
"aborting": "Abortando.",
|
||||
"app_already_up_to_date": "{app:s} xa está actualizada",
|
||||
"app_already_up_to_date": "{app} xa está actualizada",
|
||||
"app_already_installed_cant_change_url": "Esta app xa está instalada. O URL non pode cambiarse só con esta acción. Miran en `app changeurl` se está dispoñible.",
|
||||
"app_already_installed": "{app:s} xa está instalada",
|
||||
"app_already_installed": "{app} xa está instalada",
|
||||
"app_action_broke_system": "Esta acción semella que estragou estos servizos importantes: {services}",
|
||||
"app_action_cannot_be_ran_because_required_services_down": "Estos servizos requeridos deberían estar en execución para realizar esta acción: {services}. Intenta reinicialos para continuar (e tamén intenta saber por que están apagados).",
|
||||
"already_up_to_date": "Nada que facer. Todo está ao día.",
|
||||
|
@ -11,27 +11,27 @@
|
|||
"admin_password_changed": "Realizado o cambio de contrasinal de administración",
|
||||
"admin_password_change_failed": "Non se puido cambiar o contrasinal",
|
||||
"admin_password": "Contrasinal de administración",
|
||||
"additional_urls_already_removed": "URL adicional '{url:s}' xa foi eliminada das URL adicionais para o permiso '{permission:s}'",
|
||||
"additional_urls_already_added": "URL adicional '{url:s}' xa fora engadida ás URL adicionais para o permiso '{permission:s}'",
|
||||
"action_invalid": "Acción non válida '{action:s}'",
|
||||
"app_change_url_failed_nginx_reload": "Non se recargou NGINX. Aquí tes a saída de 'nginx -t':\n{nginx_errors:s}",
|
||||
"additional_urls_already_removed": "URL adicional '{url}' xa foi eliminada das URL adicionais para o permiso '{permission}'",
|
||||
"additional_urls_already_added": "URL adicional '{url}' xa fora engadida ás URL adicionais para o permiso '{permission}'",
|
||||
"action_invalid": "Acción non válida '{action}'",
|
||||
"app_change_url_failed_nginx_reload": "Non se recargou NGINX. Aquí tes a saída de 'nginx -t':\n{nginx_errors}",
|
||||
"app_argument_required": "Requírese o argumento '{name}'",
|
||||
"app_argument_password_no_default": "Erro ao procesar o argumento do contrasinal '{name}': o argumento do contrasinal non pode ter un valor por defecto por razón de seguridade",
|
||||
"app_argument_invalid": "Elixe un valor válido para o argumento '{name:s}': {error:s}",
|
||||
"app_argument_choice_invalid": "Usa unha destas opcións '{choices:s}' para o argumento '{name:s}'",
|
||||
"backup_archive_writing_error": "Non se puideron engadir os ficheiros '{source:s}' (chamados no arquivo '{dest:s}' para ser copiados dentro do arquivo comprimido '{archive:s}'",
|
||||
"backup_archive_system_part_not_available": "A parte do sistema '{part:s}' non está dispoñible nesta copia",
|
||||
"app_argument_invalid": "Elixe un valor válido para o argumento '{name}': {error}",
|
||||
"app_argument_choice_invalid": "Usa unha destas opcións '{choices}' para o argumento '{name}'",
|
||||
"backup_archive_writing_error": "Non se puideron engadir os ficheiros '{source}' (chamados no arquivo '{dest}' para ser copiados dentro do arquivo comprimido '{archive}'",
|
||||
"backup_archive_system_part_not_available": "A parte do sistema '{part}' non está dispoñible nesta copia",
|
||||
"backup_archive_corrupted": "Semella que o arquivo de copia '{archive}' está estragado : {error}",
|
||||
"backup_archive_cant_retrieve_info_json": "Non se puido cargar a info desde arquivo '{archive}'... O info.json non s puido obter (ou é un json non válido).",
|
||||
"backup_archive_open_failed": "Non se puido abrir o arquivo de copia de apoio",
|
||||
"backup_archive_name_unknown": "Arquivo local de copia de apoio descoñecido con nome '{name:s}'",
|
||||
"backup_archive_name_unknown": "Arquivo local de copia de apoio descoñecido con nome '{name}'",
|
||||
"backup_archive_name_exists": "Xa existe un arquivo de copia con este nome.",
|
||||
"backup_archive_broken_link": "Non se puido acceder ao arquivo da copia (ligazón rota a {path:s})",
|
||||
"backup_archive_app_not_found": "Non se atopa {app:s} no arquivo da copia",
|
||||
"backup_archive_broken_link": "Non se puido acceder ao arquivo da copia (ligazón rota a {path})",
|
||||
"backup_archive_app_not_found": "Non se atopa {app} no arquivo da copia",
|
||||
"backup_applying_method_tar": "Creando o arquivo TAR da copia...",
|
||||
"backup_applying_method_custom": "Chamando polo método de copia de apoio personalizado '{method:s}'...",
|
||||
"backup_applying_method_custom": "Chamando polo método de copia de apoio personalizado '{method}'...",
|
||||
"backup_applying_method_copy": "Copiando tódolos ficheiros necesarios...",
|
||||
"backup_app_failed": "Non se fixo copia de {app:s}",
|
||||
"backup_app_failed": "Non se fixo copia de {app}",
|
||||
"backup_actually_backuping": "Creando o arquivo de copia cos ficheiros recollidos...",
|
||||
"backup_abstract_method": "Este método de copia de apoio aínda non foi implementado",
|
||||
"ask_password": "Contrasinal",
|
||||
|
@ -49,10 +49,10 @@
|
|||
"apps_catalog_init_success": "Sistema do catálogo de apps iniciado!",
|
||||
"apps_already_up_to_date": "Xa tes tódalas apps ao día",
|
||||
"app_packaging_format_not_supported": "Esta app non se pode instalar porque o formato de empaquetado non está soportado pola túa versión de YunoHost. Deberías considerar actualizar o teu sistema.",
|
||||
"app_upgraded": "{app:s} actualizadas",
|
||||
"app_upgraded": "{app} actualizadas",
|
||||
"app_upgrade_some_app_failed": "Algunhas apps non se puideron actualizar",
|
||||
"app_upgrade_script_failed": "Houbo un fallo interno no script de actualización da app",
|
||||
"app_upgrade_failed": "Non se actualizou {app:s}: {error}",
|
||||
"app_upgrade_failed": "Non se actualizou {app}: {error}",
|
||||
"app_upgrade_app_name": "Actualizando {app}...",
|
||||
"app_upgrade_several_apps": "Vanse actualizar as seguintes apps: {apps}",
|
||||
"app_unsupported_remote_type": "Tipo remoto non soportado para a app",
|
||||
|
@ -63,14 +63,14 @@
|
|||
"app_start_install": "Instalando {app}...",
|
||||
"app_sources_fetch_failed": "Non se puideron obter os ficheiros fonte, é o URL correcto?",
|
||||
"app_restore_script_failed": "Houbo un erro interno do script de restablecemento da app",
|
||||
"app_restore_failed": "Non se puido restablecer {app:s}: {error:s}",
|
||||
"app_restore_failed": "Non se puido restablecer {app}: {error}",
|
||||
"app_remove_after_failed_install": "Eliminando a app debido ao fallo na instalación...",
|
||||
"app_requirements_unmeet": "Non se cumpren os requerimentos de {app}, o paquete {pkgname} ({version}) debe ser {spec}",
|
||||
"app_requirements_checking": "Comprobando os paquetes requeridos por {app}...",
|
||||
"app_removed": "{app:s} eliminada",
|
||||
"app_not_properly_removed": "{app:s} non se eliminou de xeito correcto",
|
||||
"app_not_installed": "Non se puido atopar {app:s} na lista de apps instaladas: {all_apps}",
|
||||
"app_not_correctly_installed": "{app:s} semella que non está instalada correctamente",
|
||||
"app_removed": "{app} desinstalada",
|
||||
"app_not_properly_removed": "{app} non se eliminou de xeito correcto",
|
||||
"app_not_installed": "Non se puido atopar {app} na lista de apps instaladas: {all_apps}",
|
||||
"app_not_correctly_installed": "{app} semella que non está instalada correctamente",
|
||||
"app_not_upgraded": "Fallou a actualización da app '{failed_app}', como consecuencia as actualizacións das seguintes apps foron canceladas: {apps}",
|
||||
"app_manifest_install_ask_is_public": "Debería esta app estar exposta ante visitantes anónimas?",
|
||||
"app_manifest_install_ask_admin": "Elixe unha usuaria administradora para esta app",
|
||||
|
@ -78,7 +78,7 @@
|
|||
"app_manifest_install_ask_path": "Elixe a ruta onde queres instalar esta app",
|
||||
"app_manifest_install_ask_domain": "Elixe o dominio onde queres instalar esta app",
|
||||
"app_manifest_invalid": "Hai algún erro no manifesto da app: {error}",
|
||||
"app_location_unavailable": "Este URL ou ben non está dispoñible ou entra en conflito cunha app(s) xa instalada:\n{apps:s}",
|
||||
"app_location_unavailable": "Este URL ou ben non está dispoñible ou entra en conflito cunha app(s) xa instalada:\n{apps}",
|
||||
"app_label_deprecated": "Este comando está anticuado! Utiliza o novo comando 'yunohost user permission update' para xestionar a etiqueta da app.",
|
||||
"app_make_default_location_already_used": "Non se puido establecer a '{app}' como app por defecto no dominio, '{domain}' xa está utilizado por '{other_app}'",
|
||||
"app_install_script_failed": "Houbo un fallo interno do script de instalación da app",
|
||||
|
@ -87,11 +87,11 @@
|
|||
"app_id_invalid": "ID da app non válido",
|
||||
"app_full_domain_unavailable": "Lamentámolo, esta app ten que ser instalada nun dominio propio, pero xa tes outras apps instaladas no dominio '{domain}'. Podes usar un subdominio dedicado para esta app.",
|
||||
"app_extraction_failed": "Non se puideron extraer os ficheiros de instalación",
|
||||
"app_change_url_success": "A URL de {app:s} agora é {domain:s}{path:s}",
|
||||
"app_change_url_no_script": "A app '{app_name:s}' non soporta o cambio de URL. Pode que debas actualizala.",
|
||||
"app_change_url_identical_domains": "O antigo e o novo dominio/url_path son idénticos ('{domain:s}{path:s}'), nada que facer.",
|
||||
"app_change_url_success": "A URL de {app} agora é {domain}{path}",
|
||||
"app_change_url_no_script": "A app '{app_name}' non soporta o cambio de URL. Pode que debas actualizala.",
|
||||
"app_change_url_identical_domains": "O antigo e o novo dominio/url_path son idénticos ('{domain}{path}'), nada que facer.",
|
||||
"backup_deleted": "Copia de apoio eliminada",
|
||||
"backup_delete_error": "Non se eliminou '{path:s}'",
|
||||
"backup_delete_error": "Non se eliminou '{path}'",
|
||||
"backup_custom_mount_error": "O método personalizado de copia non superou o paso 'mount'",
|
||||
"backup_custom_backup_error": "O método personalizado da copia non superou o paso 'backup'",
|
||||
"backup_csv_creation_failed": "Non se creou o ficheiro CSV necesario para restablecer a copia",
|
||||
|
@ -99,14 +99,14 @@
|
|||
"backup_creation_failed": "Non se puido crear o arquivo de copia de apoio",
|
||||
"backup_create_size_estimation": "O arquivo vai conter arredor de {size} de datos.",
|
||||
"backup_created": "Copia de apoio creada",
|
||||
"backup_couldnt_bind": "Non se puido ligar {src:s} a {dest:s}.",
|
||||
"backup_copying_to_organize_the_archive": "Copiando {size:s}MB para organizar o arquivo",
|
||||
"backup_couldnt_bind": "Non se puido ligar {src} a {dest}.",
|
||||
"backup_copying_to_organize_the_archive": "Copiando {size}MB para organizar o arquivo",
|
||||
"backup_cleaning_failed": "Non se puido baleirar o cartafol temporal para a copia",
|
||||
"backup_cant_mount_uncompress_archive": "Non se puido montar o arquivo sen comprimir porque está protexido contra escritura",
|
||||
"backup_ask_for_copying_if_needed": "Queres realizar a copia de apoio utilizando temporalmente {size:s}MB? (Faise deste xeito porque algúns ficheiros non hai xeito de preparalos usando unha forma máis eficiente).",
|
||||
"backup_ask_for_copying_if_needed": "Queres realizar a copia de apoio utilizando temporalmente {size}MB? (Faise deste xeito porque algúns ficheiros non hai xeito de preparalos usando unha forma máis eficiente).",
|
||||
"backup_running_hooks": "Executando os ganchos da copia...",
|
||||
"backup_permission": "Permiso de copia para {app:s}",
|
||||
"backup_output_symlink_dir_broken": "O directorio de arquivo '{path:s}' é unha ligazón simbólica rota. Pode ser que esqueceses re/montar ou conectar o medio de almacenaxe ao que apunta.",
|
||||
"backup_permission": "Permiso de copia para {app}",
|
||||
"backup_output_symlink_dir_broken": "O directorio de arquivo '{path}' é unha ligazón simbólica rota. Pode ser que esqueceses re/montar ou conectar o medio de almacenaxe ao que apunta.",
|
||||
"backup_output_directory_required": "Debes proporcionar un directorio de saída para a copia",
|
||||
"backup_output_directory_not_empty": "Debes elexir un directorio de saída baleiro",
|
||||
"backup_output_directory_forbidden": "Elixe un directorio de saída diferente. As copias non poden crearse en /bin, /boot, /dev, /etc, /lib, /root, /sbin, /sys, /usr, /var ou subcartafoles de /home/yunohost.backup/archives",
|
||||
|
@ -114,7 +114,413 @@
|
|||
"backup_no_uncompress_archive_dir": "Non hai tal directorio do arquivo descomprimido",
|
||||
"backup_mount_archive_for_restore": "Preparando o arquivo para restauración...",
|
||||
"backup_method_tar_finished": "Creouse o arquivo de copia TAR",
|
||||
"backup_method_custom_finished": "O método de copia personalizado '{method:s}' rematou",
|
||||
"backup_method_custom_finished": "O método de copia personalizado '{method}' rematou",
|
||||
"backup_method_copy_finished": "Rematou o copiado dos ficheiros",
|
||||
"backup_hook_unknown": "O gancho da copia '{hook:s}' é descoñecido"
|
||||
"backup_hook_unknown": "O gancho da copia '{hook}' é descoñecido",
|
||||
"certmanager_domain_cert_not_selfsigned": "O certificado para o dominio {domain} non está auto-asinado. Tes a certeza de querer substituílo? (Usa '--force' para facelo.)",
|
||||
"certmanager_domain_not_diagnosed_yet": "Por agora non hai resultado de diagnóstico para o dominio {domain}. Volve facer o diagnóstico para a categoría 'Rexistros DNS' e 'Web' na sección de diagnóstico para comprobar se o dominio é compatible con Let's Encrypt. (Ou se sabes o que estás a facer, usa '--no-checks' para desactivar esas comprobacións.)",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "Fallou o intento de usar o novo certificado para '{domain}'...",
|
||||
"certmanager_cert_signing_failed": "Non se puido asinar o novo certificado",
|
||||
"certmanager_cert_renew_success": "Certificado Let's Encrypt renovado para o dominio '{domain}'",
|
||||
"certmanager_cert_install_success_selfsigned": "O certificado auto-asinado está instalado para o dominio '{domain}'",
|
||||
"certmanager_cert_install_success": "O certificado Let's Encrypt está instalado para o dominio '{domain}'",
|
||||
"certmanager_cannot_read_cert": "Algo fallou ao intentar abrir o certificado actual para o dominio {domain} (ficheiro: {file}), razón: {reason}",
|
||||
"certmanager_attempt_to_replace_valid_cert": "Estás intentando sobrescribir un certificado correcto e en bo estado para o dominio {domain}! (Usa --force para obviar)",
|
||||
"certmanager_attempt_to_renew_valid_cert": "O certificado para o dominio '{domain}' non caduca pronto! (Podes usar --force se sabes o que estás a facer)",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "O certificado para o dominio '{domain}' non está proporcionado por Let's Encrypt. Non se pode renovar automáticamente!",
|
||||
"certmanager_acme_not_configured_for_domain": "Non se realizou o desafío ACME para {domain} porque a súa configuración nginx non ten a parte do código correspondente... Comproba que a túa configuración nginx está ao día utilizando `yunohost tools regen-conf nginx --dry-run --with-diff`.",
|
||||
"backup_with_no_restore_script_for_app": "'{app}' non ten script de restablecemento, non poderás restablecer automáticamente a copia de apoio desta app.",
|
||||
"backup_with_no_backup_script_for_app": "A app '{app}' non ten script para a copia. Ignorada.",
|
||||
"backup_unable_to_organize_files": "Non se puido usar o método rápido para organizar ficheiros no arquivo",
|
||||
"backup_system_part_failed": "Non se puido facer copia da parte do sistema '{part}'",
|
||||
"certmanager_domain_http_not_working": "O dominio {domain} semella non ser accesible a través de HTTP. Comproba a categoría 'Web' no diagnóstico para máis info. (Se sabes o que estás a facer, utiliza '--no-checks' para obviar estas comprobacións.)",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "Os rexistros DNS para o dominio '{domain}' son diferentes aos da IP deste servidor. Comproba a categoría 'Rexistros DNS' (básico) no diagnóstico para ter máis info. Se cambiaches recentemente o rexistro A, agarda a que se propague o cambio (están dispoñibles ferramentas en liña para comprobar estos cambios). (Se sabes o que estás a facer, utiliza '--no-checks' para obviar estas comprobacións.)",
|
||||
"confirm_app_install_danger": "PERIGO! Esta app aínda é experimental (pode que nin funcione)! Probablemente NON deberías instalala a non ser que sepas o que estás a facer. NON TERÁS SOPORTE nin axuda se esta app estraga o teu sistema... Se queres asumir o risco, escribe '{answers}'",
|
||||
"confirm_app_install_warning": "Aviso: Esta app podería funcionar, pero non está ben integrada en YunoHost. Algunhas funcións como a identificación centralizada e as copias de apoio poderían non estar dispoñibles. Desexas instalala igualmente? [{answers}] ",
|
||||
"certmanager_unable_to_parse_self_CA_name": "Non se puido obter o nome da autoridade do auto-asinado (ficheiro: {file})",
|
||||
"certmanager_self_ca_conf_file_not_found": "Non se atopa o ficheiro de configuración para a autoridade de auto-asinado (ficheiro: {file})",
|
||||
"certmanager_no_cert_file": "Non se puido ler o ficheiro do certificado para o dominio {domain} (ficheiro: {file})",
|
||||
"certmanager_hit_rate_limit": "Recentemente crearonse demasiados certificados para este mesmo grupo de dominios {domain}. Inténtao máis tarde. Podes ler https://letsencrypt.org/docs/rate-limits/ para máis info",
|
||||
"certmanager_warning_subdomain_dns_record": "O subdominio '{subdomain}' non resolve a mesmo enderezo IP que '{domain}'. Algunhas funcións non estarán dispoñibles ata que arranxes isto e rexeneres o certificado.",
|
||||
"diagnosis_found_errors_and_warnings": "Atopado(s) {errors} problema(s) significativo(s) (e {warnings} avisos(s)) en relación a {category}!",
|
||||
"diagnosis_found_errors": "Atopado(s) {errors} problema significativo(s) relacionado con {category}!",
|
||||
"diagnosis_ignored_issues": "(+ {nb_ignored} problema ignorado(s))",
|
||||
"diagnosis_cant_run_because_of_dep": "Non é posible facer o diganóstico para {category} cando aínda hai importantes problemas con {dep}.",
|
||||
"diagnosis_cache_still_valid": "(A caché aínda é válida para o diagnóstico {category}. Non o repetiremos polo de agora!)",
|
||||
"diagnosis_failed_for_category": "O diagnóstico fallou para a categoría '{category}': {error}",
|
||||
"diagnosis_display_tip": "Para ver os problemas atopados, podes ir á sección de Diagnóstico na administración web, ou executa 'yunohost diagnosis show --issues --human-readable' desde a liña de comandos.",
|
||||
"diagnosis_package_installed_from_sury_details": "Algúns paquetes foron instalados se darse conta desde un repositorio de terceiros chamado Sury. O equipo de YunoHost mellorou a estratexia para xestionar estos paquetes, pero é de agardar que algunhas instalacións que instalaron aplicacións PHP7.3 estando aínda en Stretch teñan inconsistencias co sistema. Para arranxar esta situación, deberías intentar executar o comando: <cmd>{cmd_to_fix}</cmd>",
|
||||
"diagnosis_package_installed_from_sury": "Algúns paquetes do sistema deberían ser baixados de versión",
|
||||
"diagnosis_backports_in_sources_list": "Semella que apt (o xestor de paquetes) está configurado para usar o repositorio backports. A non ser que saibas o que fas NON che recomendamos instalar paquetes desde backports, porque é probable que produzas inestabilidades e conflitos no teu sistema.",
|
||||
"diagnosis_basesystem_ynh_inconsistent_versions": "Estás executando versións inconsistentes de paquetes YunoHost... probablemente debido a actualizacións parciais ou fallidas.",
|
||||
"diagnosis_basesystem_ynh_main_version": "O servidor está a executar Yunohost {main_version} ({repo})",
|
||||
"diagnosis_basesystem_ynh_single_version": "{package} versión: {version} ({repo})",
|
||||
"diagnosis_basesystem_kernel": "O servidor está a executar o kernel Linux {kernel_version}",
|
||||
"diagnosis_basesystem_host": "O servidor está a executar Debian {debian_version}",
|
||||
"diagnosis_basesystem_hardware_model": "O modelo de servidor é {model}",
|
||||
"diagnosis_basesystem_hardware": "A arquitectura do hardware do servidor é {virt} {arch}",
|
||||
"custom_app_url_required": "Tes que proporcionar o URL para actualizar a app personalizada {app}",
|
||||
"confirm_app_install_thirdparty": "PERIGO! Esta app non forma parte do catálogo de YunoHost. Ao instalar apps de terceiros poderías comprometer a integridade e seguridade do sistema. Probablemente NON deberías instalala a menos que saibas o que fas. NON SE PROPORCIONARÁ SOPORTE se esta app non funciona ou estraga o sistema... Se aínda así asumes o risco, escribe '{answers}'",
|
||||
"diagnosis_dns_point_to_doc": "Revisa a documentación en <a href='https://yunohost.org/dns_config'>https://yunohost.org/dns_config</a> se precisas axuda para configurar os rexistros DNS.",
|
||||
"diagnosis_dns_discrepancy": "O seguinte rexistro DNS non segue a configuración recomendada:<br>Tipo: <code>{type}</code><br>Nome: <code>{name}</code><br>Valor actual: <code>{current}</code><br>Valor agardado: <code>{value}</code>",
|
||||
"diagnosis_dns_missing_record": "Facendo caso á configuración DNS recomendada, deberías engadir un rexistro DNS coa seguinte info.<br>Tipo: <code>{type}</code><br>Nome: <code>{name}</code><br>Valor: <code>{value}</code>",
|
||||
"diagnosis_dns_bad_conf": "Faltan algúns rexistros DNS ou están mal configurados para o dominio {domain} (categoría {category})",
|
||||
"diagnosis_dns_good_conf": "Os rexistros DNS están correctamente configurados para o dominio {domain} (categoría {category})",
|
||||
"diagnosis_ip_weird_resolvconf_details": "O ficheiro <code>/etc/resolv.conf</code> debería ser unha ligazón simbólica a <code>/etc/resolvconf/run/resolv.conf</code> apuntando el mesmo a <code>127.0.0.1</code> (dnsmasq). Se queres configurar manualmente a resolución DNS, por favor edita <code>/etc/resolv.dnsmasq.conf</code>.",
|
||||
"diagnosis_ip_weird_resolvconf": "A resolución DNS semella funcionar, mais parecese que estás a utilizar un <code>/etc/resolv.conf</code> personalizado.",
|
||||
"diagnosis_ip_broken_resolvconf": "A resolución de nomes de dominio semella non funcionar no teu servidor, que parece ter relación con que <code>/etc/resolv.conf</code> non sinala a <code>127.0.0.1</code>.",
|
||||
"diagnosis_ip_broken_dnsresolution": "A resolución de nomes de dominio semella que por algunha razón non funciona... Pode estar o cortalumes bloqueando as peticións DNS?",
|
||||
"diagnosis_ip_dnsresolution_working": "A resolución de nomes de dominio está a funcionar!",
|
||||
"diagnosis_ip_not_connected_at_all": "O servidor semella non ter ningún tipo de conexión a internet!?",
|
||||
"diagnosis_ip_local": "IP local: <code>{local}</code>",
|
||||
"diagnosis_ip_global": "IP global: <code>{global}</code>",
|
||||
"diagnosis_ip_no_ipv6_tip": "Que o servidor teña conexión IPv6 non é obrigatorio para que funcione, pero é mellor para o funcionamento de Internet en conxunto. IPv6 debería estar configurado automáticamente no teu sistema ou provedor se está dispoñible. Doutro xeito, poderías ter que configurar manualmente algúns parámetros tal como se explica na documentación: <a href='https://yunohost.org/#/ipv6'>https://yunohost.org/#/ipv6</a>. Se non podes activar IPv6 ou é moi complicado para ti, podes ignorar tranquilamente esta mensaxe.",
|
||||
"diagnosis_ip_no_ipv6": "O servidor non ten conexión IPv6.",
|
||||
"diagnosis_ip_connected_ipv6": "O servidor está conectado a internet a través de IPv6!",
|
||||
"diagnosis_ip_no_ipv4": "O servidor non ten conexión IPv4.",
|
||||
"diagnosis_ip_connected_ipv4": "O servidor está conectado a internet a través de IPv4!",
|
||||
"diagnosis_no_cache": "Aínda non hai datos na caché para '{category}'",
|
||||
"diagnosis_failed": "Non se puido obter o resultado do diagnóstico para '{category}': {error}",
|
||||
"diagnosis_everything_ok": "Semella todo correcto en {category}!",
|
||||
"diagnosis_found_warnings": "Atoparonse {warnings} elemento(s) que poderían optimizarse en {category}.",
|
||||
"diagnosis_services_bad_status": "O servizo {service} está {status} :(",
|
||||
"diagnosis_services_conf_broken": "A configuración do {service} está estragada!",
|
||||
"diagnosis_services_running": "O servizo {service} está en execución!",
|
||||
"diagnosis_domain_expires_in": "{domain} caduca en {days} días.",
|
||||
"diagnosis_domain_expiration_error": "Algúns dominios van caducan MOI PRONTO!",
|
||||
"diagnosis_domain_expiration_warning": "Algúns dominios van caducar pronto!",
|
||||
"diagnosis_domain_expiration_success": "Os teus dominios están rexistrados e non van caducar pronto.",
|
||||
"diagnosis_domain_expiration_not_found_details": "A información WHOIS para o dominio {domain} non semella conter información acerca da data de caducidade?",
|
||||
"diagnosis_domain_not_found_details": "O dominio {domain} non existe na base de datos de WHOIS ou está caducado!",
|
||||
"diagnosis_domain_expiration_not_found": "Non se puido comprobar a data de caducidade para algúns dominios",
|
||||
"diagnosis_dns_try_dyndns_update_force": "A xestión DNS deste dominio debería estar xestionada directamente por YunoHost. Se non fose o caso, podes intentar forzar unha actualización executando <cmd>yunohost dyndns update --force</cmd>.",
|
||||
"diagnosis_swap_ok": "O sistema ten {total} de swap!",
|
||||
"diagnosis_swap_notsomuch": "O sistema só ten {total} de swap. Deberías considerar ter polo menos {recommended} para evitar situacións onde o sistema esgote a memoria.",
|
||||
"diagnosis_swap_none": "O sistema non ten partición swap. Deberías considerar engadir polo menos {recommended} de swap para evitar situación onde o sistema esgote a memoria.",
|
||||
"diagnosis_ram_ok": "Ao sistema aínda lle queda {available} ({available_percent}%) de RAM dispoñible dun total de {total}.",
|
||||
"diagnosis_ram_low": "O sistema ten {available} ({available_percent}%) da RAM dispoñible (total {total}). Ten coidado.",
|
||||
"diagnosis_ram_verylow": "Ao sistema só lle queda {available} ({available_percent}%) de RAM dispoñible! (total {total})",
|
||||
"diagnosis_diskusage_ok": "A almacenaxe <code>{mountpoint}</code> (no dispositivo <code>{device}</code>) aínda ten {free} ({free_percent}%) de espazo restante (de {total})!",
|
||||
"diagnosis_diskusage_low": "A almacenaxe <code>{mountpoint}</code> (no dispositivo <code>{device}</code>) só lle queda {free} ({free_percent}%) de espazo libre (de {total}). Ten coidado.",
|
||||
"diagnosis_diskusage_verylow": "A almacenaxe <code>{mountpoint}</code> (no dispositivo <code>{device}</code>) só lle queda {free} ({free_percent}%) de espazo libre (de {total}). Deberías considerar liberar algún espazo!",
|
||||
"diagnosis_services_bad_status_tip": "Podes intentar <a href='#/services/{service}'>reiniciar o servizo</a>, e se isto non funciona, mira os <a href='#/services/{service}'>rexistros do servizo na webadmin</a> (desde a liña de comandos con <cmd>yunohost service restart {service}</cmd> e <cmd>yunohost service log {service}</cmd>).",
|
||||
"diagnosis_mail_outgoing_port_25_ok": "O servidor de email SMTP pode enviar emails (porto 25 de saída non está bloqueado).",
|
||||
"diagnosis_swap_tip": "Por favor ten en conta que se o servidor ten a swap instalada nunha tarxeta SD ou almacenaxe SSD podería reducir drásticamente a expectativa de vida do dispositivo.",
|
||||
"diagnosis_mail_outgoing_port_25_blocked": "O servidor SMTP de email non pode enviar emails a outros servidores porque o porto saínte 25 está bloqueado en IPv{ipversion}.",
|
||||
"diagnosis_mail_ehlo_unreachable": "O servidor de email SMTP non é accesible desde o exterior en IPv{ipversion}. Non poderá recibir emails.",
|
||||
"diagnosis_mail_ehlo_ok": "O servidor de email SMTP é accesible desde o exterior e por tanto pode recibir emails!",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_relay_vpn": "Algúns provedores non che van permitir desbloquear o porto 25 saínte porque non se preocupan pola Neutralidade da Rede.<br> - Algúns deles dan unha alternativa <a href='https://yunohost.org/#/email_configure'>usando un repetidor de servidor de email</a> mais isto implica que o repetidor poderá espiar todo o teu tráfico de email.<br>- Unha alternativa é utilizar unha VPN *cun IP público dedicado* para evitar este tipo de limitación. Le <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- Tamén podes considerar cambiar a un <a href='https://yunohost.org/#/isp'>provedor máis amigable coa neutralidade da rede</a>",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_details": "Antes deberías intentar desbloquear o porto 25 saínte no teu rúter de internet ou na web do provedor de hospedaxe. (Algúns provedores poderían pedirche que fagas unha solicitude para isto).",
|
||||
"diagnosis_mail_ehlo_wrong": "Un servidor de email SMPT diferente responde en IPv{ipversion}. O teu servidor probablemente non poida recibir emails.",
|
||||
"diagnosis_mail_ehlo_bad_answer_details": "Podería deberse a que outro servidor está a responder no lugar do teu.",
|
||||
"diagnosis_mail_ehlo_bad_answer": "Un servizo non-SMTP respondeu no porto 25 en IPv{ipversion}",
|
||||
"diagnosis_mail_ehlo_unreachable_details": "Non se puido abrir unha conexión no porto 25 do teu servidor en IPv{ipversion}. Non semella accesible.<br>1. A causa máis habitual é que o porto 25 <a href='https://yunohost.org/isp_box_config'>non está correctamente redirixido no servidor</a>.<br>2. Asegúrate tamén de que o servizo postfix está a funcionar.<br> 3. En configuracións máis complexas: asegúrate de que o cortalumes ou reverse-proxy non están interferindo.",
|
||||
"diagnosis_mail_fcrdns_nok_details": "Deberías intentar configurar o DNS inverso con <code>{ehlo_domain}</code> na interface do teu rúter de internet ou na interface do teu provedor de hospedaxe. (Algúns provedores de hospedaxe poderían pedirche que lle fagas unha solicitude por escrito para isto).",
|
||||
"diagnosis_mail_fcrdns_dns_missing": "Non hai DNS inverso definido en IPv{ipversion}. Algúns emails poderían non ser entregrado ou ser marcados como spam.",
|
||||
"diagnosis_mail_fcrdns_ok": "O DNS inverso está correctamente configurado!",
|
||||
"diagnosis_mail_ehlo_could_not_diagnose_details": "Erro: {error}",
|
||||
"diagnosis_mail_ehlo_could_not_diagnose": "Non se puido determinar se o servidor de email postfix é accesible desde o exterior en IPv{ipversion}.",
|
||||
"diagnosis_mail_ehlo_wrong_details": "O EHLO recibido polo diagnosticador remoto en IPv{ipversion} é diferente ao dominio do teu servidor.<br>EHLO recibido: <code>{wrong_ehlo}</code><br>Agardado: <code>{right_ehlo}</code><br>A razón máis habitual para este problema é que o porto 25 <a href='https://yunohost.org/isp_box_config'>non está correctamente redirixido ao teu servidor</a>. Alternativamente, asegúrate de non ter un cortalumes ou reverse-proxy interferindo.",
|
||||
"diagnosis_regenconf_manually_modified_details": "Probablemente todo sexa correcto se sabes o que estás a facer! YunoHost non vai actualizar este ficheiro automáticamente... Pero ten en conta que as actualizacións de YunoHost poderían incluír cambios importantes recomendados. Se queres podes ver as diferenzas con <cmd>yunohost tools regen-conf {category} --dry-run --with-diff</cmd> e forzar o restablecemento da configuración recomendada con <cmd>yunohost tools regen-conf {category} --force</cmd>",
|
||||
"diagnosis_regenconf_manually_modified": "O ficheiro de configuración <code>{file}</code> semella que foi modificado manualmente.",
|
||||
"diagnosis_regenconf_allgood": "Tódolos ficheiros de configuración seguen a configuración recomendada!",
|
||||
"diagnosis_mail_queue_too_big": "Hai demasiados emails pendentes na cola de correo ({nb_pending} emails)",
|
||||
"diagnosis_mail_queue_unavailable_details": "Erro: {error}",
|
||||
"diagnosis_mail_queue_unavailable": "Non se pode consultar o número de emails pendentes na cola",
|
||||
"diagnosis_mail_queue_ok": "{nb_pending} emails pendentes na cola de correo",
|
||||
"diagnosis_mail_blacklist_website": "Tras ver a razón do bloqueo e arranxalo, considera solicitar que o teu dominio ou IP sexan eliminados de {blacklist_website}",
|
||||
"diagnosis_mail_blacklist_reason": "A razón do bloqueo é: {reason}",
|
||||
"diagnosis_mail_blacklist_listed_by": "O teu dominio ou IP <code>{item}</code> está na lista de bloqueo {blacklist_name}",
|
||||
"diagnosis_mail_blacklist_ok": "Os IPs e dominios utilizados neste servidor non parecen estar en listas de bloqueo",
|
||||
"diagnosis_mail_fcrdns_different_from_ehlo_domain_details": "DNS inverso actual: <code>{rdns_domain}</code><br>Valor agardado: <code>{ehlo_domain}</code>",
|
||||
"diagnosis_mail_fcrdns_different_from_ehlo_domain": "O DNS inverso non está correctamente configurado para IPv{ipversion}. É posible que non se entreguen algúns emails ou sexan marcados como spam.",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_6": "Algúns provedores non che permiten configurar DNS inverso (ou podería non funcionar...). Se o teu DNS inverso está correctamente configurado para IPv4, podes intentar desactivar o uso de IPv6 ao enviar os emails executando <cmd>yunohost settings set smtp.allow_ipv6 -v off</cmd>. Nota: esta última solución significa que non poderás enviar ou recibir emails desde os poucos servidores que só usan IPv6 que teñen esta limitación.",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_4": "Algúns provedores non che permiten configurar o teu DNS inverso (ou podería non ser funcional...). Se tes problemas debido a isto, considera as seguintes solucións:<br> - Algúns ISP proporcionan alternativas como <a href='https://yunohost.org/#/email_configure'>usar un repetidor de servidor de correo</a> pero implica que o repetidor pode ver todo o teu tráfico de email. <br> -Unha alternativa respetuosa coa privacidade é utilizar un VPN *cun IP público dedicado* para evitar estas limitacións. Le <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- Ou tamén podes <a href='https://yunohost.org/#/isp'>cambiar a un provedor diferente</a>",
|
||||
"diagnosis_http_ok": "O dominio {domain} é accesible a través de HTTP desde o exterior da rede local.",
|
||||
"diagnosis_http_could_not_diagnose_details": "Erro: {error}",
|
||||
"diagnosis_http_could_not_diagnose": "Non se puido comprobar se os dominios son accesibles desde o exterior en IPv{ipversion}.",
|
||||
"diagnosis_http_hairpinning_issue_details": "Isto acontece probablemente debido ao rúter do teu ISP. Como resultado, as persoas externas á túa rede local poderán acceder ao teu servidor tal como se espera, pero non as usuarias na rede local (como ti, probablemente?) cando usan o nome de dominio ou IP global. Podes mellorar a situación lendo <a href='https://yunohost.org/dns_local_network'>https://yunohost.org/dns_local_network</a>",
|
||||
"diagnosis_http_hairpinning_issue": "A túa rede local semella que non ten hairpinning activado.",
|
||||
"diagnosis_ports_forwarding_tip": "Para arranxar isto, probablemente tes que configurar o reenvío do porto no teu rúter de internet tal como se di en <a href='https://yunohost.org/isp_box_config'>https://yunohost.org/isp_box_config</a>",
|
||||
"diagnosis_ports_needed_by": "A apertura deste porto é precisa para {category} (servizo {service})",
|
||||
"diagnosis_ports_ok": "O porto {port} é accesible desde o exterior.",
|
||||
"diagnosis_ports_partially_unreachable": "O porto {port} non é accesible desde o exterior en IPv{failed}.",
|
||||
"diagnosis_ports_unreachable": "O porto {port} non é accesible desde o exterior.",
|
||||
"diagnosis_ports_could_not_diagnose_details": "Erro: {error}",
|
||||
"diagnosis_ports_could_not_diagnose": "Non se puido comprobar se os portos son accesibles desde o exterior en IPv{ipversion}.",
|
||||
"diagnosis_description_regenconf": "Configuracións do sistema",
|
||||
"diagnosis_description_mail": "Email",
|
||||
"diagnosis_description_web": "Web",
|
||||
"diagnosis_description_ports": "Exposición de portos",
|
||||
"diagnosis_description_systemresources": "Recursos do sistema",
|
||||
"diagnosis_description_services": "Comprobación do estado dos servizos",
|
||||
"diagnosis_description_dnsrecords": "Rexistros DNS",
|
||||
"diagnosis_description_ip": "Conectividade a internet",
|
||||
"diagnosis_description_basesystem": "Sistema base",
|
||||
"diagnosis_security_vulnerable_to_meltdown_details": "Para arranxar isto, deberías actualizar o sistema e reiniciar para cargar o novo kernel linux (ou contactar co provedor do servizo se isto non o soluciona). Le https://meltdownattack.com/ para máis info.",
|
||||
"diagnosis_security_vulnerable_to_meltdown": "Semella que es vulnerable á vulnerabilidade crítica de seguridade Meltdown",
|
||||
"diagnosis_rootfstotalspace_critical": "O sistema de ficheiros root só ten un total de {space} e podería ser preocupante! Probablemente esgotes o espazo no disco moi pronto! Recomendamos ter un sistema de ficheiros root de polo menos 16 GB.",
|
||||
"diagnosis_rootfstotalspace_warning": "O sistema de ficheiros root só ten un total de {space}. Podería ser suficiente, mais pon tino porque poderías esgotar o espazo no disco rápidamente... Recoméndase ter polo meno 16 GB para o sistema de ficheiros root.",
|
||||
"domain_cannot_remove_main": "Non podes eliminar '{domain}' porque é o dominio principal, primeiro tes que establecer outro dominio como principal usando 'yunohost domain main-domain -n <outro-dominio>'; aquí tes a lista dos dominios posibles: {other_domains}",
|
||||
"diagnosis_sshd_config_inconsistent_details": "Executa <cmd>yunohost settings set security.ssh.port -v O_TEU_PORTO_SSH</cmd> para definir o porto SSH, comproba con <cmd>yunohost tools regen-conf ssh --dry-run --with-diff</cmd> e restablece a configuración con <cmd>yunohost tools regen-conf ssh --force</cmd> a configuración recomendada de YunoHost.",
|
||||
"diagnosis_sshd_config_inconsistent": "Semella que o porto SSH foi modificado manualmente en /etc/ssh/sshd_config. Desde YunoHost 4.2, un novo axuste global 'security.ssh.port' está dispoñible para evitar a edición manual da configuración.",
|
||||
"diagnosis_sshd_config_insecure": "Semella que a configuración SSH modificouse manualmente, e é insegura porque non contén unha directiva 'AllowGroups' ou 'AllowUsers' para limitar o acceso ás usuarias autorizadas.",
|
||||
"diagnosis_processes_killed_by_oom_reaper": "Algúns procesos foron apagados recentemente polo sistema porque quedou sen memoria dispoñible. Isto acontece normalmente porque o sistema quedou sen memoria ou un proceso consumía demasiada. Resumo cos procesos apagados:\n{kills_summary}",
|
||||
"diagnosis_never_ran_yet": "Semella que o servidor foi configurado recentemente e aínda non hai informes diagnósticos. Deberías iniciar un diagnóstico completo, ben desde a administración web ou usando 'yunohost diagnosis run' desde a liña de comandos.",
|
||||
"diagnosis_unknown_categories": "As seguintes categorías son descoñecidas: {categories}",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date_details": "Para arranxar a situación, revisa as diferenzas na liña de comandos usando <cmd>yunohost tools regen-conf nginx --dry-run --with-diff</cmd> e se todo está ben, aplica os cambios con <cmd>yunohost tools regen-conf nginx --force</cmd>.",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date": "A configuración nginx deste dominio semella foi modificada manualmente, e está evitando que YunoHost comprobe se é accesible a través de HTTP.",
|
||||
"diagnosis_http_partially_unreachable": "O dominio {domain} non semella accesible a través de HTTP desde o exterior da rede local en IPv{failed}, pero funciona en IPv{passed}.",
|
||||
"diagnosis_http_unreachable": "O dominio {domain} non semella accesible a través de HTTP desde o exterior da rede local.",
|
||||
"diagnosis_http_bad_status_code": "Semella que outra máquina (podería ser o rúter de internet) respondeu no lugar do teu servidor.<br>1. A razón máis habitual para este problema é que o porto 80 (e 443) <a href='https://yunohost.org/isp_box_config'>non están correctamente redirixidos ao teu servidor</a>.<br>2. En configuracións avanzadas: revisa que nin o cortalumes nin o proxy-inverso están interferindo.",
|
||||
"diagnosis_http_connection_error": "Erro de conexión: non se puido conectar co dominio solicitado, moi probablemente non sexa accesible.",
|
||||
"diagnosis_http_timeout": "Caducou a conexión mentras se intentaba contactar o servidor desde o exterior. Non semella accesible.<br>1. A razón máis habitual é que o porto 80 (e 443) <a href='https://yunohost.org/isp_box_config'>non están correctamente redirixidos ao teu servidor</a>.<br>2. Deberías comprobar tamén que o servizo nginx está a funcionar<br>3. En configuracións máis avanzadas: revisa que nin o cortalumes nin o proxy-inverso están interferindo.",
|
||||
"field_invalid": "Campo non válido '{}'",
|
||||
"experimental_feature": "Aviso: esta característica é experimental e non se considera estable, non deberías utilizala a menos que saibas o que estás a facer.",
|
||||
"extracting": "Extraendo...",
|
||||
"dyndns_unavailable": "O dominio '{domain}' non está dispoñible.",
|
||||
"dyndns_domain_not_provided": "O provedor DynDNS {provider} non pode proporcionar o dominio {domain}.",
|
||||
"dyndns_registration_failed": "Non se rexistrou o dominio DynDNS: {error}",
|
||||
"dyndns_registered": "Dominio DynDNS rexistrado",
|
||||
"dyndns_provider_unreachable": "Non se puido acadar o provedor DynDNS {provider}: pode que o teu YunoHost non teña conexión a internet ou que o servidor dynette non funcione.",
|
||||
"dyndns_no_domain_registered": "Non hai dominio rexistrado con DynDNS",
|
||||
"dyndns_key_not_found": "Non se atopou a chave DNS para o dominio",
|
||||
"dyndns_key_generating": "Creando chave DNS... podería demorarse.",
|
||||
"dyndns_ip_updated": "Actualizouse o IP en DynDNS",
|
||||
"dyndns_ip_update_failed": "Non se actualizou o enderezo IP en DynDNS",
|
||||
"dyndns_could_not_check_available": "Non se comprobou se {domain} está dispoñible en {provider}.",
|
||||
"dyndns_could_not_check_provide": "Non se comprobou se {provider} pode proporcionar {domain}.",
|
||||
"dpkg_lock_not_available": "Non se pode executar agora mesmo este comando porque semella que outro programa está a utilizar dpkg (o xestos de paquetes do sistema)",
|
||||
"dpkg_is_broken": "Non podes facer isto agora mesmo porque dpkg/APT (o xestor de paquetes do sistema) semella que non está a funcionar... Podes intentar solucionalo conectándote a través de SSH e executando `sudo apt install --fix-broken`e/ou `sudo dpkg --configure -a`.",
|
||||
"downloading": "Descargando…",
|
||||
"done": "Feito",
|
||||
"domains_available": "Dominios dispoñibles:",
|
||||
"domain_unknown": "Dominio descoñecido",
|
||||
"domain_name_unknown": "Dominio '{domain}' descoñecido",
|
||||
"domain_uninstall_app_first": "Aínda están instaladas estas aplicacións no teu dominio:\n{apps}\n\nPrimeiro desinstalaas utilizando 'yunohost app remove id_da_app' ou móveas a outro dominio con 'yunohost app change-url id_da_app' antes de eliminar o dominio",
|
||||
"domain_remove_confirm_apps_removal": "Ao eliminar o dominio tamén vas eliminar estas aplicacións:\n{apps}\n\nTes a certeza de querer facelo? [{answers}]",
|
||||
"domain_hostname_failed": "Non se puido establecer o novo nome de servidor. Esto pode causar problemas máis tarde (tamén podería ser correcto).",
|
||||
"domain_exists": "Xa existe o dominio",
|
||||
"domain_dyndns_root_unknown": "Dominio raiz DynDNS descoñecido",
|
||||
"domain_dyndns_already_subscribed": "Xa tes unha subscrición a un dominio DynDNS",
|
||||
"domain_dns_conf_is_just_a_recommendation": "Este comando móstrache a configuración *recomendada*. Non realiza a configuración DNS no teu nome. É responsabilidade túa configurar as zonas DNS no servizo da empresa que xestiona o rexistro do dominio seguindo esta recomendación.",
|
||||
"domain_deletion_failed": "Non se puido eliminar o dominio {domain}: {error}",
|
||||
"domain_deleted": "Dominio eliminado",
|
||||
"domain_creation_failed": "Non se puido crear o dominio {domain}: {error}",
|
||||
"domain_created": "Dominio creado",
|
||||
"domain_cert_gen_failed": "Non se puido crear o certificado",
|
||||
"domain_cannot_remove_main_add_new_one": "Non podes eliminar '{domain}' porque é o dominio principal e único dominio, primeiro tes que engadir outro dominio usando 'yunohost domain add <outro-dominio>', e despois establecelo como o dominio principal utilizando 'yunohost domain main-domain -n <outro-dominio>' e entón poderás eliminar '{domain}' con 'yunohost domain remove {domain}'.'",
|
||||
"domain_cannot_add_xmpp_upload": "Non podes engadir dominios que comecen con 'xmpp-upload.'. Este tipo de nome está reservado para a función se subida de XMPP integrada en YunoHost.",
|
||||
"file_does_not_exist": "O ficheiro {path} non existe.",
|
||||
"firewall_reload_failed": "Non se puido recargar o cortalumes",
|
||||
"global_settings_setting_smtp_allow_ipv6": "Permitir o uso de IPv6 para recibir e enviar emais",
|
||||
"global_settings_setting_ssowat_panel_overlay_enabled": "Activar as capas no panel SSOwat",
|
||||
"global_settings_setting_service_ssh_allow_deprecated_dsa_hostkey": "Permitir o uso de DSA hostkey (en desuso) para a configuración do demoño SSH",
|
||||
"global_settings_unknown_setting_from_settings_file": "Chave descoñecida nos axustes: '{setting_key}', descártaa e gárdaa en /etc/yunohost/settings-unknown.json",
|
||||
"global_settings_setting_security_ssh_port": "Porto SSH",
|
||||
"global_settings_setting_security_postfix_compatibility": "Compromiso entre compatibilidade e seguridade para o servidor Postfix. Aféctalle ao cifrado (e outros aspectos da seguridade)",
|
||||
"global_settings_setting_security_ssh_compatibility": "Compromiso entre compatibilidade e seguridade para o servidor SSH. Aféctalle ao cifrado (e outros aspectos da seguridade)",
|
||||
"global_settings_setting_security_password_user_strength": "Fortaleza do contrasinal da usuaria",
|
||||
"global_settings_setting_security_password_admin_strength": "Fortaleza do contrasinal de Admin",
|
||||
"global_settings_setting_security_nginx_compatibility": "Compromiso entre compatiblidade e seguridade para o servidor NGINX. Afecta ao cifrado (e outros aspectos relacionados coa seguridade)",
|
||||
"global_settings_setting_pop3_enabled": "Activar protocolo POP3 no servidor de email",
|
||||
"global_settings_reset_success": "Fíxose copia de apoio dos axustes en {path}",
|
||||
"global_settings_key_doesnt_exists": "O axuste '{settings_key}' non existe nos axustes globais, podes ver os valores dispoñibles executando 'yunohost settings list'",
|
||||
"global_settings_cant_write_settings": "Non se gardou o ficheiro de configuración, razón: {reason}",
|
||||
"global_settings_cant_serialize_settings": "Non se serializaron os datos da configuración, razón: {reason}",
|
||||
"global_settings_cant_open_settings": "Non se puido abrir o ficheiro de axustes, razón: {reason}",
|
||||
"global_settings_bad_type_for_setting": "Tipo incorrecto do axuste {setting}, recibido {received_type}, agardábase {expected_type}",
|
||||
"global_settings_bad_choice_for_enum": "Elección incorrecta para o axuste {setting}, recibido '{choice}', mais as opcións dispoñibles son: {available_choices}",
|
||||
"firewall_rules_cmd_failed": "Fallou algún comando das regras do cortalumes. Máis info no rexistro.",
|
||||
"firewall_reloaded": "Recargouse o cortalumes",
|
||||
"group_creation_failed": "Non se puido crear o grupo '{group}': {error}",
|
||||
"group_created": "Creouse o grupo '{group}'",
|
||||
"group_already_exist_on_system_but_removing_it": "O grupo {group} xa é un dos grupos do sistema, pero YunoHost vaino eliminar...",
|
||||
"group_already_exist_on_system": "O grupo {group} xa é un dos grupos do sistema",
|
||||
"group_already_exist": "Xa existe o grupo {group}",
|
||||
"good_practices_about_user_password": "Vas definir o novo contrasinal de usuaria. O contrasinal debe ter 8 caracteres como mínimo—aínda que se recomenda utilizar un máis longo (ex. unha frase de paso) e/ou utilizar caracteres variados (maiúsculas, minúsculas, números e caracteres especiais).",
|
||||
"good_practices_about_admin_password": "Vas definir o novo contrasinal de administración. O contrasinal debe ter 8 caracteres como mínimo—aínda que se recomenda utilizar un máis longo (ex. unha frase de paso) e/ou utilizar caracteres variados (maiúsculas, minúsculas, números e caracteres especiais).",
|
||||
"global_settings_unknown_type": "Situación non agardada, o axuste {setting} semella ter o tipo {unknown_type} pero non é un valor soportado polo sistema.",
|
||||
"global_settings_setting_backup_compress_tar_archives": "Ao crear novas copias de apoio, comprime os arquivos (.tar.gz) en lugar de non facelo (.tar). Nota: activando esta opción creas arquivos máis lixeiros, mais o procedemento da primeira copia será significativamente máis longo e esixente coa CPU.",
|
||||
"global_settings_setting_smtp_relay_password": "Contrasinal no repetidor SMTP",
|
||||
"global_settings_setting_smtp_relay_user": "Conta de usuaria no repetidor SMTP",
|
||||
"global_settings_setting_smtp_relay_port": "Porto do repetidor SMTP",
|
||||
"global_settings_setting_smtp_relay_host": "Servidor repetidor SMTP para enviar emails no lugar da túa instancia yunohost. É útil se estás nunha destas situacións: o teu porto 25 está bloqueado polo teu provedor ISP u VPN, se tes unha IP residencial nunha lista DUHL, se non podes configurar DNS inversa ou se este servidor non ten conexión directa a internet e queres utilizar outro para enviar os emails.",
|
||||
"group_updated": "Grupo '{group}' actualizado",
|
||||
"group_unknown": "Grupo descoñecido '{group}'",
|
||||
"group_deletion_failed": "Non se eliminou o grupo '{group}': {error}",
|
||||
"group_deleted": "Grupo '{group}' eliminado",
|
||||
"group_cannot_be_deleted": "O grupo {group} non se pode eliminar manualmente.",
|
||||
"group_cannot_edit_primary_group": "O grupo '{group}' non se pode editar manualmente. É o grupo primario que contén só a unha usuaria concreta.",
|
||||
"group_cannot_edit_visitors": "O grupo 'visitors' non se pode editar manualmente. É un grupo especial que representa a tódas visitantes anónimas",
|
||||
"group_cannot_edit_all_users": "O grupo 'all_users' non se pode editar manualmente. É un grupo especial que contén tódalas usuarias rexistradas en YunoHost",
|
||||
"global_settings_setting_security_webadmin_allowlist": "Enderezos IP con permiso para acceder á webadmin. Separados por vírgulas.",
|
||||
"global_settings_setting_security_webadmin_allowlist_enabled": "Permitir que só algúns IPs accedan á webadmin.",
|
||||
"disk_space_not_sufficient_update": "Non hai espazo suficiente no disco para actualizar esta aplicación",
|
||||
"disk_space_not_sufficient_install": "Non queda espazo suficiente no disco para instalar esta aplicación",
|
||||
"log_help_to_get_log": "Para ver o rexistro completo da operación '{desc}', usa o comando 'yunohost log show {name}{name}'",
|
||||
"log_link_to_log": "Rexistro completo desta operación: '<a href=\"#/tools/logs/{name}\" style=\"text-decoration:underline\">{desc}</a>'",
|
||||
"log_corrupted_md_file": "O ficheiro YAML con metadatos asociado aos rexistros está danado: '{md_file}\nErro: {error}'",
|
||||
"iptables_unavailable": "Non podes andar remexendo en iptables aquí. Ou ben estás nun contedor ou o teu kernel non ten soporte para isto",
|
||||
"ip6tables_unavailable": "Non podes remexer en ip6tables aquí. Ou ben estás nun contedor ou o teu kernel non ten soporte para isto",
|
||||
"invalid_regex": "Regex non válido: '{regex}'",
|
||||
"installation_complete": "Instalación completa",
|
||||
"hook_name_unknown": "Nome descoñecido do gancho '{name}'",
|
||||
"hook_list_by_invalid": "Esta propiedade non se pode usar para enumerar os ganchos",
|
||||
"hook_json_return_error": "Non se puido ler a info de retorno do gancho {path}. Erro: {msg}. Contido en bruto: {raw_content}",
|
||||
"hook_exec_not_terminated": "O script non rematou correctamente: {path}",
|
||||
"hook_exec_failed": "Non se executou o script: {path}",
|
||||
"group_user_not_in_group": "A usuaria {user} non está no grupo {group}",
|
||||
"group_user_already_in_group": "A usuaria {user} xa está no grupo {group}",
|
||||
"group_update_failed": "Non se actualizou o grupo '{group}': {error}",
|
||||
"log_permission_delete": "Eliminar permiso '{}'",
|
||||
"log_permission_create": "Crear permiso '{}'",
|
||||
"log_letsencrypt_cert_install": "Instalar un certificado Let's Encrypt para o dominio '{}'",
|
||||
"log_dyndns_update": "Actualizar o IP asociado ao teu subdominio YunoHost '{}'",
|
||||
"log_dyndns_subscribe": "Subscribirse a un subdominio YunoHost '{}'",
|
||||
"log_domain_remove": "Eliminar o dominio '{}' da configuración do sistema",
|
||||
"log_domain_add": "Engadir dominio '{}' á configuración do sistema",
|
||||
"log_remove_on_failed_install": "Eliminar '{}' tras unha instalación fallida",
|
||||
"log_remove_on_failed_restore": "Eliminar '{}' tras un intento fallido de restablecemento desde copia",
|
||||
"log_backup_restore_app": "Restablecer '{}' desde unha copia de apoio",
|
||||
"log_backup_restore_system": "Restablecer o sistema desde unha copia de apoio",
|
||||
"log_backup_create": "Crear copia de apoio",
|
||||
"log_available_on_yunopaste": "Este rexistro está dispoñible en {url}",
|
||||
"log_app_config_apply": "Aplicar a configuración da app '{}'",
|
||||
"log_app_config_show_panel": "Mostrar o panel de configuración da app '{}'",
|
||||
"log_app_action_run": "Executar acción da app '{}'",
|
||||
"log_app_makedefault": "Converter '{}' na app por defecto",
|
||||
"log_app_upgrade": "Actualizar a app '{}'",
|
||||
"log_app_remove": "Eliminar a app '{}'",
|
||||
"log_app_install": "Instalar a app '{}'",
|
||||
"log_app_change_url": "Cambiar o URL da app '{}'",
|
||||
"log_operation_unit_unclosed_properly": "Non se pechou correctamente a unidade da operación",
|
||||
"log_does_exists": "Non hai rexistro de operación co nome '{log}', usa 'yunohost log list' para ver tódolos rexistros de operacións dispoñibles",
|
||||
"log_help_to_get_failed_log": "A operación '{desc}' non se completou. Comparte o rexistro completo da operación utilizando o comando 'yunohost log share {name}' para obter axuda",
|
||||
"log_link_to_failed_log": "Non se completou a operación '{desc}'. Por favor envía o rexistro completo desta operación <a href=\"#/tools/logs/{name}\">premendo aquí</a> para obter axuda",
|
||||
"migration_0015_start": "Comezando a migración a Buster",
|
||||
"migration_update_LDAP_schema": "Actualizando esquema LDAP...",
|
||||
"migration_ldap_rollback_success": "Sistema restablecido.",
|
||||
"migration_ldap_migration_failed_trying_to_rollback": "Non se puido migrar... intentando volver á versión anterior do sistema.",
|
||||
"migration_ldap_can_not_backup_before_migration": "O sistema de copia de apoio do sistema non se completou antes de que fallase a migración. Erro: {error}",
|
||||
"migration_ldap_backup_before_migration": "Crear copia de apoio da base de datos LDAP e axustes de apps antes de realizar a migración.",
|
||||
"migration_description_0020_ssh_sftp_permissions": "Engadir soporte para permisos SSH e SFTP",
|
||||
"migration_description_0019_extend_permissions_features": "Extender/recrear o sistema de xestión de permisos de apps",
|
||||
"migration_description_0018_xtable_to_nftable": "Migrar as regras de tráfico de rede antigas ao novo sistema nftable",
|
||||
"migration_description_0017_postgresql_9p6_to_11": "Migrar bases de datos desde PostgreSQL 9.6 a 11",
|
||||
"migration_description_0016_php70_to_php73_pools": "Migrar o ficheiros de configuración 'pool' de php7.0-fpm a php7.3",
|
||||
"migration_description_0015_migrate_to_buster": "Actualizar o sistema a Debian Buster e YunoHost 4.x",
|
||||
"migrating_legacy_permission_settings": "Migrando os axustes dos permisos anteriores...",
|
||||
"main_domain_changed": "Foi cambiado o dominio principal",
|
||||
"main_domain_change_failed": "Non se pode cambiar o dominio principal",
|
||||
"mail_unavailable": "Este enderezo de email está reservado e debería adxudicarse automáticamente á primeira usuaria",
|
||||
"mailbox_used_space_dovecot_down": "O servizo de caixa de correo Dovecot ten que estar activo se queres obter o espazo utilizado polo correo",
|
||||
"mailbox_disabled": "Desactivado email para usuaria {user}",
|
||||
"mail_forward_remove_failed": "Non se eliminou o reenvío de email '{mail}'",
|
||||
"mail_domain_unknown": "Enderezo de email non válido para o dominio '{domain}'. Usa un dominio administrado por este servidor.",
|
||||
"mail_alias_remove_failed": "Non se puido eliminar o alias de email '{mail}'",
|
||||
"log_tools_reboot": "Reiniciar o servidor",
|
||||
"log_tools_shutdown": "Apagar o servidor",
|
||||
"log_tools_upgrade": "Actualizar paquetes do sistema",
|
||||
"log_tools_postinstall": "Postinstalación do servidor YunoHost",
|
||||
"log_tools_migrations_migrate_forward": "Executar migracións",
|
||||
"log_domain_main_domain": "Facer que '{}' sexa o dominio principal",
|
||||
"log_user_permission_reset": "Restablecer permiso '{}'",
|
||||
"log_user_permission_update": "Actualizar accesos para permiso '{}'",
|
||||
"log_user_update": "Actualizar info da usuaria '{}'",
|
||||
"log_user_group_update": "Actualizar grupo '{}'",
|
||||
"log_user_group_delete": "Eliminar grupo '{}'",
|
||||
"log_user_group_create": "Crear grupo '{}'",
|
||||
"log_user_delete": "Eliminar usuaria '{}'",
|
||||
"log_user_create": "Engadir usuaria '{}'",
|
||||
"log_regen_conf": "Rexerar configuración do sistema '{}'",
|
||||
"log_letsencrypt_cert_renew": "Anovar certificado Let's Encrypt para '{}'",
|
||||
"log_selfsigned_cert_install": "Instalar certificado auto-asinado para o dominio '{}'",
|
||||
"log_permission_url": "Actualizar url relativo ao permiso '{}'",
|
||||
"migration_0015_general_warning": "Ten en conta que a migración é unha operación delicada. O equipo YunoHost esforzouse revisando e comprobandoa, aínda así algo podería fallar en partes do teu sistema ou as súas apps.\n\nPor tanto, é recomendable:\n- realiza unha copia de apoio de tódolos datos ou apps importantes. Máis info en https://yunohost.org/backup;\n - ten paciencia tras iniciar o proceso: dependendo da túa conexión de internet e hardware podería demorar varias horas a actualización de tódolos compoñentes.",
|
||||
"migration_0015_system_not_fully_up_to_date": "O teu sistema non está ao día. Realiza unha actualización común antes de realizar a migración a Buster.",
|
||||
"migration_0015_not_enough_free_space": "Queda moi pouco espazo en /var/! Deberías ter polo menos 1GB libre para realizar a migración.",
|
||||
"migration_0015_not_stretch": "A distribución Debian actual non é Stretch!",
|
||||
"migration_0015_yunohost_upgrade": "Iniciando a actualización do núcleo YunoHost...",
|
||||
"migration_0015_still_on_stretch_after_main_upgrade": "Algo foi mal durante a actualiza ión principal, o sistema semella que aínda está en Debian Stretch",
|
||||
"migration_0015_main_upgrade": "Iniciando a actualización principal...",
|
||||
"migration_0015_patching_sources_list": "Correxindo os sources.lists...",
|
||||
"migrations_already_ran": "Xa se realizaron estas migracións: {ids}",
|
||||
"migration_0019_slapd_config_will_be_overwritten": "Semella que editaches manualmente a configuración slapd. Para esta migración crítica YunoHost precisa forzar a actualización da configuración slapd. Os ficheiros orixinais van ser copiados en {conf_backup_folder}.",
|
||||
"migration_0019_add_new_attributes_in_ldap": "Engadir novos atributos para os permisos na base de datos LDAP",
|
||||
"migration_0018_failed_to_reset_legacy_rules": "Fallou o restablecemento das regras antigas de iptables: {error}",
|
||||
"migration_0018_failed_to_migrate_iptables_rules": "Fallou a migración das regras antigas de iptables a nftables: {error}",
|
||||
"migration_0017_not_enough_space": "Crea espazo suficiente en {path} para executar a migración.",
|
||||
"migration_0017_postgresql_11_not_installed": "PostgreSQL 9.6 está instado, pero non postgresql 11? Algo raro debeu acontecer no teu sistema :(...",
|
||||
"migration_0017_postgresql_96_not_installed": "PostgreSQL non está instalado no teu sistema. Nada que facer.",
|
||||
"migration_0015_weak_certs": "Os seguintes certificados están a utilizar algoritmos de sinatura débiles e teñen que ser actualizados para ser compatibles coa seguinte versión de nginx: {certs}",
|
||||
"migration_0015_cleaning_up": "Limpando a caché e paquetes que xa non son útiles...",
|
||||
"migration_0015_specific_upgrade": "Iniciando a actualización dos paquetes do sistema que precisan ser actualizados de xeito independente...",
|
||||
"migration_0015_modified_files": "Ten en conta que os seguintes ficheiros semella que foron modificados manualmente e poderían ser sobrescritos na actualización: {manually_modified_files}",
|
||||
"migration_0015_problematic_apps_warning": "Ten en conta que se detectaron as seguintes apps que poderían ser problemáticas. Semella que non foron instaladas usando o catálogo de YunoHost, ou non están marcadas como 'funcionais'. En consecuencia, non se pode garantir que seguirán funcionando após a actualización: {problematic_apps}",
|
||||
"diagnosis_http_localdomain": "O dominio {domain}, cun TLD .local, non é de agardar que sexa accesible desde o exterior da rede local.",
|
||||
"diagnosis_dns_specialusedomain": "O dominio {domain} baséase un dominio de nivel alto e uso especial (TLD) polo que non é de agardar que realmente teña rexistros DNS.",
|
||||
"upnp_enabled": "UPnP activado",
|
||||
"upnp_disabled": "UPnP desactivado",
|
||||
"permission_creation_failed": "Non se creou o permiso '{permission}': {error}",
|
||||
"permission_created": "Creado o permiso '{permission}'",
|
||||
"permission_cannot_remove_main": "Non está permitido eliminar un permiso principal",
|
||||
"permission_already_up_to_date": "Non se actualizou o permiso porque as solicitudes de adición/retirada xa coinciden co estado actual.",
|
||||
"permission_already_exist": "Xa existe o permiso '{permission}'",
|
||||
"permission_already_disallowed": "O grupo '{group}' xa ten o permiso '{permission}' desactivado",
|
||||
"permission_already_allowed": "O grupo '{group}' xa ten o permiso '{permission}' activado",
|
||||
"pattern_password_app": "Lamentámolo, os contrasinais non poden conter os seguintes caracteres: {forbidden_chars}",
|
||||
"pattern_username": "Só admite caracteres alfanuméricos en minúscula e trazo baixo",
|
||||
"pattern_positive_number": "Ten que ser un número positivo",
|
||||
"pattern_port_or_range": "Debe ser un número válido de porto (entre 0-65535) ou rango de portos (ex. 100:200)",
|
||||
"pattern_password": "Ten que ter polo menos 3 caracteres",
|
||||
"pattern_mailbox_quota": "Ten que ser un tamaño co sufixo b/k/M/G/T ou 0 para non ter unha cota",
|
||||
"pattern_lastname": "Ten que ser un apelido válido",
|
||||
"pattern_firstname": "Ten que ser un nome válido",
|
||||
"pattern_email": "Ten que ser un enderezo de email válido, sen o símbolo '+' (ex. persoa@exemplo.com)",
|
||||
"pattern_email_forward": "Ten que ser un enderezo de email válido, está aceptado o símbolo '+' (ex. persoa+etiqueta@exemplo.com)",
|
||||
"pattern_domain": "Ten que ser un nome de dominio válido (ex. dominiopropio.org)",
|
||||
"pattern_backup_archive_name": "Ten que ser un nome de ficheiro válido con 30 caracteres como máximo, alfanuméricos ou só caracteres -_.",
|
||||
"password_too_simple_4": "O contrasinal debe ter 12 caracteres como mínimo e conter un díxito, maiúsculas, minúsculas e caracteres especiais",
|
||||
"password_too_simple_3": "O contrasinal debe ter 8 caracteres como mínimo e conter un díxito, maiúsculas, minúsculas e caracteres especiais",
|
||||
"password_too_simple_2": "O contrasinal debe ter 8 caracteres como mínimo e conter un díxito, maiúsculas e minúsculas",
|
||||
"password_listed": "Este contrasinal está entre os máis utilizados no mundo. Por favor elixe outro que sexa máis orixinal.",
|
||||
"packages_upgrade_failed": "Non se puideron actualizar tódolos paquetes",
|
||||
"operation_interrupted": "Foi interrumpida manualmente a operación?",
|
||||
"invalid_number": "Ten que ser un número",
|
||||
"not_enough_disk_space": "Non hai espazo libre abondo en '{path}'",
|
||||
"migrations_to_be_ran_manually": "A migración {id} ten que ser executada manualmente. Vaite a Ferramentas → Migracións na páxina webadmin, ou executa `yunohost tools migrations run`.",
|
||||
"migrations_success_forward": "Migración {id} completada",
|
||||
"migrations_skip_migration": "Omitindo migración {id}...",
|
||||
"migrations_running_forward": "Realizando migración {id}...",
|
||||
"migrations_pending_cant_rerun": "Esas migracións están pendentes, polo que non ser executadas outra vez: {ids}",
|
||||
"migrations_not_pending_cant_skip": "Esas migracións non están pendentes, polo que non poden ser omitidas: {ids}",
|
||||
"migrations_no_such_migration": "Non hai migración co nome '{id}'",
|
||||
"migrations_no_migrations_to_run": "Sen migracións a executar",
|
||||
"migrations_need_to_accept_disclaimer": "Para executar a migración {id}, tes que aceptar o seguinte aviso:\n---\n{disclaimer}\n---\nSe aceptas executar a migración, por favor volve a executar o comando coa opción '--accept-disclaimer'.",
|
||||
"migrations_must_provide_explicit_targets": "Debes proporcionar obxectivos explícitos ao utilizar '--skip' ou '--force-rerun'",
|
||||
"migrations_migration_has_failed": "A migración {id} non se completou, abortando. Erro: {exception}",
|
||||
"migrations_loading_migration": "Cargando a migración {id}...",
|
||||
"migrations_list_conflict_pending_done": "Non podes usar ao mesmo tempo '--previous' e '--done'.",
|
||||
"migrations_exclusive_options": "'--auto', '--skip', e '--force-rerun' son opcións que se exclúen unhas a outras.",
|
||||
"migrations_failed_to_load_migration": "Non se cargou a migración {id}: {error}",
|
||||
"migrations_dependencies_not_satisfied": "Executar estas migracións: '{dependencies_id}', antes da migración {id}.",
|
||||
"migrations_cant_reach_migration_file": "Non se pode acceder aos ficheiros de migración na ruta '%s'",
|
||||
"regenconf_file_manually_removed": "O ficheiro de configuración '{conf}' foi eliminado manualmente e non será creado",
|
||||
"regenconf_file_manually_modified": "O ficheiro de configuración '{conf}' foi modificado manualmente e non vai ser actualizado",
|
||||
"regenconf_file_kept_back": "Era de agardar que o ficheiro de configuración '{conf}' fose eliminado por regen-conf (categoría {category}) mais foi mantido.",
|
||||
"regenconf_file_copy_failed": "Non se puido copiar o novo ficheiro de configuración '{new}' a '{conf}'",
|
||||
"regenconf_file_backed_up": "Ficheiro de configuración '{conf}' copiado a '{backup}'",
|
||||
"postinstall_low_rootfsspace": "O sistema de ficheiros raiz ten un espazo total menor de 10GB, que é pouco! Probablemente vas quedar sen espazo moi pronto! É recomendable ter polo menos 16GB para o sistema raíz. Se queres instalar YunoHost obviando este aviso, volve a executar a postinstalación con --force-diskspace",
|
||||
"port_already_opened": "O porto {port:d} xa está aberto para conexións {ip_version}",
|
||||
"port_already_closed": "O porto {port:d} xa está pechado para conexións {ip_version}",
|
||||
"permission_require_account": "O permiso {permission} só ten sentido para usuarias cunha conta, e por tanto non pode concederse a visitantes.",
|
||||
"permission_protected": "O permiso {permission} está protexido. Non podes engadir ou eliminar o grupo visitantes a/de este permiso.",
|
||||
"permission_updated": "Permiso '{permission}' actualizado",
|
||||
"permission_update_failed": "Non se actualizou o permiso '{permission}': {error}",
|
||||
"permission_not_found": "Non se atopa o permiso '{permission}'",
|
||||
"permission_deletion_failed": "Non se puido eliminar o permiso '{permission}': {error}",
|
||||
"permission_deleted": "O permiso '{permission}' foi eliminado",
|
||||
"permission_cant_add_to_all_users": "O permiso {permission} non pode ser concecido a tódalas usuarias.",
|
||||
"permission_currently_allowed_for_all_users": "Este permiso está concedido actualmente a tódalas usuarias ademáis de a outros grupos. Probablemente queiras ben eliminar o permiso 'all_users' ou ben eliminar os outros grupos que teñen permiso."
|
||||
}
|
||||
|
|
|
@ -1,49 +1,49 @@
|
|||
{
|
||||
"action_invalid": "अवैध कार्रवाई '{action:s}'",
|
||||
"action_invalid": "अवैध कार्रवाई '{action}'",
|
||||
"admin_password": "व्यवस्थापक पासवर्ड",
|
||||
"admin_password_change_failed": "पासवर्ड बदलने में असमर्थ",
|
||||
"admin_password_changed": "व्यवस्थापक पासवर्ड बदल दिया गया है",
|
||||
"app_already_installed": "'{app:s}' पहले से ही इंस्टाल्ड है",
|
||||
"app_argument_choice_invalid": "गलत तर्क का चयन किया गया '{name:s}' , तर्क इन विकल्पों में से होने चाहिए {choices:s}",
|
||||
"app_argument_invalid": "तर्क के लिए अमान्य मान '{name:s}': {error:s}",
|
||||
"app_argument_required": "तर्क '{name:s}' की आवश्यकता है",
|
||||
"app_already_installed": "'{app}' पहले से ही इंस्टाल्ड है",
|
||||
"app_argument_choice_invalid": "गलत तर्क का चयन किया गया '{name}' , तर्क इन विकल्पों में से होने चाहिए {choices}",
|
||||
"app_argument_invalid": "तर्क के लिए अमान्य मान '{name}': {error}",
|
||||
"app_argument_required": "तर्क '{name}' की आवश्यकता है",
|
||||
"app_extraction_failed": "इन्सटाल्ड फ़ाइलों को निकालने में असमर्थ",
|
||||
"app_id_invalid": "अवैध एप्लिकेशन id",
|
||||
"app_install_files_invalid": "फाइलों की अमान्य स्थापना",
|
||||
"app_manifest_invalid": "एप्लीकेशन का मैनिफेस्ट अमान्य",
|
||||
"app_not_correctly_installed": "{app:s} ठीक ढंग से इनस्टॉल नहीं हुई",
|
||||
"app_not_installed": "{app:s} इनस्टॉल नहीं हुई",
|
||||
"app_not_properly_removed": "{app:s} ठीक ढंग से नहीं अनइन्सटॉल की गई",
|
||||
"app_removed": "{app:s} को अनइन्सटॉल कर दिया गया",
|
||||
"app_not_correctly_installed": "{app} ठीक ढंग से इनस्टॉल नहीं हुई",
|
||||
"app_not_installed": "{app} इनस्टॉल नहीं हुई",
|
||||
"app_not_properly_removed": "{app} ठीक ढंग से नहीं अनइन्सटॉल की गई",
|
||||
"app_removed": "{app} को अनइन्सटॉल कर दिया गया",
|
||||
"app_requirements_checking": "जरूरी पैकेजेज़ की जाँच हो रही है ....",
|
||||
"app_requirements_unmeet": "आवश्यकताए पूरी नहीं हो सकी, पैकेज {pkgname}({version})यह होना चाहिए {spec}",
|
||||
"app_sources_fetch_failed": "सोर्स फाइल्स प्राप्त करने में असमर्थ",
|
||||
"app_unknown": "अनजान एप्लीकेशन",
|
||||
"app_unsupported_remote_type": "एप्लीकेशन के लिए उन्सुपपोर्टेड रिमोट टाइप इस्तेमाल किया गया",
|
||||
"app_upgrade_failed": "{app:s} अपडेट करने में असमर्थ",
|
||||
"app_upgraded": "{app:s} अपडेट हो गयी हैं",
|
||||
"app_upgrade_failed": "{app} अपडेट करने में असमर्थ",
|
||||
"app_upgraded": "{app} अपडेट हो गयी हैं",
|
||||
"ask_firstname": "नाम",
|
||||
"ask_lastname": "अंतिम नाम",
|
||||
"ask_main_domain": "मुख्य डोमेन",
|
||||
"ask_new_admin_password": "नया व्यवस्थापक पासवर्ड",
|
||||
"ask_password": "पासवर्ड",
|
||||
"backup_app_failed": "एप्लीकेशन का बैकअप करने में असमर्थ '{app:s}'",
|
||||
"backup_archive_app_not_found": "'{app:s}' बैकअप आरचिव में नहीं मिला",
|
||||
"backup_app_failed": "एप्लीकेशन का बैकअप करने में असमर्थ '{app}'",
|
||||
"backup_archive_app_not_found": "'{app}' बैकअप आरचिव में नहीं मिला",
|
||||
"backup_archive_name_exists": "इस बैकअप आरचिव का नाम पहले से ही मौजूद है",
|
||||
"backup_archive_name_unknown": "'{name:s}' इस नाम की लोकल बैकअप आरचिव मौजूद नहीं",
|
||||
"backup_archive_name_unknown": "'{name}' इस नाम की लोकल बैकअप आरचिव मौजूद नहीं",
|
||||
"backup_archive_open_failed": "बैकअप आरचिव को खोलने में असमर्थ",
|
||||
"backup_cleaning_failed": "टेम्पोरेरी बैकअप डायरेक्टरी को उड़ने में असमर्थ",
|
||||
"backup_created": "बैकअप सफलतापूर्वक किया गया",
|
||||
"backup_creation_failed": "बैकअप बनाने में विफल",
|
||||
"backup_delete_error": "'{path:s}' डिलीट करने में असमर्थ",
|
||||
"backup_delete_error": "'{path}' डिलीट करने में असमर्थ",
|
||||
"backup_deleted": "इस बैकअप को डिलीट दिया गया है",
|
||||
"backup_hook_unknown": "'{hook:s}' यह बैकअप हुक नहीं मिला",
|
||||
"backup_hook_unknown": "'{hook}' यह बैकअप हुक नहीं मिला",
|
||||
"backup_nothings_done": "सेव करने के लिए कुछ नहीं",
|
||||
"backup_output_directory_forbidden": "निषिद्ध आउटपुट डायरेक्टरी। निम्न दिए गए डायरेक्टरी में बैकअप नहीं बन सकता /bin, /boot, /dev, /etc, /lib, /root, /run, /sbin, /sys, /usr, /var और /home/yunohost.backup/archives के सब-फोल्डर।",
|
||||
"backup_output_directory_not_empty": "आउटपुट डायरेक्टरी खाली नहीं है",
|
||||
"backup_output_directory_required": "बैकअप करने के लिए आउट पुट डायरेक्टरी की आवश्यकता है",
|
||||
"backup_running_hooks": "बैकअप हुक्स चल रहे है...",
|
||||
"custom_app_url_required": "आप को अपनी कस्टम एप्लिकेशन '{app:s}' को अपग्रेड करने के लिए यूआरएल(URL) देने की आवश्यकता है",
|
||||
"custom_app_url_required": "आप को अपनी कस्टम एप्लिकेशन '{app}' को अपग्रेड करने के लिए यूआरएल(URL) देने की आवश्यकता है",
|
||||
"domain_cert_gen_failed": "सर्टिफिकेट उत्पन करने में असमर्थ",
|
||||
"domain_created": "डोमेन बनाया गया",
|
||||
"domain_creation_failed": "डोमेन बनाने में असमर्थ",
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
"aborting": "Megszakítás.",
|
||||
"action_invalid": "Érvénytelen művelet '{action:s}'",
|
||||
"action_invalid": "Érvénytelen művelet '{action}'",
|
||||
"admin_password": "Adminisztrátori jelszó",
|
||||
"admin_password_change_failed": "Nem lehet a jelszót megváltoztatni",
|
||||
"admin_password_changed": "Az adminisztrátori jelszó megváltozott",
|
||||
"app_already_installed": "{app:s} már telepítve van",
|
||||
"app_already_installed": "{app} már telepítve van",
|
||||
"app_already_installed_cant_change_url": "Ez az app már telepítve van. Ezzel a funkcióval az url nem változtatható. Javaslat 'app url változtatás' ha lehetséges.",
|
||||
"app_already_up_to_date": "{app:s} napra kész",
|
||||
"app_argument_choice_invalid": "{name:s} érvénytelen választás, csak egyike lehet {choices:s} közül",
|
||||
"app_argument_invalid": "'{name:s}' hibás paraméter érték :{error:s}",
|
||||
"app_argument_required": "Parameter '{name:s}' kötelező",
|
||||
"app_already_up_to_date": "{app} napra kész",
|
||||
"app_argument_choice_invalid": "{name} érvénytelen választás, csak egyike lehet {choices} közül",
|
||||
"app_argument_invalid": "'{name}' hibás paraméter érték :{error}",
|
||||
"app_argument_required": "Parameter '{name}' kötelező",
|
||||
"password_too_simple_1": "A jelszónak legalább 8 karakter hosszúnak kell lennie"
|
||||
}
|
270
locales/it.json
270
locales/it.json
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"app_already_installed": "{app:s} è già installata",
|
||||
"app_already_installed": "{app} è già installata",
|
||||
"app_extraction_failed": "Impossibile estrarre i file di installazione",
|
||||
"app_not_installed": "Impossibile trovare l'applicazione {app:s} nell'elenco delle applicazioni installate: {all_apps}",
|
||||
"app_not_installed": "Impossibile trovare l'applicazione {app} nell'elenco delle applicazioni installate: {all_apps}",
|
||||
"app_unknown": "Applicazione sconosciuta",
|
||||
"ask_password": "Password",
|
||||
"backup_archive_name_exists": "Il nome dell'archivio del backup è già esistente.",
|
||||
|
@ -9,18 +9,17 @@
|
|||
"backup_output_directory_not_empty": "Dovresti scegliere una cartella di output vuota",
|
||||
"domain_created": "Dominio creato",
|
||||
"domain_exists": "Il dominio esiste già",
|
||||
"ldap_initialized": "LDAP inizializzato",
|
||||
"pattern_email": "L'indirizzo email deve essere valido, senza simboli '+' (es. tizio@dominio.com)",
|
||||
"pattern_mailbox_quota": "La dimensione deve avere un suffisso b/k/M/G/T o 0 per disattivare la quota",
|
||||
"port_already_opened": "La porta {port:d} è già aperta per {ip_version:s} connessioni",
|
||||
"service_add_failed": "Impossibile aggiungere il servizio '{service:s}'",
|
||||
"service_cmd_exec_failed": "Impossibile eseguire il comando '{command:s}'",
|
||||
"service_disabled": "Il servizio '{service:s}' non partirà più al boot di sistema.",
|
||||
"service_remove_failed": "Impossibile rimuovere il servizio '{service:s}'",
|
||||
"service_removed": "Servizio '{service:s}' rimosso",
|
||||
"service_stop_failed": "Impossibile fermare il servizio '{service:s}'\n\nRegistri di servizio recenti:{logs:s}",
|
||||
"port_already_opened": "La porta {port:d} è già aperta per {ip_version} connessioni",
|
||||
"service_add_failed": "Impossibile aggiungere il servizio '{service}'",
|
||||
"service_cmd_exec_failed": "Impossibile eseguire il comando '{command}'",
|
||||
"service_disabled": "Il servizio '{service}' non partirà più al boot di sistema.",
|
||||
"service_remove_failed": "Impossibile rimuovere il servizio '{service}'",
|
||||
"service_removed": "Servizio '{service}' rimosso",
|
||||
"service_stop_failed": "Impossibile fermare il servizio '{service}'\n\nRegistri di servizio recenti:{logs}",
|
||||
"system_username_exists": "Il nome utente esiste già negli utenti del sistema",
|
||||
"unrestore_app": "{app:s} non verrà ripristinata",
|
||||
"unrestore_app": "{app} non verrà ripristinata",
|
||||
"upgrading_packages": "Aggiornamento dei pacchetti...",
|
||||
"user_deleted": "Utente cancellato",
|
||||
"admin_password": "Password dell'amministrazione",
|
||||
|
@ -28,39 +27,39 @@
|
|||
"admin_password_changed": "La password d'amministrazione è stata cambiata",
|
||||
"app_install_files_invalid": "Questi file non possono essere installati",
|
||||
"app_manifest_invalid": "C'è qualcosa di scorretto nel manifesto dell'applicazione: {error}",
|
||||
"app_not_correctly_installed": "{app:s} sembra di non essere installata correttamente",
|
||||
"app_not_properly_removed": "{app:s} non è stata correttamente rimossa",
|
||||
"action_invalid": "L'azione '{action:s}' non è valida",
|
||||
"app_removed": "{app:s} rimossa",
|
||||
"app_not_correctly_installed": "{app} sembra di non essere installata correttamente",
|
||||
"app_not_properly_removed": "{app} non è stata correttamente rimossa",
|
||||
"action_invalid": "L'azione '{action}' non è valida",
|
||||
"app_removed": "{app} disinstallata",
|
||||
"app_sources_fetch_failed": "Impossibile riportare i file sorgenti, l'URL è corretto?",
|
||||
"app_upgrade_failed": "Impossibile aggiornare {app:s}: {error}",
|
||||
"app_upgraded": "{app:s} aggiornata",
|
||||
"app_upgrade_failed": "Impossibile aggiornare {app}: {error}",
|
||||
"app_upgraded": "{app} aggiornata",
|
||||
"app_requirements_checking": "Controllo i pacchetti richiesti per {app}...",
|
||||
"app_requirements_unmeet": "Requisiti non soddisfatti per {app}, il pacchetto {pkgname} ({version}) deve essere {spec}",
|
||||
"ask_firstname": "Nome",
|
||||
"ask_lastname": "Cognome",
|
||||
"ask_main_domain": "Dominio principale",
|
||||
"ask_new_admin_password": "Nuova password dell'amministrazione",
|
||||
"backup_app_failed": "Non è possibile fare il backup {app:s}",
|
||||
"backup_archive_app_not_found": "{app:s} non è stata trovata nel archivio di backup",
|
||||
"app_argument_choice_invalid": "Usa una delle seguenti scelte '{choices:s}' per il parametro '{name:s}'",
|
||||
"app_argument_invalid": "Scegli un valore valido per il parametro '{name:s}': {error:s}",
|
||||
"app_argument_required": "L'argomento '{name:s}' è requisito",
|
||||
"backup_app_failed": "Non è possibile fare il backup {app}",
|
||||
"backup_archive_app_not_found": "{app} non è stata trovata nel archivio di backup",
|
||||
"app_argument_choice_invalid": "Usa una delle seguenti scelte '{choices}' per il parametro '{name}'",
|
||||
"app_argument_invalid": "Scegli un valore valido per il parametro '{name}': {error}",
|
||||
"app_argument_required": "L'argomento '{name}' è requisito",
|
||||
"app_id_invalid": "Identificativo dell'applicazione non valido",
|
||||
"app_unsupported_remote_type": "Il tipo remoto usato per l'applicazione non è supportato",
|
||||
"backup_archive_broken_link": "Non è possibile accedere all'archivio di backup (link rotto verso {path:s})",
|
||||
"backup_archive_name_unknown": "Archivio di backup locale chiamato '{name:s}' sconosciuto",
|
||||
"backup_archive_broken_link": "Non è possibile accedere all'archivio di backup (link rotto verso {path})",
|
||||
"backup_archive_name_unknown": "Archivio di backup locale chiamato '{name}' sconosciuto",
|
||||
"backup_archive_open_failed": "Impossibile aprire l'archivio di backup",
|
||||
"backup_cleaning_failed": "Non è possibile pulire la directory temporanea di backup",
|
||||
"backup_creation_failed": "Impossibile creare l'archivio di backup",
|
||||
"backup_delete_error": "Impossibile cancellare '{path:s}'",
|
||||
"backup_delete_error": "Impossibile cancellare '{path}'",
|
||||
"backup_deleted": "Backup cancellato",
|
||||
"backup_hook_unknown": "Hook di backup '{hook:s}' sconosciuto",
|
||||
"backup_hook_unknown": "Hook di backup '{hook}' sconosciuto",
|
||||
"backup_nothings_done": "Niente da salvare",
|
||||
"backup_output_directory_forbidden": "Scegli una diversa directory di output. I backup non possono esser creati nelle sotto-cartelle /bin, /boot, /dev, /etc, /lib, /root, /run, /sbin, /sys, /usr, /var o /home/yunohost.backup/archives",
|
||||
"backup_output_directory_required": "Devi fornire una directory di output per il backup",
|
||||
"backup_running_hooks": "Esecuzione degli hook di backup…",
|
||||
"custom_app_url_required": "Devi fornire un URL per essere in grado di aggiornare l'applicazione personalizzata {app:s}",
|
||||
"custom_app_url_required": "Devi fornire un URL per essere in grado di aggiornare l'applicazione personalizzata {app}",
|
||||
"domain_creation_failed": "Impossibile creare il dominio {domain}: {error}",
|
||||
"domain_deleted": "Dominio cancellato",
|
||||
"domain_deletion_failed": "Impossibile cancellare il dominio {domain}: {error}",
|
||||
|
@ -78,28 +77,26 @@
|
|||
"dyndns_key_not_found": "La chiave DNS non è stata trovata per il dominio",
|
||||
"dyndns_no_domain_registered": "Nessuno dominio registrato con DynDNS",
|
||||
"dyndns_registered": "Dominio DynDNS registrato",
|
||||
"dyndns_registration_failed": "Non è possibile registrare il dominio DynDNS: {error:s}",
|
||||
"dyndns_unavailable": "Il dominio {domain:s} non disponibile.",
|
||||
"dyndns_registration_failed": "Non è possibile registrare il dominio DynDNS: {error}",
|
||||
"dyndns_unavailable": "Il dominio {domain} non disponibile.",
|
||||
"extracting": "Estrazione...",
|
||||
"field_invalid": "Campo '{:s}' non valido",
|
||||
"field_invalid": "Campo '{}' non valido",
|
||||
"firewall_reload_failed": "Impossibile ricaricare il firewall",
|
||||
"firewall_reloaded": "Firewall ricaricato",
|
||||
"firewall_rules_cmd_failed": "Alcune regole del firewall sono fallite. Per ulteriori informazioni, vedi il registro.",
|
||||
"hook_exec_failed": "Impossibile eseguire lo script: {path:s}",
|
||||
"hook_exec_not_terminated": "Los script non è stato eseguito correttamente: {path:s}",
|
||||
"hook_name_unknown": "Nome di hook '{name:s}' sconosciuto",
|
||||
"hook_exec_failed": "Impossibile eseguire lo script: {path}",
|
||||
"hook_exec_not_terminated": "Los script non è stato eseguito correttamente: {path}",
|
||||
"hook_name_unknown": "Nome di hook '{name}' sconosciuto",
|
||||
"installation_complete": "Installazione completata",
|
||||
"installation_failed": "Qualcosa è andato storto durante l'installazione",
|
||||
"ip6tables_unavailable": "Non puoi giocare con ip6tables qui. O sei in un container o il tuo kernel non lo supporta",
|
||||
"iptables_unavailable": "Non puoi giocare con iptables qui. O sei in un container o il tuo kernel non lo supporta",
|
||||
"ldap_init_failed_to_create_admin": "L'inizializzazione LDAP non è riuscita a creare un utente admin",
|
||||
"mail_alias_remove_failed": "Impossibile rimuovere l'alias mail '{mail:s}'",
|
||||
"mail_domain_unknown": "Indirizzo mail non valido per il dominio '{domain:s}'. Usa un dominio gestito da questo server.",
|
||||
"mail_forward_remove_failed": "Impossibile rimuovere la mail inoltrata '{mail:s}'",
|
||||
"mail_alias_remove_failed": "Impossibile rimuovere l'alias mail '{mail}'",
|
||||
"mail_domain_unknown": "Indirizzo mail non valido per il dominio '{domain}'. Usa un dominio gestito da questo server.",
|
||||
"mail_forward_remove_failed": "Impossibile rimuovere la mail inoltrata '{mail}'",
|
||||
"mailbox_used_space_dovecot_down": "La casella di posta elettronica Dovecot deve essere attivato se vuoi recuperare lo spazio usato dalla posta elettronica",
|
||||
"main_domain_change_failed": "Impossibile cambiare il dominio principale",
|
||||
"main_domain_changed": "Il dominio principale è stato cambiato",
|
||||
"not_enough_disk_space": "Non c'è abbastanza spazio libero in '{path:s}'",
|
||||
"not_enough_disk_space": "Non c'è abbastanza spazio libero in '{path}'",
|
||||
"packages_upgrade_failed": "Impossibile aggiornare tutti i pacchetti",
|
||||
"pattern_backup_archive_name": "Deve essere un nome di file valido di massimo 30 caratteri di lunghezza, con caratteri alfanumerici e \"-_.\" come unica punteggiatura",
|
||||
"pattern_domain": "Deve essere un nome di dominio valido (es. il-mio-dominio.org)",
|
||||
|
@ -109,32 +106,32 @@
|
|||
"pattern_port_or_range": "Deve essere un numero di porta valido (es. 0-65535) o una fascia di porte valida (es. 100:200)",
|
||||
"pattern_positive_number": "Deve essere un numero positivo",
|
||||
"pattern_username": "Caratteri minuscoli alfanumerici o trattini bassi soli",
|
||||
"port_already_closed": "La porta {port:d} è già chiusa per le connessioni {ip_version:s}",
|
||||
"restore_already_installed_app": "Un'applicazione con l'ID '{app:s}' è già installata",
|
||||
"app_restore_failed": "Impossibile ripristinare l'applicazione '{app:s}': {error:s}",
|
||||
"port_already_closed": "La porta {port:d} è già chiusa per le connessioni {ip_version}",
|
||||
"restore_already_installed_app": "Un'applicazione con l'ID '{app}' è già installata",
|
||||
"app_restore_failed": "Impossibile ripristinare l'applicazione '{app}': {error}",
|
||||
"restore_cleaning_failed": "Impossibile pulire la directory temporanea di ripristino",
|
||||
"restore_complete": "Ripristino completo",
|
||||
"restore_confirm_yunohost_installed": "Sei sicuro di volere ripristinare un sistema già installato? {answers:s}",
|
||||
"restore_confirm_yunohost_installed": "Sei sicuro di volere ripristinare un sistema già installato? {answers}",
|
||||
"restore_failed": "Impossibile ripristinare il sistema",
|
||||
"user_update_failed": "Impossibile aggiornare l'utente {user}: {error}",
|
||||
"restore_hook_unavailable": "Lo script di ripristino per '{part:s}' non è disponibile per il tuo sistema e non è nemmeno nell'archivio",
|
||||
"restore_hook_unavailable": "Lo script di ripristino per '{part}' non è disponibile per il tuo sistema e non è nemmeno nell'archivio",
|
||||
"restore_nothings_done": "Nulla è stato ripristinato",
|
||||
"restore_running_app_script": "Ripristino dell'app '{app:s}'…",
|
||||
"restore_running_app_script": "Ripristino dell'app '{app}'…",
|
||||
"restore_running_hooks": "Esecuzione degli hook di ripristino…",
|
||||
"service_added": "Il servizio '{service:s}' è stato aggiunto",
|
||||
"service_already_started": "Il servizio '{service:s}' è già avviato",
|
||||
"service_already_stopped": "Il servizio '{service:s}' è già stato fermato",
|
||||
"service_disable_failed": "Impossibile disabilitare l'avvio al boot del servizio '{service:s}'\n\nRegistri di servizio recenti:{logs:s}",
|
||||
"service_enable_failed": "Impossibile eseguire il servizio '{service:s}' al boot di sistema.\n\nRegistri di servizio recenti:{logs:s}",
|
||||
"service_enabled": "Il servizio '{service:s}' si avvierà automaticamente al boot di sistema.",
|
||||
"service_start_failed": "Impossibile eseguire il servizio '{service:s}'\n\nRegistri di servizio recenti:{logs:s}",
|
||||
"service_started": "Servizio '{service:s}' avviato",
|
||||
"service_stopped": "Servizio '{service:s}' fermato",
|
||||
"service_unknown": "Servizio '{service:s}' sconosciuto",
|
||||
"service_added": "Il servizio '{service}' è stato aggiunto",
|
||||
"service_already_started": "Il servizio '{service}' è già avviato",
|
||||
"service_already_stopped": "Il servizio '{service}' è già stato fermato",
|
||||
"service_disable_failed": "Impossibile disabilitare l'avvio al boot del servizio '{service}'\n\nRegistri di servizio recenti:{logs}",
|
||||
"service_enable_failed": "Impossibile eseguire il servizio '{service}' al boot di sistema.\n\nRegistri di servizio recenti:{logs}",
|
||||
"service_enabled": "Il servizio '{service}' si avvierà automaticamente al boot di sistema.",
|
||||
"service_start_failed": "Impossibile eseguire il servizio '{service}'\n\nRegistri di servizio recenti:{logs}",
|
||||
"service_started": "Servizio '{service}' avviato",
|
||||
"service_stopped": "Servizio '{service}' fermato",
|
||||
"service_unknown": "Servizio '{service}' sconosciuto",
|
||||
"ssowat_conf_generated": "La configurazione SSOwat rigenerata",
|
||||
"ssowat_conf_updated": "Configurazione SSOwat aggiornata",
|
||||
"system_upgraded": "Sistema aggiornato",
|
||||
"unbackup_app": "{app:s} non verrà salvata",
|
||||
"unbackup_app": "{app} non verrà salvata",
|
||||
"unexpected_error": "È successo qualcosa di inatteso: {error}",
|
||||
"unlimit": "Nessuna quota",
|
||||
"updating_apt_cache": "Recupero degli aggiornamenti disponibili per i pacchetti di sistema...",
|
||||
|
@ -147,54 +144,54 @@
|
|||
"user_creation_failed": "Impossibile creare l'utente {user}: {error}",
|
||||
"user_deletion_failed": "Impossibile cancellare l'utente {user}: {error}",
|
||||
"user_home_creation_failed": "Impossibile creare la 'home' directory del utente",
|
||||
"user_unknown": "Utente sconosciuto: {user:s}",
|
||||
"user_unknown": "Utente sconosciuto: {user}",
|
||||
"user_updated": "Info dell'utente cambiate",
|
||||
"yunohost_already_installed": "YunoHost è già installato",
|
||||
"yunohost_configured": "YunoHost ora è configurato",
|
||||
"yunohost_installing": "Installazione di YunoHost...",
|
||||
"yunohost_not_installed": "YunoHost non è correttamente installato. Esegui 'yunohost tools postinstall'",
|
||||
"domain_cert_gen_failed": "Impossibile generare il certificato",
|
||||
"certmanager_attempt_to_replace_valid_cert": "Stai provando a sovrascrivere un certificato buono e valido per il dominio {domain:s}! (Usa --force per ignorare)",
|
||||
"certmanager_domain_cert_not_selfsigned": "Il certificato per il dominio {domain:s} non è auto-firmato. Sei sicuro di volere sostituirlo? (Usa '--force')",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "Il tentativo di usare il nuovo certificato per {domain:s} non funziona...",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "Il certificato per il dominio {domain:s} non è emesso da Let's Encrypt. Impossibile rinnovarlo automaticamente!",
|
||||
"certmanager_attempt_to_renew_valid_cert": "Il certificato per il dominio {domain:s} non è in scadenza! (Puoi usare --force per forzare se sai quel che stai facendo)",
|
||||
"certmanager_domain_http_not_working": "Il dominio {domain:s} non sembra accessibile attraverso HTTP. Verifica nella sezione 'Web' nella diagnosi per maggiori informazioni. (Se sai cosa stai facendo, usa '--no-checks' per disattivare i controlli.)",
|
||||
"certmanager_attempt_to_replace_valid_cert": "Stai provando a sovrascrivere un certificato buono e valido per il dominio {domain}! (Usa --force per ignorare)",
|
||||
"certmanager_domain_cert_not_selfsigned": "Il certificato per il dominio {domain} non è auto-firmato. Sei sicuro di volere sostituirlo? (Usa '--force')",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "Il tentativo di usare il nuovo certificato per {domain} non funziona...",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "Il certificato per il dominio {domain} non è emesso da Let's Encrypt. Impossibile rinnovarlo automaticamente!",
|
||||
"certmanager_attempt_to_renew_valid_cert": "Il certificato per il dominio {domain} non è in scadenza! (Puoi usare --force per forzare se sai quel che stai facendo)",
|
||||
"certmanager_domain_http_not_working": "Il dominio {domain} non sembra accessibile attraverso HTTP. Verifica nella sezione 'Web' nella diagnosi per maggiori informazioni. (Se sai cosa stai facendo, usa '--no-checks' per disattivare i controlli.)",
|
||||
"app_already_installed_cant_change_url": "Questa applicazione è già installata. L'URL non può essere cambiato solo da questa funzione. Controlla se `app changeurl` è disponibile.",
|
||||
"app_already_up_to_date": "{app:s} è già aggiornata",
|
||||
"app_change_url_failed_nginx_reload": "Non riesco a riavviare NGINX. Questo è il risultato di 'nginx -t':\n{nginx_errors:s}",
|
||||
"app_change_url_identical_domains": "Il vecchio ed il nuovo dominio/percorso_url sono identici ('{domain:s}{path:s}'), nessuna operazione necessaria.",
|
||||
"app_change_url_no_script": "L'applicazione '{app_name:s}' non supporta ancora la modifica dell'URL. Forse dovresti aggiornarla.",
|
||||
"app_change_url_success": "L'URL dell'applicazione {app:s} è stato cambiato in {domain:s}{path:s}",
|
||||
"app_already_up_to_date": "{app} è già aggiornata",
|
||||
"app_change_url_failed_nginx_reload": "Non riesco a riavviare NGINX. Questo è il risultato di 'nginx -t':\n{nginx_errors}",
|
||||
"app_change_url_identical_domains": "Il vecchio ed il nuovo dominio/percorso_url sono identici ('{domain}{path}'), nessuna operazione necessaria.",
|
||||
"app_change_url_no_script": "L'applicazione '{app_name}' non supporta ancora la modifica dell'URL. Forse dovresti aggiornarla.",
|
||||
"app_change_url_success": "L'URL dell'applicazione {app} è stato cambiato in {domain}{path}",
|
||||
"app_make_default_location_already_used": "Impostazione dell'applicazione '{app}' come predefinita del dominio non riuscita perché il dominio '{domain}' è in uso per dall'applicazione '{other_app}'",
|
||||
"app_location_unavailable": "Questo URL non è più disponibile o va in conflitto con la/le applicazione/i già installata/e:\n{apps:s}",
|
||||
"app_location_unavailable": "Questo URL non è più disponibile o va in conflitto con la/le applicazione/i già installata/e:\n{apps}",
|
||||
"app_upgrade_app_name": "Aggiornamento di {app}...",
|
||||
"app_upgrade_some_app_failed": "Alcune applicazioni non possono essere aggiornate",
|
||||
"backup_abstract_method": "Questo metodo di backup deve essere ancora implementato",
|
||||
"backup_applying_method_copy": "Copiando tutti i files nel backup...",
|
||||
"backup_applying_method_custom": "Chiamando il metodo di backup personalizzato '{method:s}'...",
|
||||
"backup_applying_method_custom": "Chiamando il metodo di backup personalizzato '{method}'...",
|
||||
"backup_applying_method_tar": "Creando l'archivio TAR del backup...",
|
||||
"backup_archive_system_part_not_available": "La parte di sistema '{part:s}' non è disponibile in questo backup",
|
||||
"backup_archive_writing_error": "Impossibile aggiungere i file '{source:s}' (indicati nell'archivio '{dest:s}') al backup nell'archivio compresso '{archive:s}'",
|
||||
"backup_ask_for_copying_if_needed": "Vuoi effettuare il backup usando {size:s}MB temporaneamente? (È necessario usare questo sistema poiché alcuni file non possono essere preparati in un modo più efficiente)",
|
||||
"backup_archive_system_part_not_available": "La parte di sistema '{part}' non è disponibile in questo backup",
|
||||
"backup_archive_writing_error": "Impossibile aggiungere i file '{source}' (indicati nell'archivio '{dest}') al backup nell'archivio compresso '{archive}'",
|
||||
"backup_ask_for_copying_if_needed": "Vuoi effettuare il backup usando {size}MB temporaneamente? (È necessario usare questo sistema poiché alcuni file non possono essere preparati in un modo più efficiente)",
|
||||
"backup_cant_mount_uncompress_archive": "Impossibile montare in modalità sola lettura la cartella di archivio non compressa",
|
||||
"backup_copying_to_organize_the_archive": "Copiando {size:s}MB per organizzare l'archivio",
|
||||
"backup_couldnt_bind": "Impossibile legare {src:s} a {dest:s}.",
|
||||
"backup_copying_to_organize_the_archive": "Copiando {size}MB per organizzare l'archivio",
|
||||
"backup_couldnt_bind": "Impossibile legare {src} a {dest}.",
|
||||
"backup_csv_addition_failed": "Impossibile aggiungere file del backup nel file CSV",
|
||||
"backup_csv_creation_failed": "Impossibile creare il file CVS richiesto per le operazioni di ripristino",
|
||||
"backup_custom_backup_error": "Il metodo di backup personalizzato è fallito allo step 'backup'",
|
||||
"backup_custom_mount_error": "Il metodo di backup personalizzato è fallito allo step 'mount'",
|
||||
"backup_method_copy_finished": "Copia di backup terminata",
|
||||
"backup_method_custom_finished": "Metodo di backup personalizzato '{method:s}' terminato",
|
||||
"backup_method_custom_finished": "Metodo di backup personalizzato '{method}' terminato",
|
||||
"backup_method_tar_finished": "Archivio TAR di backup creato",
|
||||
"backup_no_uncompress_archive_dir": "La cartella di archivio non compressa non esiste",
|
||||
"backup_system_part_failed": "Impossibile creare il backup della parte di sistema '{part:s}'",
|
||||
"backup_system_part_failed": "Impossibile creare il backup della parte di sistema '{part}'",
|
||||
"backup_unable_to_organize_files": "Impossibile organizzare i file nell'archivio con il metodo veloce",
|
||||
"backup_with_no_backup_script_for_app": "L'app {app:s} non ha script di backup. Ignorata.",
|
||||
"backup_with_no_restore_script_for_app": "L'app {app:s} non ha script di ripristino, non sarai in grado di ripristinarla automaticamente dal backup di questa app.",
|
||||
"backup_with_no_backup_script_for_app": "L'app {app} non ha script di backup. Ignorata.",
|
||||
"backup_with_no_restore_script_for_app": "L'app {app} non ha script di ripristino, non sarai in grado di ripristinarla automaticamente dal backup di questa app.",
|
||||
"certmanager_acme_not_configured_for_domain": "La challenge ACME non può validare il {domain} perché la relativa configurazione di nginx è mancante... Assicurati che la tua configurazione di nginx sia aggiornata con il comando `yunohost tools regen-conf nginx --dry-run --with-diff`.",
|
||||
"certmanager_cannot_read_cert": "Qualcosa è andato storto nel tentativo di aprire il certificato attuale per il dominio {domain:s} (file: {file:s}), motivo: {reason:s}",
|
||||
"certmanager_cert_install_success": "Certificato Let's Encrypt per il dominio {domain:s} installato",
|
||||
"certmanager_cannot_read_cert": "Qualcosa è andato storto nel tentativo di aprire il certificato attuale per il dominio {domain} (file: {file}), motivo: {reason}",
|
||||
"certmanager_cert_install_success": "Certificato Let's Encrypt per il dominio {domain} installato",
|
||||
"aborting": "Annullamento.",
|
||||
"admin_password_too_long": "Per favore scegli una password più corta di 127 caratteri",
|
||||
"app_not_upgraded": "Impossibile aggiornare le applicazioni '{failed_app}' e di conseguenza l'aggiornamento delle seguenti applicazione è stato cancellato: {apps}",
|
||||
|
@ -207,8 +204,8 @@
|
|||
"ask_new_path": "Nuovo percorso",
|
||||
"backup_actually_backuping": "Creazione di un archivio di backup con i file raccolti...",
|
||||
"backup_mount_archive_for_restore": "Preparazione dell'archivio per il ripristino…",
|
||||
"certmanager_cert_install_success_selfsigned": "Certificato autofirmato installato con successo per il dominio {domain:s}",
|
||||
"certmanager_cert_renew_success": "Certificato di Let's Encrypt rinnovato con successo per il dominio {domain:s}",
|
||||
"certmanager_cert_install_success_selfsigned": "Certificato autofirmato installato con successo per il dominio {domain}",
|
||||
"certmanager_cert_renew_success": "Certificato di Let's Encrypt rinnovato con successo per il dominio {domain}",
|
||||
"certmanager_cert_signing_failed": "Impossibile firmare il nuovo certificato",
|
||||
"good_practices_about_user_password": "Ora stai per impostare una nuova password utente. La password dovrebbe essere di almeno 8 caratteri - anche se è buona pratica utilizzare password più lunghe (es. una sequenza di parole) e/o utilizzare vari tipi di caratteri (maiuscole, minuscole, numeri e simboli).",
|
||||
"password_listed": "Questa password è una tra le più utilizzate al mondo. Per favore scegline una più unica.",
|
||||
|
@ -217,38 +214,38 @@
|
|||
"password_too_simple_3": "La password deve essere lunga almeno 8 caratteri e contenere numeri, maiuscole e minuscole e simboli",
|
||||
"password_too_simple_4": "La password deve essere lunga almeno 12 caratteri e contenere numeri, maiuscole e minuscole",
|
||||
"app_action_cannot_be_ran_because_required_services_down": "I seguenti servizi dovrebbero essere in funzione per completare questa azione: {services}. Prova a riavviarli per proseguire (e possibilmente cercare di capire come ma non funzionano più).",
|
||||
"backup_output_symlink_dir_broken": "La tua cartella d'archivio '{path:s}' è un link simbolico interrotto. Probabilmente hai dimenticato di montare o montare nuovamente il supporto al quale punta il link.",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "I record DNS per il dominio '{domain:s}' è diverso dall'IP di questo server. Controlla la sezione (basic) 'Record DNS' nella diagnosi per maggiori informazioni. Se hai modificato recentemente il tuo valore A, attendi che si propaghi (esistono online alcuni siti per il controllo della propagazione DNS). (Se sai cosa stai facendo, usa '--no-checks' per disattivare i controlli.)",
|
||||
"certmanager_hit_rate_limit": "Troppi certificati già rilasciati per questa esatta serie di domini {domain:s} recentemente. Per favore riprova più tardi. Guarda https://letsencrypt.org/docs/rate-limits/ per maggiori dettagli",
|
||||
"certmanager_no_cert_file": "Impossibile leggere il file di certificato per il dominio {domain:s} (file: {file:s})",
|
||||
"certmanager_self_ca_conf_file_not_found": "File di configurazione non trovato per l'autorità di auto-firma (file: {file:s})",
|
||||
"certmanager_unable_to_parse_self_CA_name": "Impossibile analizzare il nome dell'autorità di auto-firma (file: {file:s})",
|
||||
"confirm_app_install_warning": "Attenzione: Questa applicazione potrebbe funzionare, ma non è ben integrata in YunoHost. Alcune funzionalità come il single sign-on e il backup/ripristino potrebbero non essere disponibili. Installare comunque? [{answers:s}] ",
|
||||
"confirm_app_install_danger": "ATTENZIONE! Questa applicazione è ancora sperimentale (se non esplicitamente dichiarata non funzionante)! Probabilmente NON dovresti installarla a meno che tu non sappia cosa stai facendo. NESSUN SUPPORTO verrà dato se quest'app non funziona o se rompe il tuo sistema... Se comunque accetti di prenderti questo rischio,digita '{answers:s}'",
|
||||
"confirm_app_install_thirdparty": "PERICOLO! Quest'applicazione non fa parte del catalogo YunoHost. Installando app di terze parti potresti compromettere l'integrita e la sicurezza del tuo sistema. Probabilmente NON dovresti installarla a meno che tu non sappia cosa stai facendo. NESSUN SUPPORTO verrà dato se quest'app non funziona o se rompe il tuo sistema... Se comunque accetti di prenderti questo rischio, digita '{answers:s}'",
|
||||
"backup_output_symlink_dir_broken": "La tua cartella d'archivio '{path}' è un link simbolico interrotto. Probabilmente hai dimenticato di montare o montare nuovamente il supporto al quale punta il link.",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "I record DNS per il dominio '{domain}' è diverso dall'IP di questo server. Controlla la sezione (basic) 'Record DNS' nella diagnosi per maggiori informazioni. Se hai modificato recentemente il tuo valore A, attendi che si propaghi (esistono online alcuni siti per il controllo della propagazione DNS). (Se sai cosa stai facendo, usa '--no-checks' per disattivare i controlli.)",
|
||||
"certmanager_hit_rate_limit": "Troppi certificati già rilasciati per questa esatta serie di domini {domain} recentemente. Per favore riprova più tardi. Guarda https://letsencrypt.org/docs/rate-limits/ per maggiori dettagli",
|
||||
"certmanager_no_cert_file": "Impossibile leggere il file di certificato per il dominio {domain} (file: {file})",
|
||||
"certmanager_self_ca_conf_file_not_found": "File di configurazione non trovato per l'autorità di auto-firma (file: {file})",
|
||||
"certmanager_unable_to_parse_self_CA_name": "Impossibile analizzare il nome dell'autorità di auto-firma (file: {file})",
|
||||
"confirm_app_install_warning": "Attenzione: Questa applicazione potrebbe funzionare, ma non è ben integrata in YunoHost. Alcune funzionalità come il single sign-on e il backup/ripristino potrebbero non essere disponibili. Installare comunque? [{answers}] ",
|
||||
"confirm_app_install_danger": "ATTENZIONE! Questa applicazione è ancora sperimentale (se non esplicitamente dichiarata non funzionante)! Probabilmente NON dovresti installarla a meno che tu non sappia cosa stai facendo. NESSUN SUPPORTO verrà dato se quest'app non funziona o se rompe il tuo sistema... Se comunque accetti di prenderti questo rischio,digita '{answers}'",
|
||||
"confirm_app_install_thirdparty": "PERICOLO! Quest'applicazione non fa parte del catalogo YunoHost. Installando app di terze parti potresti compromettere l'integrita e la sicurezza del tuo sistema. Probabilmente NON dovresti installarla a meno che tu non sappia cosa stai facendo. NESSUN SUPPORTO verrà dato se quest'app non funziona o se rompe il tuo sistema... Se comunque accetti di prenderti questo rischio, digita '{answers}'",
|
||||
"dpkg_is_broken": "Non puoi eseguire questo ora perchè dpkg/APT (i gestori di pacchetti del sistema) sembrano essere in stato danneggiato... Puoi provare a risolvere il problema connettendoti via SSH ed eseguire `sudo apt install --fix-broken` e/o `sudo dpkg --configure -a`.",
|
||||
"domain_cannot_remove_main": "Non puoi rimuovere '{domain:s}' essendo il dominio principale, prima devi impostare un nuovo dominio principale con il comando 'yunohost domain main-domain -n <altro-dominio>'; ecco la lista dei domini candidati: {other_domains:s}",
|
||||
"domain_cannot_remove_main": "Non puoi rimuovere '{domain}' essendo il dominio principale, prima devi impostare un nuovo dominio principale con il comando 'yunohost domain main-domain -n <altro-dominio>'; ecco la lista dei domini candidati: {other_domains}",
|
||||
"domain_dns_conf_is_just_a_recommendation": "Questo comando ti mostra la configurazione *raccomandata*. Non ti imposta la configurazione DNS al tuo posto. È tua responsabilità configurare la tua zona DNS nel tuo registrar in accordo con queste raccomandazioni.",
|
||||
"dyndns_could_not_check_provide": "Impossibile controllare se {provider:s} possano fornire {domain:s}.",
|
||||
"dyndns_could_not_check_available": "Impossibile controllare se {domain:s} è disponibile su {provider:s}.",
|
||||
"dyndns_domain_not_provided": "Il fornitore DynDNS {provider:s} non può fornire il dominio {domain:s}.",
|
||||
"dyndns_could_not_check_provide": "Impossibile controllare se {provider} possano fornire {domain}.",
|
||||
"dyndns_could_not_check_available": "Impossibile controllare se {domain} è disponibile su {provider}.",
|
||||
"dyndns_domain_not_provided": "Il fornitore DynDNS {provider} non può fornire il dominio {domain}.",
|
||||
"experimental_feature": "Attenzione: Questa funzionalità è sperimentale e non è considerata stabile, non dovresti utilizzarla a meno che tu non sappia cosa stai facendo.",
|
||||
"file_does_not_exist": "Il file {path:s} non esiste.",
|
||||
"global_settings_bad_choice_for_enum": "Scelta sbagliata per l'impostazione {setting:s}, ricevuta '{choice:s}', ma le scelte disponibili sono: {available_choices:s}",
|
||||
"global_settings_bad_type_for_setting": "Tipo errato per l'impostazione {setting:s}, ricevuto {received_type:s}, atteso {expected_type:s}",
|
||||
"global_settings_cant_open_settings": "Apertura del file delle impostazioni non riuscita, motivo: {reason:s}",
|
||||
"global_settings_cant_serialize_settings": "Serializzazione dei dati delle impostazioni non riuscita, motivo: {reason:s}",
|
||||
"global_settings_cant_write_settings": "Scrittura del file delle impostazioni non riuscita, motivo: {reason:s}",
|
||||
"global_settings_key_doesnt_exists": "La chiave '{settings_key:s}' non esiste nelle impostazioni globali, puoi vedere tutte le chiavi disponibili eseguendo 'yunohost settings list'",
|
||||
"global_settings_reset_success": "Le impostazioni precedenti sono state salvate in {path:s}",
|
||||
"file_does_not_exist": "Il file {path} non esiste.",
|
||||
"global_settings_bad_choice_for_enum": "Scelta sbagliata per l'impostazione {setting}, ricevuta '{choice}', ma le scelte disponibili sono: {available_choices}",
|
||||
"global_settings_bad_type_for_setting": "Tipo errato per l'impostazione {setting}, ricevuto {received_type}, atteso {expected_type}",
|
||||
"global_settings_cant_open_settings": "Apertura del file delle impostazioni non riuscita, motivo: {reason}",
|
||||
"global_settings_cant_serialize_settings": "Serializzazione dei dati delle impostazioni non riuscita, motivo: {reason}",
|
||||
"global_settings_cant_write_settings": "Scrittura del file delle impostazioni non riuscita, motivo: {reason}",
|
||||
"global_settings_key_doesnt_exists": "La chiave '{settings_key}' non esiste nelle impostazioni globali, puoi vedere tutte le chiavi disponibili eseguendo 'yunohost settings list'",
|
||||
"global_settings_reset_success": "Le impostazioni precedenti sono state salvate in {path}",
|
||||
"already_up_to_date": "Niente da fare. Tutto è già aggiornato.",
|
||||
"global_settings_setting_security_nginx_compatibility": "Bilanciamento tra compatibilità e sicurezza per il server web NGIX. Riguarda gli algoritmi di cifratura (e altri aspetti legati alla sicurezza)",
|
||||
"global_settings_setting_security_password_admin_strength": "Complessità della password di amministratore",
|
||||
"global_settings_setting_security_password_user_strength": "Complessità della password utente",
|
||||
"global_settings_setting_security_ssh_compatibility": "Bilanciamento tra compatibilità e sicurezza per il server SSH. Riguarda gli algoritmi di cifratura (e altri aspetti legati alla sicurezza)",
|
||||
"global_settings_unknown_setting_from_settings_file": "Chiave sconosciuta nelle impostazioni: '{setting_key:s}', scartata e salvata in /etc/yunohost/settings-unknown.json",
|
||||
"global_settings_unknown_setting_from_settings_file": "Chiave sconosciuta nelle impostazioni: '{setting_key}', scartata e salvata in /etc/yunohost/settings-unknown.json",
|
||||
"global_settings_setting_service_ssh_allow_deprecated_dsa_hostkey": "Consenti l'uso del hostkey DSA (deprecato) per la configurazione del demone SSH",
|
||||
"global_settings_unknown_type": "Situazione inaspettata, l'impostazione {setting:s} sembra essere di tipo {unknown_type:s} ma non è un tipo supportato dal sistema.",
|
||||
"global_settings_unknown_type": "Situazione inaspettata, l'impostazione {setting} sembra essere di tipo {unknown_type} ma non è un tipo supportato dal sistema.",
|
||||
"good_practices_about_admin_password": "Stai per impostare una nuova password di amministratore. La password deve essere almeno di 8 caratteri - anche se è buona pratica utilizzare password più lunghe (es. una frase, una serie di parole) e/o utilizzare vari tipi di caratteri (maiuscole, minuscole, numeri e simboli).",
|
||||
"log_corrupted_md_file": "Il file dei metadati YAML associato con i registri è danneggiato: '{md_file}'\nErrore: {error}",
|
||||
"log_link_to_log": "Registro completo di questa operazione: '<a href=\"#/tools/logs/{name}\" style=\"text-decoration:underline\">{desc}</a>'",
|
||||
|
@ -302,7 +299,7 @@
|
|||
"backup_archive_cant_retrieve_info_json": "Impossibile caricare informazione per l'archivio '{archive}'... Impossibile scaricare info.json (oppure non è un json valido).",
|
||||
"app_packaging_format_not_supported": "Quest'applicazione non può essere installata perché il formato non è supportato dalla vostra versione di YunoHost. Dovreste considerare di aggiornare il vostro sistema.",
|
||||
"certmanager_domain_not_diagnosed_yet": "Non c'è ancora alcun risultato di diagnosi per il dominio {domain}. Riavvia una diagnosi per la categoria 'DNS records' e 'Web' nella sezione di diagnosi per verificare se il dominio è pronto per Let's Encrypt. (Se sai cosa stai facendo, usa '--no-checks' per disattivare i controlli.)",
|
||||
"backup_permission": "Backup dei permessi per {app:s}",
|
||||
"backup_permission": "Backup dei permessi per {app}",
|
||||
"ask_user_domain": "Dominio da usare per l'indirizzo email e l'account XMPP dell'utente",
|
||||
"app_manifest_install_ask_is_public": "Quest'applicazione dovrà essere visibile ai visitatori anonimi?",
|
||||
"app_manifest_install_ask_admin": "Scegli un utente amministratore per quest'applicazione",
|
||||
|
@ -310,16 +307,16 @@
|
|||
"app_manifest_install_ask_path": "Scegli il percorso dove installare quest'applicazione",
|
||||
"app_manifest_install_ask_domain": "Scegli il dominio dove installare quest'app",
|
||||
"app_argument_password_no_default": "Errore durante il parsing dell'argomento '{name}': l'argomento password non può avere un valore di default per ragioni di sicurezza",
|
||||
"additional_urls_already_added": "L'URL aggiuntivo '{url:s}' è già utilizzato come URL aggiuntivo per il permesso '{permission:s}'",
|
||||
"additional_urls_already_added": "L'URL aggiuntivo '{url}' è già utilizzato come URL aggiuntivo per il permesso '{permission}'",
|
||||
"diagnosis_basesystem_ynh_inconsistent_versions": "Stai eseguendo versioni incompatibili dei pacchetti YunoHost... probabilmente a causa di aggiornamenti falliti o parziali.",
|
||||
"diagnosis_basesystem_ynh_main_version": "Il server sta eseguendo YunoHost {main_version} ({repo})",
|
||||
"diagnosis_basesystem_ynh_single_version": "Versione {package}: {version} ({repo})",
|
||||
"diagnosis_basesystem_kernel": "Il server sta eseguendo Linux kernel {kernel_version}",
|
||||
"diagnosis_basesystem_host": "Il server sta eseguendo Debian {debian_version}",
|
||||
"diagnosis_basesystem_hardware": "L'architettura hardware del server è {virt} {arch}",
|
||||
"certmanager_warning_subdomain_dns_record": "Il sottodominio '{subdomain:s}' non si risolve nello stesso indirizzo IP di '{domain:s}'. Alcune funzioni non saranno disponibili finchè questa cosa non verrà sistemata e rigenerato il certificato.",
|
||||
"certmanager_warning_subdomain_dns_record": "Il sottodominio '{subdomain}' non si risolve nello stesso indirizzo IP di '{domain}'. Alcune funzioni non saranno disponibili finchè questa cosa non verrà sistemata e rigenerato il certificato.",
|
||||
"app_label_deprecated": "Questo comando è deprecato! Utilizza il nuovo comando 'yunohost user permission update' per gestire la label dell'app.",
|
||||
"additional_urls_already_removed": "L'URL aggiuntivo '{url:s}' è già stato rimosso come URL aggiuntivo per il permesso '{permission:s}'",
|
||||
"additional_urls_already_removed": "L'URL aggiuntivo '{url}' è già stato rimosso come URL aggiuntivo per il permesso '{permission}'",
|
||||
"diagnosis_services_bad_status_tip": "Puoi provare a <a href='#/services/{service}'>riavviare il servizio</a>, e se non funziona, controlla ai <a href='#/services/{service}'>log del servizio in amministrazione</a> (dalla linea di comando, puoi farlo con <cmd>yunohost service restart {service}</cmd> e <cmd>yunohost service log {service}</cmd>).",
|
||||
"diagnosis_services_bad_status": "Il servizio {service} è {status} :(",
|
||||
"diagnosis_services_conf_broken": "Il servizio {service} è mal-configurato!",
|
||||
|
@ -367,7 +364,7 @@
|
|||
"diagnosis_mail_ehlo_unreachable_details": "Impossibile aprire una connessione sulla porta 25 sul tuo server su IPv{ipversion}. Sembra irraggiungibile.<br>1. La causa più probabile di questo problema è la porta 25 <a href='https://yunohost.org/isp_box_config'>non correttamente inoltrata al tuo server</a>.<br>2. Dovresti esser sicuro che il servizio postfix sia attivo.<br>3. Su setup complessi: assicuratu che nessun firewall o reverse-proxy stia interferendo.",
|
||||
"diagnosis_mail_ehlo_unreachable": "Il server SMTP non è raggiungibile dall'esterno su IPv{ipversion}. Non potrà ricevere email.",
|
||||
"diagnosis_mail_ehlo_ok": "Il server SMTP è raggiungibile dall'esterno e quindi può ricevere email!",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_relay_vpn": "Alcuni provider non ti permettono di aprire la porta 25 in uscita perché non gli importa della Net Neutrality.<br> - Alcuni mettono a disposizione un alternativa <a href='https://yunohost.org/#/smtp_relay'>attraverso un mail server relay</a> anche se implica che il relay ha la capacità di leggere il vostro traffico email.<br> - Un alternativa privacy-friendly è quella di usare una VPN *con un indirizzo IP pubblico dedicato* per bypassare questo tipo di limite. Vedi <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br> - Puoi anche prendere in considerazione di cambiare <a href='https://yunohost.org/#/isp'>per un provider pro Net Neutrality</a>",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_relay_vpn": "Alcuni provider non ti permettono di aprire la porta 25 in uscita perché non gli importa della Net Neutrality.<br> - Alcuni mettono a disposizione un alternativa <a href='https://yunohost.org/#/email_configure_relay'>attraverso un mail server relay</a> anche se implica che il relay ha la capacità di leggere il vostro traffico email.<br> - Un alternativa privacy-friendly è quella di usare una VPN *con un indirizzo IP pubblico dedicato* per bypassare questo tipo di limite. Vedi <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br> - Puoi anche prendere in considerazione di cambiare <a href='https://yunohost.org/#/isp'>per un provider pro Net Neutrality</a>",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_details": "Come prima cosa dovresti sbloccare la porta 25 in uscita dall'interfaccia del tuo router internet o del tuo hosting provider. (Alcuni hosting provider potrebbero richiedere l'invio di un ticket di supporto per la richiesta).",
|
||||
"diagnosis_mail_outgoing_port_25_blocked": "Il server SMTP non può inviare email ad altri server perché la porta 25 è bloccata in uscita su IPv{ipversion}.",
|
||||
"diagnosis_mail_outgoing_port_25_ok": "Il server SMTP è abile all'invio delle email (porta 25 in uscita non bloccata).",
|
||||
|
@ -388,7 +385,7 @@
|
|||
"diagnosis_mail_ehlo_could_not_diagnose": "Non è possibile verificare se il server mail postfix è raggiungibile dall'esterno su IPv{ipversion}.",
|
||||
"diagnosis_mail_ehlo_wrong": "Un server mail SMTP diverso sta rispondendo su IPv{ipversion}. Probabilmente il tuo server non può ricevere email.",
|
||||
"diagnosis_mail_ehlo_bad_answer_details": "Potrebbe essere un'altra macchina a rispondere al posto del tuo server.",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_4": "Alcuni provider non ti permettono di configurare un DNS inverso (o la loro configurazione non funziona...). Se stai avendo problemi a causa di ciò, considera le seguenti soluzioni:<br> - Alcuni ISP mettono a disposizione un alternativa <a href='https://yunohost.org/#/smtp_relay'>attraverso un mail server relay</a> anche se implica che il relay ha la capacità di leggere il vostro traffico email.<br> - Un alternativa privacy-friendly è quella di usare una VPN *con un indirizzo IP pubblico dedicato* per bypassare questo tipo di limite. Vedi <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br> - Puoi anche prendere in considerazione di cambiare <a href='https://yunohost.org/#/isp'>internet provider</a>",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_4": "Alcuni provider non ti permettono di configurare un DNS inverso (o la loro configurazione non funziona...). Se stai avendo problemi a causa di ciò, considera le seguenti soluzioni:<br> - Alcuni ISP mettono a disposizione un alternativa <a href='https://yunohost.org/#/email_configure_relay'>attraverso un mail server relay</a> anche se implica che il relay ha la capacità di leggere il vostro traffico email.<br> - Un alternativa privacy-friendly è quella di usare una VPN *con un indirizzo IP pubblico dedicato* per bypassare questo tipo di limite. Vedi <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br> - Puoi anche prendere in considerazione di cambiare <a href='https://yunohost.org/#/isp'>internet provider</a>",
|
||||
"diagnosis_mail_ehlo_wrong_details": "L'EHLO ricevuto dalla diagnostica remota su IPv{ipversion} è differente dal dominio del tuo server.<br>EHLO ricevuto: <code>{wrong_ehlo}</code><br>EHLO atteso: <code>{right_ehlo}</code><br>La causa più comune di questo problema è la porta 25 <a href='https://yunohost.org/isp_box_config'>non correttamente inoltrata al tuo server</a>. Oppure assicurati che nessun firewall o reverse-proxy stia interferendo.",
|
||||
"diagnosis_mail_blacklist_ok": "Gli IP e i domini utilizzati da questo server non sembrano essere nelle blacklist",
|
||||
"diagnosis_mail_fcrdns_different_from_ehlo_domain_details": "DNS invero corrente: <code>{rdns_domain}</code><br>Valore atteso: <code>{ehlo_domain}</code>",
|
||||
|
@ -410,12 +407,12 @@
|
|||
"tools_upgrade_at_least_one": "Specifica 'apps', o 'system'",
|
||||
"show_tile_cant_be_enabled_for_regex": "Non puoi abilitare 'show_tile' in questo momento, perché l'URL del permesso '{permission}' è una regex",
|
||||
"show_tile_cant_be_enabled_for_url_not_defined": "Non puoi abilitare 'show_tile' in questo momento, devi prima definire un URL per il permesso '{permission}'",
|
||||
"service_reloaded_or_restarted": "Il servizio '{service:s}' è stato ricaricato o riavviato",
|
||||
"service_reload_or_restart_failed": "Impossibile ricaricare o riavviare il servizio '{service:s}'\n\nUltimi registri del servizio: {logs:s}",
|
||||
"service_restarted": "Servizio '{service:s}' riavviato",
|
||||
"service_restart_failed": "Impossibile riavviare il servizio '{service:s}'\n\nUltimi registri del servizio: {logs:s}",
|
||||
"service_reloaded": "Servizio '{service:s}' ricaricato",
|
||||
"service_reload_failed": "Impossibile ricaricare il servizio '{service:s}'\n\nUltimi registri del servizio: {logs:s}",
|
||||
"service_reloaded_or_restarted": "Il servizio '{service}' è stato ricaricato o riavviato",
|
||||
"service_reload_or_restart_failed": "Impossibile ricaricare o riavviare il servizio '{service}'\n\nUltimi registri del servizio: {logs}",
|
||||
"service_restarted": "Servizio '{service}' riavviato",
|
||||
"service_restart_failed": "Impossibile riavviare il servizio '{service}'\n\nUltimi registri del servizio: {logs}",
|
||||
"service_reloaded": "Servizio '{service}' ricaricato",
|
||||
"service_reload_failed": "Impossibile ricaricare il servizio '{service}'\n\nUltimi registri del servizio: {logs}",
|
||||
"service_regen_conf_is_deprecated": "'yunohost service regen-conf' è obsoleto! Per favore usa 'yunohost tools regen-conf' al suo posto.",
|
||||
"service_description_yunohost-firewall": "Gestisce l'apertura e la chiusura delle porte ai servizi",
|
||||
"service_description_yunohost-api": "Gestisce l'interazione tra l'interfaccia web YunoHost ed il sistema",
|
||||
|
@ -431,14 +428,13 @@
|
|||
"service_description_fail2ban": "Ti protegge dal brute-force e altri tipi di attacchi da Internet",
|
||||
"service_description_dovecot": "Consente ai client mail di accedere/recuperare le email (via IMAP e POP3)",
|
||||
"service_description_dnsmasq": "Gestisce la risoluzione dei domini (DNS)",
|
||||
"service_description_avahi-daemon": "Consente di raggiungere il tuo server eseguendo 'yunohost.local' sulla tua LAN",
|
||||
"server_reboot_confirm": "Il server si riavvierà immediatamente, sei sicuro? [{answers:s}]",
|
||||
"server_reboot_confirm": "Il server si riavvierà immediatamente, sei sicuro? [{answers}]",
|
||||
"server_reboot": "Il server si riavvierà",
|
||||
"server_shutdown_confirm": "Il server si spegnerà immediatamente, sei sicuro? [{answers:s}]",
|
||||
"server_shutdown_confirm": "Il server si spegnerà immediatamente, sei sicuro? [{answers}]",
|
||||
"server_shutdown": "Il server si spegnerà",
|
||||
"root_password_replaced_by_admin_password": "La tua password di root è stata sostituita dalla tua password d'amministratore.",
|
||||
"root_password_desynchronized": "La password d'amministratore è stata cambiata, ma YunoHost non ha potuto propagarla alla password di root!",
|
||||
"restore_system_part_failed": "Impossibile ripristinare la sezione di sistema '{part:s}'",
|
||||
"restore_system_part_failed": "Impossibile ripristinare la sezione di sistema '{part}'",
|
||||
"restore_removing_tmp_dir_failed": "Impossibile rimuovere una vecchia directory temporanea",
|
||||
"restore_not_enough_disk_space": "Spazio libero insufficiente (spazio: {free_space:d}B, necessario: {needed_space:d}B, margine di sicurezza: {margin:d}B)",
|
||||
"restore_may_be_not_enough_disk_space": "Il tuo sistema non sembra avere abbastanza spazio (libero: {free_space:d}B, necessario: {needed_space:d}B, margine di sicurezza: {margin:d}B)",
|
||||
|
@ -464,14 +460,14 @@
|
|||
"regenconf_file_backed_up": "File di configurazione '{conf}' salvato in '{backup}'",
|
||||
"permission_require_account": "Il permesso {permission} ha senso solo per gli utenti con un account, quindi non può essere attivato per i visitatori.",
|
||||
"permission_protected": "Il permesso {permission} è protetto. Non puoi aggiungere o rimuovere il gruppo visitatori dal permesso.",
|
||||
"permission_updated": "Permesso '{permission:s}' aggiornato",
|
||||
"permission_updated": "Permesso '{permission}' aggiornato",
|
||||
"permission_update_failed": "Impossibile aggiornare il permesso '{permission}': {error}",
|
||||
"permission_not_found": "Permesso '{permission:s}' non trovato",
|
||||
"permission_not_found": "Permesso '{permission}' non trovato",
|
||||
"permission_deletion_failed": "Impossibile cancellare il permesso '{permission}': {error}",
|
||||
"permission_deleted": "Permesso '{permission:s}' cancellato",
|
||||
"permission_deleted": "Permesso '{permission}' cancellato",
|
||||
"permission_currently_allowed_for_all_users": "Il permesso è attualmente garantito a tutti gli utenti oltre gli altri gruppi. Probabilmente vuoi o rimuovere il permesso 'all_user' o rimuovere gli altri gruppi per cui è garantito attualmente.",
|
||||
"permission_creation_failed": "Impossibile creare i permesso '{permission}': {error}",
|
||||
"permission_created": "Permesso '{permission:s}' creato",
|
||||
"permission_created": "Permesso '{permission}' creato",
|
||||
"permission_cannot_remove_main": "Non è possibile rimuovere un permesso principale",
|
||||
"permission_already_up_to_date": "Il permesso non è stato aggiornato perché la richiesta di aggiunta/rimozione è già coerente con lo stato attuale.",
|
||||
"permission_already_exist": "Permesso '{permission}' esiste già",
|
||||
|
@ -500,10 +496,6 @@
|
|||
"migrations_cant_reach_migration_file": "Impossibile accedere ai file di migrazione nel path '%s'",
|
||||
"migrations_already_ran": "Migrazioni già effettuate: {ids}",
|
||||
"migration_0019_slapd_config_will_be_overwritten": "Sembra che tu abbia modificato manualmente la configurazione slapd. Per questa importante migrazione, YunoHost deve forzare l'aggiornamento della configurazione slapd. I file originali verranno back-uppati in {conf_backup_folder}.",
|
||||
"migration_0019_rollback_success": "Sistema ripristinato.",
|
||||
"migration_0019_migration_failed_trying_to_rollback": "Impossibile migrare... sto cercando di ripristinare il sistema.",
|
||||
"migration_0019_can_not_backup_before_migration": "Il backup del sistema non è stato completato prima della migrazione. Errore: {error:s}",
|
||||
"migration_0019_backup_before_migration": "Creando un backup del database LDAP e delle impostazioni delle app prima dell'effettiva migrazione.",
|
||||
"migration_0019_add_new_attributes_in_ldap": "Aggiungi nuovi attributi ai permessi nel database LDAP",
|
||||
"migration_0018_failed_to_reset_legacy_rules": "Impossibile resettare le regole iptables legacy: {error}",
|
||||
"migration_0018_failed_to_migrate_iptables_rules": "Migrazione fallita delle iptables legacy a nftables: {error}",
|
||||
|
@ -530,7 +522,7 @@
|
|||
"migration_description_0016_php70_to_php73_pools": "MIgra i file di configurazione 'pool' di php7.0-fpm su php7.3",
|
||||
"migration_description_0015_migrate_to_buster": "Aggiorna il sistema a Debian Buster e YunoHost 4.X",
|
||||
"migrating_legacy_permission_settings": "Impostando le impostazioni legacy dei permessi..",
|
||||
"mailbox_disabled": "E-mail disabilitate per l'utente {user:s}",
|
||||
"mailbox_disabled": "E-mail disabilitate per l'utente {user}",
|
||||
"log_user_permission_reset": "Resetta il permesso '{}'",
|
||||
"log_user_permission_update": "Aggiorna gli accessi del permesso '{}'",
|
||||
"log_user_group_update": "Aggiorna il gruppo '{}'",
|
||||
|
@ -543,14 +535,14 @@
|
|||
"log_app_config_show_panel": "Mostra il pannello di configurazione dell'app '{}'",
|
||||
"log_app_action_run": "Esegui l'azione dell'app '{}'",
|
||||
"log_operation_unit_unclosed_properly": "Operazion unit non è stata chiusa correttamente",
|
||||
"invalid_regex": "Regex invalida:'{regex:s}'",
|
||||
"invalid_regex": "Regex invalida:'{regex}'",
|
||||
"hook_list_by_invalid": "Questa proprietà non può essere usata per listare gli hooks",
|
||||
"hook_json_return_error": "Impossibile leggere la risposta del hook {path:s}. Errore: {msg:s}. Contenuto raw: {raw_content}",
|
||||
"hook_json_return_error": "Impossibile leggere la risposta del hook {path}. Errore: {msg}. Contenuto raw: {raw_content}",
|
||||
"group_user_not_in_group": "L'utente {user} non è nel gruppo {group}",
|
||||
"group_user_already_in_group": "L'utente {user} è già nel gruppo {group}",
|
||||
"group_update_failed": "Impossibile aggiornare il gruppo '{group}': {error}",
|
||||
"group_updated": "Gruppo '{group}' aggiornato",
|
||||
"group_unknown": "Gruppo '{group:s}' sconosciuto",
|
||||
"group_unknown": "Gruppo '{group}' sconosciuto",
|
||||
"group_deletion_failed": "Impossibile cancellare il gruppo '{group}': {error}",
|
||||
"group_deleted": "Gruppo '{group}' cancellato",
|
||||
"group_cannot_be_deleted": "Il gruppo {group} non può essere eliminato manualmente.",
|
||||
|
@ -572,7 +564,7 @@
|
|||
"dyndns_provider_unreachable": "Incapace di raggiungere il provider DynDNS {provider}: o il tuo YunoHost non è connesso ad internet o il server dynette è down.",
|
||||
"dpkg_lock_not_available": "Impossibile eseguire il comando in questo momento perché un altro programma sta bloccando dpkg (il package manager di sistema)",
|
||||
"domain_name_unknown": "Dominio '{domain}' sconosciuto",
|
||||
"domain_cannot_remove_main_add_new_one": "Non puoi rimuovere '{domain:s}' visto che è il dominio principale nonché il tuo unico dominio, devi prima aggiungere un altro dominio eseguendo 'yunohost domain add <altro-dominio.com>', impostarlo come dominio principale con 'yunohost domain main-domain n <altro-dominio.com>', e solo allora potrai rimuovere il dominio '{domain:s}' eseguendo 'yunohost domain remove {domain:s}'.'",
|
||||
"domain_cannot_remove_main_add_new_one": "Non puoi rimuovere '{domain}' visto che è il dominio principale nonché il tuo unico dominio, devi prima aggiungere un altro dominio eseguendo 'yunohost domain add <altro-dominio.com>', impostarlo come dominio principale con 'yunohost domain main-domain n <altro-dominio.com>', e solo allora potrai rimuovere il dominio '{domain}' eseguendo 'yunohost domain remove {domain}'.'",
|
||||
"domain_cannot_add_xmpp_upload": "Non puoi aggiungere domini che iniziano per 'xmpp-upload.'. Questo tipo di nome è riservato per la funzionalità di upload XMPP integrata in YunoHost.",
|
||||
"diagnosis_processes_killed_by_oom_reaper": "Alcuni processi sono stati terminati dal sistema che era a corto di memoria. Questo è un sintomo di insufficienza di memoria nel sistema o di un processo che richiede troppa memoria. Lista dei processi terminati:\n{kills_summary}",
|
||||
"diagnosis_never_ran_yet": "Sembra che questo server sia stato impostato recentemente e non è presente nessun report di diagnostica. Dovresti partire eseguendo una diagnostica completa, da webadmin o da terminale con il comando 'yunohost diagnosis run'.",
|
||||
|
@ -628,7 +620,7 @@
|
|||
"migration_update_LDAP_schema": "Aggiorno lo schema LDAP...",
|
||||
"migration_ldap_rollback_success": "Sistema ripristinato allo stato precedente.",
|
||||
"migration_ldap_migration_failed_trying_to_rollback": "Impossibile migrare... provo a ripristinare il sistema.",
|
||||
"migration_ldap_can_not_backup_before_migration": "Il backup del sistema non è stato completato prima che la migrazione fallisse. Errore: {error:s}",
|
||||
"migration_ldap_can_not_backup_before_migration": "Il backup del sistema non è stato completato prima che la migrazione fallisse. Errore: {error}",
|
||||
"migration_ldap_backup_before_migration": "Sto generando il backup del database LDAP e delle impostazioni delle app prima di effettuare la migrazione.",
|
||||
"migration_description_0020_ssh_sftp_permissions": "Aggiungi il supporto ai permessi SSH e SFTP",
|
||||
"log_backup_create": "Crea un archivio backup",
|
||||
|
@ -638,5 +630,9 @@
|
|||
"diagnosis_sshd_config_inconsistent": "Sembra che la porta SSH sia stata modificata manualmente in /etc/ssh/sshd_config: A partire da YunoHost 4.2, una nuova configurazione globale 'security.ssh.port' è disponibile per evitare di modificare manualmente la configurazione.",
|
||||
"diagnosis_sshd_config_insecure": "Sembra che la configurazione SSH sia stata modificata manualmente, ed non è sicuro dato che non contiene le direttive 'AllowGroups' o 'Allowusers' che limitano l'accesso agli utenti autorizzati.",
|
||||
"backup_create_size_estimation": "L'archivio conterrà circa {size} di dati.",
|
||||
"app_restore_script_failed": "C'è stato un errore all'interno dello script di recupero"
|
||||
"app_restore_script_failed": "C'è stato un errore all'interno dello script di recupero",
|
||||
"global_settings_setting_security_webadmin_allowlist": "Indirizzi IP con il permesso di accedere al webadmin, separati da virgola.",
|
||||
"global_settings_setting_security_webadmin_allowlist_enabled": "Permetti solo ad alcuni IP di accedere al webadmin.",
|
||||
"disk_space_not_sufficient_update": "Non c'è abbastanza spazio libero per aggiornare questa applicazione",
|
||||
"disk_space_not_sufficient_install": "Non c'è abbastanza spazio libero per installare questa applicazione"
|
||||
}
|
|
@ -4,60 +4,60 @@
|
|||
"admin_password_change_failed": "Kan ikke endre passord",
|
||||
"admin_password_changed": "Administrasjonspassord endret",
|
||||
"admin_password_too_long": "Velg et passord kortere enn 127 tegn",
|
||||
"app_already_installed": "{app:s} er allerede installert",
|
||||
"app_already_up_to_date": "{app:s} er allerede oppdatert",
|
||||
"app_argument_invalid": "Velg en gydlig verdi for argumentet '{name:s}': {error:s}",
|
||||
"app_argument_required": "Argumentet '{name:s}' er påkrevd",
|
||||
"app_already_installed": "{app} er allerede installert",
|
||||
"app_already_up_to_date": "{app} er allerede oppdatert",
|
||||
"app_argument_invalid": "Velg en gydlig verdi for argumentet '{name}': {error}",
|
||||
"app_argument_required": "Argumentet '{name}' er påkrevd",
|
||||
"app_id_invalid": "Ugyldig program-ID",
|
||||
"dyndns_key_not_found": "Fant ikke DNS-nøkkel for domenet",
|
||||
"app_not_correctly_installed": "{app:s} ser ikke ut til å ha blitt installert på riktig måte",
|
||||
"app_not_correctly_installed": "{app} ser ikke ut til å ha blitt installert på riktig måte",
|
||||
"dyndns_provider_unreachable": "Kunne ikke nå DynDNS-tilbyder {provider}: Enten har du ikke satt opp din YunoHost rett, dynette-tjeneren er nede, eller du mangler nett.",
|
||||
"app_not_properly_removed": "{app:s} har ikke blitt fjernet på riktig måte",
|
||||
"app_removed": "{app:s} fjernet",
|
||||
"app_requirements_checking": "Sjekker påkrevde pakker for {app:s}…",
|
||||
"app_not_properly_removed": "{app} har ikke blitt fjernet på riktig måte",
|
||||
"app_removed": "{app} fjernet",
|
||||
"app_requirements_checking": "Sjekker påkrevde pakker for {app}…",
|
||||
"app_start_install": "Installerer programmet '{app}'…",
|
||||
"action_invalid": "Ugyldig handling '{action:s}'",
|
||||
"action_invalid": "Ugyldig handling '{action}'",
|
||||
"app_start_restore": "Gjenoppretter programmet '{app}'…",
|
||||
"backup_created": "Sikkerhetskopi opprettet",
|
||||
"backup_archive_name_exists": "En sikkerhetskopi med dette navnet finnes allerede.",
|
||||
"backup_archive_name_unknown": "Ukjent lokalt sikkerhetskopiarkiv ved navn '{name:s}'",
|
||||
"backup_archive_name_unknown": "Ukjent lokalt sikkerhetskopiarkiv ved navn '{name}'",
|
||||
"already_up_to_date": "Ingenting å gjøre. Alt er oppdatert.",
|
||||
"backup_method_copy_finished": "Sikkerhetskopi fullført",
|
||||
"backup_method_tar_finished": "TAR-sikkerhetskopiarkiv opprettet",
|
||||
"app_action_cannot_be_ran_because_required_services_down": "Dette programmet krever noen tjenester som ikke kjører. Før du fortsetter, du bør prøve å starte følgende tjenester på ny (og antagelig undersøke hvorfor de er nede): {services}",
|
||||
"app_already_installed_cant_change_url": "Dette programmet er allerede installert. Nettadressen kan ikke endres kun med denne funksjonen. Ta en titt på `app changeurl` hvis den er tilgjengelig.",
|
||||
"domain_exists": "Domenet finnes allerede",
|
||||
"app_change_url_failed_nginx_reload": "Kunne ikke gjeninnlaste NGINX. Her har du utdataen for 'nginx -t'\n{nginx_errors:s}",
|
||||
"app_change_url_failed_nginx_reload": "Kunne ikke gjeninnlaste NGINX. Her har du utdataen for 'nginx -t'\n{nginx_errors}",
|
||||
"domains_available": "Tilgjengelige domener:",
|
||||
"done": "Ferdig",
|
||||
"downloading": "Laster ned…",
|
||||
"dyndns_could_not_check_provide": "Kunne ikke sjekke om {provider:s} kan tilby {domain:s}.",
|
||||
"dyndns_could_not_check_available": "Kunne ikke sjekke om {domain:s} er tilgjengelig på {provider:s}.",
|
||||
"mail_domain_unknown": "Ukjent e-postadresse for domenet '{domain:s}'",
|
||||
"dyndns_could_not_check_provide": "Kunne ikke sjekke om {provider} kan tilby {domain}.",
|
||||
"dyndns_could_not_check_available": "Kunne ikke sjekke om {domain} er tilgjengelig på {provider}.",
|
||||
"mail_domain_unknown": "Ukjent e-postadresse for domenet '{domain}'",
|
||||
"log_remove_on_failed_restore": "Fjern '{}' etter mislykket gjenoppretting fra sikkerhetskopiarkiv",
|
||||
"log_letsencrypt_cert_install": "Installer et Let's Encrypt-sertifikat på '{}'-domenet",
|
||||
"log_letsencrypt_cert_renew": "Forny '{}'-Let's Encrypt-sertifikat",
|
||||
"log_user_update": "Oppdater brukerinfo for '{}'",
|
||||
"mail_alias_remove_failed": "Kunne ikke fjerne e-postaliaset '{mail:s}'",
|
||||
"mail_alias_remove_failed": "Kunne ikke fjerne e-postaliaset '{mail}'",
|
||||
"app_action_broke_system": "Denne handlingen ser ut til å ha knekt disse viktige tjenestene: {services}",
|
||||
"app_argument_choice_invalid": "Bruk én av disse valgene '{choices:s}' for argumentet '{name:s}'",
|
||||
"app_argument_choice_invalid": "Bruk én av disse valgene '{choices}' for argumentet '{name}'",
|
||||
"app_extraction_failed": "Kunne ikke pakke ut installasjonsfilene",
|
||||
"app_install_files_invalid": "Disse filene kan ikke installeres",
|
||||
"backup_abstract_method": "Denne sikkerhetskopimetoden er ikke implementert enda",
|
||||
"backup_actually_backuping": "Oppretter sikkerhetskopiarkiv fra innsamlede filer…",
|
||||
"backup_app_failed": "Kunne ikke sikkerhetskopiere programmet '{app:s}'",
|
||||
"backup_app_failed": "Kunne ikke sikkerhetskopiere programmet '{app}'",
|
||||
"backup_applying_method_tar": "Lager TAR-sikkerhetskopiarkiv…",
|
||||
"backup_archive_app_not_found": "Fant ikke programmet '{app:s}' i sikkerhetskopiarkivet",
|
||||
"backup_archive_app_not_found": "Fant ikke programmet '{app}' i sikkerhetskopiarkivet",
|
||||
"backup_archive_open_failed": "Kunne ikke åpne sikkerhetskopiarkivet",
|
||||
"app_start_remove": "Fjerner programmet '{app}'…",
|
||||
"app_start_backup": "Samler inn filer for sikkerhetskopiering for {app}…",
|
||||
"backup_applying_method_copy": "Kopier alle filer til sikkerhetskopi…",
|
||||
"backup_creation_failed": "Kunne ikke opprette sikkerhetskopiarkiv",
|
||||
"backup_couldnt_bind": "Kunne ikke binde {src:s} til {dest:s}.",
|
||||
"backup_couldnt_bind": "Kunne ikke binde {src} til {dest}.",
|
||||
"backup_csv_addition_failed": "Kunne ikke legge til filer for sikkerhetskopi inn i CSV-filen",
|
||||
"backup_deleted": "Sikkerhetskopi slettet",
|
||||
"backup_no_uncompress_archive_dir": "Det finnes ingen slik utpakket arkivmappe",
|
||||
"backup_delete_error": "Kunne ikke slette '{path:s}'",
|
||||
"backup_delete_error": "Kunne ikke slette '{path}'",
|
||||
"certmanager_cert_signing_failed": "Kunne ikke signere det nye sertifikatet",
|
||||
"extracting": "Pakker ut…",
|
||||
"log_domain_add": "Legg til '{}'-domenet i systemoppsett",
|
||||
|
@ -65,7 +65,7 @@
|
|||
"log_dyndns_subscribe": "Abonner på YunoHost-underdomenet '{}'",
|
||||
"log_dyndns_update": "Oppdater IP-adressen tilknyttet ditt YunoHost-underdomene '{}'",
|
||||
"backup_nothings_done": "Ingenting å lagre",
|
||||
"field_invalid": "Ugyldig felt '{:s}'",
|
||||
"field_invalid": "Ugyldig felt '{}'",
|
||||
"firewall_reloaded": "Brannmur gjeninnlastet",
|
||||
"log_app_change_url": "Endre nettadresse for '{}'-programmet",
|
||||
"log_app_install": "Installer '{}'-programmet",
|
||||
|
@ -77,7 +77,7 @@
|
|||
"log_tools_reboot": "Utfør omstart av tjeneren din",
|
||||
"apps_already_up_to_date": "Alle programmer allerede oppdatert",
|
||||
"backup_mount_archive_for_restore": "Forbereder arkiv for gjenopprettelse…",
|
||||
"backup_copying_to_organize_the_archive": "Kopierer {size:s} MB for å organisere arkivet",
|
||||
"backup_copying_to_organize_the_archive": "Kopierer {size} MB for å organisere arkivet",
|
||||
"domain_cannot_remove_main": "Kan ikke fjerne hoveddomene. Sett et først",
|
||||
"domain_cert_gen_failed": "Kunne ikke opprette sertifikat",
|
||||
"domain_created": "Domene opprettet",
|
||||
|
@ -90,7 +90,7 @@
|
|||
"dyndns_no_domain_registered": "Inget domene registrert med DynDNS",
|
||||
"dyndns_registered": "DynDNS-domene registrert",
|
||||
"global_settings_setting_security_password_admin_strength": "Admin-passordets styrke",
|
||||
"dyndns_registration_failed": "Kunne ikke registrere DynDNS-domene: {error:s}",
|
||||
"dyndns_registration_failed": "Kunne ikke registrere DynDNS-domene: {error}",
|
||||
"global_settings_setting_security_password_user_strength": "Brukerpassordets styrke",
|
||||
"log_backup_restore_app": "Gjenopprett '{}' fra sikkerhetskopiarkiv",
|
||||
"log_remove_on_failed_install": "Fjern '{}' etter mislykket installasjon",
|
||||
|
@ -98,13 +98,11 @@
|
|||
"log_user_delete": "Slett '{}' bruker",
|
||||
"log_user_group_delete": "Slett '{}' gruppe",
|
||||
"log_user_group_update": "Oppdater '{}' gruppe",
|
||||
"ldap_init_failed_to_create_admin": "LDAP-igangsettelse kunne ikke opprette admin-bruker",
|
||||
"ldap_initialized": "LDAP-igangsatt",
|
||||
"app_unknown": "Ukjent program",
|
||||
"app_upgrade_app_name": "Oppgraderer {app}…",
|
||||
"app_upgrade_failed": "Kunne ikke oppgradere {app:s}",
|
||||
"app_upgrade_failed": "Kunne ikke oppgradere {app}",
|
||||
"app_upgrade_some_app_failed": "Noen programmer kunne ikke oppgraderes",
|
||||
"app_upgraded": "{app:s} oppgradert",
|
||||
"app_upgraded": "{app} oppgradert",
|
||||
"ask_firstname": "Fornavn",
|
||||
"ask_lastname": "Etternavn",
|
||||
"ask_main_domain": "Hoveddomene",
|
||||
|
@ -119,6 +117,6 @@
|
|||
"log_link_to_log": "Full logg for denne operasjonen: '<a href=\"#/tools/logs/{name}\" style=\"text-decoration:underline\">{desc}</a>'",
|
||||
"log_help_to_get_log": "For å vise loggen for operasjonen '{desc}', bruk kommandoen 'yunohost log show {name}{name}'",
|
||||
"log_user_create": "Legg til '{}' bruker",
|
||||
"app_change_url_success": "{app:s} nettadressen er nå {domain:s}{path:s}",
|
||||
"app_change_url_success": "{app} nettadressen er nå {domain}{path}",
|
||||
"app_install_failed": "Kunne ikke installere {app}: {error}"
|
||||
}
|
|
@ -1,20 +1,20 @@
|
|||
{
|
||||
"action_invalid": "Ongeldige actie '{action:s}'",
|
||||
"action_invalid": "Ongeldige actie '{action}'",
|
||||
"admin_password": "Administrator wachtwoord",
|
||||
"admin_password_changed": "Het administratie wachtwoord werd gewijzigd",
|
||||
"app_already_installed": "{app:s} is al geïnstalleerd",
|
||||
"app_argument_invalid": "Kies een geldige waarde voor '{name:s}': {error:s}",
|
||||
"app_argument_required": "Het '{name:s}' moet ingevuld worden",
|
||||
"app_already_installed": "{app} is al geïnstalleerd",
|
||||
"app_argument_invalid": "Kies een geldige waarde voor '{name}': {error}",
|
||||
"app_argument_required": "Het '{name}' moet ingevuld worden",
|
||||
"app_extraction_failed": "Kan installatiebestanden niet uitpakken",
|
||||
"app_id_invalid": "Ongeldige app-id",
|
||||
"app_install_files_invalid": "Deze bestanden kunnen niet worden geïnstalleerd",
|
||||
"app_manifest_invalid": "Ongeldig app-manifest",
|
||||
"app_not_installed": "{app:s} is niet geïnstalleerd",
|
||||
"app_removed": "{app:s} succesvol verwijderd",
|
||||
"app_not_installed": "{app} is niet geïnstalleerd",
|
||||
"app_removed": "{app} succesvol verwijderd",
|
||||
"app_sources_fetch_failed": "Kan bronbestanden niet ophalen, klopt de URL?",
|
||||
"app_unknown": "Onbekende app",
|
||||
"app_upgrade_failed": "Kan app {app:s} niet updaten",
|
||||
"app_upgraded": "{app:s} succesvol geüpgraded",
|
||||
"app_upgrade_failed": "Kan app {app} niet updaten",
|
||||
"app_upgraded": "{app} succesvol geüpgraded",
|
||||
"ask_firstname": "Voornaam",
|
||||
"ask_lastname": "Achternaam",
|
||||
"ask_new_admin_password": "Nieuw administratorwachtwoord",
|
||||
|
@ -22,7 +22,7 @@
|
|||
"backup_archive_name_exists": "Een backuparchief met dezelfde naam bestaat al",
|
||||
"backup_cleaning_failed": "Kan tijdelijke backup map niet leeg maken",
|
||||
"backup_output_directory_not_empty": "Doelmap is niet leeg",
|
||||
"custom_app_url_required": "U moet een URL opgeven om uw aangepaste app {app:s} bij te werken",
|
||||
"custom_app_url_required": "U moet een URL opgeven om uw aangepaste app {app} bij te werken",
|
||||
"domain_cert_gen_failed": "Kan certificaat niet genereren",
|
||||
"domain_created": "Domein succesvol aangemaakt",
|
||||
"domain_creation_failed": "Kan domein niet aanmaken",
|
||||
|
@ -41,26 +41,24 @@
|
|||
"dyndns_unavailable": "DynDNS subdomein is niet beschikbaar",
|
||||
"extracting": "Uitpakken...",
|
||||
"installation_complete": "Installatie voltooid",
|
||||
"installation_failed": "Installatie gefaald",
|
||||
"ldap_initialized": "LDAP is klaar voor gebruik",
|
||||
"mail_alias_remove_failed": "Kan mail-alias '{mail:s}' niet verwijderen",
|
||||
"mail_alias_remove_failed": "Kan mail-alias '{mail}' niet verwijderen",
|
||||
"pattern_email": "Moet een geldig emailadres bevatten (bv. abc@example.org)",
|
||||
"pattern_mailbox_quota": "Mailbox quota moet een waarde bevatten met b/k/M/G/T erachter of 0 om geen quota in te stellen",
|
||||
"pattern_password": "Wachtwoord moet tenminste 3 karakters lang zijn",
|
||||
"port_already_closed": "Poort {port:d} is al gesloten voor {ip_version:s} verbindingen",
|
||||
"port_already_opened": "Poort {port:d} is al open voor {ip_version:s} verbindingen",
|
||||
"app_restore_failed": "De app '{app:s}' kon niet worden terug gezet: {error:s}",
|
||||
"restore_hook_unavailable": "De herstel-hook '{part:s}' is niet beschikbaar op dit systeem",
|
||||
"service_add_failed": "Kan service '{service:s}' niet toevoegen",
|
||||
"service_already_started": "Service '{service:s}' draait al",
|
||||
"service_cmd_exec_failed": "Kan '{command:s}' niet uitvoeren",
|
||||
"service_disabled": "Service '{service:s}' is uitgeschakeld",
|
||||
"service_remove_failed": "Kan service '{service:s}' niet verwijderen",
|
||||
"port_already_closed": "Poort {port:d} is al gesloten voor {ip_version} verbindingen",
|
||||
"port_already_opened": "Poort {port:d} is al open voor {ip_version} verbindingen",
|
||||
"app_restore_failed": "De app '{app}' kon niet worden terug gezet: {error}",
|
||||
"restore_hook_unavailable": "De herstel-hook '{part}' is niet beschikbaar op dit systeem",
|
||||
"service_add_failed": "Kan service '{service}' niet toevoegen",
|
||||
"service_already_started": "Service '{service}' draait al",
|
||||
"service_cmd_exec_failed": "Kan '{command}' niet uitvoeren",
|
||||
"service_disabled": "Service '{service}' is uitgeschakeld",
|
||||
"service_remove_failed": "Kan service '{service}' niet verwijderen",
|
||||
"service_removed": "Service werd verwijderd",
|
||||
"service_stop_failed": "Kan service '{service:s}' niet stoppen",
|
||||
"service_unknown": "De service '{service:s}' bestaat niet",
|
||||
"service_stop_failed": "Kan service '{service}' niet stoppen",
|
||||
"service_unknown": "De service '{service}' bestaat niet",
|
||||
"unexpected_error": "Er is een onbekende fout opgetreden",
|
||||
"unrestore_app": "App '{app:s}' wordt niet teruggezet",
|
||||
"unrestore_app": "App '{app}' wordt niet teruggezet",
|
||||
"updating_apt_cache": "Lijst van beschikbare pakketten wordt bijgewerkt...",
|
||||
"upgrade_complete": "Upgrade voltooid",
|
||||
"upgrading_packages": "Pakketten worden geüpdate...",
|
||||
|
@ -70,27 +68,27 @@
|
|||
"upnp_port_open_failed": "Kan UPnP poorten niet openen",
|
||||
"user_deleted": "Gebruiker werd verwijderd",
|
||||
"user_home_creation_failed": "Kan de map voor deze gebruiker niet aanmaken",
|
||||
"user_unknown": "Gebruikersnaam {user:s} is onbekend",
|
||||
"user_unknown": "Gebruikersnaam {user} is onbekend",
|
||||
"user_update_failed": "Kan gebruiker niet bijwerken",
|
||||
"yunohost_configured": "YunoHost configuratie is OK",
|
||||
"admin_password_change_failed": "Wachtwoord kan niet veranderd worden",
|
||||
"app_argument_choice_invalid": "Ongeldige keuze voor argument '{name:s}'. Het moet een van de volgende keuzes zijn {choices:s}",
|
||||
"app_not_correctly_installed": "{app:s} schijnt niet juist geïnstalleerd te zijn",
|
||||
"app_not_properly_removed": "{app:s} werd niet volledig verwijderd",
|
||||
"app_argument_choice_invalid": "Ongeldige keuze voor argument '{name}'. Het moet een van de volgende keuzes zijn {choices}",
|
||||
"app_not_correctly_installed": "{app} schijnt niet juist geïnstalleerd te zijn",
|
||||
"app_not_properly_removed": "{app} werd niet volledig verwijderd",
|
||||
"app_requirements_checking": "Noodzakelijke pakketten voor {app} aan het controleren...",
|
||||
"app_requirements_unmeet": "Er wordt niet aan de aanvorderingen voldaan, het pakket {pkgname} ({version}) moet {spec} zijn",
|
||||
"app_unsupported_remote_type": "Niet ondersteund besturings type voor de app",
|
||||
"ask_main_domain": "Hoofd-domein",
|
||||
"backup_app_failed": "Kon geen backup voor app '{app:s}' aanmaken",
|
||||
"backup_archive_app_not_found": "App '{app:s}' kon niet in het backup archief gevonden worden",
|
||||
"backup_archive_broken_link": "Het backup archief kon niet geopend worden (Ongeldig verwijs naar {path:s})",
|
||||
"backup_archive_name_unknown": "Onbekend lokaal backup archief namens '{name:s}' gevonden",
|
||||
"backup_app_failed": "Kon geen backup voor app '{app}' aanmaken",
|
||||
"backup_archive_app_not_found": "App '{app}' kon niet in het backup archief gevonden worden",
|
||||
"backup_archive_broken_link": "Het backup archief kon niet geopend worden (Ongeldig verwijs naar {path})",
|
||||
"backup_archive_name_unknown": "Onbekend lokaal backup archief namens '{name}' gevonden",
|
||||
"backup_archive_open_failed": "Kan het backup archief niet openen",
|
||||
"backup_created": "Backup aangemaakt",
|
||||
"backup_creation_failed": "Aanmaken van backup mislukt",
|
||||
"backup_delete_error": "Kon pad '{path:s}' niet verwijderen",
|
||||
"backup_delete_error": "Kon pad '{path}' niet verwijderen",
|
||||
"backup_deleted": "Backup werd verwijderd",
|
||||
"backup_hook_unknown": "backup hook '{hook:s}' onbekend",
|
||||
"backup_hook_unknown": "backup hook '{hook}' onbekend",
|
||||
"backup_nothings_done": "Niets om op te slaan",
|
||||
"password_too_simple_1": "Het wachtwoord moet minimaal 8 tekens lang zijn",
|
||||
"already_up_to_date": "Er is niets te doen, alles is al up-to-date.",
|
||||
|
@ -104,11 +102,11 @@
|
|||
"app_manifest_install_ask_domain": "Kies het domein waar deze app op geïnstalleerd moet worden",
|
||||
"app_manifest_install_ask_path": "Kies het pad waar deze app geïnstalleerd moet worden",
|
||||
"app_manifest_install_ask_admin": "Kies een administrator voor deze app",
|
||||
"app_change_url_failed_nginx_reload": "Kon NGINX niet opnieuw laden. Hier is de output van 'nginx -t':\n{nginx_errors:s}",
|
||||
"app_change_url_success": "{app:s} URL is nu {domain:s}{path:s}",
|
||||
"app_change_url_failed_nginx_reload": "Kon NGINX niet opnieuw laden. Hier is de output van 'nginx -t':\n{nginx_errors}",
|
||||
"app_change_url_success": "{app} URL is nu {domain}{path}",
|
||||
"app_full_domain_unavailable": "Sorry, deze app moet op haar eigen domein geïnstalleerd worden, maar andere apps zijn al geïnstalleerd op het domein '{domain}'. U kunt wel een subdomein aan deze app toewijden.",
|
||||
"app_install_script_failed": "Er is een fout opgetreden in het installatiescript van de app",
|
||||
"app_location_unavailable": "Deze URL is niet beschikbaar of is in conflict met de al geïnstalleerde app(s):\n{apps:s}",
|
||||
"app_location_unavailable": "Deze URL is niet beschikbaar of is in conflict met de al geïnstalleerde app(s):\n{apps}",
|
||||
"app_manifest_install_ask_password": "Kies een administratiewachtwoord voor deze app",
|
||||
"app_manifest_install_ask_is_public": "Moet deze app zichtbaar zijn voor anomieme bezoekers?",
|
||||
"app_not_upgraded": "De app '{failed_app}' kon niet upgraden en daardoor zijn de upgrades van de volgende apps geannuleerd: {apps}",
|
||||
|
|
252
locales/oc.json
252
locales/oc.json
|
@ -2,78 +2,78 @@
|
|||
"admin_password": "Senhal d’administracion",
|
||||
"admin_password_change_failed": "Impossible de cambiar lo senhal",
|
||||
"admin_password_changed": "Lo senhal d’administracion es ben estat cambiat",
|
||||
"app_already_installed": "{app:s} es ja installat",
|
||||
"app_already_up_to_date": "{app:s} es ja a jorn",
|
||||
"app_already_installed": "{app} es ja installat",
|
||||
"app_already_up_to_date": "{app} es ja a jorn",
|
||||
"installation_complete": "Installacion acabada",
|
||||
"app_id_invalid": "ID d’aplicacion incorrècte",
|
||||
"app_install_files_invalid": "Installacion impossibla d’aquestes fichièrs",
|
||||
"app_not_correctly_installed": "{app:s} sembla pas ben installat",
|
||||
"app_not_installed": "Impossible de trobar l’aplicacion {app:s} dins la lista de las aplicacions installadas : {all_apps}",
|
||||
"app_not_properly_removed": "{app:s} es pas estat corrèctament suprimit",
|
||||
"app_removed": "{app:s} es estada suprimida",
|
||||
"app_not_correctly_installed": "{app} sembla pas ben installat",
|
||||
"app_not_installed": "Impossible de trobar l’aplicacion {app} dins la lista de las aplicacions installadas : {all_apps}",
|
||||
"app_not_properly_removed": "{app} es pas estat corrèctament suprimit",
|
||||
"app_removed": "{app} es estada suprimida",
|
||||
"app_unknown": "Aplicacion desconeguda",
|
||||
"app_upgrade_app_name": "Actualizacion de l’aplicacion {app}...",
|
||||
"app_upgrade_failed": "Impossible d’actualizar {app:s} : {error}",
|
||||
"app_upgrade_failed": "Impossible d’actualizar {app} : {error}",
|
||||
"app_upgrade_some_app_failed": "D’aplicacions se pòdon pas actualizar",
|
||||
"app_upgraded": "{app:s} es estada actualizada",
|
||||
"app_upgraded": "{app} es estada actualizada",
|
||||
"ask_firstname": "Prenom",
|
||||
"ask_lastname": "Nom",
|
||||
"ask_main_domain": "Domeni màger",
|
||||
"ask_new_admin_password": "Nòu senhal administrator",
|
||||
"ask_password": "Senhal",
|
||||
"backup_app_failed": "Impossible de salvagardar l’aplicacion « {app:s} »",
|
||||
"backup_app_failed": "Impossible de salvagardar l’aplicacion « {app} »",
|
||||
"backup_applying_method_copy": "Còpia de totes los fichièrs dins la salvagarda...",
|
||||
"backup_applying_method_tar": "Creacion de l’archiu TAR de la salvagarda...",
|
||||
"backup_archive_name_exists": "Un archiu de salvagarda amb aquesta nom existís ja.",
|
||||
"backup_archive_name_unknown": "L’archiu local de salvagarda apelat « {name:s} » es desconegut",
|
||||
"action_invalid": "Accion « {action:s} » incorrècta",
|
||||
"app_argument_choice_invalid": "Utilizatz una de las opcions « {choices:s} » per l’argument « {name:s} »",
|
||||
"app_argument_invalid": "Causissètz una valor invalida pel paramètre « {name:s} » : {error:s}",
|
||||
"app_argument_required": "Lo paramètre « {name:s} » es requesit",
|
||||
"app_change_url_failed_nginx_reload": "Reaviada de NGINX impossibla. Vaquí la sortida de « nginx -t » :\n{nginx_errors:s}",
|
||||
"app_change_url_identical_domains": "L’ancian e lo novèl coble domeni/camin son identics per {domain:s}{path:s}, pas res a far.",
|
||||
"app_change_url_success": "L’URL de l’aplicacion {app:s} es ara {domain:s}{path:s}",
|
||||
"backup_archive_name_unknown": "L’archiu local de salvagarda apelat « {name} » es desconegut",
|
||||
"action_invalid": "Accion « {action} » incorrècta",
|
||||
"app_argument_choice_invalid": "Utilizatz una de las opcions « {choices} » per l’argument « {name} »",
|
||||
"app_argument_invalid": "Causissètz una valor invalida pel paramètre « {name} » : {error}",
|
||||
"app_argument_required": "Lo paramètre « {name} » es requesit",
|
||||
"app_change_url_failed_nginx_reload": "Reaviada de NGINX impossibla. Vaquí la sortida de « nginx -t » :\n{nginx_errors}",
|
||||
"app_change_url_identical_domains": "L’ancian e lo novèl coble domeni/camin son identics per {domain}{path}, pas res a far.",
|
||||
"app_change_url_success": "L’URL de l’aplicacion {app} es ara {domain}{path}",
|
||||
"app_extraction_failed": "Extraccion dels fichièrs d’installacion impossibla",
|
||||
"app_manifest_invalid": "I a quicòm que truca amb lo manifest de l’aplicacion : {error}",
|
||||
"app_requirements_checking": "Verificacion dels paquets requesits per {app}...",
|
||||
"app_sources_fetch_failed": "Recuperacion dels fichièrs fonts impossibla, l’URL es corrècta ?",
|
||||
"app_unsupported_remote_type": "Lo tipe alonhat utilizat per l’aplicacion es pas suportat",
|
||||
"backup_archive_app_not_found": "L’aplicacion « {app:s} » es pas estada trobada dins l’archiu de la salvagarda",
|
||||
"backup_archive_broken_link": "Impossible d’accedir a l’archiu de salvagarda (ligam invalid cap a {path:s})",
|
||||
"backup_archive_app_not_found": "L’aplicacion « {app} » es pas estada trobada dins l’archiu de la salvagarda",
|
||||
"backup_archive_broken_link": "Impossible d’accedir a l’archiu de salvagarda (ligam invalid cap a {path})",
|
||||
"backup_archive_open_failed": "Impossible de dobrir l’archiu de salvagarda",
|
||||
"backup_archive_system_part_not_available": "La part « {part:s} » del sistèma es pas disponibla dins aquesta salvagarda",
|
||||
"backup_archive_system_part_not_available": "La part « {part} » del sistèma es pas disponibla dins aquesta salvagarda",
|
||||
"backup_cleaning_failed": "Impossible de netejar lo repertòri temporari de salvagarda",
|
||||
"backup_copying_to_organize_the_archive": "Còpia de {size:s} Mio per organizar l’archiu",
|
||||
"backup_copying_to_organize_the_archive": "Còpia de {size} Mio per organizar l’archiu",
|
||||
"backup_created": "Salvagarda acabada",
|
||||
"backup_creation_failed": "Creacion impossibla de l’archiu de salvagarda",
|
||||
"app_already_installed_cant_change_url": "Aquesta aplicacion es ja installada. Aquesta foncion pòt pas simplament cambiar l’URL. Agachatz « app changeurl » s’es disponible.",
|
||||
"app_change_url_no_script": "L’aplicacion {app_name:s} pren pas en compte lo cambiament d’URL, benlèu que vos cal l’actualizar.",
|
||||
"app_change_url_no_script": "L’aplicacion {app_name} pren pas en compte lo cambiament d’URL, benlèu que vos cal l’actualizar.",
|
||||
"app_make_default_location_already_used": "Impossible de configurar l’aplicacion « {app} » per defaut pel domeni {domain} perque es ja utilizat per l’aplicacion {other_app}",
|
||||
"app_location_unavailable": "Aquesta URL es pas disponibla o en conflicte amb una aplicacion existenta :\n{apps:s}",
|
||||
"backup_delete_error": "Supression impossibla de « {path:s} »",
|
||||
"app_location_unavailable": "Aquesta URL es pas disponibla o en conflicte amb una aplicacion existenta :\n{apps}",
|
||||
"backup_delete_error": "Supression impossibla de « {path} »",
|
||||
"backup_deleted": "La salvagarda es estada suprimida",
|
||||
"backup_hook_unknown": "Script de salvagarda « {hook:s} » desconegut",
|
||||
"backup_hook_unknown": "Script de salvagarda « {hook} » desconegut",
|
||||
"backup_method_copy_finished": "La còpia de salvagarda es acabada",
|
||||
"backup_method_tar_finished": "L’archiu TAR de la salvagarda es estat creat",
|
||||
"backup_output_directory_not_empty": "Devètz causir un dorsièr de sortida void",
|
||||
"backup_output_directory_required": "Vos cal especificar un dorsièr de sortida per la salvagarda",
|
||||
"backup_running_hooks": "Execucion dels scripts de salvagarda...",
|
||||
"backup_system_part_failed": "Impossible de salvagardar la part « {part:s} » del sistèma",
|
||||
"backup_system_part_failed": "Impossible de salvagardar la part « {part} » del sistèma",
|
||||
"app_requirements_unmeet": "Las condicions requesidas per {app} son pas complidas, lo paquet {pkgname} ({version}) deu èsser {spec}",
|
||||
"backup_abstract_method": "Aqueste metòde de salvagarda es pas encara implementat",
|
||||
"backup_applying_method_custom": "Crida del metòde de salvagarda personalizat « {method:s} »...",
|
||||
"backup_couldnt_bind": "Impossible de ligar {src:s} amb {dest:s}.",
|
||||
"backup_applying_method_custom": "Crida del metòde de salvagarda personalizat « {method} »...",
|
||||
"backup_couldnt_bind": "Impossible de ligar {src} amb {dest}.",
|
||||
"backup_csv_addition_failed": "Impossible d’ajustar de fichièrs a la salvagarda dins lo fichièr CSV",
|
||||
"backup_custom_backup_error": "Fracàs del metòde de salvagarda personalizat a l’etapa « backup »",
|
||||
"backup_custom_mount_error": "Fracàs del metòde de salvagarda personalizat a l’etapa « mount »",
|
||||
"backup_method_custom_finished": "Lo metòde de salvagarda personalizat « {method:s} » es acabat",
|
||||
"backup_method_custom_finished": "Lo metòde de salvagarda personalizat « {method} » es acabat",
|
||||
"backup_nothings_done": "I a pas res de salvagardar",
|
||||
"backup_unable_to_organize_files": "Impossible d’organizar los fichièrs dins l’archiu amb lo metòde rapid",
|
||||
"service_stopped": "Lo servici « {service:s} » es estat arrestat",
|
||||
"service_unknown": "Servici « {service:s} » desconegut",
|
||||
"unbackup_app": "L’aplicacion « {app:s} » serà pas salvagardada",
|
||||
"service_stopped": "Lo servici « {service} » es estat arrestat",
|
||||
"service_unknown": "Servici « {service} » desconegut",
|
||||
"unbackup_app": "L’aplicacion « {app} » serà pas salvagardada",
|
||||
"unlimit": "Cap de quòta",
|
||||
"unrestore_app": "L’aplicacion « {app:s} » serà pas restaurada",
|
||||
"unrestore_app": "L’aplicacion « {app} » serà pas restaurada",
|
||||
"upnp_dev_not_found": "Cap de periferic compatible UPnP pas trobat",
|
||||
"upnp_disabled": "UPnP es desactivat",
|
||||
"upnp_enabled": "UPnP es activat",
|
||||
|
@ -82,23 +82,23 @@
|
|||
"yunohost_configured": "YunoHost es estat configurat",
|
||||
"yunohost_installing": "Installacion de YunoHost…",
|
||||
"backup_csv_creation_failed": "Creacion impossibla del fichièr CSV necessari a las operacions futuras de restauracion",
|
||||
"backup_output_symlink_dir_broken": "Vòstre repertòri d’archiu « {path:s} » es un ligam simbolic copat. Saique oblidèretz de re/montar o de connectar supòrt.",
|
||||
"backup_with_no_backup_script_for_app": "L’aplicacion {app:s} a pas cap de script de salvagarda. I fasèm pas cas.",
|
||||
"backup_with_no_restore_script_for_app": "{app:s} a pas cap de script de restauracion, poiretz pas restaurar automaticament la salvagarda d’aquesta aplicacion.",
|
||||
"certmanager_acme_not_configured_for_domain": "Lo certificat pel domeni {domain:s} sembla pas corrèctament installat. Mercés de lançar d’en primièr « cert-install » per aqueste domeni.",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "Lo certificat pel domeni {domain:s} es pas provesit per Let’s Encrypt. Impossible de lo renovar automaticament !",
|
||||
"certmanager_attempt_to_renew_valid_cert": "Lo certificat pel domeni {domain:s} es a man d’expirar ! (Podètz utilizar --force se sabètz çò que fasètz)",
|
||||
"certmanager_cannot_read_cert": "Quicòm a trucat en ensajar de dobrir lo certificat actual pel domeni {domain:s} (fichièr : {file:s}), rason : {reason:s}",
|
||||
"certmanager_cert_install_success": "Lo certificat Let’s Encrypt es ara installat pel domeni « {domain:s} »",
|
||||
"certmanager_cert_install_success_selfsigned": "Lo certificat auto-signat es ara installat pel domeni « {domain:s} »",
|
||||
"backup_output_symlink_dir_broken": "Vòstre repertòri d’archiu « {path} » es un ligam simbolic copat. Saique oblidèretz de re/montar o de connectar supòrt.",
|
||||
"backup_with_no_backup_script_for_app": "L’aplicacion {app} a pas cap de script de salvagarda. I fasèm pas cas.",
|
||||
"backup_with_no_restore_script_for_app": "{app} a pas cap de script de restauracion, poiretz pas restaurar automaticament la salvagarda d’aquesta aplicacion.",
|
||||
"certmanager_acme_not_configured_for_domain": "Lo certificat pel domeni {domain} sembla pas corrèctament installat. Mercés de lançar d’en primièr « cert-install » per aqueste domeni.",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "Lo certificat pel domeni {domain} es pas provesit per Let’s Encrypt. Impossible de lo renovar automaticament !",
|
||||
"certmanager_attempt_to_renew_valid_cert": "Lo certificat pel domeni {domain} es a man d’expirar ! (Podètz utilizar --force se sabètz çò que fasètz)",
|
||||
"certmanager_cannot_read_cert": "Quicòm a trucat en ensajar de dobrir lo certificat actual pel domeni {domain} (fichièr : {file}), rason : {reason}",
|
||||
"certmanager_cert_install_success": "Lo certificat Let’s Encrypt es ara installat pel domeni « {domain} »",
|
||||
"certmanager_cert_install_success_selfsigned": "Lo certificat auto-signat es ara installat pel domeni « {domain} »",
|
||||
"certmanager_cert_signing_failed": "Signatura impossibla del nòu certificat",
|
||||
"certmanager_domain_cert_not_selfsigned": "Lo certificat pel domeni {domain:s} es pas auto-signat. Volètz vertadièrament lo remplaçar ? (Utilizatz « --force » per o far)",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "L’enregistrament DNS « A » pel domeni {domain:s} es diferent de l’adreça IP d’aqueste servidor. Se fa pauc qu’avètz modificat l’enregistrament « A », mercés d’esperar l’espandiment (qualques verificadors d’espandiment son disponibles en linha). (Se sabètz çò que fasèm, utilizatz --no-checks per desactivar aqueles contraròtles)",
|
||||
"certmanager_domain_http_not_working": "Sembla que lo domeni {domain:s} es pas accessible via HTTP. Mercés de verificar que las configuracions DNS e NGINK son corrèctas",
|
||||
"certmanager_no_cert_file": "Lectura impossibla del fichièr del certificat pel domeni {domain:s} (fichièr : {file:s})",
|
||||
"certmanager_self_ca_conf_file_not_found": "Impossible de trobar lo fichièr de configuracion per l’autoritat del certificat auto-signat (fichièr : {file:s})",
|
||||
"certmanager_unable_to_parse_self_CA_name": "Analisi impossibla del nom de l’autoritat del certificat auto-signat (fichièr : {file:s})",
|
||||
"custom_app_url_required": "Cal que donetz una URL per actualizar vòstra aplicacion personalizada {app:s}",
|
||||
"certmanager_domain_cert_not_selfsigned": "Lo certificat pel domeni {domain} es pas auto-signat. Volètz vertadièrament lo remplaçar ? (Utilizatz « --force » per o far)",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "L’enregistrament DNS « A » pel domeni {domain} es diferent de l’adreça IP d’aqueste servidor. Se fa pauc qu’avètz modificat l’enregistrament « A », mercés d’esperar l’espandiment (qualques verificadors d’espandiment son disponibles en linha). (Se sabètz çò que fasèm, utilizatz --no-checks per desactivar aqueles contraròtles)",
|
||||
"certmanager_domain_http_not_working": "Sembla que lo domeni {domain} es pas accessible via HTTP. Mercés de verificar que las configuracions DNS e NGINK son corrèctas",
|
||||
"certmanager_no_cert_file": "Lectura impossibla del fichièr del certificat pel domeni {domain} (fichièr : {file})",
|
||||
"certmanager_self_ca_conf_file_not_found": "Impossible de trobar lo fichièr de configuracion per l’autoritat del certificat auto-signat (fichièr : {file})",
|
||||
"certmanager_unable_to_parse_self_CA_name": "Analisi impossibla del nom de l’autoritat del certificat auto-signat (fichièr : {file})",
|
||||
"custom_app_url_required": "Cal que donetz una URL per actualizar vòstra aplicacion personalizada {app}",
|
||||
"domain_cannot_remove_main": "Impossible de levar lo domeni màger. Definissètz un novèl domeni màger d’en primièr",
|
||||
"domain_cert_gen_failed": "Generacion del certificat impossibla",
|
||||
"domain_created": "Domeni creat",
|
||||
|
@ -112,24 +112,22 @@
|
|||
"domains_available": "Domenis disponibles :",
|
||||
"done": "Acabat",
|
||||
"downloading": "Telecargament…",
|
||||
"dyndns_could_not_check_provide": "Impossible de verificar se {provider:s} pòt provesir {domain:s}.",
|
||||
"dyndns_could_not_check_provide": "Impossible de verificar se {provider} pòt provesir {domain}.",
|
||||
"dyndns_ip_update_failed": "Impossible d’actualizar l’adreça IP sul domeni DynDNS",
|
||||
"dyndns_ip_updated": "Vòstra adreça IP actualizada pel domeni DynDNS",
|
||||
"dyndns_key_generating": "La clau DNS es a se generar… pòt trigar una estona.",
|
||||
"dyndns_key_not_found": "Clau DNS introbabla pel domeni",
|
||||
"dyndns_no_domain_registered": "Cap de domeni pas enregistrat amb DynDNS",
|
||||
"dyndns_registered": "Domeni DynDNS enregistrat",
|
||||
"dyndns_registration_failed": "Enregistrament del domeni DynDNS impossible : {error:s}",
|
||||
"dyndns_domain_not_provided": "Lo provesidor DynDNS {provider:s} pòt pas fornir lo domeni {domain:s}.",
|
||||
"dyndns_unavailable": "Lo domeni {domain:s} es pas disponible.",
|
||||
"dyndns_registration_failed": "Enregistrament del domeni DynDNS impossible : {error}",
|
||||
"dyndns_domain_not_provided": "Lo provesidor DynDNS {provider} pòt pas fornir lo domeni {domain}.",
|
||||
"dyndns_unavailable": "Lo domeni {domain} es pas disponible.",
|
||||
"extracting": "Extraccion…",
|
||||
"field_invalid": "Camp incorrècte : « {:s} »",
|
||||
"global_settings_cant_open_settings": "Fracàs de la dobertura del fichièr de configuracion, rason : {reason:s}",
|
||||
"global_settings_key_doesnt_exists": "La clau « {settings_key:s} » existís pas dins las configuracions globalas, podètz veire totas las claus disponiblas en executant « yunohost settings list »",
|
||||
"global_settings_reset_success": "Configuracion precedenta ara salvagarda dins {path:s}",
|
||||
"global_settings_unknown_setting_from_settings_file": "Clau desconeguda dins los paramètres : {setting_key:s}, apartada e salvagardada dins /etc/yunohost/settings-unknown.json",
|
||||
"installation_failed": "Quicòm a trucat e l’installacion a pas reüssit",
|
||||
"ldap_initialized": "L’annuari LDAP es inicializat",
|
||||
"field_invalid": "Camp incorrècte : « {} »",
|
||||
"global_settings_cant_open_settings": "Fracàs de la dobertura del fichièr de configuracion, rason : {reason}",
|
||||
"global_settings_key_doesnt_exists": "La clau « {settings_key} » existís pas dins las configuracions globalas, podètz veire totas las claus disponiblas en executant « yunohost settings list »",
|
||||
"global_settings_reset_success": "Configuracion precedenta ara salvagarda dins {path}",
|
||||
"global_settings_unknown_setting_from_settings_file": "Clau desconeguda dins los paramètres : {setting_key}, apartada e salvagardada dins /etc/yunohost/settings-unknown.json",
|
||||
"main_domain_change_failed": "Modificacion impossibla del domeni màger",
|
||||
"main_domain_changed": "Lo domeni màger es estat modificat",
|
||||
"migrations_cant_reach_migration_file": "Impossible d’accedir als fichièrs de migracion amb lo camin %s",
|
||||
|
@ -144,43 +142,42 @@
|
|||
"pattern_password": "Deu conténer almens 3 caractèrs",
|
||||
"pattern_port_or_range": "Deu èsser un numèro de pòrt valid (ex : 0-65535) o un interval de pòrt (ex : 100:200)",
|
||||
"pattern_positive_number": "Deu èsser un nombre positiu",
|
||||
"port_already_closed": "Lo pòrt {port:d} es ja tampat per las connexions {ip_version:s}",
|
||||
"port_already_opened": "Lo pòrt {port:d} es ja dubèrt per las connexions {ip_version:s}",
|
||||
"restore_already_installed_app": "Una aplicacion es ja installada amb l’id « {app:s} »",
|
||||
"app_restore_failed": "Impossible de restaurar l’aplicacion « {app:s} »: {error:s}",
|
||||
"backup_ask_for_copying_if_needed": "Volètz far una salvagarda en utilizant {size:s} Mo temporàriament ? (Aqueste biais de far es emplegat perque unes fichièrs an pas pogut èsser preparats amb un metòde mai eficaç.)",
|
||||
"port_already_closed": "Lo pòrt {port:d} es ja tampat per las connexions {ip_version}",
|
||||
"port_already_opened": "Lo pòrt {port:d} es ja dubèrt per las connexions {ip_version}",
|
||||
"restore_already_installed_app": "Una aplicacion es ja installada amb l’id « {app} »",
|
||||
"app_restore_failed": "Impossible de restaurar l’aplicacion « {app} »: {error}",
|
||||
"backup_ask_for_copying_if_needed": "Volètz far una salvagarda en utilizant {size} Mo temporàriament ? (Aqueste biais de far es emplegat perque unes fichièrs an pas pogut èsser preparats amb un metòde mai eficaç.)",
|
||||
"yunohost_not_installed": "YunoHost es pas installat o corrèctament installat. Mercés d’executar « yunohost tools postinstall »",
|
||||
"backup_output_directory_forbidden": "Causissètz un repertòri de destinacion deferent. Las salvagardas pòdon pas se realizar dins los repertòris bin, /boot, /dev, /etc, /lib, /root, /run, /sbin, /sys, /usr, /var ou /home/yunohost.backup/archives",
|
||||
"certmanager_attempt_to_replace_valid_cert": "Sètz a remplaçar un certificat corrècte e valid pel domeni {domain:s} ! (Utilizatz --force per cortcircuitar)",
|
||||
"certmanager_cert_renew_success": "Renovèlament capitat d’un certificat Let’s Encrypt pel domeni « {domain:s} »",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "Sembla qu’utilizar lo nòu certificat per {domain:s} fonciona pas...",
|
||||
"certmanager_hit_rate_limit": "Tròp de certificats son ja estats demandats recentament per aqueste ensem de domeni {domain:s}. Mercés de tornar ensajar mai tard. Legissètz https://letsencrypt.org/docs/rate-limits/ per mai detalhs",
|
||||
"certmanager_attempt_to_replace_valid_cert": "Sètz a remplaçar un certificat corrècte e valid pel domeni {domain} ! (Utilizatz --force per cortcircuitar)",
|
||||
"certmanager_cert_renew_success": "Renovèlament capitat d’un certificat Let’s Encrypt pel domeni « {domain} »",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "Sembla qu’utilizar lo nòu certificat per {domain} fonciona pas...",
|
||||
"certmanager_hit_rate_limit": "Tròp de certificats son ja estats demandats recentament per aqueste ensem de domeni {domain}. Mercés de tornar ensajar mai tard. Legissètz https://letsencrypt.org/docs/rate-limits/ per mai detalhs",
|
||||
"domain_dns_conf_is_just_a_recommendation": "Aqueste pagina mòstra la configuracion *recomandada*. Non configura *pas* lo DNS per vos. Sètz responsable de la configuracion de vòstra zòna DNS en çò de vòstre registrar DNS amb aquesta recomandacion.",
|
||||
"domain_dyndns_already_subscribed": "Avètz ja soscrich a un domeni DynDNS",
|
||||
"domain_uninstall_app_first": "Una o mantuna aplicacions son installadas sus aqueste domeni. Mercés de las desinstallar d’en primièr abans de suprimir aqueste domeni",
|
||||
"firewall_reload_failed": "Impossible de recargar lo parafuòc",
|
||||
"firewall_reloaded": "Parafuòc recargat",
|
||||
"firewall_rules_cmd_failed": "Unas règlas del parafuòc an fracassat. Per mai informacions, consultatz lo jornal.",
|
||||
"global_settings_bad_choice_for_enum": "La valor del paramètre {setting:s} es incorrècta. Recebut : {choice:s}, mas las opcions esperadas son : {available_choices:s}",
|
||||
"global_settings_bad_type_for_setting": "Lo tipe del paramètre {setting:s} es incorrècte, recebut : {received_type:s}, esperat {expected_type:s}",
|
||||
"global_settings_cant_write_settings": "Fracàs de l’escritura del fichièr de configuracion, rason : {reason:s}",
|
||||
"global_settings_unknown_type": "Situacion inesperada, la configuracion {setting:s} sembla d’aver lo tipe {unknown_type:s} mas es pas un tipe pres en carga pel sistèma.",
|
||||
"hook_exec_failed": "Fracàs de l’execucion del script : « {path:s} »",
|
||||
"hook_exec_not_terminated": "Lo escript « {path:s} » a pas acabat corrèctament",
|
||||
"global_settings_bad_choice_for_enum": "La valor del paramètre {setting} es incorrècta. Recebut : {choice}, mas las opcions esperadas son : {available_choices}",
|
||||
"global_settings_bad_type_for_setting": "Lo tipe del paramètre {setting} es incorrècte, recebut : {received_type}, esperat {expected_type}",
|
||||
"global_settings_cant_write_settings": "Fracàs de l’escritura del fichièr de configuracion, rason : {reason}",
|
||||
"global_settings_unknown_type": "Situacion inesperada, la configuracion {setting} sembla d’aver lo tipe {unknown_type} mas es pas un tipe pres en carga pel sistèma.",
|
||||
"hook_exec_failed": "Fracàs de l’execucion del script : « {path} »",
|
||||
"hook_exec_not_terminated": "Lo escript « {path} » a pas acabat corrèctament",
|
||||
"hook_list_by_invalid": "La proprietat de tria de las accions es invalida",
|
||||
"hook_name_unknown": "Nom de script « {name:s} » desconegut",
|
||||
"ldap_init_failed_to_create_admin": "L’inicializacion de LDAP a pas pogut crear l’utilizaire admin",
|
||||
"mail_domain_unknown": "Lo domeni de corrièl « {domain:s} » es desconegut",
|
||||
"hook_name_unknown": "Nom de script « {name} » desconegut",
|
||||
"mail_domain_unknown": "Lo domeni de corrièl « {domain} » es desconegut",
|
||||
"mailbox_used_space_dovecot_down": "Lo servici corrièl Dovecot deu èsser aviat, se volètz conéisser l’espaci ocupat per la messatjariá",
|
||||
"service_disable_failed": "Impossible de desactivar lo servici « {service:s} »↵\n↵\nJornals recents : {logs:s}",
|
||||
"service_disabled": "Lo servici « {service:s} » es desactivat",
|
||||
"service_enable_failed": "Impossible d’activar lo servici « {service:s} »↵\n↵\nJornals recents : {logs:s}",
|
||||
"service_enabled": "Lo servici « {service:s} » es activat",
|
||||
"service_remove_failed": "Impossible de levar lo servici « {service:s} »",
|
||||
"service_removed": "Lo servici « {service:s} » es estat levat",
|
||||
"service_start_failed": "Impossible d’aviar lo servici « {service:s} »↵\n↵\nJornals recents : {logs:s}",
|
||||
"service_started": "Lo servici « {service:s} » es aviat",
|
||||
"service_stop_failed": "Impossible d’arrestar lo servici « {service:s} »↵\n\nJornals recents : {logs:s}",
|
||||
"service_disable_failed": "Impossible de desactivar lo servici « {service} »↵\n↵\nJornals recents : {logs}",
|
||||
"service_disabled": "Lo servici « {service} » es desactivat",
|
||||
"service_enable_failed": "Impossible d’activar lo servici « {service} »↵\n↵\nJornals recents : {logs}",
|
||||
"service_enabled": "Lo servici « {service} » es activat",
|
||||
"service_remove_failed": "Impossible de levar lo servici « {service} »",
|
||||
"service_removed": "Lo servici « {service} » es estat levat",
|
||||
"service_start_failed": "Impossible d’aviar lo servici « {service} »↵\n↵\nJornals recents : {logs}",
|
||||
"service_started": "Lo servici « {service} » es aviat",
|
||||
"service_stop_failed": "Impossible d’arrestar lo servici « {service} »↵\n\nJornals recents : {logs}",
|
||||
"ssowat_conf_generated": "La configuracion SSowat es generada",
|
||||
"ssowat_conf_updated": "La configuracion SSOwat es estada actualizada",
|
||||
"system_upgraded": "Lo sistèma es estat actualizat",
|
||||
|
@ -193,46 +190,45 @@
|
|||
"user_deleted": "L’utilizaire es suprimit",
|
||||
"user_deletion_failed": "Supression impossibla de l’utilizaire",
|
||||
"user_home_creation_failed": "Creacion impossibla del repertòri personal a l’utilizaire",
|
||||
"user_unknown": "Utilizaire « {user:s} » desconegut",
|
||||
"user_unknown": "Utilizaire « {user} » desconegut",
|
||||
"user_update_failed": "Modificacion impossibla de l’utilizaire",
|
||||
"user_updated": "L’utilizaire es estat modificat",
|
||||
"service_description_avahi-daemon": "permet d’aténher vòstre servidor via yunohost.local sus vòstre ret local",
|
||||
"service_description_dnsmasq": "gerís la resolucion dels noms de domeni (DNS)",
|
||||
"updating_apt_cache": "Actualizacion de la lista dels paquets disponibles…",
|
||||
"server_reboot_confirm": "Lo servidor es per reaviar sul pic, o volètz vertadièrament ? {answers:s}",
|
||||
"service_add_failed": "Apondon impossible del servici « {service:s} »",
|
||||
"service_added": "Lo servici « {service:s} » es ajustat",
|
||||
"service_already_started": "Lo servici « {service:s} » es ja aviat",
|
||||
"service_already_stopped": "Lo servici « {service:s} » es ja arrestat",
|
||||
"server_reboot_confirm": "Lo servidor es per reaviar sul pic, o volètz vertadièrament ? {answers}",
|
||||
"service_add_failed": "Apondon impossible del servici « {service} »",
|
||||
"service_added": "Lo servici « {service} » es ajustat",
|
||||
"service_already_started": "Lo servici « {service} » es ja aviat",
|
||||
"service_already_stopped": "Lo servici « {service} » es ja arrestat",
|
||||
"restore_cleaning_failed": "Impossible de netejar lo repertòri temporari de restauracion",
|
||||
"restore_complete": "Restauracion acabada",
|
||||
"restore_confirm_yunohost_installed": "Volètz vertadièrament restaurar un sistèma ja installat ? {answers:s}",
|
||||
"restore_confirm_yunohost_installed": "Volètz vertadièrament restaurar un sistèma ja installat ? {answers}",
|
||||
"restore_extracting": "Extraccions dels fichièrs necessaris dins de l’archiu…",
|
||||
"restore_failed": "Impossible de restaurar lo sistèma",
|
||||
"restore_hook_unavailable": "Lo script de restauracion « {part:s} » es pas disponible sus vòstre sistèma e es pas tanpauc dins l’archiu",
|
||||
"restore_hook_unavailable": "Lo script de restauracion « {part} » es pas disponible sus vòstre sistèma e es pas tanpauc dins l’archiu",
|
||||
"restore_may_be_not_enough_disk_space": "Lo sistèma sembla d’aver pas pro d’espaci disponible (liure : {free_space:d} octets, necessari : {needed_space:d} octets, marge de seguretat : {margin:d} octets)",
|
||||
"restore_not_enough_disk_space": "Espaci disponible insufisent (liure : {free_space:d} octets, necessari : {needed_space:d} octets, marge de seguretat : {margin:d} octets)",
|
||||
"restore_nothings_done": "Res es pas estat restaurat",
|
||||
"restore_removing_tmp_dir_failed": "Impossible de levar u ancian repertòri temporari",
|
||||
"restore_running_app_script": "Lançament del script de restauracion per l’aplicacion « {app:s} »…",
|
||||
"restore_running_app_script": "Lançament del script de restauracion per l’aplicacion « {app} »…",
|
||||
"restore_running_hooks": "Execucion dels scripts de restauracion…",
|
||||
"restore_system_part_failed": "Restauracion impossibla de la part « {part:s} » del sistèma",
|
||||
"restore_system_part_failed": "Restauracion impossibla de la part « {part} » del sistèma",
|
||||
"server_shutdown": "Lo servidor serà atudat",
|
||||
"server_shutdown_confirm": "Lo servidor es per s’atudar sul pic, o volètz vertadièrament ? {answers:s}",
|
||||
"server_shutdown_confirm": "Lo servidor es per s’atudar sul pic, o volètz vertadièrament ? {answers}",
|
||||
"server_reboot": "Lo servidor es per reaviar",
|
||||
"not_enough_disk_space": "Espaci disc insufisent sus « {path:s} »",
|
||||
"service_cmd_exec_failed": "Impossible d’executar la comanda « {command:s} »",
|
||||
"not_enough_disk_space": "Espaci disc insufisent sus « {path} »",
|
||||
"service_cmd_exec_failed": "Impossible d’executar la comanda « {command} »",
|
||||
"service_description_mysql": "garda las donadas de las aplicacions (base de donadas SQL)",
|
||||
"service_description_postfix": "emplegat per enviar e recebre de corrièls",
|
||||
"service_description_slapd": "garda los utilizaires, domenis e lors informacions ligadas",
|
||||
"service_description_ssh": "vos permet de vos connectar a distància a vòstre servidor via un teminal (protocòl SSH)",
|
||||
"service_description_yunohost-api": "permet las interaccions entre l’interfàcia web de YunoHost e le sistèma",
|
||||
"service_description_yunohost-firewall": "gerís los pòrts de connexion dobèrts e tampats als servicis",
|
||||
"global_settings_cant_serialize_settings": "Fracàs de la serializacion de las donadas de parametratge, rason : {reason:s}",
|
||||
"global_settings_cant_serialize_settings": "Fracàs de la serializacion de las donadas de parametratge, rason : {reason}",
|
||||
"ip6tables_unavailable": "Podètz pas jogar amb ip6tables aquí. Siá sèts dins un contenedor, siá vòstre nuclèu es pas compatible amb aquela opcion",
|
||||
"iptables_unavailable": "Podètz pas jogar amb iptables aquí. Siá sèts dins un contenedor, siá vòstre nuclèu es pas compatible amb aquela opcion",
|
||||
"mail_alias_remove_failed": "Supression impossibla de l’alias de corrièl « {mail:s} »",
|
||||
"mail_forward_remove_failed": "Supression impossibla del corrièl de transferiment « {mail:s} »",
|
||||
"mail_alias_remove_failed": "Supression impossibla de l’alias de corrièl « {mail} »",
|
||||
"mail_forward_remove_failed": "Supression impossibla del corrièl de transferiment « {mail} »",
|
||||
"migrations_migration_has_failed": "La migracion {id} a pas capitat, abandon. Error : {exception}",
|
||||
"migrations_skip_migration": "Passatge de la migracion {id}…",
|
||||
"migrations_to_be_ran_manually": "La migracion {id} deu èsser lançada manualament. Mercés d’anar a Aisinas > Migracion dins l’interfàcia admin, o lançar « yunohost tools migrations run ».",
|
||||
|
@ -245,12 +241,12 @@
|
|||
"service_description_redis-server": "una basa de donadas especializada per un accès rapid a las donadas, las filas d’espèra e la comunicacion entre programas",
|
||||
"service_description_rspamd": "filtra lo corrièl pas desirat e mai foncionalitats ligadas al corrièl",
|
||||
"pattern_mailbox_quota": "Deu èsser una talha amb lo sufixe b/k/M/G/T o 0 per desactivar la quòta",
|
||||
"backup_archive_writing_error": "Impossible d’ajustar los fichièrs « {source:s} » a la salvagarda (nomenats dins l’archiu « {dest:s} »)dins l’archiu comprimit « {archive:s} »",
|
||||
"backup_archive_writing_error": "Impossible d’ajustar los fichièrs « {source} » a la salvagarda (nomenats dins l’archiu « {dest} »)dins l’archiu comprimit « {archive} »",
|
||||
"backup_cant_mount_uncompress_archive": "Impossible de montar en lectura sola lo repertòri de l’archiu descomprimit",
|
||||
"backup_no_uncompress_archive_dir": "Lo repertòri de l’archiu descomprimit existís pas",
|
||||
"pattern_username": "Deu èsser compausat solament de caractèrs alfanumerics en letras minusculas e de tirets basses",
|
||||
"experimental_feature": "Atencion : aquesta foncionalitat es experimentala e deu pas èsser considerada coma establa, deuriatz pas l’utilizar levat que sapiatz çò que fasètz.",
|
||||
"log_corrupted_md_file": "Lo fichièr YAML de metadonadas ligat als jornals d’audit es damatjat : « {md_file} »\nError : {error:s}",
|
||||
"log_corrupted_md_file": "Lo fichièr YAML de metadonadas ligat als jornals d’audit es damatjat : « {md_file} »\nError : {error}",
|
||||
"log_link_to_log": "Jornal complèt d’aquesta operacion : <a href=\"#/tools/logs/{name}\" style=\"text-decoration:underline\">{desc}</a>",
|
||||
"log_help_to_get_log": "Per veire lo jornal d’aquesta operacion « {desc} », utilizatz la comanda « yunohost log show {name}{name} »",
|
||||
"log_link_to_failed_log": "L’operacion « {desc} » a pas capitat ! Per obténer d’ajuda, mercés <a href=\"#/tools/logs/{name}\"> de fornir lo jornal complèt de l’operacion</a>",
|
||||
|
@ -303,27 +299,27 @@
|
|||
"ask_new_path": "Nòu camin",
|
||||
"backup_actually_backuping": "Creacion d’un archiu de seguretat a partir dels fichièrs recuperats...",
|
||||
"backup_mount_archive_for_restore": "Preparacion de l’archiu per restauracion...",
|
||||
"dyndns_could_not_check_available": "Verificacion impossibla de la disponibilitat de {domain:s} sus {provider:s}.",
|
||||
"file_does_not_exist": "Lo camin {path:s} existís pas.",
|
||||
"dyndns_could_not_check_available": "Verificacion impossibla de la disponibilitat de {domain} sus {provider}.",
|
||||
"file_does_not_exist": "Lo camin {path} existís pas.",
|
||||
"global_settings_setting_security_password_admin_strength": "Fòrça del senhal administrator",
|
||||
"global_settings_setting_security_password_user_strength": "Fòrça del senhal utilizaire",
|
||||
"root_password_replaced_by_admin_password": "Lo senhal root es estat remplaçat pel senhal administrator.",
|
||||
"service_restarted": "Lo servici '{service:s}' es estat reaviat",
|
||||
"service_restarted": "Lo servici '{service}' es estat reaviat",
|
||||
"admin_password_too_long": "Causissètz un senhal d’almens 127 caractèrs",
|
||||
"service_reloaded": "Lo servici « {service:s} » es estat tornat cargar",
|
||||
"service_reloaded": "Lo servici « {service} » es estat tornat cargar",
|
||||
"already_up_to_date": "I a pas res a far ! Tot es ja a jorn !",
|
||||
"app_action_cannot_be_ran_because_required_services_down": "Aquestas aplicacions necessitan d’èsser lançadas per poder executar aquesta accion : {services}. Abans de contunhar deuriatz ensajar de reaviar los servicis seguents (e tanben cercar perque son tombats en pana) : {services}",
|
||||
"confirm_app_install_warning": "Atencion : aquesta aplicacion fonciona mas non es pas ben integrada amb YunoHost. Unas foncionalitats coma l’autentificacion unica e la còpia de seguretat/restauracion pòdon èsser indisponiblas. volètz l’installar de totas manièras ? [{answers:s}] ",
|
||||
"confirm_app_install_danger": "PERILH ! Aquesta aplicacion es encara experimentala (autrament dich, fonciona pas) e es possible que còpe lo sistèma ! Deuriatz PAS l’installar se non sabètz çò que fasètz. Volètz vertadièrament córrer aqueste risc ? [{answers:s}]",
|
||||
"confirm_app_install_thirdparty": "ATENCION ! L’installacion d’aplicacions tèrças pòt comprometre l’integralitat e la seguretat del sistèma. Deuriatz PAS l’installar se non sabètz pas çò que fasètz. Volètz vertadièrament córrer aqueste risc ? [{answers:s}] ",
|
||||
"confirm_app_install_warning": "Atencion : aquesta aplicacion fonciona mas non es pas ben integrada amb YunoHost. Unas foncionalitats coma l’autentificacion unica e la còpia de seguretat/restauracion pòdon èsser indisponiblas. volètz l’installar de totas manièras ? [{answers}] ",
|
||||
"confirm_app_install_danger": "PERILH ! Aquesta aplicacion es encara experimentala (autrament dich, fonciona pas) e es possible que còpe lo sistèma ! Deuriatz PAS l’installar se non sabètz çò que fasètz. Volètz vertadièrament córrer aqueste risc ? [{answers}]",
|
||||
"confirm_app_install_thirdparty": "ATENCION ! L’installacion d’aplicacions tèrças pòt comprometre l’integralitat e la seguretat del sistèma. Deuriatz PAS l’installar se non sabètz pas çò que fasètz. Volètz vertadièrament córrer aqueste risc ? [{answers}] ",
|
||||
"dpkg_lock_not_available": "Aquesta comanda pòt pas s’executar pel moment perque un autre programa sembla utilizar lo varrolh de dpkg (lo gestionari de paquets del sistèma)",
|
||||
"log_regen_conf": "Regenerar las configuracions del sistèma « {} »",
|
||||
"service_reloaded_or_restarted": "Lo servici « {service:s} » es estat recargat o reaviat",
|
||||
"service_reloaded_or_restarted": "Lo servici « {service} » es estat recargat o reaviat",
|
||||
"tools_upgrade_regular_packages_failed": "Actualizacion impossibla dels paquets seguents : {packages_list}",
|
||||
"tools_upgrade_special_packages_completed": "L’actualizacion dels paquets de YunoHost es acabada !\nQuichatz [Entrada] per tornar a la linha de comanda",
|
||||
"dpkg_is_broken": "Podètz pas far aquò pel moment perque dpkg/APT (los gestionaris de paquets del sistèma) sembla èsser mal configurat… Podètz ensajar de solucionar aquò en vos connectar via SSH e en executar « sudo dpkg --configure -a ».",
|
||||
"global_settings_setting_service_ssh_allow_deprecated_dsa_hostkey": "Autorizar l’utilizacion de la clau òst DSA (obsolèta) per la configuracion del servici SSH",
|
||||
"hook_json_return_error": "Fracàs de la lectura del retorn de l’script {path:s}. Error : {msg:s}. Contengut brut : {raw_content}",
|
||||
"hook_json_return_error": "Fracàs de la lectura del retorn de l’script {path}. Error : {msg}. Contengut brut : {raw_content}",
|
||||
"pattern_password_app": "O planhèm, los senhals devon pas conténer los caractèrs seguents : {forbidden_chars}",
|
||||
"regenconf_file_backed_up": "Lo fichièr de configuracion « {conf} » es estat salvagardat dins « {backup} »",
|
||||
"regenconf_file_copy_failed": "Còpia impossibla del nòu fichièr de configuracion « {new} » cap a « {conf} »",
|
||||
|
@ -345,9 +341,9 @@
|
|||
"global_settings_setting_security_ssh_compatibility": "Solucion de compromés entre compatibilitat e seguretat pel servidor SSH. Afècta los criptografs (e d’autres aspèctes ligats amb la seguretat)",
|
||||
"global_settings_setting_security_postfix_compatibility": "Solucion de compromés entre compatibilitat e seguretat pel servidor Postfix. Afècta los criptografs (e d’autres aspèctes ligats amb la seguretat)",
|
||||
"service_regen_conf_is_deprecated": "« yunohost service regen-conf » es despreciat ! Utilizatz « yunohost tools regen-conf » allòc.",
|
||||
"service_reload_failed": "Impossible de recargar lo servici « {service:s} »\n\nJornal d’audit recent : {logs:s}",
|
||||
"service_restart_failed": "Impossible de reaviar lo servici « {service:s} »\n\nJornal d’audit recent : {logs:s}",
|
||||
"service_reload_or_restart_failed": "Impossible de recargar o reaviar lo servici « {service:s} »\n\nJornal d’audit recent : {logs:s}",
|
||||
"service_reload_failed": "Impossible de recargar lo servici « {service} »\n\nJornal d’audit recent : {logs}",
|
||||
"service_restart_failed": "Impossible de reaviar lo servici « {service} »\n\nJornal d’audit recent : {logs}",
|
||||
"service_reload_or_restart_failed": "Impossible de recargar o reaviar lo servici « {service} »\n\nJornal d’audit recent : {logs}",
|
||||
"regenconf_file_kept_back": "S’espèra que lo fichièr de configuracion « {conf} » siá suprimit per regen-conf (categoria {category} mas es estat mantengut.",
|
||||
"this_action_broke_dpkg": "Aquesta accion a copat dpkg/apt (los gestionaris de paquets del sistèma)… Podètz ensajar de resòlver aqueste problèma en vos connectant amb SSH e executant « sudo dpkg --configure -a ».",
|
||||
"tools_upgrade_at_least_one": "Especificatz --apps O --system",
|
||||
|
@ -357,7 +353,7 @@
|
|||
"tools_upgrade_special_packages_explanation": "Aquesta accion s’acabarà mas l’actualizacion especiala actuala contunharà en rèire-plan. Comencetz pas cap d’autra accion sul servidor dins las ~ 10 minutas que venon (depend de la velocitat de la maquina). Un còp acabat, benlèu que vos calrà vos tornar connectar a l’interfàcia d’administracion. Los jornals d’audit de l’actualizacion seràn disponibles a Aisinas > Jornals d’audit (dins l’interfàcia d’administracion) o amb « yunohost log list » (en linha de comanda).",
|
||||
"update_apt_cache_failed": "I a agut d’errors en actualizar la memòria cache d’APT (lo gestionari de paquets de Debian). Aquí avètz las linhas de sources.list que pòdon vos ajudar a identificar las linhas problematicas : \n{sourceslist}",
|
||||
"update_apt_cache_warning": "I a agut d’errors en actualizar la memòria cache d’APT (lo gestionari de paquets de Debian). Aquí avètz las linhas de sources.list que pòdon vos ajudar a identificar las linhas problematicas : \n{sourceslist}",
|
||||
"backup_permission": "Autorizacion de salvagarda per l’aplicacion {app:s}",
|
||||
"backup_permission": "Autorizacion de salvagarda per l’aplicacion {app}",
|
||||
"group_created": "Grop « {group} » creat",
|
||||
"group_creation_failed": "Fracàs de la creacion del grop « {group} » : {error}",
|
||||
"group_deleted": "Lo grop « {group} » es estat suprimit",
|
||||
|
@ -367,15 +363,15 @@
|
|||
"group_updated": "Lo grop « {group} » es estat actualizat",
|
||||
"group_update_failed": "Actualizacion impossibla del grop « {group} » : {error}",
|
||||
"log_user_group_update": "Actualizar lo grop « {} »",
|
||||
"permission_already_exist": "La permission « {permission:s} » existís ja",
|
||||
"permission_created": "Permission « {permission:s} » creada",
|
||||
"permission_already_exist": "La permission « {permission} » existís ja",
|
||||
"permission_created": "Permission « {permission} » creada",
|
||||
"permission_creation_failed": "Creacion impossibla de la permission",
|
||||
"permission_deleted": "Permission « {permission:s} » suprimida",
|
||||
"permission_deletion_failed": "Fracàs de la supression de la permission « {permission:s} »",
|
||||
"permission_not_found": "Permission « {permission:s} » pas trobada",
|
||||
"permission_deleted": "Permission « {permission} » suprimida",
|
||||
"permission_deletion_failed": "Fracàs de la supression de la permission « {permission} »",
|
||||
"permission_not_found": "Permission « {permission} » pas trobada",
|
||||
"permission_update_failed": "Fracàs de l’actualizacion de la permission",
|
||||
"permission_updated": "La permission « {permission:s} » es estada actualizada",
|
||||
"mailbox_disabled": "La bóstia de las letras es desactivada per l’utilizaire {user:s}",
|
||||
"permission_updated": "La permission « {permission} » es estada actualizada",
|
||||
"mailbox_disabled": "La bóstia de las letras es desactivada per l’utilizaire {user}",
|
||||
"migrations_success_forward": "Migracion {id} corrèctament realizada !",
|
||||
"migrations_running_forward": "Execucion de la migracion {id}…",
|
||||
"migrations_must_provide_explicit_targets": "Devètz fornir una cibla explicita quand utilizatz using --skip o --force-rerun",
|
||||
|
@ -498,8 +494,8 @@
|
|||
"app_manifest_install_ask_domain": "Causissètz lo domeni ont volètz installar aquesta aplicacion",
|
||||
"app_argument_password_no_default": "Error pendent l’analisi de l’argument del senhal « {name} » : l’argument de senhal pòt pas aver de valor per defaut per de rason de seguretat",
|
||||
"app_label_deprecated": "Aquesta comanda es estada renduda obsolèta. Mercés d'utilizar lo nòva \"yunohost user permission update\" per gerir letiquetada de l'aplication",
|
||||
"additional_urls_already_removed": "URL addicionala {url:s} es ja estada elimida per la permission «#permission:s»",
|
||||
"additional_urls_already_added": "URL addicionadal «{url:s}'» es ja estada aponduda per la permission «{permission:s}»",
|
||||
"additional_urls_already_removed": "URL addicionala {url} es ja estada elimida per la permission «#permission:s»",
|
||||
"additional_urls_already_added": "URL addicionadal «{url}'» es ja estada aponduda per la permission «{permission}»",
|
||||
"migration_0015_yunohost_upgrade": "Aviada de la mesa a jorn de YunoHost...",
|
||||
"migration_0015_main_upgrade": "Aviada de la mesa a nivèl generala...",
|
||||
"migration_0015_patching_sources_list": "Mesa a jorn del fichièr sources.lists...",
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"password_too_simple_1": "Hasło musi mieć co najmniej 8 znaków",
|
||||
"app_already_up_to_date": "{app:s} jest obecnie aktualna",
|
||||
"app_already_installed": "{app:s} jest już zainstalowane",
|
||||
"app_already_up_to_date": "{app} jest obecnie aktualna",
|
||||
"app_already_installed": "{app} jest już zainstalowane",
|
||||
"already_up_to_date": "Nic do zrobienia. Wszystko jest obecnie aktualne.",
|
||||
"admin_password_too_long": "Proszę wybrać hasło krótsze niż 127 znaków",
|
||||
"admin_password_changed": "Hasło administratora zostało zmienione",
|
||||
"admin_password_change_failed": "Nie można zmienić hasła",
|
||||
"admin_password": "Hasło administratora",
|
||||
"action_invalid": "Nieprawidłowa operacja '{action:s}'",
|
||||
"action_invalid": "Nieprawidłowa operacja '{action}'",
|
||||
"aborting": "Przerywanie."
|
||||
}
|
115
locales/pt.json
115
locales/pt.json
|
@ -1,19 +1,19 @@
|
|||
{
|
||||
"action_invalid": "Acção Inválida '{action:s}'",
|
||||
"action_invalid": "Acção Inválida '{action}'",
|
||||
"admin_password": "Senha de administração",
|
||||
"admin_password_change_failed": "Não é possível alterar a senha",
|
||||
"admin_password_change_failed": "Não foi possível alterar a senha",
|
||||
"admin_password_changed": "A senha da administração foi alterada",
|
||||
"app_already_installed": "{app:s} já está instalada",
|
||||
"app_extraction_failed": "Não foi possível extrair os ficheiros para instalação",
|
||||
"app_id_invalid": "A ID da aplicação é inválida",
|
||||
"app_install_files_invalid": "Ficheiros para instalação corrompidos",
|
||||
"app_already_installed": "{app} já está instalada",
|
||||
"app_extraction_failed": "Não foi possível extrair os arquivos para instalação",
|
||||
"app_id_invalid": "App ID invaĺido",
|
||||
"app_install_files_invalid": "Esses arquivos não podem ser instalados",
|
||||
"app_manifest_invalid": "Manifesto da aplicação inválido: {error}",
|
||||
"app_not_installed": "{app:s} não está instalada",
|
||||
"app_removed": "{app:s} removida com êxito",
|
||||
"app_not_installed": "{app} não está instalada",
|
||||
"app_removed": "{app} removida com êxito",
|
||||
"app_sources_fetch_failed": "Incapaz obter os ficheiros fonte",
|
||||
"app_unknown": "Aplicação desconhecida",
|
||||
"app_upgrade_failed": "Não foi possível atualizar {app:s}",
|
||||
"app_upgraded": "{app:s} atualizada com sucesso",
|
||||
"app_upgrade_failed": "Não foi possível atualizar {app}",
|
||||
"app_upgraded": "{app} atualizada com sucesso",
|
||||
"ask_firstname": "Primeiro nome",
|
||||
"ask_lastname": "Último nome",
|
||||
"ask_main_domain": "Domínio principal",
|
||||
|
@ -21,7 +21,7 @@
|
|||
"ask_password": "Senha",
|
||||
"backup_created": "Backup completo",
|
||||
"backup_output_directory_not_empty": "A pasta de destino não se encontra vazia",
|
||||
"custom_app_url_required": "Deve fornecer um link para atualizar a sua aplicação personalizada {app:s}",
|
||||
"custom_app_url_required": "Deve fornecer um link para atualizar a sua aplicação personalizada {app}",
|
||||
"domain_cert_gen_failed": "Não foi possível gerar o certificado",
|
||||
"domain_created": "Domínio criado com êxito",
|
||||
"domain_creation_failed": "Não foi possível criar o domínio",
|
||||
|
@ -38,18 +38,16 @@
|
|||
"dyndns_ip_updated": "Endereço IP atualizado com êxito a partir de DynDNS",
|
||||
"dyndns_key_generating": "A chave DNS está a ser gerada, isto pode demorar um pouco...",
|
||||
"dyndns_registered": "Dom+inio DynDNS registado com êxito",
|
||||
"dyndns_registration_failed": "Não foi possível registar o domínio DynDNS: {error:s}",
|
||||
"dyndns_registration_failed": "Não foi possível registar o domínio DynDNS: {error}",
|
||||
"dyndns_unavailable": "Subdomínio DynDNS indisponível",
|
||||
"extracting": "Extração em curso...",
|
||||
"field_invalid": "Campo inválido '{:s}'",
|
||||
"field_invalid": "Campo inválido '{}'",
|
||||
"firewall_reloaded": "Firewall recarregada com êxito",
|
||||
"installation_complete": "Instalação concluída",
|
||||
"installation_failed": "A instalação falhou",
|
||||
"iptables_unavailable": "Não pode alterar aqui a iptables. Ou o seu kernel não o suporta ou está num espaço reservado.",
|
||||
"ldap_initialized": "LDAP inicializada com êxito",
|
||||
"mail_alias_remove_failed": "Não foi possível remover a etiqueta de correio '{mail:s}'",
|
||||
"mail_domain_unknown": "Domínio de endereço de correio '{domain:s}' inválido. Por favor, usa um domínio administrado per esse servidor.",
|
||||
"mail_forward_remove_failed": "Não foi possível remover o reencaminhamento de correio '{mail:s}'",
|
||||
"mail_alias_remove_failed": "Não foi possível remover a etiqueta de correio '{mail}'",
|
||||
"mail_domain_unknown": "Domínio de endereço de correio '{domain}' inválido. Por favor, usa um domínio administrado per esse servidor.",
|
||||
"mail_forward_remove_failed": "Não foi possível remover o reencaminhamento de correio '{mail}'",
|
||||
"main_domain_change_failed": "Incapaz alterar o domínio raiz",
|
||||
"main_domain_changed": "Domínio raiz alterado com êxito",
|
||||
"packages_upgrade_failed": "Não foi possível atualizar todos os pacotes",
|
||||
|
@ -59,23 +57,23 @@
|
|||
"pattern_lastname": "Deve ser um último nome válido",
|
||||
"pattern_password": "Deve ter no mínimo 3 caracteres",
|
||||
"pattern_username": "Devem apenas ser carácteres minúsculos alfanuméricos e subtraços",
|
||||
"restore_confirm_yunohost_installed": "Quer mesmo restaurar um sistema já instalado? [{answers:s}]",
|
||||
"service_add_failed": "Incapaz adicionar serviço '{service:s}'",
|
||||
"restore_confirm_yunohost_installed": "Quer mesmo restaurar um sistema já instalado? [{answers}]",
|
||||
"service_add_failed": "Incapaz adicionar serviço '{service}'",
|
||||
"service_added": "Serviço adicionado com êxito",
|
||||
"service_already_started": "O serviço '{service:s}' já está em execussão",
|
||||
"service_already_stopped": "O serviço '{service:s}' já está parado",
|
||||
"service_cmd_exec_failed": "Incapaz executar o comando '{command:s}'",
|
||||
"service_disable_failed": "Incapaz desativar o serviço '{service:s}'",
|
||||
"service_disabled": "O serviço '{service:s}' foi desativado com êxito",
|
||||
"service_enable_failed": "Incapaz de ativar o serviço '{service:s}'",
|
||||
"service_enabled": "Serviço '{service:s}' ativado com êxito",
|
||||
"service_remove_failed": "Incapaz de remover o serviço '{service:s}'",
|
||||
"service_already_started": "O serviço '{service}' já está em execussão",
|
||||
"service_already_stopped": "O serviço '{service}' já está parado",
|
||||
"service_cmd_exec_failed": "Incapaz executar o comando '{command}'",
|
||||
"service_disable_failed": "Incapaz desativar o serviço '{service}'",
|
||||
"service_disabled": "O serviço '{service}' foi desativado com êxito",
|
||||
"service_enable_failed": "Incapaz de ativar o serviço '{service}'",
|
||||
"service_enabled": "Serviço '{service}' ativado com êxito",
|
||||
"service_remove_failed": "Incapaz de remover o serviço '{service}'",
|
||||
"service_removed": "Serviço eliminado com êxito",
|
||||
"service_start_failed": "Não foi possível iniciar o serviço '{service:s}'",
|
||||
"service_started": "O serviço '{service:s}' foi iniciado com êxito",
|
||||
"service_stop_failed": "Incapaz parar o serviço '{service:s}'",
|
||||
"service_stopped": "O serviço '{service:s}' foi parado com êxito",
|
||||
"service_unknown": "Serviço desconhecido '{service:s}'",
|
||||
"service_start_failed": "Não foi possível iniciar o serviço '{service}'",
|
||||
"service_started": "O serviço '{service}' foi iniciado com êxito",
|
||||
"service_stop_failed": "Incapaz parar o serviço '{service}'",
|
||||
"service_stopped": "O serviço '{service}' foi parado com êxito",
|
||||
"service_unknown": "Serviço desconhecido '{service}'",
|
||||
"ssowat_conf_generated": "Configuração SSOwat gerada com êxito",
|
||||
"ssowat_conf_updated": "Configuração persistente SSOwat atualizada com êxito",
|
||||
"system_upgraded": "Sistema atualizado com êxito",
|
||||
|
@ -95,41 +93,52 @@
|
|||
"yunohost_configured": "YunoHost configurada com êxito",
|
||||
"yunohost_installing": "A instalar a YunoHost...",
|
||||
"yunohost_not_installed": "YunoHost ainda não está corretamente configurado. Por favor execute as 'ferramentas pós-instalação yunohost'.",
|
||||
"app_not_correctly_installed": "{app:s} parece não estar corretamente instalada",
|
||||
"app_not_properly_removed": "{app:s} não foi corretamente removido",
|
||||
"app_not_correctly_installed": "{app} parece não estar corretamente instalada",
|
||||
"app_not_properly_removed": "{app} não foi corretamente removido",
|
||||
"app_requirements_checking": "Verificando os pacotes necessários para {app}...",
|
||||
"app_unsupported_remote_type": "A aplicação não possui suporte ao tipo remoto utilizado",
|
||||
"backup_archive_app_not_found": "A aplicação '{app:s}' não foi encontrada no arquivo de backup",
|
||||
"backup_archive_broken_link": "Impossível acessar o arquivo de backup (link quebrado ao {path:s})",
|
||||
"backup_archive_app_not_found": "A aplicação '{app}' não foi encontrada no arquivo de backup",
|
||||
"backup_archive_broken_link": "Impossível acessar o arquivo de backup (link quebrado ao {path})",
|
||||
"backup_archive_name_exists": "O nome do arquivo de backup já existe",
|
||||
"backup_archive_open_failed": "Não é possível abrir o arquivo de backup",
|
||||
"backup_cleaning_failed": "Não é possível limpar a pasta temporária de backups",
|
||||
"backup_creation_failed": "A criação do backup falhou",
|
||||
"backup_delete_error": "Impossível apagar '{path:s}'",
|
||||
"backup_delete_error": "Impossível apagar '{path}'",
|
||||
"backup_deleted": "O backup foi suprimido",
|
||||
"backup_hook_unknown": "Gancho de backup '{hook:s}' desconhecido",
|
||||
"backup_hook_unknown": "Gancho de backup '{hook}' desconhecido",
|
||||
"backup_nothings_done": "Não há nada para guardar",
|
||||
"backup_output_directory_forbidden": "Diretório de saída proibido. Os backups não podem ser criados em /boot, /dev, /etc, /lib, /root, /run, /sbin, /sys, /usr, /var ou /home/yunohost.backup/archives subpastas",
|
||||
"app_already_installed_cant_change_url": "Este aplicativo já está instalado. A URL não pode ser alterada apenas por esta função. Olhe para o `app changeurl` se estiver disponível.",
|
||||
"app_already_up_to_date": "{app:s} já está atualizado",
|
||||
"app_argument_choice_invalid": "Escolha inválida para o argumento '{name:s}', deve ser um dos {choices:s}",
|
||||
"app_argument_invalid": "Valor inválido de argumento '{name:s}': {error:s}",
|
||||
"app_argument_required": "O argumento '{name:s}' é obrigatório",
|
||||
"app_change_url_failed_nginx_reload": "Falha ao reiniciar o nginx. Aqui está o retorno de 'nginx -t':\n{nginx_errors:s}",
|
||||
"app_already_installed_cant_change_url": "Este aplicativo já está instalado. A URL não pode ser alterada apenas por esta função. Confira em `app changeurl` se está disponível.",
|
||||
"app_already_up_to_date": "{app} já está atualizado",
|
||||
"app_argument_choice_invalid": "Use uma das opções '{choices}' para o argumento '{name}'",
|
||||
"app_argument_invalid": "Escolha um valor válido para o argumento '{name}': {error}",
|
||||
"app_argument_required": "O argumento '{name}' é obrigatório",
|
||||
"app_change_url_failed_nginx_reload": "Não foi possível reiniciar o nginx. Aqui está o retorno de 'nginx -t':\n{nginx_errors}",
|
||||
"app_location_unavailable": "Esta url não está disponível ou está em conflito com outra aplicação já instalada",
|
||||
"app_upgrade_app_name": "Atualizando aplicação {app}…",
|
||||
"app_upgrade_some_app_failed": "Não foi possível atualizar algumas aplicações",
|
||||
"backup_abstract_method": "Este metodo de backup ainda não foi implementado",
|
||||
"backup_app_failed": "Não foi possível fazer o backup dos aplicativos '{app:s}'",
|
||||
"backup_applying_method_custom": "Chamando o metodo personalizado de backup '{method:s}'…",
|
||||
"backup_app_failed": "Não foi possível fazer o backup dos aplicativos '{app}'",
|
||||
"backup_applying_method_custom": "Chamando o metodo personalizado de backup '{method}'…",
|
||||
"backup_applying_method_tar": "Criando o arquivo tar de backup…",
|
||||
"backup_archive_name_unknown": "Desconhece-se o arquivo local de backup de nome '{name:s}'",
|
||||
"backup_archive_system_part_not_available": "A seção do sistema '{part:s}' está indisponivel neste backup",
|
||||
"backup_ask_for_copying_if_needed": "Alguns arquivos não consiguiram ser preparados para backup utilizando o metodo que não gasta espaço de disco temporariamente. Para realizar o backup {size:s}MB precisam ser usados temporariamente. Você concorda?",
|
||||
"backup_archive_name_unknown": "Desconhece-se o arquivo local de backup de nome '{name}'",
|
||||
"backup_archive_system_part_not_available": "A seção do sistema '{part}' está indisponivel neste backup",
|
||||
"backup_ask_for_copying_if_needed": "Alguns arquivos não consiguiram ser preparados para backup utilizando o metodo que não gasta espaço de disco temporariamente. Para realizar o backup {size}MB precisam ser usados temporariamente. Você concorda?",
|
||||
"backup_cant_mount_uncompress_archive": "Não foi possível montar em modo leitura o diretorio de arquivos não comprimido",
|
||||
"backup_copying_to_organize_the_archive": "Copiando {size:s}MB para organizar o arquivo",
|
||||
"app_change_url_identical_domains": "O antigo e o novo domínio / url_path são idênticos ('{domain:s}{path:s}'), nada para fazer.",
|
||||
"backup_copying_to_organize_the_archive": "Copiando {size}MB para organizar o arquivo",
|
||||
"app_change_url_identical_domains": "O antigo e o novo domínio / url_path são idênticos ('{domain}{path}'), nada para fazer.",
|
||||
"password_too_simple_1": "A senha precisa ter pelo menos 8 caracteres",
|
||||
"admin_password_too_long": "Escolha uma senha que contenha menos de 127 caracteres",
|
||||
"aborting": "Abortando."
|
||||
"aborting": "Abortando.",
|
||||
"app_change_url_no_script": "A aplicação '{app_name}' ainda não permite modificar a URL. Talvez devesse atualizá-la.",
|
||||
"app_argument_password_no_default": "Erro ao interpretar argumento da senha '{name}': O argumento da senha não pode ter um valor padrão por segurança",
|
||||
"app_action_cannot_be_ran_because_required_services_down": "Estes serviços devem estar funcionado para executar esta ação: {services}. Tente reiniciá-los para continuar (e possivelmente investigar o porquê de não estarem funcionado).",
|
||||
"app_action_broke_system": "Esta ação parece ter quebrado estes serviços importantes: {services}",
|
||||
"already_up_to_date": "Nada a ser feito. Tudo já está atualizado.",
|
||||
"additional_urls_already_removed": "A URL adicional '{url}'já está removida para a permissão '{permission}'",
|
||||
"additional_urls_already_added": "A URL adicional '{url}' já está adicionada para a permissão '{permission}'",
|
||||
"app_install_script_failed": "Ocorreu um erro dentro do script de instalação do aplicativo",
|
||||
"app_install_failed": "Não foi possível instalar {app}: {error}",
|
||||
"app_full_domain_unavailable": "Desculpe, esse app deve ser instalado num domínio próprio mas já há outros apps instalados no domínio '{domain}'. Você pode usar um subdomínio dedicado a esse aplicativo.",
|
||||
"app_change_url_success": "A URL agora é {domain}{path}"
|
||||
}
|
|
@ -1,33 +1,33 @@
|
|||
{
|
||||
"action_invalid": "Неверное действие '{action:s}'",
|
||||
"action_invalid": "Неверное действие '{action}'",
|
||||
"admin_password": "Пароль администратора",
|
||||
"admin_password_change_failed": "Невозможно изменить пароль",
|
||||
"admin_password_changed": "Пароль администратора был изменен",
|
||||
"app_already_installed": "{app:s} уже установлено",
|
||||
"app_already_installed": "{app} уже установлено",
|
||||
"app_already_installed_cant_change_url": "Это приложение уже установлено. URL не может быть изменен только с помощью этой функции. Изучите `app changeurl`, если это доступно.",
|
||||
"app_argument_choice_invalid": "Неверный выбор для аргумента '{name:s}', Это должно быть '{choices:s}'",
|
||||
"app_argument_invalid": "Недопустимое значение аргумента '{name:s}': {error:s}'",
|
||||
"app_already_up_to_date": "{app:s} уже обновлено",
|
||||
"app_argument_required": "Аргумент '{name:s}' необходим",
|
||||
"app_change_url_identical_domains": "Старый и новый domain/url_path идентичны ('{domain:s}{path:s}'), ничего делать не надо.",
|
||||
"app_change_url_no_script": "Приложение '{app_name:s}' не поддерживает изменение url. Наверное, вам нужно обновить приложение.",
|
||||
"app_change_url_success": "Успешно изменён {app:s} url на {domain:s}{path:s}",
|
||||
"app_argument_choice_invalid": "Неверный выбор для аргумента '{name}', Это должно быть '{choices}'",
|
||||
"app_argument_invalid": "Недопустимое значение аргумента '{name}': {error}'",
|
||||
"app_already_up_to_date": "{app} уже обновлено",
|
||||
"app_argument_required": "Аргумент '{name}' необходим",
|
||||
"app_change_url_identical_domains": "Старый и новый domain/url_path идентичны ('{domain}{path}'), ничего делать не надо.",
|
||||
"app_change_url_no_script": "Приложение '{app_name}' не поддерживает изменение url. Наверное, вам нужно обновить приложение.",
|
||||
"app_change_url_success": "Успешно изменён {app} url на {domain}{path}",
|
||||
"app_extraction_failed": "Невозможно извлечь файлы для инсталляции",
|
||||
"app_id_invalid": "Неправильный id приложения",
|
||||
"app_install_files_invalid": "Неправильные файлы инсталляции",
|
||||
"app_location_unavailable": "Этот url отсутствует или конфликтует с уже установленным приложением или приложениями: {apps:s}",
|
||||
"app_location_unavailable": "Этот url отсутствует или конфликтует с уже установленным приложением или приложениями: {apps}",
|
||||
"app_manifest_invalid": "Недопустимый манифест приложения: {error}",
|
||||
"app_not_correctly_installed": "{app:s} , кажется, установлены неправильно",
|
||||
"app_not_installed": "{app:s} не установлены",
|
||||
"app_not_properly_removed": "{app:s} удалены неправильно",
|
||||
"app_removed": "{app:s} удалено",
|
||||
"app_not_correctly_installed": "{app} , кажется, установлены неправильно",
|
||||
"app_not_installed": "{app} не установлены",
|
||||
"app_not_properly_removed": "{app} удалены неправильно",
|
||||
"app_removed": "{app} удалено",
|
||||
"app_requirements_checking": "Проверяю необходимые пакеты для {app}...",
|
||||
"app_sources_fetch_failed": "Невозможно получить исходные файлы",
|
||||
"app_unknown": "Неизвестное приложение",
|
||||
"app_upgrade_app_name": "Обновление приложения {app}...",
|
||||
"app_upgrade_failed": "Невозможно обновить {app:s}",
|
||||
"app_upgrade_failed": "Невозможно обновить {app}",
|
||||
"app_upgrade_some_app_failed": "Невозможно обновить некоторые приложения",
|
||||
"app_upgraded": "{app:s} обновлено",
|
||||
"app_upgraded": "{app} обновлено",
|
||||
"installation_complete": "Установка завершена",
|
||||
"password_too_simple_1": "Пароль должен быть не менее 8 символов"
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
"admin_password": "Administratörslösenord",
|
||||
"admin_password_too_long": "Välj gärna ett lösenord som inte innehåller fler än 127 tecken",
|
||||
"admin_password_change_failed": "Kan inte byta lösenord",
|
||||
"action_invalid": "Ej tillåten åtgärd '{action:s}'",
|
||||
"action_invalid": "Ej tillåten åtgärd '{action}'",
|
||||
"admin_password_changed": "Administratörskontots lösenord ändrades",
|
||||
"aborting": "Avbryter."
|
||||
}
|
36
locales/uk.json
Normal file
36
locales/uk.json
Normal file
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"app_manifest_install_ask_domain": "Оберіть домен, в якому треба встановити цей застосунок",
|
||||
"app_manifest_invalid": "Щось не так з маніфестом застосунку: {error}",
|
||||
"app_location_unavailable": "Ця URL-адреса або недоступна, або конфліктує з уже встановленим застосунком (застосунками):\n{apps}",
|
||||
"app_label_deprecated": "Ця команда застаріла! Будь ласка, використовуйте нову команду 'yunohost user permission update' для управління заголовком застосунку.",
|
||||
"app_make_default_location_already_used": "Неможливо зробити '{app}' типовим застосунком на домені, '{domain}' вже використовується '{other_app}'",
|
||||
"app_install_script_failed": "Сталася помилка в скрипті встановлення застосунку",
|
||||
"app_install_failed": "Неможливо встановити {app}: {error}",
|
||||
"app_install_files_invalid": "Ці файли не можуть бути встановлені",
|
||||
"app_id_invalid": "Неприпустимий ID застосунку",
|
||||
"app_full_domain_unavailable": "Вибачте, цей застосунок повинен бути встановлений на власному домені, але інші застосунки вже встановлені на домені '{domain}'. Замість цього ви можете використовувати піддомен, призначений для цього застосунку.",
|
||||
"app_extraction_failed": "Не вдалося витягти файли встановлення",
|
||||
"app_change_url_success": "URL-адреса {app} тепер {domain}{path}",
|
||||
"app_change_url_no_script": "Застосунок '{app_name}' поки не підтримує зміну URL-адрес. Можливо, вам слід оновити його.",
|
||||
"app_change_url_identical_domains": "Старий і новий domain/url_path збігаються ('{domain}{path}'), нічого робити не треба.",
|
||||
"app_change_url_failed_nginx_reload": "Не вдалося перезавантажити NGINX. Ось результат 'nginx -t':\n{nginx_errors}",
|
||||
"app_argument_required": "Аргумент '{name}' необхідний",
|
||||
"app_argument_password_no_default": "Помилка під час розбору аргументу пароля '{name}': аргумент пароля не може мати типове значення з причин безпеки",
|
||||
"app_argument_invalid": "Виберіть правильне значення для аргументу '{name}': {error}",
|
||||
"app_argument_choice_invalid": "Використовуйте один з цих варіантів '{choices}' для аргументу '{name}'",
|
||||
"app_already_up_to_date": "{app} має найостаннішу версію",
|
||||
"app_already_installed_cant_change_url": "Цей застосунок уже встановлено. URL-адреса не може бути змінена тільки цією функцією. Перевірте в `app changeurl`, якщо вона доступна.",
|
||||
"app_already_installed": "{app} уже встановлено",
|
||||
"app_action_broke_system": "Ця дія, схоже, порушила роботу наступних важливих служб: {services}",
|
||||
"app_action_cannot_be_ran_because_required_services_down": "Для виконання цієї дії повинні бути запущені наступні необхідні служби: {services}. Спробуйте перезапустити їх, щоб продовжити (і, можливо, з'ясувати, чому вони не працюють).",
|
||||
"already_up_to_date": "Нічого не потрібно робити. Все вже актуально.",
|
||||
"admin_password_too_long": "Будь ласка, виберіть пароль коротше 127 символів",
|
||||
"admin_password_changed": "Пароль адміністратора було змінено",
|
||||
"admin_password_change_failed": "Неможливо змінити пароль",
|
||||
"admin_password": "Пароль адміністратора",
|
||||
"additional_urls_already_removed": "Додаткова URL-адреса '{url}' вже видалена в додатковій URL-адресі для дозволу '{permission}'",
|
||||
"additional_urls_already_added": "Додаткова URL-адреса '{url}' вже додана в додаткову URL-адресу для дозволу '{permission}'",
|
||||
"action_invalid": "Неприпустима дія '{action}'",
|
||||
"aborting": "Переривання.",
|
||||
"diagnosis_description_web": "Мережа"
|
||||
}
|
|
@ -4,14 +4,14 @@
|
|||
"app_start_remove": "正在删除{app}……",
|
||||
"admin_password_change_failed": "无法修改密码",
|
||||
"admin_password_too_long": "请选择一个小于127个字符的密码",
|
||||
"app_upgrade_failed": "不能升级{app:s}:{error}",
|
||||
"app_upgrade_failed": "不能升级{app}:{error}",
|
||||
"app_id_invalid": "无效 app ID",
|
||||
"app_unknown": "未知应用",
|
||||
"admin_password_changed": "管理密码已更改",
|
||||
"aborting": "正在放弃。",
|
||||
"admin_password": "管理员密码",
|
||||
"app_start_restore": "正在恢复{app}……",
|
||||
"action_invalid": "无效操作 '{action:s}'",
|
||||
"action_invalid": "无效操作 '{action}'",
|
||||
"ask_lastname": "姓",
|
||||
"diagnosis_everything_ok": "{category}一切看起来不错!",
|
||||
"diagnosis_found_warnings": "找到{warnings}项,可能需要{category}进行改进。",
|
||||
|
@ -31,36 +31,36 @@
|
|||
"diagnosis_basesystem_host": "服务器正在运行Debian {debian_version}",
|
||||
"diagnosis_basesystem_hardware_model": "服务器型号为 {model}",
|
||||
"diagnosis_basesystem_hardware": "服务器硬件架构为{virt} {arch}",
|
||||
"custom_app_url_required": "您必须提供URL才能升级自定义应用 {app:s}",
|
||||
"confirm_app_install_thirdparty": "危险! 该应用程序不是YunoHost的应用程序目录的一部分。 安装第三方应用程序可能会损害系统的完整性和安全性。 除非您知道自己在做什么,否则可能不应该安装它, 如果此应用无法运行或无法正常使用系统,将不会提供任何支持。如果您仍然愿意承担此风险,请输入'{answers:s}'",
|
||||
"confirm_app_install_danger": "危险! 已知此应用仍处于实验阶段(如果未明确无法正常运行)! 除非您知道自己在做什么,否则可能不应该安装它。 如果此应用无法运行或无法正常使用系统,将不会提供任何支持。如果您仍然愿意承担此风险,请输入'{answers:s}'",
|
||||
"confirm_app_install_warning": "警告:此应用程序可能可以运行,但未与YunoHost很好地集成。某些功能(例如单点登录和备份/还原)可能不可用, 仍要安装吗? [{answers:s}] ",
|
||||
"certmanager_unable_to_parse_self_CA_name": "无法解析自签名授权的名称 (file: {file:s})",
|
||||
"certmanager_self_ca_conf_file_not_found": "找不到用于自签名授权的配置文件(file: {file:s})",
|
||||
"certmanager_no_cert_file": "无法读取域{domain:s}的证书文件(file: {file:s})",
|
||||
"certmanager_hit_rate_limit": "最近已经为此域{domain:s}颁发了太多的证书。请稍后再试。有关更多详细信息,请参见https://letsencrypt.org/docs/rate-limits/",
|
||||
"certmanager_warning_subdomain_dns_record": "子域'{subdomain:s}' 不能解析为与 '{domain:s}'相同的IP地址, 在修复此问题并重新生成证书之前,某些功能将不可用。",
|
||||
"certmanager_domain_http_not_working": "域 {domain:s}似乎无法通过HTTP访问。请检查诊断中的“网络”类别以获取更多信息。(如果您知道自己在做什么,请使用“ --no-checks”关闭这些检查。)",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "域'{domain:s}' 的DNS记录与此服务器的IP不同。请检查诊断中的“ DNS记录”(基本)类别,以获取更多信息。 如果您最近修改了A记录,请等待它传播(某些DNS传播检查器可在线获得)。 (如果您知道自己在做什么,请使用“ --no-checks”关闭这些检查。)",
|
||||
"certmanager_domain_cert_not_selfsigned": "域 {domain:s} 的证书不是自签名的, 您确定要更换它吗?(使用“ --force”这样做。)",
|
||||
"custom_app_url_required": "您必须提供URL才能升级自定义应用 {app}",
|
||||
"confirm_app_install_thirdparty": "危险! 该应用程序不是YunoHost的应用程序目录的一部分。 安装第三方应用程序可能会损害系统的完整性和安全性。 除非您知道自己在做什么,否则可能不应该安装它, 如果此应用无法运行或无法正常使用系统,将不会提供任何支持。如果您仍然愿意承担此风险,请输入'{answers}'",
|
||||
"confirm_app_install_danger": "危险! 已知此应用仍处于实验阶段(如果未明确无法正常运行)! 除非您知道自己在做什么,否则可能不应该安装它。 如果此应用无法运行或无法正常使用系统,将不会提供任何支持。如果您仍然愿意承担此风险,请输入'{answers}'",
|
||||
"confirm_app_install_warning": "警告:此应用程序可能可以运行,但未与YunoHost很好地集成。某些功能(例如单点登录和备份/还原)可能不可用, 仍要安装吗? [{answers}] ",
|
||||
"certmanager_unable_to_parse_self_CA_name": "无法解析自签名授权的名称 (file: {file})",
|
||||
"certmanager_self_ca_conf_file_not_found": "找不到用于自签名授权的配置文件(file: {file})",
|
||||
"certmanager_no_cert_file": "无法读取域{domain}的证书文件(file: {file})",
|
||||
"certmanager_hit_rate_limit": "最近已经为此域{domain}颁发了太多的证书。请稍后再试。有关更多详细信息,请参见https://letsencrypt.org/docs/rate-limits/",
|
||||
"certmanager_warning_subdomain_dns_record": "子域'{subdomain}' 不能解析为与 '{domain}'相同的IP地址, 在修复此问题并重新生成证书之前,某些功能将不可用。",
|
||||
"certmanager_domain_http_not_working": "域 {domain}似乎无法通过HTTP访问。请检查诊断中的“网络”类别以获取更多信息。(如果您知道自己在做什么,请使用“ --no-checks”关闭这些检查。)",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "域'{domain}' 的DNS记录与此服务器的IP不同。请检查诊断中的“ DNS记录”(基本)类别,以获取更多信息。 如果您最近修改了A记录,请等待它传播(某些DNS传播检查器可在线获得)。 (如果您知道自己在做什么,请使用“ --no-checks”关闭这些检查。)",
|
||||
"certmanager_domain_cert_not_selfsigned": "域 {domain} 的证书不是自签名的, 您确定要更换它吗?(使用“ --force”这样做。)",
|
||||
"certmanager_domain_not_diagnosed_yet": "尚无域{domain} 的诊断结果。请在诊断部分中针对“ DNS记录”和“ Web”类别重新运行诊断,以检查该域是否已准备好安装“Let's Encrypt”证书。(或者,如果您知道自己在做什么,请使用“ --no-checks”关闭这些检查。)",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "尝试将新证书用于 {domain:s}无效...",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "尝试将新证书用于 {domain}无效...",
|
||||
"certmanager_cert_signing_failed": "无法签署新证书",
|
||||
"certmanager_cert_install_success_selfsigned": "为域 '{domain:s}'安装了自签名证书",
|
||||
"certmanager_cert_renew_success": "为域 '{domain:s}'续订“Let's Encrypt”证书",
|
||||
"certmanager_cert_install_success": "为域'{domain:s}'安装“Let's Encrypt”证书",
|
||||
"certmanager_cannot_read_cert": "尝试为域 {domain:s}(file: {file:s})打开当前证书时发生错误,原因: {reason:s}",
|
||||
"certmanager_attempt_to_replace_valid_cert": "您正在尝试覆盖域{domain:s}的有效证书!(使用--force绕过)",
|
||||
"certmanager_attempt_to_renew_valid_cert": "域'{domain:s}'的证书不会过期!(如果知道自己在做什么,则可以使用--force)",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "“Let's Encrypt”未颁发域'{domain:s}'的证书,无法自动续订!",
|
||||
"certmanager_cert_install_success_selfsigned": "为域 '{domain}'安装了自签名证书",
|
||||
"certmanager_cert_renew_success": "为域 '{domain}'续订“Let's Encrypt”证书",
|
||||
"certmanager_cert_install_success": "为域'{domain}'安装“Let's Encrypt”证书",
|
||||
"certmanager_cannot_read_cert": "尝试为域 {domain}(file: {file})打开当前证书时发生错误,原因: {reason}",
|
||||
"certmanager_attempt_to_replace_valid_cert": "您正在尝试覆盖域{domain}的有效证书!(使用--force绕过)",
|
||||
"certmanager_attempt_to_renew_valid_cert": "域'{domain}'的证书不会过期!(如果知道自己在做什么,则可以使用--force)",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "“Let's Encrypt”未颁发域'{domain}'的证书,无法自动续订!",
|
||||
"certmanager_acme_not_configured_for_domain": "目前无法针对{domain}运行ACME挑战,因为其nginx conf缺少相应的代码段...请使用“yunohost tools regen-conf nginx --dry-run --with-diff”确保您的nginx配置是最新的。",
|
||||
"backup_with_no_restore_script_for_app": "{app:s} 没有还原脚本,您将无法自动还原该应用程序的备份。",
|
||||
"backup_with_no_backup_script_for_app": "应用'{app:s}'没有备份脚本。无视。",
|
||||
"backup_with_no_restore_script_for_app": "{app} 没有还原脚本,您将无法自动还原该应用程序的备份。",
|
||||
"backup_with_no_backup_script_for_app": "应用'{app}'没有备份脚本。无视。",
|
||||
"backup_unable_to_organize_files": "无法使用快速方法来组织档案中的文件",
|
||||
"backup_system_part_failed": "无法备份'{part:s}'系统部分",
|
||||
"backup_system_part_failed": "无法备份'{part}'系统部分",
|
||||
"backup_running_hooks": "正在运行备份挂钩...",
|
||||
"backup_permission": "{app:s}的备份权限",
|
||||
"backup_output_symlink_dir_broken": "您的存档目录'{path:s}' 是断开的符号链接。 也许您忘记了重新安装/装入或插入它指向的存储介质。",
|
||||
"backup_permission": "{app}的备份权限",
|
||||
"backup_output_symlink_dir_broken": "您的存档目录'{path}' 是断开的符号链接。 也许您忘记了重新安装/装入或插入它指向的存储介质。",
|
||||
"backup_output_directory_required": "您必须提供备份的输出目录",
|
||||
"backup_output_directory_not_empty": "您应该选择一个空的输出目录",
|
||||
"backup_output_directory_forbidden": "选择一个不同的输出目录。无法在/bin, /boot, /dev, /etc, /lib, /root, /run, /sbin, /sys, /usr, /var或/home/yunohost.backup/archives子文件夹中创建备份",
|
||||
|
@ -68,35 +68,35 @@
|
|||
"backup_no_uncompress_archive_dir": "没有这样的未压缩存档目录",
|
||||
"backup_mount_archive_for_restore": "正在准备存档以进行恢复...",
|
||||
"backup_method_tar_finished": "TAR备份存档已创建",
|
||||
"backup_method_custom_finished": "自定义备份方法'{method:s}' 已完成",
|
||||
"backup_method_custom_finished": "自定义备份方法'{method}' 已完成",
|
||||
"backup_method_copy_finished": "备份副本已完成",
|
||||
"backup_hook_unknown": "备用挂钩'{hook:s}'未知",
|
||||
"backup_hook_unknown": "备用挂钩'{hook}'未知",
|
||||
"backup_deleted": "备份已删除",
|
||||
"backup_delete_error": "无法删除'{path:s}'",
|
||||
"backup_delete_error": "无法删除'{path}'",
|
||||
"backup_custom_mount_error": "自定义备份方法无法通过“挂载”步骤",
|
||||
"backup_custom_backup_error": "自定义备份方法无法通过“备份”步骤",
|
||||
"backup_csv_creation_failed": "无法创建还原所需的CSV文件",
|
||||
"backup_csv_addition_failed": "无法将文件添加到CSV文件中进行备份",
|
||||
"backup_creation_failed": "无法创建备份存档",
|
||||
"backup_create_size_estimation": "归档文件将包含约{size}个数据。",
|
||||
"backup_couldnt_bind": "无法将 {src:s} 绑定到{dest:s}.",
|
||||
"backup_copying_to_organize_the_archive": "复制{size:s} MB来整理档案",
|
||||
"backup_couldnt_bind": "无法将 {src} 绑定到{dest}.",
|
||||
"backup_copying_to_organize_the_archive": "复制{size} MB来整理档案",
|
||||
"backup_cleaning_failed": "无法清理临时备份文件夹",
|
||||
"backup_cant_mount_uncompress_archive": "无法将未压缩的归档文件挂载为写保护",
|
||||
"backup_ask_for_copying_if_needed": "您是否要临时使用{size:s} MB进行备份?(由于无法使用更有效的方法准备某些文件,因此使用这种方式。)",
|
||||
"backup_archive_writing_error": "无法将要备份的文件'{source:s}'(在归档文'{dest:s}'中命名)添加到压缩归档文件 '{archive:s}'s}”中",
|
||||
"backup_archive_system_part_not_available": "该备份中系统部分'{part:s}'不可用",
|
||||
"backup_ask_for_copying_if_needed": "您是否要临时使用{size} MB进行备份?(由于无法使用更有效的方法准备某些文件,因此使用这种方式。)",
|
||||
"backup_archive_writing_error": "无法将要备份的文件'{source}'(在归档文'{dest}'中命名)添加到压缩归档文件 '{archive}'s}”中",
|
||||
"backup_archive_system_part_not_available": "该备份中系统部分'{part}'不可用",
|
||||
"backup_archive_corrupted": "备份存档'{archive}' 似乎已损坏 : {error}",
|
||||
"backup_archive_cant_retrieve_info_json": "无法加载档案'{archive}'的信息...无法检索到info.json(或者它不是有效的json)。",
|
||||
"backup_archive_open_failed": "无法打开备份档案",
|
||||
"backup_archive_name_unknown": "未知的本地备份档案名为'{name:s}'",
|
||||
"backup_archive_name_unknown": "未知的本地备份档案名为'{name}'",
|
||||
"backup_archive_name_exists": "具有该名称的备份存档已经存在。",
|
||||
"backup_archive_broken_link": "无法访问备份存档(指向{path:s}的链接断开)",
|
||||
"backup_archive_app_not_found": "在备份档案中找不到 {app:s}",
|
||||
"backup_archive_broken_link": "无法访问备份存档(指向{path}的链接断开)",
|
||||
"backup_archive_app_not_found": "在备份档案中找不到 {app}",
|
||||
"backup_applying_method_tar": "创建备份TAR存档...",
|
||||
"backup_applying_method_custom": "调用自定义备份方法'{method:s}'...",
|
||||
"backup_applying_method_custom": "调用自定义备份方法'{method}'...",
|
||||
"backup_applying_method_copy": "正在将所有文件复制到备份...",
|
||||
"backup_app_failed": "无法备份{app:s}",
|
||||
"backup_app_failed": "无法备份{app}",
|
||||
"backup_actually_backuping": "根据收集的文件创建备份档案...",
|
||||
"backup_abstract_method": "此备份方法尚未实现",
|
||||
"ask_password": "密码",
|
||||
|
@ -113,7 +113,7 @@
|
|||
"apps_catalog_init_success": "应用目录系统已初始化!",
|
||||
"apps_already_up_to_date": "所有应用程序都是最新的",
|
||||
"app_packaging_format_not_supported": "无法安装此应用,因为您的YunoHost版本不支持其打包格式。 您应该考虑升级系统。",
|
||||
"app_upgraded": "{app:s}upgraded",
|
||||
"app_upgraded": "{app}upgraded",
|
||||
"app_upgrade_some_app_failed": "某些应用无法升级",
|
||||
"app_upgrade_script_failed": "应用升级脚本内部发生错误",
|
||||
"app_upgrade_app_name": "现在升级{app} ...",
|
||||
|
@ -123,53 +123,53 @@
|
|||
"app_start_install": "{app}安装中...",
|
||||
"app_sources_fetch_failed": "无法获取源文件,URL是否正确?",
|
||||
"app_restore_script_failed": "应用还原脚本内部发生错误",
|
||||
"app_restore_failed": "无法还原 {app:s}: {error:s}",
|
||||
"app_restore_failed": "无法还原 {app}: {error}",
|
||||
"app_remove_after_failed_install": "安装失败后删除应用程序...",
|
||||
"app_requirements_unmeet": "{app}不符合要求,软件包{pkgname}({version}) 必须为{spec}",
|
||||
"app_requirements_checking": "正在检查{app}所需的软件包...",
|
||||
"app_removed": "{app:s} 已删除",
|
||||
"app_not_properly_removed": "{app:s} 未正确删除",
|
||||
"app_not_correctly_installed": "{app:s} 似乎安装不正确",
|
||||
"app_removed": "{app} 已删除",
|
||||
"app_not_properly_removed": "{app} 未正确删除",
|
||||
"app_not_correctly_installed": "{app} 似乎安装不正确",
|
||||
"app_not_upgraded": "应用程序'{failed_app}'升级失败,因此以下应用程序的升级已被取消: {apps}",
|
||||
"app_manifest_install_ask_is_public": "该应用是否应该向匿名访问者公开?",
|
||||
"app_manifest_install_ask_admin": "选择此应用的管理员用户",
|
||||
"app_manifest_install_ask_password": "选择此应用的管理密码",
|
||||
"additional_urls_already_removed": "权限'{permission:s}'的其他URL中已经删除了附加URL'{url:s}'",
|
||||
"additional_urls_already_removed": "权限'{permission}'的其他URL中已经删除了附加URL'{url}'",
|
||||
"app_manifest_install_ask_path": "选择安装此应用的路径",
|
||||
"app_manifest_install_ask_domain": "选择应安装此应用程序的域",
|
||||
"app_manifest_invalid": "应用清单错误: {error}",
|
||||
"app_location_unavailable": "该URL不可用,或与已安装的应用冲突:\n{apps:s}",
|
||||
"app_location_unavailable": "该URL不可用,或与已安装的应用冲突:\n{apps}",
|
||||
"app_label_deprecated": "不推荐使用此命令!请使用新命令 'yunohost user permission update'来管理应用标签。",
|
||||
"app_make_default_location_already_used": "无法将'{app}' 设置为域上的默认应用,'{other_app}'已在使用'{domain}'",
|
||||
"app_install_script_failed": "应用安装脚本内发生错误",
|
||||
"app_install_failed": "无法安装 {app}: {error}",
|
||||
"app_install_files_invalid": "这些文件无法安装",
|
||||
"additional_urls_already_added": "附加URL '{url:s}' 已添加到权限'{permission:s}'的附加URL中",
|
||||
"additional_urls_already_added": "附加URL '{url}' 已添加到权限'{permission}'的附加URL中",
|
||||
"app_full_domain_unavailable": "抱歉,此应用必须安装在其自己的域中,但其他应用已安装在域“ {domain}”上。 您可以改用专用于此应用程序的子域。",
|
||||
"app_extraction_failed": "无法解压缩安装文件",
|
||||
"app_change_url_success": "{app:s} URL现在为 {domain:s}{path:s}",
|
||||
"app_change_url_no_script": "应用程序'{app_name:s}'尚不支持URL修改. 也许您应该升级它。",
|
||||
"app_change_url_identical_domains": "新旧domain / url_path是相同的('{domain:s}{path:s}'),无需执行任何操作。",
|
||||
"app_change_url_failed_nginx_reload": "无法重新加载NGINX. 这是'nginx -t'的输出:\n{nginx_errors:s}",
|
||||
"app_argument_required": "参数'{name:s}'为必填项",
|
||||
"app_change_url_success": "{app} URL现在为 {domain}{path}",
|
||||
"app_change_url_no_script": "应用程序'{app_name}'尚不支持URL修改. 也许您应该升级它。",
|
||||
"app_change_url_identical_domains": "新旧domain / url_path是相同的('{domain}{path}'),无需执行任何操作。",
|
||||
"app_change_url_failed_nginx_reload": "无法重新加载NGINX. 这是'nginx -t'的输出:\n{nginx_errors}",
|
||||
"app_argument_required": "参数'{name}'为必填项",
|
||||
"app_argument_password_no_default": "解析密码参数'{name}'时出错:出于安全原因,密码参数不能具有默认值",
|
||||
"app_argument_invalid": "为参数'{name:s}'选择一个有效值: {error:s}",
|
||||
"app_argument_choice_invalid": "对参数'{name:s}'使用以下选项之一'{choices:s}'",
|
||||
"app_already_up_to_date": "{app:s} 已经是最新的",
|
||||
"app_already_installed": "{app:s}已安装",
|
||||
"app_argument_invalid": "为参数'{name}'选择一个有效值: {error}",
|
||||
"app_argument_choice_invalid": "对参数'{name}'使用以下选项之一'{choices}'",
|
||||
"app_already_up_to_date": "{app} 已经是最新的",
|
||||
"app_already_installed": "{app}已安装",
|
||||
"app_action_broke_system": "该操作似乎破坏了以下重要服务:{services}",
|
||||
"app_action_cannot_be_ran_because_required_services_down": "这些必需的服务应该正在运行以执行以下操作:{services},尝试重新启动它们以继续操作(考虑调查为什么它们出现故障)。",
|
||||
"already_up_to_date": "无事可做。一切都已经是最新的了。",
|
||||
"postinstall_low_rootfsspace": "根文件系统的总空间小于10 GB,这非常令人担忧!您可能很快就会用完磁盘空间!建议根文件系统至少有16GB, 如果尽管出现此警告仍要安装YunoHost,请使用--force-diskspace重新运行postinstall",
|
||||
"port_already_opened": "{ip_version:s}个连接的端口 {port:d} 已打开",
|
||||
"port_already_closed": "{ip_version:s}个连接的端口 {port:d} 已关闭",
|
||||
"port_already_opened": "{ip_version}个连接的端口 {port:d} 已打开",
|
||||
"port_already_closed": "{ip_version}个连接的端口 {port:d} 已关闭",
|
||||
"permission_require_account": "权限{permission}只对有账户的用户有意义,因此不能对访客启用。",
|
||||
"permission_protected": "权限{permission}是受保护的。你不能向/从这个权限添加或删除访问者组。",
|
||||
"permission_updated": "权限 '{permission:s}' 已更新",
|
||||
"permission_updated": "权限 '{permission}' 已更新",
|
||||
"permission_update_failed": "无法更新权限 '{permission}': {error}",
|
||||
"permission_not_found": "找不到权限'{permission:s}'",
|
||||
"permission_not_found": "找不到权限'{permission}'",
|
||||
"permission_deletion_failed": "无法删除权限 '{permission}': {error}",
|
||||
"permission_deleted": "权限'{permission:s}' 已删除",
|
||||
"permission_deleted": "权限'{permission}' 已删除",
|
||||
"permission_cant_add_to_all_users": "权限{permission}不能添加到所有用户。",
|
||||
"regenconf_file_copy_failed": "无法将新的配置文件'{new}' 复制到'{conf}'",
|
||||
"regenconf_file_backed_up": "将配置文件 '{conf}' 备份到 '{backup}'",
|
||||
|
@ -186,31 +186,31 @@
|
|||
"regenconf_need_to_explicitly_specify_ssh": "ssh配置已被手动修改,但是您需要使用--force明确指定类别“ ssh”才能实际应用更改。",
|
||||
"restore_nothings_done": "什么都没有恢复",
|
||||
"restore_may_be_not_enough_disk_space": "您的系统似乎没有足够的空间(可用空间: {free_space:d} B,所需空间: {needed_space:d} B,安全系数: {margin:d} B)",
|
||||
"restore_hook_unavailable": "'{part:s}'的恢复脚本在您的系统上和归档文件中均不可用",
|
||||
"restore_hook_unavailable": "'{part}'的恢复脚本在您的系统上和归档文件中均不可用",
|
||||
"restore_failed": "无法还原系统",
|
||||
"restore_extracting": "正在从存档中提取所需文件…",
|
||||
"restore_confirm_yunohost_installed": "您真的要还原已经安装的系统吗? [{answers:s}]",
|
||||
"restore_confirm_yunohost_installed": "您真的要还原已经安装的系统吗? [{answers}]",
|
||||
"restore_complete": "恢复完成",
|
||||
"restore_cleaning_failed": "无法清理临时还原目录",
|
||||
"restore_backup_too_old": "无法还原此备份存档,因为它来自过旧的YunoHost版本。",
|
||||
"restore_already_installed_apps": "以下应用已安装,因此无法还原: {apps}",
|
||||
"restore_already_installed_app": "已安装ID为'{app:s}' 的应用",
|
||||
"restore_already_installed_app": "已安装ID为'{app}' 的应用",
|
||||
"regex_with_only_domain": "您不能将正则表达式用于域,而只能用于路径",
|
||||
"regex_incompatible_with_tile": "/!\\ 打包者!权限“ {permission}”的show_tile设置为“ true”,因此您不能将正则表达式URL定义为主URL",
|
||||
"service_cmd_exec_failed": "无法执行命令'{command:s}'",
|
||||
"service_already_stopped": "服务'{service:s}'已被停止",
|
||||
"service_already_started": "服务'{service:s}' 已在运行",
|
||||
"service_added": "服务 '{service:s}'已添加",
|
||||
"service_add_failed": "无法添加服务 '{service:s}'",
|
||||
"server_reboot_confirm": "服务器会立即重启,确定吗? [{answers:s}]",
|
||||
"service_cmd_exec_failed": "无法执行命令'{command}'",
|
||||
"service_already_stopped": "服务'{service}'已被停止",
|
||||
"service_already_started": "服务'{service}' 已在运行",
|
||||
"service_added": "服务 '{service}'已添加",
|
||||
"service_add_failed": "无法添加服务 '{service}'",
|
||||
"server_reboot_confirm": "服务器会立即重启,确定吗? [{answers}]",
|
||||
"server_reboot": "服务器将重新启动",
|
||||
"server_shutdown_confirm": "服务器会立即关闭,确定吗?[{answers:s}]",
|
||||
"server_shutdown_confirm": "服务器会立即关闭,确定吗?[{answers}]",
|
||||
"server_shutdown": "服务器将关闭",
|
||||
"root_password_replaced_by_admin_password": "您的root密码已替换为您的管理员密码。",
|
||||
"root_password_desynchronized": "管理员密码已更改,但是YunoHost无法将此密码传播到root密码!",
|
||||
"restore_system_part_failed": "无法还原 '{part:s}'系统部分",
|
||||
"restore_system_part_failed": "无法还原 '{part}'系统部分",
|
||||
"restore_running_hooks": "运行修复挂钩…",
|
||||
"restore_running_app_script": "正在还原应用'{app:s}'…",
|
||||
"restore_running_app_script": "正在还原应用'{app}'…",
|
||||
"restore_removing_tmp_dir_failed": "无法删除旧的临时目录",
|
||||
"service_description_yunohost-firewall": "管理打开和关闭服务的连接端口",
|
||||
"service_description_yunohost-api": "管理YunoHost Web界面与系统之间的交互",
|
||||
|
@ -226,22 +226,21 @@
|
|||
"service_description_fail2ban": "防止来自互联网的暴力攻击和其他类型的攻击",
|
||||
"service_description_dovecot": "允许电子邮件客户端访问/获取电子邮件(通过IMAP和POP3)",
|
||||
"service_description_dnsmasq": "处理域名解析(DNS)",
|
||||
"service_description_avahi-daemon": "允许您使用本地网络中的“ yunohost.local”访问服务器",
|
||||
"service_started": "服务 '{service:s}' 已启动",
|
||||
"service_start_failed": "无法启动服务 '{service:s}'\n\n最近的服务日志:{logs:s}",
|
||||
"service_reloaded_or_restarted": "服务'{service:s}'已重新加载或重新启动",
|
||||
"service_reload_or_restart_failed": "无法重新加载或重新启动服务'{service:s}'\n\n最近的服务日志:{logs:s}",
|
||||
"service_restarted": "服务'{service:s}' 已重新启动",
|
||||
"service_restart_failed": "无法重新启动服务 '{service:s}'\n\n最近的服务日志:{logs:s}",
|
||||
"service_reloaded": "服务 '{service:s}' 已重新加载",
|
||||
"service_reload_failed": "无法重新加载服务'{service:s}'\n\n最近的服务日志:{logs:s}",
|
||||
"service_removed": "服务 '{service:s}' 已删除",
|
||||
"service_remove_failed": "无法删除服务'{service:s}'",
|
||||
"service_started": "服务 '{service}' 已启动",
|
||||
"service_start_failed": "无法启动服务 '{service}'\n\n最近的服务日志:{logs}",
|
||||
"service_reloaded_or_restarted": "服务'{service}'已重新加载或重新启动",
|
||||
"service_reload_or_restart_failed": "无法重新加载或重新启动服务'{service}'\n\n最近的服务日志:{logs}",
|
||||
"service_restarted": "服务'{service}' 已重新启动",
|
||||
"service_restart_failed": "无法重新启动服务 '{service}'\n\n最近的服务日志:{logs}",
|
||||
"service_reloaded": "服务 '{service}' 已重新加载",
|
||||
"service_reload_failed": "无法重新加载服务'{service}'\n\n最近的服务日志:{logs}",
|
||||
"service_removed": "服务 '{service}' 已删除",
|
||||
"service_remove_failed": "无法删除服务'{service}'",
|
||||
"service_regen_conf_is_deprecated": "不建议使用'yunohost service regen-conf' ! 请改用'yunohost tools regen-conf'。",
|
||||
"service_enabled": "现在,服务'{service:s}' 将在系统引导过程中自动启动。",
|
||||
"service_enable_failed": "无法使服务 '{service:s}'在启动时自动启动。\n\n最近的服务日志:{logs:s}",
|
||||
"service_disabled": "系统启动时,服务 '{service:s}' 将不再启动。",
|
||||
"service_disable_failed": "服务'{service:s}'在启动时无法启动。\n\n最近的服务日志:{logs:s}",
|
||||
"service_enabled": "现在,服务'{service}' 将在系统引导过程中自动启动。",
|
||||
"service_enable_failed": "无法使服务 '{service}'在启动时自动启动。\n\n最近的服务日志:{logs}",
|
||||
"service_disabled": "系统启动时,服务 '{service}' 将不再启动。",
|
||||
"service_disable_failed": "服务'{service}'在启动时无法启动。\n\n最近的服务日志:{logs}",
|
||||
"tools_upgrade_regular_packages": "现在正在升级 'regular' (与yunohost无关)的软件包…",
|
||||
"tools_upgrade_cant_unhold_critical_packages": "无法解压关键软件包…",
|
||||
"tools_upgrade_cant_hold_critical_packages": "无法保存重要软件包…",
|
||||
|
@ -254,20 +253,20 @@
|
|||
"ssowat_conf_generated": "SSOwat配置已重新生成",
|
||||
"show_tile_cant_be_enabled_for_regex": "你不能启用'show_tile',因为权限'{permission}'的URL是一个重合词",
|
||||
"show_tile_cant_be_enabled_for_url_not_defined": "您现在无法启用 'show_tile' ,因为您必须先为权限'{permission}'定义一个URL",
|
||||
"service_unknown": "未知服务 '{service:s}'",
|
||||
"service_stopped": "服务'{service:s}' 已停止",
|
||||
"service_stop_failed": "无法停止服务'{service:s}'\n\n最近的服务日志:{logs:s}",
|
||||
"service_unknown": "未知服务 '{service}'",
|
||||
"service_stopped": "服务'{service}' 已停止",
|
||||
"service_stop_failed": "无法停止服务'{service}'\n\n最近的服务日志:{logs}",
|
||||
"upnp_dev_not_found": "找不到UPnP设备",
|
||||
"upgrading_packages": "升级程序包...",
|
||||
"upgrade_complete": "升级完成",
|
||||
"updating_apt_cache": "正在获取系统软件包的可用升级...",
|
||||
"update_apt_cache_warning": "更新APT缓存(Debian的软件包管理器)时出了点问题。这是sources.list行的转储,这可能有助于确定有问题的行:\n{sourceslist}",
|
||||
"update_apt_cache_failed": "无法更新APT的缓存(Debian的软件包管理器)。这是sources.list行的转储,这可能有助于确定有问题的行:\n{sourceslist}",
|
||||
"unrestore_app": "{app:s} 将不会恢复",
|
||||
"unrestore_app": "{app} 将不会恢复",
|
||||
"unlimit": "没有配额",
|
||||
"unknown_main_domain_path": "'{app}'的域或路径未知。您需要指定一个域和一个路径,以便能够指定用于许可的URL。",
|
||||
"unexpected_error": "出乎意料的错误: {error}",
|
||||
"unbackup_app": "{app:s} 将不会保存",
|
||||
"unbackup_app": "{app} 将不会保存",
|
||||
"tools_upgrade_special_packages_completed": "YunoHost软件包升级完成。\n按[Enter]返回命令行",
|
||||
"tools_upgrade_special_packages_explanation": "特殊升级将在后台继续。请在接下来的10分钟内(取决于硬件速度)在服务器上不要执行任何其他操作。此后,您可能必须重新登录Webadmin。升级日志将在“工具”→“日志”(在Webadmin中)或使用'yunohost log list'(从命令行)中可用。",
|
||||
"tools_upgrade_special_packages": "现在正在升级'special'(与yunohost相关的)程序包…",
|
||||
|
@ -277,7 +276,7 @@
|
|||
"yunohost_already_installed": "YunoHost已经安装",
|
||||
"user_updated": "用户信息已更改",
|
||||
"user_update_failed": "无法更新用户{user}: {error}",
|
||||
"user_unknown": "未知用户: {user:s}",
|
||||
"user_unknown": "未知用户: {user}",
|
||||
"user_home_creation_failed": "无法为用户创建'home'文件夹",
|
||||
"user_deletion_failed": "无法删除用户 {user}: {error}",
|
||||
"user_deleted": "用户已删除",
|
||||
|
@ -290,19 +289,18 @@
|
|||
"yunohost_not_installed": "YunoHost没有正确安装,请运行 'yunohost tools postinstall'",
|
||||
"yunohost_postinstall_end_tip": "后期安装完成! 为了最终完成你的设置,请考虑:\n -通过webadmin的“用户”部分添加第一个用户(或在命令行中'yunohost user create <username>' );\n -通过网络管理员的“诊断”部分(或命令行中的'yunohost diagnosis run')诊断潜在问题;\n -阅读管理文档中的“完成安装设置”和“了解YunoHost”部分: https://yunohost.org/admindoc.",
|
||||
"operation_interrupted": "该操作是否被手动中断?",
|
||||
"invalid_regex": "无效的正则表达式:'{regex:s}'",
|
||||
"installation_failed": "安装出现问题",
|
||||
"invalid_regex": "无效的正则表达式:'{regex}'",
|
||||
"installation_complete": "安装完成",
|
||||
"hook_name_unknown": "未知的钩子名称 '{name:s}'",
|
||||
"hook_name_unknown": "未知的钩子名称 '{name}'",
|
||||
"hook_list_by_invalid": "此属性不能用于列出钩子",
|
||||
"hook_json_return_error": "无法读取来自钩子 {path:s}的返回,错误: {msg:s}。原始内容: {raw_content}",
|
||||
"hook_exec_not_terminated": "脚本未正确完成: {path:s}",
|
||||
"hook_exec_failed": "无法运行脚本: {path:s}",
|
||||
"hook_json_return_error": "无法读取来自钩子 {path}的返回,错误: {msg}。原始内容: {raw_content}",
|
||||
"hook_exec_not_terminated": "脚本未正确完成: {path}",
|
||||
"hook_exec_failed": "无法运行脚本: {path}",
|
||||
"group_user_not_in_group": "用户{user}不在组{group}中",
|
||||
"group_user_already_in_group": "用户{user}已在组{group}中",
|
||||
"group_update_failed": "无法更新群组'{group}': {error}",
|
||||
"group_updated": "群组 '{group}' 已更新",
|
||||
"group_unknown": "群组 '{group:s}' 未知",
|
||||
"group_unknown": "群组 '{group}' 未知",
|
||||
"group_deletion_failed": "无法删除群组'{group}': {error}",
|
||||
"group_deleted": "群组'{group}' 已删除",
|
||||
"group_cannot_be_deleted": "无法手动删除组{group}。",
|
||||
|
@ -315,7 +313,7 @@
|
|||
"group_already_exist_on_system": "系统组中已经存在组{group}",
|
||||
"group_already_exist": "群组{group}已经存在",
|
||||
"good_practices_about_admin_password": "现在,您将设置一个新的管理员密码。 密码至少应包含8个字符。并且出于安全考虑建议使用较长的密码同时尽可能使用各种字符(大写,小写,数字和特殊字符)。",
|
||||
"global_settings_unknown_type": "意外的情况,设置{setting:s}似乎具有类型 {unknown_type:s} ,但是系统不支持该类型。",
|
||||
"global_settings_unknown_type": "意外的情况,设置{setting}似乎具有类型 {unknown_type} ,但是系统不支持该类型。",
|
||||
"global_settings_setting_backup_compress_tar_archives": "创建新备份时,请压缩档案(.tar.gz) ,而不要压缩未压缩的档案(.tar)。注意:启用此选项意味着创建较小的备份存档,但是初始备份过程将明显更长且占用大量CPU。",
|
||||
"global_settings_setting_smtp_relay_password": "SMTP中继主机密码",
|
||||
"global_settings_setting_smtp_relay_user": "SMTP中继用户帐户",
|
||||
|
@ -323,7 +321,7 @@
|
|||
"global_settings_setting_smtp_allow_ipv6": "允许使用IPv6接收和发送邮件",
|
||||
"global_settings_setting_ssowat_panel_overlay_enabled": "启用SSOwat面板覆盖",
|
||||
"global_settings_setting_service_ssh_allow_deprecated_dsa_hostkey": "允许使用DSA主机密钥进行SSH守护程序配置(不建议使用)",
|
||||
"global_settings_unknown_setting_from_settings_file": "设置中的未知密钥:'{setting_key:s}',将其丢弃并保存在/etc/yunohost/settings-unknown.json中",
|
||||
"global_settings_unknown_setting_from_settings_file": "设置中的未知密钥:'{setting_key}',将其丢弃并保存在/etc/yunohost/settings-unknown.json中",
|
||||
"global_settings_setting_security_ssh_port": "SSH端口",
|
||||
"global_settings_setting_security_postfix_compatibility": "Postfix服务器的兼容性与安全性的权衡。影响密码(以及其他与安全性有关的方面)",
|
||||
"global_settings_setting_security_ssh_compatibility": "SSH服务器的兼容性与安全性的权衡。影响密码(以及其他与安全性有关的方面)",
|
||||
|
@ -331,23 +329,23 @@
|
|||
"global_settings_setting_security_password_admin_strength": "管理员密码强度",
|
||||
"global_settings_setting_security_nginx_compatibility": "Web服务器NGINX的兼容性与安全性的权衡,影响密码(以及其他与安全性有关的方面)",
|
||||
"global_settings_setting_pop3_enabled": "为邮件服务器启用POP3协议",
|
||||
"global_settings_reset_success": "以前的设置现在已经备份到{path:s}",
|
||||
"global_settings_key_doesnt_exists": "全局设置中不存在键'{settings_key:s}',您可以通过运行 'yunohost settings list'来查看所有可用键",
|
||||
"global_settings_cant_write_settings": "无法保存设置文件,原因: {reason:s}",
|
||||
"global_settings_cant_serialize_settings": "无法序列化设置数据,原因: {reason:s}",
|
||||
"global_settings_cant_open_settings": "无法打开设置文件,原因: {reason:s}",
|
||||
"global_settings_bad_type_for_setting": "设置 {setting:s},的类型错误,已收到{received_type:s},预期{expected_type:s}",
|
||||
"global_settings_bad_choice_for_enum": "设置 {setting:s}的错误选择,收到了 '{choice:s}',但可用的选择有: {available_choices:s}",
|
||||
"global_settings_reset_success": "以前的设置现在已经备份到{path}",
|
||||
"global_settings_key_doesnt_exists": "全局设置中不存在键'{settings_key}',您可以通过运行 'yunohost settings list'来查看所有可用键",
|
||||
"global_settings_cant_write_settings": "无法保存设置文件,原因: {reason}",
|
||||
"global_settings_cant_serialize_settings": "无法序列化设置数据,原因: {reason}",
|
||||
"global_settings_cant_open_settings": "无法打开设置文件,原因: {reason}",
|
||||
"global_settings_bad_type_for_setting": "设置 {setting},的类型错误,已收到{received_type},预期{expected_type}",
|
||||
"global_settings_bad_choice_for_enum": "设置 {setting}的错误选择,收到了 '{choice}',但可用的选择有: {available_choices}",
|
||||
"firewall_rules_cmd_failed": "某些防火墙规则命令失败。日志中的更多信息。",
|
||||
"firewall_reloaded": "重新加载防火墙",
|
||||
"firewall_reload_failed": "无法重新加载防火墙",
|
||||
"file_does_not_exist": "文件{path:s} 不存在。",
|
||||
"field_invalid": "无效的字段'{:s}'",
|
||||
"file_does_not_exist": "文件{path} 不存在。",
|
||||
"field_invalid": "无效的字段'{}'",
|
||||
"experimental_feature": "警告:此功能是实验性的,不稳定,请不要使用它,除非您知道自己在做什么。",
|
||||
"extracting": "提取中...",
|
||||
"dyndns_unavailable": "域'{domain:s}' 不可用。",
|
||||
"dyndns_domain_not_provided": "DynDNS提供者 {provider:s} 无法提供域 {domain:s}。",
|
||||
"dyndns_registration_failed": "无法注册DynDNS域: {error:s}",
|
||||
"dyndns_unavailable": "域'{domain}' 不可用。",
|
||||
"dyndns_domain_not_provided": "DynDNS提供者 {provider} 无法提供域 {domain}。",
|
||||
"dyndns_registration_failed": "无法注册DynDNS域: {error}",
|
||||
"dyndns_registered": "DynDNS域已注册",
|
||||
"dyndns_provider_unreachable": "无法联系DynDNS提供者 {provider}: 您的YunoHost未正确连接到Internet或dynette服务器已关闭。",
|
||||
"dyndns_no_domain_registered": "没有在DynDNS中注册的域",
|
||||
|
@ -355,8 +353,8 @@
|
|||
"dyndns_key_generating": "正在生成DNS密钥...可能需要一段时间。",
|
||||
"dyndns_ip_updated": "在DynDNS上更新了您的IP",
|
||||
"dyndns_ip_update_failed": "无法将IP地址更新到DynDNS",
|
||||
"dyndns_could_not_check_available": "无法检查{provider:s}上是否可用 {domain:s}。",
|
||||
"dyndns_could_not_check_provide": "无法检查{provider:s}是否可以提供 {domain:s}.",
|
||||
"dyndns_could_not_check_available": "无法检查{provider}上是否可用 {domain}。",
|
||||
"dyndns_could_not_check_provide": "无法检查{provider}是否可以提供 {domain}.",
|
||||
"dpkg_lock_not_available": "该命令现在无法运行,因为另一个程序似乎正在使用dpkg锁(系统软件包管理器)",
|
||||
"dpkg_is_broken": "您现在不能执行此操作,因为dpkg / APT(系统软件包管理器)似乎处于损坏状态……您可以尝试通过SSH连接并运行sudo apt install --fix-broken和/或 sudo dpkg --configure-a 来解决此问题.",
|
||||
"downloading": "下载中…",
|
||||
|
@ -467,7 +465,7 @@
|
|||
"diagnosis_no_cache": "尚无类别 '{category}'的诊断缓存",
|
||||
"diagnosis_failed": "无法获取类别 '{category}'的诊断结果: {error}",
|
||||
"diagnosis_package_installed_from_sury_details": "一些软件包被无意中从一个名为Sury的第三方仓库安装。YunoHost团队改进了处理这些软件包的策略,但预计一些安装了PHP7.3应用程序的设置在仍然使用Stretch的情况下还有一些不一致的地方。为了解决这种情况,你应该尝试运行以下命令:<cmd>{cmd_to_fix}</cmd>",
|
||||
"app_not_installed": "在已安装的应用列表中找不到 {app:s}:{all_apps}",
|
||||
"app_not_installed": "在已安装的应用列表中找不到 {app}:{all_apps}",
|
||||
"app_already_installed_cant_change_url": "这个应用程序已经被安装。URL不能仅仅通过这个函数来改变。在`app changeurl`中检查是否可用。",
|
||||
"restore_not_enough_disk_space": "没有足够的空间(空间: {free_space:d} B,需要的空间: {needed_space:d} B,安全系数: {margin:d} B)",
|
||||
"regenconf_pending_applying": "正在为类别'{category}'应用挂起的配置..",
|
||||
|
@ -475,9 +473,9 @@
|
|||
"regenconf_file_kept_back": "配置文件'{conf}'预计将被regen-conf(类别{category})删除,但被保留了下来。",
|
||||
"good_practices_about_user_password": "现在,您将设置一个新的管理员密码。 密码至少应包含8个字符。并且出于安全考虑建议使用较长的密码同时尽可能使用各种字符(大写,小写,数字和特殊字符)",
|
||||
"global_settings_setting_smtp_relay_host": "使用SMTP中继主机来代替这个YunoHost实例发送邮件。如果你有以下情况,就很有用:你的25端口被你的ISP或VPS提供商封锁,你有一个住宅IP列在DUHL上,你不能配置反向DNS,或者这个服务器没有直接暴露在互联网上,你想使用其他服务器来发送邮件。",
|
||||
"domain_cannot_remove_main_add_new_one": "你不能删除'{domain:s}',因为它是主域和你唯一的域,你需要先用'yunohost domain add <another-domain.com>'添加另一个域,然后用'yunohost domain main-domain -n <another-domain.com>'设置为主域,然后你可以用'yunohost domain remove {domain:s}'删除域",
|
||||
"domain_cannot_remove_main_add_new_one": "你不能删除'{domain}',因为它是主域和你唯一的域,你需要先用'yunohost domain add <another-domain.com>'添加另一个域,然后用'yunohost domain main-domain -n <another-domain.com>'设置为主域,然后你可以用'yunohost domain remove {domain}'删除域",
|
||||
"domain_cannot_add_xmpp_upload": "你不能添加以'xmpp-upload.'开头的域名。这种名称是为YunoHost中集成的XMPP上传功能保留的。",
|
||||
"domain_cannot_remove_main": "你不能删除'{domain:s}',因为它是主域,你首先需要用'yunohost domain main-domain -n <another-domain>'设置另一个域作为主域;这里是候选域的列表: {other_domains:s}",
|
||||
"domain_cannot_remove_main": "你不能删除'{domain}',因为它是主域,你首先需要用'yunohost domain main-domain -n <another-domain>'设置另一个域作为主域;这里是候选域的列表: {other_domains}",
|
||||
"diagnosis_sshd_config_inconsistent_details": "请运行<cmd>yunohost settings set security.ssh.port -v YOUR_SSH_PORT</cmd>来定义SSH端口,并检查<cmd>yunohost tools regen-conf ssh --dry-run --with-diff</cmd>和<cmd>yunohost tools regen-conf ssh --force</cmd>将您的配置重置为YunoHost建议。",
|
||||
"diagnosis_http_bad_status_code": "它看起来像另一台机器(也许是你的互联网路由器)回答,而不是你的服务器。<br>1。这个问题最常见的原因是80端口(和443端口)<a href='https://yunohost.org/isp_box_config'>没有正确转发到您的服务器</a>。<br>2.在更复杂的设置中:确保没有防火墙或反向代理的干扰。",
|
||||
"diagnosis_http_timeout": "当试图从外部联系你的服务器时,出现了超时。它似乎是不可达的。<br>1. 这个问题最常见的原因是80端口(和443端口)<a href='https://yunohost.org/isp_box_config'>没有正确转发到你的服务器</a>。<br>2.你还应该确保nginx服务正在运行<br>3.对于更复杂的设置:确保没有防火墙或反向代理的干扰。",
|
||||
|
@ -485,10 +483,10 @@
|
|||
"diagnosis_rootfstotalspace_warning": "根文件系统总共只有{space}。这可能没问题,但要小心,因为最终您可能很快会用完磁盘空间...建议根文件系统至少有16 GB。",
|
||||
"diagnosis_regenconf_manually_modified_details": "如果你知道自己在做什么的话,这可能是可以的! YunoHost会自动停止更新这个文件... 但是请注意,YunoHost的升级可能包含重要的推荐变化。如果你想,你可以用<cmd>yunohost tools regen-conf {category} --dry-run --with-diff</cmd>检查差异,然后用<cmd>yunohost tools regen-conf {category} --force</cmd>强制设置为推荐配置",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_6": "有些供应商不会让你配置你的反向DNS(或者他们的功能可能被破坏......)。如果你的反向DNS正确配置为IPv4,你可以尝试在发送邮件时禁用IPv6,方法是运<cmd>yunohost settings set smtp.allow_ipv6 -v off</cmd>。注意:这应视为最后一个解决方案因为这意味着你将无法从少数只使用IPv6的服务器发送或接收电子邮件。",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_4": "有些供应商不会让你配置你的反向DNS(或者他们的功能可能被破坏......)。如果您因此而遇到问题,请考虑以下解决方案:<br>- 一些ISP提供了<a href='https://yunohost.org/#/smtp_relay'>使用邮件服务器中转</a>的选择,尽管这意味着中转将能够监视您的电子邮件流量。<br>- 一个有利于隐私的选择是使用VPN*与专用公共IP*来绕过这类限制。见<a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- 或者可以<a href='https://yunohost.org/#/isp'>切换到另一个供应商</a>",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_4": "有些供应商不会让你配置你的反向DNS(或者他们的功能可能被破坏......)。如果您因此而遇到问题,请考虑以下解决方案:<br>- 一些ISP提供了<a href='https://yunohost.org/#/email_configure_relay'>使用邮件服务器中转</a>的选择,尽管这意味着中转将能够监视您的电子邮件流量。<br>- 一个有利于隐私的选择是使用VPN*与专用公共IP*来绕过这类限制。见<a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- 或者可以<a href='https://yunohost.org/#/isp'>切换到另一个供应商</a>",
|
||||
"diagnosis_mail_ehlo_wrong_details": "远程诊断器在IPv{ipversion}中收到的EHLO与你的服务器的域名不同。<br>收到的EHLO: <code>{wrong_ehlo}</code><br>预期的: <code>{right_ehlo}</code><br>这个问题最常见的原因是端口25<a href='https://yunohost.org/isp_box_config'>没有正确转发到你的服务器</a>。另外,请确保没有防火墙或反向代理的干扰。",
|
||||
"diagnosis_mail_ehlo_unreachable_details": "在IPv{ipversion}中无法打开与您服务器的25端口连接。它似乎是不可达的。<br>1. 这个问题最常见的原因是端口25<a href='https://yunohost.org/isp_box_config'>没有正确转发到你的服务器</a>。<br>2.你还应该确保postfix服务正在运行。<br>3.在更复杂的设置中:确保没有防火墙或反向代理的干扰。",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_relay_vpn": "一些供应商不会让你解除对出站端口25的封锁,因为他们不关心网络中立性。<br>- 其中一些供应商提供了<a href='https://yunohost.org/#/smtp_relay'>使用邮件服务器中继</a>的替代方案,尽管这意味着中继将能够监视你的电子邮件流量。<br>- 一个有利于隐私的替代方案是使用VPN*,用一个专用的公共IP*绕过这种限制。见<a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- 你也可以考虑切换到<a href='https://yunohost.org/#/isp'>一个更有利于网络中立的供应商</a>",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_relay_vpn": "一些供应商不会让你解除对出站端口25的封锁,因为他们不关心网络中立性。<br>- 其中一些供应商提供了<a href='https://yunohost.org/#/email_configure_relay'>使用邮件服务器中继</a>的替代方案,尽管这意味着中继将能够监视你的电子邮件流量。<br>- 一个有利于隐私的替代方案是使用VPN*,用一个专用的公共IP*绕过这种限制。见<a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a><br>- 你也可以考虑切换到<a href='https://yunohost.org/#/isp'>一个更有利于网络中立的供应商</a>",
|
||||
"diagnosis_ram_ok": "系统在{total}中仍然有 {available} ({available_percent}%) RAM可用。",
|
||||
"diagnosis_ram_low": "系统有 {available} ({available_percent}%) RAM可用(共{total}个)可用。小心。",
|
||||
"diagnosis_ram_verylow": "系统只有 {available} ({available_percent}%) 内存可用! (在{total}中)",
|
||||
|
@ -535,7 +533,7 @@
|
|||
"log_backup_restore_system": "从备份档案还原系统",
|
||||
"permission_currently_allowed_for_all_users": "这个权限目前除了授予其他组以外,还授予所有用户。你可能想删除'all_users'权限或删除目前授予它的其他组。",
|
||||
"permission_creation_failed": "无法创建权限'{permission}': {error}",
|
||||
"permission_created": "权限'{permission:s}'已创建",
|
||||
"permission_created": "权限'{permission}'已创建",
|
||||
"permission_cannot_remove_main": "不允许删除主要权限",
|
||||
"permission_already_up_to_date": "权限没有被更新,因为添加/删除请求已经符合当前状态。",
|
||||
"permission_already_exist": "权限 '{permission}'已存在",
|
||||
|
@ -559,7 +557,7 @@
|
|||
"password_listed": "该密码是世界上最常用的密码之一。 请选择一些更独特的东西。",
|
||||
"packages_upgrade_failed": "无法升级所有软件包",
|
||||
"invalid_number": "必须是数字",
|
||||
"not_enough_disk_space": "'{path:s}'上的可用空间不足",
|
||||
"not_enough_disk_space": "'{path}'上的可用空间不足",
|
||||
"migrations_to_be_ran_manually": "迁移{id}必须手动运行。请转到webadmin页面上的工具→迁移,或运行`yunohost tools migrations run`。",
|
||||
"migrations_success_forward": "迁移 {id} 已完成",
|
||||
"migrations_skip_migration": "正在跳过迁移{id}...",
|
||||
|
@ -602,7 +600,7 @@
|
|||
"migration_update_LDAP_schema": "正在更新LDAP模式...",
|
||||
"migration_ldap_rollback_success": "系统回滚。",
|
||||
"migration_ldap_migration_failed_trying_to_rollback": "无法迁移...试图回滚系统。",
|
||||
"migration_ldap_can_not_backup_before_migration": "迁移失败之前,无法完成系统的备份。错误: {error:s}",
|
||||
"migration_ldap_can_not_backup_before_migration": "迁移失败之前,无法完成系统的备份。错误: {error}",
|
||||
"migration_ldap_backup_before_migration": "在实际迁移之前,请创建LDAP数据库和应用程序设置的备份。",
|
||||
"migration_description_0020_ssh_sftp_permissions": "添加SSH和SFTP权限支持",
|
||||
"migration_description_0019_extend_permissions_features": "扩展/修改应用程序的权限管理系统",
|
||||
|
@ -615,12 +613,10 @@
|
|||
"main_domain_change_failed": "无法更改主域",
|
||||
"mail_unavailable": "该电子邮件地址是保留的,并且将自动分配给第一个用户",
|
||||
"mailbox_used_space_dovecot_down": "如果要获取使用过的邮箱空间,则必须启动Dovecot邮箱服务",
|
||||
"mailbox_disabled": "用户{user:s}的电子邮件已关闭",
|
||||
"mail_forward_remove_failed": "无法删除电子邮件转发'{mail:s}'",
|
||||
"mail_domain_unknown": "域'{domain:s}'的电子邮件地址无效。请使用本服务器管理的域。",
|
||||
"mail_alias_remove_failed": "无法删除电子邮件别名'{mail:s}'",
|
||||
"ldap_initialized": "LDAP已初始化",
|
||||
"ldap_init_failed_to_create_admin": "LDAP初始化无法创建管理员用户",
|
||||
"mailbox_disabled": "用户{user}的电子邮件已关闭",
|
||||
"mail_forward_remove_failed": "无法删除电子邮件转发'{mail}'",
|
||||
"mail_domain_unknown": "域'{domain}'的电子邮件地址无效。请使用本服务器管理的域。",
|
||||
"mail_alias_remove_failed": "无法删除电子邮件别名'{mail}'",
|
||||
"log_tools_reboot": "重新启动服务器",
|
||||
"log_tools_shutdown": "关闭服务器",
|
||||
"log_tools_upgrade": "升级系统软件包",
|
||||
|
|
|
@ -36,7 +36,7 @@ import urllib.parse
|
|||
import tempfile
|
||||
from collections import OrderedDict
|
||||
|
||||
from moulinette import msignals, m18n, msettings
|
||||
from moulinette import Moulinette, m18n
|
||||
from moulinette.core import MoulinetteError
|
||||
from moulinette.utils.log import getActionLogger
|
||||
from moulinette.utils.network import download_json
|
||||
|
@ -55,6 +55,7 @@ from moulinette.utils.filesystem import (
|
|||
from yunohost.service import service_status, _run_service_command
|
||||
from yunohost.utils import packages
|
||||
from yunohost.utils.error import YunohostError, YunohostValidationError
|
||||
from yunohost.utils.filesystem import free_space_in_directory
|
||||
from yunohost.log import is_unit_operation, OperationLogger
|
||||
|
||||
logger = getActionLogger("yunohost.app")
|
||||
|
@ -127,14 +128,14 @@ def app_search(string):
|
|||
catalog_of_apps = app_catalog()
|
||||
|
||||
# Selecting apps according to a match in app name or description
|
||||
matching_apps = {"apps": {}}
|
||||
for app in catalog_of_apps["apps"].items():
|
||||
if not (
|
||||
re.search(string, app[0], flags=re.IGNORECASE)
|
||||
or re.search(string, app[1]["description"], flags=re.IGNORECASE)
|
||||
if re.search(string, app[0], flags=re.IGNORECASE) or re.search(
|
||||
string, app[1]["description"], flags=re.IGNORECASE
|
||||
):
|
||||
del catalog_of_apps["apps"][app[0]]
|
||||
matching_apps["apps"][app[0]] = app[1]
|
||||
|
||||
return catalog_of_apps
|
||||
return matching_apps
|
||||
|
||||
|
||||
# Old legacy function...
|
||||
|
@ -193,7 +194,8 @@ def app_info(app, full=False):
|
|||
"app_not_installed", app=app, all_apps=_get_all_installed_apps_id()
|
||||
)
|
||||
|
||||
local_manifest = _get_manifest_of_app(os.path.join(APPS_SETTING_PATH, app))
|
||||
setting_path = os.path.join(APPS_SETTING_PATH, app)
|
||||
local_manifest = _get_manifest_of_app(setting_path)
|
||||
permissions = user_permission_list(full=True, absolute_urls=True, apps=[app])[
|
||||
"permissions"
|
||||
]
|
||||
|
@ -212,6 +214,7 @@ def app_info(app, full=False):
|
|||
if not full:
|
||||
return ret
|
||||
|
||||
ret["setting_path"] = setting_path
|
||||
ret["manifest"] = local_manifest
|
||||
ret["manifest"]["arguments"] = _set_default_ask_questions(
|
||||
ret["manifest"].get("arguments", {})
|
||||
|
@ -222,11 +225,11 @@ def app_info(app, full=False):
|
|||
ret["from_catalog"] = _load_apps_catalog()["apps"].get(absolute_app_name, {})
|
||||
ret["upgradable"] = _app_upgradable(ret)
|
||||
ret["supports_change_url"] = os.path.exists(
|
||||
os.path.join(APPS_SETTING_PATH, app, "scripts", "change_url")
|
||||
os.path.join(setting_path, "scripts", "change_url")
|
||||
)
|
||||
ret["supports_backup_restore"] = os.path.exists(
|
||||
os.path.join(APPS_SETTING_PATH, app, "scripts", "backup")
|
||||
) and os.path.exists(os.path.join(APPS_SETTING_PATH, app, "scripts", "restore"))
|
||||
os.path.join(setting_path, "scripts", "backup")
|
||||
) and os.path.exists(os.path.join(setting_path, "scripts", "restore"))
|
||||
ret["supports_multi_instance"] = is_true(
|
||||
local_manifest.get("multi_instance", False)
|
||||
)
|
||||
|
@ -501,7 +504,7 @@ def app_change_url(operation_logger, app, domain, path):
|
|||
hook_callback("post_app_change_url", env=env_dict)
|
||||
|
||||
|
||||
def app_upgrade(app=[], url=None, file=None, force=False):
|
||||
def app_upgrade(app=[], url=None, file=None, force=False, no_safety_backup=False):
|
||||
"""
|
||||
Upgrade app
|
||||
|
||||
|
@ -509,6 +512,7 @@ def app_upgrade(app=[], url=None, file=None, force=False):
|
|||
file -- Folder or tarball for upgrade
|
||||
app -- App(s) to upgrade (default all)
|
||||
url -- Git url to fetch for upgrade
|
||||
no_safety_backup -- Disable the safety backup during upgrade
|
||||
|
||||
"""
|
||||
from packaging import version
|
||||
|
@ -517,6 +521,9 @@ def app_upgrade(app=[], url=None, file=None, force=False):
|
|||
from yunohost.regenconf import manually_modified_files
|
||||
|
||||
apps = app
|
||||
# Check if disk space available
|
||||
if free_space_in_directory("/") <= 512 * 1000 * 1000:
|
||||
raise YunohostValidationError("disk_space_not_sufficient_update")
|
||||
# If no app is specified, upgrade all apps
|
||||
if not apps:
|
||||
# FIXME : not sure what's supposed to happen if there is a url and a file but no apps...
|
||||
|
@ -614,6 +621,7 @@ def app_upgrade(app=[], url=None, file=None, force=False):
|
|||
env_dict["YNH_APP_UPGRADE_TYPE"] = upgrade_type
|
||||
env_dict["YNH_APP_MANIFEST_VERSION"] = str(app_new_version)
|
||||
env_dict["YNH_APP_CURRENT_VERSION"] = str(app_current_version)
|
||||
env_dict["NO_BACKUP_UPGRADE"] = "1" if no_safety_backup else "0"
|
||||
|
||||
# We'll check that the app didn't brutally edit some system configuration
|
||||
manually_modified_files_before_install = manually_modified_files()
|
||||
|
@ -643,7 +651,7 @@ def app_upgrade(app=[], url=None, file=None, force=False):
|
|||
m18n.n("app_upgrade_failed", app=app_instance_name, error=error)
|
||||
)
|
||||
failure_message_with_debug_instructions = operation_logger.error(error)
|
||||
if msettings.get("interface") != "api":
|
||||
if Moulinette.interface.type != "api":
|
||||
dump_app_log_extract_for_debugging(operation_logger)
|
||||
# Script got manually interrupted ... N.B. : KeyboardInterrupt does not inherit from Exception
|
||||
except (KeyboardInterrupt, EOFError):
|
||||
|
@ -821,11 +829,11 @@ def app_install(
|
|||
def confirm_install(confirm):
|
||||
# Ignore if there's nothing for confirm (good quality app), if --force is used
|
||||
# or if request on the API (confirm already implemented on the API side)
|
||||
if confirm is None or force or msettings.get("interface") == "api":
|
||||
if confirm is None or force or Moulinette.interface.type == "api":
|
||||
return
|
||||
|
||||
if confirm in ["danger", "thirdparty"]:
|
||||
answer = msignals.prompt(
|
||||
answer = Moulinette.prompt(
|
||||
m18n.n("confirm_app_install_" + confirm, answers="Yes, I understand"),
|
||||
color="red",
|
||||
)
|
||||
|
@ -833,7 +841,7 @@ def app_install(
|
|||
raise YunohostError("aborting")
|
||||
|
||||
else:
|
||||
answer = msignals.prompt(
|
||||
answer = Moulinette.prompt(
|
||||
m18n.n("confirm_app_install_" + confirm, answers="Y/N"), color="yellow"
|
||||
)
|
||||
if answer.upper() != "Y":
|
||||
|
@ -876,8 +884,12 @@ def app_install(
|
|||
else:
|
||||
raise YunohostValidationError("app_unknown")
|
||||
|
||||
# Check if disk space available
|
||||
if free_space_in_directory("/") <= 512 * 1000 * 1000:
|
||||
raise YunohostValidationError("disk_space_not_sufficient_install")
|
||||
|
||||
# Check ID
|
||||
if "id" not in manifest or "__" in manifest["id"]:
|
||||
if "id" not in manifest or "__" in manifest["id"] or "." in manifest["id"]:
|
||||
raise YunohostValidationError("app_id_invalid")
|
||||
|
||||
app_id = manifest["id"]
|
||||
|
@ -1005,7 +1017,7 @@ def app_install(
|
|||
error = m18n.n("app_install_script_failed")
|
||||
logger.error(m18n.n("app_install_failed", app=app_id, error=error))
|
||||
failure_message_with_debug_instructions = operation_logger.error(error)
|
||||
if msettings.get("interface") != "api":
|
||||
if Moulinette.interface.type != "api":
|
||||
dump_app_log_extract_for_debugging(operation_logger)
|
||||
# Script got manually interrupted ... N.B. : KeyboardInterrupt does not inherit from Exception
|
||||
except (KeyboardInterrupt, EOFError):
|
||||
|
@ -1179,12 +1191,13 @@ def dump_app_log_extract_for_debugging(operation_logger):
|
|||
|
||||
|
||||
@is_unit_operation()
|
||||
def app_remove(operation_logger, app):
|
||||
def app_remove(operation_logger, app, purge=False):
|
||||
"""
|
||||
Remove app
|
||||
|
||||
Keyword argument:
|
||||
Keyword arguments:
|
||||
app -- App(s) to delete
|
||||
purge -- Remove with all app data
|
||||
|
||||
"""
|
||||
from yunohost.hook import hook_exec, hook_remove, hook_callback
|
||||
|
@ -1222,6 +1235,7 @@ def app_remove(operation_logger, app):
|
|||
env_dict["YNH_APP_INSTANCE_NAME"] = app
|
||||
env_dict["YNH_APP_INSTANCE_NUMBER"] = str(app_instance_nb)
|
||||
env_dict["YNH_APP_MANIFEST_VERSION"] = manifest.get("version", "?")
|
||||
env_dict["YNH_APP_PURGE"] = str(purge)
|
||||
operation_logger.extra.update({"env": env_dict})
|
||||
operation_logger.flush()
|
||||
|
||||
|
@ -1510,7 +1524,7 @@ def app_setting(app, key, value=None, delete=False):
|
|||
# SET
|
||||
else:
|
||||
if key in ["redirected_urls", "redirected_regex"]:
|
||||
value = yaml.load(value)
|
||||
value = yaml.safe_load(value)
|
||||
app_settings[key] = value
|
||||
|
||||
_set_app_settings(app, app_settings)
|
||||
|
@ -2167,7 +2181,7 @@ def _get_app_settings(app_id):
|
|||
)
|
||||
try:
|
||||
with open(os.path.join(APPS_SETTING_PATH, app_id, "settings.yml")) as f:
|
||||
settings = yaml.load(f)
|
||||
settings = yaml.safe_load(f)
|
||||
# If label contains unicode char, this may later trigger issues when building strings...
|
||||
# FIXME: this should be propagated to read_yaml so that this fix applies everywhere I think...
|
||||
settings = {k: v for k, v in settings.items()}
|
||||
|
@ -2729,7 +2743,7 @@ class YunoHostArgumentFormatParser(object):
|
|||
)
|
||||
|
||||
try:
|
||||
question.value = msignals.prompt(
|
||||
question.value = Moulinette.prompt(
|
||||
text_for_user_input_in_cli, self.hide_user_input_in_prompt
|
||||
)
|
||||
except NotImplementedError:
|
||||
|
|
68
src/yunohost/authenticators/ldap_admin.py
Normal file
68
src/yunohost/authenticators/ldap_admin.py
Normal file
|
@ -0,0 +1,68 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
import logging
|
||||
import ldap
|
||||
import ldap.sasl
|
||||
import time
|
||||
|
||||
from moulinette import m18n
|
||||
from moulinette.authentication import BaseAuthenticator
|
||||
from yunohost.utils.error import YunohostError
|
||||
|
||||
logger = logging.getLogger("yunohost.authenticators.ldap_admin")
|
||||
|
||||
|
||||
class Authenticator(BaseAuthenticator):
|
||||
|
||||
name = "ldap_admin"
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.uri = "ldap://localhost:389"
|
||||
self.basedn = "dc=yunohost,dc=org"
|
||||
self.admindn = "cn=admin,dc=yunohost,dc=org"
|
||||
|
||||
def _authenticate_credentials(self, credentials=None):
|
||||
|
||||
# TODO : change authentication format
|
||||
# to support another dn to support multi-admins
|
||||
|
||||
def _reconnect():
|
||||
con = ldap.ldapobject.ReconnectLDAPObject(
|
||||
self.uri, retry_max=10, retry_delay=0.5
|
||||
)
|
||||
con.simple_bind_s(self.admindn, credentials)
|
||||
return con
|
||||
|
||||
try:
|
||||
con = _reconnect()
|
||||
except ldap.INVALID_CREDENTIALS:
|
||||
raise YunohostError("invalid_password")
|
||||
except ldap.SERVER_DOWN:
|
||||
# ldap is down, attempt to restart it before really failing
|
||||
logger.warning(m18n.n("ldap_server_is_down_restart_it"))
|
||||
os.system("systemctl restart slapd")
|
||||
time.sleep(10) # waits 10 secondes so we are sure that slapd has restarted
|
||||
|
||||
try:
|
||||
con = _reconnect()
|
||||
except ldap.SERVER_DOWN:
|
||||
raise YunohostError("ldap_server_down")
|
||||
|
||||
# Check that we are indeed logged in with the expected identity
|
||||
try:
|
||||
# whoami_s return dn:..., then delete these 3 characters
|
||||
who = con.whoami_s()[3:]
|
||||
except Exception as e:
|
||||
logger.warning("Error during ldap authentication process: %s", e)
|
||||
raise
|
||||
else:
|
||||
if who != self.admindn:
|
||||
raise YunohostError(
|
||||
f"Not logged with the appropriate identity ? Found {who}, expected {self.admindn} !?",
|
||||
raw_msg=True,
|
||||
)
|
||||
finally:
|
||||
# Free the connection, we don't really need it to keep it open as the point is only to check authentication...
|
||||
if con:
|
||||
con.unbind_s()
|
|
@ -38,7 +38,7 @@ from collections import OrderedDict
|
|||
from functools import reduce
|
||||
from packaging import version
|
||||
|
||||
from moulinette import msignals, m18n, msettings
|
||||
from moulinette import Moulinette, m18n
|
||||
from moulinette.utils import filesystem
|
||||
from moulinette.utils.log import getActionLogger
|
||||
from moulinette.utils.filesystem import read_file, mkdir, write_to_yaml, read_yaml
|
||||
|
@ -71,6 +71,7 @@ from yunohost.regenconf import regen_conf
|
|||
from yunohost.log import OperationLogger, is_unit_operation
|
||||
from yunohost.utils.error import YunohostError, YunohostValidationError
|
||||
from yunohost.utils.packages import ynh_packages_version
|
||||
from yunohost.utils.filesystem import free_space_in_directory
|
||||
from yunohost.settings import settings_get
|
||||
|
||||
BACKUP_PATH = "/home/yunohost.backup"
|
||||
|
@ -1508,7 +1509,7 @@ class RestoreManager:
|
|||
m18n.n("app_restore_failed", app=app_instance_name, error=error)
|
||||
)
|
||||
failure_message_with_debug_instructions = operation_logger.error(error)
|
||||
if msettings.get("interface") != "api":
|
||||
if Moulinette.interface.type != "api":
|
||||
dump_app_log_extract_for_debugging(operation_logger)
|
||||
# Script got manually interrupted ... N.B. : KeyboardInterrupt does not inherit from Exception
|
||||
except (KeyboardInterrupt, EOFError):
|
||||
|
@ -1839,7 +1840,7 @@ class BackupMethod(object):
|
|||
# Ask confirmation for copying
|
||||
if size > MB_ALLOWED_TO_ORGANIZE:
|
||||
try:
|
||||
i = msignals.prompt(
|
||||
i = Moulinette.prompt(
|
||||
m18n.n(
|
||||
"backup_ask_for_copying_if_needed",
|
||||
answers="y/N",
|
||||
|
@ -2343,7 +2344,7 @@ def backup_restore(name, system=[], apps=[], force=False):
|
|||
if not force:
|
||||
try:
|
||||
# Ask confirmation for restoring
|
||||
i = msignals.prompt(
|
||||
i = Moulinette.prompt(
|
||||
m18n.n("restore_confirm_yunohost_installed", answers="y/N")
|
||||
)
|
||||
except NotImplemented:
|
||||
|
@ -2417,7 +2418,7 @@ def backup_list(with_info=False, human_readable=False):
|
|||
|
||||
def backup_download(name):
|
||||
|
||||
if msettings.get("interface") != "api":
|
||||
if Moulinette.interface.type != "api":
|
||||
logger.error(
|
||||
"This option is only meant for the API/webadmin and doesn't make sense for the command line."
|
||||
)
|
||||
|
@ -2672,11 +2673,6 @@ def _recursive_umount(directory):
|
|||
return everything_went_fine
|
||||
|
||||
|
||||
def free_space_in_directory(dirpath):
|
||||
stat = os.statvfs(dirpath)
|
||||
return stat.f_frsize * stat.f_bavail
|
||||
|
||||
|
||||
def disk_usage(path):
|
||||
# We don't do this in python with os.stat because we don't want
|
||||
# to follow symlinks
|
||||
|
|
|
@ -28,7 +28,7 @@ import re
|
|||
import os
|
||||
import time
|
||||
|
||||
from moulinette import m18n, msettings
|
||||
from moulinette import m18n, Moulinette
|
||||
from moulinette.utils import log
|
||||
from moulinette.utils.filesystem import (
|
||||
read_json,
|
||||
|
@ -138,7 +138,7 @@ def diagnosis_show(
|
|||
url = yunopaste(content)
|
||||
|
||||
logger.info(m18n.n("log_available_on_yunopaste", url=url))
|
||||
if msettings.get("interface") == "api":
|
||||
if Moulinette.interface.type == "api":
|
||||
return {"url": url}
|
||||
else:
|
||||
return
|
||||
|
@ -219,7 +219,7 @@ def diagnosis_run(
|
|||
|
||||
if email:
|
||||
_email_diagnosis_issues()
|
||||
if issues and msettings.get("interface") == "cli":
|
||||
if issues and Moulinette.interface.type == "cli":
|
||||
logger.warning(m18n.n("diagnosis_display_tip"))
|
||||
|
||||
|
||||
|
@ -595,7 +595,7 @@ class Diagnoser:
|
|||
info[1].update(meta_data)
|
||||
s = m18n.n(info[0], **(info[1]))
|
||||
# In cli, we remove the html tags
|
||||
if msettings.get("interface") != "api" or force_remove_html_tags:
|
||||
if Moulinette.interface.type != "api" or force_remove_html_tags:
|
||||
s = s.replace("<cmd>", "'").replace("</cmd>", "'")
|
||||
s = html_tags.sub("", s.replace("<br>", "\n"))
|
||||
else:
|
||||
|
|
|
@ -32,7 +32,7 @@ import functools
|
|||
from lexicon.client import Client
|
||||
from lexicon.config import ConfigResolver
|
||||
|
||||
from moulinette import m18n, msettings, msignals
|
||||
from moulinette import m18n, Moulinette
|
||||
from moulinette.core import MoulinetteError
|
||||
from yunohost.utils.error import YunohostError, YunohostValidationError
|
||||
from moulinette.utils.log import getActionLogger
|
||||
|
@ -127,6 +127,9 @@ def domain_add(operation_logger, domain, dyndns=False):
|
|||
# See: https://forum.yunohost.org/t/invalid-domain-causes-diagnosis-web-to-fail-fr-on-demand/11765
|
||||
domain = domain.lower()
|
||||
|
||||
# Non-latin characters (e.g. café.com => xn--caf-dma.com)
|
||||
domain = domain.encode("idna").decode("utf-8")
|
||||
|
||||
# DynDNS domain
|
||||
if dyndns:
|
||||
|
||||
|
@ -175,7 +178,9 @@ def domain_add(operation_logger, domain, dyndns=False):
|
|||
# because it's one of the major service, but in the long term we
|
||||
# should identify the root of this bug...
|
||||
_force_clear_hashes(["/etc/nginx/conf.d/%s.conf" % domain])
|
||||
regen_conf(names=["nginx", "metronome", "dnsmasq", "postfix", "rspamd"])
|
||||
regen_conf(
|
||||
names=["nginx", "metronome", "dnsmasq", "postfix", "rspamd", "mdns"]
|
||||
)
|
||||
app_ssowatconf()
|
||||
|
||||
except Exception as e:
|
||||
|
@ -248,8 +253,8 @@ def domain_remove(operation_logger, domain, remove_apps=False, force=False):
|
|||
|
||||
if apps_on_that_domain:
|
||||
if remove_apps:
|
||||
if msettings.get("interface") == "cli" and not force:
|
||||
answer = msignals.prompt(
|
||||
if Moulinette.interface.type == "cli" and not force:
|
||||
answer = Moulinette.prompt(
|
||||
m18n.n(
|
||||
"domain_remove_confirm_apps_removal",
|
||||
apps="\n".join([x[1] for x in apps_on_that_domain]),
|
||||
|
@ -305,7 +310,7 @@ def domain_remove(operation_logger, domain, remove_apps=False, force=False):
|
|||
"/etc/nginx/conf.d/%s.conf" % domain, new_conf=None, save=True
|
||||
)
|
||||
|
||||
regen_conf(names=["nginx", "metronome", "dnsmasq", "postfix"])
|
||||
regen_conf(names=["nginx", "metronome", "dnsmasq", "postfix", "rspamd", "mdns"])
|
||||
app_ssowatconf()
|
||||
|
||||
hook_callback("post_domain_remove", args=[domain])
|
||||
|
@ -355,7 +360,7 @@ def domain_dns_conf(domain):
|
|||
for record in record_list:
|
||||
result += "\n{name} {ttl} IN {type} {value}".format(**record)
|
||||
|
||||
if msettings.get("interface") == "cli":
|
||||
if Moulinette.interface.type == "cli":
|
||||
# FIXME Update this to point to our "dns push" doc
|
||||
logger.info(m18n.n("domain_dns_conf_is_just_a_recommendation"))
|
||||
|
||||
|
|
|
@ -179,7 +179,7 @@ def firewall_list(raw=False, by_ip_version=False, list_forwarded=False):
|
|||
|
||||
"""
|
||||
with open(FIREWALL_FILE) as f:
|
||||
firewall = yaml.load(f)
|
||||
firewall = yaml.safe_load(f)
|
||||
if raw:
|
||||
return firewall
|
||||
|
||||
|
@ -399,6 +399,12 @@ def firewall_upnp(action="status", no_refresh=False):
|
|||
for protocol in ["TCP", "UDP"]:
|
||||
if protocol + "_TO_CLOSE" in firewall["uPnP"]:
|
||||
for port in firewall["uPnP"][protocol + "_TO_CLOSE"]:
|
||||
|
||||
if not isinstance(port, int):
|
||||
# FIXME : how should we handle port ranges ?
|
||||
logger.warning("Can't use UPnP to close '%s'" % port)
|
||||
continue
|
||||
|
||||
# Clean the mapping of this port
|
||||
if upnpc.getspecificportmapping(port, protocol):
|
||||
try:
|
||||
|
@ -408,6 +414,12 @@ def firewall_upnp(action="status", no_refresh=False):
|
|||
firewall["uPnP"][protocol + "_TO_CLOSE"] = []
|
||||
|
||||
for port in firewall["uPnP"][protocol]:
|
||||
|
||||
if not isinstance(port, int):
|
||||
# FIXME : how should we handle port ranges ?
|
||||
logger.warning("Can't use UPnP to open '%s'" % port)
|
||||
continue
|
||||
|
||||
# Clean the mapping of this port
|
||||
if upnpc.getspecificportmapping(port, protocol):
|
||||
try:
|
||||
|
|
|
@ -31,7 +31,7 @@ import mimetypes
|
|||
from glob import iglob
|
||||
from importlib import import_module
|
||||
|
||||
from moulinette import m18n, msettings
|
||||
from moulinette import m18n, Moulinette
|
||||
from yunohost.utils.error import YunohostError, YunohostValidationError
|
||||
from moulinette.utils import log
|
||||
from moulinette.utils.filesystem import read_json
|
||||
|
@ -320,7 +320,13 @@ def hook_callback(
|
|||
|
||||
|
||||
def hook_exec(
|
||||
path, args=None, raise_on_error=False, chdir=None, env=None, return_format="json"
|
||||
path,
|
||||
args=None,
|
||||
raise_on_error=False,
|
||||
chdir=None,
|
||||
env=None,
|
||||
user="root",
|
||||
return_format="json",
|
||||
):
|
||||
"""
|
||||
Execute hook from a file with arguments
|
||||
|
@ -331,6 +337,7 @@ def hook_exec(
|
|||
raise_on_error -- Raise if the script returns a non-zero exit code
|
||||
chdir -- The directory from where the script will be executed
|
||||
env -- Dictionnary of environment variables to export
|
||||
user -- User with which to run the command
|
||||
"""
|
||||
|
||||
# Validate hook path
|
||||
|
@ -372,7 +379,7 @@ def hook_exec(
|
|||
returncode, returndata = _hook_exec_python(path, args, env, loggers)
|
||||
else:
|
||||
returncode, returndata = _hook_exec_bash(
|
||||
path, args, chdir, env, return_format, loggers
|
||||
path, args, chdir, env, user, return_format, loggers
|
||||
)
|
||||
|
||||
# Check and return process' return code
|
||||
|
@ -388,7 +395,7 @@ def hook_exec(
|
|||
return returncode, returndata
|
||||
|
||||
|
||||
def _hook_exec_bash(path, args, chdir, env, return_format, loggers):
|
||||
def _hook_exec_bash(path, args, chdir, env, user, return_format, loggers):
|
||||
|
||||
from moulinette.utils.process import call_async_output
|
||||
|
||||
|
@ -409,24 +416,30 @@ def _hook_exec_bash(path, args, chdir, env, return_format, loggers):
|
|||
env = {}
|
||||
env["YNH_CWD"] = chdir
|
||||
|
||||
env["YNH_INTERFACE"] = msettings.get("interface")
|
||||
env["YNH_INTERFACE"] = Moulinette.interface.type
|
||||
|
||||
stdreturn = os.path.join(tempfile.mkdtemp(), "stdreturn")
|
||||
with open(stdreturn, "w") as f:
|
||||
f.write("")
|
||||
env["YNH_STDRETURN"] = stdreturn
|
||||
|
||||
# Construct command to execute
|
||||
if user == "root":
|
||||
command = ["sh", "-c"]
|
||||
else:
|
||||
command = ["sudo", "-n", "-u", user, "-H", "sh", "-c"]
|
||||
|
||||
# use xtrace on fd 7 which is redirected to stdout
|
||||
env["BASH_XTRACEFD"] = "7"
|
||||
cmd = '/bin/bash -x "{script}" {args} 7>&1'
|
||||
cmd = cmd.format(script=cmd_script, args=cmd_args)
|
||||
command.append(cmd.format(script=cmd_script, args=cmd_args))
|
||||
|
||||
logger.debug("Executing command '%s'" % cmd)
|
||||
logger.debug("Executing command '%s'" % command)
|
||||
|
||||
_env = os.environ.copy()
|
||||
_env.update(env)
|
||||
|
||||
returncode = call_async_output(cmd, loggers, shell=True, cwd=chdir, env=_env)
|
||||
returncode = call_async_output(command, loggers, shell=False, cwd=chdir, env=_env)
|
||||
|
||||
raw_content = None
|
||||
try:
|
||||
|
|
|
@ -33,7 +33,7 @@ import psutil
|
|||
from datetime import datetime, timedelta
|
||||
from logging import FileHandler, getLogger, Formatter
|
||||
|
||||
from moulinette import m18n, msettings
|
||||
from moulinette import m18n, Moulinette
|
||||
from moulinette.core import MoulinetteError
|
||||
from yunohost.utils.error import YunohostError, YunohostValidationError
|
||||
from yunohost.utils.packages import get_ynh_package_version
|
||||
|
@ -44,7 +44,6 @@ CATEGORIES_PATH = "/var/log/yunohost/categories/"
|
|||
OPERATIONS_PATH = "/var/log/yunohost/categories/operation/"
|
||||
METADATA_FILE_EXT = ".yml"
|
||||
LOG_FILE_EXT = ".log"
|
||||
RELATED_CATEGORIES = ["app", "domain", "group", "service", "user"]
|
||||
|
||||
logger = getActionLogger("yunohost.log")
|
||||
|
||||
|
@ -125,7 +124,7 @@ def log_list(limit=None, with_details=False, with_suboperations=False):
|
|||
operations = list(reversed(sorted(operations, key=lambda o: o["name"])))
|
||||
# Reverse the order of log when in cli, more comfortable to read (avoid
|
||||
# unecessary scrolling)
|
||||
is_api = msettings.get("interface") == "api"
|
||||
is_api = Moulinette.interface.type == "api"
|
||||
if not is_api:
|
||||
operations = list(reversed(operations))
|
||||
|
||||
|
@ -214,7 +213,7 @@ def log_show(
|
|||
url = yunopaste(content)
|
||||
|
||||
logger.info(m18n.n("log_available_on_yunopaste", url=url))
|
||||
if msettings.get("interface") == "api":
|
||||
if Moulinette.interface.type == "api":
|
||||
return {"url": url}
|
||||
else:
|
||||
return
|
||||
|
@ -222,7 +221,7 @@ def log_show(
|
|||
# Display metadata if exist
|
||||
if os.path.exists(md_path):
|
||||
try:
|
||||
metadata = read_yaml(md_path)
|
||||
metadata = read_yaml(md_path) or {}
|
||||
except MoulinetteError as e:
|
||||
error = m18n.n("log_corrupted_md_file", md_file=md_path, error=e)
|
||||
if os.path.exists(log_path):
|
||||
|
@ -609,7 +608,7 @@ class OperationLogger(object):
|
|||
"operation": self.operation,
|
||||
"parent": self.parent,
|
||||
"yunohost_version": get_ynh_package_version("yunohost")["version"],
|
||||
"interface": msettings.get("interface"),
|
||||
"interface": Moulinette.interface.type,
|
||||
}
|
||||
if self.related_to is not None:
|
||||
data["related_to"] = self.related_to
|
||||
|
@ -663,7 +662,7 @@ class OperationLogger(object):
|
|||
self.logger.removeHandler(self.file_handler)
|
||||
self.file_handler.close()
|
||||
|
||||
is_api = msettings.get("interface") == "api"
|
||||
is_api = Moulinette.interface.type == "api"
|
||||
desc = _get_description_from_name(self.name)
|
||||
if error is None:
|
||||
if is_api:
|
||||
|
|
|
@ -444,7 +444,7 @@ def _get_regenconf_infos():
|
|||
"""
|
||||
try:
|
||||
with open(REGEN_CONF_FILE, "r") as f:
|
||||
return yaml.load(f)
|
||||
return yaml.safe_load(f)
|
||||
except Exception:
|
||||
return {}
|
||||
|
||||
|
|
|
@ -37,10 +37,19 @@ from moulinette import m18n
|
|||
from yunohost.utils.error import YunohostError, YunohostValidationError
|
||||
from moulinette.utils.process import check_output
|
||||
from moulinette.utils.log import getActionLogger
|
||||
from moulinette.utils.filesystem import read_file, append_to_file, write_to_file
|
||||
from moulinette.utils.filesystem import (
|
||||
read_file,
|
||||
append_to_file,
|
||||
write_to_file,
|
||||
read_yaml,
|
||||
write_to_yaml,
|
||||
)
|
||||
|
||||
MOULINETTE_LOCK = "/var/run/moulinette_yunohost.lock"
|
||||
|
||||
SERVICES_CONF = "/etc/yunohost/services.yml"
|
||||
SERVICES_CONF_BASE = "/usr/share/yunohost/templates/yunohost/services.yml"
|
||||
|
||||
logger = getActionLogger("yunohost.service")
|
||||
|
||||
|
||||
|
@ -127,7 +136,8 @@ def service_add(
|
|||
|
||||
try:
|
||||
_save_services(services)
|
||||
except Exception:
|
||||
except Exception as e:
|
||||
logger.warning(e)
|
||||
# we'll get a logger.warning with more details in _save_services
|
||||
raise YunohostError("service_add_failed", service=name)
|
||||
|
||||
|
@ -669,17 +679,21 @@ def _get_services():
|
|||
|
||||
"""
|
||||
try:
|
||||
with open("/etc/yunohost/services.yml", "r") as f:
|
||||
services = yaml.load(f) or {}
|
||||
services = read_yaml(SERVICES_CONF_BASE) or {}
|
||||
|
||||
# These are keys flagged 'null' in the base conf
|
||||
legacy_keys_to_delete = [k for k, v in services.items() if v is None]
|
||||
|
||||
services.update(read_yaml(SERVICES_CONF) or {})
|
||||
|
||||
services = {
|
||||
name: infos
|
||||
for name, infos in services.items()
|
||||
if name not in legacy_keys_to_delete
|
||||
}
|
||||
except Exception:
|
||||
return {}
|
||||
|
||||
# some services are marked as None to remove them from YunoHost
|
||||
# filter this
|
||||
for key, value in list(services.items()):
|
||||
if value is None:
|
||||
del services[key]
|
||||
|
||||
# Dirty hack to automatically find custom SSH port ...
|
||||
ssh_port_line = re.findall(
|
||||
r"\bPort *([0-9]{2,5})\b", read_file("/etc/ssh/sshd_config")
|
||||
|
@ -703,6 +717,13 @@ def _get_services():
|
|||
del services["postgresql"]["description"]
|
||||
services["postgresql"]["actual_systemd_service"] = "postgresql@11-main"
|
||||
|
||||
# Remove legacy /var/log/daemon.log and /var/log/syslog from log entries
|
||||
# because they are too general. Instead, now the journalctl log is
|
||||
# returned by default which is more relevant.
|
||||
for infos in services.values():
|
||||
if infos.get("log") in ["/var/log/syslog", "/var/log/daemon.log"]:
|
||||
del infos["log"]
|
||||
|
||||
return services
|
||||
|
||||
|
||||
|
@ -714,12 +735,26 @@ def _save_services(services):
|
|||
services -- A dict of managed services with their parameters
|
||||
|
||||
"""
|
||||
try:
|
||||
with open("/etc/yunohost/services.yml", "w") as f:
|
||||
yaml.safe_dump(services, f, default_flow_style=False)
|
||||
except Exception as e:
|
||||
logger.warning("Error while saving services, exception: %s", e, exc_info=1)
|
||||
raise
|
||||
|
||||
# Compute the diff with the base file
|
||||
# such that /etc/yunohost/services.yml contains the minimal
|
||||
# changes with respect to the base conf
|
||||
|
||||
conf_base = yaml.safe_load(open(SERVICES_CONF_BASE)) or {}
|
||||
|
||||
diff = {}
|
||||
|
||||
for service_name, service_infos in services.items():
|
||||
service_conf_base = conf_base.get(service_name, {})
|
||||
diff[service_name] = {}
|
||||
|
||||
for key, value in service_infos.items():
|
||||
if service_conf_base.get(key) != value:
|
||||
diff[service_name][key] = value
|
||||
|
||||
diff = {name: infos for name, infos in diff.items() if infos}
|
||||
|
||||
write_to_yaml(SERVICES_CONF, diff)
|
||||
|
||||
|
||||
def _tail(file, n):
|
||||
|
|
|
@ -100,6 +100,9 @@ DEFAULTS = OrderedDict(
|
|||
("smtp.relay.password", {"type": "string", "default": ""}),
|
||||
("backup.compress_tar_archives", {"type": "bool", "default": False}),
|
||||
("ssowat.panel_overlay.enabled", {"type": "bool", "default": True}),
|
||||
("security.webadmin.allowlist.enabled", {"type": "bool", "default": False}),
|
||||
("security.webadmin.allowlist", {"type": "string", "default": ""}),
|
||||
("security.experimental.enabled", {"type": "bool", "default": False}),
|
||||
]
|
||||
)
|
||||
|
||||
|
@ -265,19 +268,18 @@ def settings_reset_all():
|
|||
}
|
||||
|
||||
|
||||
def _get_settings():
|
||||
def get_setting_description(key):
|
||||
if key.startswith("example"):
|
||||
# (This is for dummy stuff used during unit tests)
|
||||
return "Dummy %s setting" % key.split(".")[-1]
|
||||
def _get_setting_description(key):
|
||||
return m18n.n("global_settings_setting_%s" % key.replace(".", "_"))
|
||||
|
||||
|
||||
def _get_settings():
|
||||
|
||||
settings = {}
|
||||
|
||||
for key, value in DEFAULTS.copy().items():
|
||||
settings[key] = value
|
||||
settings[key]["value"] = value["default"]
|
||||
settings[key]["description"] = get_setting_description(key)
|
||||
settings[key]["description"] = _get_setting_description(key)
|
||||
|
||||
if not os.path.exists(SETTINGS_PATH):
|
||||
return settings
|
||||
|
@ -306,7 +308,7 @@ def _get_settings():
|
|||
for key, value in local_settings.items():
|
||||
if key in settings:
|
||||
settings[key] = value
|
||||
settings[key]["description"] = get_setting_description(key)
|
||||
settings[key]["description"] = _get_setting_description(key)
|
||||
else:
|
||||
logger.warning(
|
||||
m18n.n(
|
||||
|
@ -391,11 +393,19 @@ def trigger_post_change_hook(setting_name, old_value, new_value):
|
|||
|
||||
@post_change_hook("ssowat.panel_overlay.enabled")
|
||||
@post_change_hook("security.nginx.compatibility")
|
||||
@post_change_hook("security.webadmin.allowlist.enabled")
|
||||
@post_change_hook("security.webadmin.allowlist")
|
||||
def reconfigure_nginx(setting_name, old_value, new_value):
|
||||
if old_value != new_value:
|
||||
regen_conf(names=["nginx"])
|
||||
|
||||
|
||||
@post_change_hook("security.experimental.enabled")
|
||||
def reconfigure_nginx_and_yunohost(setting_name, old_value, new_value):
|
||||
if old_value != new_value:
|
||||
regen_conf(names=["nginx", "yunohost"])
|
||||
|
||||
|
||||
@post_change_hook("security.ssh.compatibility")
|
||||
def reconfigure_ssh(setting_name, old_value, new_value):
|
||||
if old_value != new_value:
|
||||
|
|
|
@ -64,6 +64,7 @@ def user_ssh_add_key(username, key, comment):
|
|||
parents=True,
|
||||
uid=user["uid"][0],
|
||||
)
|
||||
chmod(os.path.join(user["homeDirectory"][0], ".ssh"), 0o600)
|
||||
|
||||
# create empty file to set good permissions
|
||||
write_to_file(authorized_keys_file, "")
|
||||
|
|
|
@ -3,7 +3,7 @@ import pytest
|
|||
import sys
|
||||
|
||||
import moulinette
|
||||
from moulinette import m18n, msettings
|
||||
from moulinette import m18n, Moulinette
|
||||
from yunohost.utils.error import YunohostError
|
||||
from contextlib import contextmanager
|
||||
|
||||
|
@ -81,4 +81,12 @@ def pytest_cmdline_main(config):
|
|||
import yunohost
|
||||
|
||||
yunohost.init(debug=config.option.yunodebug)
|
||||
msettings["interface"] = "test"
|
||||
|
||||
class DummyInterface:
|
||||
|
||||
type = "test"
|
||||
|
||||
def prompt(*args, **kwargs):
|
||||
raise NotImplementedError
|
||||
|
||||
Moulinette._interface = DummyInterface()
|
||||
|
|
|
@ -5,7 +5,7 @@ from mock import patch
|
|||
from io import StringIO
|
||||
from collections import OrderedDict
|
||||
|
||||
from moulinette import msignals
|
||||
from moulinette import Moulinette
|
||||
|
||||
from yunohost import domain, user
|
||||
from yunohost.app import _parse_args_in_yunohost_format, PasswordArgumentParser
|
||||
|
@ -84,7 +84,7 @@ def test_parse_args_in_yunohost_format_string_input():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_string": ("some_value", "string")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="some_value"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -97,7 +97,7 @@ def test_parse_args_in_yunohost_format_string_input_no_ask():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_string": ("some_value", "string")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="some_value"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -124,7 +124,7 @@ def test_parse_args_in_yunohost_format_string_optional_with_input():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_string": ("some_value", "string")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="some_value"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -139,7 +139,7 @@ def test_parse_args_in_yunohost_format_string_optional_with_empty_input():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_string": ("", "string")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value=""):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value=""):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -153,7 +153,7 @@ def test_parse_args_in_yunohost_format_string_optional_with_input_without_ask():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_string": ("some_value", "string")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="some_value"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -180,7 +180,9 @@ def test_parse_args_in_yunohost_format_string_input_test_ask():
|
|||
]
|
||||
answers = {}
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value") as prompt:
|
||||
with patch.object(
|
||||
Moulinette.interface, "prompt", return_value="some_value"
|
||||
) as prompt:
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
prompt.assert_called_with(ask_text, False)
|
||||
|
||||
|
@ -197,7 +199,9 @@ def test_parse_args_in_yunohost_format_string_input_test_ask_with_default():
|
|||
]
|
||||
answers = {}
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value") as prompt:
|
||||
with patch.object(
|
||||
Moulinette.interface, "prompt", return_value="some_value"
|
||||
) as prompt:
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
prompt.assert_called_with("%s (default: %s)" % (ask_text, default_text), False)
|
||||
|
||||
|
@ -215,7 +219,9 @@ def test_parse_args_in_yunohost_format_string_input_test_ask_with_example():
|
|||
]
|
||||
answers = {}
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value") as prompt:
|
||||
with patch.object(
|
||||
Moulinette.interface, "prompt", return_value="some_value"
|
||||
) as prompt:
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
assert ask_text in prompt.call_args[0][0]
|
||||
assert example_text in prompt.call_args[0][0]
|
||||
|
@ -234,7 +240,9 @@ def test_parse_args_in_yunohost_format_string_input_test_ask_with_help():
|
|||
]
|
||||
answers = {}
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value") as prompt:
|
||||
with patch.object(
|
||||
Moulinette.interface, "prompt", return_value="some_value"
|
||||
) as prompt:
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
assert ask_text in prompt.call_args[0][0]
|
||||
assert help_text in prompt.call_args[0][0]
|
||||
|
@ -251,7 +259,7 @@ def test_parse_args_in_yunohost_format_string_with_choice_prompt():
|
|||
questions = [{"name": "some_string", "type": "string", "choices": ["fr", "en"]}]
|
||||
answers = {"some_string": "fr"}
|
||||
expected_result = OrderedDict({"some_string": ("fr", "string")})
|
||||
with patch.object(msignals, "prompt", return_value="fr"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="fr"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -275,7 +283,7 @@ def test_parse_args_in_yunohost_format_string_with_choice_ask():
|
|||
]
|
||||
answers = {}
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="ru") as prompt:
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="ru") as prompt:
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
assert ask_text in prompt.call_args[0][0]
|
||||
|
||||
|
@ -333,7 +341,7 @@ def test_parse_args_in_yunohost_format_password_input():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_password": ("some_value", "password")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="some_value"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -347,7 +355,7 @@ def test_parse_args_in_yunohost_format_password_input_no_ask():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_password": ("some_value", "password")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="some_value"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -383,7 +391,7 @@ def test_parse_args_in_yunohost_format_password_optional_with_input():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_password": ("some_value", "password")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="some_value"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -399,7 +407,7 @@ def test_parse_args_in_yunohost_format_password_optional_with_empty_input():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_password": ("", "password")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value=""):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value=""):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -414,7 +422,7 @@ def test_parse_args_in_yunohost_format_password_optional_with_input_without_ask(
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_password": ("some_value", "password")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="some_value"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -462,7 +470,9 @@ def test_parse_args_in_yunohost_format_password_input_test_ask():
|
|||
]
|
||||
answers = {}
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value") as prompt:
|
||||
with patch.object(
|
||||
Moulinette.interface, "prompt", return_value="some_value"
|
||||
) as prompt:
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
prompt.assert_called_with(ask_text, True)
|
||||
|
||||
|
@ -481,7 +491,9 @@ def test_parse_args_in_yunohost_format_password_input_test_ask_with_example():
|
|||
]
|
||||
answers = {}
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value") as prompt:
|
||||
with patch.object(
|
||||
Moulinette.interface, "prompt", return_value="some_value"
|
||||
) as prompt:
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
assert ask_text in prompt.call_args[0][0]
|
||||
assert example_text in prompt.call_args[0][0]
|
||||
|
@ -501,7 +513,9 @@ def test_parse_args_in_yunohost_format_password_input_test_ask_with_help():
|
|||
]
|
||||
answers = {}
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value") as prompt:
|
||||
with patch.object(
|
||||
Moulinette.interface, "prompt", return_value="some_value"
|
||||
) as prompt:
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
assert ask_text in prompt.call_args[0][0]
|
||||
assert help_text in prompt.call_args[0][0]
|
||||
|
@ -594,7 +608,7 @@ def test_parse_args_in_yunohost_format_path_input():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_path": ("some_value", "path")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="some_value"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -608,7 +622,7 @@ def test_parse_args_in_yunohost_format_path_input_no_ask():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_path": ("some_value", "path")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="some_value"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -637,7 +651,7 @@ def test_parse_args_in_yunohost_format_path_optional_with_input():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_path": ("some_value", "path")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="some_value"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -653,7 +667,7 @@ def test_parse_args_in_yunohost_format_path_optional_with_empty_input():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_path": ("", "path")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value=""):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value=""):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -668,7 +682,7 @@ def test_parse_args_in_yunohost_format_path_optional_with_input_without_ask():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_path": ("some_value", "path")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="some_value"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -697,7 +711,9 @@ def test_parse_args_in_yunohost_format_path_input_test_ask():
|
|||
]
|
||||
answers = {}
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value") as prompt:
|
||||
with patch.object(
|
||||
Moulinette.interface, "prompt", return_value="some_value"
|
||||
) as prompt:
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
prompt.assert_called_with(ask_text, False)
|
||||
|
||||
|
@ -715,7 +731,9 @@ def test_parse_args_in_yunohost_format_path_input_test_ask_with_default():
|
|||
]
|
||||
answers = {}
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value") as prompt:
|
||||
with patch.object(
|
||||
Moulinette.interface, "prompt", return_value="some_value"
|
||||
) as prompt:
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
prompt.assert_called_with("%s (default: %s)" % (ask_text, default_text), False)
|
||||
|
||||
|
@ -734,7 +752,9 @@ def test_parse_args_in_yunohost_format_path_input_test_ask_with_example():
|
|||
]
|
||||
answers = {}
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value") as prompt:
|
||||
with patch.object(
|
||||
Moulinette.interface, "prompt", return_value="some_value"
|
||||
) as prompt:
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
assert ask_text in prompt.call_args[0][0]
|
||||
assert example_text in prompt.call_args[0][0]
|
||||
|
@ -754,7 +774,9 @@ def test_parse_args_in_yunohost_format_path_input_test_ask_with_help():
|
|||
]
|
||||
answers = {}
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="some_value") as prompt:
|
||||
with patch.object(
|
||||
Moulinette.interface, "prompt", return_value="some_value"
|
||||
) as prompt:
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
assert ask_text in prompt.call_args[0][0]
|
||||
assert help_text in prompt.call_args[0][0]
|
||||
|
@ -918,11 +940,11 @@ def test_parse_args_in_yunohost_format_boolean_input():
|
|||
answers = {}
|
||||
|
||||
expected_result = OrderedDict({"some_boolean": (1, "boolean")})
|
||||
with patch.object(msignals, "prompt", return_value="y"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="y"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
expected_result = OrderedDict({"some_boolean": (0, "boolean")})
|
||||
with patch.object(msignals, "prompt", return_value="n"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="n"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -936,7 +958,7 @@ def test_parse_args_in_yunohost_format_boolean_input_no_ask():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_boolean": (1, "boolean")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="y"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="y"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -965,7 +987,7 @@ def test_parse_args_in_yunohost_format_boolean_optional_with_input():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_boolean": (1, "boolean")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="y"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="y"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -981,7 +1003,7 @@ def test_parse_args_in_yunohost_format_boolean_optional_with_empty_input():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_boolean": (0, "boolean")}) # default to false
|
||||
|
||||
with patch.object(msignals, "prompt", return_value=""):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value=""):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -996,7 +1018,7 @@ def test_parse_args_in_yunohost_format_boolean_optional_with_input_without_ask()
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_boolean": (0, "boolean")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="n"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="n"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -1039,7 +1061,7 @@ def test_parse_args_in_yunohost_format_boolean_input_test_ask():
|
|||
]
|
||||
answers = {}
|
||||
|
||||
with patch.object(msignals, "prompt", return_value=0) as prompt:
|
||||
with patch.object(Moulinette.interface, "prompt", return_value=0) as prompt:
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
prompt.assert_called_with(ask_text + " [yes | no] (default: no)", False)
|
||||
|
||||
|
@ -1057,7 +1079,7 @@ def test_parse_args_in_yunohost_format_boolean_input_test_ask_with_default():
|
|||
]
|
||||
answers = {}
|
||||
|
||||
with patch.object(msignals, "prompt", return_value=1) as prompt:
|
||||
with patch.object(Moulinette.interface, "prompt", return_value=1) as prompt:
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
prompt.assert_called_with("%s [yes | no] (default: yes)" % ask_text, False)
|
||||
|
||||
|
@ -1193,11 +1215,11 @@ def test_parse_args_in_yunohost_format_domain_two_domains_default_input():
|
|||
domain, "_get_maindomain", return_value=main_domain
|
||||
), patch.object(domain, "domain_list", return_value={"domains": domains}):
|
||||
expected_result = OrderedDict({"some_domain": (main_domain, "domain")})
|
||||
with patch.object(msignals, "prompt", return_value=main_domain):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value=main_domain):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
expected_result = OrderedDict({"some_domain": (other_domain, "domain")})
|
||||
with patch.object(msignals, "prompt", return_value=other_domain):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value=other_domain):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -1380,14 +1402,14 @@ def test_parse_args_in_yunohost_format_user_two_users_default_input():
|
|||
with patch.object(user, "user_list", return_value={"users": users}):
|
||||
with patch.object(user, "user_info", return_value={}):
|
||||
expected_result = OrderedDict({"some_user": (username, "user")})
|
||||
with patch.object(msignals, "prompt", return_value=username):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value=username):
|
||||
assert (
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
== expected_result
|
||||
)
|
||||
|
||||
expected_result = OrderedDict({"some_user": (other_user, "user")})
|
||||
with patch.object(msignals, "prompt", return_value=other_user):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value=other_user):
|
||||
assert (
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
== expected_result
|
||||
|
@ -1447,14 +1469,14 @@ def test_parse_args_in_yunohost_format_number_input():
|
|||
answers = {}
|
||||
|
||||
expected_result = OrderedDict({"some_number": (1337, "number")})
|
||||
with patch.object(msignals, "prompt", return_value="1337"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="1337"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
with patch.object(msignals, "prompt", return_value=1337):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value=1337):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
expected_result = OrderedDict({"some_number": (0, "number")})
|
||||
with patch.object(msignals, "prompt", return_value=""):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value=""):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -1468,7 +1490,7 @@ def test_parse_args_in_yunohost_format_number_input_no_ask():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_number": (1337, "number")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="1337"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="1337"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -1497,7 +1519,7 @@ def test_parse_args_in_yunohost_format_number_optional_with_input():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_number": (1337, "number")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="1337"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="1337"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -1512,7 +1534,7 @@ def test_parse_args_in_yunohost_format_number_optional_with_input_without_ask():
|
|||
answers = {}
|
||||
expected_result = OrderedDict({"some_number": (0, "number")})
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="0"):
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="0"):
|
||||
assert _parse_args_in_yunohost_format(answers, questions) == expected_result
|
||||
|
||||
|
||||
|
@ -1555,7 +1577,7 @@ def test_parse_args_in_yunohost_format_number_input_test_ask():
|
|||
]
|
||||
answers = {}
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="1111") as prompt:
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="1111") as prompt:
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
prompt.assert_called_with("%s (default: 0)" % (ask_text), False)
|
||||
|
||||
|
@ -1573,7 +1595,7 @@ def test_parse_args_in_yunohost_format_number_input_test_ask_with_default():
|
|||
]
|
||||
answers = {}
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="1111") as prompt:
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="1111") as prompt:
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
prompt.assert_called_with("%s (default: %s)" % (ask_text, default_value), False)
|
||||
|
||||
|
@ -1592,7 +1614,7 @@ def test_parse_args_in_yunohost_format_number_input_test_ask_with_example():
|
|||
]
|
||||
answers = {}
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="1111") as prompt:
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="1111") as prompt:
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
assert ask_text in prompt.call_args[0][0]
|
||||
assert example_value in prompt.call_args[0][0]
|
||||
|
@ -1612,7 +1634,7 @@ def test_parse_args_in_yunohost_format_number_input_test_ask_with_help():
|
|||
]
|
||||
answers = {}
|
||||
|
||||
with patch.object(msignals, "prompt", return_value="1111") as prompt:
|
||||
with patch.object(Moulinette.interface, "prompt", return_value="1111") as prompt:
|
||||
_parse_args_in_yunohost_format(answers, questions)
|
||||
assert ask_text in prompt.call_args[0][0]
|
||||
assert help_value in prompt.call_args[0][0]
|
||||
|
|
59
src/yunohost/tests/test_ldapauth.py
Normal file
59
src/yunohost/tests/test_ldapauth.py
Normal file
|
@ -0,0 +1,59 @@
|
|||
import pytest
|
||||
import os
|
||||
|
||||
from yunohost.authenticators.ldap_admin import Authenticator as LDAPAuth
|
||||
from yunohost.tools import tools_adminpw
|
||||
|
||||
from moulinette import m18n
|
||||
from moulinette.core import MoulinetteError
|
||||
|
||||
|
||||
def setup_function(function):
|
||||
|
||||
if os.system("systemctl is-active slapd") != 0:
|
||||
os.system("systemctl start slapd && sleep 3")
|
||||
|
||||
tools_adminpw("yunohost", check_strength=False)
|
||||
|
||||
|
||||
def test_authenticate():
|
||||
LDAPAuth().authenticate_credentials(credentials="yunohost")
|
||||
|
||||
|
||||
def test_authenticate_with_wrong_password():
|
||||
with pytest.raises(MoulinetteError) as exception:
|
||||
LDAPAuth().authenticate_credentials(credentials="bad_password_lul")
|
||||
|
||||
translation = m18n.n("invalid_password")
|
||||
expected_msg = translation.format()
|
||||
assert expected_msg in str(exception)
|
||||
|
||||
|
||||
def test_authenticate_server_down(mocker):
|
||||
os.system("systemctl stop slapd && sleep 3")
|
||||
|
||||
# Now if slapd is down, moulinette tries to restart it
|
||||
mocker.patch("os.system")
|
||||
mocker.patch("time.sleep")
|
||||
with pytest.raises(MoulinetteError) as exception:
|
||||
LDAPAuth().authenticate_credentials(credentials="yunohost")
|
||||
|
||||
translation = m18n.n("ldap_server_down")
|
||||
expected_msg = translation.format()
|
||||
assert expected_msg in str(exception)
|
||||
|
||||
|
||||
def test_authenticate_change_password():
|
||||
|
||||
LDAPAuth().authenticate_credentials(credentials="yunohost")
|
||||
|
||||
tools_adminpw("plopette", check_strength=False)
|
||||
|
||||
with pytest.raises(MoulinetteError) as exception:
|
||||
LDAPAuth().authenticate_credentials(credentials="yunohost")
|
||||
|
||||
translation = m18n.n("invalid_password")
|
||||
expected_msg = translation.format()
|
||||
assert expected_msg in str(exception)
|
||||
|
||||
LDAPAuth().authenticate_credentials(credentials="plopette")
|
|
@ -5,6 +5,8 @@ import pytest
|
|||
|
||||
from yunohost.utils.error import YunohostError
|
||||
|
||||
import yunohost.settings as settings
|
||||
|
||||
from yunohost.settings import (
|
||||
settings_get,
|
||||
settings_list,
|
||||
|
@ -33,6 +35,13 @@ def teardown_function(function):
|
|||
os.remove(filename)
|
||||
|
||||
|
||||
def monkey_get_setting_description(key):
|
||||
return "Dummy %s setting" % key.split(".")[-1]
|
||||
|
||||
|
||||
settings._get_setting_description = monkey_get_setting_description
|
||||
|
||||
|
||||
def test_settings_get_bool():
|
||||
assert settings_get("example.bool")
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ import time
|
|||
from importlib import import_module
|
||||
from packaging import version
|
||||
|
||||
from moulinette import msignals, m18n
|
||||
from moulinette import Moulinette, m18n
|
||||
from moulinette.utils.log import getActionLogger
|
||||
from moulinette.utils.process import check_output, call_async_output
|
||||
from moulinette.utils.filesystem import read_yaml, write_to_yaml
|
||||
|
@ -692,7 +692,7 @@ def tools_shutdown(operation_logger, force=False):
|
|||
if not shutdown:
|
||||
try:
|
||||
# Ask confirmation for server shutdown
|
||||
i = msignals.prompt(m18n.n("server_shutdown_confirm", answers="y/N"))
|
||||
i = Moulinette.prompt(m18n.n("server_shutdown_confirm", answers="y/N"))
|
||||
except NotImplemented:
|
||||
pass
|
||||
else:
|
||||
|
@ -711,7 +711,7 @@ def tools_reboot(operation_logger, force=False):
|
|||
if not reboot:
|
||||
try:
|
||||
# Ask confirmation for restoring
|
||||
i = msignals.prompt(m18n.n("server_reboot_confirm", answers="y/N"))
|
||||
i = Moulinette.prompt(m18n.n("server_reboot_confirm", answers="y/N"))
|
||||
except NotImplemented:
|
||||
pass
|
||||
else:
|
||||
|
|
|
@ -33,7 +33,7 @@ import string
|
|||
import subprocess
|
||||
import copy
|
||||
|
||||
from moulinette import msignals, msettings, m18n
|
||||
from moulinette import Moulinette, m18n
|
||||
from moulinette.utils.log import getActionLogger
|
||||
from moulinette.utils.process import check_output
|
||||
|
||||
|
@ -117,18 +117,18 @@ def user_create(
|
|||
|
||||
# Validate domain used for email address/xmpp account
|
||||
if domain is None:
|
||||
if msettings.get("interface") == "api":
|
||||
if Moulinette.interface.type == "api":
|
||||
raise YunohostValidationError(
|
||||
"Invalid usage, you should specify a domain argument"
|
||||
)
|
||||
else:
|
||||
# On affiche les differents domaines possibles
|
||||
msignals.display(m18n.n("domains_available"))
|
||||
Moulinette.display(m18n.n("domains_available"))
|
||||
for domain in domain_list()["domains"]:
|
||||
msignals.display("- {}".format(domain))
|
||||
Moulinette.display("- {}".format(domain))
|
||||
|
||||
maindomain = _get_maindomain()
|
||||
domain = msignals.prompt(
|
||||
domain = Moulinette.prompt(
|
||||
m18n.n("ask_user_domain") + " (default: %s)" % maindomain
|
||||
)
|
||||
if not domain:
|
||||
|
@ -379,8 +379,8 @@ def user_update(
|
|||
# when in the cli interface if the option to change the password is called
|
||||
# without a specified value, change_password will be set to the const 0.
|
||||
# In this case we prompt for the new password.
|
||||
if msettings.get("interface") == "cli" and not change_password:
|
||||
change_password = msignals.prompt(m18n.n("ask_password"), True, True)
|
||||
if Moulinette.interface.type == "cli" and not change_password:
|
||||
change_password = Moulinette.prompt(m18n.n("ask_password"), True, True)
|
||||
# Ensure sufficiently complex password
|
||||
assert_password_is_strong_enough("user", change_password)
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
""" License
|
||||
|
||||
Copyright (C) 2019 YunoHost
|
||||
|
@ -21,10 +20,18 @@
|
|||
|
||||
import os
|
||||
import atexit
|
||||
from moulinette.core import MoulinetteLdapIsDownError
|
||||
from moulinette.authenticators import ldap
|
||||
import logging
|
||||
import ldap
|
||||
import ldap.sasl
|
||||
import time
|
||||
import ldap.modlist as modlist
|
||||
|
||||
from moulinette import m18n
|
||||
from moulinette.core import MoulinetteError
|
||||
from yunohost.utils.error import YunohostError
|
||||
|
||||
logger = logging.getLogger("yunohost.utils.ldap")
|
||||
|
||||
# We use a global variable to do some caching
|
||||
# to avoid re-authenticating in case we call _get_ldap_authenticator multiple times
|
||||
_ldap_interface = None
|
||||
|
@ -35,47 +42,17 @@ def _get_ldap_interface():
|
|||
global _ldap_interface
|
||||
|
||||
if _ldap_interface is None:
|
||||
|
||||
conf = {
|
||||
"vendor": "ldap",
|
||||
"name": "as-root",
|
||||
"parameters": {
|
||||
"uri": "ldapi://%2Fvar%2Frun%2Fslapd%2Fldapi",
|
||||
"base_dn": "dc=yunohost,dc=org",
|
||||
"user_rdn": "gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth",
|
||||
},
|
||||
"extra": {},
|
||||
}
|
||||
|
||||
try:
|
||||
_ldap_interface = ldap.Authenticator(**conf)
|
||||
except MoulinetteLdapIsDownError:
|
||||
raise YunohostError(
|
||||
"Service slapd is not running but is required to perform this action ... You can try to investigate what's happening with 'systemctl status slapd'"
|
||||
)
|
||||
|
||||
assert_slapd_is_running()
|
||||
_ldap_interface = LDAPInterface()
|
||||
|
||||
return _ldap_interface
|
||||
|
||||
|
||||
def assert_slapd_is_running():
|
||||
|
||||
# Assert slapd is running...
|
||||
if not os.system("pgrep slapd >/dev/null") == 0:
|
||||
raise YunohostError(
|
||||
"Service slapd is not running but is required to perform this action ... You can try to investigate what's happening with 'systemctl status slapd'"
|
||||
)
|
||||
|
||||
|
||||
# We regularly want to extract stuff like 'bar' in ldap path like
|
||||
# foo=bar,dn=users.example.org,ou=example.org,dc=org so this small helper allow
|
||||
# to do this without relying of dozens of mysterious string.split()[0]
|
||||
#
|
||||
# e.g. using _ldap_path_extract(path, "foo") on the previous example will
|
||||
# return bar
|
||||
|
||||
|
||||
def _ldap_path_extract(path, info):
|
||||
for element in path.split(","):
|
||||
if element.startswith(info + "="):
|
||||
|
@ -93,3 +70,246 @@ def _destroy_ldap_interface():
|
|||
|
||||
|
||||
atexit.register(_destroy_ldap_interface)
|
||||
|
||||
|
||||
class LDAPInterface:
|
||||
def __init__(self):
|
||||
logger.debug("initializing ldap interface")
|
||||
|
||||
self.uri = "ldapi://%2Fvar%2Frun%2Fslapd%2Fldapi"
|
||||
self.basedn = "dc=yunohost,dc=org"
|
||||
self.rootdn = "gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
|
||||
self.connect()
|
||||
|
||||
def connect(self):
|
||||
def _reconnect():
|
||||
con = ldap.ldapobject.ReconnectLDAPObject(
|
||||
self.uri, retry_max=10, retry_delay=0.5
|
||||
)
|
||||
con.sasl_non_interactive_bind_s("EXTERNAL")
|
||||
return con
|
||||
|
||||
try:
|
||||
con = _reconnect()
|
||||
except ldap.SERVER_DOWN:
|
||||
# ldap is down, attempt to restart it before really failing
|
||||
logger.warning(m18n.n("ldap_server_is_down_restart_it"))
|
||||
os.system("systemctl restart slapd")
|
||||
time.sleep(10) # waits 10 secondes so we are sure that slapd has restarted
|
||||
try:
|
||||
con = _reconnect()
|
||||
except ldap.SERVER_DOWN:
|
||||
raise YunohostError(
|
||||
"Service slapd is not running but is required to perform this action ... "
|
||||
"You can try to investigate what's happening with 'systemctl status slapd'"
|
||||
)
|
||||
|
||||
# Check that we are indeed logged in with the right identity
|
||||
try:
|
||||
# whoami_s return dn:..., then delete these 3 characters
|
||||
who = con.whoami_s()[3:]
|
||||
except Exception as e:
|
||||
logger.warning("Error during ldap authentication process: %s", e)
|
||||
raise
|
||||
else:
|
||||
if who != self.rootdn:
|
||||
raise MoulinetteError("Not logged in with the expected userdn ?!")
|
||||
else:
|
||||
self.con = con
|
||||
|
||||
def __del__(self):
|
||||
"""Disconnect and free ressources"""
|
||||
if hasattr(self, "con") and self.con:
|
||||
self.con.unbind_s()
|
||||
|
||||
def search(self, base=None, filter="(objectClass=*)", attrs=["dn"]):
|
||||
"""Search in LDAP base
|
||||
|
||||
Perform an LDAP search operation with given arguments and return
|
||||
results as a list.
|
||||
|
||||
Keyword arguments:
|
||||
- base -- The dn to search into
|
||||
- filter -- A string representation of the filter to apply
|
||||
- attrs -- A list of attributes to fetch
|
||||
|
||||
Returns:
|
||||
A list of all results
|
||||
|
||||
"""
|
||||
if not base:
|
||||
base = self.basedn
|
||||
|
||||
try:
|
||||
result = self.con.search_s(base, ldap.SCOPE_SUBTREE, filter, attrs)
|
||||
except Exception as e:
|
||||
raise MoulinetteError(
|
||||
"error during LDAP search operation with: base='%s', "
|
||||
"filter='%s', attrs=%s and exception %s" % (base, filter, attrs, e),
|
||||
raw_msg=True,
|
||||
)
|
||||
|
||||
result_list = []
|
||||
if not attrs or "dn" not in attrs:
|
||||
result_list = [entry for dn, entry in result]
|
||||
else:
|
||||
for dn, entry in result:
|
||||
entry["dn"] = [dn]
|
||||
result_list.append(entry)
|
||||
|
||||
def decode(value):
|
||||
if isinstance(value, bytes):
|
||||
value = value.decode("utf-8")
|
||||
return value
|
||||
|
||||
# result_list is for example :
|
||||
# [{'virtualdomain': [b'test.com']}, {'virtualdomain': [b'yolo.test']},
|
||||
for stuff in result_list:
|
||||
if isinstance(stuff, dict):
|
||||
for key, values in stuff.items():
|
||||
stuff[key] = [decode(v) for v in values]
|
||||
|
||||
return result_list
|
||||
|
||||
def add(self, rdn, attr_dict):
|
||||
"""
|
||||
Add LDAP entry
|
||||
|
||||
Keyword arguments:
|
||||
rdn -- DN without domain
|
||||
attr_dict -- Dictionnary of attributes/values to add
|
||||
|
||||
Returns:
|
||||
Boolean | MoulinetteError
|
||||
|
||||
"""
|
||||
dn = rdn + "," + self.basedn
|
||||
ldif = modlist.addModlist(attr_dict)
|
||||
for i, (k, v) in enumerate(ldif):
|
||||
if isinstance(v, list):
|
||||
v = [a.encode("utf-8") for a in v]
|
||||
elif isinstance(v, str):
|
||||
v = [v.encode("utf-8")]
|
||||
ldif[i] = (k, v)
|
||||
|
||||
try:
|
||||
self.con.add_s(dn, ldif)
|
||||
except Exception as e:
|
||||
raise MoulinetteError(
|
||||
"error during LDAP add operation with: rdn='%s', "
|
||||
"attr_dict=%s and exception %s" % (rdn, attr_dict, e),
|
||||
raw_msg=True,
|
||||
)
|
||||
else:
|
||||
return True
|
||||
|
||||
def remove(self, rdn):
|
||||
"""
|
||||
Remove LDAP entry
|
||||
|
||||
Keyword arguments:
|
||||
rdn -- DN without domain
|
||||
|
||||
Returns:
|
||||
Boolean | MoulinetteError
|
||||
|
||||
"""
|
||||
dn = rdn + "," + self.basedn
|
||||
try:
|
||||
self.con.delete_s(dn)
|
||||
except Exception as e:
|
||||
raise MoulinetteError(
|
||||
"error during LDAP delete operation with: rdn='%s' and exception %s"
|
||||
% (rdn, e),
|
||||
raw_msg=True,
|
||||
)
|
||||
else:
|
||||
return True
|
||||
|
||||
def update(self, rdn, attr_dict, new_rdn=False):
|
||||
"""
|
||||
Modify LDAP entry
|
||||
|
||||
Keyword arguments:
|
||||
rdn -- DN without domain
|
||||
attr_dict -- Dictionnary of attributes/values to add
|
||||
new_rdn -- New RDN for modification
|
||||
|
||||
Returns:
|
||||
Boolean | MoulinetteError
|
||||
|
||||
"""
|
||||
dn = rdn + "," + self.basedn
|
||||
actual_entry = self.search(base=dn, attrs=None)
|
||||
ldif = modlist.modifyModlist(actual_entry[0], attr_dict, ignore_oldexistent=1)
|
||||
|
||||
if ldif == []:
|
||||
logger.debug("Nothing to update in LDAP")
|
||||
return True
|
||||
|
||||
try:
|
||||
if new_rdn:
|
||||
self.con.rename_s(dn, new_rdn)
|
||||
new_base = dn.split(",", 1)[1]
|
||||
dn = new_rdn + "," + new_base
|
||||
|
||||
for i, (a, k, vs) in enumerate(ldif):
|
||||
if isinstance(vs, list):
|
||||
vs = [v.encode("utf-8") for v in vs]
|
||||
elif isinstance(vs, str):
|
||||
vs = [vs.encode("utf-8")]
|
||||
ldif[i] = (a, k, vs)
|
||||
|
||||
self.con.modify_ext_s(dn, ldif)
|
||||
except Exception as e:
|
||||
raise MoulinetteError(
|
||||
"error during LDAP update operation with: rdn='%s', "
|
||||
"attr_dict=%s, new_rdn=%s and exception: %s"
|
||||
% (rdn, attr_dict, new_rdn, e),
|
||||
raw_msg=True,
|
||||
)
|
||||
else:
|
||||
return True
|
||||
|
||||
def validate_uniqueness(self, value_dict):
|
||||
"""
|
||||
Check uniqueness of values
|
||||
|
||||
Keyword arguments:
|
||||
value_dict -- Dictionnary of attributes/values to check
|
||||
|
||||
Returns:
|
||||
Boolean | MoulinetteError
|
||||
|
||||
"""
|
||||
attr_found = self.get_conflict(value_dict)
|
||||
if attr_found:
|
||||
logger.info(
|
||||
"attribute '%s' with value '%s' is not unique",
|
||||
attr_found[0],
|
||||
attr_found[1],
|
||||
)
|
||||
raise MoulinetteError(
|
||||
"ldap_attribute_already_exists",
|
||||
attribute=attr_found[0],
|
||||
value=attr_found[1],
|
||||
)
|
||||
return True
|
||||
|
||||
def get_conflict(self, value_dict, base_dn=None):
|
||||
"""
|
||||
Check uniqueness of values
|
||||
|
||||
Keyword arguments:
|
||||
value_dict -- Dictionnary of attributes/values to check
|
||||
|
||||
Returns:
|
||||
None | tuple with Fist conflict attribute name and value
|
||||
|
||||
"""
|
||||
for attr, value in value_dict.items():
|
||||
if not self.search(base=base_dn, filter=attr + "=" + value):
|
||||
continue
|
||||
else:
|
||||
return (attr, value)
|
||||
return None
|
||||
|
|
|
@ -2,4 +2,4 @@ import yaml
|
|||
|
||||
|
||||
def test_yaml_syntax():
|
||||
yaml.load(open("data/actionsmap/yunohost.yml"))
|
||||
yaml.safe_load(open("data/actionsmap/yunohost.yml"))
|
||||
|
|
|
@ -35,6 +35,7 @@ def find_expected_string_keys():
|
|||
python_files = glob.glob("src/yunohost/*.py")
|
||||
python_files.extend(glob.glob("src/yunohost/utils/*.py"))
|
||||
python_files.extend(glob.glob("src/yunohost/data_migrations/*.py"))
|
||||
python_files.extend(glob.glob("src/yunohost/authenticators/*.py"))
|
||||
python_files.extend(glob.glob("data/hooks/diagnosis/*.py"))
|
||||
python_files.append("bin/yunohost")
|
||||
|
||||
|
@ -108,7 +109,7 @@ def find_expected_string_keys():
|
|||
yield m
|
||||
|
||||
# Keys for the actionmap ...
|
||||
for category in yaml.load(open("data/actionsmap/yunohost.yml")).values():
|
||||
for category in yaml.safe_load(open("data/actionsmap/yunohost.yml")).values():
|
||||
if "actions" not in category.keys():
|
||||
continue
|
||||
for action in category["actions"].values():
|
||||
|
|
Loading…
Add table
Reference in a new issue