mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Merge branch 'dev' into portal-api
This commit is contained in:
commit
a1cf770e1b
198 changed files with 16630 additions and 6881 deletions
|
@ -1,2 +1,2 @@
|
|||
[report]
|
||||
omit=src/tests/*,src/vendor/*,/usr/lib/moulinette/yunohost/*
|
||||
omit=src/tests/*,src/vendor/*,/usr/lib/moulinette/yunohost/*,/usr/lib/python3/dist-packages/yunohost/tests/*,/usr/lib/python3/dist-packages/yunohost/vendor/*
|
||||
|
|
42
.github/workflows/codeql.yml
vendored
Normal file
42
.github/workflows/codeql.yml
vendored
Normal file
|
@ -0,0 +1,42 @@
|
|||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "dev" ]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [ "dev" ]
|
||||
paths-ignore:
|
||||
- 'src/tests/**'
|
||||
schedule:
|
||||
- cron: '43 12 * * 3'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ 'python' ]
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v2
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
queries: security-extended,security-and-quality
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v2
|
||||
with:
|
||||
category: "/language:${{matrix.language}}"
|
78
.github/workflows/n_updater.sh
vendored
78
.github/workflows/n_updater.sh
vendored
|
@ -1,78 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
#=================================================
|
||||
# N UPDATING HELPER
|
||||
#=================================================
|
||||
|
||||
# This script is meant to be run by GitHub Actions.
|
||||
# It is derived from the Updater script from the YunoHost-Apps organization.
|
||||
# It aims to automate the update of `n`, the Node version management system.
|
||||
|
||||
#=================================================
|
||||
# FETCHING LATEST RELEASE AND ITS ASSETS
|
||||
#=================================================
|
||||
|
||||
# Fetching information
|
||||
source helpers/nodejs
|
||||
current_version="$n_version"
|
||||
repo="tj/n"
|
||||
# Some jq magic is needed, because the latest upstream release is not always the latest version (e.g. security patches for older versions)
|
||||
version=$(curl --silent "https://api.github.com/repos/$repo/releases" | jq -r '.[] | select( .prerelease != true ) | .tag_name' | sort -V | tail -1)
|
||||
|
||||
# Later down the script, we assume the version has only digits and dots
|
||||
# Sometimes the release name starts with a "v", so let's filter it out.
|
||||
if [[ ${version:0:1} == "v" || ${version:0:1} == "V" ]]; then
|
||||
version=${version:1}
|
||||
fi
|
||||
|
||||
# Setting up the environment variables
|
||||
echo "Current version: $current_version"
|
||||
echo "Latest release from upstream: $version"
|
||||
echo "VERSION=$version" >> $GITHUB_ENV
|
||||
# For the time being, let's assume the script will fail
|
||||
echo "PROCEED=false" >> $GITHUB_ENV
|
||||
|
||||
# Proceed only if the retrieved version is greater than the current one
|
||||
if ! dpkg --compare-versions "$current_version" "lt" "$version" ; then
|
||||
echo "::warning ::No new version available"
|
||||
exit 0
|
||||
# Proceed only if a PR for this new version does not already exist
|
||||
elif git ls-remote -q --exit-code --heads https://github.com/${GITHUB_REPOSITORY:-YunoHost/yunohost}.git ci-auto-update-n-v$version ; then
|
||||
echo "::warning ::A branch already exists for this update"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
#=================================================
|
||||
# UPDATE SOURCE FILES
|
||||
#=================================================
|
||||
|
||||
asset_url="https://github.com/tj/n/archive/v${version}.tar.gz"
|
||||
|
||||
echo "Handling asset at $asset_url"
|
||||
|
||||
# Create the temporary directory
|
||||
tempdir="$(mktemp -d)"
|
||||
|
||||
# Download sources and calculate checksum
|
||||
filename=${asset_url##*/}
|
||||
curl --silent -4 -L $asset_url -o "$tempdir/$filename"
|
||||
checksum=$(sha256sum "$tempdir/$filename" | head -c 64)
|
||||
|
||||
# Delete temporary directory
|
||||
rm -rf $tempdir
|
||||
|
||||
echo "Calculated checksum for n v${version} is $checksum"
|
||||
|
||||
#=================================================
|
||||
# GENERIC FINALIZATION
|
||||
#=================================================
|
||||
|
||||
# Replace new version in helper
|
||||
sed -i -E "s/^n_version=.*$/n_version=$version/" helpers/nodejs
|
||||
|
||||
# Replace checksum in helper
|
||||
sed -i -E "s/^n_checksum=.*$/n_checksum=$checksum/" helpers/nodejs
|
||||
|
||||
# The Action will proceed only if the PROCEED environment variable is set to true
|
||||
echo "PROCEED=true" >> $GITHUB_ENV
|
||||
exit 0
|
5
.github/workflows/n_updater.yml
vendored
5
.github/workflows/n_updater.yml
vendored
|
@ -11,7 +11,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Fetch the source code
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Run the updater script
|
||||
|
@ -21,7 +21,8 @@ jobs:
|
|||
git config --global user.name 'yunohost-bot'
|
||||
git config --global user.email 'yunohost-bot@users.noreply.github.com'
|
||||
# Run the updater script
|
||||
/bin/bash .github/workflows/n_updater.sh
|
||||
wget https://raw.githubusercontent.com/tj/n/master/bin/n --output-document=helpers/vendor/n/n
|
||||
[[ -z "$(git diff helpers/vendor/n/n)" ]] || echo "PROCEED=true" >> $GITHUB_ENV
|
||||
- name: Commit changes
|
||||
id: commit
|
||||
if: ${{ env.PROCEED == 'true' }}
|
||||
|
|
7
.gitignore
vendored
7
.gitignore
vendored
|
@ -35,3 +35,10 @@ src/locales
|
|||
|
||||
# Test
|
||||
src/tests/apps
|
||||
|
||||
# Tmp/local doc stuff
|
||||
doc/bash-completion.sh
|
||||
doc/bash_completion.d
|
||||
doc/openapi.js
|
||||
doc/openapi.json
|
||||
doc/swagger
|
||||
|
|
|
@ -16,6 +16,9 @@ default:
|
|||
code_quality:
|
||||
tags:
|
||||
- docker
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG # Only for tags
|
||||
|
||||
|
||||
code_quality_html:
|
||||
extends: code_quality
|
||||
|
@ -23,6 +26,9 @@ code_quality_html:
|
|||
REPORT_FORMAT: html
|
||||
artifacts:
|
||||
paths: [gl-code-quality-report.html]
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG # Only for tags
|
||||
|
||||
|
||||
# see: https://docs.gitlab.com/ee/ci/yaml/#switch-between-branch-pipelines-and-merge-request-pipelines
|
||||
workflow:
|
||||
|
@ -37,7 +43,7 @@ workflow:
|
|||
- when: always
|
||||
|
||||
variables:
|
||||
YNH_BUILD_DIR: "ynh-build"
|
||||
YNH_BUILD_DIR: "/ynh-build"
|
||||
|
||||
include:
|
||||
- template: Code-Quality.gitlab-ci.yml
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
- DEBIAN_FRONTEND=noninteractive apt update
|
||||
artifacts:
|
||||
paths:
|
||||
- $YNH_BUILD_DIR/*.deb
|
||||
- ./*.deb
|
||||
|
||||
.build_script: &build_script
|
||||
- DEBIAN_FRONTEND=noninteractive apt --assume-yes -o Dpkg::Options::="--force-confold" install devscripts --no-install-recommends
|
||||
|
@ -17,6 +17,8 @@
|
|||
- VERSION_NIGHTLY="${VERSION}+$(date +%Y%m%d%H%M)"
|
||||
- dch --package "${PACKAGE}" --force-bad-version -v "${VERSION_NIGHTLY}" -D "unstable" --force-distribution "Daily build."
|
||||
- debuild --no-lintian -us -uc
|
||||
- cp $YNH_BUILD_DIR/*.deb ${CI_PROJECT_DIR}/
|
||||
- cd ${CI_PROJECT_DIR}
|
||||
|
||||
########################################
|
||||
# BUILD DEB
|
||||
|
@ -31,7 +33,7 @@ build-yunohost:
|
|||
- mkdir -p $YNH_BUILD_DIR/$PACKAGE
|
||||
- cat archive.tar.gz | tar -xz -C $YNH_BUILD_DIR/$PACKAGE
|
||||
- rm archive.tar.gz
|
||||
- DEBIAN_FRONTEND=noninteractive apt --assume-yes -o Dpkg::Options::="--force-confold" build-dep $(pwd)/$YNH_BUILD_DIR/$PACKAGE
|
||||
- DEBIAN_FRONTEND=noninteractive apt --assume-yes -o Dpkg::Options::="--force-confold" build-dep $YNH_BUILD_DIR/$PACKAGE
|
||||
- *build_script
|
||||
|
||||
|
||||
|
@ -42,7 +44,7 @@ build-ssowat:
|
|||
script:
|
||||
- DEBIAN_DEPENDS=$(cat debian/control | tr "," "\n" | grep -Po "ssowat \([>,=,<]+ .*\)" | grep -Po "[0-9\.]+")
|
||||
- git clone $YNH_SOURCE/$PACKAGE -b $CI_COMMIT_REF_NAME $YNH_BUILD_DIR/$PACKAGE --depth 1 || git clone $YNH_SOURCE/$PACKAGE -b $DEBIAN_DEPENDS $YNH_BUILD_DIR/$PACKAGE --depth 1 || git clone $YNH_SOURCE/$PACKAGE $YNH_BUILD_DIR/$PACKAGE --depth 1
|
||||
- DEBIAN_FRONTEND=noninteractive apt --assume-yes -o Dpkg::Options::="--force-confold" build-dep $(pwd)/$YNH_BUILD_DIR/$PACKAGE
|
||||
- DEBIAN_FRONTEND=noninteractive apt --assume-yes -o Dpkg::Options::="--force-confold" build-dep $YNH_BUILD_DIR/$PACKAGE
|
||||
- *build_script
|
||||
|
||||
build-moulinette:
|
||||
|
@ -52,5 +54,5 @@ build-moulinette:
|
|||
script:
|
||||
- DEBIAN_DEPENDS=$(cat debian/control | tr "," "\n" | grep -Po "moulinette \([>,=,<]+ .*\)" | grep -Po "[0-9\.]+")
|
||||
- git clone $YNH_SOURCE/$PACKAGE -b $CI_COMMIT_REF_NAME $YNH_BUILD_DIR/$PACKAGE --depth 1 || git clone $YNH_SOURCE/$PACKAGE -b $DEBIAN_DEPENDS $YNH_BUILD_DIR/$PACKAGE --depth 1 || git clone $YNH_SOURCE/$PACKAGE $YNH_BUILD_DIR/$PACKAGE --depth 1
|
||||
- DEBIAN_FRONTEND=noninteractive apt --assume-yes -o Dpkg::Options::="--force-confold" build-dep $(pwd)/$YNH_BUILD_DIR/$PACKAGE
|
||||
- DEBIAN_FRONTEND=noninteractive apt --assume-yes -o Dpkg::Options::="--force-confold" build-dep $YNH_BUILD_DIR/$PACKAGE
|
||||
- *build_script
|
||||
|
|
|
@ -13,15 +13,18 @@ generate-helpers-doc:
|
|||
script:
|
||||
- cd doc
|
||||
- python3 generate_helper_doc.py
|
||||
- python3 generate_resource_doc.py > resources.md
|
||||
- hub clone https://$GITHUB_TOKEN:x-oauth-basic@github.com/YunoHost/doc.git doc_repo
|
||||
- cp helpers.md doc_repo/pages/06.contribute/10.packaging_apps/11.helpers/packaging_apps_helpers.md
|
||||
- cp helpers.md doc_repo/pages/06.contribute/10.packaging_apps/80.resources/11.helpers/packaging_apps_helpers.md
|
||||
- cp resources.md doc_repo/pages/06.contribute/10.packaging_apps/80.resources/15.appresources/packaging_apps_resources.md
|
||||
- cd doc_repo
|
||||
# replace ${CI_COMMIT_REF_NAME} with ${CI_COMMIT_TAG} ?
|
||||
- hub checkout -b "${CI_COMMIT_REF_NAME}"
|
||||
- hub commit -am "[CI] Helper for ${CI_COMMIT_REF_NAME}"
|
||||
- hub pull-request -m "[CI] Helper for ${CI_COMMIT_REF_NAME}" -p # GITHUB_USER and GITHUB_TOKEN registered here https://gitlab.com/yunohost/yunohost/-/settings/ci_cd
|
||||
- hub commit -am "[CI] Update app helpers/resources for ${CI_COMMIT_REF_NAME}"
|
||||
- hub pull-request -m "[CI] Update app helpers/resources for ${CI_COMMIT_REF_NAME}" -p # GITHUB_USER and GITHUB_TOKEN registered here https://gitlab.com/yunohost/yunohost/-/settings/ci_cd
|
||||
artifacts:
|
||||
paths:
|
||||
- doc/helpers.md
|
||||
- doc/resources.md
|
||||
only:
|
||||
- tags
|
||||
|
|
|
@ -17,7 +17,7 @@ upgrade:
|
|||
image: "after-install"
|
||||
script:
|
||||
- apt-get update -o Acquire::Retries=3
|
||||
- DEBIAN_FRONTEND=noninteractive SUDO_FORCE_REMOVE=yes apt --assume-yes -o Dpkg::Options::="--force-confold" --allow-downgrades install ./$YNH_BUILD_DIR/*.deb
|
||||
- DEBIAN_FRONTEND=noninteractive SUDO_FORCE_REMOVE=yes apt --assume-yes -o Dpkg::Options::="--force-confold" --allow-downgrades install ${CI_PROJECT_DIR}/*.deb
|
||||
|
||||
|
||||
install-postinstall:
|
||||
|
@ -25,5 +25,5 @@ install-postinstall:
|
|||
image: "before-install"
|
||||
script:
|
||||
- apt-get update -o Acquire::Retries=3
|
||||
- DEBIAN_FRONTEND=noninteractive SUDO_FORCE_REMOVE=yes apt --assume-yes -o Dpkg::Options::="--force-confold" --allow-downgrades install ./$YNH_BUILD_DIR/*.deb
|
||||
- yunohost tools postinstall -d domain.tld -p the_password --ignore-dyndns --force-diskspace
|
||||
- DEBIAN_FRONTEND=noninteractive SUDO_FORCE_REMOVE=yes apt --assume-yes -o Dpkg::Options::="--force-confold" --allow-downgrades install ${CI_PROJECT_DIR}/*.deb
|
||||
- yunohost tools postinstall -d domain.tld -u syssa -F 'Syssa Mine' -p the_password --ignore-dyndns --force-diskspace
|
||||
|
|
|
@ -42,7 +42,6 @@ black:
|
|||
- '[ $(git diff | wc -l) != 0 ] || exit 0' # stop if there is nothing to commit
|
||||
- git commit -am "[CI] Format code with Black" || true
|
||||
- git push -f origin "ci-format-${CI_COMMIT_REF_NAME}":"ci-format-${CI_COMMIT_REF_NAME}"
|
||||
- hub pull-request -m "[CI] Format code with Black" -b Yunohost:$CI_COMMIT_REF_NAME -p || true # GITHUB_USER and GITHUB_TOKEN registered here https://gitlab.com/yunohost/yunohost/-/settings/ci_cd
|
||||
- hub pull-request -m "[CI] Format code with Black" -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
|
||||
- tags
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.install_debs: &install_debs
|
||||
- apt-get update -o Acquire::Retries=3
|
||||
- DEBIAN_FRONTEND=noninteractive SUDO_FORCE_REMOVE=yes apt --assume-yes -o Dpkg::Options::="--force-confold" --allow-downgrades install ./$YNH_BUILD_DIR/*.deb
|
||||
- pip3 install -U mock pip pytest pytest-cov pytest-mock pytest-sugar requests-mock tox ansi2html black jinja2
|
||||
- DEBIAN_FRONTEND=noninteractive SUDO_FORCE_REMOVE=yes apt --assume-yes -o Dpkg::Options::="--force-confold" --allow-downgrades install ${CI_PROJECT_DIR}/*.deb
|
||||
- pip3 install -U mock pip pytest pytest-cov pytest-mock pytest-sugar requests-mock tox ansi2html black jinja2 "packaging<22"
|
||||
|
||||
.test-stage:
|
||||
stage: test
|
||||
|
@ -34,9 +34,9 @@ full-tests:
|
|||
PYTEST_ADDOPTS: "--color=yes"
|
||||
before_script:
|
||||
- *install_debs
|
||||
- yunohost tools postinstall -d domain.tld -p the_password --ignore-dyndns --force-diskspace
|
||||
- yunohost tools postinstall -d domain.tld -u syssa -F 'Syssa Mine' -p the_password --ignore-dyndns --force-diskspace
|
||||
script:
|
||||
- python3 -m pytest --cov=yunohost tests/ src/tests/ src/diagnosers/ --junitxml=report.xml
|
||||
- python3 -m pytest --cov=yunohost tests/ src/tests/ --junitxml=report.xml
|
||||
- cd tests
|
||||
- bash test_helpers.sh
|
||||
needs:
|
||||
|
@ -46,6 +46,7 @@ full-tests:
|
|||
artifacts: true
|
||||
- job: build-moulinette
|
||||
artifacts: true
|
||||
coverage: '/TOTAL.*\s+(\d+%)/'
|
||||
artifacts:
|
||||
reports:
|
||||
junit: report.xml
|
||||
|
@ -125,6 +126,15 @@ test-app-config:
|
|||
- src/app.py
|
||||
- src/utils/config.py
|
||||
|
||||
test-app-resources:
|
||||
extends: .test-stage
|
||||
script:
|
||||
- python3 -m pytest src/tests/test_app_resources.py
|
||||
only:
|
||||
changes:
|
||||
- src/app.py
|
||||
- src/utils/resources.py
|
||||
|
||||
test-changeurl:
|
||||
extends: .test-stage
|
||||
script:
|
||||
|
|
|
@ -26,7 +26,7 @@ autofix-translated-strings:
|
|||
- git checkout -b "ci-autofix-translated-strings-${CI_COMMIT_REF_NAME}" --no-track
|
||||
- python3 maintenance/missing_i18n_keys.py --fix
|
||||
- python3 maintenance/autofix_locale_format.py
|
||||
- '[ $(git diff | wc -l) != 0 ] || exit 0' # stop if there is nothing to commit
|
||||
- '[ $(git diff --ignore-blank-lines --ignore-all-space --ignore-space-at-eol --ignore-cr-at-eol | wc -l) != 0 ] || exit 0' # stop if there is nothing to commit
|
||||
- git commit -am "[CI] Reformat / remove stale translated strings" || true
|
||||
- git push -f origin "ci-autofix-translated-strings-${CI_COMMIT_REF_NAME}":"ci-remove-stale-translated-strings-${CI_COMMIT_REF_NAME}"
|
||||
- hub pull-request -m "[CI] Reformat / remove stale translated strings" -b Yunohost:$CI_COMMIT_REF_NAME -p || true # GITHUB_USER and GITHUB_TOKEN registered here https://gitlab.com/yunohost/yunohost/-/settings/ci_cd
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
extraction:
|
||||
python:
|
||||
python_setup:
|
||||
version: "3"
|
101
CONTRIBUTORS.md
101
CONTRIBUTORS.md
|
@ -1,101 +0,0 @@
|
|||
YunoHost core contributors
|
||||
==========================
|
||||
|
||||
YunoHost is built and maintained by the YunoHost project community.
|
||||
Everyone is encouraged to submit issues and changes, and to contribute in other ways -- see https://yunohost.org/contribute to find out how.
|
||||
|
||||
--
|
||||
|
||||
Initial YunoHost core was built by Kload & beudbeud, for YunoHost v2.
|
||||
|
||||
Most of code was written by Kload and jerome, with help of numerous contributors.
|
||||
|
||||
Translation is made by a bunch of lovely people all over the world.
|
||||
|
||||
We would like to thank anyone who ever helped the YunoHost project <3
|
||||
|
||||
|
||||
YunoHost core Contributors
|
||||
--------------------------
|
||||
|
||||
- Jérôme Lebleu
|
||||
- Kload
|
||||
- Laurent 'Bram' Peuch
|
||||
- Julien 'ju' Malik
|
||||
- opi
|
||||
- Aleks
|
||||
- Adrien 'beudbeud' Beudin
|
||||
- M5oul
|
||||
- Valentin 'zamentur' / 'ljf' Grimaud
|
||||
- Jocelyn Delalande
|
||||
- infertux
|
||||
- Taziden
|
||||
- ZeHiro
|
||||
- Josue-T
|
||||
- nahoj
|
||||
- a1ex
|
||||
- JimboJoe
|
||||
- vetetix
|
||||
- jellium
|
||||
- Sebastien 'sebian' Badia
|
||||
- lmangani
|
||||
- Julien Vaubourg
|
||||
- thardev
|
||||
- zimo2001
|
||||
|
||||
|
||||
YunoHost core Translators
|
||||
-------------------------
|
||||
|
||||
If you want to help translation, please visit https://translate.yunohost.org/projects/yunohost/yunohost/
|
||||
|
||||
|
||||
### Dutch
|
||||
|
||||
- DUBWiSE
|
||||
- Jeroen Keerl
|
||||
- marut
|
||||
|
||||
### English
|
||||
|
||||
- Bugsbane
|
||||
- rokaz
|
||||
|
||||
### French
|
||||
|
||||
- aoz roon
|
||||
- Genma
|
||||
- Jean-Baptiste Holcroft
|
||||
- Jean P.
|
||||
- Jérôme Lebleu
|
||||
- Lapineige
|
||||
- paddy
|
||||
|
||||
|
||||
### German
|
||||
|
||||
- david.bartke
|
||||
- Fabian Gruber
|
||||
- Felix Bartels
|
||||
- Jeroen Keerl
|
||||
- martin kistner
|
||||
- Philip Gatzka
|
||||
|
||||
### Hindi
|
||||
|
||||
- Anmol
|
||||
|
||||
### Italian
|
||||
|
||||
- bricabrac
|
||||
- Thomas Bille
|
||||
|
||||
### Portuguese
|
||||
|
||||
- Deleted User
|
||||
- Trollken
|
||||
|
||||
### Spanish
|
||||
|
||||
- Juanu
|
||||
|
29
README.md
29
README.md
|
@ -7,10 +7,10 @@
|
|||
<div align="center">
|
||||
|
||||

|
||||
[](https://gitlab.com/yunohost/yunohost/-/pipelines)
|
||||

|
||||
[](https://lgtm.com/projects/g/YunoHost/yunohost/context:python)
|
||||
[](https://github.com/YunoHost/yunohost/blob/dev/LICENSE)
|
||||
[](https://gitlab.com/yunohost/yunohost/-/pipelines)
|
||||

|
||||
[](https://github.com/YunoHost/yunohost/blob/dev/LICENSE)
|
||||
[](https://github.com/YunoHost/yunohost/security/code-scanning)
|
||||
[](https://mastodon.social/@yunohost)
|
||||
|
||||
</div>
|
||||
|
@ -44,3 +44,24 @@ Webadmin ([Yunohost-Admin](https://github.com/YunoHost/yunohost-admin)) | Single
|
|||
## License
|
||||
|
||||
As [other components of YunoHost](https://yunohost.org/#/faq_en), this repository is licensed under GNU AGPL v3.
|
||||
|
||||
## They support us <3
|
||||
|
||||
We are thankful for our sponsors providing us with infrastructure and grants!
|
||||
|
||||
<div align="center">
|
||||
<p style="margin-left:auto;margin-right:auto;">
|
||||
<a style="padding: 5px;" href="https://nlnet.nl"><img src="https://user-images.githubusercontent.com/36127788/198088570-823c40bd-7ac3-44e3-a8ee-e7a9f14b47ac.png" width="150px"/></a>
|
||||
<a style="padding: 5px;" href="https://www.ngi.eu"><img src="https://user-images.githubusercontent.com/36127788/198088663-daf587b9-fd09-4c00-aaf2-37c803939c94.png" width="130px"/></a>
|
||||
<a style="padding: 5px;" href="https://www.codelutin.com"><img src="https://user-images.githubusercontent.com/36127788/198088737-d37b6674-379c-4be4-9d74-b93b6ad318d1.png" width="100px"/></a>
|
||||
</p>
|
||||
<p style="margin-left:auto;margin-right:auto;">
|
||||
<a style="padding: 5px;" href="https://www.globenet.org"><img src="https://user-images.githubusercontent.com/36127788/198088794-751129ab-737d-4d99-9f35-5e01845dcdfe.png" width="150px"/></a>
|
||||
<a style="padding: 5px;" href="https://www.gitoyen.net"><img src="https://user-images.githubusercontent.com/36127788/198088931-f16f4af4-57ae-42e9-8d42-fb3e2d8d7ee3.png" width="150px"/></a>
|
||||
<a style="padding: 5px;" href="https://tetaneutral.net"><img src="https://user-images.githubusercontent.com/36127788/198088995-3ad9c34d-9807-4ead-934b-44df97d3c552.png" width="90px"/></a>
|
||||
<a style="padding: 5px;" href="https://ldn-fai.net"><img src="https://user-images.githubusercontent.com/36127788/198089086-a4089d51-9173-4081-bd2e-fa1ac3378e49.png" width="120px"/></a>
|
||||
<a style="padding: 5px;" href="https://www.nbs-system.com"><img src="https://user-images.githubusercontent.com/36127788/198089161-4cc0b7b7-bf56-4798-892e-a76112497921.png" width="130px"/></a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
This project was funded through the [NGI0 PET](https://nlnet.nl/PET) Fund, a fund established by NLnet with financial support from the European Commission's [Next Generation Internet](https://ngi.eu/) programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825310. If you're interested, [check out how to apply in this video](https://media.ccc.de/v/36c3-10795-ngi_zero_a_treasure_trove_of_it_innovation)!
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
#! /usr/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
@ -25,6 +24,9 @@ def _parse_cli_args():
|
|||
parser.add_argument(
|
||||
"--quiet", action="store_true", default=False, help="Don't produce any output"
|
||||
)
|
||||
parser.add_argument(
|
||||
"--version", action="store_true", default=False, help="Display YunoHost packages versions (alias to 'yunohost tools versions')"
|
||||
)
|
||||
parser.add_argument(
|
||||
"--timeout",
|
||||
type=int,
|
||||
|
@ -51,6 +53,7 @@ def _parse_cli_args():
|
|||
|
||||
|
||||
# Stupid PATH management because sometimes (e.g. some cron job) PATH is only /usr/bin:/bin ...
|
||||
|
||||
default_path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||
if os.environ["PATH"] != default_path:
|
||||
os.environ["PATH"] = default_path + ":" + os.environ["PATH"]
|
||||
|
@ -67,6 +70,9 @@ if __name__ == "__main__":
|
|||
|
||||
parser, opts, args = _parse_cli_args()
|
||||
|
||||
if opts.version:
|
||||
args = ["tools", "versions"]
|
||||
|
||||
# Execute the action
|
||||
yunohost.cli(
|
||||
debug=opts.debug,
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
#! /usr/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import argparse
|
||||
import yunohost
|
||||
|
|
|
@ -19,7 +19,7 @@ paste_data() {
|
|||
[[ -z "$json" ]] && _die "Unable to post the data to the server."
|
||||
|
||||
key=$(echo "$json" \
|
||||
| python -c 'import json,sys;o=json.load(sys.stdin);print o["key"]' \
|
||||
| python3 -c 'import json,sys;o=json.load(sys.stdin);print(o["key"])' \
|
||||
2>/dev/null)
|
||||
[[ -z "$key" ]] && _die "Unable to parse the server response."
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ EOF
|
|||
|
||||
echo "$LOGO_AND_FINGERPRINTS" > /etc/issue
|
||||
|
||||
if [[ ! -f /etc/yunohost/installed ]]
|
||||
if ! groups | grep -q all_users && [[ ! -f /etc/yunohost/installed ]]
|
||||
then
|
||||
chvt 2
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ mail_uid = 500
|
|||
|
||||
protocols = imap sieve {% if pop3_enabled == "True" %}pop3{% endif %}
|
||||
|
||||
mail_plugins = $mail_plugins quota
|
||||
mail_plugins = $mail_plugins quota notify push_notification
|
||||
|
||||
###############################################################################
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
require "fileinto";
|
||||
if header :contains "X-Spam-Flag" "YES" {
|
||||
if header :contains "X-Spam-Flag" "Yes" {
|
||||
fileinto "Junk";
|
||||
}
|
||||
|
|
6
conf/fail2ban/postfix-sasl.conf
Normal file
6
conf/fail2ban/postfix-sasl.conf
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Fail2Ban filter for postfix authentication failures
|
||||
[INCLUDES]
|
||||
before = common.conf
|
||||
[Definition]
|
||||
_daemon = postfix/smtpd
|
||||
failregex = ^%(__prefix_line)swarning: [-._\w]+\[<HOST>\]: SASL (?:LOGIN|PLAIN|(?:CRAM|DIGEST)-MD5) authentication failed(: [ A-Za-z0-9+/]*={0,2})?\s*$
|
|
@ -8,6 +8,13 @@ enabled = true
|
|||
[postfix]
|
||||
enabled = true
|
||||
|
||||
[sasl]
|
||||
enabled = true
|
||||
port = smtp
|
||||
filter = postfix-sasl
|
||||
logpath = /var/log/mail.log
|
||||
maxretry = 5
|
||||
|
||||
[dovecot]
|
||||
enabled = true
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
location ^~ '/.well-known/acme-challenge/'
|
||||
{
|
||||
default_type "text/plain";
|
||||
alias /tmp/acme-challenge-public/;
|
||||
alias /var/www/.well-known/acme-challenge-public/;
|
||||
gzip off;
|
||||
}
|
||||
|
|
7
conf/nginx/plain/yunohost_http_errors.conf.inc
Normal file
7
conf/nginx/plain/yunohost_http_errors.conf.inc
Normal file
|
@ -0,0 +1,7 @@
|
|||
error_page 502 /502.html;
|
||||
|
||||
location = /502.html {
|
||||
|
||||
root /usr/share/yunohost/html/;
|
||||
|
||||
}
|
|
@ -1,3 +1,3 @@
|
|||
location / {
|
||||
return 302 https://$http_host/yunohost/admin;
|
||||
return 302 https://$host/yunohost/admin;
|
||||
}
|
||||
|
|
|
@ -26,10 +26,9 @@ ssl_dhparam /usr/share/yunohost/ffdhe2048.pem;
|
|||
# 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: blob: ; object-src https: data: 'unsafe-inline'; style-src https: data: 'unsafe-inline' ; script-src https: data: 'unsafe-inline' 'unsafe-eval'";
|
||||
more_set_headers "Content-Security-Policy : upgrade-insecure-requests; default-src https: data: blob: ; object-src https: data: 'unsafe-inline'; style-src https: data: 'unsafe-inline' ; script-src https: data: 'unsafe-inline' 'unsafe-eval'; worker-src 'self' blob:;";
|
||||
{% else %}
|
||||
more_set_headers "Content-Security-Policy : upgrade-insecure-requests";
|
||||
more_set_headers "Content-Security-Policy-Report-Only : default-src https: wss: data: blob: ; object-src https: data: 'unsafe-inline'; style-src https: data: 'unsafe-inline' ; script-src https: data: 'unsafe-inline' 'unsafe-eval'";
|
||||
{% endif %}
|
||||
more_set_headers "X-Content-Type-Options : nosniff";
|
||||
more_set_headers "X-XSS-Protection : 1; mode=block";
|
||||
|
|
|
@ -6,30 +6,34 @@ map $http_upgrade $connection_upgrade {
|
|||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name {{ domain }} xmpp-upload.{{ domain }};
|
||||
server_name {{ domain }}{% if xmpp_enabled == "True" %} xmpp-upload.{{ domain }} muc.{{ domain }}{% endif %};
|
||||
|
||||
access_by_lua_file /usr/share/ssowat/access.lua;
|
||||
|
||||
include /etc/nginx/conf.d/acme-challenge.conf.inc;
|
||||
|
||||
location ^~ '/.well-known/ynh-diagnosis/' {
|
||||
alias /tmp/.well-known/ynh-diagnosis/;
|
||||
alias /var/www/.well-known/ynh-diagnosis/;
|
||||
}
|
||||
|
||||
{% if mail_enabled == "True" %}
|
||||
location ^~ '/.well-known/autoconfig/mail/' {
|
||||
alias /var/www/.well-known/{{ domain }}/autoconfig/mail/;
|
||||
}
|
||||
{% endif %}
|
||||
|
||||
{# Note that this != "False" is meant to be failure-safe, in the case the redrect_to_https would happen to contain empty string or whatever value. We absolutely don't want to disable the HTTPS redirect *except* when it's explicitly being asked to be disabled. #}
|
||||
{% if redirect_to_https != "False" %}
|
||||
location / {
|
||||
return 301 https://$http_host$request_uri;
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
{# The app config snippets are not included in the HTTP conf unless HTTPS redirect is disabled, because app's location may blocks will conflict or bypass/ignore the HTTPS redirection. #}
|
||||
{% else %}
|
||||
include /etc/nginx/conf.d/{{ domain }}.d/*.conf;
|
||||
{% endif %}
|
||||
|
||||
include /etc/nginx/conf.d/yunohost_http_errors.conf.inc;
|
||||
|
||||
access_log /var/log/nginx/{{ domain }}-access.log;
|
||||
error_log /var/log/nginx/{{ domain }}-error.log;
|
||||
}
|
||||
|
@ -44,10 +48,10 @@ server {
|
|||
ssl_certificate /etc/yunohost/certs/{{ domain }}/crt.pem;
|
||||
ssl_certificate_key /etc/yunohost/certs/{{ domain }}/key.pem;
|
||||
|
||||
{% if domain_cert_ca != "Self-signed" %}
|
||||
{% if domain_cert_ca != "selfsigned" %}
|
||||
more_set_headers "Strict-Transport-Security : max-age=63072000; includeSubDomains; preload";
|
||||
{% endif %}
|
||||
{% if domain_cert_ca == "Let's Encrypt" %}
|
||||
{% if domain_cert_ca == "letsencrypt" %}
|
||||
# OCSP settings
|
||||
ssl_stapling on;
|
||||
ssl_stapling_verify on;
|
||||
|
@ -56,9 +60,11 @@ server {
|
|||
resolver_timeout 5s;
|
||||
{% endif %}
|
||||
|
||||
{% if mail_enabled == "True" %}
|
||||
location ^~ '/.well-known/autoconfig/mail/' {
|
||||
alias /var/www/.well-known/{{ domain }}/autoconfig/mail/;
|
||||
}
|
||||
{% endif %}
|
||||
|
||||
access_by_lua_file /usr/share/ssowat/access.lua;
|
||||
|
||||
|
@ -67,11 +73,13 @@ server {
|
|||
include /etc/nginx/conf.d/yunohost_sso.conf.inc;
|
||||
include /etc/nginx/conf.d/yunohost_admin.conf.inc;
|
||||
include /etc/nginx/conf.d/yunohost_api.conf.inc;
|
||||
include /etc/nginx/conf.d/yunohost_http_errors.conf.inc;
|
||||
|
||||
access_log /var/log/nginx/{{ domain }}-access.log;
|
||||
error_log /var/log/nginx/{{ domain }}-error.log;
|
||||
}
|
||||
|
||||
{% if xmpp_enabled == "True" %}
|
||||
# vhost dedicated to XMPP http_upload
|
||||
server {
|
||||
listen 443 ssl http2;
|
||||
|
@ -99,10 +107,10 @@ server {
|
|||
ssl_certificate /etc/yunohost/certs/{{ domain }}/crt.pem;
|
||||
ssl_certificate_key /etc/yunohost/certs/{{ domain }}/key.pem;
|
||||
|
||||
{% if domain_cert_ca != "Self-signed" %}
|
||||
{% if domain_cert_ca != "selfsigned" %}
|
||||
more_set_headers "Strict-Transport-Security : max-age=63072000; includeSubDomains; preload";
|
||||
{% endif %}
|
||||
{% if domain_cert_ca == "Let's Encrypt" %}
|
||||
{% if domain_cert_ca == "letsencrypt" %}
|
||||
# OCSP settings
|
||||
ssl_stapling on;
|
||||
ssl_stapling_verify on;
|
||||
|
@ -114,3 +122,4 @@ server {
|
|||
access_log /var/log/nginx/xmpp-upload.{{ domain }}-access.log;
|
||||
error_log /var/log/nginx/xmpp-upload.{{ domain }}-error.log;
|
||||
}
|
||||
{% endif %}
|
||||
|
|
|
@ -7,9 +7,11 @@ location /yunohost/admin/ {
|
|||
index index.html;
|
||||
|
||||
{% if webadmin_allowlist_enabled == "True" %}
|
||||
{% for ip in webadmin_allowlist.split(',') %}
|
||||
allow {{ ip }};
|
||||
{% endfor %}
|
||||
{% if webadmin_allowlist.strip() -%}
|
||||
{% for ip in webadmin_allowlist.strip().split(',') -%}
|
||||
allow {{ ip.strip() }};
|
||||
{% endfor -%}
|
||||
{% endif -%}
|
||||
deny all;
|
||||
{% endif %}
|
||||
|
||||
|
@ -19,6 +21,10 @@ location /yunohost/admin/ {
|
|||
more_set_headers "Cache-Control: no-store, no-cache, must-revalidate";
|
||||
}
|
||||
|
||||
location /yunohost/admin/applogos/ {
|
||||
alias /usr/share/yunohost/applogos/;
|
||||
}
|
||||
|
||||
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:";
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ location /yunohost/api/ {
|
|||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header Host $host;
|
||||
|
||||
{% if webadmin_allowlist_enabled == "True" %}
|
||||
{% for ip in webadmin_allowlist.split(',') %}
|
||||
|
|
|
@ -81,7 +81,7 @@ alias_maps = hash:/etc/aliases
|
|||
alias_database = hash:/etc/aliases
|
||||
mydomain = {{ main_domain }}
|
||||
mydestination = localhost
|
||||
{% if relay_host == "" %}
|
||||
{% if relay_enabled != "True" %}
|
||||
relayhost =
|
||||
{% else %}
|
||||
relayhost = [{{ relay_host }}]:{{ relay_port }}
|
||||
|
@ -102,7 +102,7 @@ message_size_limit = 35914708
|
|||
virtual_mailbox_domains = ldap:/etc/postfix/ldap-domains.cf
|
||||
virtual_mailbox_maps = ldap:/etc/postfix/ldap-accounts.cf
|
||||
virtual_mailbox_base =
|
||||
virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf
|
||||
virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf,ldap:/etc/postfix/ldap-groups.cf
|
||||
virtual_alias_domains =
|
||||
virtual_minimum_uid = 100
|
||||
virtual_uid_maps = static:vmail
|
||||
|
@ -198,7 +198,7 @@ smtpd_client_recipient_rate_limit=150
|
|||
# and after to send spam
|
||||
disable_vrfy_command = yes
|
||||
|
||||
{% if relay_user != "" %}
|
||||
{% if relay_enabled == "True" %}
|
||||
# Relay email through an other smtp account
|
||||
# enable SASL authentication
|
||||
smtp_sasl_auth_enable = yes
|
||||
|
|
7
conf/postfix/plain/ldap-groups.cf
Normal file
7
conf/postfix/plain/ldap-groups.cf
Normal file
|
@ -0,0 +1,7 @@
|
|||
server_host = localhost
|
||||
server_port = 389
|
||||
search_base = dc=yunohost,dc=org
|
||||
query_filter = (&(objectClass=groupOfNamesYnh)(mail=%s))
|
||||
scope = sub
|
||||
result_attribute = memberUid, mail
|
||||
terminal_result_attribute = memberUid
|
|
@ -1,4 +1,4 @@
|
|||
require ["fileinto"];
|
||||
if header :is "X-Spam" "yes" {
|
||||
if header :is "X-Spam" "Yes" {
|
||||
fileinto "Junk";
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
# Config database customization:
|
||||
# 1. Edit this file as you want.
|
||||
# 2. Apply your modifications. For this just run this following command in a shell:
|
||||
# $ /usr/share/yunohost/hooks/conf_regen/06-slapd apply_config
|
||||
# $ /usr/share/yunohost/hooks/conf_regen/06-slapd post true
|
||||
#
|
||||
# Note that if you customize this file, YunoHost's regen-conf will NOT
|
||||
# overwrite this file. But that also means that you should be careful about
|
||||
|
@ -130,7 +130,6 @@ olcSuffix: dc=yunohost,dc=org
|
|||
# admin entry below
|
||||
# These access lines apply to database #1 only
|
||||
olcAccess: {0}to attrs=userPassword,shadowLastChange
|
||||
by dn.base="cn=admin,dc=yunohost,dc=org" write
|
||||
by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" write
|
||||
by anonymous auth
|
||||
by self write
|
||||
|
@ -140,7 +139,6 @@ olcAccess: {0}to attrs=userPassword,shadowLastChange
|
|||
# owning it if they are authenticated.
|
||||
# Others should be able to see it.
|
||||
olcAccess: {1}to attrs=cn,gecos,givenName,mail,maildrop,displayName,sn
|
||||
by dn.base="cn=admin,dc=yunohost,dc=org" write
|
||||
by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" write
|
||||
by self write
|
||||
by * read
|
||||
|
@ -160,9 +158,8 @@ olcAccess: {2}to dn.base=""
|
|||
# The admin dn has full write access, everyone else
|
||||
# can read everything.
|
||||
olcAccess: {3}to *
|
||||
by dn.base="cn=admin,dc=yunohost,dc=org" write
|
||||
by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" write
|
||||
by group/groupOfNames/member.exact="cn=admin,ou=groups,dc=yunohost,dc=org" write
|
||||
by group/groupOfNames/member.exact="cn=admins,ou=groups,dc=yunohost,dc=org" write
|
||||
by * read
|
||||
#
|
||||
olcAddContentAcl: FALSE
|
||||
|
|
|
@ -5,15 +5,6 @@ objectClass: organization
|
|||
o: yunohost.org
|
||||
dc: yunohost
|
||||
|
||||
dn: cn=admin,ou=sudo,dc=yunohost,dc=org
|
||||
cn: admin
|
||||
objectClass: sudoRole
|
||||
objectClass: top
|
||||
sudoCommand: ALL
|
||||
sudoUser: admin
|
||||
sudoOption: !authenticate
|
||||
sudoHost: ALL
|
||||
|
||||
dn: ou=users,dc=yunohost,dc=org
|
||||
objectClass: organizationalUnit
|
||||
objectClass: top
|
||||
|
@ -39,27 +30,23 @@ objectClass: organizationalUnit
|
|||
objectClass: top
|
||||
ou: groups
|
||||
|
||||
dn: cn=admins,ou=sudo,dc=yunohost,dc=org
|
||||
cn: admins
|
||||
objectClass: sudoRole
|
||||
objectClass: top
|
||||
sudoCommand: ALL
|
||||
sudoUser: %admins
|
||||
sudoHost: ALL
|
||||
|
||||
dn: ou=sudo,dc=yunohost,dc=org
|
||||
objectClass: organizationalUnit
|
||||
objectClass: top
|
||||
ou: sudo
|
||||
|
||||
dn: cn=admin,dc=yunohost,dc=org
|
||||
objectClass: organizationalRole
|
||||
objectClass: posixAccount
|
||||
objectClass: simpleSecurityObject
|
||||
cn: admin
|
||||
uid: admin
|
||||
uidNumber: 1007
|
||||
gidNumber: 1007
|
||||
homeDirectory: /home/admin
|
||||
loginShell: /bin/bash
|
||||
userPassword: yunohost
|
||||
|
||||
dn: cn=admins,ou=groups,dc=yunohost,dc=org
|
||||
objectClass: posixGroup
|
||||
objectClass: top
|
||||
memberUid: admin
|
||||
objectClass: groupOfNamesYnh
|
||||
gidNumber: 4001
|
||||
cn: admins
|
||||
|
||||
|
|
|
@ -89,4 +89,7 @@ olcObjectClasses: ( 1.3.6.1.4.1.40328.1.1.2.3
|
|||
NAME 'mailGroup' SUP top AUXILIARY
|
||||
DESC 'Mail Group'
|
||||
MUST ( mail )
|
||||
MAY (
|
||||
mailalias $ maildrop
|
||||
)
|
||||
)
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
Protocol 2
|
||||
# PLEASE: if you wish to change the ssh port properly in YunoHost, use this command:
|
||||
# yunohost settings set security.ssh.port -v <port>
|
||||
# yunohost settings set security.ssh.ssh_port -v <port>
|
||||
Port {{ port }}
|
||||
|
||||
{% if ipv6_enabled == "true" %}ListenAddress ::{% endif %}
|
||||
|
@ -56,7 +56,7 @@ ChallengeResponseAuthentication no
|
|||
UsePAM yes
|
||||
|
||||
# PLEASE: if you wish to force everybody to authenticate using ssh keys, run this command:
|
||||
# yunohost settings set security.ssh.password_authentication -v no
|
||||
# yunohost settings set security.ssh.ssh_password_authentication -v no
|
||||
{% if password_authentication == "False" %}
|
||||
PasswordAuthentication no
|
||||
{% else %}
|
||||
|
|
735
debian/changelog
vendored
735
debian/changelog
vendored
|
@ -1,3 +1,664 @@
|
|||
yunohost (11.1.22) stable; urgency=low
|
||||
|
||||
- security: replace $http_host by $host in nginx conf, cf https://github.com/yandex/gixy/blob/master/docs/en/plugins/hostspoofing.md / Credit to A.Wolski (3957b10e)
|
||||
- security: keep fail2ban rule when reloading firewall ([#1661](https://github.com/yunohost/yunohost/pull/1661))
|
||||
- regenconf: fix a stupid bug using chown instead of chmod ... (af93524c)
|
||||
- postinstall: crash early if the username already exists on the system (e87ee09b)
|
||||
- diagnosis: Support multiple TXT entries for TLD ([#1680](https://github.com/yunohost/yunohost/pull/1680))
|
||||
- apps: Support gitea's URL format ([#1683](https://github.com/yunohost/yunohost/pull/1683))
|
||||
- apps: fix a bug where YunoHost would complain that 'it needs X RAM but only Y left' with Y > X because some apps have a higher runtime RAM requirement than build time ... (4152cb0d)
|
||||
- apps: Enhance app_shell() : prevent from taking the lock + improve php context with a 'phpflags' setting ([#1681](https://github.com/yunohost/yunohost/pull/1681))
|
||||
- apps resources: Allow passing an actual list in the manifest.toml for the apt resource packages ([#1670](https://github.com/yunohost/yunohost/pull/1670))
|
||||
- apps resources: fix a bug where port automigration between v1->v2 wouldnt work (36a17dfd)
|
||||
- i18n: Translations updated for Basque, Galician, Japanese, Polish
|
||||
|
||||
Thanks to all contributors <3 ! (Félix Piédallu, Grzegorz Cichocki, José M, Kayou, motcha, Nicolas Palix, orhtej2, tituspijean, xabirequejo, Yann Autissier)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Mon, 10 Jul 2023 17:43:56 +0200
|
||||
|
||||
yunohost (11.1.21.4) stable; urgency=low
|
||||
|
||||
- regenconf: Get rid of previous tmp hack about /dev/null for people that went through the very first 11.1.21, because it's causing issue in unpriviledged LXC or similar context (8242cab7)
|
||||
- apps: don't attempt to del password key if it doesn't exist (29338f79)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Wed, 14 Jun 2023 15:48:33 +0200
|
||||
|
||||
yunohost (11.1.21.3) stable; urgency=low
|
||||
|
||||
- Fix again /var/www/.well-known/ynh-diagnosis/ perms which are too broad and could be exploited to serve malicious files x_x (84984ad8)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Mon, 12 Jun 2023 17:41:26 +0200
|
||||
|
||||
yunohost (11.1.21.2) stable; urgency=low
|
||||
|
||||
- Aleks loves xargs syntax >_> (313a1647)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Mon, 12 Jun 2023 00:25:44 +0200
|
||||
|
||||
yunohost (11.1.21.1) stable; urgency=low
|
||||
|
||||
- Fix stupid issue with code that changes /dev/null perms... (e6f134bc)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Mon, 12 Jun 2023 00:02:47 +0200
|
||||
|
||||
yunohost (11.1.21) stable; urgency=low
|
||||
|
||||
- users: more verbose logs for user_group_update operations ([#1668](https://github.com/yunohost/yunohost/pull/1668))
|
||||
- apps: fix auto-catalog update cron job which was broken because --apps doesnt exist anymore (1552944f)
|
||||
- apps: Add a 'yunohost app shell' command to open a shell into an app environment ([#1656](https://github.com/yunohost/yunohost/pull/1656))
|
||||
- security/regenconf: fix security issue where apps' system conf would be owned by the app, which can enable priviledge escalation (daf51e94)
|
||||
- security/regenconf: force systemd, nginx, php and fail2ban conf to be owned by root (e649c092)
|
||||
- security/nginx: use /var/www/.well-known folder for ynh diagnosis and acme challenge, because /tmp/ could be manipulated by user to serve maliciously crafted files (d42c9983)
|
||||
- i18n: Translations updated for French, Polish, Ukrainian
|
||||
|
||||
Thanks to all contributors <3 ! (Kay0u, Kuba Bazan, ppr, sudo, Tagada, tituspijean, Tymofii-Lytvynenko)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sun, 11 Jun 2023 19:20:27 +0200
|
||||
|
||||
yunohost (11.1.20) stable; urgency=low
|
||||
|
||||
- appsv2: fix funky current_version not being defined when hydrating pre-upgrade notifications (8fa823b4)
|
||||
- helpers: using YNH_APP_ID instead of YNH_APP_INSTANCE_NAME during ynh_setup_source download, for more consistency and because tests was actually failing since a while because of this (e59a4f84)
|
||||
- helpers: improve error message for corrupt source in ynh_setup_source, it's more relevant to cite the source url rather than the downloaded output path (d698c4c3)
|
||||
- nginx: Update "worker" Content-Security-Policy header when in experimental security mode ([#1664](https://github.com/yunohost/yunohost/pull/1664))
|
||||
- i18n: Translations updated for French, Indonesian, Russian, Slovak
|
||||
|
||||
Thanks to all contributors <3 ! (axolotle, Éric Gaspar, Ilya, Jose Riha, Neko Nekowazarashi, Yann Autissier)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sat, 20 May 2023 18:57:26 +0200
|
||||
|
||||
yunohost (11.1.19) stable; urgency=low
|
||||
|
||||
- helpers: Upgrade n to version 9.1.0 ([#1646](https://github.com/yunohost/yunohost/pull/1646))
|
||||
- appsv2: in perm resource, fix handling of additional urls containing vars to replace (8fbdd228)
|
||||
- appsv2: fix version-specific upgrade notification hydration ([#1655](https://github.com/yunohost/yunohost/pull/1655))
|
||||
- appsv2/regenconf: prevent set -u to be enabled during regen-conf triggered from inside appsv2 scripts (a7350a7e)
|
||||
- refactoring: various renaming in configpanel ([#1649](https://github.com/yunohost/yunohost/pull/1649))
|
||||
- i18n: Translations updated for Arabic, Basque, Indonesian
|
||||
|
||||
Thanks to all contributors <3 ! (axolotle, ButterflyOfFire, Kayou, Neko Nekowazarashi, tituspijean, xabirequejo)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Mon, 08 May 2023 16:04:06 +0200
|
||||
|
||||
yunohost (11.1.18) stable; urgency=low
|
||||
|
||||
- appsv2: always set an 'app' setting equal to app id to be able to use __APP__ in markdown templates ([#1645](https://github.com/yunohost/yunohost/pull/1645))
|
||||
- appsv2: fix edge-case when validating packager-provided infos for permissions resource (aa43e6c2)
|
||||
- appsv2: Support using any variables/setting in permissions declaration ([#1637](https://github.com/yunohost/yunohost/pull/1637))
|
||||
- dns: Add support for Porkbun through Lexicon ([#1638](https://github.com/yunohost/yunohost/pull/1638))
|
||||
- diagnosis: Report out-of-catalog/broken/bad quality apps as warning instead of error ([#1641](https://github.com/yunohost/yunohost/pull/1641))
|
||||
- user: .ssh directory should be executable ([#1642](https://github.com/yunohost/yunohost/pull/1642))
|
||||
- i18n: Translations updated for Arabic, Basque, French, Galician
|
||||
|
||||
Thanks to all contributors <3 ! (ButterflyOfFire, José M, ppr, tituspijean, xabirequejo)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Fri, 14 Apr 2023 17:20:58 +0200
|
||||
|
||||
yunohost (11.1.17) stable; urgency=low
|
||||
|
||||
- domains: fix autodns for gandi root domain ([#1634](https://github.com/yunohost/yunohost/pull/1634))
|
||||
- helpers: fix previous change about using YNH_APP_ACTION ... which is not defined in config panel context (8c25aa9b)
|
||||
- appsv2: for the dir/subdirs of data_dir, create parent folders if they don't exist (9a4267ff)
|
||||
- quality: Split utils/config.py ([#1635](https://github.com/yunohost/yunohost/pull/1635))
|
||||
- quality: Rework questions/options tests ([#1629](https://github.com/yunohost/yunohost/pull/1629))
|
||||
|
||||
Thanks to all contributors <3 ! (axolotle, Kayou)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Wed, 05 Apr 2023 16:00:09 +0200
|
||||
|
||||
yunohost (11.1.16) stable; urgency=low
|
||||
|
||||
- apps: fix i18n panel+section names ([#1630](https://github.com/yunohost/yunohost/pull/1630))
|
||||
- appsv2: don't remove yhh-deps virtual package if it doesn't exist. Otherwise when apt fails to install dependency, we end up with another error about failing to remove the ynh-deps package (3656c199)
|
||||
- appsv2: add validation for expected types for permissions stuff (b2596f32)
|
||||
- appsv2: add support for subdirs property in data_dir (4b46f322)
|
||||
- appsv2: various fixes regarding sources toml parsing/caching (14bf2ee4)
|
||||
- appsv2: add documentation about the new 'autoupdate' mechanism for app sources (63981aac)
|
||||
- ynh_setup_source: fix buggy checksum mismatch handling, can't compute the sha256sum after we delete the file @_@ (1b2fa91f)
|
||||
- users: fix quota parsing being wrong by a factor 1000 ... doveadm returns kilos, not bytes (821aedef)
|
||||
- backup: fix boring issue where archive is a broken symlink... (a95d10e5)
|
||||
|
||||
Thanks to all contributors <3 ! (axolotle)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sun, 02 Apr 2023 20:29:33 +0200
|
||||
|
||||
yunohost (11.1.15) stable; urgency=low
|
||||
|
||||
- doc: Fix version number in autogenerated resource doc (5b58e0e6)
|
||||
- helpers: Fix documentation for ynh_setup_source (7491dd4c)
|
||||
- helpers: fix ynh_setup_source, 'source_id' may contain slashes x_x (eaf7a290)
|
||||
- helpers/nodejs: simplify 'n' script install and maintenance ([#1627](https://github.com/yunohost/yunohost/pull/1627))
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sat, 11 Mar 2023 16:50:50 +0100
|
||||
|
||||
yunohost (11.1.14) stable; urgency=low
|
||||
|
||||
- helpers: simplify --time display option for ynh_script_progression .. we don't care about displaying time when below 10 sc (8731f77a)
|
||||
- appsv2: add support for a 'sources' app resources to modernize and replace app.src format ([#1615](https://github.com/yunohost/yunohost/pull/1615))
|
||||
- i18n: Translations updated for Arabic, Polish, Ukrainian
|
||||
|
||||
Thanks to all contributors <3 ! (ButterflyOfFire, Grzegorz Cichocki, Tymofii-Lytvynenko)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Thu, 09 Mar 2023 15:34:17 +0100
|
||||
|
||||
yunohost (11.1.13) stable; urgency=low
|
||||
|
||||
- appsv2: fix port already used detection ([#1622](https://github.com/yunohost/yunohost/pull/1622))
|
||||
- appsv2: when hydrating template, the data may be not-string, eg ports are int (72986842)
|
||||
- [i18n] Translations updated for Arabic, French, Galician, German, Occitan
|
||||
|
||||
Thanks to all contributors <3 ! (ButterflyOfFire, Christian Wehrli, José M, Kay0u, ppr)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Fri, 03 Mar 2023 22:57:14 +0100
|
||||
|
||||
yunohost (11.1.12.2) stable; urgency=low
|
||||
|
||||
- helpers: omg base64 wraps the output by default :| (d04f2085)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Wed, 01 Mar 2023 22:12:51 +0100
|
||||
|
||||
yunohost (11.1.12.1) stable; urgency=low
|
||||
|
||||
- helper: fix previous tweak about debugging diff for manually modified files on the CI @_@ (fd304008)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Wed, 01 Mar 2023 08:08:55 +0100
|
||||
|
||||
yunohost (11.1.12) stable; urgency=low
|
||||
|
||||
- apps: add '--continue-on-failure' to 'yunohost app upgrade ([#1602](https://github.com/yunohost/yunohost/pull/1602))
|
||||
- appsv2: Create parent dirs when provisioning install_dir ([#1609](https://github.com/yunohost/yunohost/pull/1609))
|
||||
- appsv2: set `w` as default permission on `install_dir` folder ([#1611](https://github.com/yunohost/yunohost/pull/1611))
|
||||
- appsv2: Handle undefined main permission url ([#1620](https://github.com/yunohost/yunohost/pull/1620))
|
||||
- apps/helpers: tweak behavior of checksum helper in CI context to help debug why file appear as 'manually modified' ([#1618](https://github.com/yunohost/yunohost/pull/1618))
|
||||
- apps/helpers: more robust way to grep that the service correctly started ? ([#1617](https://github.com/yunohost/yunohost/pull/1617))
|
||||
- regenconf: sometimes ntp doesnt exist (97c0128c)
|
||||
- nginx/security: fix empty webadmin allowlist breaking nginx conf... (e458d881)
|
||||
- misc: automatic get rid of /etc/profile.d/check_yunohost_is_installed.sh when yunohost is postinstalled (20e8805e)
|
||||
- settings: Fix pop3_enabled parsing returning 0/1 instead of True/False ... (b40c0de3)
|
||||
- [i18n] Translations updated for French, Galician, Italian, Polish
|
||||
|
||||
Thanks to all contributors <3 ! (Éric Gaspar, John Schmidt, José M, Krakinou, Kuba Bazan, Laurent Peuch, ppr, tituspijean)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Tue, 28 Feb 2023 23:08:02 +0100
|
||||
|
||||
yunohost (11.1.11.2) stable; urgency=low
|
||||
|
||||
- Rebump version to flag as stable, not testing >_>
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Fri, 24 Feb 2023 13:09:48 +0100
|
||||
|
||||
yunohost (11.1.11.1) testing; urgency=low
|
||||
|
||||
- appsv2: fix previous commit about __DOMAIN__ because url may be None x_x (e05df676)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Fri, 24 Feb 2023 01:30:14 +0100
|
||||
|
||||
yunohost (11.1.11) stable; urgency=low
|
||||
|
||||
- logs: fix decoding errors not handled when trying to read service logs ([#1606](https://github.com/yunohost/yunohost/pull/1606))
|
||||
- mail: fix dovecot-pop3d not being installed when enabling pop3 ([#1607](https://github.com/yunohost/yunohost/pull/1607))
|
||||
- apps: when creating the app's bash env for script, make sure to use the manifest from the workdir instead of app setting dir, which is important for consistency during edge case when upgrade from v1 to v2 fails (bab27014)
|
||||
- appsv2: data_dir's owner should have rwx by default (139e54a2)
|
||||
- appsv2: fix usage of __DOMAIN__ in permission url (943b9ff8)
|
||||
|
||||
Thanks to all contributors <3 ! (Eric Geldmacher, ljf)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Thu, 23 Feb 2023 22:31:02 +0100
|
||||
|
||||
yunohost (11.1.10) stable; urgency=low
|
||||
|
||||
- apps: add 'YNH_DEBIAN_VERSION' variable in apps contexts (df6a2a2c)
|
||||
- appsv2: add support for a packages_from_raw_bash option in apt where one can add a multiline bash snippet to echo packages (4dfff201)
|
||||
- appsv2: fix resource provisioning scripts picking up already-closed operation logger, resulting in confusing debugging output (888593ad)
|
||||
- appsv2: fix reload_only_if_change option not working as expected, resulting in incorrect 'Firewall reloaded' messages (d725b454)
|
||||
- appsv2: fix check that postgresql db exists... (1dc8b753)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Tue, 21 Feb 2023 18:57:33 +0100
|
||||
|
||||
yunohost (11.1.9) stable; urgency=low
|
||||
|
||||
- apps: simplify the redaction of change_url scripts by adding a new ynh_change_url_nginx_config helper + predefining new/old/change domain/path variables (2b70ccbf)
|
||||
- appsv2: revert commit that adds a bunch of warning about apt/database consistency, it's more relevant to have them in package linter instead (63f0f084)
|
||||
- appsv2: fix system user group update, broke in commit from earlier (ec4c2684)
|
||||
- log: Previous trick about getting rid of setting didnt work, forgot to use metadata instead of self.metadata (848adf89)
|
||||
- ux: Moar boring postgresql messages displayed as warning (290d627f)
|
||||
|
||||
Thanks to all contributors <3 ! (Bram)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Mon, 20 Feb 2023 20:32:28 +0100
|
||||
|
||||
yunohost (11.1.8.2) stable; urgency=low
|
||||
|
||||
- regenconf: fix undefined var in apt regenconf (343065eb)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sun, 19 Feb 2023 21:38:59 +0100
|
||||
|
||||
yunohost (11.1.8.1) stable; urgency=low
|
||||
|
||||
- postgresql: moar regenconf fixes (e6ae3892)
|
||||
- postgresql: ugly hack to hide boring warning messages when installing postgresql with apt the first time ... (13d50f4f)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sun, 19 Feb 2023 19:41:05 +0100
|
||||
|
||||
yunohost (11.1.8) stable; urgency=low
|
||||
|
||||
- apps: don't miserably crash when failing to read .md file such as DESCRIPTION.md (58ac633d)
|
||||
- apps: fix edge case when upgrading using a local folder not modified since a while (d3ec5d05)
|
||||
- appsv2: fix system user provisioning ... (d123fd76, 771b801e)
|
||||
- appsv2: add check about database vs. apt consistency in resource / warn about lack of explicit dependency to mariadb-server (97b69e7c)
|
||||
- appsv2: add home dir that defaults to /var/www/__APP__ for system user resource (ce7227c0)
|
||||
- postgresql: fix regenconf hook, the arg format thingy changed a bit at some point ? (8a43b046)
|
||||
- regenconf: in apt/php stuff, don't try to upgrade-alternatives if the default PHP version ain't available anymore (similar to commit e24ddd29) (18e034df)
|
||||
- postinstall: raise a proper error when trying to use e.g. 'admin' as the first username which will conflict with the admins group mail aliases (475c93d5)
|
||||
- i18n: Translations updated for Arabic, Basque
|
||||
|
||||
Thanks to all contributors <3 ! (ButterflyOfFire, xabirequejo)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sun, 19 Feb 2023 18:22:02 +0100
|
||||
|
||||
yunohost (11.1.7) stable; urgency=low
|
||||
|
||||
- mail: fix complain about unused parameters in postfix: exclude_internal=yes / search_timeout=30 (0da6370d)
|
||||
- mail: Add push notification plugins in dovecot ([#1594](https://github.com/yunohost/yunohost/pull/1594))
|
||||
- diagnosis: fix typo, diagnosis detail should be a list, not a string (d0ca120e)
|
||||
- helpers: in apt/php stuff, don't try to upgrade-alternatives if the default PHP version ain't available anymore (e24ddd29)
|
||||
- apps: fix inconsistent app removal during remove-after-failed-upgrade and remove-after-failed-backup contexts (7be7eb11)
|
||||
- appsv2: we don't want to store user-provided passwords by default, but they should still be set in the env for the script to use it (9bd4344f)
|
||||
- appsv2: fix i18n for arch mismatch, can't juste join() inside string formated with .format() (aa9bc47a)
|
||||
- appsv2: missing raw_msg=True for exceptions (1d1a3756)
|
||||
- appsv2: fix check that main permission url is '/' (ab8a6b94)
|
||||
- appsv2: mysqlshow is fucking dumb and returns exit code 0 when DB doesnt exists ... (0ab20b73)
|
||||
- appsv2: also replace __DOMAIN__ in resource properties (0c4a006a)
|
||||
- appsv2: in php helpers, use the global $phpversion var/setting by default instead of $YNH_PHP_VERSION (60b21795)
|
||||
- i18n: Translations updated for Arabic, Galician
|
||||
|
||||
Thanks to all contributors <3 ! (ButterflyOfFire, John Hackett, José M)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Wed, 15 Feb 2023 21:08:04 +0100
|
||||
|
||||
yunohost (11.1.6.2) stable; urgency=low
|
||||
|
||||
- permissions: fix trailing-slash issue in edge case where app has additional urls related to a different domain (a4fa6e07)
|
||||
- backup: fix postinstall during full restore ... tmp admin user can't be named 'admin' because of conflicting alias with the admins group (65894007)
|
||||
- doc: improve app resource doc (a154e811)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Thu, 09 Feb 2023 19:00:42 +0100
|
||||
|
||||
yunohost (11.1.6.1) stable; urgency=low
|
||||
|
||||
- dns: fix CAA recommended DNS conf -> 0 is apparently a more sensible value than 128... (2eb7da06)
|
||||
- users: Allow digits in user fullname (024db62a)
|
||||
- backup: fix full backup restore postinstall calls that now need first username+fullname+password (48e488f8)
|
||||
- i18n: Translations updated for Arabic, Basque, Chinese (Simplified)
|
||||
|
||||
Thanks to all contributors <3 ! (ButterflyOfFire, Poesty Li, xabirequejo)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Wed, 08 Feb 2023 22:50:37 +0100
|
||||
|
||||
yunohost (11.1.6) stable; urgency=low
|
||||
|
||||
- helpers: allow to use ynh_replace_string with @ ([#1588](https://github.com/yunohost/yunohost/pull/1588))
|
||||
- helpers: fix behavior of ynh_write_var_in_file when key is duplicated ([#1589](https://github.com/yunohost/yunohost/pull/1589), [#1591](https://github.com/yunohost/yunohost/pull/1591))
|
||||
- helpers: fix composer workdir variable for package v2 ([#1586](https://github.com/yunohost/yunohost/pull/1586))
|
||||
- configpanels: properly escape & for values used in ynh_write_var_in_file ([#1590](https://github.com/yunohost/yunohost/pull/1590))
|
||||
- appsv2/group question: don't include primary groups in choices (c179d4b8)
|
||||
- appsv2: when initalizing permission, make sure to add 'all_users' when visitors is chosen (71042f08)
|
||||
- backup/multimedia: test that /home/yunohots.multimedia does exists to avoid boring warning later (170eaf5d)
|
||||
- domains: add missing logic to inject translated 'help' keys in config panel like we do for global settings (4dee434e)
|
||||
- domain/dns: don't miserably crash when the domain is known by lexicon but not in registrar_list.toml (b5b69e95)
|
||||
- admin->admins migration: try to losen up even more the search for first admin user x_x (1e520342)
|
||||
- i18n: Translations updated for French, Polish
|
||||
|
||||
Thanks to all contributors <3 ! (Éric Gaspar, Grzegorz Cichocki, Kayou, Krzysztof Nowakowski, ljf, ppr)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Tue, 07 Feb 2023 00:14:17 +0100
|
||||
|
||||
yunohost (11.1.5.5) stable; urgency=low
|
||||
|
||||
- admin->admins migration: try to handle boring case where the 'first' user cant be identified because it doesnt have the root@ alias (8485ebc7)
|
||||
- appsv2: ignore the old/ugly/legacy removal of apt deps when removing the php conf, because that's handled by the apt resource (3bbba640)
|
||||
- appsv2: moar fixes for v1->v2 upgrade not getting the proper env context (fb54da2e)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sat, 04 Feb 2023 18:51:03 +0100
|
||||
|
||||
yunohost (11.1.5.4) stable; urgency=low
|
||||
|
||||
- appsv2: typo in ports resource doc x_x (0e787acb)
|
||||
- appsv2: fix permission provisioning for fulldomain apps + fix apps not properly getting removed after failed resources init (476908bd)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Fri, 03 Feb 2023 20:43:04 +0100
|
||||
|
||||
yunohost (11.1.5.3) stable; urgency=low
|
||||
|
||||
- helpers/appsv2: replacement of __PHPVERSION__ should use the phpversion setting, not YNH_PHP_VERSION (13d4e16e)
|
||||
- appv2 resources: document the fact that the apt resource may create a phpversion setting when the dependencies contain php packages (2107a848)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Fri, 03 Feb 2023 03:05:11 +0100
|
||||
|
||||
yunohost (11.1.5.2) stable; urgency=low
|
||||
|
||||
- maintenance: new year, update copyright header (ba4f1925)
|
||||
- helpers: fix remaining __FINALPATH__ in php template (note that this is backward compatible because ynh_add_config will replace __INSTALL_DIR__ by $finalpath if $finalpath exists... (9b7668da)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Thu, 02 Feb 2023 23:58:29 +0100
|
||||
|
||||
yunohost (11.1.5.1) stable; urgency=low
|
||||
|
||||
- debian: Bump moulinette/ssowat requirement to 11.1 (0826a541)
|
||||
- helpers: Fixes $app unbound when running ynh_secure_remove ([#1582](https://github.com/yunohost/yunohost/pull/1582))
|
||||
- log/appv2: don't dump all settings in log metadata (a9ac55e4)
|
||||
- appv2: resource upgrade will tweak settings, we have to re-update the env_dict after upgrading resources (3110460a)
|
||||
- appv2: safety-backup-before-upgrade should only contain the app (1c95bcff)
|
||||
- appv2: fix env not including vars for v1->v2 upgrade (2b2d49a5)
|
||||
- backup: add name of the backup in create/delete message, otherwise that creates some spooky messages with 'Backup created' directly followed by 'Backup deleted' during safety-backup-before-upgrade in v2 apps (8090acb1)
|
||||
- [i18n] Translations updated for Arabic, French, Galician, Polish
|
||||
|
||||
Thanks to all contributors <3 ! (ButterflyOfFire, Éric Gaspar, Eryk Michalak, Florent, José M, ppr)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Thu, 02 Feb 2023 23:37:46 +0100
|
||||
|
||||
yunohost (11.1.5) stable; urgency=low
|
||||
|
||||
- Release as stable !
|
||||
|
||||
- diagnosis: we can't yield an ERROR if there's no IPv6, otherwise that blocks all subsequent network-related diagnoser because of the dependency system ... (ade92e43)
|
||||
- domains: fix domain_config.toml typos in conditions (480f7a43)
|
||||
- certs: Don't try restarting metronome if no domain configured for it (452ba8bb)
|
||||
|
||||
Thanks to all contributors <3 ! (Axolotle)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Wed, 01 Feb 2023 20:21:56 +0100
|
||||
|
||||
yunohost (11.1.4.1) testing; urgency=low
|
||||
|
||||
- debian: don't dump upgradable apps during postinst's catalog update (82d30f02)
|
||||
- ynh_setup_source: Output checksums when source is 'corrupt' ([#1578](https://github.com/yunohost/yunohost/pull/1578))
|
||||
- metronome: Auto-enable/disable metronome if there's no/at least one domain configured for XMPP (c990cee6)
|
||||
|
||||
Thanks to all contributors <3 ! (tituspijean)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Wed, 01 Feb 2023 17:10:32 +0100
|
||||
|
||||
yunohost (11.1.4) testing; urgency=low
|
||||
|
||||
- settings: Add DNS exposure setting given the IP version ([#1451](https://github.com/yunohost/yunohost/pull/1451))
|
||||
|
||||
Thanks to all contributors <3 ! (Tagada)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Mon, 30 Jan 2023 16:28:56 +0100
|
||||
|
||||
yunohost (11.1.3.1) testing; urgency=low
|
||||
|
||||
- nginx: add xmpp-upload. and muc. server_name only if xmpp_enabled is enabled (c444dee4)
|
||||
- [i18n] Translations updated for Arabic, Basque, French, Galician, Spanish, Turkish
|
||||
|
||||
Thanks to all contributors <3 ! (Alperen İsa Nalbant, ButterflyOfFire, cristian amoyao, Éric Gaspar, José M, Kayou, ppr, quiwy, xabirequejo)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Mon, 30 Jan 2023 15:44:30 +0100
|
||||
|
||||
yunohost (11.1.3) testing; urgency=low
|
||||
|
||||
- helpers: Include procedures in MySQL database backup ([#1570](https://github.com/yunohost/yunohost/pull/1570))
|
||||
- users: be able to change the loginShell of a user ([#1538](https://github.com/yunohost/yunohost/pull/1538))
|
||||
- debian: refresh catalog upon package upgrade (be5b1c1b)
|
||||
|
||||
Thanks to all contributors <3 ! (Éric Gaspar, Kay0u, ljf, Metin Bektas)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Thu, 19 Jan 2023 23:08:10 +0100
|
||||
|
||||
yunohost (11.1.2.2) testing; urgency=low
|
||||
|
||||
- Minor technical fixes (b37d4baf, 68342171)
|
||||
- configpanel: stop the madness of returning a 500 error when trying to load config panel 0.1 ... otherwise this will crash the new app info view ... (f21fbed2)
|
||||
- apps: fix trick to find the default branch from git repo @_@ (25c10166)
|
||||
- debian: regen ssowatconf during package upgrade (4615d7b7)
|
||||
- [i18n] Translations updated for French
|
||||
|
||||
Thanks to all contributors <3 ! (Éric Gaspar, ppr)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Tue, 10 Jan 2023 13:23:28 +0100
|
||||
|
||||
yunohost (11.1.2.1) testing; urgency=low
|
||||
|
||||
- i18n: fix (un)defined string issues (dd33476f)
|
||||
- doc: Revive the old auto documentation of API with swagger
|
||||
- apps: don't clone 'master' branch by default, use git ls-remote to check what's the default branch instead (a6db52b7)
|
||||
- ssowat: add use_remote_user_var_in_nginx_conf flag on permission (f258eab6)
|
||||
|
||||
Thanks to all contributors <3 ! (ljf)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Mon, 09 Jan 2023 23:58:51 +0100
|
||||
|
||||
yunohost (11.1.2) testing; urgency=low
|
||||
|
||||
- apps: Various fixes/improvements for appsv2, mostly related to webadmin integration ([#1526](https://github.com/yunohost/yunohost/pull/1526))
|
||||
- domains/regenconf: propagate mail/xmpp enable/disable toggle to actual system configs ([#1541](https://github.com/yunohost/yunohost/pull/1541))
|
||||
- settings: Add a virtual setting to enable passwordless sudo for admins (75cb3cb2)
|
||||
- settings: Add a global setting to choose SSOwat's theme ([#1545](https://github.com/yunohost/yunohost/pull/1545))
|
||||
- certs: Improve trick to identify certs as self-signed (c38aba74)
|
||||
- certs: be more resilient when mail cant be sent to root for some reason .. (d7ee1c23)
|
||||
- certs/postfix: propagate postfix SNI stuff when renewing certificates (31794008)
|
||||
- certs/xmpp: add to domain's certificate the alt subdomain muc ([#1163](https://github.com/yunohost/yunohost/pull/1163))
|
||||
- conf/ldap: fix issue where sudo doesn't work because sudo-ldap doesn't create /etc/sudo-ldap.conf :/ (d2417c33)
|
||||
- configpanels: fix custom getter ([#1546](https://github.com/yunohost/yunohost/pull/1546))
|
||||
- configpanels: fix inconsistent return format for boolean, sometimes 1/0, sometimes True/False -> force normalization of values when calling get() for a single setting from a config panel (47b9b8b5)
|
||||
- postfix/fail2ban: Add postfix SASL login failure to a fail2ban jail ([#1552](https://github.com/yunohost/yunohost/pull/1552))
|
||||
- mail: Fix flag case sensitivity in dovecot and rspamd sieve filter ([#1450](https://github.com/yunohost/yunohost/pull/1450))
|
||||
- misc: Don't disable avahi-daemon by force in conf_regen ([#1555](https://github.com/yunohost/yunohost/pull/1555))
|
||||
- misc: Fix yunopaste ([#1558](https://github.com/yunohost/yunohost/pull/1558))
|
||||
- misc: Don't take lock for read/GET operations (#1554) (0ac8e66a)
|
||||
- i18n: Translations updated for Basque, French, Galician, Portuguese, Slovak, Spanish, Ukrainian
|
||||
|
||||
Thanks to all contributors <3 ! (axolotle, DDATAA, Fabian Wilkens, Gabriel, José M, Jose Riha, ljf, Luis H. Porras, ppr, quiwy, Rafael Fontenelle, selfhoster1312, Tymofii-Lytvynenko, xabirequejo, Xavier Brochard)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Fri, 06 Jan 2023 00:12:53 +0100
|
||||
|
||||
yunohost (11.1.1.2) testing; urgency=low
|
||||
|
||||
- group mailalias: the ldap class is in fact mailGroup, not mailAccount -_- (1cb5e43e)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sat, 03 Dec 2022 15:57:22 +0100
|
||||
|
||||
yunohost (11.1.1.1) testing; urgency=low
|
||||
|
||||
- Fix again the legacy patch for yunohost user create @_@ (46d6fab0)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sat, 03 Dec 2022 14:13:09 +0100
|
||||
|
||||
yunohost (11.1.1) testing; urgency=low
|
||||
|
||||
- groups: add mail-aliases management (#1539) (0f9d9388)
|
||||
- apps: Allow apps to be installed on a path sharing a common base, eg /foo and /foo2 (#1537) (ae594111)
|
||||
- admins/ldap: re-allow member of the admins group to edit ldap db (4f5cc166)
|
||||
- nginx: Add 502 custom error page (#1530) (5063e128)
|
||||
- misc/nodejs: Upgrade n to version 9.0.1 ([#1528](https://github.com/yunohost/yunohost/pull/1528))
|
||||
- misc/update: add --allow-releaseinfo-change option to apt update to prevent the classic nightmare when debian changes from stable to oldstable (ac6d6871)
|
||||
- misc/dns: Add Webgo as Registrar to support it via LexiconAdd Webgo as Registrar (#1529) (c50f3771)
|
||||
- misc/debug: Improve dpkg_is_broken instruction to also mention dpkg --audit (a772153b)
|
||||
- misc/regeconf: fix yunohost hook incorectly tweaking mdns.yml ownership (9bd98162)
|
||||
- misc/helpers: fix docker-image-extract helper (#1532)
|
||||
- misc/yunoprompt: don't display postinstall tip to members of all_users group (because they can't check if /etc/yunohost/installed exists, but if they're member of the all_users group, then postinstall was already done) (4aaa8896)
|
||||
- misc/diagnosis: make the dnsrecord diagnoser not complain about the damn 128 vs 0 stuff in CAA records (70a8225b)
|
||||
- misc/settings: fix output format for 'yunohost settings list' (70bf38ce)
|
||||
- misc/helpers: Better error message when psql is not there for database_exists (#992) (f49c121b)
|
||||
- misc/multimedia: fix edgecase where setfacl crashes because of broken symlinks (94f21ea2)
|
||||
- misc/legacy: auto-patch yunohost user create syntax in app scripts to use --fullname instead (d254fb1b)
|
||||
- [i18n] Translations updated for Arabic, Basque, Chinese (Simplified), Dutch, French, Galician, German, Spanish, Ukrainian
|
||||
|
||||
Thanks to all contributors <3 ! (André Koot, Augustin Trancart, Axolotle, ButterflyOfFire, Christian Wehrli, Éric Gaspar, José M, lee, mod242, quiwy, tituspijean, Tymofii-Lytvynenko, xabirequejo)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Fri, 02 Dec 2022 23:31:28 +0100
|
||||
|
||||
yunohost (11.1.0.2) testing; urgency=low
|
||||
|
||||
- globalsettings: make sure to run migration 25 prior to the regenconf (f3750598)
|
||||
- domaininfo: Some apps don't have path ([#1521](https://github.com/yunohost/yunohost/pull/1521))
|
||||
- Add sponsors to the README ([#1522](https://github.com/yunohost/yunohost/pull/1522))
|
||||
- postfix: fix relay conf not triggered because new setting system now returns '1' and not 'True' (cd43c8bd)
|
||||
- postfix: fix permission issue preventing to properly create sasl_passwd.db (5394790f)
|
||||
- [i18n] Translations updated for French
|
||||
|
||||
Thanks to all contributors <3 ! (Félix Piédallu, Florian Masy, ppr, Tagada)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Fri, 04 Nov 2022 13:13:40 +0100
|
||||
|
||||
yunohost (11.1.0.1) testing; urgency=low
|
||||
|
||||
- Bump version after propagating hotfix on 11.0.10.2
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Thu, 27 Oct 2022 15:46:26 +0200
|
||||
|
||||
yunohost (11.1.0) testing; urgency=low
|
||||
|
||||
- apps: New 'v2' packaging format ([#1289](https://github.com/yunohost/yunohost/pull/1289))
|
||||
- helpers: Upgrade n to version 9.0.0 ([#1477](https://github.com/yunohost/yunohost/pull/1477))
|
||||
- helpers: Support extracting source from docker images in ynh_setup_source ([#1505](https://github.com/yunohost/yunohost/pull/1505))
|
||||
- configpanels: Refactor global settings the new config panel framework ([#1459](https://github.com/yunohost/yunohost/pull/1459))
|
||||
- configpanels: Add support for actions (= button widget) and apply it to domain cert management ([#1436](https://github.com/YunoHost/yunohost/pull/1436))
|
||||
- admin: Drop the 'admin' user, have 'admins' be a group of Yunohost users instead ([#1408](https://github.com/yunohost/yunohost/pull/1408))
|
||||
- admin: Implement a new 'virtual global setting' to change root password from the global setting config panel ([#1515](https://github.com/yunohost/yunohost/pull/1515))
|
||||
- domains: Be able to "list" domain as a tree structure + add new 'domain_info' API endpoint ([#1434](https://github.com/yunohost/yunohost/pull/1434))
|
||||
- users: Encourage to define a single 'full display name' instead of separate 'firstname/lastname' ([#1516](https://github.com/yunohost/yunohost/pull/1516))
|
||||
- security: Improve most used password check list ([#1517](https://github.com/yunohost/yunohost/pull/1517))
|
||||
- i18n: Translations updated for Slovak
|
||||
|
||||
Thanks to all contributors <3 ! (axolotle, Dante, Jose Riha, Tagadda, yalh76)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Tue, 25 Oct 2022 17:57:29 +0200
|
||||
|
||||
yunohost (11.0.10.2) stable; urgency=low
|
||||
|
||||
- Add another trick to autorestart yunohost-api at the end of the upgrade when ran from the api itself... (6f640c08)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Thu, 27 Oct 2022 15:46:26 +0200
|
||||
|
||||
yunohost (11.0.10.1) stable; urgency=low
|
||||
|
||||
- self-upgrade: fix yunohost-api restart which was not triggered @_@ (472e9250)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Mon, 17 Oct 2022 23:56:37 +0200
|
||||
|
||||
yunohost (11.0.10) stable; urgency=low
|
||||
|
||||
- configpanels: fix nested bind statements (0252a6fd)
|
||||
- ynh_setup_source: Add option to fully replace the destination dir ([#1509](https://github.com/yunohost/yunohost/pull/1509))
|
||||
- tools_update: also yield a boolean to easily know if there's a major yunohost upgrade pending + list of pending migrations (cf change in webadmin to encourage people to check the release note on the forum before yoloupgrading) (86e45f9c)
|
||||
- diagnosis: add reports when apt is configured with the 'testing' channel for yunohost, or with the 'stable' codename for debian (0adff31d)
|
||||
- [i18n] Translations updated for French, Slovak
|
||||
|
||||
Thanks to all contributors <3 ! (Dante, Jose Riha, ppr, yalh76)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Mon, 17 Oct 2022 16:56:47 +0200
|
||||
|
||||
yunohost (11.0.9.15) stable; urgency=low
|
||||
|
||||
- [fix] Lidswitch if no reboot ([#1506](https://github.com/yunohost/yunohost/pull/1506))
|
||||
- [fix] postinstall: edge case where var would get undefined.. (b7bea608)
|
||||
- [fix] backup: Try to fix again the infamous issue where from_yunohost_version gets filled with 'BASH_XTRACEFD' (14fb1cfd)
|
||||
- [fix] Various english wording improvements ([#1507](https://github.com/yunohost/yunohost/pull/1507))
|
||||
- [i18n] Translations updated for Arabic, Slovak, Telugu, Turkish
|
||||
|
||||
Thanks to all contributors <3 ! (Alice Kile, ButterflyOfFire, Jose Riha, ljf (zamentur), marty hiatt, Sedat Albayrak)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Fri, 30 Sep 2022 16:24:59 +0200
|
||||
|
||||
yunohost (11.0.9.14) stable; urgency=low
|
||||
|
||||
- [fix] dns: confusion on XMPP CNAME records for nohost.me & co domains (f6057d25)
|
||||
- [fix] helper ynh_get_ram: LANG= isn't enough to get en_US output, gotta use LC_ALL (e51cdd98)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Wed, 07 Sep 2022 13:08:31 +0200
|
||||
|
||||
yunohost (11.0.9.13) stable; urgency=low
|
||||
|
||||
- [fix] defaultapp: domain may not exist in app_map dict output (efe0e601)
|
||||
- [fix] regenconf: fix a stupid issue with slapcat displaying an error message because grep -q breaks the pipe (503b9031)
|
||||
- [fix] regenconf: add a timeout to curl inside dnsmasq regenconf to prevent being stuck too long when no network on the machine (b77e8114)
|
||||
- [fix] ynh_delete_file_checksum with non-existing option in helpers/config ([#1501](https://github.com/YunoHost/yunohost/pull/1501))
|
||||
- [i18n] Translations updated for Basque, Galician, Slovak
|
||||
|
||||
Thanks to all contributors <3 ! (José M, Jose Riha, tituspijean, xabirequejo)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sat, 03 Sep 2022 23:27:56 +0200
|
||||
|
||||
yunohost (11.0.9.12) stable; urgency=low
|
||||
|
||||
- [fix] postinstall: check all partitions (not only physical ones) ([#1497](https://github.com/YunoHost/yunohost/pull/1497))
|
||||
- [i18n] Translations updated for Basque, French, Indonesian, Italian, Slovak
|
||||
|
||||
Thanks to all contributors <3 ! (Salamandar)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sun, 28 Aug 2022 14:50:38 +0200
|
||||
|
||||
yunohost (11.0.9.11) stable; urgency=low
|
||||
|
||||
= Merge with Buster branch
|
||||
- [fix] diagnosis: fix inaccurate message (ae92a0b8)
|
||||
- [fix] logrotate helpers: getopts miserably explodes if 'legacy_args' is inconsistent with 'args_array' ... (530bf04a)
|
||||
- [i18n] Translations updated for Basque, French, Indonesian, Italian, Slovak
|
||||
|
||||
Thanks to all contributors <3 ! (Jose Riha, Leandro Noferini, liimee, Stephan Klein, xabirequejo)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Fri, 26 Aug 2022 16:32:19 +0200
|
||||
|
||||
yunohost (11.0.9.9) stable; urgency=low
|
||||
|
||||
- Sync with Buster branch
|
||||
- [fix] php7.3->7.4: autopatch nginx configs during restore (18e041c4)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Fri, 19 Aug 2022 20:50:52 +0200
|
||||
|
||||
yunohost (11.0.9.7) stable; urgency=low
|
||||
|
||||
- [fix] logorate helper: was broken because wrong index é_è (efa80304)
|
||||
- [i18n] Translations updated for French, Galician, Ukrainian
|
||||
|
||||
Thanks to all contributors <3 ! (Éric Gaspar, José M, Tymofii-Lytvynenko)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Wed, 17 Aug 2022 19:24:11 +0200
|
||||
|
||||
yunohost (11.0.9.6) stable; urgency=low
|
||||
|
||||
- Sync with Buster branch
|
||||
- [fix] helpers: logrotate shitty inconsistent handling of 'supposedly legacy' --non-append option ... (8d1c75e7)
|
||||
- [fix] apps: Better handling of super shitty edge case where an app settings.yml is empty for some unexpected mystic reason ... (9eb123f8)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Wed, 17 Aug 2022 01:26:28 +0200
|
||||
|
||||
yunohost (11.0.9.5) stable; urgency=low
|
||||
|
||||
- Propagate fixes in buster->bullseye migration
|
||||
- [fix] venv rebuild: synapse's folder is named matrix-synapse (c8031ace)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sun, 14 Aug 2022 18:22:30 +0200
|
||||
|
||||
yunohost (11.0.9.3) stable; urgency=low
|
||||
|
||||
- [fix] postgresql 11->13: Epic typo / missing import (3cb1a41a)
|
||||
- [i18n] Translations updated for Basque, French, Galician
|
||||
|
||||
Thanks to all contributors <3 ! (Éric Gaspar, José M, Kay0u, punkrockgirl)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sat, 13 Aug 2022 22:37:05 +0200
|
||||
|
||||
yunohost (11.0.9.2) stable; urgency=low
|
||||
|
||||
- [fix] venv rebuild: fix yunohost app force upgrade command (5d90971b)
|
||||
- [fix] apt helpers: simplify ynh_remove_app_dependencies, we don't need to care about removing php-fpm services from yunohost, because 'yunohost service' now dynamically check what relevant phpX.Y-fpm service exist on the system (64e35815)
|
||||
- [enh] diagnosis: add complains if some app installed are still requiring only yunohost 3.x (31aacb33)
|
||||
- [fix] venv rebuild: migration should have an empty disclaimer when in auto mode (d2a6dcd4)
|
||||
- [fix] postgresql 11->13 migration: skip if no yunohost app depend on postgresql (d161da03)
|
||||
|
||||
Thanks to all contributors <3 ! (Éric Gaspar, ljf)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sat, 13 Aug 2022 20:08:27 +0200
|
||||
|
||||
yunohost (11.0.9.1) stable; urgency=low
|
||||
|
||||
- [fix] venv rebuild: /opt may not exist ...
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Thu, 11 Aug 2022 16:00:40 +0200
|
||||
|
||||
yunohost (11.0.9) stable; urgency=low
|
||||
|
||||
- [fix] services: Skip php 7.3 which is most likely dead after buster->bullseye migration because users get spooked (51804925)
|
||||
|
@ -134,6 +795,80 @@ yunohost (11.0.2) testing; urgency=low
|
|||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Wed, 19 Jan 2022 20:52:39 +0100
|
||||
|
||||
yunohost (4.4.2.14) stable; urgency=low
|
||||
|
||||
- bullseye migration: remove derpy OVH repo... (76014920)
|
||||
- bullseye migration: improve autofix procedure for the libc6 hell (02b3a138)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sat, 03 Sep 2022 23:19:08 +0200
|
||||
|
||||
yunohost (4.4.2.13) stable; urgency=low
|
||||
|
||||
- [fix] bullseye migration: a few annoying issues related to Sury (b5fabc87)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Mon, 29 Aug 2022 15:40:03 +0200
|
||||
|
||||
yunohost (4.4.2.12) stable; urgency=low
|
||||
|
||||
- bullseye migration: add trick to automagically find the likely log of a previously failed migration to ease support (f5d94509)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Fri, 26 Aug 2022 19:22:30 +0200
|
||||
|
||||
yunohost (4.4.2.10) stable; urgency=low
|
||||
|
||||
- bullseye migration: add proper explanations and advices after the damn 'The distribution is not Buster' message ... (6a594d0e)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Mon, 22 Aug 2022 10:28:50 +0200
|
||||
|
||||
yunohost (4.4.2.9) stable; urgency=low
|
||||
|
||||
- apt helper: fix edge case with equivs package being flagged hold because of buster->bullseye migration (b306df2c)
|
||||
- bullseye migration: fix check about free space in /boot/ ... (a2d4abc1)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Thu, 18 Aug 2022 19:24:47 +0200
|
||||
|
||||
yunohost (4.4.2.7) stable; urgency=low
|
||||
|
||||
- upgrades: ignore boring insserv warnings during apt commands (87f0eff9)
|
||||
- bullseye migration: higher treshold for low space detection in /boot/ because some people still experience the issue on 4.4.2.6 (d283c900)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Wed, 17 Aug 2022 01:21:36 +0200
|
||||
|
||||
yunohost (4.4.2.6) stable; urgency=low
|
||||
|
||||
- [fix] bullseye migration: trash pip freeze stderr because it's confusing users ... (e68fc821)
|
||||
- [fix] bullseye migration: add a check that there's at least 70MB available in /boot ... (02fcbd97)
|
||||
- [fix] bullseye migration: better detection mechanism for the libc6 / libgcc hell issue (633a1fbf)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sun, 14 Aug 2022 18:18:13 +0200
|
||||
|
||||
yunohost (4.4.2.3) stable; urgency=low
|
||||
|
||||
- [fix] bullseye migration: add fix for stupid dnsmasq not picking new init script (origin/dev, origin/HEAD, dev)
|
||||
- [fix] bullseye migration: add the patch for the build-essential / libc6-dev / libgcc-8-dev hell ...
|
||||
- [fix] bullseye migration: add critical fix for RPi failing to get network on reboot
|
||||
- [fix] bullseye migration: add ffsync to deprecated apps (77c2f5dc)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Sat, 13 Aug 2022 20:06:00 +0200
|
||||
|
||||
yunohost (4.4.2.1) stable; urgency=low
|
||||
|
||||
- [fix] bullseye migration: /opt may not exist ... (5fd74577)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Thu, 11 Aug 2022 15:56:16 +0200
|
||||
|
||||
yunohost (4.4.2) stable; urgency=low
|
||||
|
||||
- Release as stable
|
||||
- [fix] bullseye migration: /etc/apt/sources.list may not exist (b928dd12)
|
||||
- [fix] bullseye migration: Allow lime2 to upgrade even if kernel is hold (#1452)
|
||||
- [fix] bullseye migration: Save python apps venv in a requirements file, in order to regenerate it in a follow-up migration ([#1479](https://github.com/YunoHost/yunohost/pull/1479))
|
||||
- [fix] bullseye migration: tweak message to prepare for stable release (80015a72)
|
||||
|
||||
Thanks to all contributors <3 ! (ljf, theo-is-taken)
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Tue, 09 Aug 2022 16:59:15 +0200
|
||||
|
||||
yunohost (4.4.1) testing; urgency=low
|
||||
|
||||
- [fix] php helpers: prevent epic catastrophies when the app changes php version (31d3719b)
|
||||
|
|
4
debian/control
vendored
4
debian/control
vendored
|
@ -10,7 +10,7 @@ Package: yunohost
|
|||
Essential: yes
|
||||
Architecture: all
|
||||
Depends: ${python3:Depends}, ${misc:Depends}
|
||||
, moulinette (>= 11.0), ssowat (>= 11.0)
|
||||
, moulinette (>= 11.1), ssowat (>= 11.1)
|
||||
, python3-psutil, python3-requests, python3-dnspython, python3-openssl
|
||||
, python3-miniupnpc, python3-dbus, python3-jinja2
|
||||
, python3-toml, python3-packaging, python3-publicsuffix2
|
||||
|
@ -28,7 +28,7 @@ Depends: ${python3:Depends}, ${misc:Depends}
|
|||
, rspamd, opendkim-tools, postsrsd, procmail, mailutils
|
||||
, redis-server
|
||||
, acl
|
||||
, git, curl, wget, cron, unzip, jq, bc, at
|
||||
, git, curl, wget, cron, unzip, jq, bc, at, procps
|
||||
, lsb-release, haveged, fake-hwclock, equivs, lsof, whois
|
||||
Recommends: yunohost-admin
|
||||
, ntp, inetutils-ping | iputils-ping
|
||||
|
|
21
debian/postinst
vendored
21
debian/postinst
vendored
|
@ -20,6 +20,7 @@ do_configure() {
|
|||
fi
|
||||
else
|
||||
echo "Regenerating configuration, this might take a while..."
|
||||
yunohost app ssowatconf
|
||||
yunohost tools regen-conf --output-as none
|
||||
|
||||
echo "Launching migrations..."
|
||||
|
@ -27,6 +28,9 @@ do_configure() {
|
|||
|
||||
echo "Re-diagnosing server health..."
|
||||
yunohost diagnosis run --force
|
||||
|
||||
echo "Refreshing app catalog..."
|
||||
yunohost tools update apps --output-as none || true
|
||||
fi
|
||||
|
||||
systemctl restart yunohost-portal-api
|
||||
|
@ -40,6 +44,23 @@ do_configure() {
|
|||
systemctl restart yunohost-api
|
||||
else
|
||||
echo "(Delaying the restart of yunohost-api, this should automatically happen after the end of this upgrade)"
|
||||
cat << EOF | at -M now >/dev/null 2>&1
|
||||
# Wait for apt / dpkg / yunohost to not be up anymore, hence the upgrade finished
|
||||
|
||||
while pgrep -x apt || pgrep -x apt-get || pgrep dpkg || test -e /var/run/moulinette_yunohost.lock;
|
||||
do
|
||||
sleep 3
|
||||
done
|
||||
|
||||
# Restart yunohost-api, though only if it wasnt already restarted by something else in the last 60 secs
|
||||
|
||||
API_START_TIMESTAMP="\$(date --date="\$(systemctl show yunohost-api | grep ExecMainStartTimestamp= | awk -F= '{print \$2}')" +%s)"
|
||||
|
||||
if [ "\$(( \$(date +%s) - \$API_START_TIMESTAMP ))" -ge 60 ];
|
||||
then
|
||||
systemctl restart yunohost-api
|
||||
fi
|
||||
EOF
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
|
42
doc/api.html
Normal file
42
doc/api.html
Normal file
|
@ -0,0 +1,42 @@
|
|||
<!-- HTML for static distribution bundle build -->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Swagger UI</title>
|
||||
<link rel="stylesheet" type="text/css" href="swagger/swagger-ui.css" />
|
||||
<link rel="stylesheet" type="text/css" href="swagger/index.css" />
|
||||
<link rel="icon" type="image/png" href="swagger/favicon-32x32.png" sizes="32x32" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="swagger-ui"></div>
|
||||
<script src="swagger/swagger-ui-bundle.js" charset="UTF-8"> </script>
|
||||
<script src="swagger/swagger-ui-standalone-preset.js" charset="UTF-8"> </script>
|
||||
<script src="openapi.js" type="text/javascript" language="javascript"></script>
|
||||
<script>
|
||||
window.onload = function() {
|
||||
//<editor-fold desc="Changeable Configuration Block">
|
||||
// the following lines will be replaced by docker/configurator, when it runs in a docker-container
|
||||
window.ui = SwaggerUIBundle({
|
||||
spec: openapiJSON,
|
||||
dom_id: '#swagger-ui',
|
||||
deepLinking: true,
|
||||
displayOperationId: true,
|
||||
validatorUrl: null,
|
||||
presets: [
|
||||
SwaggerUIBundle.presets.apis,
|
||||
SwaggerUIStandalonePreset
|
||||
],
|
||||
layout: "StandaloneLayout"
|
||||
});
|
||||
|
||||
//</editor-fold>
|
||||
};
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
283
doc/generate_api_doc.py
Normal file
283
doc/generate_api_doc.py
Normal file
|
@ -0,0 +1,283 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
""" License
|
||||
Copyright (C) 2013 YunoHost
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program; if not, see http://www.gnu.org/licenses
|
||||
"""
|
||||
|
||||
"""
|
||||
Generate JSON specification files API
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
import yaml
|
||||
import json
|
||||
|
||||
|
||||
def main():
|
||||
with open("../share/actionsmap.yml") as f:
|
||||
action_map = yaml.safe_load(f)
|
||||
|
||||
# try:
|
||||
# with open("/etc/yunohost/current_host", "r") as f:
|
||||
# domain = f.readline().rstrip()
|
||||
# except IOError:
|
||||
# domain = requests.get("http://ip.yunohost.org").text
|
||||
|
||||
with open("../debian/changelog") as f:
|
||||
top_changelog = f.readline()
|
||||
api_version = top_changelog[top_changelog.find("(") + 1 : top_changelog.find(")")]
|
||||
|
||||
csrf = {
|
||||
"name": "X-Requested-With",
|
||||
"in": "header",
|
||||
"required": True,
|
||||
"schema": {"type": "string", "default": "Swagger API"},
|
||||
}
|
||||
|
||||
resource_list = {
|
||||
"openapi": "3.0.3",
|
||||
"info": {
|
||||
"title": "YunoHost API",
|
||||
"description": "This is the YunoHost API used on all YunoHost instances. This API is essentially used by YunoHost Webadmin.",
|
||||
"version": api_version,
|
||||
},
|
||||
"servers": [
|
||||
{
|
||||
"url": "https://{domain}/yunohost/api",
|
||||
"variables": {
|
||||
"domain": {
|
||||
"default": "demo.yunohost.org",
|
||||
"description": "Your yunohost domain",
|
||||
}
|
||||
},
|
||||
}
|
||||
],
|
||||
"tags": [{"name": "public", "description": "Public route"}],
|
||||
"paths": {
|
||||
"/login": {
|
||||
"post": {
|
||||
"tags": ["public"],
|
||||
"summary": "Logs in and returns the authentication cookie",
|
||||
"parameters": [csrf],
|
||||
"requestBody": {
|
||||
"required": True,
|
||||
"content": {
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"credentials": {
|
||||
"type": "string",
|
||||
"format": "password",
|
||||
}
|
||||
},
|
||||
"required": ["credentials"],
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
"security": [],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successfully login",
|
||||
"headers": {"Set-Cookie": {"schema": {"type": "string"}}},
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
"/installed": {
|
||||
"get": {
|
||||
"tags": ["public"],
|
||||
"summary": "Test if the API is working",
|
||||
"parameters": [],
|
||||
"security": [],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successfully working",
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
def convert_categories(categories, parent_category=""):
|
||||
for category, category_params in categories.items():
|
||||
if parent_category:
|
||||
category = f"{parent_category} {category}"
|
||||
if "subcategory_help" in category_params:
|
||||
category_params["category_help"] = category_params["subcategory_help"]
|
||||
|
||||
if "category_help" not in category_params:
|
||||
category_params["category_help"] = ""
|
||||
resource_list["tags"].append(
|
||||
{"name": category, "description": category_params["category_help"]}
|
||||
)
|
||||
|
||||
for action, action_params in category_params["actions"].items():
|
||||
if "action_help" not in action_params:
|
||||
action_params["action_help"] = ""
|
||||
if "api" not in action_params:
|
||||
continue
|
||||
if not isinstance(action_params["api"], list):
|
||||
action_params["api"] = [action_params["api"]]
|
||||
|
||||
for i, api in enumerate(action_params["api"]):
|
||||
print(api)
|
||||
method, path = api.split(" ")
|
||||
method = method.lower()
|
||||
key_param = ""
|
||||
if "{" in path:
|
||||
key_param = path[path.find("{") + 1 : path.find("}")]
|
||||
resource_list["paths"].setdefault(path, {})
|
||||
|
||||
notes = ""
|
||||
|
||||
operationId = f"{category}_{action}"
|
||||
if i > 0:
|
||||
operationId += f"_{i}"
|
||||
operation = {
|
||||
"tags": [category],
|
||||
"operationId": operationId,
|
||||
"summary": action_params["action_help"],
|
||||
"description": notes,
|
||||
"responses": {"200": {"description": "successful operation"}},
|
||||
}
|
||||
if action_params.get("deprecated"):
|
||||
operation["deprecated"] = True
|
||||
|
||||
operation["parameters"] = []
|
||||
if method == "post":
|
||||
operation["parameters"] = [csrf]
|
||||
|
||||
if "arguments" in action_params:
|
||||
if method in ["put", "post", "patch"]:
|
||||
operation["requestBody"] = {
|
||||
"required": True,
|
||||
"content": {
|
||||
"multipart/form-data": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {},
|
||||
"required": [],
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
for arg_name, arg_params in action_params["arguments"].items():
|
||||
if "help" not in arg_params:
|
||||
arg_params["help"] = ""
|
||||
param_type = "query"
|
||||
allow_multiple = False
|
||||
required = True
|
||||
allowable_values = None
|
||||
name = str(arg_name).replace("-", "_")
|
||||
if name[0] == "_":
|
||||
required = False
|
||||
if "full" in arg_params:
|
||||
name = arg_params["full"][2:]
|
||||
else:
|
||||
name = name[2:]
|
||||
name = name.replace("-", "_")
|
||||
|
||||
if "choices" in arg_params:
|
||||
allowable_values = arg_params["choices"]
|
||||
_type = "string"
|
||||
if "type" in arg_params:
|
||||
types = {"open": "file", "int": "int"}
|
||||
_type = types[arg_params["type"]]
|
||||
if (
|
||||
"action" in arg_params
|
||||
and arg_params["action"] == "store_true"
|
||||
):
|
||||
_type = "boolean"
|
||||
|
||||
if "nargs" in arg_params:
|
||||
if arg_params["nargs"] == "*":
|
||||
allow_multiple = True
|
||||
required = False
|
||||
_type = "array"
|
||||
if arg_params["nargs"] == "+":
|
||||
allow_multiple = True
|
||||
required = True
|
||||
_type = "array"
|
||||
if arg_params["nargs"] == "?":
|
||||
allow_multiple = False
|
||||
required = False
|
||||
else:
|
||||
allow_multiple = False
|
||||
|
||||
if name == key_param:
|
||||
param_type = "path"
|
||||
required = True
|
||||
allow_multiple = False
|
||||
|
||||
if method in ["put", "post", "patch"]:
|
||||
schema = operation["requestBody"]["content"][
|
||||
"multipart/form-data"
|
||||
]["schema"]
|
||||
schema["properties"][name] = {
|
||||
"type": _type,
|
||||
"description": arg_params["help"],
|
||||
}
|
||||
if required:
|
||||
schema["required"].append(name)
|
||||
prop_schema = schema["properties"][name]
|
||||
else:
|
||||
parameters = {
|
||||
"name": name,
|
||||
"in": param_type,
|
||||
"description": arg_params["help"],
|
||||
"required": required,
|
||||
"schema": {
|
||||
"type": _type,
|
||||
},
|
||||
"explode": allow_multiple,
|
||||
}
|
||||
prop_schema = parameters["schema"]
|
||||
operation["parameters"].append(parameters)
|
||||
|
||||
if allowable_values is not None:
|
||||
prop_schema["enum"] = allowable_values
|
||||
if "default" in arg_params:
|
||||
prop_schema["default"] = arg_params["default"]
|
||||
if arg_params.get("metavar") == "PASSWORD":
|
||||
prop_schema["format"] = "password"
|
||||
if arg_params.get("metavar") == "MAIL":
|
||||
prop_schema["format"] = "mail"
|
||||
# Those lines seems to slow swagger ui too much
|
||||
# if 'pattern' in arg_params.get('extra', {}):
|
||||
# prop_schema['pattern'] = arg_params['extra']['pattern'][0]
|
||||
|
||||
resource_list["paths"][path][method.lower()] = operation
|
||||
|
||||
# Includes subcategories
|
||||
if "subcategories" in category_params:
|
||||
convert_categories(category_params["subcategories"], category)
|
||||
|
||||
del action_map["_global"]
|
||||
convert_categories(action_map)
|
||||
|
||||
openapi_json = json.dumps(resource_list)
|
||||
# Save the OpenAPI json
|
||||
with open(os.getcwd() + "/openapi.json", "w") as f:
|
||||
f.write(openapi_json)
|
||||
|
||||
openapi_js = f"var openapiJSON = {openapi_json}"
|
||||
with open(os.getcwd() + "/openapi.js", "w") as f:
|
||||
f.write(openapi_js)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
|
@ -31,7 +31,6 @@ 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.safe_load(stream)
|
||||
|
||||
|
@ -65,7 +64,6 @@ with open(ACTIONSMAP_FILE, "r") as stream:
|
|||
os.makedirs(BASH_COMPLETION_FOLDER, exist_ok=True)
|
||||
|
||||
with open(BASH_COMPLETION_FILE, "w") as generated_file:
|
||||
|
||||
# header of the file
|
||||
generated_file.write("#\n")
|
||||
generated_file.write("# completion for yunohost\n")
|
||||
|
|
|
@ -20,12 +20,11 @@ def get_current_commit():
|
|||
|
||||
|
||||
def render(helpers):
|
||||
|
||||
current_commit = get_current_commit()
|
||||
|
||||
data = {
|
||||
"helpers": helpers,
|
||||
"date": datetime.datetime.now().strftime("%m/%d/%Y"),
|
||||
"date": datetime.datetime.now().strftime("%d/%m/%Y"),
|
||||
"version": open("../debian/changelog").readlines()[0].split()[1].strip("()"),
|
||||
}
|
||||
|
||||
|
@ -56,20 +55,17 @@ def render(helpers):
|
|||
|
||||
class Parser:
|
||||
def __init__(self, filename):
|
||||
|
||||
self.filename = filename
|
||||
self.file = open(filename, "r").readlines()
|
||||
self.blocks = None
|
||||
|
||||
def parse_blocks(self):
|
||||
|
||||
self.blocks = []
|
||||
|
||||
current_reading = "void"
|
||||
current_block = {"name": None, "line": -1, "comments": [], "code": []}
|
||||
|
||||
for i, line in enumerate(self.file):
|
||||
|
||||
if line.startswith("#!/bin/bash"):
|
||||
continue
|
||||
|
||||
|
@ -117,7 +113,6 @@ class Parser:
|
|||
current_reading = "code"
|
||||
|
||||
elif current_reading == "code":
|
||||
|
||||
if line == "}":
|
||||
# We're getting out of the function
|
||||
current_reading = "void"
|
||||
|
@ -138,7 +133,6 @@ class Parser:
|
|||
continue
|
||||
|
||||
def parse_block(self, b):
|
||||
|
||||
b["brief"] = ""
|
||||
b["details"] = ""
|
||||
b["usage"] = ""
|
||||
|
@ -164,7 +158,6 @@ class Parser:
|
|||
|
||||
elif subblock.startswith("usage"):
|
||||
for line in subblock.split("\n"):
|
||||
|
||||
if line.startswith("| arg"):
|
||||
linesplit = line.split()
|
||||
argname = linesplit[2]
|
||||
|
@ -216,11 +209,13 @@ def malformed_error(line_number):
|
|||
|
||||
|
||||
def main():
|
||||
|
||||
helper_files = sorted(glob.glob("../helpers/*"))
|
||||
helpers = []
|
||||
|
||||
for helper_file in helper_files:
|
||||
if not os.path.isfile(helper_file):
|
||||
continue
|
||||
|
||||
category_name = os.path.basename(helper_file)
|
||||
print("Parsing %s ..." % category_name)
|
||||
p = Parser(helper_file)
|
||||
|
|
|
@ -60,7 +60,6 @@ def main():
|
|||
|
||||
# man pages of "yunohost *"
|
||||
with open(ACTIONSMAP_FILE, "r") as actionsmap:
|
||||
|
||||
# Getting the dictionary containning what actions are possible per domain
|
||||
actionsmap = ordered_yaml_load(actionsmap)
|
||||
|
||||
|
|
72
doc/generate_resource_doc.py
Normal file
72
doc/generate_resource_doc.py
Normal file
|
@ -0,0 +1,72 @@
|
|||
import ast
|
||||
import datetime
|
||||
import subprocess
|
||||
|
||||
version = open("../debian/changelog").readlines()[0].split()[1].strip("()")
|
||||
today = datetime.datetime.now().strftime("%d/%m/%Y")
|
||||
|
||||
|
||||
def get_current_commit():
|
||||
p = subprocess.Popen(
|
||||
"git rev-parse --verify HEAD",
|
||||
shell=True,
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.STDOUT,
|
||||
)
|
||||
stdout, stderr = p.communicate()
|
||||
|
||||
current_commit = stdout.strip().decode("utf-8")
|
||||
return current_commit
|
||||
|
||||
|
||||
current_commit = get_current_commit()
|
||||
|
||||
|
||||
print(
|
||||
f"""---
|
||||
title: App resources
|
||||
template: docs
|
||||
taxonomy:
|
||||
category: docs
|
||||
routes:
|
||||
default: '/packaging_apps_resources'
|
||||
---
|
||||
|
||||
Doc auto-generated by [this script](https://github.com/YunoHost/yunohost/blob/{current_commit}/doc/generate_resource_doc.py) on {today} (YunoHost version {version})
|
||||
|
||||
"""
|
||||
)
|
||||
|
||||
|
||||
fname = "../src/utils/resources.py"
|
||||
content = open(fname).read()
|
||||
|
||||
# NB: This magic is because we want to be able to run this script outside of a YunoHost context,
|
||||
# in which we cant really 'import' the file because it will trigger a bunch of moulinette/yunohost imports...
|
||||
tree = ast.parse(content)
|
||||
|
||||
ResourceClasses = [
|
||||
c
|
||||
for c in tree.body
|
||||
if isinstance(c, ast.ClassDef) and c.bases and c.bases[0].id == "AppResource"
|
||||
]
|
||||
|
||||
ResourceDocString = {}
|
||||
|
||||
for c in ResourceClasses:
|
||||
assert c.body[1].targets[0].id == "type"
|
||||
resource_id = c.body[1].value.value
|
||||
docstring = ast.get_docstring(c)
|
||||
|
||||
ResourceDocString[resource_id] = docstring
|
||||
|
||||
|
||||
for resource_id, doc in sorted(ResourceDocString.items()):
|
||||
doc = doc.replace("\n ", "\n")
|
||||
|
||||
print("----------------")
|
||||
print("")
|
||||
print(f"## {resource_id.replace('_', ' ').title()}")
|
||||
print("")
|
||||
print(doc)
|
||||
print("")
|
93
helpers/apps
93
helpers/apps
|
@ -111,3 +111,96 @@ ynh_remove_apps() {
|
|||
done
|
||||
fi
|
||||
}
|
||||
|
||||
# Spawn a Bash shell with the app environment loaded
|
||||
#
|
||||
# usage: ynh_spawn_app_shell --app="app"
|
||||
# | arg: -a, --app= - the app ID
|
||||
#
|
||||
# examples:
|
||||
# ynh_spawn_app_shell --app="APP" <<< 'echo "$USER"'
|
||||
# ynh_spawn_app_shell --app="APP" < /tmp/some_script.bash
|
||||
#
|
||||
# Requires YunoHost version 11.0.* or higher, and that the app relies on packaging v2 or higher.
|
||||
# The spawned shell will have environment variables loaded and environment files sourced
|
||||
# from the app's service configuration file (defaults to $app.service, overridable by the packager with `service` setting).
|
||||
# If the app relies on a specific PHP version, then `php` will be aliased that version. The PHP command will also be appended with the `phpflags` settings.
|
||||
ynh_spawn_app_shell() {
|
||||
# Declare an array to define the options of this helper.
|
||||
local legacy_args=a
|
||||
local -A args_array=([a]=app=)
|
||||
local app
|
||||
# Manage arguments with getopts
|
||||
ynh_handle_getopts_args "$@"
|
||||
|
||||
# Force Bash to be used to run this helper
|
||||
if [[ ! $0 =~ \/?bash$ ]]
|
||||
then
|
||||
ynh_print_err --message="Please use Bash as shell"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Make sure the app is installed
|
||||
local installed_apps_list=($(yunohost app list --output-as json --quiet | jq -r .apps[].id))
|
||||
if [[ " ${installed_apps_list[*]} " != *" ${app} "* ]]
|
||||
then
|
||||
ynh_print_err --message="$app is not in the apps list"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Make sure the app has its own user
|
||||
if ! id -u "$app" &>/dev/null; then
|
||||
ynh_print_err --message="There is no \"$app\" system user"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Make sure the app has an install_dir setting
|
||||
local install_dir=$(ynh_app_setting_get --app=$app --key=install_dir)
|
||||
if [ -z "$install_dir" ]
|
||||
then
|
||||
ynh_print_err --message="$app has no install_dir setting (does it use packaging format >=2?)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Load the app's service name, or default to $app
|
||||
local service=$(ynh_app_setting_get --app=$app --key=service)
|
||||
[ -z "$service" ] && service=$app;
|
||||
|
||||
# Export HOME variable
|
||||
export HOME=$install_dir;
|
||||
|
||||
# Load the Environment variables from the app's service
|
||||
local env_var=$(systemctl show $service.service -p "Environment" --value)
|
||||
[ -n "$env_var" ] && export $env_var;
|
||||
|
||||
# Force `php` to its intended version
|
||||
# We use `eval`+`export` since `alias` is not propagated to subshells, even with `export`
|
||||
local phpversion=$(ynh_app_setting_get --app=$app --key=phpversion)
|
||||
local phpflags=$(ynh_app_setting_get --app=$app --key=phpflags)
|
||||
if [ -n "$phpversion" ]
|
||||
then
|
||||
eval "php() { php${phpversion} ${phpflags} \"\$@\"; }"
|
||||
export -f php
|
||||
fi
|
||||
|
||||
# Source the EnvironmentFiles from the app's service
|
||||
local env_files=($(systemctl show $service.service -p "EnvironmentFiles" --value))
|
||||
if [ ${#env_files[*]} -gt 0 ]
|
||||
then
|
||||
# set -/+a enables and disables new variables being automatically exported. Needed when using `source`.
|
||||
set -a
|
||||
for file in ${env_files[*]}
|
||||
do
|
||||
[[ $file = /* ]] && source $file
|
||||
done
|
||||
set +a
|
||||
fi
|
||||
|
||||
# cd into the WorkingDirectory set in the service, or default to the install_dir
|
||||
local env_dir=$(systemctl show $service.service -p "WorkingDirectory" --value)
|
||||
[ -z $env_dir ] && env_dir=$install_dir;
|
||||
cd $env_dir
|
||||
|
||||
# Spawn the app shell
|
||||
su -s /bin/bash $app
|
||||
}
|
||||
|
|
29
helpers/apt
29
helpers/apt
|
@ -227,9 +227,8 @@ ynh_install_app_dependencies() {
|
|||
# Add a comma for each space between packages. But not add a comma if the space separate a version specification. (See below)
|
||||
dependencies="$(echo "$dependencies" | sed 's/\([^\<=\>]\)\ \([^(]\)/\1, \2/g')"
|
||||
local dependencies=${dependencies//|/ | }
|
||||
local manifest_path="$YNH_APP_BASEDIR/manifest.json"
|
||||
|
||||
local version=$(jq -r '.version' "$manifest_path")
|
||||
local version=$(ynh_read_manifest --manifest_key="version")
|
||||
if [ -z "${version}" ] || [ "$version" == "null" ]; then
|
||||
version="1.0"
|
||||
fi
|
||||
|
@ -278,7 +277,10 @@ ynh_install_app_dependencies() {
|
|||
ynh_app_setting_set --app=$app --key=phpversion --value=$specific_php_version
|
||||
|
||||
# Set the default php version back as the default version for php-cli.
|
||||
update-alternatives --set php /usr/bin/php$YNH_DEFAULT_PHP_VERSION
|
||||
if test -e /usr/bin/php$YNH_DEFAULT_PHP_VERSION
|
||||
then
|
||||
update-alternatives --set php /usr/bin/php$YNH_DEFAULT_PHP_VERSION
|
||||
fi
|
||||
elif grep --quiet 'php' <<< "$dependencies"; then
|
||||
ynh_app_setting_set --app=$app --key=phpversion --value=$YNH_DEFAULT_PHP_VERSION
|
||||
fi
|
||||
|
@ -361,16 +363,19 @@ ynh_remove_app_dependencies() {
|
|||
current_dependencies=${current_dependencies// | /|}
|
||||
fi
|
||||
|
||||
ynh_package_autopurge ${dep_app}-ynh-deps # Remove the fake package and its dependencies if they not still used.
|
||||
# Edge case where the app dep may be on hold,
|
||||
# cf https://forum.yunohost.org/t/migration-error-cause-of-ffsync/20675/4
|
||||
if apt-mark showhold | grep -q -w ${dep_app}-ynh-deps
|
||||
then
|
||||
apt-mark unhold ${dep_app}-ynh-deps
|
||||
fi
|
||||
|
||||
# Check if this app used a specific php version ... in which case we check
|
||||
# if the corresponding php-fpm is still there. Otherwise, we remove the
|
||||
# service from yunohost as well
|
||||
|
||||
local specific_php_version=$(echo $current_dependencies | tr '-' ' ' | grep -o -E "\<php[0-9.]+\>" | sed 's/php//g' | sort | uniq)
|
||||
[[ "$specific_php_version" != "$YNH_DEFAULT_PHP_VERSION" ]] || specific_php_version=""
|
||||
if [[ -n "$specific_php_version" ]] && ! ynh_package_is_installed --package="php${specific_php_version}-fpm"; then
|
||||
yunohost service remove php${specific_php_version}-fpm
|
||||
# Remove the fake package and its dependencies if they not still used.
|
||||
# (except if dpkg doesn't know anything about the package,
|
||||
# which should be symptomatic of a failed install, and we don't want bash to report an error)
|
||||
if dpkg-query --show ${dep_app}-ynh-deps &>/dev/null
|
||||
then
|
||||
ynh_package_autopurge ${dep_app}-ynh-deps
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
@ -285,6 +285,14 @@ ynh_restore_file() {
|
|||
else
|
||||
mv "$archive_path" "${dest_path}"
|
||||
fi
|
||||
|
||||
# Boring hack for nginx conf file mapped to php7.3
|
||||
# Note that there's no need to patch the fpm config because most php apps
|
||||
# will call "ynh_add_fpm_config" during restore, effectively recreating the file from scratch
|
||||
if [[ "${dest_path}" == "/etc/nginx/conf.d/"* ]] && grep 'php7.3.*sock' "${dest_path}"
|
||||
then
|
||||
sed -i 's/php7.3/php7.4/g' "${dest_path}"
|
||||
fi
|
||||
}
|
||||
|
||||
# Calculate and store a file checksum into the app settings
|
||||
|
@ -319,6 +327,13 @@ ynh_store_file_checksum() {
|
|||
|
||||
ynh_app_setting_set --app=$app --key=$checksum_setting_name --value=$(md5sum "$file" | cut --delimiter=' ' --fields=1)
|
||||
|
||||
if [ ${PACKAGE_CHECK_EXEC:-0} -eq 1 ]; then
|
||||
# Using a base64 is in fact more reversible than "replace / and space by _" ... So we can in fact obtain the original file path in an easy reliable way ...
|
||||
local file_path_base64=$(echo "$file" | base64 -w0)
|
||||
mkdir -p /var/cache/yunohost/appconfbackup/
|
||||
cat $file > /var/cache/yunohost/appconfbackup/original_${file_path_base64}
|
||||
fi
|
||||
|
||||
# If backup_file_checksum isn't empty, ynh_backup_if_checksum_is_different has made a backup
|
||||
if [ -n "${backup_file_checksum-}" ]; then
|
||||
# Print the diff between the previous file and the new one.
|
||||
|
@ -353,11 +368,20 @@ ynh_backup_if_checksum_is_different() {
|
|||
backup_file_checksum=""
|
||||
if [ -n "$checksum_value" ]; then # Proceed only if a value was stored into the app settings
|
||||
if [ -e $file ] && ! echo "$checksum_value $file" | md5sum --check --status; then # If the checksum is now different
|
||||
|
||||
backup_file_checksum="/var/cache/yunohost/appconfbackup/$file.backup.$(date '+%Y%m%d.%H%M%S')"
|
||||
mkdir --parents "$(dirname "$backup_file_checksum")"
|
||||
cp --archive "$file" "$backup_file_checksum" # Backup the current file
|
||||
ynh_print_warn "File $file has been manually modified since the installation or last upgrade. So it has been duplicated in $backup_file_checksum"
|
||||
echo "$backup_file_checksum" # Return the name of the backup file
|
||||
if [ ${PACKAGE_CHECK_EXEC:-0} -eq 1 ]; then
|
||||
local file_path_base64=$(echo "$file" | base64 -w0)
|
||||
if test -e /var/cache/yunohost/appconfbackup/original_${file_path_base64}
|
||||
then
|
||||
ynh_print_warn "Diff with the original file:"
|
||||
diff --report-identical-files --unified --color=always /var/cache/yunohost/appconfbackup/original_${file_path_base64} $file >&2 || true
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ _ynh_app_config_get_one() {
|
|||
if [[ "$bind" == "settings" ]]; then
|
||||
ynh_die --message="File '${short_setting}' can't be stored in settings"
|
||||
fi
|
||||
old[$short_setting]="$(ls "$(echo $bind | sed s@__FINALPATH__@$final_path@ | sed s/__APP__/$app/)" 2>/dev/null || echo YNH_NULL)"
|
||||
old[$short_setting]="$(ls "$(echo $bind | sed s@__INSTALL_DIR__@$install_dir@ | sed s@__FINALPATH__@$final_path@ | sed s/__APP__/$app/)" 2>/dev/null || echo YNH_NULL)"
|
||||
file_hash[$short_setting]="true"
|
||||
|
||||
# Get multiline text from settings or from a full file
|
||||
|
@ -32,7 +32,7 @@ _ynh_app_config_get_one() {
|
|||
elif [[ "$bind" == *":"* ]]; then
|
||||
ynh_die --message="For technical reasons, multiline text '${short_setting}' can't be stored automatically in a variable file, you have to create custom getter/setter"
|
||||
else
|
||||
old[$short_setting]="$(cat $(echo $bind | sed s@__FINALPATH__@$final_path@ | sed s/__APP__/$app/) 2>/dev/null || echo YNH_NULL)"
|
||||
old[$short_setting]="$(cat $(echo $bind | sed s@__INSTALL_DIR__@$install_dir@ | sed s@__FINALPATH__@$final_path@ | sed s/__APP__/$app/) 2>/dev/null || echo YNH_NULL)"
|
||||
fi
|
||||
|
||||
# Get value from a kind of key/value file
|
||||
|
@ -47,7 +47,7 @@ _ynh_app_config_get_one() {
|
|||
bind_after="$(echo "${bind_key_}" | cut -d'>' -f1)"
|
||||
bind_key_="$(echo "${bind_key_}" | cut -d'>' -f2)"
|
||||
fi
|
||||
local bind_file="$(echo "$bind" | cut -d: -f2 | sed s@__FINALPATH__@$final_path@ | sed s/__APP__/$app/)"
|
||||
local bind_file="$(echo "$bind" | cut -d: -f2 | sed s@__INSTALL_DIR__@$install_dir@ | sed s@__FINALPATH__@$final_path@ | sed s/__APP__/$app/)"
|
||||
old[$short_setting]="$(ynh_read_var_in_file --file="${bind_file}" --key="${bind_key_}" --after="${bind_after}")"
|
||||
|
||||
fi
|
||||
|
@ -73,11 +73,11 @@ _ynh_app_config_apply_one() {
|
|||
if [[ "$bind" == "settings" ]]; then
|
||||
ynh_die --message="File '${short_setting}' can't be stored in settings"
|
||||
fi
|
||||
local bind_file="$(echo "$bind" | sed s@__FINALPATH__@$final_path@ | sed s/__APP__/$app/)"
|
||||
local bind_file="$(echo "$bind" | sed s@__INSTALL_DIR__@$install_dir@ | sed s@__FINALPATH__@$final_path@ | sed s/__APP__/$app/)"
|
||||
if [[ "${!short_setting}" == "" ]]; then
|
||||
ynh_backup_if_checksum_is_different --file="$bind_file"
|
||||
ynh_secure_remove --file="$bind_file"
|
||||
ynh_delete_file_checksum --file="$bind_file" --update_only
|
||||
ynh_delete_file_checksum --file="$bind_file"
|
||||
ynh_print_info --message="File '$bind_file' removed"
|
||||
else
|
||||
ynh_backup_if_checksum_is_different --file="$bind_file"
|
||||
|
@ -98,7 +98,7 @@ _ynh_app_config_apply_one() {
|
|||
if [[ "$bind" == *":"* ]]; then
|
||||
ynh_die --message="For technical reasons, multiline text '${short_setting}' can't be stored automatically in a variable file, you have to create custom getter/setter"
|
||||
fi
|
||||
local bind_file="$(echo "$bind" | sed s@__FINALPATH__@$final_path@ | sed s/__APP__/$app/)"
|
||||
local bind_file="$(echo "$bind" | sed s@__INSTALL_DIR__@$install_dir@ | sed s@__FINALPATH__@$final_path@ | sed s/__APP__/$app/)"
|
||||
ynh_backup_if_checksum_is_different --file="$bind_file"
|
||||
echo "${!short_setting}" >"$bind_file"
|
||||
ynh_store_file_checksum --file="$bind_file" --update_only
|
||||
|
@ -113,7 +113,7 @@ _ynh_app_config_apply_one() {
|
|||
bind_after="$(echo "${bind_key_}" | cut -d'>' -f1)"
|
||||
bind_key_="$(echo "${bind_key_}" | cut -d'>' -f2)"
|
||||
fi
|
||||
local bind_file="$(echo "$bind" | cut -d: -f2 | sed s@__FINALPATH__@$final_path@ | sed s/__APP__/$app/)"
|
||||
local bind_file="$(echo "$bind" | cut -d: -f2 | sed s@__INSTALL_DIR__@$install_dir@ | sed s@__FINALPATH__@$final_path@ | sed s/__APP__/$app/)"
|
||||
|
||||
ynh_backup_if_checksum_is_different --file="$bind_file"
|
||||
ynh_write_var_in_file --file="${bind_file}" --key="${bind_key_}" --value="${!short_setting}" --after="${bind_after}"
|
||||
|
@ -285,6 +285,18 @@ ynh_app_config_apply() {
|
|||
_ynh_app_config_apply
|
||||
}
|
||||
|
||||
ynh_app_action_run() {
|
||||
local runner="run__$1"
|
||||
# Get value from getter if exists
|
||||
if type -t "$runner" 2>/dev/null | grep -q '^function$' 2>/dev/null; then
|
||||
$runner
|
||||
#ynh_return "result:"
|
||||
#ynh_return "$(echo "${result}" | sed 's/^/ /g')"
|
||||
else
|
||||
ynh_die "No handler defined in app's script for action $1. If you are the maintainer of this app, you should define '$runner'"
|
||||
fi
|
||||
}
|
||||
|
||||
ynh_app_config_run() {
|
||||
declare -Ag old=()
|
||||
declare -Ag changed=()
|
||||
|
@ -309,5 +321,7 @@ ynh_app_config_run() {
|
|||
ynh_app_config_apply
|
||||
ynh_script_progression --message="Configuration of $app completed" --last
|
||||
;;
|
||||
*)
|
||||
ynh_app_action_run $1
|
||||
esac
|
||||
}
|
||||
|
|
|
@ -99,8 +99,8 @@ ignoreregex =
|
|||
" >$YNH_APP_BASEDIR/conf/f2b_filter.conf
|
||||
fi
|
||||
|
||||
ynh_add_config --template="$YNH_APP_BASEDIR/conf/f2b_jail.conf" --destination="/etc/fail2ban/jail.d/$app.conf"
|
||||
ynh_add_config --template="$YNH_APP_BASEDIR/conf/f2b_filter.conf" --destination="/etc/fail2ban/filter.d/$app.conf"
|
||||
ynh_add_config --template="f2b_jail.conf" --destination="/etc/fail2ban/jail.d/$app.conf"
|
||||
ynh_add_config --template="f2b_filter.conf" --destination="/etc/fail2ban/filter.d/$app.conf"
|
||||
|
||||
ynh_systemd_action --service_name=fail2ban --action=reload --line_match="(Started|Reloaded) Fail2Ban Service" --log_path=systemd
|
||||
|
||||
|
|
|
@ -30,8 +30,8 @@ ynh_get_ram() {
|
|||
ram=0
|
||||
# Use the total amount of ram
|
||||
elif [ $free -eq 1 ]; then
|
||||
local free_ram=$(LANG=C vmstat --stats --unit M | grep "free memory" | awk '{print $1}')
|
||||
local free_swap=$(LANG=C vmstat --stats --unit M | grep "free swap" | awk '{print $1}')
|
||||
local free_ram=$(LC_ALL=C vmstat --stats --unit M | grep "free memory" | awk '{print $1}')
|
||||
local free_swap=$(LC_ALL=C vmstat --stats --unit M | grep "free swap" | awk '{print $1}')
|
||||
local free_ram_swap=$((free_ram + free_swap))
|
||||
|
||||
# Use the total amount of free ram
|
||||
|
@ -44,8 +44,8 @@ ynh_get_ram() {
|
|||
ram=$free_swap
|
||||
fi
|
||||
elif [ $total -eq 1 ]; then
|
||||
local total_ram=$(LANG=C vmstat --stats --unit M | grep "total memory" | awk '{print $1}')
|
||||
local total_swap=$(LANG=C vmstat --stats --unit M | grep "total swap" | awk '{print $1}')
|
||||
local total_ram=$(LC_ALL=C vmstat --stats --unit M | grep "total memory" | awk '{print $1}')
|
||||
local total_swap=$(LC_ALL=C vmstat --stats --unit M | grep "total swap" | awk '{print $1}')
|
||||
local total_ram_swap=$((total_ram + total_swap))
|
||||
|
||||
local ram=$total_ram_swap
|
||||
|
|
|
@ -308,8 +308,8 @@ ynh_script_progression() {
|
|||
local progression_bar="${progress_string2:0:$effective_progression}${progress_string1:0:$expected_progression}${progress_string0:0:$left_progression}"
|
||||
|
||||
local print_exec_time=""
|
||||
if [ $time -eq 1 ]; then
|
||||
print_exec_time=" [$(date +%Hh%Mm,%Ss --date="0 + $exec_time sec")]"
|
||||
if [ $time -eq 1 ] && [ "$exec_time" -gt 10 ]; then
|
||||
print_exec_time=" [$(bc <<< "scale=1; $exec_time / 60" ) minutes]"
|
||||
fi
|
||||
|
||||
ynh_print_info "[$progression_bar] > ${message}${print_exec_time}"
|
||||
|
|
|
@ -16,10 +16,27 @@
|
|||
# Requires YunoHost version 2.6.4 or higher.
|
||||
# Requires YunoHost version 3.2.0 or higher for the argument `--specific_user`
|
||||
ynh_use_logrotate() {
|
||||
|
||||
# Stupid patch to remplace --non-append by --nonappend
|
||||
# Because for some reason --non-append was supposed to be legacy
|
||||
# (why is it legacy ? Idk maybe because getopts cant parse args with - in their names..)
|
||||
# but there was no good communication about this, and now --non-append
|
||||
# is still the most-used option, yet it was parsed with batshit stupid code
|
||||
# So instead this loops over the positional args, and replace --non-append
|
||||
# with --nonappend so it's transperent for the rest of the function...
|
||||
local all_args=( ${@} )
|
||||
for I in $(seq 0 $(($# - 1)))
|
||||
do
|
||||
if [[ "${all_args[$I]}" == "--non-append" ]]
|
||||
then
|
||||
all_args[$I]="--nonappend"
|
||||
fi
|
||||
done
|
||||
set -- "${all_args[@]}"
|
||||
|
||||
# Declare an array to define the options of this helper.
|
||||
local legacy_args=lnuya
|
||||
local -A args_array=([l]=logfile= [n]=nonappend [u]=specific_user= [y]=non [a]=append)
|
||||
# [y]=non [a]=append are only for legacy purpose, to not fail on the old option '--non-append'
|
||||
local legacy_args=lnu
|
||||
local -A args_array=([l]=logfile= [n]=nonappend [u]=specific_user=)
|
||||
local logfile
|
||||
local nonappend
|
||||
local specific_user
|
||||
|
@ -30,14 +47,6 @@ ynh_use_logrotate() {
|
|||
specific_user="${specific_user:-}"
|
||||
|
||||
# LEGACY CODE - PRE GETOPTS
|
||||
if [ $# -gt 0 ] && [ "$1" == "--non-append" ]; then
|
||||
nonappend=1
|
||||
# Destroy this argument for the next command.
|
||||
shift
|
||||
elif [ $# -gt 1 ] && [ "$2" == "--non-append" ]; then
|
||||
nonappend=1
|
||||
fi
|
||||
|
||||
if [ $# -gt 0 ] && [ "$(echo ${1:0:1})" != "-" ]; then
|
||||
# If the given logfile parameter already exists as a file, or if it ends up with ".log",
|
||||
# we just want to manage a single file
|
||||
|
|
|
@ -48,7 +48,7 @@ ynh_multimedia_build_main_dir() {
|
|||
# Application de la même règle que précédemment, mais par défaut pour les nouveaux fichiers.
|
||||
setfacl -RnL -m d:g:$MEDIA_GROUP:rwX,g::rwX,o:r-X "$MEDIA_DIRECTORY"
|
||||
# Réglage du masque par défaut. Qui garantie (en principe...) un droit maximal à rwx. Donc pas de restriction de droits par l'acl.
|
||||
setfacl -RL -m m::rwx "$MEDIA_DIRECTORY"
|
||||
setfacl -RL -m m::rwx "$MEDIA_DIRECTORY" || true
|
||||
}
|
||||
|
||||
# Add a directory in yunohost.multimedia
|
||||
|
|
|
@ -133,7 +133,7 @@ ynh_mysql_dump_db() {
|
|||
# Manage arguments with getopts
|
||||
ynh_handle_getopts_args "$@"
|
||||
|
||||
mysqldump --single-transaction --skip-dump-date "$database"
|
||||
mysqldump --single-transaction --skip-dump-date --routines "$database"
|
||||
}
|
||||
|
||||
# Create a user
|
||||
|
|
|
@ -20,7 +20,7 @@ ynh_add_nginx_config() {
|
|||
|
||||
local finalnginxconf="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
|
||||
ynh_add_config --template="$YNH_APP_BASEDIR/conf/nginx.conf" --destination="$finalnginxconf"
|
||||
ynh_add_config --template="nginx.conf" --destination="$finalnginxconf"
|
||||
|
||||
if [ "${path_url:-}" != "/" ]; then
|
||||
ynh_replace_string --match_string="^#sub_path_only" --replace_string="" --target_file="$finalnginxconf"
|
||||
|
@ -42,3 +42,37 @@ ynh_remove_nginx_config() {
|
|||
ynh_secure_remove --file="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
ynh_systemd_action --service_name=nginx --action=reload
|
||||
}
|
||||
|
||||
|
||||
# Move / regen the nginx config in a change url context
|
||||
#
|
||||
# usage: ynh_change_url_nginx_config
|
||||
#
|
||||
# Requires YunoHost version 11.1.9 or higher.
|
||||
ynh_change_url_nginx_config() {
|
||||
local old_nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf
|
||||
local new_nginx_conf_path=/etc/nginx/conf.d/$new_domain.d/$app.conf
|
||||
|
||||
# Change the path in the NGINX config file
|
||||
if [ $change_path -eq 1 ]
|
||||
then
|
||||
# Make a backup of the original NGINX config file if modified
|
||||
ynh_backup_if_checksum_is_different --file="$old_nginx_conf_path"
|
||||
# Set global variables for NGINX helper
|
||||
domain="$old_domain"
|
||||
path="$new_path"
|
||||
path_url="$new_path"
|
||||
# Create a dedicated NGINX config
|
||||
ynh_add_nginx_config
|
||||
fi
|
||||
|
||||
# Change the domain for NGINX
|
||||
if [ $change_domain -eq 1 ]
|
||||
then
|
||||
ynh_delete_file_checksum --file="$old_nginx_conf_path"
|
||||
mv "$old_nginx_conf_path" "$new_nginx_conf_path"
|
||||
ynh_store_file_checksum --file="$new_nginx_conf_path"
|
||||
fi
|
||||
ynh_systemd_action --service_name=nginx --action=reload
|
||||
}
|
||||
|
||||
|
|
|
@ -1,32 +1,10 @@
|
|||
#!/bin/bash
|
||||
|
||||
n_version=8.2.0
|
||||
n_checksum=75efd9e583836f3e6cc6d793df1501462fdceeb3460d5a2dbba99993997383b9
|
||||
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.
|
||||
export N_PREFIX="$n_install_dir"
|
||||
|
||||
# Install Node version management
|
||||
#
|
||||
# [internal]
|
||||
#
|
||||
# usage: ynh_install_n
|
||||
#
|
||||
# Requires YunoHost version 2.7.12 or higher.
|
||||
ynh_install_n() {
|
||||
# Build an app.src for n
|
||||
echo "SOURCE_URL=https://github.com/tj/n/archive/v${n_version}.tar.gz
|
||||
SOURCE_SUM=${n_checksum}" >"$YNH_APP_BASEDIR/conf/n.src"
|
||||
# Download and extract n
|
||||
ynh_setup_source --dest_dir="$n_install_dir/git" --source_id=n
|
||||
# Install n
|
||||
(
|
||||
cd "$n_install_dir/git"
|
||||
PREFIX=$N_PREFIX make install 2>&1
|
||||
)
|
||||
}
|
||||
|
||||
# Load the version of node for an app, and set variables.
|
||||
#
|
||||
# usage: ynh_use_nodejs
|
||||
|
@ -133,14 +111,10 @@ ynh_install_nodejs() {
|
|||
test -x /usr/bin/node && mv /usr/bin/node /usr/bin/node_n
|
||||
test -x /usr/bin/npm && mv /usr/bin/npm /usr/bin/npm_n
|
||||
|
||||
# If n is not previously setup, install it
|
||||
if ! $n_install_dir/bin/n --version >/dev/null 2>&1; then
|
||||
ynh_install_n
|
||||
elif dpkg --compare-versions "$($n_install_dir/bin/n --version)" lt $n_version; then
|
||||
ynh_install_n
|
||||
fi
|
||||
|
||||
# Modify the default N_PREFIX in n script
|
||||
# Install (or update if YunoHost vendor/ folder updated since last install) n
|
||||
mkdir -p $n_install_dir/bin/
|
||||
cp /usr/share/yunohost/helpers.d/vendor/n/n $n_install_dir/bin/n
|
||||
# Tweak for n to understand it's installed in $N_PREFIX
|
||||
ynh_replace_string --match_string="^N_PREFIX=\${N_PREFIX-.*}$" --replace_string="N_PREFIX=\${N_PREFIX-$N_PREFIX}" --target_file="$n_install_dir/bin/n"
|
||||
|
||||
# Restore /usr/local/bin in PATH
|
||||
|
|
50
helpers/php
50
helpers/php
|
@ -57,6 +57,7 @@ YNH_PHP_VERSION=${YNH_PHP_VERSION:-$YNH_DEFAULT_PHP_VERSION}
|
|||
#
|
||||
# Requires YunoHost version 4.1.0 or higher.
|
||||
ynh_add_fpm_config() {
|
||||
local _globalphpversion=${phpversion-:}
|
||||
# Declare an array to define the options of this helper.
|
||||
local legacy_args=vtufpd
|
||||
local -A args_array=([v]=phpversion= [t]=use_template [u]=usage= [f]=footprint= [p]=package= [d]=dedicated_service)
|
||||
|
@ -81,11 +82,16 @@ ynh_add_fpm_config() {
|
|||
dedicated_service=${dedicated_service:-0}
|
||||
|
||||
# Set the default PHP-FPM version by default
|
||||
phpversion="${phpversion:-$YNH_PHP_VERSION}"
|
||||
if dpkg --compare-versions ${YNH_APP_PACKAGING_FORMAT:-0} lt 2; then
|
||||
phpversion="${phpversion:-$YNH_PHP_VERSION}"
|
||||
else
|
||||
phpversion="${phpversion:-$_globalphpversion}"
|
||||
fi
|
||||
|
||||
local old_phpversion=$(ynh_app_setting_get --app=$app --key=phpversion)
|
||||
|
||||
# If the PHP version changed, remove the old fpm conf
|
||||
# (NB: This stuff is also handled by the apt helper, which is usually triggered before this helper)
|
||||
if [ -n "$old_phpversion" ] && [ "$old_phpversion" != "$phpversion" ]; then
|
||||
local old_php_fpm_config_dir=$(ynh_app_setting_get --app=$app --key=fpm_config_dir)
|
||||
local old_php_finalphpconf="$old_php_fpm_config_dir/pool.d/$app.conf"
|
||||
|
@ -100,6 +106,7 @@ ynh_add_fpm_config() {
|
|||
# Legacy args (packager should just list their php dependency as regular apt dependencies...
|
||||
if [ -n "$package" ]; then
|
||||
# Install the additionnal packages from the default repository
|
||||
ynh_print_warn --message "Argument --package of ynh_add_fpm_config is deprecated and to be removed in the future"
|
||||
ynh_install_app_dependencies "$package"
|
||||
fi
|
||||
|
||||
|
@ -156,7 +163,7 @@ ynh_add_fpm_config() {
|
|||
user = __APP__
|
||||
group = __APP__
|
||||
|
||||
chdir = __FINALPATH__
|
||||
chdir = __INSTALL_DIR__
|
||||
|
||||
listen = /var/run/php/php__PHPVERSION__-fpm-__APP__.sock
|
||||
listen.owner = www-data
|
||||
|
@ -192,7 +199,7 @@ pm.process_idle_timeout = 10s
|
|||
|
||||
if [ -e "$YNH_APP_BASEDIR/conf/php-fpm.ini" ]; then
|
||||
ynh_print_warn --message="Packagers ! Please do not use a separate php ini file, merge your directives in the pool file instead."
|
||||
ynh_add_config --template="$YNH_APP_BASEDIR/conf/php-fpm.ini" --destination="$fpm_config_dir/conf.d/20-$app.ini"
|
||||
ynh_add_config --template="php-fpm.ini" --destination="$fpm_config_dir/conf.d/20-$app.ini"
|
||||
fi
|
||||
|
||||
if [ $dedicated_service -eq 1 ]; then
|
||||
|
@ -206,7 +213,7 @@ syslog.ident = php-fpm-__APP__
|
|||
include = __FINALPHPCONF__
|
||||
" >$YNH_APP_BASEDIR/conf/php-fpm-$app.conf
|
||||
|
||||
ynh_add_config --template="$YNH_APP_BASEDIR/conf/php-fpm-$app.conf" --destination="$globalphpconf"
|
||||
ynh_add_config --template="php-fpm-$app.conf" --destination="$globalphpconf"
|
||||
|
||||
# Create a config for a dedicated PHP-FPM service for the app
|
||||
echo "[Unit]
|
||||
|
@ -283,7 +290,7 @@ ynh_remove_fpm_config() {
|
|||
# If the PHP version used is not the default version for YunoHost
|
||||
# The second part with YNH_APP_PURGE is an ugly hack to guess that we're inside the remove script
|
||||
# (we don't actually care about its value, we just check its not empty hence it exists)
|
||||
if [ "$phpversion" != "$YNH_DEFAULT_PHP_VERSION" ] && [ -n "${YNH_APP_PURGE:-}" ]; then
|
||||
if [ "$phpversion" != "$YNH_DEFAULT_PHP_VERSION" ] && [ -n "${YNH_APP_PURGE:-}" ] && dpkg --compare-versions ${YNH_APP_PACKAGING_FORMAT:-0} lt 2; then
|
||||
# Remove app dependencies ... but ideally should happen via an explicit call from packager
|
||||
ynh_remove_app_dependencies
|
||||
fi
|
||||
|
@ -474,13 +481,14 @@ YNH_COMPOSER_VERSION=${YNH_COMPOSER_VERSION:-$YNH_DEFAULT_COMPOSER_VERSION}
|
|||
|
||||
# Execute a command with Composer
|
||||
#
|
||||
# usage: ynh_composer_exec [--phpversion=phpversion] [--workdir=$final_path] --commands="commands"
|
||||
# usage: ynh_composer_exec [--phpversion=phpversion] [--workdir=$install_dir] --commands="commands"
|
||||
# | arg: -v, --phpversion - PHP version to use with composer
|
||||
# | arg: -w, --workdir - The directory from where the command will be executed. Default $final_path.
|
||||
# | arg: -w, --workdir - The directory from where the command will be executed. Default $install_dir or $final_path
|
||||
# | arg: -c, --commands - Commands to execute.
|
||||
#
|
||||
# Requires YunoHost version 4.2 or higher.
|
||||
ynh_composer_exec() {
|
||||
local _globalphpversion=${phpversion-:}
|
||||
# Declare an array to define the options of this helper.
|
||||
local legacy_args=vwc
|
||||
declare -Ar args_array=([v]=phpversion= [w]=workdir= [c]=commands=)
|
||||
|
@ -489,8 +497,13 @@ ynh_composer_exec() {
|
|||
local commands
|
||||
# Manage arguments with getopts
|
||||
ynh_handle_getopts_args "$@"
|
||||
workdir="${workdir:-$final_path}"
|
||||
phpversion="${phpversion:-$YNH_PHP_VERSION}"
|
||||
workdir="${workdir:-${install_dir:-$final_path}}"
|
||||
|
||||
if dpkg --compare-versions ${YNH_APP_PACKAGING_FORMAT:-0} lt 2; then
|
||||
phpversion="${phpversion:-$YNH_PHP_VERSION}"
|
||||
else
|
||||
phpversion="${phpversion:-$_globalphpversion}"
|
||||
fi
|
||||
|
||||
COMPOSER_HOME="$workdir/.composer" COMPOSER_MEMORY_LIMIT=-1 \
|
||||
php${phpversion} "$workdir/composer.phar" $commands \
|
||||
|
@ -499,14 +512,15 @@ ynh_composer_exec() {
|
|||
|
||||
# Install and initialize Composer in the given directory
|
||||
#
|
||||
# usage: ynh_install_composer [--phpversion=phpversion] [--workdir=$final_path] [--install_args="--optimize-autoloader"] [--composerversion=composerversion]
|
||||
# usage: ynh_install_composer [--phpversion=phpversion] [--workdir=$install_dir] [--install_args="--optimize-autoloader"] [--composerversion=composerversion]
|
||||
# | arg: -v, --phpversion - PHP version to use with composer
|
||||
# | arg: -w, --workdir - The directory from where the command will be executed. Default $final_path.
|
||||
# | arg: -w, --workdir - The directory from where the command will be executed. Default $install_dir.
|
||||
# | arg: -a, --install_args - Additional arguments provided to the composer install. Argument --no-dev already include
|
||||
# | arg: -c, --composerversion - Composer version to install
|
||||
#
|
||||
# Requires YunoHost version 4.2 or higher.
|
||||
ynh_install_composer() {
|
||||
local _globalphpversion=${phpversion-:}
|
||||
# Declare an array to define the options of this helper.
|
||||
local legacy_args=vwac
|
||||
declare -Ar args_array=([v]=phpversion= [w]=workdir= [a]=install_args= [c]=composerversion=)
|
||||
|
@ -516,8 +530,18 @@ ynh_install_composer() {
|
|||
local composerversion
|
||||
# Manage arguments with getopts
|
||||
ynh_handle_getopts_args "$@"
|
||||
workdir="${workdir:-$final_path}"
|
||||
phpversion="${phpversion:-$YNH_PHP_VERSION}"
|
||||
if dpkg --compare-versions ${YNH_APP_PACKAGING_FORMAT:-0} lt 2; then
|
||||
workdir="${workdir:-$final_path}"
|
||||
else
|
||||
workdir="${workdir:-$install_dir}"
|
||||
fi
|
||||
|
||||
if dpkg --compare-versions ${YNH_APP_PACKAGING_FORMAT:-0} lt 2; then
|
||||
phpversion="${phpversion:-$YNH_PHP_VERSION}"
|
||||
else
|
||||
phpversion="${phpversion:-$_globalphpversion}"
|
||||
fi
|
||||
|
||||
install_args="${install_args:-}"
|
||||
composerversion="${composerversion:-$YNH_COMPOSER_VERSION}"
|
||||
|
||||
|
|
|
@ -195,7 +195,13 @@ ynh_psql_database_exists() {
|
|||
# Manage arguments with getopts
|
||||
ynh_handle_getopts_args "$@"
|
||||
|
||||
if ! sudo --login --user=postgres PGUSER="postgres" PGPASSWORD="$(cat $PSQL_ROOT_PWD_FILE)" psql -tAc "SELECT datname FROM pg_database WHERE datname='$database';" | grep --quiet "$database"; then
|
||||
# if psql is not there, we cannot check the db
|
||||
# though it could exists.
|
||||
if ! command -v psql
|
||||
then
|
||||
ynh_print_err -m "PostgreSQL is not installed, impossible to check for db existence."
|
||||
return 1
|
||||
elif ! sudo --login --user=postgres PGUSER="postgres" PGPASSWORD="$(cat $PSQL_ROOT_PWD_FILE)" psql -tAc "SELECT datname FROM pg_database WHERE datname='$database';" | grep --quiet "$database"; then
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
|
|
|
@ -48,7 +48,7 @@ ynh_replace_string() {
|
|||
ynh_handle_getopts_args "$@"
|
||||
set +o xtrace # set +x
|
||||
|
||||
local delimit=@
|
||||
local delimit=$'\001'
|
||||
# Escape the delimiter if it's in the string.
|
||||
match_string=${match_string//${delimit}/"\\${delimit}"}
|
||||
replace_string=${replace_string//${delimit}/"\\${delimit}"}
|
||||
|
|
|
@ -23,7 +23,7 @@ ynh_add_systemd_config() {
|
|||
service="${service:-$app}"
|
||||
template="${template:-systemd.service}"
|
||||
|
||||
ynh_add_config --template="$YNH_APP_BASEDIR/conf/$template" --destination="/etc/systemd/system/$service.service"
|
||||
ynh_add_config --template="$template" --destination="/etc/systemd/system/$service.service"
|
||||
|
||||
systemctl enable $service --quiet
|
||||
systemctl daemon-reload
|
||||
|
@ -61,7 +61,7 @@ ynh_remove_systemd_config() {
|
|||
# | arg: -l, --line_match= - Line to match - The line to find in the log to attest the service have finished to boot. If not defined it don't wait until the service is completely started.
|
||||
# | arg: -p, --log_path= - Log file - Path to the log file. Default : `/var/log/$app/$app.log`
|
||||
# | arg: -t, --timeout= - Timeout - The maximum time to wait before ending the watching. Default : 300 seconds.
|
||||
# | arg: -e, --length= - Length of the error log : Default : 20
|
||||
# | arg: -e, --length= - Length of the error log displayed for debugging : Default : 20
|
||||
#
|
||||
# Requires YunoHost version 3.5.0 or higher.
|
||||
ynh_systemd_action() {
|
||||
|
@ -110,6 +110,8 @@ ynh_systemd_action() {
|
|||
action="reload-or-restart"
|
||||
fi
|
||||
|
||||
local time_start="$(date --utc --rfc-3339=seconds | cut -d+ -f1) UTC"
|
||||
|
||||
# If the service fails to perform the action
|
||||
if ! systemctl $action $service_name; then
|
||||
# Show syslog for this service
|
||||
|
@ -128,9 +130,17 @@ ynh_systemd_action() {
|
|||
local i=0
|
||||
for i in $(seq 1 $timeout); do
|
||||
# Read the log until the sentence is found, that means the app finished to start. Or run until the timeout
|
||||
if grep --extended-regexp --quiet "$line_match" "$templog"; then
|
||||
ynh_print_info --message="The service $service_name has correctly executed the action ${action}."
|
||||
break
|
||||
if [ "$log_path" == "systemd" ]; then
|
||||
# For systemd services, we in fact dont rely on the templog, which for some reason is not reliable, but instead re-read journalctl every iteration, starting at the timestamp where we triggered the action
|
||||
if journalctl --unit=$service_name --since="$time_start" --quiet --no-pager --no-hostname | grep --extended-regexp --quiet "$line_match"; then
|
||||
ynh_print_info --message="The service $service_name has correctly executed the action ${action}."
|
||||
break
|
||||
fi
|
||||
else
|
||||
if grep --extended-regexp --quiet "$line_match" "$templog"; then
|
||||
ynh_print_info --message="The service $service_name has correctly executed the action ${action}."
|
||||
break
|
||||
fi
|
||||
fi
|
||||
if [ $i -eq 30 ]; then
|
||||
echo "(this may take some time)" >&2
|
||||
|
|
303
helpers/utils
303
helpers/utils
|
@ -22,7 +22,10 @@ YNH_APP_BASEDIR=${YNH_APP_BASEDIR:-$(realpath ..)}
|
|||
ynh_exit_properly() {
|
||||
local exit_code=$?
|
||||
|
||||
rm -rf "/var/cache/yunohost/download/"
|
||||
if [[ "${YNH_APP_ACTION:-}" =~ ^install$|^upgrade$|^restore$ ]]
|
||||
then
|
||||
rm -rf "/var/cache/yunohost/download/"
|
||||
fi
|
||||
|
||||
if [ "$exit_code" -eq 0 ]; then
|
||||
exit 0 # Exit without error if the script ended correctly
|
||||
|
@ -61,40 +64,89 @@ ynh_abort_if_errors() {
|
|||
trap ynh_exit_properly EXIT # Capturing exit signals on shell script
|
||||
}
|
||||
|
||||
# When running an app script with packaging format >= 2, auto-enable ynh_abort_if_errors except for remove script
|
||||
if [[ "${YNH_CONTEXT:-}" != "regenconf" ]] && dpkg --compare-versions ${YNH_APP_PACKAGING_FORMAT:-0} ge 2 && [[ ${YNH_APP_ACTION} != "remove" ]]
|
||||
then
|
||||
ynh_abort_if_errors
|
||||
fi
|
||||
|
||||
# Download, check integrity, uncompress and patch the source from app.src
|
||||
#
|
||||
# usage: ynh_setup_source --dest_dir=dest_dir [--source_id=source_id] [--keep="file1 file2"]
|
||||
# | arg: -d, --dest_dir= - Directory where to setup sources
|
||||
# | arg: -s, --source_id= - Name of the source, defaults to `app`
|
||||
# | arg: -k, --keep= - Space-separated list of files/folders that will be backup/restored in $dest_dir, such as a config file you don't want to overwrite. For example 'conf.json secrets.json logs/'
|
||||
# usage: ynh_setup_source --dest_dir=dest_dir [--source_id=source_id] [--keep="file1 file2"] [--full_replace]
|
||||
# | arg: -d, --dest_dir= - Directory where to setup sources
|
||||
# | arg: -s, --source_id= - Name of the source, defaults to `main` (when the sources resource exists in manifest.toml) or (legacy) `app` otherwise
|
||||
# | arg: -k, --keep= - Space-separated list of files/folders that will be backup/restored in $dest_dir, such as a config file you don't want to overwrite. For example 'conf.json secrets.json logs/'
|
||||
# | arg: -r, --full_replace= - Remove previous sources before installing new sources
|
||||
#
|
||||
# #### New 'sources' resources
|
||||
#
|
||||
# (See also the resources documentation which may be more complete?)
|
||||
#
|
||||
# This helper will read infos from the 'sources' resources in the manifest.toml of the app
|
||||
# and expect a structure like:
|
||||
#
|
||||
# ```toml
|
||||
# [resources.sources]
|
||||
# [resources.sources.main]
|
||||
# url = "https://some.address.to/download/the/app/archive"
|
||||
# sha256 = "0123456789abcdef" # The sha256 sum of the asset obtained from the URL
|
||||
# ```
|
||||
#
|
||||
# ##### Optional flags
|
||||
#
|
||||
# ```text
|
||||
# format = "tar.gz"/xz/bz2 # automatically guessed from the extension of the URL, but can be set explicitly. Will use `tar` to extract
|
||||
# "zip" # automatically guessed from the extension of the URL, but can be set explicitly. Will use `unzip` to extract
|
||||
# "docker" # useful to extract files from an already-built docker image (instead of rebuilding them locally). Will use `docker-image-extract` to extract
|
||||
# "whatever" # an arbitrary value, not really meaningful except to imply that the file won't be extracted
|
||||
#
|
||||
# in_subdir = true # default, there's an intermediate subdir in the archive before accessing the actual files
|
||||
# false # sources are directly in the archive root
|
||||
# n # (special cases) an integer representing a number of subdirs levels to get rid of
|
||||
#
|
||||
# extract = true # default if file is indeed an archive such as .zip, .tar.gz, .tar.bz2, ...
|
||||
# = false # default if file 'format' is not set and the file is not to be extracted because it is not an archive but a script or binary or whatever asset.
|
||||
# # in which case the file will only be `mv`ed to the location possibly renamed using the `rename` value
|
||||
#
|
||||
# rename = "whatever_your_want" # to be used for convenience when `extract` is false and the default name of the file is not practical
|
||||
# platform = "linux/amd64" # (defaults to "linux/$YNH_ARCH") to be used in conjonction with `format = "docker"` to specify which architecture to extract for
|
||||
# ```
|
||||
#
|
||||
# You may also define assets url and checksum per-architectures such as:
|
||||
# ```toml
|
||||
# [resources.sources]
|
||||
# [resources.sources.main]
|
||||
# amd64.url = "https://some.address.to/download/the/app/archive/when/amd64"
|
||||
# amd64.sha256 = "0123456789abcdef"
|
||||
# armhf.url = "https://some.address.to/download/the/app/archive/when/armhf"
|
||||
# armhf.sha256 = "fedcba9876543210"
|
||||
# ```
|
||||
#
|
||||
# In which case ynh_setup_source --dest_dir="$install_dir" will automatically pick the appropriate source depending on the arch
|
||||
#
|
||||
#
|
||||
#
|
||||
# #### Legacy format '.src'
|
||||
#
|
||||
# This helper will read `conf/${source_id}.src`, download and install the sources.
|
||||
#
|
||||
# The src file need to contains:
|
||||
# ```
|
||||
# SOURCE_URL=Address to download the app archive
|
||||
# SOURCE_SUM=Control sum
|
||||
# # (Optional) Program to check the integrity (sha256sum, md5sum...). Default: sha256
|
||||
# SOURCE_SUM_PRG=sha256
|
||||
# # (Optional) Archive format. Default: tar.gz
|
||||
# SOURCE_SUM=Sha256 sum
|
||||
# SOURCE_FORMAT=tar.gz
|
||||
# # (Optional) Put false if sources are directly in the archive root. Default: true
|
||||
# # Instead of true, SOURCE_IN_SUBDIR could be the number of sub directories to remove.
|
||||
# SOURCE_IN_SUBDIR=false
|
||||
# # (Optionnal) Name of the local archive (offline setup support). Default: ${src_id}.${src_format}
|
||||
# SOURCE_FILENAME=example.tar.gz
|
||||
# # (Optional) If it set as false don't extract the source. Default: true
|
||||
# # (Useful to get a debian package or a python wheel.)
|
||||
# SOURCE_EXTRACT=(true|false)
|
||||
# SOURCE_PLATFORM=linux/arm64/v8
|
||||
# ```
|
||||
#
|
||||
# The helper will:
|
||||
# - Check if there is a local source archive in `/opt/yunohost-apps-src/$APP_ID/$SOURCE_FILENAME`
|
||||
# - Download `$SOURCE_URL` if there is no local archive
|
||||
# - Check the integrity with `$SOURCE_SUM_PRG -c --status`
|
||||
# - Download the specific URL if there is no local archive
|
||||
# - Check the integrity with the specific sha256 sum
|
||||
# - Uncompress the archive to `$dest_dir`.
|
||||
# - If `$SOURCE_IN_SUBDIR` is true, the first level directory of the archive will be removed.
|
||||
# - If `$SOURCE_IN_SUBDIR` is a numeric value, the N first level directories will be removed.
|
||||
# - If `in_subdir` is true, the first level directory of the archive will be removed.
|
||||
# - If `in_subdir` is a numeric value, the N first level directories will be removed.
|
||||
# - Patches named `sources/patches/${src_id}-*.patch` will be applied to `$dest_dir`
|
||||
# - Extra files in `sources/extra_files/$src_id` will be copied to dest_dir
|
||||
#
|
||||
|
@ -102,26 +154,73 @@ ynh_abort_if_errors() {
|
|||
ynh_setup_source() {
|
||||
# Declare an array to define the options of this helper.
|
||||
local legacy_args=dsk
|
||||
local -A args_array=([d]=dest_dir= [s]=source_id= [k]=keep=)
|
||||
local -A args_array=([d]=dest_dir= [s]=source_id= [k]=keep= [r]=full_replace=)
|
||||
local dest_dir
|
||||
local source_id
|
||||
local keep
|
||||
local full_replace
|
||||
# Manage arguments with getopts
|
||||
ynh_handle_getopts_args "$@"
|
||||
source_id="${source_id:-app}"
|
||||
keep="${keep:-}"
|
||||
full_replace="${full_replace:-0}"
|
||||
|
||||
local src_file_path="$YNH_APP_BASEDIR/conf/${source_id}.src"
|
||||
if test -e $YNH_APP_BASEDIR/manifest.toml && cat $YNH_APP_BASEDIR/manifest.toml | toml_to_json | jq -e '.resources.sources' >/dev/null
|
||||
then
|
||||
source_id="${source_id:-main}"
|
||||
local sources_json=$(cat $YNH_APP_BASEDIR/manifest.toml | toml_to_json | jq ".resources.sources[\"$source_id\"]")
|
||||
if jq -re ".url" <<< "$sources_json"
|
||||
then
|
||||
local arch_prefix=""
|
||||
else
|
||||
local arch_prefix=".$YNH_ARCH"
|
||||
fi
|
||||
|
||||
# Load value from configuration file (see above for a small doc about this file
|
||||
# format)
|
||||
local src_url=$(grep 'SOURCE_URL=' "$src_file_path" | cut --delimiter='=' --fields=2-)
|
||||
local src_sum=$(grep 'SOURCE_SUM=' "$src_file_path" | cut --delimiter='=' --fields=2-)
|
||||
local src_sumprg=$(grep 'SOURCE_SUM_PRG=' "$src_file_path" | cut --delimiter='=' --fields=2-)
|
||||
local src_format=$(grep 'SOURCE_FORMAT=' "$src_file_path" | cut --delimiter='=' --fields=2-)
|
||||
local src_extract=$(grep 'SOURCE_EXTRACT=' "$src_file_path" | cut --delimiter='=' --fields=2-)
|
||||
local src_in_subdir=$(grep 'SOURCE_IN_SUBDIR=' "$src_file_path" | cut --delimiter='=' --fields=2-)
|
||||
local src_filename=$(grep 'SOURCE_FILENAME=' "$src_file_path" | cut --delimiter='=' --fields=2-)
|
||||
local src_url="$(jq -r "$arch_prefix.url" <<< "$sources_json" | sed 's/^null$//')"
|
||||
local src_sum="$(jq -r "$arch_prefix.sha256" <<< "$sources_json" | sed 's/^null$//')"
|
||||
local src_sumprg="sha256sum"
|
||||
local src_format="$(jq -r ".format" <<< "$sources_json" | sed 's/^null$//')"
|
||||
local src_in_subdir="$(jq -r ".in_subdir" <<< "$sources_json" | sed 's/^null$//')"
|
||||
local src_extract="$(jq -r ".extract" <<< "$sources_json" | sed 's/^null$//')"
|
||||
local src_platform="$(jq -r ".platform" <<< "$sources_json" | sed 's/^null$//')"
|
||||
local src_rename="$(jq -r ".rename" <<< "$sources_json" | sed 's/^null$//')"
|
||||
|
||||
[[ -n "$src_url" ]] || ynh_die "No URL defined for source $source_id$arch_prefix ?"
|
||||
[[ -n "$src_sum" ]] || ynh_die "No sha256 sum defined for source $source_id$arch_prefix ?"
|
||||
|
||||
if [[ -z "$src_format" ]]
|
||||
then
|
||||
if [[ "$src_url" =~ ^.*\.zip$ ]] || [[ "$src_url" =~ ^.*/zipball/.*$ ]]
|
||||
then
|
||||
src_format="zip"
|
||||
elif [[ "$src_url" =~ ^.*\.tar\.gz$ ]] || [[ "$src_url" =~ ^.*\.tgz$ ]] || [[ "$src_url" =~ ^.*/tar\.gz/.*$ ]] || [[ "$src_url" =~ ^.*/tarball/.*$ ]]
|
||||
then
|
||||
src_format="tar.gz"
|
||||
elif [[ "$src_url" =~ ^.*\.tar\.xz$ ]]
|
||||
then
|
||||
src_format="tar.xz"
|
||||
elif [[ "$src_url" =~ ^.*\.tar\.bz2$ ]]
|
||||
then
|
||||
src_format="tar.bz2"
|
||||
elif [[ -z "$src_extract" ]]
|
||||
then
|
||||
src_extract="false"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
source_id="${source_id:-app}"
|
||||
local src_file_path="$YNH_APP_BASEDIR/conf/${source_id}.src"
|
||||
|
||||
# Load value from configuration file (see above for a small doc about this file
|
||||
# format)
|
||||
local src_url=$(grep 'SOURCE_URL=' "$src_file_path" | cut --delimiter='=' --fields=2-)
|
||||
local src_sum=$(grep 'SOURCE_SUM=' "$src_file_path" | cut --delimiter='=' --fields=2-)
|
||||
local src_sumprg=$(grep 'SOURCE_SUM_PRG=' "$src_file_path" | cut --delimiter='=' --fields=2-)
|
||||
local src_format=$(grep 'SOURCE_FORMAT=' "$src_file_path" | cut --delimiter='=' --fields=2-)
|
||||
local src_in_subdir=$(grep 'SOURCE_IN_SUBDIR=' "$src_file_path" | cut --delimiter='=' --fields=2-)
|
||||
local src_rename=$(grep 'SOURCE_FILENAME=' "$src_file_path" | cut --delimiter='=' --fields=2-)
|
||||
local src_extract=$(grep 'SOURCE_EXTRACT=' "$src_file_path" | cut --delimiter='=' --fields=2-)
|
||||
local src_platform=$(grep 'SOURCE_PLATFORM=' "$src_file_path" | cut --delimiter='=' --fields=2-)
|
||||
fi
|
||||
|
||||
# Default value
|
||||
src_sumprg=${src_sumprg:-sha256sum}
|
||||
|
@ -129,33 +228,54 @@ ynh_setup_source() {
|
|||
src_format=${src_format:-tar.gz}
|
||||
src_format=$(echo "$src_format" | tr '[:upper:]' '[:lower:]')
|
||||
src_extract=${src_extract:-true}
|
||||
if [ "$src_filename" = "" ]; then
|
||||
src_filename="${source_id}.${src_format}"
|
||||
|
||||
if [[ "$src_extract" != "true" ]] && [[ "$src_extract" != "false" ]]
|
||||
then
|
||||
ynh_die "For source $source_id, expected either 'true' or 'false' for the extract parameter"
|
||||
fi
|
||||
|
||||
|
||||
# (Unused?) mecanism where one can have the file in a special local cache to not have to download it...
|
||||
local local_src="/opt/yunohost-apps-src/${YNH_APP_ID}/${src_filename}"
|
||||
local local_src="/opt/yunohost-apps-src/${YNH_APP_ID}/${source_id}"
|
||||
|
||||
mkdir -p /var/cache/yunohost/download/${YNH_APP_ID}/
|
||||
src_filename="/var/cache/yunohost/download/${YNH_APP_ID}/${src_filename}"
|
||||
# Gotta use this trick with 'dirname' because source_id may contain slashes x_x
|
||||
mkdir -p $(dirname /var/cache/yunohost/download/${YNH_APP_ID}/${source_id})
|
||||
src_filename="/var/cache/yunohost/download/${YNH_APP_ID}/${source_id}"
|
||||
|
||||
if test -e "$local_src"; then
|
||||
if [ "$src_format" = "docker" ]; then
|
||||
src_platform="${src_platform:-"linux/$YNH_ARCH"}"
|
||||
elif test -e "$local_src"; then
|
||||
cp $local_src $src_filename
|
||||
else
|
||||
[ -n "$src_url" ] || ynh_die "Couldn't parse SOURCE_URL from $src_file_path ?"
|
||||
|
||||
# NB. we have to declare the var as local first,
|
||||
# otherwise 'local foo=$(false) || echo 'pwet'" does'nt work
|
||||
# because local always return 0 ...
|
||||
local out
|
||||
# Timeout option is here to enforce the timeout on dns query and tcp connect (c.f. man wget)
|
||||
out=$(wget --tries 3 --no-dns-cache --timeout 900 --no-verbose --output-document=$src_filename $src_url 2>&1) \
|
||||
|| ynh_die --message="$out"
|
||||
fi
|
||||
# If the file was prefetched but somehow doesn't match the sum, rm and redownload it
|
||||
if [ -e "$src_filename" ] && ! echo "${src_sum} ${src_filename}" | ${src_sumprg} --check --status
|
||||
then
|
||||
rm -f "$src_filename"
|
||||
fi
|
||||
|
||||
# Check the control sum
|
||||
echo "${src_sum} ${src_filename}" | ${src_sumprg} --check --status \
|
||||
|| ynh_die --message="Corrupt source"
|
||||
# Only redownload the file if it wasnt prefetched
|
||||
if [ ! -e "$src_filename" ]
|
||||
then
|
||||
# NB. we have to declare the var as local first,
|
||||
# otherwise 'local foo=$(false) || echo 'pwet'" does'nt work
|
||||
# because local always return 0 ...
|
||||
local out
|
||||
# Timeout option is here to enforce the timeout on dns query and tcp connect (c.f. man wget)
|
||||
out=$(wget --tries 3 --no-dns-cache --timeout 900 --no-verbose --output-document=$src_filename $src_url 2>&1) \
|
||||
|| ynh_die --message="$out"
|
||||
fi
|
||||
|
||||
# Check the control sum
|
||||
if ! echo "${src_sum} ${src_filename}" | ${src_sumprg} --check --status
|
||||
then
|
||||
local actual_sum="$(${src_sumprg} ${src_filename} | cut --delimiter=' ' --fields=1)"
|
||||
local actual_size="$(du -hs ${src_filename} | cut --fields=1)"
|
||||
rm -f ${src_filename}
|
||||
ynh_die --message="Corrupt source for ${src_url}: Expected sha256sum to be ${src_sum} but got ${actual_sum} (size: ${actual_size})."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Keep files to be backup/restored at the end of the helper
|
||||
# Assuming $dest_dir already exists
|
||||
|
@ -172,16 +292,30 @@ ynh_setup_source() {
|
|||
done
|
||||
fi
|
||||
|
||||
if [ "$full_replace" -eq 1 ]; then
|
||||
ynh_secure_remove --file="$dest_dir"
|
||||
fi
|
||||
|
||||
# Extract source into the app dir
|
||||
mkdir --parents "$dest_dir"
|
||||
|
||||
if [ -n "${install_dir:-}" ] && [ "$dest_dir" == "$install_dir" ]; then
|
||||
_ynh_apply_default_permissions $dest_dir
|
||||
fi
|
||||
if [ -n "${final_path:-}" ] && [ "$dest_dir" == "$final_path" ]; then
|
||||
_ynh_apply_default_permissions $dest_dir
|
||||
fi
|
||||
|
||||
if ! "$src_extract"; then
|
||||
mv $src_filename $dest_dir
|
||||
elif [ "$src_format" = "zip" ]; then
|
||||
if [[ "$src_extract" == "false" ]]; then
|
||||
if [[ -z "$src_rename" ]]
|
||||
then
|
||||
mv $src_filename $dest_dir
|
||||
else
|
||||
mv $src_filename $dest_dir/$src_rename
|
||||
fi
|
||||
elif [[ "$src_format" == "docker" ]]; then
|
||||
/usr/share/yunohost/helpers.d/vendor/docker-image-extract/docker-image-extract -p $src_platform -o $dest_dir $src_url 2>&1
|
||||
elif [[ "$src_format" == "zip" ]]; then
|
||||
# Zip format
|
||||
# Using of a temp directory, because unzip doesn't manage --strip-components
|
||||
if $src_in_subdir; then
|
||||
|
@ -311,7 +445,7 @@ ynh_local_curl() {
|
|||
# | arg: -d, --destination= - Destination of the config file
|
||||
#
|
||||
# examples:
|
||||
# ynh_add_config --template=".env" --destination="$final_path/.env" use the template file "../conf/.env"
|
||||
# ynh_add_config --template=".env" --destination="$install_dir/.env" use the template file "../conf/.env"
|
||||
# ynh_add_config --template="/etc/nginx/sites-available/default" --destination="etc/nginx/sites-available/mydomain.conf"
|
||||
#
|
||||
# The template can be by default the name of a file in the conf directory
|
||||
|
@ -326,7 +460,7 @@ ynh_local_curl() {
|
|||
# __NAMETOCHANGE__ by $app
|
||||
# __USER__ by $app
|
||||
# __FINALPATH__ by $final_path
|
||||
# __PHPVERSION__ by $YNH_PHP_VERSION
|
||||
# __PHPVERSION__ by $YNH_PHP_VERSION (packaging v1 only, packaging v2 uses phpversion setting implicitly set by apt resource)
|
||||
# __YNH_NODE_LOAD_PATH__ by $ynh_node_load_PATH
|
||||
# ```
|
||||
# And any dynamic variables that should be defined before calling this helper like:
|
||||
|
@ -395,7 +529,7 @@ ynh_add_config() {
|
|||
# __NAMETOCHANGE__ by $app
|
||||
# __USER__ by $app
|
||||
# __FINALPATH__ by $final_path
|
||||
# __PHPVERSION__ by $YNH_PHP_VERSION
|
||||
# __PHPVERSION__ by $YNH_PHP_VERSION (packaging v1 only, packaging v2 uses phpversion setting implicitly set by apt resource)
|
||||
# __YNH_NODE_LOAD_PATH__ by $ynh_node_load_PATH
|
||||
#
|
||||
# And any dynamic variables that should be defined before calling this helper like:
|
||||
|
@ -425,10 +559,13 @@ ynh_replace_vars() {
|
|||
ynh_replace_string --match_string="__NAMETOCHANGE__" --replace_string="$app" --target_file="$file"
|
||||
ynh_replace_string --match_string="__USER__" --replace_string="$app" --target_file="$file"
|
||||
fi
|
||||
# Legacy
|
||||
if test -n "${final_path:-}"; then
|
||||
ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="$file"
|
||||
ynh_replace_string --match_string="__INSTALL_DIR__" --replace_string="$final_path" --target_file="$file"
|
||||
fi
|
||||
if test -n "${YNH_PHP_VERSION:-}"; then
|
||||
# Legacy / Packaging v1 only
|
||||
if dpkg --compare-versions ${YNH_APP_PACKAGING_FORMAT:-0} lt 2 && test -n "${YNH_PHP_VERSION:-}"; then
|
||||
ynh_replace_string --match_string="__PHPVERSION__" --replace_string="$YNH_PHP_VERSION" --target_file="$file"
|
||||
fi
|
||||
if test -n "${ynh_node_load_PATH:-}"; then
|
||||
|
@ -513,7 +650,7 @@ ynh_read_var_in_file() {
|
|||
# Get the line number after which we search for the variable
|
||||
local line_number=1
|
||||
if [[ -n "$after" ]]; then
|
||||
line_number=$(grep -n $after $file | cut -d: -f1)
|
||||
line_number=$(grep -m1 -n $after $file | cut -d: -f1)
|
||||
if [[ -z "$line_number" ]]; then
|
||||
set -o xtrace # set -x
|
||||
return 1
|
||||
|
@ -543,7 +680,7 @@ ynh_read_var_in_file() {
|
|||
var_part+='\s*'
|
||||
|
||||
# Extract the part after assignation sign
|
||||
local expression_with_comment="$(tail +$line_number ${file} | grep -i -o -P $var_part'\K.*$' || echo YNH_NULL | head -n1)"
|
||||
local expression_with_comment="$((tail +$line_number ${file} | grep -i -o -P $var_part'\K.*$' || echo YNH_NULL) | head -n1)"
|
||||
if [[ "$expression_with_comment" == "YNH_NULL" ]]; then
|
||||
set -o xtrace # set -x
|
||||
echo YNH_NULL
|
||||
|
@ -589,15 +726,14 @@ ynh_write_var_in_file() {
|
|||
set +o xtrace # set +x
|
||||
|
||||
# Get the line number after which we search for the variable
|
||||
local line_number=1
|
||||
local after_line_number=1
|
||||
if [[ -n "$after" ]]; then
|
||||
line_number=$(grep -n $after $file | cut -d: -f1)
|
||||
if [[ -z "$line_number" ]]; then
|
||||
after_line_number=$(grep -m1 -n $after $file | cut -d: -f1)
|
||||
if [[ -z "$after_line_number" ]]; then
|
||||
set -o xtrace # set -x
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
local range="${line_number},\$ "
|
||||
|
||||
local filename="$(basename -- "$file")"
|
||||
local ext="${filename##*.}"
|
||||
|
@ -622,17 +758,21 @@ ynh_write_var_in_file() {
|
|||
var_part+='\s*'
|
||||
|
||||
# Extract the part after assignation sign
|
||||
local expression_with_comment="$(tail +$line_number ${file} | grep -i -o -P $var_part'\K.*$' || echo YNH_NULL | head -n1)"
|
||||
local expression_with_comment="$((tail +$after_line_number ${file} | grep -i -o -P $var_part'\K.*$' || echo YNH_NULL) | head -n1)"
|
||||
if [[ "$expression_with_comment" == "YNH_NULL" ]]; then
|
||||
set -o xtrace # set -x
|
||||
return 1
|
||||
fi
|
||||
local value_line_number="$(tail +$after_line_number ${file} | grep -m1 -n -i -P $var_part'\K.*$' | cut -d: -f1)"
|
||||
value_line_number=$((after_line_number + value_line_number))
|
||||
local range="${after_line_number},${value_line_number} "
|
||||
|
||||
# Remove comments if needed
|
||||
local expression="$(echo "$expression_with_comment" | sed "s@${comments}[^$string]*\$@@g" | sed "s@\s*[$endline]*\s*]*\$@@")"
|
||||
endline=${expression_with_comment#"$expression"}
|
||||
endline="$(echo "$endline" | sed 's/\\/\\\\/g')"
|
||||
value="$(echo "$value" | sed 's/\\/\\\\/g')"
|
||||
value=${value//&/"\&"}
|
||||
local first_char="${expression:0:1}"
|
||||
delimiter=$'\001'
|
||||
if [[ "$first_char" == '"' ]]; then
|
||||
|
@ -694,7 +834,7 @@ _acceptable_path_to_delete() {
|
|||
local forbidden_paths=$(ls -d / /* /{var,home,usr}/* /etc/{default,sudoers.d,yunohost,cron*})
|
||||
|
||||
# Legacy : A couple apps still have data in /home/$app ...
|
||||
if [[ -n "$app" ]]
|
||||
if [[ -n "${app:-}" ]]
|
||||
then
|
||||
forbidden_paths=$(echo "$forbidden_paths" | grep -v "/home/$app")
|
||||
fi
|
||||
|
@ -758,12 +898,25 @@ ynh_read_manifest() {
|
|||
# Manage arguments with getopts
|
||||
ynh_handle_getopts_args "$@"
|
||||
|
||||
if [ ! -e "$manifest" ]; then
|
||||
if [ ! -e "${manifest:-}" ]; then
|
||||
# If the manifest isn't found, try the common place for backup and restore script.
|
||||
manifest="$YNH_APP_BASEDIR/manifest.json"
|
||||
if [ -e "$YNH_APP_BASEDIR/manifest.json" ]
|
||||
then
|
||||
manifest="$YNH_APP_BASEDIR/manifest.json"
|
||||
elif [ -e "$YNH_APP_BASEDIR/manifest.toml" ]
|
||||
then
|
||||
manifest="$YNH_APP_BASEDIR/manifest.toml"
|
||||
else
|
||||
ynh_die --message "No manifest found !?"
|
||||
fi
|
||||
fi
|
||||
|
||||
jq ".$manifest_key" "$manifest" --raw-output
|
||||
if echo "$manifest" | grep -q '\.json$'
|
||||
then
|
||||
jq ".$manifest_key" "$manifest" --raw-output
|
||||
else
|
||||
cat "$manifest" | python3 -c 'import json, toml, sys; print(json.dumps(toml.load(sys.stdin)))' | jq ".$manifest_key" --raw-output
|
||||
fi
|
||||
}
|
||||
|
||||
# Read the upstream version from the manifest or `$YNH_APP_MANIFEST_VERSION`
|
||||
|
@ -907,9 +1060,9 @@ ynh_compare_current_package_version() {
|
|||
_ynh_apply_default_permissions() {
|
||||
local target=$1
|
||||
|
||||
local ynh_requirement=$(jq -r '.requirements.yunohost' $YNH_APP_BASEDIR/manifest.json | tr -d '>= ')
|
||||
local ynh_requirement=$(ynh_read_manifest --manifest_key="requirements.yunohost" | tr -d '<>= ')
|
||||
|
||||
if [ -z "$ynh_requirement" ] || [ "$ynh_requirement" == "null" ] || dpkg --compare-versions $ynh_requirement ge 4.2; then
|
||||
if dpkg --compare-versions ${YNH_APP_PACKAGING_FORMAT:-0} ge 2 || [ -z "$ynh_requirement" ] || [ "$ynh_requirement" == "null" ] || dpkg --compare-versions $ynh_requirement ge 4.2; then
|
||||
chmod o-rwx $target
|
||||
chmod g-w $target
|
||||
chown -R root:root $target
|
||||
|
@ -918,10 +1071,20 @@ _ynh_apply_default_permissions() {
|
|||
fi
|
||||
fi
|
||||
|
||||
# Crons should be owned by root otherwise they probably don't run
|
||||
if echo "$target" | grep -q '^/etc/cron'
|
||||
# Crons should be owned by root
|
||||
# Also we don't want systemd conf, nginx conf or others stuff to be owned by the app,
|
||||
# otherwise they could self-edit their own systemd conf and escalate privilege
|
||||
if echo "$target" | grep -q '^/etc/cron\|/etc/php\|/etc/nginx/conf.d\|/etc/fail2ban\|/etc/systemd/system'
|
||||
then
|
||||
chmod 400 $target
|
||||
chown root:root $target
|
||||
fi
|
||||
}
|
||||
|
||||
int_to_bool() {
|
||||
sed -e 's/^1$/True/g' -e 's/^0$/False/g'
|
||||
}
|
||||
|
||||
toml_to_json() {
|
||||
python3 -c 'import toml, json, sys; print(json.dumps(toml.load(sys.stdin)))'
|
||||
}
|
||||
|
|
21
helpers/vendor/docker-image-extract/LICENSE
vendored
Normal file
21
helpers/vendor/docker-image-extract/LICENSE
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2021 Emmanuel Frecon
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
1
helpers/vendor/docker-image-extract/README.md
vendored
Normal file
1
helpers/vendor/docker-image-extract/README.md
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
This is taken from https://github.com/efrecon/docker-image-extract
|
262
helpers/vendor/docker-image-extract/docker-image-extract
vendored
Executable file
262
helpers/vendor/docker-image-extract/docker-image-extract
vendored
Executable file
|
@ -0,0 +1,262 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# This script pulls and extracts all files from an image in Docker Hub.
|
||||
#
|
||||
# Copyright (c) 2020-2022, Jeremy Lin
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
# and/or sell copies of the Software, and to permit persons to whom the
|
||||
# Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
# DEALINGS IN THE SOFTWARE.
|
||||
|
||||
PLATFORM_DEFAULT="linux/amd64"
|
||||
PLATFORM="${PLATFORM_DEFAULT}"
|
||||
OUT_DIR="./output"
|
||||
|
||||
usage() {
|
||||
echo "This script pulls and extracts all files from an image in Docker Hub."
|
||||
echo
|
||||
echo "$0 [OPTIONS...] IMAGE[:REF]"
|
||||
echo
|
||||
echo "IMAGE can be a community user image (like 'some-user/some-image') or a"
|
||||
echo "Docker official image (like 'hello-world', which contains no '/')."
|
||||
echo
|
||||
echo "REF is either a tag name or a full SHA-256 image digest (with a 'sha256:' prefix)."
|
||||
echo "The default ref is the 'latest' tag."
|
||||
echo
|
||||
echo "Options:"
|
||||
echo
|
||||
echo " -p PLATFORM Pull image for the specified platform (default: ${PLATFORM})"
|
||||
echo " For a given image on Docker Hub, the 'Tags' tab lists the"
|
||||
echo " platforms supported for that image."
|
||||
echo " -o OUT_DIR Extract image to the specified output dir (default: ${OUT_DIR})"
|
||||
echo " -h Show help with usage examples"
|
||||
}
|
||||
|
||||
usage_detailed() {
|
||||
usage
|
||||
echo
|
||||
echo "Examples:"
|
||||
echo
|
||||
echo "# Pull and extract all files in the 'hello-world' image tagged 'latest'."
|
||||
echo "\$ $0 hello-world:latest"
|
||||
echo
|
||||
echo "# Same as above; ref defaults to the 'latest' tag."
|
||||
echo "\$ $0 hello-world"
|
||||
echo
|
||||
echo "# Pull the 'hello-world' image for the 'linux/arm64/v8' platform."
|
||||
echo "\$ $0 -p linux/arm64/v8 hello-world"
|
||||
echo
|
||||
echo "# Pull an image by digest."
|
||||
echo "\$ $0 hello-world:sha256:90659bf80b44ce6be8234e6ff90a1ac34acbeb826903b02cfa0da11c82cbc042"
|
||||
}
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
usage_detailed
|
||||
exit 0
|
||||
fi
|
||||
|
||||
while getopts ':ho:p:' opt; do
|
||||
case $opt in
|
||||
o)
|
||||
OUT_DIR="${OPTARG}"
|
||||
;;
|
||||
p)
|
||||
PLATFORM="${OPTARG}"
|
||||
;;
|
||||
h)
|
||||
usage_detailed
|
||||
exit 0
|
||||
;;
|
||||
\?)
|
||||
echo "ERROR: Invalid option '-$OPTARG'."
|
||||
echo
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
\:) echo "ERROR: Argument required for option '-$OPTARG'."
|
||||
echo
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
shift $(($OPTIND - 1))
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "ERROR: Image to pull must be specified."
|
||||
echo
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
have_curl() {
|
||||
command -v curl >/dev/null
|
||||
}
|
||||
|
||||
have_wget() {
|
||||
command -v wget >/dev/null
|
||||
}
|
||||
|
||||
if ! have_curl && ! have_wget; then
|
||||
echo "This script requires either curl or wget."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
image_spec="$1"
|
||||
image="${image_spec%%:*}"
|
||||
if [ "${image#*/}" = "${image}" ]; then
|
||||
# Docker official images are in the 'library' namespace.
|
||||
image="library/${image}"
|
||||
fi
|
||||
ref="${image_spec#*:}"
|
||||
if [ "${ref}" = "${image_spec}" ]; then
|
||||
echo "Defaulting ref to tag 'latest'..."
|
||||
ref=latest
|
||||
fi
|
||||
|
||||
# Split platform (OS/arch/variant) into separate variables.
|
||||
# A platform specifier doesn't always include the `variant` component.
|
||||
OLD_IFS="${IFS}"
|
||||
IFS=/ read -r OS ARCH VARIANT <<EOF
|
||||
${PLATFORM}
|
||||
EOF
|
||||
IFS="${OLD_IFS}"
|
||||
|
||||
# Given a JSON input on stdin, extract the string value associated with the
|
||||
# specified key. This avoids an extra dependency on a tool like `jq`.
|
||||
extract() {
|
||||
local key="$1"
|
||||
# Extract "<key>":"<val>" (assumes key/val won't contain double quotes).
|
||||
# The colon may have whitespace on either side.
|
||||
grep -o "\"${key}\"[[:space:]]*:[[:space:]]*\"[^\"]\+\"" |
|
||||
# Extract just <val> by deleting the last '"', and then greedily deleting
|
||||
# everything up to '"'.
|
||||
sed -e 's/"$//' -e 's/.*"//'
|
||||
}
|
||||
|
||||
# Fetch a URL to stdout. Up to two header arguments may be specified:
|
||||
#
|
||||
# fetch <url> [name1: value1] [name2: value2]
|
||||
#
|
||||
fetch() {
|
||||
if have_curl; then
|
||||
if [ $# -eq 2 ]; then
|
||||
set -- -H "$2" "$1"
|
||||
elif [ $# -eq 3 ]; then
|
||||
set -- -H "$2" -H "$3" "$1"
|
||||
fi
|
||||
curl -sSL "$@"
|
||||
else
|
||||
if [ $# -eq 2 ]; then
|
||||
set -- --header "$2" "$1"
|
||||
elif [ $# -eq 3 ]; then
|
||||
set -- --header "$2" --header "$3" "$1"
|
||||
fi
|
||||
wget -qO- "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
# https://docs.docker.com/docker-hub/api/latest/#tag/repositories
|
||||
manifest_list_url="https://hub.docker.com/v2/repositories/${image}/tags/${ref}"
|
||||
|
||||
# If we're pulling the image for the default platform, or the ref is already
|
||||
# a SHA-256 image digest, then we don't need to look up anything.
|
||||
if [ "${PLATFORM}" = "${PLATFORM_DEFAULT}" ] || [ -z "${ref##sha256:*}" ]; then
|
||||
digest="${ref}"
|
||||
else
|
||||
echo "Getting multi-arch manifest list..."
|
||||
digest=$(fetch "${manifest_list_url}" |
|
||||
# Break up the single-line JSON output into separate lines by adding
|
||||
# newlines before and after the chars '[', ']', '{', and '}'.
|
||||
sed -e 's/\([][{}]\)/\n\1\n/g' |
|
||||
# Extract the "images":[...] list.
|
||||
sed -n '/"images":/,/]/ p' |
|
||||
# Each image's details are now on a separate line, e.g.
|
||||
# "architecture":"arm64","features":"","variant":"v8","digest":"sha256:054c85801c4cb41511b176eb0bf13a2c4bbd41611ddd70594ec3315e88813524","os":"linux","os_features":"","os_version":null,"size":828724,"status":"active","last_pulled":"2022-09-02T22:46:48.240632Z","last_pushed":"2022-09-02T00:42:45.69226Z"
|
||||
# The image details are interspersed with lines of stray punctuation,
|
||||
# so grep for an arbitrary string that must be in these lines.
|
||||
grep architecture |
|
||||
# Search for an image that matches the platform.
|
||||
while read -r image; do
|
||||
# Arch is probably most likely to be unique, so check that first.
|
||||
arch="$(echo ${image} | extract 'architecture')"
|
||||
if [ "${arch}" != "${ARCH}" ]; then continue; fi
|
||||
|
||||
os="$(echo ${image} | extract 'os')"
|
||||
if [ "${os}" != "${OS}" ]; then continue; fi
|
||||
|
||||
variant="$(echo ${image} | extract 'variant')"
|
||||
if [ "${variant}" = "${VARIANT}" ]; then
|
||||
echo ${image} | extract 'digest'
|
||||
break
|
||||
fi
|
||||
done)
|
||||
fi
|
||||
|
||||
if [ -n "${digest}" ]; then
|
||||
echo "Platform ${PLATFORM} resolved to '${digest}'..."
|
||||
else
|
||||
echo "No image digest found. Verify that the image, ref, and platform are valid."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# https://docs.docker.com/registry/spec/auth/token/#how-to-authenticate
|
||||
api_token_url="https://auth.docker.io/token?service=registry.docker.io&scope=repository:$image:pull"
|
||||
|
||||
# https://github.com/docker/distribution/blob/master/docs/spec/api.md#pulling-an-image-manifest
|
||||
manifest_url="https://registry-1.docker.io/v2/${image}/manifests/${digest}"
|
||||
|
||||
# https://github.com/docker/distribution/blob/master/docs/spec/api.md#pulling-a-layer
|
||||
blobs_base_url="https://registry-1.docker.io/v2/${image}/blobs"
|
||||
|
||||
echo "Getting API token..."
|
||||
token=$(fetch "${api_token_url}" | extract 'token')
|
||||
auth_header="Authorization: Bearer $token"
|
||||
v2_header="Accept: application/vnd.docker.distribution.manifest.v2+json"
|
||||
|
||||
echo "Getting image manifest for $image:$ref..."
|
||||
layers=$(fetch "${manifest_url}" "${auth_header}" "${v2_header}" |
|
||||
# Extract `digest` values only after the `layers` section appears.
|
||||
sed -n '/"layers":/,$ p' |
|
||||
extract 'digest')
|
||||
|
||||
if [ -z "${layers}" ]; then
|
||||
echo "No layers returned. Verify that the image and ref are valid."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "${OUT_DIR}"
|
||||
|
||||
for layer in $layers; do
|
||||
hash="${layer#sha256:}"
|
||||
echo "Fetching and extracting layer ${hash}..."
|
||||
fetch "${blobs_base_url}/${layer}" "${auth_header}" | gzip -d | tar -C "${OUT_DIR}" -xf -
|
||||
# Ref: https://github.com/moby/moby/blob/master/image/spec/v1.2.md#creating-an-image-filesystem-changeset
|
||||
# https://github.com/moby/moby/blob/master/pkg/archive/whiteouts.go
|
||||
# Search for "whiteout" files to indicate files deleted in this layer.
|
||||
OLD_IFS="${IFS}"
|
||||
find "${OUT_DIR}" -name '.wh.*' | while IFS= read -r f; do
|
||||
dir="${f%/*}"
|
||||
wh_file="${f##*/}"
|
||||
file="${wh_file#.wh.}"
|
||||
# Delete both the whiteout file and the whited-out file.
|
||||
rm -rf "${dir}/${wh_file}" "${dir}/${file}"
|
||||
done
|
||||
IFS="${OLD_IFS}"
|
||||
done
|
||||
|
||||
echo "Image contents extracted into ${OUT_DIR}."
|
21
helpers/vendor/n/LICENSE
vendored
Normal file
21
helpers/vendor/n/LICENSE
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2018 TJ Holowaychuk
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
1
helpers/vendor/n/README.md
vendored
Normal file
1
helpers/vendor/n/README.md
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
This is taken from https://github.com/tj/n/
|
1635
helpers/vendor/n/n
vendored
Executable file
1635
helpers/vendor/n/n
vendored
Executable file
File diff suppressed because it is too large
Load diff
|
@ -9,7 +9,7 @@ source /usr/share/yunohost/helpers
|
|||
# Backup destination
|
||||
backup_dir="${1}/data/multimedia"
|
||||
|
||||
if [ -e "/home/yunohost.multimedia/.nobackup" ]; then
|
||||
if [ ! -e "/home/yunohost.multimedia" ] || [ -e "/home/yunohost.multimedia/.nobackup" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
|
|
@ -13,6 +13,6 @@ backup_dir="${1}/conf/ynh"
|
|||
ynh_backup "/etc/yunohost/firewall.yml" "${backup_dir}/firewall.yml"
|
||||
ynh_backup "/etc/yunohost/current_host" "${backup_dir}/current_host"
|
||||
[ ! -d "/etc/yunohost/domains" ] || ynh_backup "/etc/yunohost/domains" "${backup_dir}/domains"
|
||||
[ ! -e "/etc/yunohost/settings.json" ] || ynh_backup "/etc/yunohost/settings.json" "${backup_dir}/settings.json"
|
||||
[ ! -e "/etc/yunohost/settings.yml" ] || ynh_backup "/etc/yunohost/settings.yml" "${backup_dir}/settings.yml"
|
||||
[ ! -d "/etc/yunohost/dyndns" ] || ynh_backup "/etc/yunohost/dyndns" "${backup_dir}/dyndns"
|
||||
[ ! -d "/etc/dkim" ] || ynh_backup "/etc/dkim" "${backup_dir}/dkim"
|
||||
|
|
|
@ -42,7 +42,7 @@ do_init_regen() {
|
|||
# Backup folders
|
||||
mkdir -p /home/yunohost.backup/archives
|
||||
chmod 750 /home/yunohost.backup/archives
|
||||
chown root:root /home/yunohost.backup/archives # This is later changed to admin:root once admin user exists
|
||||
chown root:root /home/yunohost.backup/archives # This is later changed to root:admins once the admins group exists
|
||||
|
||||
# Empty ssowat json persistent conf
|
||||
echo "{}" >'/etc/ssowat/conf.json.persistent'
|
||||
|
@ -104,7 +104,7 @@ EOF
|
|||
# Cron job that upgrade the app list everyday
|
||||
cat >$pending_dir/etc/cron.daily/yunohost-fetch-apps-catalog <<EOF
|
||||
#!/bin/bash
|
||||
(sleep \$((RANDOM%3600)); yunohost tools update --apps > /dev/null) &
|
||||
sleep \$((RANDOM%3600)); yunohost tools update apps > /dev/null
|
||||
EOF
|
||||
|
||||
# Cron job that renew lets encrypt certificates if there's any that needs renewal
|
||||
|
@ -132,12 +132,15 @@ EOF
|
|||
fi
|
||||
|
||||
# Skip ntp if inside a container (inspired from the conf of systemd-timesyncd)
|
||||
mkdir -p ${pending_dir}/etc/systemd/system/ntp.service.d/
|
||||
cat >${pending_dir}/etc/systemd/system/ntp.service.d/ynh-override.conf <<EOF
|
||||
if systemctl | grep -q 'ntp.service'
|
||||
then
|
||||
mkdir -p ${pending_dir}/etc/systemd/system/ntp.service.d/
|
||||
cat >${pending_dir}/etc/systemd/system/ntp.service.d/ynh-override.conf <<EOF
|
||||
[Unit]
|
||||
ConditionCapability=CAP_SYS_TIME
|
||||
ConditionVirtualization=!container
|
||||
EOF
|
||||
fi
|
||||
|
||||
# Make nftable conflict with yunohost-firewall
|
||||
mkdir -p ${pending_dir}/etc/systemd/system/nftables.service.d/
|
||||
|
@ -187,17 +190,27 @@ do_post_regen() {
|
|||
# Enfore permissions #
|
||||
######################
|
||||
|
||||
chmod 750 /home/admin
|
||||
chmod 750 /home/yunohost.backup
|
||||
chmod 750 /home/yunohost.backup/archives
|
||||
chmod 770 /home/yunohost.backup
|
||||
chmod 770 /home/yunohost.backup/archives
|
||||
chmod 700 /var/cache/yunohost
|
||||
chown admin:root /home/yunohost.backup
|
||||
chown admin:root /home/yunohost.backup/archives
|
||||
chown root:admins /home/yunohost.backup
|
||||
chown root:admins /home/yunohost.backup/archives
|
||||
chown root:root /var/cache/yunohost
|
||||
|
||||
[ ! -e /var/www/.well-known/ynh-diagnosis/ ] || chmod 775 /var/www/.well-known/ynh-diagnosis/
|
||||
|
||||
# NB: x permission for 'others' is important for ssl-cert (and maybe mdns), otherwise slapd will fail to start because can't access the certs
|
||||
chmod 755 /etc/yunohost
|
||||
|
||||
find /etc/systemd/system/*.service -type f | xargs -r chown root:root
|
||||
find /etc/systemd/system/*.service -type f | xargs -r chmod 0644
|
||||
|
||||
if ls -l /etc/php/*/fpm/pool.d/*.conf
|
||||
then
|
||||
chown root:root /etc/php/*/fpm/pool.d/*.conf
|
||||
chmod 644 /etc/php/*/fpm/pool.d/*.conf
|
||||
fi
|
||||
|
||||
# Certs
|
||||
# We do this with find because there could be a lot of them...
|
||||
chown -R root:ssl-cert /etc/yunohost/certs
|
||||
|
@ -222,7 +235,7 @@ do_post_regen() {
|
|||
mkdir -p /etc/yunohost/domains
|
||||
|
||||
# Misc configuration / state files
|
||||
chown root:root $(ls /etc/yunohost/{*.yml,*.yaml,*.json,mysql,psql} 2>/dev/null)
|
||||
chown root:root $(ls /etc/yunohost/{*.yml,*.yaml,*.json,mysql,psql} 2>/dev/null | grep -vw mdns.yml)
|
||||
chmod 600 $(ls /etc/yunohost/{*.yml,*.yaml,*.json,mysql,psql} 2>/dev/null)
|
||||
|
||||
# Apps folder, custom hooks folder
|
||||
|
@ -235,13 +248,19 @@ do_post_regen() {
|
|||
grep -q '^sftp.app:' /etc/group || groupadd sftp.app
|
||||
|
||||
# Propagates changes in systemd service config overrides
|
||||
[[ ! "$regen_conf_files" =~ "ntp.service.d/ynh-override.conf" ]] || {
|
||||
systemctl daemon-reload
|
||||
systemctl restart ntp
|
||||
}
|
||||
|
||||
if systemctl | grep -q 'ntp.service'
|
||||
then
|
||||
[[ ! "$regen_conf_files" =~ "ntp.service.d/ynh-override.conf" ]] || {
|
||||
systemctl daemon-reload
|
||||
systemctl restart ntp
|
||||
}
|
||||
fi
|
||||
|
||||
[[ ! "$regen_conf_files" =~ "nftables.service.d/ynh-override.conf" ]] || systemctl daemon-reload
|
||||
[[ ! "$regen_conf_files" =~ "login.conf.d/ynh-override.conf" ]] || systemctl daemon-reload
|
||||
[[ ! "$regen_conf_files" =~ "login.conf.d/ynh-override.conf" ]] || {
|
||||
systemctl daemon-reload
|
||||
systemctl restart systemd-logind
|
||||
}
|
||||
[[ ! "$regen_conf_files" =~ "yunohost-firewall.service" ]] || systemctl daemon-reload
|
||||
[[ ! "$regen_conf_files" =~ "yunohost-api.service" ]] || systemctl daemon-reload
|
||||
[[ ! "$regen_conf_files" =~ "yunohost-portal-api.service" ]] || systemctl daemon-reload
|
||||
|
@ -267,6 +286,11 @@ do_post_regen() {
|
|||
rm -f /etc/dpkg/origins/default
|
||||
ln -s /etc/dpkg/origins/yunohost /etc/dpkg/origins/default
|
||||
fi
|
||||
|
||||
if test -e /etc/yunohost/installed && test -e /etc/profile.d/check_yunohost_is_installed.sh
|
||||
then
|
||||
rm /etc/profile.d/check_yunohost_is_installed.sh
|
||||
fi
|
||||
}
|
||||
|
||||
do_$1_regen ${@:2}
|
||||
|
|
|
@ -14,15 +14,10 @@ do_pre_regen() {
|
|||
|
||||
ssh_keys=$(ls /etc/ssh/ssh_host_{ed25519,rsa,ecdsa}_key 2>/dev/null || true)
|
||||
|
||||
# Support legacy setting (this setting might be disabled by a user during a migration)
|
||||
if [[ "$(yunohost settings get 'service.ssh.allow_deprecated_dsa_hostkey')" == "True" ]]; then
|
||||
ssh_keys="$ssh_keys $(ls /etc/ssh/ssh_host_dsa_key 2>/dev/null || true)"
|
||||
fi
|
||||
|
||||
# Support different strategy for security configurations
|
||||
export compatibility="$(yunohost settings get 'security.ssh.compatibility')"
|
||||
export port="$(yunohost settings get 'security.ssh.port')"
|
||||
export password_authentication="$(yunohost settings get 'security.ssh.password_authentication')"
|
||||
export compatibility="$(yunohost settings get 'security.ssh.ssh_compatibility')"
|
||||
export port="$(yunohost settings get 'security.ssh.ssh_port')"
|
||||
export password_authentication="$(yunohost settings get 'security.ssh.ssh_password_authentication' | int_to_bool)"
|
||||
export ssh_keys
|
||||
export ipv6_enabled
|
||||
ynh_render_template "sshd_config" "${pending_dir}/etc/ssh/sshd_config"
|
||||
|
|
|
@ -58,14 +58,6 @@ EOF
|
|||
nscd -i passwd || true
|
||||
|
||||
systemctl restart slapd
|
||||
|
||||
# We don't use mkhomedir_helper because 'admin' may not be recognized
|
||||
# when this script is ran in a chroot (e.g. ISO install)
|
||||
# We also refer to admin as uid 1007 for the same reason
|
||||
if [ ! -d /home/admin ]; then
|
||||
cp -r /etc/skel /home/admin
|
||||
chown -R 1007:1007 /home/admin
|
||||
fi
|
||||
}
|
||||
|
||||
_regenerate_slapd_conf() {
|
||||
|
@ -131,6 +123,10 @@ do_post_regen() {
|
|||
chown -R openldap:openldap /etc/ldap/schema/
|
||||
chown -R openldap:openldap /etc/ldap/slapd.d/
|
||||
|
||||
# Fix weird scenarios where /etc/sudo-ldap.conf doesn't exists (yet is supposed to be
|
||||
# created by the sudo-ldap package) : https://github.com/YunoHost/issues/issues/2091
|
||||
[ -e /etc/sudo-ldap.conf ] || ln -s /etc/ldap/ldap.conf /etc/sudo-ldap.conf
|
||||
|
||||
# If we changed the systemd ynh-override conf
|
||||
if echo "$regen_conf_files" | sed 's/,/\n/g' | grep -q "^/etc/systemd/system/slapd.service.d/ynh-override.conf$"; then
|
||||
systemctl daemon-reload
|
||||
|
@ -139,7 +135,7 @@ do_post_regen() {
|
|||
fi
|
||||
|
||||
# For some reason, old setups don't have the admins group defined...
|
||||
if ! slapcat | grep -q 'cn=admins,ou=groups,dc=yunohost,dc=org'; then
|
||||
if ! slapcat -H "ldap:///cn=admins,ou=groups,dc=yunohost,dc=org" | grep -q 'cn=admins,ou=groups,dc=yunohost,dc=org'; then
|
||||
slapadd -F /etc/ldap/slapd.d -b dc=yunohost,dc=org <<< \
|
||||
"dn: cn=admins,ou=groups,dc=yunohost,dc=org
|
||||
cn: admins
|
||||
|
@ -172,22 +168,6 @@ objectClass: top"
|
|||
|
||||
echo "Reloading slapd"
|
||||
systemctl force-reload slapd
|
||||
|
||||
# on slow hardware/vm this regen conf would exit before the admin user that
|
||||
# is stored in ldap is available because ldap seems to slow to restart
|
||||
# so we'll wait either until we are able to log as admin or until a timeout
|
||||
# is reached
|
||||
# we need to do this because the next hooks executed after this one during
|
||||
# postinstall requires to run as admin thus breaking postinstall on slow
|
||||
# hardware which mean yunohost can't be correctly installed on those hardware
|
||||
# and this sucks
|
||||
# wait a maximum time of 5 minutes
|
||||
# yes, force-reload behave like a restart
|
||||
number_of_wait=0
|
||||
while ! su admin -c '' && ((number_of_wait < 60)); do
|
||||
sleep 5
|
||||
((number_of_wait += 1))
|
||||
done
|
||||
}
|
||||
|
||||
do_$1_regen ${@:2}
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
set -e
|
||||
|
||||
readonly YNH_DEFAULT_PHP_VERSION=7.4
|
||||
|
||||
do_pre_regen() {
|
||||
pending_dir=$1
|
||||
|
||||
|
@ -68,7 +70,10 @@ do_post_regen() {
|
|||
fi
|
||||
|
||||
# Make sure php7.4 is the default version when using php in cli
|
||||
update-alternatives --set php /usr/bin/php7.4
|
||||
if test -e /usr/bin/php$YNH_DEFAULT_PHP_VERSION
|
||||
then
|
||||
update-alternatives --set php /usr/bin/php$YNH_DEFAULT_PHP_VERSION
|
||||
fi
|
||||
}
|
||||
|
||||
do_$1_regen ${@:2}
|
||||
|
|
|
@ -26,8 +26,14 @@ do_pre_regen() {
|
|||
| sed "s/{{ main_domain }}/${main_domain}/g" \
|
||||
>"${metronome_dir}/metronome.cfg.lua"
|
||||
|
||||
# add domain conf files
|
||||
# Trick such that old conf files are flagged as to remove
|
||||
for domain in $YNH_DOMAINS; do
|
||||
touch "${metronome_conf_dir}/${domain}.cfg.lua"
|
||||
done
|
||||
|
||||
# add domain conf files
|
||||
domain_list="$(yunohost domain list --features xmpp --output-as json | jq -r ".domains[]")"
|
||||
for domain in $domain_list; do
|
||||
cat domain.tpl.cfg.lua \
|
||||
| sed "s/{{ domain }}/${domain}/g" \
|
||||
>"${metronome_conf_dir}/${domain}.cfg.lua"
|
||||
|
@ -68,8 +74,22 @@ do_post_regen() {
|
|||
chown -R metronome: /var/lib/metronome/
|
||||
chown -R metronome: /etc/metronome/conf.d/
|
||||
|
||||
[[ -z "$regen_conf_files" ]] \
|
||||
|| systemctl restart metronome
|
||||
if [[ -z "$(ls /etc/metronome/conf.d/*.cfg.lua 2>/dev/null)" ]]
|
||||
then
|
||||
if systemctl is-enabled metronome &>/dev/null
|
||||
then
|
||||
systemctl disable metronome --now 2>/dev/null
|
||||
fi
|
||||
else
|
||||
if ! systemctl is-enabled metronome &>/dev/null
|
||||
then
|
||||
systemctl enable metronome --now 2>/dev/null
|
||||
sleep 3
|
||||
fi
|
||||
|
||||
[[ -z "$regen_conf_files" ]] \
|
||||
|| systemctl restart metronome
|
||||
fi
|
||||
}
|
||||
|
||||
do_$1_regen ${@:2}
|
||||
|
|
|
@ -56,8 +56,8 @@ do_pre_regen() {
|
|||
# install / update plain conf files
|
||||
cp plain/* "$nginx_conf_dir"
|
||||
# remove the panel overlay if this is specified in settings
|
||||
panel_overlay=$(yunohost settings get 'ssowat.panel_overlay.enabled')
|
||||
if [ "$panel_overlay" == "false" ] || [ "$panel_overlay" == "False" ]; then
|
||||
panel_overlay=$(yunohost settings get 'misc.portal.ssowat_panel_overlay_enabled' | int_to_bool)
|
||||
if [ "$panel_overlay" == "False" ]; then
|
||||
echo "#" >"${nginx_conf_dir}/yunohost_panel.conf.inc"
|
||||
fi
|
||||
|
||||
|
@ -65,14 +65,16 @@ do_pre_regen() {
|
|||
main_domain=$(cat /etc/yunohost/current_host)
|
||||
|
||||
# Support different strategy for security configurations
|
||||
export redirect_to_https="$(yunohost settings get 'security.nginx.redirect_to_https')"
|
||||
export compatibility="$(yunohost settings get 'security.nginx.compatibility')"
|
||||
export experimental="$(yunohost settings get 'security.experimental.enabled')"
|
||||
export redirect_to_https="$(yunohost settings get 'security.nginx.nginx_redirect_to_https' | int_to_bool)"
|
||||
export compatibility="$(yunohost settings get 'security.nginx.nginx_compatibility')"
|
||||
export experimental="$(yunohost settings get 'security.experimental.security_experimental_enabled' | int_to_bool)"
|
||||
ynh_render_template "security.conf.inc" "${nginx_conf_dir}/security.conf.inc"
|
||||
|
||||
cert_status=$(yunohost domain cert status --json)
|
||||
|
||||
# add domain conf files
|
||||
xmpp_domain_list="$(yunohost domain list --features xmpp --output-as json | jq -r ".domains[]")"
|
||||
mail_domain_list="$(yunohost domain list --features mail_in mail_out --output-as json | jq -r ".domains[]")"
|
||||
for domain in $YNH_DOMAINS; do
|
||||
domain_conf_dir="${nginx_conf_dir}/${domain}.d"
|
||||
mkdir -p "$domain_conf_dir"
|
||||
|
@ -84,17 +86,32 @@ do_pre_regen() {
|
|||
export domain_cert_ca=$(echo $cert_status \
|
||||
| jq ".certificates.\"$domain\".CA_type" \
|
||||
| tr -d '"')
|
||||
if echo "$xmpp_domain_list" | grep -q "^$domain$"
|
||||
then
|
||||
export xmpp_enabled="True"
|
||||
else
|
||||
export xmpp_enabled="False"
|
||||
fi
|
||||
if echo "$mail_domain_list" | grep -q "^$domain$"
|
||||
then
|
||||
export mail_enabled="True"
|
||||
else
|
||||
export mail_enabled="False"
|
||||
fi
|
||||
|
||||
ynh_render_template "server.tpl.conf" "${nginx_conf_dir}/${domain}.conf"
|
||||
ynh_render_template "autoconfig.tpl.xml" "${mail_autoconfig_dir}/config-v1.1.xml"
|
||||
if [ $mail_enabled == "True" ]
|
||||
then
|
||||
ynh_render_template "autoconfig.tpl.xml" "${mail_autoconfig_dir}/config-v1.1.xml"
|
||||
fi
|
||||
|
||||
touch "${domain_conf_dir}/yunohost_local.conf" # Clean legacy conf files
|
||||
|
||||
done
|
||||
|
||||
export webadmin_allowlist_enabled=$(yunohost settings get security.webadmin.allowlist.enabled)
|
||||
export webadmin_allowlist_enabled=$(yunohost settings get security.webadmin.webadmin_allowlist_enabled | int_to_bool)
|
||||
if [ "$webadmin_allowlist_enabled" == "True" ]; then
|
||||
export webadmin_allowlist=$(yunohost settings get security.webadmin.allowlist)
|
||||
export webadmin_allowlist=$(yunohost settings get security.webadmin.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"
|
||||
|
@ -127,6 +144,12 @@ do_pre_regen() {
|
|||
do_post_regen() {
|
||||
regen_conf_files=$1
|
||||
|
||||
if ls -l /etc/nginx/conf.d/*.d/*.conf
|
||||
then
|
||||
chown root:root /etc/nginx/conf.d/*.d/*.conf
|
||||
chmod 644 /etc/nginx/conf.d/*.d/*.conf
|
||||
fi
|
||||
|
||||
[ -z "$regen_conf_files" ] && exit 0
|
||||
|
||||
# create NGINX conf directories for domains
|
||||
|
|
|
@ -22,17 +22,19 @@ do_pre_regen() {
|
|||
main_domain=$(cat /etc/yunohost/current_host)
|
||||
|
||||
# Support different strategy for security configurations
|
||||
export compatibility="$(yunohost settings get 'security.postfix.compatibility')"
|
||||
export compatibility="$(yunohost settings get 'security.postfix.postfix_compatibility')"
|
||||
|
||||
# Add possibility to specify a relay
|
||||
# Could be useful with some isp with no 25 port open or more complex setup
|
||||
export relay_port=""
|
||||
export relay_user=""
|
||||
export relay_host="$(yunohost settings get 'smtp.relay.host')"
|
||||
if [ -n "${relay_host}" ]; then
|
||||
relay_port="$(yunohost settings get 'smtp.relay.port')"
|
||||
relay_user="$(yunohost settings get 'smtp.relay.user')"
|
||||
relay_password="$(yunohost settings get 'smtp.relay.password')"
|
||||
export relay_host=""
|
||||
export relay_enabled="$(yunohost settings get 'email.smtp.smtp_relay_enabled' | int_to_bool)"
|
||||
if [ "${relay_enabled}" == "True" ]; then
|
||||
relay_host="$(yunohost settings get 'email.smtp.smtp_relay_host')"
|
||||
relay_port="$(yunohost settings get 'email.smtp.smtp_relay_port')"
|
||||
relay_user="$(yunohost settings get 'email.smtp.smtp_relay_user')"
|
||||
relay_password="$(yunohost settings get 'email.smtp.smtp_relay_password')"
|
||||
|
||||
# Avoid to display "Relay account paswword" to other users
|
||||
touch ${postfix_dir}/sasl_passwd
|
||||
|
@ -44,17 +46,17 @@ do_pre_regen() {
|
|||
cat <<<"[${relay_host}]:${relay_port} ${relay_user}:${relay_password}" >${postfix_dir}/sasl_passwd
|
||||
fi
|
||||
export main_domain
|
||||
export domain_list="$YNH_DOMAINS"
|
||||
export domain_list="$(yunohost domain list --features mail_in mail_out --output-as json | jq -r ".domains[]" | tr '\n' ' ')"
|
||||
ynh_render_template "main.cf" "${postfix_dir}/main.cf"
|
||||
ynh_render_template "sni" "${postfix_dir}/sni"
|
||||
|
||||
cat postsrsd \
|
||||
| sed "s/{{ main_domain }}/${main_domain}/g" \
|
||||
| sed "s/{{ domain_list }}/${YNH_DOMAINS}/g" \
|
||||
| sed "s/{{ domain_list }}/${domain_list}/g" \
|
||||
>"${default_dir}/postsrsd"
|
||||
|
||||
# adapt it for IPv4-only hosts
|
||||
ipv6="$(yunohost settings get 'smtp.allow_ipv6')"
|
||||
ipv6="$(yunohost settings get 'email.smtp.smtp_allow_ipv6' | int_to_bool)"
|
||||
if [ "$ipv6" == "False" ] || [ ! -f /proc/net/if_inet6 ]; then
|
||||
sed -i \
|
||||
's/ \[::ffff:127.0.0.0\]\/104 \[::1\]\/128//g' \
|
||||
|
@ -68,6 +70,8 @@ do_pre_regen() {
|
|||
do_post_regen() {
|
||||
regen_conf_files=$1
|
||||
|
||||
chown postfix /etc/postfix
|
||||
|
||||
if [ -e /etc/postfix/sasl_passwd ]; then
|
||||
chmod 750 /etc/postfix/sasl_passwd*
|
||||
chown postfix:root /etc/postfix/sasl_passwd*
|
||||
|
|
|
@ -16,9 +16,9 @@ do_pre_regen() {
|
|||
cp dovecot-ldap.conf "${dovecot_dir}/dovecot-ldap.conf"
|
||||
cp dovecot.sieve "${dovecot_dir}/global_script/dovecot.sieve"
|
||||
|
||||
export pop3_enabled="$(yunohost settings get 'pop3.enabled')"
|
||||
export pop3_enabled="$(yunohost settings get 'email.pop3.pop3_enabled' | int_to_bool)"
|
||||
export main_domain=$(cat /etc/yunohost/current_host)
|
||||
export domain_list="$YNH_DOMAINS"
|
||||
export domain_list="$(yunohost domain list --features mail_in mail_out --output-as json | jq -r ".domains[]" | tr '\n' ' ')"
|
||||
|
||||
ynh_render_template "dovecot.conf" "${dovecot_dir}/dovecot.conf"
|
||||
|
||||
|
|
|
@ -26,7 +26,8 @@ do_post_regen() {
|
|||
chown _rspamd /etc/dkim
|
||||
|
||||
# create DKIM key for domains
|
||||
for domain in $YNH_DOMAINS; do
|
||||
domain_list="$(yunohost domain list --features mail_in mail_out --output-as json | jq -r ".domains[]" | tr '\n' ' ')"
|
||||
for domain in $domain_list; do
|
||||
domain_key="/etc/dkim/${domain}.mail.key"
|
||||
[ ! -f "$domain_key" ] && {
|
||||
# We use a 1024 bit size because nsupdate doesn't seem to be able to
|
||||
|
|
|
@ -20,7 +20,7 @@ do_pre_regen() {
|
|||
}
|
||||
|
||||
do_post_regen() {
|
||||
regen_conf_files=$1
|
||||
#regen_conf_files=$1
|
||||
|
||||
# Make sure postgresql is started and enabled
|
||||
# (N.B. : to check the active state, we check the cluster state because
|
||||
|
@ -34,6 +34,8 @@ do_post_regen() {
|
|||
if [ ! -f "$PSQL_ROOT_PWD_FILE" ] || [ -z "$(cat $PSQL_ROOT_PWD_FILE)" ]; then
|
||||
ynh_string_random >$PSQL_ROOT_PWD_FILE
|
||||
fi
|
||||
|
||||
[ ! -e $PSQL_ROOT_PWD_FILE ] || { chown root:postgres $PSQL_ROOT_PWD_FILE; chmod 440 $PSQL_ROOT_PWD_FILE; }
|
||||
|
||||
sudo --login --user=postgres psql -c"ALTER user postgres WITH PASSWORD '$(cat $PSQL_ROOT_PWD_FILE)'" postgres
|
||||
|
||||
|
@ -47,20 +49,4 @@ do_post_regen() {
|
|||
ynh_systemd_action --service_name=postgresql --action=reload
|
||||
}
|
||||
|
||||
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
|
||||
do_$1_regen ${@:2}
|
||||
|
|
|
@ -53,9 +53,6 @@ do_post_regen() {
|
|||
systemctl daemon-reload
|
||||
fi
|
||||
|
||||
systemctl disable avahi-daemon.socket --quiet --now 2>/dev/null || true
|
||||
systemctl disable avahi-daemon --quiet --now 2>/dev/null || true
|
||||
|
||||
# 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 --now --quiet
|
||||
|
|
|
@ -21,9 +21,9 @@ do_pre_regen() {
|
|||
cat plain/resolv.dnsmasq.conf | grep "^nameserver" | shuf >${pending_dir}/etc/resolv.dnsmasq.conf
|
||||
|
||||
# retrieve variables
|
||||
ipv4=$(curl -s -4 https://ip.yunohost.org 2>/dev/null || true)
|
||||
ipv4=$(curl --max-time 10 -s -4 https://ip.yunohost.org 2>/dev/null || true)
|
||||
ynh_validate_ip4 "$ipv4" || ipv4='127.0.0.1'
|
||||
ipv6=$(curl -s -6 https://ip6.yunohost.org 2>/dev/null || true)
|
||||
ipv6=$(curl --max-time 10 -s -6 https://ip6.yunohost.org 2>/dev/null || true)
|
||||
ynh_validate_ip6 "$ipv6" || ipv6=''
|
||||
interfaces="$(ip -j addr show | jq -r '[.[].ifname]|join(" ")')"
|
||||
wireless_interfaces="lo"
|
||||
|
@ -62,7 +62,8 @@ do_post_regen() {
|
|||
regen_conf_files=$1
|
||||
|
||||
# Force permission (to cover some edge cases where root's umask is like 027 and then dnsmasq cant read this file)
|
||||
chown 644 /etc/resolv.dnsmasq.conf
|
||||
chown root /etc/resolv.dnsmasq.conf
|
||||
chmod 644 /etc/resolv.dnsmasq.conf
|
||||
|
||||
# Fuck it, those domain/search entries from dhclient are usually annoying
|
||||
# lying shit from the ISP trying to MiTM
|
||||
|
|
|
@ -14,15 +14,22 @@ do_pre_regen() {
|
|||
mkdir -p "${fail2ban_dir}/jail.d"
|
||||
|
||||
cp yunohost.conf "${fail2ban_dir}/filter.d/yunohost.conf"
|
||||
cp postfix-sasl.conf "${fail2ban_dir}/filter.d/postfix-sasl.conf"
|
||||
cp jail.conf "${fail2ban_dir}/jail.conf"
|
||||
|
||||
export ssh_port="$(yunohost settings get 'security.ssh.port')"
|
||||
export ssh_port="$(yunohost settings get 'security.ssh.ssh_port')"
|
||||
ynh_render_template "yunohost-jails.conf" "${fail2ban_dir}/jail.d/yunohost-jails.conf"
|
||||
}
|
||||
|
||||
do_post_regen() {
|
||||
regen_conf_files=$1
|
||||
|
||||
if ls -l /etc/fail2ban/jail.d/*.conf
|
||||
then
|
||||
chown root:root /etc/fail2ban/jail.d/*.conf
|
||||
chmod 644 /etc/fail2ban/jail.d/*.conf
|
||||
fi
|
||||
|
||||
[[ -z "$regen_conf_files" ]] \
|
||||
|| systemctl reload fail2ban
|
||||
}
|
||||
|
|
|
@ -3,6 +3,6 @@ backup_dir="$1/conf/ynh"
|
|||
cp -a "${backup_dir}/current_host" /etc/yunohost/current_host
|
||||
cp -a "${backup_dir}/firewall.yml" /etc/yunohost/firewall.yml
|
||||
[ ! -d "${backup_dir}/domains" ] || cp -a "${backup_dir}/domains" /etc/yunohost/domains
|
||||
[ ! -e "${backup_dir}/settings.json" ] || cp -a "${backup_dir}/settings.json" "/etc/yunohost/settings.json"
|
||||
[ ! -e "${backup_dir}/settings.yml" ] || cp -a "${backup_dir}/settings.yml" "/etc/yunohost/settings.yml"
|
||||
[ ! -d "${backup_dir}/dyndns" ] || cp -raT "${backup_dir}/dyndns" "/etc/yunohost/dyndns"
|
||||
[ ! -d "${backup_dir}/dkim" ] || cp -raT "${backup_dir}/dkim" "/etc/dkim"
|
||||
|
|
158
locales/ar.json
158
locales/ar.json
|
@ -1,51 +1,47 @@
|
|||
{
|
||||
"action_invalid": "إجراء غير صالح '{action}'",
|
||||
"admin_password": "كلمة السر الإدارية",
|
||||
"admin_password_change_failed": "لا يمكن تعديل الكلمة السرية",
|
||||
"admin_password_changed": "عُدلت كلمة السر الإدارية",
|
||||
"app_already_installed": "{app} تم تنصيبه مِن قبل",
|
||||
"app_already_up_to_date": "{app} حديثٌ",
|
||||
"app_argument_required": "المُعامِل '{name}' مطلوب",
|
||||
"app_extraction_failed": "تعذر فك الضغط عن ملفات التنصيب",
|
||||
"app_install_files_invalid": "ملفات التنصيب خاطئة",
|
||||
"app_install_files_invalid": "لا يمكن تنصيب هذه الملفات",
|
||||
"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_requirements_checking": "جار فحص متطلبات تطبيق {app}…",
|
||||
"app_sources_fetch_failed": "تعذر جلب ملفات المصدر ، هل عنوان URL صحيح؟",
|
||||
"app_unknown": "برنامج مجهول",
|
||||
"app_upgrade_app_name": "جارٍ تحديث {app}…",
|
||||
"app_upgrade_failed": "تعذرت عملية ترقية {app}",
|
||||
"app_upgrade_failed": "تعذرت عملية تحديث {app}: {error}",
|
||||
"app_upgrade_some_app_failed": "تعذرت عملية ترقية بعض التطبيقات",
|
||||
"app_upgraded": "تم تحديث التطبيق {app}",
|
||||
"ask_firstname": "الإسم",
|
||||
"ask_lastname": "اللقب",
|
||||
"ask_main_domain": "النطاق الرئيسي",
|
||||
"ask_new_admin_password": "كلمة السر الإدارية الجديدة",
|
||||
"ask_password": "كلمة السر",
|
||||
"backup_applying_method_copy": "جارٍ نسخ كافة الملفات إلى النسخة الإحتياطية …",
|
||||
"backup_applying_method_copy": "جارٍ نسخ كافة الملفات المراد نسخها احتياطيا …",
|
||||
"backup_applying_method_tar": "جارٍ إنشاء ملف TAR للنسخة الاحتياطية…",
|
||||
"backup_created": "تم إنشاء النسخة الإحتياطية",
|
||||
"backup_created": "تم إنشاء النسخة الإحتياطية: {name}",
|
||||
"backup_method_copy_finished": "إنتهت عملية النسخ الإحتياطي",
|
||||
"backup_nothings_done": "ليس هناك أي شيء للحفظ",
|
||||
"backup_output_directory_required": "يتوجب عليك تحديد مجلد لتلقي النسخ الإحتياطية",
|
||||
"certmanager_cert_install_success": "تمت عملية تنصيب شهادة Let's Encrypt بنجاح على النطاق {domain}",
|
||||
"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} (الملف : {file})",
|
||||
"certmanager_no_cert_file": "تعذرت عملية قراءة ملف شهادة نطاق {domain} (الملف : {file})",
|
||||
"domain_created": "تم إنشاء النطاق",
|
||||
"domain_creation_failed": "تعذرت عملية إنشاء النطاق",
|
||||
"domain_creation_failed": "تعذرت عملية إنشاء النطاق {domain}: {error}",
|
||||
"domain_deleted": "تم حذف النطاق",
|
||||
"domain_exists": "اسم النطاق موجود سلفًا",
|
||||
"domains_available": "النطاقات المتوفرة :",
|
||||
"done": "تم",
|
||||
"downloading": "عملية التنزيل جارية …",
|
||||
"dyndns_ip_updated": "لقد تم تحديث عنوان الإيبي الخاص بك على نظام أسماء النطاقات الديناميكي",
|
||||
"dyndns_key_generating": "عملية توليد مفتاح نظام أسماء النطاقات جارية. يمكن للعملية أن تستغرق بعضا من الوقت…",
|
||||
"dyndns_key_generating": "جارٍ إنشاء مفتاح DNS ... قد يستغرق الأمر بعض الوقت.",
|
||||
"dyndns_key_not_found": "لم يتم العثور على مفتاح DNS الخاص باسم النطاق هذا",
|
||||
"extracting": "عملية فك الضغط جارية …",
|
||||
"extracting": "عملية فك الضغط جارية…",
|
||||
"installation_complete": "إكتملت عملية التنصيب",
|
||||
"main_domain_change_failed": "تعذّر تغيير النطاق الأساسي",
|
||||
"main_domain_changed": "تم تغيير النطاق الأساسي",
|
||||
|
@ -53,17 +49,17 @@
|
|||
"pattern_domain": "يتوجب أن يكون إسم نطاق صالح (مثل my-domain.org)",
|
||||
"pattern_email": "يتوجب أن يكون عنوان بريد إلكتروني صالح (مثل someone@domain.org)",
|
||||
"pattern_password": "يتوجب أن تكون مكونة من 3 حروف على الأقل",
|
||||
"restore_extracting": "جارٍ فك الضغط عن الملفات التي نحتاجها من النسخة الاحتياطية…",
|
||||
"restore_extracting": "جارٍ فك الضغط عن الملفات اللازمة من النسخة الاحتياطية…",
|
||||
"server_shutdown": "سوف ينطفئ الخادوم",
|
||||
"server_shutdown_confirm": "سوف ينطفئ الخادوم حالا. متأكد ؟ [{answers}]",
|
||||
"server_reboot": "سيعاد تشغيل الخادوم",
|
||||
"server_reboot_confirm": "سيعاد تشغيل الخادوم في الحين. هل أنت متأكد ؟ [{answers}]",
|
||||
"service_add_failed": "تعذرت إضافة خدمة '{service}'",
|
||||
"service_already_stopped": "إنّ خدمة '{service}' متوقفة مِن قبلُ",
|
||||
"service_disabled": "لن يتم إطلاق خدمة '{service}' أثناء بداية تشغيل النظام.",
|
||||
"service_enabled": "تم تنشيط خدمة '{service}'",
|
||||
"service_disabled": "لن يتم إطلاق خدمة '{service}' أثناء بداية تشغيل النظام بتاتا.",
|
||||
"service_enabled": "سيتم الآن بدء تشغيل الخدمة '{service}' تلقائيًا أثناء تمهيد النظام.",
|
||||
"service_removed": "تمت إزالة خدمة '{service}'",
|
||||
"service_started": "تم إطلاق تشغيل خدمة '{service}'",
|
||||
"service_started": "تم إطلاق تشغيل خدمة '{service}'",
|
||||
"service_stopped": "تمّ إيقاف خدمة '{service}'",
|
||||
"system_upgraded": "تمت عملية ترقية النظام",
|
||||
"unlimit": "دون تحديد الحصة",
|
||||
|
@ -75,10 +71,10 @@
|
|||
"user_deleted": "تم حذف المستخدم",
|
||||
"user_deletion_failed": "لا يمكن حذف المستخدم",
|
||||
"user_unknown": "المستخدم {user} مجهول",
|
||||
"user_update_failed": "لا يمكن تحديث المستخدم",
|
||||
"user_updated": "تم تحديث المستخدم",
|
||||
"yunohost_installing": "عملية تنصيب يونوهوست جارية …",
|
||||
"yunohost_not_installed": "إنَّ واي يونوهوست ليس مُنَصَّب أو هو مثبت حاليا بشكل خاطئ. قم بتنفيذ الأمر 'yunohost tools postinstall'",
|
||||
"user_update_failed": "لا يمكن تحديث المستخدم {user}: {error}",
|
||||
"user_updated": "تم تحديث معلومات المستخدم",
|
||||
"yunohost_installing": "عملية تنصيب واي يونوهوست جارية …",
|
||||
"yunohost_not_installed": "إنَّ واي يونوهوست ليس مُنَصَّب بشكل جيد. فضلًا قم بتنفيذ الأمر 'yunohost tools postinstall'",
|
||||
"migrations_list_conflict_pending_done": "لا يمكنك استخدام --previous و --done معًا على نفس سطر الأوامر.",
|
||||
"service_description_metronome": "يُدير حسابات الدردشة الفورية XMPP",
|
||||
"service_description_nginx": "يقوم بتوفير النفاذ و السماح بالوصول إلى كافة مواقع الويب المستضافة على خادومك",
|
||||
|
@ -112,7 +108,6 @@
|
|||
"service_description_rspamd": "يقوم بتصفية البريد المزعج و إدارة ميزات أخرى للبريد",
|
||||
"service_description_yunohost-firewall": "يُدير فتح وإغلاق منافذ الاتصال إلى الخدمات",
|
||||
"aborting": "إلغاء.",
|
||||
"admin_password_too_long": "يرجى اختيار كلمة سرية أقصر مِن 127 حرف",
|
||||
"app_not_upgraded": "",
|
||||
"app_start_install": "جارٍ تثبيت {app}…",
|
||||
"app_start_remove": "جارٍ حذف {app}…",
|
||||
|
@ -120,20 +115,17 @@
|
|||
"app_upgrade_several_apps": "سوف يتم تحديث التطبيقات التالية: {apps}",
|
||||
"ask_new_domain": "نطاق جديد",
|
||||
"ask_new_path": "مسار جديد",
|
||||
"global_settings_setting_security_password_admin_strength": "قوة الكلمة السرية الإدارية",
|
||||
"global_settings_setting_security_password_user_strength": "قوة الكلمة السرية للمستخدم",
|
||||
"password_too_simple_1": "يجب أن يكون طول الكلمة السرية على الأقل 8 حروف",
|
||||
"already_up_to_date": "كل شيء على ما يرام. ليس هناك ما يتطلّب تحديثًا.",
|
||||
"service_description_slapd": "يخزّن المستخدمين والنطاقات والمعلومات المتعلقة بها",
|
||||
"service_reloaded": "تم إعادة تشغيل خدمة '{service}'",
|
||||
"service_restarted": "تم إعادة تشغيل خدمة '{service}'",
|
||||
"service_restarted": "تم إعادة تشغيل خدمة '{service}'",
|
||||
"group_unknown": "الفريق '{group}' مجهول",
|
||||
"group_deletion_failed": "فشلت عملية حذف الفريق '{group}': {error}",
|
||||
"group_deleted": "تم حذف الفريق '{group}'",
|
||||
"group_created": "تم إنشاء الفريق '{group}'",
|
||||
"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}",
|
||||
"diagnosis_basesystem_host": "هذا الخادم يُشغّل ديبيان {debian_version}",
|
||||
"diagnosis_basesystem_kernel": "هذا الخادم يُشغّل نواة لينكس {kernel_version}",
|
||||
|
@ -159,5 +151,111 @@
|
|||
"diagnosis_description_dnsrecords": "تسجيلات خدمة DNS",
|
||||
"diagnosis_description_ip": "الإتصال بالإنترنت",
|
||||
"diagnosis_description_basesystem": "النظام الأساسي",
|
||||
"field_invalid": "الحقل غير صحيح : '{}'"
|
||||
}
|
||||
"global_settings_setting_admin_strength": "قوة الكلمة السرية الإدارية",
|
||||
"global_settings_setting_user_strength": "قوة الكلمة السرية للمستخدم",
|
||||
"field_invalid": "الحقل غير صحيح : '{}'",
|
||||
"diagnosis_ignored_issues": "(+ {nb_ignored} مشاكل تم تجاهلها)",
|
||||
"domain_config_mail_in": "البريد الوارد",
|
||||
"domain_config_mail_out": "البريد الخارج",
|
||||
"domain_unknown": "النطاق '{domain}' مجهول",
|
||||
"disk_space_not_sufficient_install": "ليس هناك مساحة كافية لتنصيب هذا التطبيق",
|
||||
"diagnosis_unknown_categories": "الفئات التالية غير معروفة: {categories}",
|
||||
"ask_fullname": "الاسم الكامل (اللقب والاسم)",
|
||||
"diagnosis_ports_unreachable": "المنفذ {port} غير متاح الوصول إليه مِن الخارج.",
|
||||
"domain_config_api_protocol": "بروتوكول API",
|
||||
"domain_config_auth_application_secret": "المفتاح السري للتطبيق",
|
||||
"domain_config_auth_consumer_key": "مفتاح المستخدِم",
|
||||
"domain_config_auth_entrypoint": "نقطة الدخول API",
|
||||
"domain_config_auth_key": "مفتاح التوثيق",
|
||||
"domain_config_cert_issuer": "الهيئة الموثِّقة",
|
||||
"domain_config_cert_renew": "تجديد شهادة Let's Encrypt",
|
||||
"domain_config_cert_summary": "حالة الشهادة",
|
||||
"domain_config_cert_summary_ok": "حسنًا، يبدو أنّ الشهادة الحالية جيدة!",
|
||||
"domain_config_cert_validity": "مدة الصلاحية",
|
||||
"domain_config_xmpp": "المراسَلة الفورية (XMPP)",
|
||||
"global_settings_setting_root_password": "كلمة السر الجديدة لـ root",
|
||||
"global_settings_setting_root_password_confirm": "كلمة السر الجديدة لـ root (تأكيد)",
|
||||
"global_settings_setting_security_experimental_enabled": "ميزات أمان تجريبية",
|
||||
"global_settings_setting_ssh_password_authentication": "الاستيثاق بكلمة سرية",
|
||||
"global_settings_setting_ssh_port": "منفذ SSH",
|
||||
"global_settings_setting_webadmin_allowlist": "قائمة عناوين الإيبي المسموح لها النفاذ إلى واجهة الويب الإدارية",
|
||||
"ask_admin_username": "اسم المستخدِم للمدير",
|
||||
"backup_archive_open_failed": "تعذر فتح النسخة الاحتياطية",
|
||||
"diagnosis_mail_queue_unavailable_details": "خطأ: {error}",
|
||||
"diagnosis_services_bad_status": "خدمة {service} {status} :(",
|
||||
"diagnosis_services_running": "خدمة {service} شغّالة!",
|
||||
"domain_config_cert_install": "تنصيب شهادة Let's Encrypt",
|
||||
"domain_config_cert_summary_letsencrypt": "هنيئا! إنّك تستخدم الآن شهادة Let's Encrypt صالحة!",
|
||||
"domain_config_default_app": "التطبيق الافتراضي",
|
||||
"domain_dns_push_success": "تم تحديث ادخالات سِجِلات نظام أسماء النطاقات!",
|
||||
"dyndns_unavailable": "النطاق '{domain}' غير متوفر.",
|
||||
"global_settings_setting_pop3_enabled": "تفعيل POP3",
|
||||
"diagnosis_ports_ok": "المنفذ {port} مفتوح ومتاح الوصول إليه مِن الخارج.",
|
||||
"global_settings_setting_smtp_allow_ipv6": "سماح IPv6",
|
||||
"disk_space_not_sufficient_update": "ليس هناك مساحة كافية لتحديث هذا التطبيق",
|
||||
"domain_cert_gen_failed": "لا يمكن إعادة توليد الشهادة",
|
||||
"diagnosis_apps_issue": "تم العثور على مشكلة في تطبيق {app}",
|
||||
"tools_upgrade": "تحديث حُزم النظام",
|
||||
"service_description_yunomdns": "يسمح لك بالوصول إلى خادمك الخاص باستخدام 'yunohost.local' في شبكتك المحلية",
|
||||
"good_practices_about_user_password": "أنت الآن على وشك تحديد كلمة مرور مستخدم جديدة. يجب أن تتكون كلمة المرور من 8 أحرف على الأقل - أخذا بعين الإعتبار أنه من الممارسات الجيدة استخدام كلمة مرور أطول (أي عبارة مرور) و / أو مجموعة متنوعة من الأحرف (الأحرف الكبيرة والصغيرة والأرقام والأحرف الخاصة).",
|
||||
"root_password_changed": "تم تغيير كلمة مرور الجذر",
|
||||
"root_password_desynchronized": "تم تغيير كلمة مرور المدير ، لكن لم يتمكن YunoHost من نشرها على كلمة مرور الجذر!",
|
||||
"user_import_bad_line": "سطر غير صحيح {line}: {details}",
|
||||
"user_import_success": "تم استيراد المستخدمين بنجاح",
|
||||
"visitors": "الزوار",
|
||||
"password_too_simple_3": "يجب أن تتكون كلمة المرور من 8 أحرف على الأقل وأن تحتوي على أرقام و حروف كبيرة وصغيرة وأحرف خاصة",
|
||||
"password_too_simple_4": "يجب أن تتكون كلمة المرور من 12 حرفًا على الأقل وأن تحتوي على أرقام وحروف كبيرة وصغيرة وأحرف خاصة",
|
||||
"service_unknown": "الخدمة '{service}' غير معروفة",
|
||||
"unbackup_app": "لن يتم حفظ التطبيق '{app}'",
|
||||
"unrestore_app": "لن يتم استعادة التطبيق '{app}'",
|
||||
"yunohost_already_installed": "إنّ YunoHost مُنصّب مِن قَبل",
|
||||
"hook_name_unknown": "إسم الإجراء '{name}' غير معروف",
|
||||
"app_manifest_install_ask_admin": "اختر مستخدمًا إداريًا لهذا التطبيق",
|
||||
"domain_config_cert_summary_abouttoexpire": "مدة صلاحية الشهادة الحالية على وشك الإنتهاء ومِن المفتَرض أن يتم تجديدها تلقائيا قريبا.",
|
||||
"app_manifest_install_ask_path": "اختر مسار URL (بعد النطاق) حيث ينبغي تنصيب هذا التطبيق",
|
||||
"app_manifest_install_ask_domain": "اختر اسم النطاق الذي ينبغي فيه تنصيب هذا التطبيق",
|
||||
"app_manifest_install_ask_is_public": "هل يجب أن يكون هذا التطبيق ظاهرًا للزوار المجهولين؟",
|
||||
"domain_config_default_app_help": "سيعاد توجيه الناس تلقائيا إلى هذا التطبيق عند فتح اسم النطاق هذا. وإذا لم يُحدَّد أي تطبيق، يعاد توجيه الناس إلى استمارة تسجيل الدخولفي بوابة المستخدمين.",
|
||||
"domain_config_xmpp_help": "ملاحطة: بعض ميزات الـ(إكس إم بي بي) ستتطلب أن تُحدّث سجلاتك الخاصة لـ DNS وتُعيد توليد شهادة Lets Encrypt لتفعيلها",
|
||||
"certmanager_cert_install_failed": "أخفقت عملية تنصيب شهادة Let's Encrypt على {domains}",
|
||||
"app_manifest_install_ask_password": "اختيار كلمة إدارية لهذا التطبيق",
|
||||
"app_id_invalid": "مُعرّف التطبيق غير صالح",
|
||||
"ask_admin_fullname": "الإسم الكامل للمدير",
|
||||
"admins": "المدراء",
|
||||
"all_users": "كافة مستخدمي واي يونوهوست",
|
||||
"ask_user_domain": "اسم النطاق الذي سيُستخدَم لعنوان بريد المستخدِم وكذا لحساب XMPP",
|
||||
"app_change_url_success": "تم تعديل الرابط التشعبي لتطبيق {app} إلى {domain}{path}",
|
||||
"backup_app_failed": "لا يُمكن حِفظ {app}",
|
||||
"pattern_password_app": "آسف، كلمات السر لا يمكن أن تحتوي على الحروف التالية: {forbidden_chars}",
|
||||
"diagnosis_http_could_not_diagnose_details": "خطأ: {error}",
|
||||
"mail_unavailable": "عنوان البريد الإلكتروني هذا مخصص لفريق المدراء",
|
||||
"mailbox_disabled": "صندوق البريد معطل للمستخدم {user}",
|
||||
"migration_0021_cleaning_up": "تنظيف ذاكرة التخزين المؤقت وكذا الحُزم التي تَعُد مفيدة…",
|
||||
"migration_0021_yunohost_upgrade": "بداية تحديث نواة YunoHost…",
|
||||
"migration_ldap_migration_failed_trying_to_rollback": "فشِلَت الهجرة… محاولة استعادة الرجوع إلى النظام.",
|
||||
"migration_ldap_rollback_success": "تمت العودة إلى حالة النظام الأصلي.",
|
||||
"migrations_success_forward": "اكتملت الهجرة {id}",
|
||||
"password_too_simple_2": "يجب أن يكون طول كلمة المرور 8 حروف على الأقل وأن تحتوي على أرقام وحروف علوية ودنيا",
|
||||
"pattern_lastname": "يجب أن يكون لقبًا صالحًا (على الأقل 3 حروف)",
|
||||
"migration_0021_start": "بداية الهجرة إلى Bullseye",
|
||||
"migrations_running_forward": "جارٍ تنفيذ الهجرة {id}…",
|
||||
"password_confirmation_not_the_same": "كلمة المرور وتأكيدها غير متطابقان",
|
||||
"password_too_long": "فضلا قم باختيار كلمة مرور طولها أقل مِن 127 حرفًا",
|
||||
"pattern_fullname": "يجب أن يكون اسماً كاملاً صالحاً (على الأقل 3 حروف)",
|
||||
"migration_0021_main_upgrade": "بداية التحديث الرئيسي…",
|
||||
"migration_0021_patching_sources_list": "تحديث ملف sources.lists…",
|
||||
"pattern_firstname": "يجب أن يكون اسماً أولياً صالحاً (على الأقل 3 حروف)",
|
||||
"yunohost_configured": "تم إعداد YunoHost الآن",
|
||||
"global_settings_setting_backup_compress_tar_archives": "ضغط النُسخ الاحتياطية",
|
||||
"diagnosis_description_apps": "التطبيقات",
|
||||
"danger": "خطر:",
|
||||
"diagnosis_basesystem_hardware": "بنية الخادم هي {virt} {arch}",
|
||||
"diagnosis_basesystem_hardware_model": "طراز الخادم {model}",
|
||||
"diagnosis_mail_queue_ok": "هناك {nb_pending} رسائل بريد إلكتروني معلقة في قوائم انتظار البريد",
|
||||
"diagnosis_mail_ehlo_ok": "يمكن الوصول إلى خادم بريد SMTP من الخارج وبالتالي فهو قادر على استقبال رسائل البريد الإلكتروني!",
|
||||
"diagnosis_dns_good_conf": "تم إعداد سجلات نظام أسماء النطاقات DNS بشكل صحيح للنطاق {domain} (category {category})",
|
||||
"diagnosis_ip_dnsresolution_working": "تحليل اسم النطاق يعمل!",
|
||||
"diagnosis_mail_blacklist_listed_by": "إن عنوان الـ IP الخاص بك أو نطاقك <code>{item}</code> مُدرَج ضمن قائمة سوداء على {blacklist_name}",
|
||||
"diagnosis_mail_outgoing_port_25_ok": "خادم بريد SMTP قادر على إرسال رسائل البريد الإلكتروني (منفذ البريد الصادر 25 غير محظور).",
|
||||
"user_already_exists": "المستخدم '{user}' موجود مِن قَبل"
|
||||
}
|
|
@ -1,8 +1,6 @@
|
|||
{
|
||||
"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} 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} ja està actualitzada",
|
||||
|
@ -22,7 +20,6 @@
|
|||
"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",
|
||||
|
@ -30,8 +27,6 @@
|
|||
"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}",
|
||||
"ask_firstname": "Nom",
|
||||
"ask_lastname": "Cognom",
|
||||
"ask_main_domain": "Domini principal",
|
||||
"ask_new_admin_password": "Nova contrasenya d'administrador",
|
||||
"ask_password": "Contrasenya",
|
||||
|
@ -113,7 +108,6 @@
|
|||
"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}» 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",
|
||||
|
@ -142,26 +136,11 @@
|
|||
"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 « {} »",
|
||||
"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} 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}», 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} 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}",
|
||||
"hook_exec_not_terminated": "El script no s'ha acabat correctament: {path}",
|
||||
|
@ -186,7 +165,6 @@
|
|||
"log_available_on_yunopaste": "Aquest registre està disponible via {url}",
|
||||
"log_backup_restore_system": "Restaura el sistema a partir d'una còpia de seguretat",
|
||||
"log_backup_restore_app": "Restaura « {} » a partir d'una còpia de seguretat",
|
||||
"log_remove_on_failed_restore": "Elimina « {} » després de que la restauració a partir de la còpia de seguretat hagi fallat",
|
||||
"log_remove_on_failed_install": "Elimina « {} » després de que la instal·lació hagi fallat",
|
||||
"log_domain_add": "Afegir el domini « {} » a la configuració del sistema",
|
||||
"log_domain_remove": "Elimina el domini « {} » de la configuració del sistema",
|
||||
|
@ -207,7 +185,6 @@
|
|||
"log_tools_reboot": "Reinicia el servidor",
|
||||
"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)",
|
||||
"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}»",
|
||||
|
@ -266,7 +243,6 @@
|
|||
"restore_running_hooks": "Execució dels hooks de restauració...",
|
||||
"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}]",
|
||||
"server_reboot": "Es reiniciarà el servidor",
|
||||
|
@ -471,7 +447,6 @@
|
|||
"diagnosis_services_running": "El servei {service} s'està executant!",
|
||||
"diagnosis_services_conf_broken": "La configuració pel servei {service} està trencada!",
|
||||
"diagnosis_ports_needed_by": "És necessari exposar aquest port per a les funcions {category} (servei {service})",
|
||||
"global_settings_setting_pop3_enabled": "Activa el protocol POP3 per al servidor de correu",
|
||||
"log_app_action_run": "Executa l'acció de l'aplicació «{}»",
|
||||
"diagnosis_never_ran_yet": "Sembla que el servidor s'ha configurat recentment i encara no hi cap informe de diagnòstic per mostrar. S'ha d'executar un diagnòstic complet primer, ja sigui des de la pàgina web d'administració o utilitzant la comanda «yunohost diagnosis run» al terminal.",
|
||||
"diagnosis_description_web": "Web",
|
||||
|
@ -506,7 +481,6 @@
|
|||
"diagnosis_http_hairpinning_issue": "Sembla que la vostra xarxa no té el hairpinning activat.",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date": "La configuració NGINX d'aquest domini sembla que ha estat modificada manualment, i no deixa que YunoHost diagnostiqui si és accessible amb HTTP.",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date_details": "Per arreglar el problema, mireu les diferències amb la línia d'ordres utilitzant <cmd>yunohost tools regen-conf nginx --dry-run --with-diff</cmd> i si els canvis us semblen bé els podeu fer efectius utilitzant <cmd>yunohost tools regen-conf nginx --force</cmd>.",
|
||||
"global_settings_setting_smtp_allow_ipv6": "Permet l'ús de IPv6 per rebre i enviar correus electrònics",
|
||||
"diagnosis_mail_ehlo_unreachable_details": "No s'ha pogut establir una connexió amb el vostre servidor en el port 25 amb IPv{ipversion}. Sembla que el servidor no és accessible.<br>1. La causa més comú per aquest problema és que el port 25 <a href='https://yunohost.org/isp_box_config'>no està correctament redireccionat cap al vostre servidor</a>.<br>2. També us hauríeu d'assegurar que el servei postfix estigui funcionant.<br>3. En configuracions més complexes: assegureu-vos que que no hi hagi cap tallafoc ni reverse-proxy interferint.",
|
||||
"diagnosis_mail_ehlo_wrong_details": "El EHLO rebut pel servidor de diagnòstic remot amb IPv{ipversion} és diferent al domini del vostre servidor.<br>EHLO rebut: <code>{wrong_ehlo}</code><br>Esperat: <code>{right_ehlo}</code><br>La causa més habitual d'aquest problema és que el port 25 <a href='https://yunohost.org/isp_box_config'>no està correctament reenviat cap al vostre servidor</a>. També podeu comprovar que no hi hagi un tallafocs o un reverse-proxy interferint.",
|
||||
"diagnosis_mail_fcrdns_dns_missing": "No hi ha cap DNS invers definit per IPv{ipversion}. Alguns correus electrònics poden no entregar-se o poden ser marcats com a correu brossa.",
|
||||
|
@ -533,8 +507,6 @@
|
|||
"app_packaging_format_not_supported": "No es pot instal·lar aquesta aplicació ja que el format del paquet no és compatible amb la versió de YunoHost del sistema. Hauríeu de considerar actualitzar el sistema.",
|
||||
"diagnosis_dns_try_dyndns_update_force": "La configuració DNS d'aquest domini hauria de ser gestionada automàticament per YunoHost. Si aquest no és el cas, podeu intentar forçar-ne l'actualització utilitzant <cmd>yunohost dyndns update --force</cmd>.",
|
||||
"regenconf_need_to_explicitly_specify_ssh": "La configuració ssh ha estat modificada manualment, però heu d'especificar explícitament la categoria «ssh» amb --force per fer realment els canvis.",
|
||||
"global_settings_setting_backup_compress_tar_archives": "Comprimir els arxius (.tar.gz) en lloc d'arxius no comprimits (.tar) al crear noves còpies de seguretat. N.B.: activar aquesta opció permet fer arxius de còpia de seguretat més lleugers, però el procés inicial de còpia de seguretat serà significativament més llarg i més exigent a nivell de CPU.",
|
||||
"global_settings_setting_smtp_relay_host": "L'amfitrió de tramesa SMTP que s'ha d'utilitzar per enviar correus electrònics en lloc d'aquesta instància de YunoHost. És útil si esteu en una de les següents situacions: el port 25 està bloquejat per el vostre proveïdor d'accés a internet o proveïdor de servidor privat virtual, si teniu una IP residencial llistada a DUHL, si no podeu configurar el DNS invers o si el servidor no està directament exposat a internet i voleu utilitzar-ne un altre per enviar correus electrònics.",
|
||||
"unknown_main_domain_path": "Domini o ruta desconeguda per a «{app}». Heu d'especificar un domini i una ruta per a poder especificar una URL per al permís.",
|
||||
"show_tile_cant_be_enabled_for_regex": "No podeu activar «show_title» ara, perquè la URL per al permís «{permission}» és una expressió regular",
|
||||
"show_tile_cant_be_enabled_for_url_not_defined": "No podeu activar «show_title» ara, perquè primer s'ha de definir una URL per al permís «{permission}»",
|
||||
|
@ -568,5 +540,13 @@
|
|||
"diagnosis_sshd_config_inconsistent": "Sembla que el port SSH s'ha modificat manualment a /etc/ssh/sshd_config. Des de YunoHost 4.2, hi ha un nou paràmetre global «security.ssh.port» per evitar modificar manualment la configuració.",
|
||||
"diagnosis_sshd_config_insecure": "Sembla que la configuració SSH s'ha modificat manualment, i no es segura ha que no conté la directiva «AllowGroups» o «AllowUsers» per limitar l'accés a usuaris autoritzats.",
|
||||
"backup_create_size_estimation": "L'arxiu tindrà aproximadament {size} de dades.",
|
||||
"app_restore_script_failed": "S'ha produït un error en el script de restauració de l'aplicació"
|
||||
"app_restore_script_failed": "S'ha produït un error en el script de restauració de l'aplicació",
|
||||
"global_settings_setting_backup_compress_tar_archives_help": "Comprimir els arxius (.tar.gz) en lloc d'arxius no comprimits (.tar) al crear noves còpies de seguretat. N.B.: activar aquesta opció permet fer arxius de còpia de seguretat més lleugers, però el procés inicial de còpia de seguretat serà significativament més llarg i més exigent a nivell de CPU.",
|
||||
"global_settings_setting_nginx_compatibility_help": "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_admin_strength": "Robustesa de la contrasenya d'administrador",
|
||||
"global_settings_setting_user_strength": "Robustesa de la contrasenya de l'usuari",
|
||||
"global_settings_setting_postfix_compatibility_help": "Solució de compromís entre compatibilitat i seguretat pel servidor Postfix. Afecta els criptògrafs (i altres aspectes relacionats amb la seguretat)",
|
||||
"global_settings_setting_ssh_compatibility_help": "Solució de compromís entre compatibilitat i seguretat pel servidor SSH. Afecta els criptògrafs (i altres aspectes relacionats amb la seguretat)",
|
||||
"global_settings_setting_smtp_allow_ipv6_help": "Permet l'ús de IPv6 per rebre i enviar correus electrònics",
|
||||
"global_settings_setting_smtp_relay_enabled_help": "L'amfitrió de tramesa SMTP que s'ha d'utilitzar per enviar correus electrònics en lloc d'aquesta instància de YunoHost. És útil si esteu en una de les següents situacions: el port 25 està bloquejat per el vostre proveïdor d'accés a internet o proveïdor de servidor privat virtual, si teniu una IP residencial llistada a DUHL, si no podeu configurar el DNS invers o si el servidor no està directament exposat a internet i voleu utilitzar-ne un altre per enviar correus electrònics."
|
||||
}
|
|
@ -2,9 +2,6 @@
|
|||
"password_too_simple_1": "Heslo musí být aspoň 8 znaků dlouhé",
|
||||
"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}' 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}'",
|
||||
|
@ -49,19 +46,16 @@
|
|||
"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} 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",
|
||||
"global_settings_setting_smtp_relay_port": "SMTP relay port",
|
||||
"global_settings_setting_smtp_relay_host": "Použít SMTP relay hostitele pro odesílání emailů místo této YunoHost instance. Užitečné v různých situacích: port 25 je blokován vaším ISP nebo VPS poskytovatelem, IP adresa je na blacklistu (např. DUHL), nemůžete nastavit reverzní DNS záznam nebo tento server není přímo připojen do internetu a vy chcete použít jiný server k odesílání emailů.",
|
||||
"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}', 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í",
|
||||
"global_settings_setting_security_password_user_strength": "Síla uživatelského hesla",
|
||||
"global_settings_setting_security_password_admin_strength": "Síla administračního hesla"
|
||||
"global_settings_setting_backup_compress_tar_archives_help": "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_admin_strength": "Síla administračního hesla",
|
||||
"global_settings_setting_user_strength": "Síla uživatelského hesla",
|
||||
"global_settings_setting_postfix_compatibility_help": "Kompromis mezi kompatibilitou a bezpečností Postfix serveru. Ovlivní šifry a další související bezpečnostní nastavení",
|
||||
"global_settings_setting_ssh_compatibility_help": "Kompromis mezi kompatibilitou a bezpečností SSH serveru. Ovlivní šifry a další související bezpečnostní nastavení",
|
||||
"global_settings_setting_ssh_port": "SSH port",
|
||||
"global_settings_setting_smtp_allow_ipv6_help": "Povolit použití IPv6 pro příjem a odesílání emailů",
|
||||
"global_settings_setting_smtp_relay_enabled_help": "Použít SMTP relay hostitele pro odesílání emailů místo této YunoHost instance. Užitečné v různých situacích: port 25 je blokován vaším ISP nebo VPS poskytovatelem, IP adresa je na blacklistu (např. DUHL), nemůžete nastavit reverzní DNS záznam nebo tento server není přímo připojen do internetu a vy chcete použít jiný server k odesílání emailů."
|
||||
}
|
152
locales/de.json
152
locales/de.json
|
@ -1,14 +1,12 @@
|
|||
{
|
||||
"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} ist schon installiert",
|
||||
"app_argument_choice_invalid": "Wähle einen gültigen Wert für das Argument '{name}': '{value}' ist nicht unter den verfügbaren Auswahlmöglichkeiten ({choices})",
|
||||
"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_id_invalid": "Falsche Applikations-ID",
|
||||
"app_install_files_invalid": "Diese Dateien können nicht installiert werden",
|
||||
"app_not_installed": "{app} konnte nicht in der Liste installierter Apps gefunden werden: {all_apps}",
|
||||
"app_removed": "{app} wurde entfernt",
|
||||
|
@ -16,8 +14,6 @@
|
|||
"app_unknown": "Unbekannte App",
|
||||
"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",
|
||||
|
@ -137,8 +133,7 @@
|
|||
"not_enough_disk_space": "Nicht genügend freier Speicherplatz unter '{path}'",
|
||||
"backup_creation_failed": "Konnte Backup-Archiv nicht erstellen",
|
||||
"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_requirements_checking": "Überprüfe Voraussetzungen für {app}...",
|
||||
"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})",
|
||||
"domains_available": "Verfügbare Domains:",
|
||||
|
@ -150,8 +145,8 @@
|
|||
"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ü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} unterscheidet sich von dieser Server-IP. Für weitere Informationen überprüfe bitte die 'DNS records' (basic) Kategorie in der Diagnose. Wenn du kürzlich deinen A-Eintrag verändert hast, warte bitte etwas, damit die Änderungen wirksam werden (Du kannst die DNS-Propagation mittels Website überprüfen) (Wenn du weißt, was du tust, kannst du '--no-checks' benutzen, um diese Überprüfung zu überspringen.)",
|
||||
"certmanager_domain_http_not_working": "Es scheint, als ob die Domäne '{domain}' über HTTP nicht erreichbar ist. Bitte schauen Sie sich die 'Web'-Kategorie in der Diagnose an für weitere Informationen. (Wenn Sie wissen, was Sie tun, nutzen Sie '--no-checks' um die Überprüfung zu deaktivieren.)",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "Die DNS-Einträge der Domäne '{domain}' unterscheiden sich von der IP dieses Servers. Für weitere Informationen überprüfen Sie bitte die Kategorie \"DNS-Einträge\" (basic) in der Diagnose. Wenn Sie kürzlich Ihren A-Eintrag verändert haben, warten Sie bitte ein wenig, bis die Änderungen wirksam werden (es gibt Online-Checks für die DNS-Propagation). (Wenn Sie wissen, was Sie tun, können Sie '--no-checks' verwenden, 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",
|
||||
|
@ -161,7 +156,7 @@
|
|||
"certmanager_no_cert_file": "Die Zertifikatsdatei für die Domain {domain} (Datei: {file}) konnte nicht gelesen werden",
|
||||
"domain_cannot_remove_main": "Die Domäne '{domain}' konnten nicht entfernt werden, weil es die Haupt-Domäne ist. Du musst zuerst eine andere Domäne zur Haupt-Domäne machen. Dies ist über den Befehl 'yunohost domain main-domain -n <another-domain>' möglich. Hier ist eine Liste möglicher 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 deiner nginx-Konfiguration das entsprechende Code-Snippet fehlt... Bitte stelle sicher, dass deine nginx-Konfiguration mit 'yunohost tools regen-conf nginx --dry-run --with-diff' auf dem neuesten Stand ist.",
|
||||
"certmanager_acme_not_configured_for_domain": "Die ACME-Challenge für {domain} kann momentan nicht ausgeführt werden, weil in Ihrer nginx-Konfiguration 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})",
|
||||
"domain_hostname_failed": "Neuer Hostname wurde nicht gesetzt. Das kann zukünftige Probleme verursachen (es kann auch sein, dass es funktioniert).",
|
||||
"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.",
|
||||
|
@ -176,17 +171,14 @@
|
|||
"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. Du hast '{choice}' eingegeben. Aber nur folgende Werte sind gültig: {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. Du solltest sie nur verwenden, wenn du weißt, was du tust.",
|
||||
"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.",
|
||||
"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 Applikation ist nicht Teil des App-Katalogs von YunoHost. Die Installation von Drittanbieter Applikationen kann die Integrität und Sicherheit Ihres Systems gefährden. Sie sollten sie NICHT installieren, wenn Sie nicht wissen, was Sie tun. Es wird KEIN SUPPORT geleistet, wenn diese Applikation nicht funktioniert oder Ihr System beschädigt! Wenn Sie dieses Risiko trotzdem eingehen wollen, geben Sie '{answers}' ein",
|
||||
"confirm_app_install_danger": "WARNUNG! Diese Applikation ist noch experimentell (wenn nicht sogar ausdrücklich nicht funktionsfähig)! Du solltest sie wahrscheinlich NICHT installieren, es sei denn, du weißt, was du tust. Es wird keine Unterstützung angeboten, falls diese Applikation nicht funktionieren oder dein System beschädigen sollte... Falls du bereit bist, dieses Risiko einzugehen, tippe '{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}] ",
|
||||
"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",
|
||||
|
@ -217,11 +209,9 @@
|
|||
"aborting": "Breche ab.",
|
||||
"app_action_cannot_be_ran_because_required_services_down": "Diese erforderlichen Dienste sollten zur Durchführung dieser Aktion laufen: {services}. Versuche, sie neu zu starten, um fortzufahren (und möglicherweise zu untersuchen, warum sie nicht verfügbar sind).",
|
||||
"already_up_to_date": "Nichts zu tun. Alles ist bereits auf dem neusten Stand.",
|
||||
"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} 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: {error}",
|
||||
"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.",
|
||||
|
@ -232,33 +222,21 @@
|
|||
"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ä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}', 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}'",
|
||||
"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}",
|
||||
"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} gesichert",
|
||||
"log_app_upgrade": "Upgrade der Applikation '{}'",
|
||||
"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}",
|
||||
"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 Anmeldepassworts",
|
||||
"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}' 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} 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.",
|
||||
|
@ -289,7 +267,7 @@
|
|||
"diagnosis_cache_still_valid": "(Cache noch gültig für {category} Diagnose. Es wird 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_dnsresolution": "Domänennamen-Auflösung scheint aus einem bestimmten Grund nicht zu funktionieren... Blockiert vielleicht eine Firewall die DNS-Anfragen?",
|
||||
"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 du die DNS-Resolver manuell konfigurieren möchtest, bearbeite bitte <code>/etc/resolv.dnsmasq.conf</code>.",
|
||||
"diagnosis_dns_good_conf": "DNS Einträge korrekt konfiguriert für die Domäne {domain} (Kategorie {category})",
|
||||
|
@ -303,7 +281,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. Am besten solltest du dein System aktualisieren.",
|
||||
"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.)",
|
||||
"certmanager_domain_not_diagnosed_yet": "Für die Domäne {domain} gibt es noch keine Diagnose-Resultate. 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. (Wenn Sie wissen was Sie tun, können Sie --no-checks benutzen, um diese Überprüfung zu überspringen.)",
|
||||
"mail_unavailable": "Diese E-Mail Adresse ist reserviert und wird dem ersten Konto automatisch zugewiesen",
|
||||
"diagnosis_services_conf_broken": "Die Konfiguration für den Dienst {service} ist fehlerhaft!",
|
||||
"diagnosis_services_running": "Dienst {service} läuft!",
|
||||
|
@ -313,7 +291,7 @@
|
|||
"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önntest Du mittels <cmd>yunohost dyndns update --force</cmd> ein Update erzwingen.",
|
||||
"diagnosis_dns_point_to_doc": "Bitte schaue in der Dokumentation unter <a href='https://yunohost.org/dns_config'>https://yunohost.org/dns_config</a> nach, wenn du Hilfe bei der Konfiguration der DNS-Einträge benötigst.",
|
||||
"diagnosis_dns_point_to_doc": "Bitte schauen Sie in der Dokumentation unter <a href='https://yunohost.org/dns_config'>https://yunohost.org/dns_config</a> nach, wenn Sie Hilfe bei der Konfiguration der DNS-Einträge benötigen.",
|
||||
"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 solltest du einen DNS-Eintrag mit den folgenden Informationen hinzufügen.<br>Typ: <code>{type}</code><br>Name: <code>{name}</code><br>Wert: <code>{value}</code>",
|
||||
"diagnosis_dns_bad_conf": "Einige DNS-Einträge für die Domäne {domain} fehlen oder sind nicht korrekt (Kategorie {category})",
|
||||
|
@ -324,14 +302,14 @@
|
|||
"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}). Du solltest ernsthaft in Betracht ziehen, etwas 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 dir 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. Schaue unter <a href='https://yunohost.org/#/vpn_advantage'>https://yunohost.org/#/vpn_advantage</a> nach.<br>- Du kannst 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 deinem Server weitergeleitet werden</a>.<br>2. Du solltest auch sicherstellen, daß der Dienst nginx läuft.<br>3. In komplexeren Umgebungen: Stelle sicher, daß keine Firewall oder Reverse-Proxy stört.",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_relay_vpn": "Einige Hosting-Anbieter werden es Ihnen nicht gestatten, den ausgehenden Port 25 zu öffnen, weil Ihnen die Netzneutralität nichts bedeutet.<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 Alternative, welche die Privatsphäre berücksichtigt, wäre die Verwendung eines VPN *mit einer öffentlichen dedizierten 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 überschritten, von Aussen eine Verbindung zu Ihrem Server aufzubauen. Er scheint nicht erreichbar zu sein.<br>1. Die häufigste Ursache für dieses Problem ist, dass die Ports 80 und 433 <a href='https://yunohost.org/isp_box_config'>nicht richtig zu Ihrem Server weitergeleitet werden</a>.<br>2. Sie sollten zudem sicherstellen, dass der Dienst nginx läuft.<br>3. In komplexeren Umgebungen: Stellen Sie sicher, dass keine Firewall oder Reverse-Proxy stört .",
|
||||
"service_reloaded_or_restarted": "Der Dienst '{service}' wurde erfolgreich neu geladen oder gestartet",
|
||||
"service_restarted": "Der Dienst '{service}' wurde neu gestartet",
|
||||
"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_ports_ok": "Port {port} ist von Aussen 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": "Du solltest zuerst versuchen den ausgehenden Port 25 auf deiner Router-Konfigurationsoberfläche oder deiner Hosting-Anbieter-Konfigurationsoberfläche zu öffnen. (Bei einigen Hosting-Anbietern kann es sein, daß sie verlangen, daß man dafür ein Support-Ticket sendet).",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_details": "Sie sollten zuerst versuchen, den ausgehenden Port 25 in Ihrer Router-Konfigurationsoberfläche oder in der Konfigurationsoberfläche Ihres Hosting-Anbieters zu öffnen. (Bei einigen Hosting-Anbietern kann es sein, dass man von Ihnen verlangt, dass Sie dafür ein Support-Ticket erstellen).",
|
||||
"diagnosis_mail_ehlo_ok": "Der SMTP-Server ist von von außen erreichbar und darum auch in der Lage E-Mails zu empfangen!",
|
||||
"diagnosis_mail_ehlo_bad_answer": "Ein nicht-SMTP-Dienst antwortete auf Port 25 per IPv{ipversion}",
|
||||
"diagnosis_swap_notsomuch": "Das System hat nur {total} Swap. Du solltest dir überlegen mindestens {recommended} an Swap einzurichten, um Situationen zu verhindern, in welchen der RAM des Systems knapp wird.",
|
||||
|
@ -358,13 +336,13 @@
|
|||
"log_letsencrypt_cert_renew": "Erneuern des Let's Encrypt-Zeritifikates von '{}'",
|
||||
"log_selfsigned_cert_install": "Das selbstsignierte Zertifikat auf der Domäne '{}' installieren",
|
||||
"log_letsencrypt_cert_install": "Das Let’s Encrypt auf der Domäne '{}' installieren",
|
||||
"diagnosis_mail_fcrdns_nok_details": "Du solltest zuerst versuchen, in deiner Internet-Router-Oberfläche oder in deiner Hosting-Anbieter-Oberfläche den Reverse-DNS-Eintrag mit <code>{ehlo_domain}</code>zu konfigurieren. (Gewisse Hosting-Anbieter können dafür möglicherweise verlangen, dass du dafür ein Support-Ticket erstellst).",
|
||||
"diagnosis_mail_fcrdns_dns_missing": "Es wurde kein Reverse-DNS-Eintrag definiert für IPv{ipversion}. Einige E-Mails könnten möglicherweise zurückgewiesen oder als Spam markiert werden.",
|
||||
"diagnosis_mail_fcrdns_nok_details": "Sie sollten zuerst versuchen, auf Ihrer Internet-Router-Oberfläche, in Ihrer Internet-Box oder auf Ihrer Hosting-Anbieter-Oberfläche den Reverse-DNS-Eintrag mit <code>{ehlo_domain}</code>zu konfigurieren. (Gewisse Hosting-Anbieter können möglicherweise verlangen, dass Sie dafür ein Support-Ticket erstellen).",
|
||||
"diagnosis_mail_fcrdns_dns_missing": "Kein Reverse-DNS-Eintrag ist definiert für IPv{ipversion}. Einige E-Mails könnten eventuell nicht zugestellt oder als Spam markiert werden.",
|
||||
"diagnosis_mail_fcrdns_ok": "Dein Reverse-DNS-Eintrag ist korrekt konfiguriert!",
|
||||
"diagnosis_mail_ehlo_could_not_diagnose_details": "Fehler: {error}",
|
||||
"diagnosis_mail_ehlo_could_not_diagnose": "Konnte nicht überprüfen, ob der Postfix-Mail-Server von aussen per IPv{ipversion} erreichbar ist.",
|
||||
"diagnosis_mail_ehlo_could_not_diagnose": "Es war nicht möglich zu diagnostizieren, ob der Postfix-Mailserver von Aussen über IPv{ipversion} erreichbar ist.",
|
||||
"diagnosis_mail_ehlo_wrong_details": "Die vom Remote-Diagnose-Server per IPv{ipversion} empfangene EHLO weicht von der Domäne deines Servers ab. <br>Empfangene EHLO: <code>{wrong_ehlo}</code><br>Erwartet: <code>{right_ehlo}</code> <br> Die geläufigste Ursache für dieses Problem ist, dass der Port 25 <a href='https://yunohost.org/isp_box_config'> nicht korrekt auf deinem Server weitergeleitet wird</a>. Du kannst zusätzlich auch prüfen, dass keine Firewall oder Reverse-Proxy stört.",
|
||||
"diagnosis_mail_ehlo_bad_answer_details": "Das könnte daran liegen, dass anstelle deines Servers eine andere Maschine antwortet.",
|
||||
"diagnosis_mail_ehlo_bad_answer_details": "Das könnte daran liegen, dass anstelle Ihres Servers ein anderes Gerät antwortet.",
|
||||
"ask_user_domain": "Domäne, welche für die E-Mail-Adresse und den XMPP-Account des Kontos verwendet werden soll",
|
||||
"app_manifest_install_ask_is_public": "Soll diese Applikation für Gäste sichtbar sein?",
|
||||
"app_manifest_install_ask_admin": "Wähle einen Administrator für diese Applikation",
|
||||
|
@ -372,9 +350,9 @@
|
|||
"diagnosis_mail_blacklist_listed_by": "Deine IP-Adresse oder Domäne <code>{item}</code> ist auf der Blacklist auf {blacklist_name}",
|
||||
"diagnosis_mail_blacklist_ok": "Die IP-Adressen und die Domänen, welche von diesem Server verwendet werden, scheinen nicht auf einer Blacklist zu sein",
|
||||
"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 dir nicht erlauben, deinen Reverse-DNS-Eintrag zu konfigurieren (oder ihre Funktionalität könnte defekt sein ...). Falls du deinen Reverse-DNS-Eintrag für IPv4 korrekt konfiguiert ist, kannst du versuchen, die Verwendung von IPv6 für das Versenden von E-Mails auszuschalten, indem du den Befehl <cmd>yunohost settings set smtp.allow_ipv6 -v off</cmd> ausführst. Bemerkung: Die Folge dieser letzten Lösung ist, dass du mit Servern, welche ausschliesslich über IPv6 verfügen, keine E-Mails mehr versenden oder empfangen kannst.",
|
||||
"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_fcrdns_different_from_ehlo_domain": "Reverse-DNS-Eintrag ist nicht korrekt konfiguriert für IPv{ipversion}. Einige E-Mails könnten eventuell nicht zugestellt oder als Spam markiert werden.",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_6": "Einige Provider werden es Ihnen vermutlich nicht erlauben, den Reverse-DNS-Eintrag zu konfigurieren (oder vielleicht ist diese Funktion beschädigt...). Falls Sie Ihren Reverse-DNS-Eintrag für IPv4 korrekt konfiguriert haben, 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 nur über IPv6 verfügen, keine E-Mails mehr versenden oder empfangen können.",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_4": "Einige Anbieter werden es nicht zulassen, den Reverse-DNS zu konfigurieren (oder diese Funktion 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",
|
||||
|
@ -405,7 +383,7 @@
|
|||
"diagnosis_package_installed_from_sury": "Einige System-Pakete sollten gedowngradet werden",
|
||||
"diagnosis_ports_forwarding_tip": "Um dieses Problem zu beheben, musst du höchstwahrscheinlich die Port-Weiterleitung auf deinem Internet-Router einrichten wie in <a href='https://yunohost.org/isp_box_config'>https://yunohost.org/isp_box_config</a> beschrieben",
|
||||
"diagnosis_regenconf_manually_modified_details": "Das ist wahrscheinlich OK wenn du weißt, was du tust! YunoHost wird in Zukunft diese Datei nicht mehr automatisch updaten... Aber sei bitte vorsichtig, da die zukünftigen Upgrades von YunoHost wichtige empfohlene Änderungen enthalten könnten. Wenn du möchtest, kannst du die Unterschiede mit <cmd>yunohost tools regen-conf {category} --dry-run --with-diff</cmd> inspizieren und mit <cmd>yunohost tools regen-conf {category} --force</cmd> auf das Zurücksetzen die empfohlene Konfiguration erzwingen",
|
||||
"diagnosis_mail_blacklist_website": "Nachdem du herausgefunden hast, weshalb du auf die Blacklist gesetzt wurdest und dies behoben hast, zögere nicht, nachzufragen, ob deine IP-Adresse oder Ihre Domäne von auf {blacklist_website} entfernt wird",
|
||||
"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 oder Ihre Domäne von {blacklist_website} entfernt werden kann",
|
||||
"diagnosis_unknown_categories": "Folgende Kategorien sind unbekannt: {categories}",
|
||||
"diagnosis_http_hairpinning_issue": "In deinem 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",
|
||||
|
@ -423,8 +401,8 @@
|
|||
"diagnosis_http_nginx_conf_not_up_to_date": "Die Konfiguration von Nginx scheint für diese Domäne manuell geändert worden zu sein. Dies hindert YunoHost daran festzustellen, ob es über HTTP erreichbar ist.",
|
||||
"diagnosis_http_bad_status_code": "Es sieht so aus als ob ein anderes Gerät (vielleicht dein Router/Modem) anstelle deines Servers antwortet.<br>1. Der häufigste Grund hierfür ist, dass Port 80 (und 443) <a href='https://yunohost.org/isp_box_config'> nicht korrekt zu deinem Server weiterleiten</a>.<br>2. Bei komplexeren Setups: prüfe ob deine Firewall oder Reverse-Proxy die Verbindung stören.",
|
||||
"diagnosis_never_ran_yet": "Es sieht so aus, als wäre dieser Server erst kürzlich eingerichtet worden und es gibt noch keinen Diagnosebericht, der angezeigt werden könnte. Sie sollten zunächst eine vollständige Diagnose durchführen, entweder über die Web-Oberfläche oder mit \"yunohost diagnosis run\" von der Kommandozeile aus.",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date_details": "Um dieses Problem zu beheben, gebe in der Kommandozeile <cmd>yunohost tools regen-conf nginx --dry-run --with-diff</cmd> ein. Dieses Tool zeigt dir den Unterschied an. Wenn du damit einverstanden bist, kannst du mit <cmd>yunohost tools regen-conf nginx --force</cmd> die Änderungen übernehmen.",
|
||||
"diagnosis_backports_in_sources_list": "Du hast anscheinend apt (den Paketmanager) für das Backports-Repository konfiguriert. Wir raten strikte davon ab, Pakete aus dem Backports-Repository zu installieren. Diese würden wahrscheinlich zu Instabilitäten und Konflikten führen. Es sei denn, du weißt, was du tust.",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date_details": "Um dieses Problem zu beheben, geben Sie in der Kommandozeile <cmd>yunohost tools regen-conf nginx --dry-run --with-diff</cmd> ein, um die Unterschiede anzuzeigen. Wenn Sie damit einverstanden sind, können Sie mit <cmd>yunohost tools regen-conf nginx --force</cmd> die Änderungen übernehmen.",
|
||||
"diagnosis_backports_in_sources_list": "Sie haben vermutlich apt (den Paketmanager) für das Backports-Repository konfiguriert. Wir raten strikte davon ab, Pakete aus dem Backports-Repository zu installieren. Diese würden wahrscheinlich zu Instabilitäten und Konflikten führen. Es sei denn, Sie, was Sie tun.",
|
||||
"diagnosis_basesystem_hardware_model": "Das Servermodell ist {model}",
|
||||
"group_user_not_in_group": "Konto {user} ist nicht in der Gruppe {group}",
|
||||
"group_user_already_in_group": "Konto {user} ist bereits in der Gruppe {group}",
|
||||
|
@ -436,14 +414,9 @@
|
|||
"global_settings_setting_smtp_relay_password": "SMTP Relay Host Passwort",
|
||||
"global_settings_setting_smtp_relay_user": "SMTP Relay Benutzer Account",
|
||||
"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": "Sie können '{domain}' nicht entfernen, da es die Hauptdomäne und Ihre einzige Domäne ist. Sie müssen zuerst eine andere Domäne mit 'yunohost domain add <domäne.com>' hinzufügen, dann als Hauptdomäne mit 'yunohost domain main-domain -n <domäne.com>' festlegen und dann können Sie die Domäne '{domain}' mit 'yunohost domain remove {domain}' entfernen'.'",
|
||||
"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 du in einer der folgenden Situationen bist: Dein ISP- oder VPS-Provider hat deinen Port 25 geblockt, eine deinen residentiellen IPs ist auf DUHL gelistet, du kannst keinen Reverse-DNS konfigurieren oder dieser Server ist nicht direkt mit dem Internet verbunden und du möchtest einen anderen verwenden, um E-Mails zu versenden.",
|
||||
"global_settings_setting_backup_compress_tar_archives": "Beim Erstellen von Backups die Archive komprimieren (.tar.gz) anstelle von unkomprimierten Archiven (.tar). N.B. : Diese Option ergibt leichtere Backup-Archive, aber das initiale Backupprozedere wird länger dauern und mehr CPU brauchen.",
|
||||
"log_remove_on_failed_restore": "Entfernen von '{}' nach einer fehlgeschlagenen Wiederherstellung aus einem Sicherungsarchiv",
|
||||
"log_backup_restore_app": "Wiederherstellen von '{}' aus einem Sicherungsarchiv",
|
||||
"log_backup_restore_system": "System aus einem Sicherungsarchiv wiederherstellen",
|
||||
"log_available_on_yunopaste": "Das Protokoll ist nun via {url} verfügbar",
|
||||
|
@ -548,7 +521,6 @@
|
|||
"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.",
|
||||
"global_settings_setting_ssowat_panel_overlay_enabled": "Das SSOwat-Overlay-Panel aktivieren",
|
||||
"global_settings_setting_security_ssh_port": "SSH-Port",
|
||||
"diagnosis_sshd_config_inconsistent_details": "Bitte führe <cmd>yunohost settings set security.ssh.port -v YOUR_SSH_PORT</cmd> aus, um den SSH-Port festzulegen, und prüfe <cmd> yunohost tools regen-conf ssh --dry-run --with-diff</cmd> und <cmd>yunohost tools regen-conf ssh --force</cmd> um deine Konfiguration auf die YunoHost-Empfehlung zurückzusetzen.",
|
||||
"regex_incompatible_with_tile": "/!\\ Packagers! Für Berechtigung '{permission}' ist show_tile auf 'true' gesetzt und deshalb kannst du keine regex-URL als Hauptdomäne setzen",
|
||||
"permission_cant_add_to_all_users": "Die Berechtigung {permission} kann nicht für allen Konten hinzugefügt werden.",
|
||||
|
@ -571,7 +543,6 @@
|
|||
"server_reboot": "Der Server wird neu gestartet",
|
||||
"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": "Du kannst 'show_tile' momentan nicht aktivieren, weil die URL für die Berechtigung '{permission}' ein regulärer Ausdruck ist",
|
||||
"show_tile_cant_be_enabled_for_url_not_defined": "Momentan kannst du 'show_tile' nicht aktivieren, weil du zuerst eine URL für die Berechtigung '{permission}' definieren musst",
|
||||
"this_action_broke_dpkg": "Diese Aktion hat unkonfigurierte Pakete verursacht, welche durch dpkg/apt (die Paketverwaltungen dieses Systems) zurückgelassen wurden... Du kannst versuchen dieses Problem zu lösen, indem du 'sudo apt install --fix-broken' und/oder 'sudo dpkg --configure -a' ausführst.",
|
||||
|
@ -580,8 +551,6 @@
|
|||
"yunohost_postinstall_end_tip": "Post-install ist fertig! Um das Setup abzuschliessen, wird empfohlen:\n - ein erstes Konto über den Bereich 'Konto' 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": "Das Konto '{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 aktualisieren",
|
||||
"disk_space_not_sufficient_install": "Es ist nicht genügend Speicherplatz frei, um diese Applikation zu installieren",
|
||||
"danger": "Warnung:",
|
||||
|
@ -595,14 +564,13 @@
|
|||
"diagnosis_apps_issue": "Ein Problem für die App {app} ist aufgetreten",
|
||||
"config_validate_time": "Sollte eine zulässige Zeit wie HH:MM sein",
|
||||
"config_validate_url": "Sollte eine zulässige web URL sein",
|
||||
"config_version_not_supported": "Konfigurationspanel Versionen '{version}' sind nicht unterstützt.",
|
||||
"diagnosis_apps_allgood": "Alle installierten Apps berücksichtigen die grundlegenden Paketierungspraktiken",
|
||||
"diagnosis_apps_broken": "Diese App ist im YunoHost-Applikationskatalog momentan als defekt gekennzeichnet. Es könnte sich dabei um einen vorübergehendes Problem handeln. Während der/die Betreuer:in versucht das Problem zu beheben, ist die Upgrade-Funktion für diese App gesperrt.",
|
||||
"diagnosis_apps_not_in_app_catalog": "Diese App fehlt im Applikationskatalog von YunoHost oder wird in diesem nicht mehr angezeigt. Du solltest in Betracht ziehen, sie zu deinstallieren, weil sie keine Aktualisierungen mehr erhält und die Integrität und die Sicherheit deines Systems kompromittieren könnte.",
|
||||
"diagnosis_apps_outdated_ynh_requirement": "Die installierte Version dieser App erfordert nur YunoHost >=2.x, was darauf hinweist, dass die App nicht nach aktuell empfohlenen Paketierungspraktiken und mit aktuellen Helpern erstellt worden ist. Du solltest wirklich in Betracht ziehen, sie zu aktualisieren.",
|
||||
"diagnosis_apps_not_in_app_catalog": "Diese Applikation steht nicht im Applikationskatalog von YunoHost. Sie sollten in Betracht ziehen, sie zu deinstallieren, weil sie keine Aktualisierungen mehr erhält und die Integrität und die Sicherheit Ihres Systems kompromittieren könnte.",
|
||||
"diagnosis_apps_outdated_ynh_requirement": "Die installierte Version dieser Applikation erfordert nur YunoHost >=2.x oder 3.x, was darauf hinweisen könnte, dass die Applikation nicht nach aktuell empfohlenen Paketierungspraktiken und mit aktuellen Helpern erstellt worden ist. Sie sollten wirklich in Betracht ziehen, sie zu aktualisieren.",
|
||||
"diagnosis_description_apps": "Applikationen",
|
||||
"config_cant_set_value_on_section": "Du kannst einen einzelnen Wert nicht auf einen gesamten Konfigurationsbereich anwenden.",
|
||||
"diagnosis_apps_deprecated_practices": "Die installierte Version dieser App verwendet immer noch gewisse veraltete Paketierungspraktiken. Du solltest die App wirklich aktualisieren.",
|
||||
"diagnosis_apps_deprecated_practices": "Die installierte Version dieser Applikation verwendet gewisse veraltete Paketierungspraktiken. Sie sollten sie wirklich aktualisieren.",
|
||||
"app_config_unable_to_apply": "Konnte die Werte des Konfigurations-Panels nicht anwenden.",
|
||||
"app_config_unable_to_read": "Konnte die Werte des Konfigurations-Panels nicht auslesen.",
|
||||
"config_unknown_filter_key": "Der Filterschlüssel '{filter_key}' ist inkorrekt.",
|
||||
|
@ -618,8 +586,6 @@
|
|||
"domain_unknown": "Domäne '{domain}' unbekannt",
|
||||
"ldap_server_is_down_restart_it": "Der LDAP-Dienst ist nicht erreichbar, versuche ihn neu zu starten...",
|
||||
"user_import_bad_file": "Deine CSV-Datei ist nicht korrekt formatiert und wird daher ignoriert, um einen möglichen Datenverlust zu vermeiden",
|
||||
"global_settings_setting_security_experimental_enabled": "Aktiviere experimentelle Sicherheitsfunktionen (nur aktivieren, wenn Du weißt was Du tust!)",
|
||||
"global_settings_setting_security_nginx_redirect_to_https": "HTTP-Anfragen standardmäßig auf HTTPs umleiten (NICHT AUSSCHALTEN, sofern Du nicht weißt was Du tust!)",
|
||||
"user_import_missing_columns": "Die folgenden Spalten fehlen: {columns}",
|
||||
"user_import_nothing_to_do": "Es muss kein Konto importiert werden",
|
||||
"user_import_partial_failed": "Der Import von Konten ist teilweise fehlgeschlagen",
|
||||
|
@ -637,7 +603,6 @@
|
|||
"domain_dns_push_success": "DNS-Einträge aktualisiert!",
|
||||
"domain_dns_push_failed": "Die Aktualisierung der DNS-Einträge ist leider gescheitert.",
|
||||
"domain_dns_push_partial_failure": "DNS-Einträge teilweise aktualisiert: einige Warnungen/Fehler wurden gemeldet.",
|
||||
"domain_config_features_disclaimer": "Bisher hat das Aktivieren/Deaktivieren von Mail- oder XMPP-Funktionen nur Auswirkungen auf die empfohlene und automatische DNS-Konfiguration, nicht auf die Systemkonfigurationen!",
|
||||
"domain_config_mail_in": "Eingehende E-Mails",
|
||||
"domain_config_mail_out": "Ausgehende E-Mails",
|
||||
"domain_config_xmpp": "Instant Messaging (XMPP)",
|
||||
|
@ -651,7 +616,6 @@
|
|||
"domain_config_auth_consumer_key": "Verbraucherschlüssel",
|
||||
"invalid_number_min": "Muss größer sein als {min}",
|
||||
"invalid_number_max": "Muss kleiner sein als {max}",
|
||||
"invalid_password": "Ungültiges Passwort",
|
||||
"ldap_attribute_already_exists": "LDAP-Attribut '{attribute}' existiert bereits mit dem Wert '{value}'",
|
||||
"user_import_success": "Konten erfolgreich importiert",
|
||||
"domain_registrar_is_not_configured": "Der DNS-Registrar ist noch nicht für die Domäne '{domain}' konfiguriert.",
|
||||
|
@ -666,14 +630,12 @@
|
|||
"migration_0021_main_upgrade": "Starte Hauptupdate...",
|
||||
"migration_0021_still_on_buster_after_main_upgrade": "Irgendetwas ist während des Haupt-Upgrades schief gelaufen, das System scheint immer noch auf Debian Buster zu laufen",
|
||||
"migration_0021_yunohost_upgrade": "Start des YunoHost Kern-Upgrades...",
|
||||
"migration_0021_not_buster": "Die aktuelle Debian-Distribution ist nicht Buster!",
|
||||
"migration_0021_not_enough_free_space": "Der freie Speicherplatz in /var/ ist ziemlich gering! Du solltest mindestens 1 GB frei haben, um diese Migration durchzuführen.",
|
||||
"migration_0021_system_not_fully_up_to_date": "Dein System ist nicht ganz aktuell. Bitte führe ein reguläres Upgrade durch, bevor du die Migration zu Bullseye durchführst.",
|
||||
"migration_0021_problematic_apps_warning": "Bitte beachte, dass die folgenden, möglicherweise problematischen installierten Anwendungen erkannt wurden. Es sieht so aus, als ob diese nicht aus dem YunoHost-Applikations-Katalog installiert wurden oder nicht als \"funktionierend\" gekennzeichnet sind. Es kann daher nicht garantiert werden, dass sie nach dem Upgrade noch funktionieren werden: {problematic_apps}",
|
||||
"migration_0021_modified_files": "Bitte beachte, dass die folgenden Dateien manuell geändert wurden und nach dem Update möglicherweise überschrieben werden: {manually_modified_files}",
|
||||
"migration_0021_cleaning_up": "Bereinigung von Cache und Paketen nicht mehr nötig...",
|
||||
"migration_0021_patch_yunohost_conflicts": "Patch anwenden, um das Konfliktproblem zu umgehen...",
|
||||
"global_settings_setting_security_ssh_password_authentication": "Passwort-Authentifizierung für SSH zulassen",
|
||||
"migration_description_0021_migrate_to_bullseye": "Upgrade des Systems auf Debian Bullseye und YunoHost 11.x",
|
||||
"migration_0021_general_warning": "Bitte beachte, dass diese Migration ein heikler Vorgang ist. Das YunoHost-Team hat sein Bestes getan, um sie zu überprüfen und zu testen, aber die Migration könnte immer noch Teile des Systems oder seiner Anwendungen beschädigen.\n\nEs wird daher empfohlen,:\n - Führe eine Sicherung aller kritischen Daten oder Applikationen durch. Mehr Informationen unter https://yunohost.org/backup;\n - Habe Geduld, nachdem du die Migration gestartet hast: Je nach Internetverbindung und Hardware kann es bis zu ein paar Stunden dauern, bis alles aktualisiert ist.",
|
||||
"tools_upgrade": "Aktualisieren von Systempaketen",
|
||||
|
@ -684,5 +646,63 @@
|
|||
"migration_description_0022_php73_to_php74_pools": "Migriere php7.3-fpm 'pool' Konfiguration nach php7.4",
|
||||
"migration_description_0023_postgresql_11_to_13": "Migrieren von Datenbanken von PostgreSQL 11 nach 13",
|
||||
"service_description_postgresql": "Speichert Applikations-Daten (SQL Datenbank)",
|
||||
"migration_0023_not_enough_space": "Stelle sicher, dass unter {path} genug Speicherplatz zur Verfügung steht, um die Migration auszuführen."
|
||||
}
|
||||
"migration_0023_not_enough_space": "Stelle sicher, dass unter {path} genug Speicherplatz zur Verfügung steht, um die Migration auszuführen.",
|
||||
"global_settings_setting_backup_compress_tar_archives_help": "Beim Erstellen von Backups die Archive komprimieren (.tar.gz) anstelle von unkomprimierten Archiven (.tar). N.B. : Diese Option ergibt leichtere Backup-Archive, aber das initiale Backupprozedere wird länger dauern und mehr CPU brauchen.",
|
||||
"global_settings_setting_security_experimental_enabled_help": "Aktiviere experimentelle Sicherheitsfunktionen (nur aktivieren, wenn Du weißt was Du tust!)",
|
||||
"global_settings_setting_nginx_compatibility_help": "Kompatibilitäts- vs. Sicherheits-Kompromiss für den Webserver NGINX. Betrifft die Ciphers (und andere sicherheitsrelevante Aspekte)",
|
||||
"global_settings_setting_nginx_redirect_to_https_help": "HTTP-Anfragen standardmäßig auf HTTPs umleiten (NICHT AUSSCHALTEN, sofern Du nicht weißt was Du tust!)",
|
||||
"global_settings_setting_admin_strength": "Stärke des Admin-Passworts",
|
||||
"global_settings_setting_user_strength": "Stärke des Anmeldepassworts",
|
||||
"global_settings_setting_postfix_compatibility_help": "Kompatibilitäts- vs. Sicherheits-Kompromiss für den Postfix-Server. Betrifft die Ciphers (und andere sicherheitsrelevante Aspekte)",
|
||||
"global_settings_setting_ssh_compatibility_help": "Kompatibilitäts- vs. Sicherheits-Kompromiss für den SSH-Server. Betrifft die Ciphers (und andere sicherheitsrelevante Aspekte)",
|
||||
"global_settings_setting_ssh_password_authentication_help": "Passwort-Authentifizierung für SSH zulassen",
|
||||
"global_settings_setting_ssh_port": "SSH-Port",
|
||||
"global_settings_setting_webadmin_allowlist_help": "IP-Adressen, die auf die Verwaltungsseite zugreifen dürfen. Kommasepariert.",
|
||||
"global_settings_setting_webadmin_allowlist_enabled_help": "Erlaube nur bestimmten IP-Adressen den Zugriff auf die Verwaltungsseite.",
|
||||
"global_settings_setting_smtp_allow_ipv6_help": "Erlaube die Nutzung von IPv6 um Mails zu empfangen und zu versenden",
|
||||
"global_settings_setting_smtp_relay_enabled_help": "Zu verwendender SMTP-Relay-Host um E-Mails zu versenden. Er wird anstelle dieser YunoHost-Instanz verwendet. Nützlich, wenn du in einer der folgenden Situationen bist: Dein ISP- oder VPS-Provider hat deinen Port 25 geblockt, eine deinen residentiellen IPs ist auf DUHL gelistet, du kannst keinen Reverse-DNS konfigurieren oder dieser Server ist nicht direkt mit dem Internet verbunden und du möchtest einen anderen verwenden, um E-Mails zu versenden.",
|
||||
"admins": "Administratoren",
|
||||
"all_users": "Alle YunoHost-Nutzer",
|
||||
"app_action_failed": "Fehlgeschlagene Aktion {action} für Applikation {app}",
|
||||
"app_manifest_install_ask_init_admin_permission": "Wer soll Zugriff auf die administrativen Funktionen für diese App erhalten? (Dies kann später wieder geändert werden)",
|
||||
"app_manifest_install_ask_init_main_permission": "Wer soll Zugriff auf diese App erhalten? (Dies kann später wieder geändert werden)",
|
||||
"ask_admin_fullname": "Vollständiger Name des Administrators",
|
||||
"ask_admin_username": "Benutzername des Administrators",
|
||||
"ask_fullname": "Vollständiger Name (Vorname und Nachname)",
|
||||
"certmanager_cert_install_failed": "Installation des Let's Encrypt-Zertifikat fehlgeschlagen für {domains}",
|
||||
"certmanager_cert_install_failed_selfsigned": "Installation des selbst-signierten Zertifikats fehlgeschlagen für {domains}",
|
||||
"certmanager_cert_renew_failed": "Erneuern des Let's Encrypt-Zertifikat fehlgeschlagen für {domains}",
|
||||
"config_action_disabled": "Konnte die Aktion '{action}' nicht durchführen, weil sie deaktiviert ist. Stellen Sie sicher, dass sie ihre Einschränkungen einhält. Hilfe: {help}",
|
||||
"config_action_failed": "Ausführung der Aktion '{action}' fehlgeschlagen: {error}",
|
||||
"config_forbidden_readonly_type": "Der Typ '{type}' kann nicht auf Nur-Lesen eingestellt werden. Verwenden Sie bitte einen anderen Typ, um diesen Wert zu generieren (relevante ID des Arguments: '{id}').",
|
||||
"diagnosis_using_stable_codename": "<cmd>apt</cmd> (Paketmanager des Systems) ist gegenwärtig konfiguriert um die Pakete des Code-Namens 'stable' zu installieren, anstelle die des Code-Namen der aktuellen Debian-Version (bullseye).",
|
||||
"domain_config_acme_eligible": "Geeignet für ACME",
|
||||
"diagnosis_using_stable_codename_details": "Dies wird meistens durch eine fehlerhafte Konfiguration seitens des Hosting-Providers verursacht. Dies stellt eine Gefahr dar, weil sobald die nächste Debian-Version zum neuen 'stable' wird, wird <cmd>apt</cmd> alle System-Pakete aktualisieren wollen, ohne eine ordnungsgemässe Migration zu durchlaufen. Es wird sehr empfohlen dies zu berichtigen, indem Sie die Datei der apt-Quellen des Debian-Basis-Repositorys entsprechend anpassen indem Sie das <cmd>stable</cmd>-Keyword durch <cmd>bullseye</cmd> ersetzen. Die zugehörige Konfigurationsdatei sollte <cmd>/etc/apt/sources.list</cmd> oder eine Datei im Verzeichnis <cmd>/etc/apt/sources.list.d/</cmd>sein.",
|
||||
"diagnosis_using_yunohost_testing": "<cmd>apt</cmd> (der Paketmanager des Systems) ist aktuell so konfiguriert, dass die 'testing'-Upgrades für YunoHost core installiert werden.",
|
||||
"diagnosis_using_yunohost_testing_details": "Dies ist wahrscheinlich OK, wenn Sie wissen, was Sie tun. Aber beachten Sie bitte die Release-Notes bevor sie zukünftige YunoHost-Upgrades installieren! Wenn Sie die 'testing'-Upgrades deaktivieren möchten, sollten sie das <cmd>testing</cmd>-Schlüsselwort aus <cmd>/etc/apt/sources.list.d/yunohost.list</cmd> entfernen.",
|
||||
"global_settings_setting_security_experimental_enabled": "Experimentelle Sicherheitsfunktionen",
|
||||
"domain_config_acme_eligible_explain": "Es scheint, als ob diese Domäne nicht bereit ist für ein Let's Encrypt-Zertifikat. Bitte überprüfen Sie Ihre DNS-Konfiguration und ob Ihr Server über HTTP erreichbar ist . Die Abschnitte 'DNS-Einträge' und 'Web' auf der <a href='#/diagnosis'>Diagnose-Seite</a> können Ihnen dabei helfen, zu verstehen, was falsch konfiguriert ist.",
|
||||
"domain_config_cert_install": "Installation des Let's Encrypt-Zertifikats",
|
||||
"domain_config_cert_issuer": "Zertifizierungsstelle",
|
||||
"domain_config_cert_no_checks": "Tests und andere Diagnose-Überprüfungen ignorieren",
|
||||
"domain_config_cert_renew": "Erneuern des Let's Encrypt-Zertifikats",
|
||||
"domain_config_cert_renew_help": "Das Zertifikat wird automatisch während den letzten 15 Tagen seiner Gültigkeit erneuert. Sie können es manuell erneuern, wenn Sie möchten. (nicht empfohlen).",
|
||||
"domain_config_cert_summary": "Zertifikats-Status",
|
||||
"visitors": "Besucher",
|
||||
"domain_config_cert_summary_abouttoexpire": "Das aktuelle Zertifikat läuft bald ab. Es sollte bald automatisch erneuert werden.",
|
||||
"domain_config_cert_summary_expired": "ACHTUNG: Das aktuelle Zertifikat ist nicht gültig! HTTPS wird gar nicht funktionieren!",
|
||||
"domain_config_cert_summary_letsencrypt": "Toll! Sie benutzen ein gültiges Let's Encrypt-Zertifikat!",
|
||||
"domain_config_cert_summary_ok": "Gut, das aktuelle Zertifikat sieht gut aus!",
|
||||
"app_change_url_require_full_domain": "{app} kann nicht auf diese neue URL verschoben werden, weil sie eine vollständige eigene Domäne benötigt (z.B. mit Pfad = /)",
|
||||
"app_not_upgraded_broken_system_continue": "Die App '{failed_app}' konnte nicht aktualisiert werden und hat Ihr System in einen beschädigten Zustand versetzt (folglich wird --continue-on-failure ignoriert) und als Konsequenz wurde die Aktualisierung der folgenden Apps abgelehnt: {apps}",
|
||||
"app_yunohost_version_not_supported": "Diese App setzt YunoHost >= {required} voraus aber die gegenwärtig installierte Version ist {current}",
|
||||
"app_failed_to_upgrade_but_continue": "Die App {failed_app} konnte nicht aktualisiert werden und es wird anforderungsgemäss zur nächsten Aktualisierung fortgefahren. Starten sie 'yunohost log show {operation_logger_name}' um den Fehlerbericht zu sehen",
|
||||
"app_not_upgraded_broken_system": "Die App '{failed_app}' konnte nicht aktualisiert werden und hat Ihr System in einen beschädigten Zustand versetzt und als Konzequenz wurde die Aktualisierung der folgenden Apps abgelehnt: {apps}",
|
||||
"apps_failed_to_upgrade": "Diese Apps konnten nicht aktualisiert werden: {apps}",
|
||||
"app_arch_not_supported": "Diese App kann nur auf bestimmten Architekturen {required} installiert werden, aber Ihre gegenwärtige Serverarchitektur ist {current}",
|
||||
"app_not_enough_disk": "Diese App benötigt {required} freien Speicherplatz.",
|
||||
"app_not_enough_ram": "Diese App benötigt {required} RAM um installiert/aktualisiert zu werden, aber es sind aktuell nur {current} verfügbar.",
|
||||
"app_change_url_failed": "Kann die URL für {app} nicht ändern: {error}",
|
||||
"app_change_url_script_failed": "Es ist ein Fehler im URL-Änderungs-Script aufgetreten",
|
||||
"app_resource_failed": "Automatische Ressourcen-Allokation (provisioning), die Unterbindung des Zugriffts auf Ressourcen (deprovisioning) oder die Aktualisierung der Ressourcen für {app} schlug fehl: {error}"
|
||||
}
|
266
locales/en.json
266
locales/en.json
|
@ -4,25 +4,32 @@
|
|||
"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",
|
||||
"admin_password_too_long": "Please choose a password shorter than 127 characters",
|
||||
"admins": "Admins",
|
||||
"all_users": "All YunoHost users",
|
||||
"already_up_to_date": "Nothing to do. Everything is already up-to-date.",
|
||||
"app_action_broke_system": "This action seems to have broken these important services: {services}",
|
||||
"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_failed": "Failed to run action {action} for app {app}",
|
||||
"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} is already up-to-date",
|
||||
"app_arch_not_supported": "This app can only be installed on architectures {required} but your server architecture is {current}",
|
||||
"app_argument_choice_invalid": "Pick a valid value for argument '{name}': '{value}' is not among the available choices ({choices})",
|
||||
"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_password_no_default": "Error while parsing password argument '{name}': password argument can't have a default value for security reasons",
|
||||
"app_argument_required": "Argument '{name}' is required",
|
||||
"app_change_url_failed": "Could not change the url for {app}: {error}",
|
||||
"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_require_full_domain": "{app} cannot be moved to this new URL because it requires a full domain (i.e. with path = /)",
|
||||
"app_change_url_script_failed": "An error occured inside the change url script",
|
||||
"app_change_url_success": "{app} URL is now {domain}{path}",
|
||||
"app_config_unable_to_apply": "Failed to apply config panel values.",
|
||||
"app_config_unable_to_read": "Failed to read config panel values.",
|
||||
"app_corrupt_source": "YunoHost was able to download the asset '{source_id}' ({url}) for {app}, but the asset doesn't match the expected checksum. This could mean that some temporary network failure happened on your server, OR the asset was somehow changed by the upstream maintainer (or a malicious actor?) and YunoHost packagers need to investigate and update the app manifest to reflect this change.\n Expected sha256 checksum: {expected_sha256}\n Downloaded sha256 checksum: {computed_sha256}\n Downloaded file size: {size}",
|
||||
"app_extraction_failed": "Could not extract the installation files",
|
||||
"app_failed_to_download_asset": "Failed to download asset '{source_id}' ({url}) for {app}: {out}",
|
||||
"app_failed_to_upgrade_but_continue": "App {failed_app} failed to upgrade, continue to next upgrades as requested. Run 'yunohost log show {operation_logger_name}' to see failure log",
|
||||
"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",
|
||||
"app_install_failed": "Unable to install {app}: {error}",
|
||||
|
@ -33,21 +40,27 @@
|
|||
"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_manifest_install_ask_admin": "Choose an administrator user for this app",
|
||||
"app_manifest_install_ask_domain": "Choose the domain where this app should be installed",
|
||||
"app_manifest_install_ask_init_admin_permission": "Who should have access to admin features for this app? (This can later be changed)",
|
||||
"app_manifest_install_ask_init_main_permission": "Who should have access to this app? (This can later be changed)",
|
||||
"app_manifest_install_ask_is_public": "Should this app be exposed to anonymous visitors?",
|
||||
"app_manifest_install_ask_password": "Choose an administration password for this app",
|
||||
"app_manifest_install_ask_path": "Choose the URL path (after the domain) where this app should be installed",
|
||||
"app_not_correctly_installed": "{app} seems to be incorrectly installed",
|
||||
"app_not_enough_disk": "This app requires {required} free space.",
|
||||
"app_not_enough_ram": "This app requires {required} RAM to install/upgrade but only {current} is available right now.",
|
||||
"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_not_upgraded": "The app '{failed_app}' failed to upgrade, and as a consequence the following apps' upgrades have been cancelled: {apps}",
|
||||
"app_not_upgraded_broken_system": "The app '{failed_app}' failed to upgrade and put the system in a broken state, and as a consequence the following apps' upgrades have been cancelled: {apps}",
|
||||
"app_not_upgraded_broken_system_continue": "The app '{failed_app}' failed to upgrade and put the system in a broken state (so --continue-on-failure is ignored), and as a consequence the following apps' upgrades have been cancelled: {apps}",
|
||||
"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.",
|
||||
"app_remove_after_failed_install": "Removing the app following the installation failure...",
|
||||
"app_remove_after_failed_install": "Removing the app after installation failure...",
|
||||
"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_requirements_checking": "Checking requirements for {app}...",
|
||||
"app_resource_failed": "Provisioning, deprovisioning, or updating resources for {app} failed: {error}",
|
||||
"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_sources_fetch_failed": "Could not fetch source files, is the URL correct?",
|
||||
"app_start_backup": "Collecting files to be backed up for {app}...",
|
||||
"app_start_install": "Installing {app}...",
|
||||
"app_start_remove": "Removing {app}...",
|
||||
|
@ -60,14 +73,18 @@
|
|||
"app_upgrade_several_apps": "The following apps will be upgraded: {apps}",
|
||||
"app_upgrade_some_app_failed": "Some apps could not be upgraded",
|
||||
"app_upgraded": "{app} upgraded",
|
||||
"app_yunohost_version_not_supported": "This app requires YunoHost >= {required} but current installed version is {current}",
|
||||
"apps_already_up_to_date": "All apps are already up-to-date",
|
||||
"apps_catalog_failed_to_download": "Unable to download the {apps_catalog} app catalog: {error}",
|
||||
"apps_catalog_init_success": "App catalog system initialized!",
|
||||
"apps_catalog_obsolete_cache": "The app catalog cache is empty or obsolete.",
|
||||
"apps_catalog_update_success": "The application catalog has been updated!",
|
||||
"apps_catalog_updating": "Updating application catalog...",
|
||||
"ask_firstname": "First name",
|
||||
"ask_lastname": "Last name",
|
||||
"apps_failed_to_upgrade": "Those applications failed to upgrade:{apps}",
|
||||
"apps_failed_to_upgrade_line": "\n * {app_id} (to see corresponding log do a 'yunohost log show {operation_logger_name}')",
|
||||
"ask_admin_fullname": "Admin full name",
|
||||
"ask_admin_username": "Admin username",
|
||||
"ask_fullname": "Full name",
|
||||
"ask_main_domain": "Main domain",
|
||||
"ask_new_admin_password": "New administration password",
|
||||
"ask_new_domain": "New domain",
|
||||
|
@ -82,7 +99,7 @@
|
|||
"backup_applying_method_tar": "Creating the backup TAR archive...",
|
||||
"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_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_cant_retrieve_info_json": "Could not load info for archive '{archive}'... The info.json file cannot be retrieved (or is not a valid json).",
|
||||
"backup_archive_corrupted": "It looks like the backup archive '{archive}' is corrupted : {error}",
|
||||
"backup_archive_name_exists": "A backup archive with this name already exists.",
|
||||
"backup_archive_name_unknown": "Unknown local backup archive named '{name}'",
|
||||
|
@ -95,14 +112,14 @@
|
|||
"backup_copying_to_organize_the_archive": "Copying {size}MB to organize the archive",
|
||||
"backup_couldnt_bind": "Could not bind {src} to {dest}.",
|
||||
"backup_create_size_estimation": "The archive will contain about {size} of data.",
|
||||
"backup_created": "Backup created",
|
||||
"backup_created": "Backup created: {name}",
|
||||
"backup_creation_failed": "Could not create the backup archive",
|
||||
"backup_csv_addition_failed": "Could not add files to backup into the CSV file",
|
||||
"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}'",
|
||||
"backup_deleted": "Backup deleted",
|
||||
"backup_deleted": "Backup deleted: {name}",
|
||||
"backup_hook_unknown": "The backup hook '{hook}' is unknown",
|
||||
"backup_method_copy_finished": "Backup copy finalized",
|
||||
"backup_method_custom_finished": "Custom backup method '{method}' finished",
|
||||
|
@ -120,28 +137,34 @@
|
|||
"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}' 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_acme_not_configured_for_domain": "The ACME challenge cannot be run 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}' 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_failed": "Let's Encrypt certificate install failed for {domains}",
|
||||
"certmanager_cert_install_failed_selfsigned": "Self-signed certificate install failed for {domains}",
|
||||
"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_failed": "Let's Encrypt certificate renew failed for {domains}",
|
||||
"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} did not work...",
|
||||
"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_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_dns_ip_differs_from_public_ip": "The DNS records for domain '{domain}' are different to 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 these 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 these checks.)",
|
||||
"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 these checks.)",
|
||||
"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})",
|
||||
"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.",
|
||||
"config_action_disabled": "Could not run action '{action}' since it is disabled, make sure to meet its constraints. help: {help}",
|
||||
"config_action_failed": "Failed to run action '{action}': {error}",
|
||||
"config_apply_failed": "Applying the new configuration failed: {error}",
|
||||
"config_cant_set_value_on_section": "You can't set a single value on an entire config section.",
|
||||
"config_forbidden_keyword": "The keyword '{keyword}' is reserved, you can't create or use a config panel with a question with this id.",
|
||||
"config_forbidden_readonly_type": "The type '{type}' can't be set as readonly, use another type to render this value (relevant arg id: '{id}').",
|
||||
"config_no_panel": "No config panel found.",
|
||||
"config_unknown_filter_key": "The filter key '{filter_key}' is incorrect.",
|
||||
"config_validate_color": "Should be a valid RGB hexadecimal color",
|
||||
|
@ -149,20 +172,21 @@
|
|||
"config_validate_email": "Should be a valid email",
|
||||
"config_validate_time": "Should be a valid time like HH:MM",
|
||||
"config_validate_url": "Should be a valid web URL",
|
||||
"config_version_not_supported": "Config panel versions '{version}' are not supported.",
|
||||
"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}'",
|
||||
"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_warning": "Warning: This app may work, but is not well-integrated into YunoHost. Some features such as single sign-on and backup/restore might not be available. Install anyway? [{answers}] ",
|
||||
"confirm_app_insufficient_ram": "DANGER! This app requires {required} RAM to install/upgrade but only {current} is available right now. Even if this app could run, its installation/upgrade process requires a large amount of RAM so your server may freeze and fail miserably. If you are willing to take that risk anyway, type '{answers}'",
|
||||
"confirm_notifications_read": "WARNING: You should check the app notifications above before continuing, there might be important stuff to know. [{answers}]",
|
||||
"custom_app_url_required": "You must provide a URL to upgrade your custom app {app}",
|
||||
"danger": "Danger:",
|
||||
"diagnosis_apps_allgood": "All installed apps respect basic packaging practices",
|
||||
"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_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_deprecated_practices": "This app's installed version still uses some super-old deprecated packaging practices. You should really consider upgrading it.",
|
||||
"diagnosis_apps_deprecated_practices": "This app's installed version still uses some very old, deprecated packaging practices. You should really consider upgrading it.",
|
||||
"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_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_backports_in_sources_list": "It looks like apt (the package manager) is configured to use the backports repository. Unless you really know what you are doing, we strongly discourage from installing packages from backports, because it's likely to create unstabilities or conflicts on your system.",
|
||||
"diagnosis_apps_not_in_app_catalog": "This application is not in YunoHost's application catalog. If it was in the past and was removed, you should consider uninstalling this app as it won't receive upgrades and may compromise the integrity and security of your system.",
|
||||
"diagnosis_apps_outdated_ynh_requirement": "This app's installed version only requires yunohost >= 2.x or 3.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_backports_in_sources_list": "It looks like apt (the package manager) is configured to use the backports repository. Unless you really know what you are doing, we strongly discourage installing packages from backports, because it's likely to create unstabilities or conflicts on your system.",
|
||||
"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}",
|
||||
|
@ -190,7 +214,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_good_conf": "DNS records are correctly configured for domain {domain} (category {category})",
|
||||
"diagnosis_dns_missing_record": "According to the recommended DNS configuration, you should add a DNS record with the following info.<br>Type: <code>{type}</code><br>Name: <code>{name}</code><br>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_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 configuring DNS records.",
|
||||
"diagnosis_dns_specialusedomain": "Domain {domain} is based on a special-use top-level domain (TLD) such as .local or .test and is therefore not expected to have actual 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_domain_expiration_error": "Some domains will expire VERY SOON!",
|
||||
|
@ -214,14 +238,14 @@
|
|||
"diagnosis_http_hairpinning_issue": "Your local network does not seem to have hairpinning enabled.",
|
||||
"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_nginx_conf_not_up_to_date": "This domain's nginx configuration appears to have been modified manually, and prevents YunoHost from diagnosing if it's reachable on HTTP.",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date_details": "To fix the situation, inspect the difference with the command line using <cmd>yunohost tools regen-conf nginx --dry-run --with-diff</cmd> and if you're ok, apply the changes with <cmd>yunohost tools regen-conf nginx --force</cmd>.",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date_details": "To fix the situation, inspect the difference from the command line using <cmd>yunohost tools regen-conf nginx --dry-run --with-diff</cmd> and if you're ok with it, apply the changes with <cmd>yunohost tools regen-conf nginx --force</cmd>.",
|
||||
"diagnosis_http_ok": "Domain {domain} is reachable through HTTP from outside the local network.",
|
||||
"diagnosis_http_partially_unreachable": "Domain {domain} appears unreachable through HTTP from outside the local network in IPv{failed}, though it works in IPv{passed}.",
|
||||
"diagnosis_http_special_use_tld": "Domain {domain} is based on a special-use top-level domain (TLD) such as .local or .test and is therefore not expected to be exposed 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_timeout": "Timed-out while trying to contact your server from the 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_unreachable": "Domain {domain} appears unreachable through HTTP from outside the local network.",
|
||||
"diagnosis_ignored_issues": "(+ {nb_ignored} ignored issue(s))",
|
||||
"diagnosis_ip_broken_dnsresolution": "Domain name resolution seems to be broken for some reason... Is a firewall blocking DNS requests ?",
|
||||
"diagnosis_ip_broken_dnsresolution": "Domain name resolution seems to be broken for some reason... Is a firewall blocking DNS requests?",
|
||||
"diagnosis_ip_broken_resolvconf": "Domain name resolution seems to be broken on your server, which seems related to <code>/etc/resolv.conf</code> not pointing to <code>127.0.0.1</code>.",
|
||||
"diagnosis_ip_connected_ipv4": "The server is connected to the Internet through IPv4!",
|
||||
"diagnosis_ip_connected_ipv6": "The server is connected to the Internet through IPv6!",
|
||||
|
@ -231,32 +255,33 @@
|
|||
"diagnosis_ip_no_ipv4": "The server does not have working IPv4.",
|
||||
"diagnosis_ip_no_ipv6": "The server does not have working IPv6.",
|
||||
"diagnosis_ip_no_ipv6_tip": "Having a working IPv6 is not mandatory for your server to work, but it is better for the health of the Internet as a whole. IPv6 should usually be automatically configured by the system or your provider if it's available. Otherwise, you might need to configure a few things manually as explained in the documentation here: <a href='https://yunohost.org/#/ipv6'>https://yunohost.org/#/ipv6</a>. If you cannot enable IPv6 or if it seems too technical for you, you can also safely ignore this warning.",
|
||||
"diagnosis_ip_no_ipv6_tip_important": "IPv6 should usually be automatically configured by the system or your provider if it's available. Otherwise, you might need to configure a few things manually as explained in the documentation here: <a href='https://yunohost.org/#/ipv6'>https://yunohost.org/#/ipv6</a>.",
|
||||
"diagnosis_ip_not_connected_at_all": "The server does not seem to be connected to the Internet at all!?",
|
||||
"diagnosis_ip_weird_resolvconf": "DNS resolution seems to be working, but it looks like you're using a custom <code>/etc/resolv.conf</code>.",
|
||||
"diagnosis_ip_weird_resolvconf_details": "The file <code>/etc/resolv.conf</code> should be a symlink to <code>/etc/resolvconf/run/resolv.conf</code> itself pointing to <code>127.0.0.1</code> (dnsmasq). If you want to manually configure DNS resolvers, please edit <code>/etc/resolv.dnsmasq.conf</code>.",
|
||||
"diagnosis_mail_blacklist_listed_by": "Your IP or domain <code>{item}</code> is blacklisted on {blacklist_name}",
|
||||
"diagnosis_mail_blacklist_ok": "The IPs and domains used by this server do not appear to be blacklisted",
|
||||
"diagnosis_mail_blacklist_reason": "The blacklist reason is: {reason}",
|
||||
"diagnosis_mail_blacklist_website": "After identifying why you are listed and fixed it, feel free to ask for your IP or domaine to be removed on {blacklist_website}",
|
||||
"diagnosis_mail_blacklist_website": "After identifying why you are listed and fixing it, feel free to ask for your IP or domain to be removed on {blacklist_website}",
|
||||
"diagnosis_mail_ehlo_bad_answer": "A non-SMTP service answered on port 25 on IPv{ipversion}",
|
||||
"diagnosis_mail_ehlo_bad_answer_details": "It could be due to an other machine answering instead of your server.",
|
||||
"diagnosis_mail_ehlo_could_not_diagnose": "Could not diagnose if postfix mail server is reachable from outside in IPv{ipversion}.",
|
||||
"diagnosis_mail_ehlo_bad_answer_details": "It could be due to an another machine answering instead of your server.",
|
||||
"diagnosis_mail_ehlo_could_not_diagnose": "Could not diagnose if postfix mail server is reachable from the outside in IPv{ipversion}.",
|
||||
"diagnosis_mail_ehlo_could_not_diagnose_details": "Error: {error}",
|
||||
"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.",
|
||||
"diagnosis_mail_ehlo_wrong": "A different SMTP mail server answers on IPv{ipversion}. Your server will probably not be able to receive emails.",
|
||||
"diagnosis_mail_ehlo_wrong_details": "The EHLO received by the remote diagnoser in IPv{ipversion} is different from your server's domain.<br>Received EHLO: <code>{wrong_ehlo}</code><br>Expected: <code>{right_ehlo}</code><br>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>. Alternatively, make sure that no firewall or reverse-proxy is interfering.",
|
||||
"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": "Reverse DNS is not correctly configured for IPv{ipversion}. Some emails may fail to get delivered or be 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>",
|
||||
"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_dns_missing": "No reverse DNS is defined in IPv{ipversion}. Some emails may fail to get delivered or be flagged as spam.",
|
||||
"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_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_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 email.smtp.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_nok_details": "You should first try to configure reverse DNS with <code>{ehlo_domain}</code> in your internet router interface or your hosting provider interface. (Some hosting providers may require you to send them a support ticket for this).",
|
||||
"diagnosis_mail_fcrdns_ok": "Your reverse DNS is correctly configured!",
|
||||
"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/#/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_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 providers 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/#/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 these kinds 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_ok": "The SMTP mail server is able to send emails (outgoing port 25 is not blocked).",
|
||||
"diagnosis_mail_queue_ok": "{nb_pending} pending emails in the mail queues",
|
||||
"diagnosis_mail_queue_too_big": "Too many pending emails in mail queue ({nb_pending} emails)",
|
||||
|
@ -270,38 +295,45 @@
|
|||
"diagnosis_ports_could_not_diagnose_details": "Error: {error}",
|
||||
"diagnosis_ports_forwarding_tip": "To fix this issue, you most probably need to configure port forwarding on your internet router as described in <a href='https://yunohost.org/isp_box_config'>https://yunohost.org/isp_box_config</a>",
|
||||
"diagnosis_ports_needed_by": "Exposing this port is needed for {category} features (service {service})",
|
||||
"diagnosis_ports_ok": "Port {port} is reachable from outside.",
|
||||
"diagnosis_ports_partially_unreachable": "Port {port} is not reachable from outside in IPv{failed}.",
|
||||
"diagnosis_ports_unreachable": "Port {port} is not reachable from outside.",
|
||||
"diagnosis_processes_killed_by_oom_reaper": "Some processes were recently killed by the system because it ran out of memory. This is typically symptomatic of a lack of memory on the system or of a process that ate up to much memory. Summary of the processes killed:\n{kills_summary}",
|
||||
"diagnosis_ports_ok": "Port {port} is reachable from the outside.",
|
||||
"diagnosis_ports_partially_unreachable": "Port {port} is not reachable from the outside in IPv{failed}.",
|
||||
"diagnosis_ports_unreachable": "Port {port} is not reachable from the outside.",
|
||||
"diagnosis_processes_killed_by_oom_reaper": "Some processes were recently killed by the system because it ran out of memory. This is typically symptomatic of a lack of memory on the system or of a process consuming too much memory. Summary of the processes killed:\n{kills_summary}",
|
||||
"diagnosis_ram_low": "The system has {available} ({available_percent}%) RAM available (out of {total}). Be careful.",
|
||||
"diagnosis_ram_ok": "The system still has {available} ({available_percent}%) RAM available out of {total}.",
|
||||
"diagnosis_ram_verylow": "The system has only {available} ({available_percent}%) RAM available! (out of {total})",
|
||||
"diagnosis_regenconf_allgood": "All configurations files are in line with the recommended configuration!",
|
||||
"diagnosis_regenconf_allgood": "All configuration files are in line with the recommended configuration!",
|
||||
"diagnosis_regenconf_manually_modified": "Configuration file <code>{file}</code> appears to have been manually modified.",
|
||||
"diagnosis_regenconf_manually_modified_details": "This is probably OK if you know what you're doing! YunoHost will stop updating this file automatically... But beware that YunoHost upgrades could contain important recommended changes. If you want to, you can inspect the differences with <cmd>yunohost tools regen-conf {category} --dry-run --with-diff</cmd> and force the reset to the recommended configuration with <cmd>yunohost tools regen-conf {category} --force</cmd>",
|
||||
"diagnosis_rootfstotalspace_critical": "The root filesystem only has a total of {space} which is quite worrisome! You will likely run out of disk space very quickly! It's recommended to have at least 16 GB for the root filesystem.",
|
||||
"diagnosis_rootfstotalspace_warning": "The root filesystem only has a total of {space}. This may be okay, but be careful because ultimately you may run out of disk space quickly... It's recommended to have at least 16 GB for the root filesystem.",
|
||||
"diagnosis_security_vulnerable_to_meltdown": "You appear vulnerable to the Meltdown criticial security vulnerability",
|
||||
"diagnosis_security_vulnerable_to_meltdown_details": "To fix this, you should upgrade your system and reboot to load the new linux kernel (or contact your server provider if this doesn't work). See https://meltdownattack.com/ for more infos.",
|
||||
"diagnosis_security_vulnerable_to_meltdown": "You appear vulnerable to the Meltdown critical security vulnerability",
|
||||
"diagnosis_security_vulnerable_to_meltdown_details": "To fix this, you should upgrade your system and reboot to load the new linux kernel (or contact your server provider if this doesn't work). See https://meltdownattack.com/ for more info.",
|
||||
"diagnosis_services_bad_status": "Service {service} is {status} :(",
|
||||
"diagnosis_services_bad_status_tip": "You can try to <a href='#/services/{service}'>restart the service</a>, and if it doesn't work, have a look at <a href='#/services/{service}'>the service logs in the webadmin</a> (from the command line, you can do this with <cmd>yunohost service restart {service}</cmd> and <cmd>yunohost service log {service}</cmd>).",
|
||||
"diagnosis_services_conf_broken": "Configuration is broken for service {service}!",
|
||||
"diagnosis_services_running": "Service {service} is running!",
|
||||
"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.",
|
||||
"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.ssh_port' is available to avoid manually editing the configuration.",
|
||||
"diagnosis_sshd_config_inconsistent_details": "Please run <cmd>yunohost settings set security.ssh.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.",
|
||||
"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_swap_none": "The system has no swap at all. You should consider adding at least {recommended} of swap to avoid situations where the system runs out of memory.",
|
||||
"diagnosis_swap_notsomuch": "The system has only {total} swap. You should consider having at least {recommended} to avoid situations where the system runs out of memory.",
|
||||
"diagnosis_swap_ok": "The system has {total} of swap!",
|
||||
"diagnosis_swap_tip": "Please be careful and aware that if the server is hosting swap on an SD card or SSD storage, it may drastically reduce the life expectancy of the device`.",
|
||||
"diagnosis_swap_tip": "Please be careful and aware that if the server is hosting swap on an SD card or SSD storage, it may drastically reduce the life expectancy of the device.",
|
||||
"diagnosis_unknown_categories": "The following categories are unknown: {categories}",
|
||||
"diagnosis_using_stable_codename": "<cmd>apt</cmd> (the system's package manager) is currently configured to install packages from codename 'stable', instead of the codename of the current Debian version (bullseye).",
|
||||
"diagnosis_using_stable_codename_details": "This is usually caused by incorrect configuration from your hosting provider. This is dangerous, because as soon as the next Debian version becomes the new 'stable', <cmd>apt</cmd> will want to upgrade all system packages without going through a proper migration procedure. It is recommended to fix this by editing the apt source for base Debian repository, and replace the <cmd>stable</cmd> keyword by <cmd>bullseye</cmd>. The corresponding configuration file should be <cmd>/etc/apt/sources.list</cmd>, or a file in <cmd>/etc/apt/sources.list.d/</cmd>.",
|
||||
"diagnosis_using_yunohost_testing": "<cmd>apt</cmd> (the system's package manager) is currently configured to install any 'testing' upgrade for YunoHost core.",
|
||||
"diagnosis_using_yunohost_testing_details": "This is probably OK if you know what you are doing, but pay attention to the release notes before installing YunoHost upgrades! If you want to disable 'testing' upgrades, you should remove the <cmd>testing</cmd> keyword from <cmd>/etc/apt/sources.list.d/yunohost.list</cmd>.",
|
||||
"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_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_add_muc_upload": "You cannot add domains starting with 'muc.'. This kind of name is reserved for the XMPP multi-users chat feature integrated into YunoHost.",
|
||||
"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 into YunoHost.",
|
||||
"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_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_config_acme_eligible": "ACME eligibility",
|
||||
"domain_config_acme_eligible_explain": "This domain doesn't seem ready for a Let's Encrypt certificate. Please check your DNS configuration and HTTP server reachability. The 'DNS records' and 'Web' section in <a href='#/diagnosis'>the diagnosis page</a> can help you understand what is misconfigured.",
|
||||
"domain_config_api_protocol": "API protocol",
|
||||
"domain_config_auth_application_key": "Application key",
|
||||
"domain_config_auth_application_secret": "Application secret key",
|
||||
|
@ -310,11 +342,24 @@
|
|||
"domain_config_auth_key": "Authentication key",
|
||||
"domain_config_auth_secret": "Authentication secret",
|
||||
"domain_config_auth_token": "Authentication token",
|
||||
"domain_config_cert_install": "Install Let's Encrypt certificate",
|
||||
"domain_config_cert_issuer": "Certification authority",
|
||||
"domain_config_cert_no_checks": "Ignore diagnosis checks",
|
||||
"domain_config_cert_renew": "Renew Let's Encrypt certificate",
|
||||
"domain_config_cert_renew_help": "Certificate will be automatically renewed during the last 15 days of validity. You can manually renew it if you want to. (Not recommended).",
|
||||
"domain_config_cert_summary": "Certificate status",
|
||||
"domain_config_cert_summary_abouttoexpire": "Current certificate is about to expire. It should soon be renewed automatically.",
|
||||
"domain_config_cert_summary_expired": "CRITICAL: Current certificate is not valid! HTTPS won't work at all!",
|
||||
"domain_config_cert_summary_letsencrypt": "Great! You're using a valid Let's Encrypt certificate!",
|
||||
"domain_config_cert_summary_ok": "Okay, current certificate looks good!",
|
||||
"domain_config_cert_summary_selfsigned": "WARNING: Current certificate is self-signed. Browsers will display a spooky warning to new visitors!",
|
||||
"domain_config_cert_validity": "Validity",
|
||||
"domain_config_default_app": "Default app",
|
||||
"domain_config_features_disclaimer": "So far, enabling/disabling mail or XMPP features only impact the recommended and automatic DNS configuration, not system configurations!",
|
||||
"domain_config_default_app_help": "People will automatically be redirected to this app when opening this domain. If no app is specified, people are redirected to the user portal login form.",
|
||||
"domain_config_mail_in": "Incoming emails",
|
||||
"domain_config_mail_out": "Outgoing emails",
|
||||
"domain_config_xmpp": "Instant messaging (XMPP)",
|
||||
"domain_config_xmpp_help": "NB: some XMPP features will require that you update your DNS records and regenerate your Lets Encrypt certificate to be enabled",
|
||||
"domain_created": "Domain created",
|
||||
"domain_creation_failed": "Unable to create domain {domain}: {error}",
|
||||
"domain_deleted": "Domain deleted",
|
||||
|
@ -347,7 +392,7 @@
|
|||
"domains_available": "Available domains:",
|
||||
"done": "Done",
|
||||
"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_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` and/or `sudo dpkg --audit`.",
|
||||
"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_available": "Could not check if {domain} is available on {provider}.",
|
||||
"dyndns_domain_not_provided": "DynDNS provider {provider} cannot provide domain {domain}.",
|
||||
|
@ -360,42 +405,55 @@
|
|||
"dyndns_registered": "DynDNS domain registered",
|
||||
"dyndns_registration_failed": "Could not register DynDNS domain: {error}",
|
||||
"dyndns_unavailable": "The domain '{domain}' is unavailable.",
|
||||
"experimental_feature": "Warning: This feature is experimental and not considered stable, you should not use it unless you know what you are doing.",
|
||||
"extracting": "Extracting...",
|
||||
"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}, 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_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_setting_pop3_enabled": "Enable the POP3 protocol for the mail server",
|
||||
"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_security_nginx_compatibility": "Compatibility vs. security tradeoff for the web server NGINX. Affects the ciphers (and other security-related aspects)",
|
||||
"global_settings_setting_security_nginx_redirect_to_https": "Redirect HTTP requests to HTTPs by default (DO NOT TURN OFF unless you really know what you're doing!)",
|
||||
"global_settings_setting_security_password_admin_strength": "Admin password strength",
|
||||
"global_settings_setting_security_password_user_strength": "User password strength",
|
||||
"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_compatibility": "Compatibility vs. security tradeoff for the SSH server. Affects the ciphers (and other security-related aspects)",
|
||||
"global_settings_setting_security_ssh_password_authentication": "Allow password authentication for SSH",
|
||||
"global_settings_setting_security_ssh_port": "SSH port",
|
||||
"global_settings_setting_security_webadmin_allowlist": "IP adresses allowed to access the webadmin. Comma-separated.",
|
||||
"global_settings_setting_security_webadmin_allowlist_enabled": "Allow only some IPs to access the webadmin.",
|
||||
"global_settings_setting_service_ssh_allow_deprecated_dsa_hostkey": "Allow the use of (deprecated) DSA hostkey for the SSH daemon configuration",
|
||||
"global_settings_setting_smtp_allow_ipv6": "Allow the use of IPv6 to receive and send mail",
|
||||
"global_settings_setting_smtp_relay_host": "SMTP relay host to use in order to send mail instead of this yunohost instance. Useful if you are in one of this situation: your 25 port is blocked by your ISP or VPS provider, you have a residential IP listed on DUHL, you are not able to configure reverse DNS or this server is not directly exposed on the internet and you want use an other one to send mails.",
|
||||
"global_settings_setting_smtp_relay_password": "SMTP relay host password",
|
||||
"global_settings_reset_success": "Reset global settings",
|
||||
"global_settings_setting_admin_strength": "Admin password strength requirements",
|
||||
"global_settings_setting_admin_strength_help": "These requirements are only enforced when initializing or changing the password",
|
||||
"global_settings_setting_backup_compress_tar_archives": "Compress backups",
|
||||
"global_settings_setting_backup_compress_tar_archives_help": "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_setting_dns_exposure": "IP versions to consider for DNS configuration and diagnosis",
|
||||
"global_settings_setting_dns_exposure_help": "NB: This only affects the recommended DNS configuration and diagnosis checks. This does not affect system configurations.",
|
||||
"global_settings_setting_nginx_compatibility": "NGINX Compatibility",
|
||||
"global_settings_setting_nginx_compatibility_help": "Compatibility vs. security tradeoff for the web server NGINX. Affects the ciphers (and other security-related aspects)",
|
||||
"global_settings_setting_nginx_redirect_to_https": "Force HTTPS",
|
||||
"global_settings_setting_nginx_redirect_to_https_help": "Redirect HTTP requests to HTTPs by default (DO NOT TURN OFF unless you really know what you're doing!)",
|
||||
"global_settings_setting_passwordless_sudo": "Allow admins to use 'sudo' without re-typing their passwords",
|
||||
"global_settings_setting_pop3_enabled": "Enable POP3",
|
||||
"global_settings_setting_pop3_enabled_help": "Enable the POP3 protocol for the mail server",
|
||||
"global_settings_setting_portal_theme": "Portal theme",
|
||||
"global_settings_setting_portal_theme_help": "More info regarding creating custom portal themes at https://yunohost.org/theming",
|
||||
"global_settings_setting_postfix_compatibility": "Postfix Compatibility",
|
||||
"global_settings_setting_postfix_compatibility_help": "Compatibility vs. security tradeoff for the Postfix server. Affects the ciphers (and other security-related aspects)",
|
||||
"global_settings_setting_root_access_explain": "On Linux systems, 'root' is the absolute admin. In YunoHost context, direct 'root' SSH login is by default disable - except from the local network of the server. Members of the 'admins' group can use the sudo command to act as root from the command line. However, it can be helpful to have a (robust) root password to debug the system if for some reason regular admins can not login anymore.",
|
||||
"global_settings_setting_root_password": "New root password",
|
||||
"global_settings_setting_root_password_confirm": "New root password (confirm)",
|
||||
"global_settings_setting_security_experimental_enabled": "Experimental security features",
|
||||
"global_settings_setting_security_experimental_enabled_help": "Enable experimental security features (don't enable this if you don't know what you're doing!)",
|
||||
"global_settings_setting_smtp_allow_ipv6": "Allow IPv6",
|
||||
"global_settings_setting_smtp_allow_ipv6_help": "Allow the use of IPv6 to receive and send mail",
|
||||
"global_settings_setting_smtp_relay_enabled": "Enable SMTP relay",
|
||||
"global_settings_setting_smtp_relay_enabled_help": "Enable the SMTP relay to use in order to send mail instead of this yunohost instance. Useful if you are in one of this situation: your 25 port is blocked by your ISP or VPS provider, you have a residential IP listed on DUHL, you are not able to configure reverse DNS or this server is not directly exposed on the internet and you want use an other one to send mails.",
|
||||
"global_settings_setting_smtp_relay_host": "SMTP relay host",
|
||||
"global_settings_setting_smtp_relay_password": "SMTP relay password",
|
||||
"global_settings_setting_smtp_relay_port": "SMTP relay port",
|
||||
"global_settings_setting_smtp_relay_user": "SMTP relay user account",
|
||||
"global_settings_setting_ssowat_panel_overlay_enabled": "Enable SSOwat panel overlay",
|
||||
"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_unknown_type": "Unexpected situation, the setting {setting} appears to have the type {unknown_type} but it is not a type supported by the system.",
|
||||
"global_settings_setting_smtp_relay_user": "SMTP relay user",
|
||||
"global_settings_setting_ssh_compatibility": "SSH Compatibility",
|
||||
"global_settings_setting_ssh_compatibility_help": "Compatibility vs. security tradeoff for the SSH server. Affects the ciphers (and other security-related aspects). See https://infosec.mozilla.org/guidelines/openssh for more info.",
|
||||
"global_settings_setting_ssh_password_authentication": "Password authentication",
|
||||
"global_settings_setting_ssh_password_authentication_help": "Allow password authentication for SSH",
|
||||
"global_settings_setting_ssh_port": "SSH port",
|
||||
"global_settings_setting_ssowat_panel_overlay_enabled": "Enable the small 'YunoHost' portal shortcut square on apps",
|
||||
"global_settings_setting_user_strength": "User password strength requirements",
|
||||
"global_settings_setting_user_strength_help": "These requirements are only enforced when initializing or changing the password",
|
||||
"global_settings_setting_webadmin_allowlist": "Webadmin IP allowlist",
|
||||
"global_settings_setting_webadmin_allowlist_enabled": "Enable Webadmin IP allowlist",
|
||||
"global_settings_setting_webadmin_allowlist_enabled_help": "Allow only some IPs to access the webadmin.",
|
||||
"global_settings_setting_webadmin_allowlist_help": "IP adresses allowed to access the webadmin.",
|
||||
"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",
|
||||
|
@ -409,22 +467,29 @@
|
|||
"group_creation_failed": "Could not create the group '{group}': {error}",
|
||||
"group_deleted": "Group '{group}' deleted",
|
||||
"group_deletion_failed": "Could not delete the group '{group}': {error}",
|
||||
"group_mailalias_add": "The email alias '{mail}' will be added to the group '{group}'",
|
||||
"group_mailalias_remove": "The email alias '{mail}' will be removed from the group '{group}'",
|
||||
"group_no_change": "Nothing to change for group '{group}'",
|
||||
"group_unknown": "The group '{group}' is unknown",
|
||||
"group_update_aliases": "Updating aliases for group '{group}'",
|
||||
"group_update_failed": "Could not update the group '{group}': {error}",
|
||||
"group_updated": "Group '{group}' updated",
|
||||
"group_user_add": "The user '{user}' will be added to the group '{group}'",
|
||||
"group_user_already_in_group": "User {user} is already in group {group}",
|
||||
"group_user_not_in_group": "User {user} is not in group {group}",
|
||||
"group_user_remove": "The user '{user}' will be removed from the group '{group}'",
|
||||
"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}'",
|
||||
"installation_complete": "Installation completed",
|
||||
"invalid_credentials": "Invalid password or username",
|
||||
"invalid_number": "Must be a number",
|
||||
"invalid_number_max": "Must be lesser than {max}",
|
||||
"invalid_number_min": "Must be greater than {min}",
|
||||
"invalid_password": "Invalid password",
|
||||
"invalid_regex": "Invalid regex:'{regex}'",
|
||||
"invalid_shell": "Invalid shell: {shell}",
|
||||
"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_attribute_already_exists": "LDAP attribute '{attribute}' already exists with value '{value}'",
|
||||
|
@ -462,8 +527,11 @@
|
|||
"log_permission_url": "Update URL related to permission '{}'",
|
||||
"log_regen_conf": "Regenerate system configurations '{}'",
|
||||
"log_remove_on_failed_install": "Remove '{}' after a failed installation",
|
||||
"log_remove_on_failed_restore": "Remove '{}' after a failed restore from a backup archive",
|
||||
"log_resource_snippet": "Provisioning/deprovisioning/updating a resource",
|
||||
"log_selfsigned_cert_install": "Install self-signed certificate on '{}' domain",
|
||||
"log_settings_reset": "Reset setting",
|
||||
"log_settings_reset_all": "Reset all settings",
|
||||
"log_settings_set": "Apply settings",
|
||||
"log_tools_migrations_migrate_forward": "Run migrations",
|
||||
"log_tools_postinstall": "Postinstall your YunoHost server",
|
||||
"log_tools_reboot": "Reboot your server",
|
||||
|
@ -481,17 +549,16 @@
|
|||
"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}'",
|
||||
"mail_unavailable": "This e-mail address is reserved and shall be automatically allocated to the very first user",
|
||||
"mail_unavailable": "This e-mail address is reserved for the admins group",
|
||||
"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",
|
||||
"main_domain_change_failed": "Unable to change the main domain",
|
||||
"main_domain_changed": "The main domain has been changed",
|
||||
"migration_0021_cleaning_up": "Cleaning up cache and packages not useful anymore...",
|
||||
"migration_0021_venv_regen_failed": "The virtual environment '{venv}' failed to regenerate, you probably need to run the command `yunohost app upgrade --force`",
|
||||
"migration_0021_general_warning": "Please note that this migration is a delicate operation. The YunoHost team did its best to review and test it, but the migration might still break parts of the system or its apps.\n\nTherefore, it is recommended to:\n - Perform a backup of any critical data or app. More info on https://yunohost.org/backup;\n - Be patient after launching the migration: Depending on your Internet connection and hardware, it might take up to a few hours for everything to upgrade.",
|
||||
"migration_0021_main_upgrade": "Starting main upgrade...",
|
||||
"migration_0021_modified_files": "Please note that the following files were found to be manually modified and might be overwritten following the upgrade: {manually_modified_files}",
|
||||
"migration_0021_not_buster": "The current Debian distribution is not Buster!",
|
||||
"migration_0021_not_buster2": "The current Debian distribution is not Buster! If you already ran the Buster->Bullseye migration, then this error is symptomatic of the fact that the migration procedure was not 100% succesful (otherwise YunoHost would have flagged it as completed). It is recommended to investigate what happened with the support team, who will need the **full** log of the `migration, which can be found in Tools > Logs in the webadmin.",
|
||||
"migration_0021_not_enough_free_space": "Free space is pretty low in /var/! You should have at least 1GB free to run this migration.",
|
||||
"migration_0021_patch_yunohost_conflicts": "Applying patch to workaround conflict issue...",
|
||||
"migration_0021_patching_sources_list": "Patching the sources.lists...",
|
||||
|
@ -504,15 +571,17 @@
|
|||
"migration_0023_postgresql_11_not_installed": "PostgreSQL was not installed on your system. Nothing to do.",
|
||||
"migration_0023_postgresql_13_not_installed": "PostgreSQL 11 is installed, but not PostgreSQL 13!? Something weird might have happened on your system :(...",
|
||||
"migration_0024_rebuild_python_venv_broken_app": "Skipping {app} because virtualenv can't easily be rebuilt for this app. Instead, you should fix the situation by forcing the upgrade of this app using `yunohost app upgrade --force {app}`.",
|
||||
"migration_0024_rebuild_python_venv_disclaimer_base": "Following the upgrade to Debian Bullseye, some Python applications needs to be partially rebuilt to get converted to the new Python version shipped in Debian (in technical terms: what's called the 'virtualenv' needs to be recreated). In the meantime, those Python applications may not work. YunoHost can attempt to rebuild the virtualenv for some of those, as detailed below. For other apps, or if the rebuild attempt fails, you will need to manually force an upgrade for those apps.",
|
||||
"migration_0024_rebuild_python_venv_disclaimer_rebuild": "Rebuilding the virtualenv will be attempted for the following apps (NB: the operation may take some time!): {rebuild_apps}",
|
||||
"migration_0024_rebuild_python_venv_disclaimer_ignored": "Virtualenvs can't be rebuilt automatically for those apps. You need to force an upgrade for those, which can be done from the command line with: `yunohost app upgrade -f APP`: {ignored_apps}",
|
||||
"migration_0024_rebuild_python_venv_in_progress": "Now attempting to rebuild python virtualenv for `{app}`",
|
||||
"migration_0024_rebuild_python_venv_failed": "Failed to rebuild the python virtual env for {app}. The app may not work as long as this is not resolved. You should fix the situation by forcing the upgrade of this app using `yunohost app upgrade --force {app}`.",
|
||||
"migration_0024_rebuild_python_venv_disclaimer_base": "Following the upgrade to Debian Bullseye, some Python applications needs to be partially rebuilt to get converted to the new Python version shipped in Debian (in technical terms: what's called the 'virtualenv' needs to be recreated). In the meantime, those Python applications may not work. YunoHost can attempt to rebuild the virtualenv for some of those, as detailed below. For other apps, or if the rebuild attempt fails, you will need to manually force an upgrade for those apps.",
|
||||
"migration_0024_rebuild_python_venv_disclaimer_ignored": "Virtualenvs can't be rebuilt automatically for those apps. You need to force an upgrade for those, which can be done from the command line with: `yunohost app upgrade --force APP`: {ignored_apps}",
|
||||
"migration_0024_rebuild_python_venv_disclaimer_rebuild": "Rebuilding the virtualenv will be attempted for the following apps (NB: the operation may take some time!): {rebuild_apps}",
|
||||
"migration_0024_rebuild_python_venv_failed": "Failed to rebuild the Python virtualenv for {app}. The app may not work as long as this is not resolved. You should fix the situation by forcing the upgrade of this app using `yunohost app upgrade --force {app}`.",
|
||||
"migration_0024_rebuild_python_venv_in_progress": "Now attempting to rebuild the Python virtualenv for `{app}`",
|
||||
"migration_description_0021_migrate_to_bullseye": "Upgrade the system to Debian Bullseye and YunoHost 11.x",
|
||||
"migration_description_0022_php73_to_php74_pools": "Migrate php7.3-fpm 'pool' conf files to php7.4",
|
||||
"migration_description_0023_postgresql_11_to_13": "Migrate databases from PostgreSQL 11 to 13",
|
||||
"migration_description_0024_rebuild_python_venv": "Repair python app after bullseye migration",
|
||||
"migration_description_0024_rebuild_python_venv": "Repair Python app after bullseye migration",
|
||||
"migration_description_0025_global_settings_to_configpanel": "Migrate legacy global settings nomenclature to the new, modern nomenclature",
|
||||
"migration_description_0026_new_admins_group": "Migrate to the new 'multiple admins' system",
|
||||
"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}",
|
||||
"migration_ldap_migration_failed_trying_to_rollback": "Could not migrate... trying to roll back the system.",
|
||||
|
@ -528,8 +597,8 @@
|
|||
"migrations_need_to_accept_disclaimer": "To run the migration {id}, your must accept the following disclaimer:\n---\n{disclaimer}\n---\nIf you accept to run the migration, please re-run the command with the option '--accept-disclaimer'.",
|
||||
"migrations_no_migrations_to_run": "No migrations to run",
|
||||
"migrations_no_such_migration": "There is no migration called '{id}'",
|
||||
"migrations_not_pending_cant_skip": "Those migrations are not pending, so cannot be skipped: {ids}",
|
||||
"migrations_pending_cant_rerun": "Those migrations are still pending, so cannot be run again: {ids}",
|
||||
"migrations_not_pending_cant_skip": "These migrations are not pending, so cannot be skipped: {ids}",
|
||||
"migrations_pending_cant_rerun": "These migrations are still pending, so cannot be run again: {ids}",
|
||||
"migrations_running_forward": "Running migration {id}...",
|
||||
"migrations_skip_migration": "Skipping migration {id}...",
|
||||
"migrations_success_forward": "Migration {id} completed",
|
||||
|
@ -537,7 +606,9 @@
|
|||
"not_enough_disk_space": "Not enough free space on '{path}'",
|
||||
"operation_interrupted": "The operation was manually interrupted?",
|
||||
"other_available_options": "... and {n} other available options not shown",
|
||||
"password_confirmation_not_the_same": "The password and its confirmation do not match",
|
||||
"password_listed": "This password is among the most used passwords in the world. Please choose something more unique.",
|
||||
"password_too_long": "Please choose a password shorter than 127 characters",
|
||||
"password_too_simple_1": "The password needs to be at least 8 characters long",
|
||||
"password_too_simple_2": "The password needs to be at least 8 characters long and contain a digit, upper and lower characters",
|
||||
"password_too_simple_3": "The password needs to be at least 8 characters long and contain a digit, upper, lower and special characters",
|
||||
|
@ -546,8 +617,9 @@
|
|||
"pattern_domain": "Must be a valid domain name (e.g. my-domain.org)",
|
||||
"pattern_email": "Must be a valid e-mail address, without '+' symbol (e.g. someone@example.com)",
|
||||
"pattern_email_forward": "Must be a valid e-mail address, '+' symbol accepted (e.g. someone+tag@example.com)",
|
||||
"pattern_firstname": "Must be a valid first name",
|
||||
"pattern_lastname": "Must be a valid last name",
|
||||
"pattern_firstname": "Must be a valid first name (at least 3 chars)",
|
||||
"pattern_fullname": "Must be a valid full name (at least 3 chars)",
|
||||
"pattern_lastname": "Must be a valid last name (at least 3 chars)",
|
||||
"pattern_mailbox_quota": "Must be a size with b/k/M/G/T suffix or 0 to not have a quota",
|
||||
"pattern_password": "Must be at least 3 characters long",
|
||||
"pattern_password_app": "Sorry, passwords can not contain the following characters: {forbidden_chars}",
|
||||
|
@ -590,6 +662,7 @@
|
|||
"regenconf_would_be_updated": "The configuration would have been updated for category '{category}'",
|
||||
"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_infos": "Registrar infos",
|
||||
"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.",
|
||||
|
@ -606,8 +679,8 @@
|
|||
"restore_running_app_script": "Restoring the app '{app}'...",
|
||||
"restore_running_hooks": "Running restoration hooks...",
|
||||
"restore_system_part_failed": "Could not restore the '{part}' system part",
|
||||
"root_password_changed": "root's password was changed",
|
||||
"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_reboot": "The server will reboot",
|
||||
"server_reboot_confirm": "The server will reboot immediatly, are you sure? [{answers}]",
|
||||
"server_shutdown": "The server will shut down",
|
||||
|
@ -688,9 +761,10 @@
|
|||
"user_unknown": "Unknown user: {user}",
|
||||
"user_update_failed": "Could not update user {user}: {error}",
|
||||
"user_updated": "User info changed",
|
||||
"visitors": "Visitors",
|
||||
"yunohost_already_installed": "YunoHost is already installed",
|
||||
"yunohost_configured": "YunoHost is now configured",
|
||||
"yunohost_installing": "Installing YunoHost...",
|
||||
"yunohost_not_installed": "YunoHost is not correctly installed. Please run 'yunohost tools postinstall'",
|
||||
"yunohost_postinstall_end_tip": "The post-install completed! To finalize your setup, please consider:\n - adding a first user through the 'Users' section of the webadmin (or 'yunohost user create <username>' in command-line);\n - diagnose potential issues through the 'Diagnosis' section of the webadmin (or 'yunohost diagnosis run' in command-line);\n - reading the 'Finalizing your setup' and 'Getting to know YunoHost' parts in the admin documentation: https://yunohost.org/admindoc."
|
||||
}
|
||||
"yunohost_postinstall_end_tip": "The post-install completed! To finalize your setup, please consider:\n - diagnose potential issues through the 'Diagnosis' section of the webadmin (or 'yunohost diagnosis run' in command-line);\n - reading the 'Finalizing your setup' and 'Getting to know YunoHost' parts in the admin documentation: https://yunohost.org/admindoc."
|
||||
}
|
|
@ -1,6 +1,4 @@
|
|||
{
|
||||
"admin_password_change_failed": "Ne povis ŝanĝi pasvorton",
|
||||
"admin_password_changed": "La pasvorto de administrado estis ŝanĝita",
|
||||
"app_already_installed": "{app} estas jam instalita",
|
||||
"app_already_up_to_date": "{app} estas jam ĝisdata",
|
||||
"app_argument_required": "Parametro {name} estas bezonata",
|
||||
|
@ -26,7 +24,6 @@
|
|||
"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}' por la argumento '{name}' anstataŭ '{value}'",
|
||||
"app_argument_invalid": "Elektu validan valoron por la argumento '{name}': {error}",
|
||||
|
@ -66,7 +63,6 @@
|
|||
"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 {app}...",
|
||||
"backup_archive_name_exists": "Rezerva arkivo kun ĉi tiu nomo jam ekzistas.",
|
||||
"backup_applying_method_tar": "Krei la rezervon TAR Arkivo...",
|
||||
|
@ -86,8 +82,6 @@
|
|||
"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} 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",
|
||||
|
@ -105,7 +99,6 @@
|
|||
"field_invalid": "Nevalida kampo '{}'",
|
||||
"log_app_makedefault": "Faru '{}' la defaŭlta apliko",
|
||||
"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}' estas nekonata",
|
||||
"mailbox_disabled": "Retpoŝto malŝaltita por uzanto {user}",
|
||||
"migrations_dependencies_not_satisfied": "Rulu ĉi tiujn migradojn: '{dependencies_id}', antaŭ migrado {id}.",
|
||||
|
@ -169,10 +162,8 @@
|
|||
"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}'",
|
||||
"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}",
|
||||
"service_added": "La servo '{service}' estis aldonita",
|
||||
"upnp_disabled": "UPnP malŝaltis",
|
||||
"service_started": "Servo '{service}' komenciĝis",
|
||||
|
@ -196,12 +187,10 @@
|
|||
"log_letsencrypt_cert_renew": "Renovigu '{}' Let's Encrypt atestilon",
|
||||
"backup_output_directory_required": "Vi devas provizi elirejan dosierujon por la sekurkopio",
|
||||
"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}",
|
||||
"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.",
|
||||
"ssowat_conf_generated": "SSOwat-agordo generita",
|
||||
"log_remove_on_failed_restore": "Forigu '{}' post malsukcesa restarigo de rezerva ar archiveivo",
|
||||
"dpkg_is_broken": "Vi ne povas fari ĉi tion nun ĉar dpkg/APT (la administrantoj pri pakaĵaj sistemoj) ŝajnas esti rompita stato ... Vi povas provi solvi ĉi tiun problemon per konekto per SSH kaj funkcianta `sudo dpkg --configure -a`.",
|
||||
"certmanager_cert_signing_failed": "Ne povis subskribi la novan atestilon",
|
||||
"log_tools_upgrade": "Ĝisdatigu sistemajn pakaĵojn",
|
||||
|
@ -211,7 +200,6 @@
|
|||
"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}' ne havas sekretan skripton. Ignorante.",
|
||||
"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} haveblas sur {provider}.",
|
||||
"hook_exec_not_terminated": "Skripto ne finiĝis ĝuste: {path}",
|
||||
|
@ -236,9 +224,6 @@
|
|||
"restore_nothings_done": "Nenio estis restarigita",
|
||||
"log_tools_postinstall": "Afiŝu vian servilon YunoHost",
|
||||
"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.",
|
||||
"global_settings_setting_security_password_user_strength": "Uzanto pasvorta forto",
|
||||
"restore_may_be_not_enough_disk_space": "Via sistemo ne ŝajnas havi sufiĉe da spaco (libera: {free_space} B, necesa spaco: {needed_space} B, sekureca marĝeno: {margin} B)",
|
||||
"log_corrupted_md_file": "La YAD-metadata dosiero asociita kun protokoloj estas damaĝita: '{md_file}\nEraro: {error} '",
|
||||
"downloading": "Elŝutante …",
|
||||
|
@ -264,7 +249,6 @@
|
|||
"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}'",
|
||||
|
@ -277,7 +261,6 @@
|
|||
"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}'",
|
||||
"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}'…",
|
||||
|
@ -295,7 +278,6 @@
|
|||
"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}' 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}'\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}]",
|
||||
|
@ -310,10 +292,8 @@
|
|||
"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}'",
|
||||
"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}",
|
||||
"global_settings_cant_open_settings": "Ne eblis malfermi agordojn, tial: {reason}",
|
||||
"user_created": "Uzanto kreita",
|
||||
"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}'",
|
||||
|
@ -331,14 +311,12 @@
|
|||
"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}'",
|
||||
"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}]",
|
||||
"log_app_install": "Instalu la aplikon '{}'",
|
||||
"service_description_dnsmasq": "Traktas rezolucion de domajna nomo (DNS)",
|
||||
"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}",
|
||||
|
@ -352,7 +330,6 @@
|
|||
"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}'",
|
||||
"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} 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",
|
||||
|
@ -365,7 +342,6 @@
|
|||
"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}, 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",
|
||||
|
@ -454,7 +430,6 @@
|
|||
"diagnosis_found_errors_and_warnings": "Trovis {errors} signifaj problemo (j) (kaj {warnings} averto) rilataj al {category}!",
|
||||
"diagnosis_diskusage_low": "Stokado <code>{mountpoint}</code> (sur aparato <code>{device}</code>) nur restas {free} ({free_percent}%) spaco restanta (el {total}). Estu zorgema.",
|
||||
"diagnosis_diskusage_ok": "Stokado <code>{mountpoint}</code> (sur aparato <code>{device}</code>) ankoraŭ restas {free} ({free_percent}%) spaco (el {total})!",
|
||||
"global_settings_setting_pop3_enabled": "Ebligu la protokolon POP3 por la poŝta servilo",
|
||||
"diagnosis_unknown_categories": "La jenaj kategorioj estas nekonataj: {categories}",
|
||||
"diagnosis_services_running": "Servo {service} funkcias!",
|
||||
"diagnosis_ports_unreachable": "Haveno {port} ne atingeblas de ekstere.",
|
||||
|
@ -516,7 +491,6 @@
|
|||
"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",
|
||||
"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",
|
||||
|
@ -530,5 +504,11 @@
|
|||
"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}'"
|
||||
"additional_urls_already_added": "Plia URL '{url}' jam aldonita en la aldona URL por permeso '{permission}'",
|
||||
"global_settings_setting_nginx_compatibility_help": "Kongruo vs sekureca kompromiso por la TTT-servilo NGINX. Afektas la ĉifradojn (kaj aliajn aspektojn pri sekureco)",
|
||||
"global_settings_setting_admin_strength": "Admin pasvorta forto",
|
||||
"global_settings_setting_user_strength": "Uzanto pasvorta forto",
|
||||
"global_settings_setting_postfix_compatibility_help": "Kongruo vs sekureca kompromiso por la Postfix-servilo. Afektas la ĉifradojn (kaj aliajn aspektojn pri sekureco)",
|
||||
"global_settings_setting_ssh_compatibility_help": "Kongruo vs sekureca kompromiso por la SSH-servilo. Afektas la ĉifradojn (kaj aliajn aspektojn pri sekureco)",
|
||||
"global_settings_setting_smtp_allow_ipv6_help": "Permesu la uzon de IPv6 por ricevi kaj sendi poŝton"
|
||||
}
|
203
locales/es.json
203
locales/es.json
|
@ -1,8 +1,6 @@
|
|||
{
|
||||
"action_invalid": "Acción no válida '{action} 1'",
|
||||
"action_invalid": "Acción inválida '{action}'",
|
||||
"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} ya está instalada",
|
||||
"app_argument_choice_invalid": "Elija un valor válido para el argumento '{name}': '{value}' no se encuentra entre las opciones disponibles ({choices})",
|
||||
"app_argument_invalid": "Elija un valor válido para el argumento «{name}»: {error}",
|
||||
|
@ -15,14 +13,11 @@
|
|||
"app_not_properly_removed": "La {app} 0 no ha sido desinstalada correctamente",
|
||||
"app_removed": "{app} Desinstalado",
|
||||
"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}: {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",
|
||||
|
@ -83,8 +78,8 @@
|
|||
"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)",
|
||||
"pattern_email": "Debe ser una dirección de correo electrónico válida, sin el símbolo '+' (ej. alguien@ejemplo.com)",
|
||||
"pattern_firstname": "Debe ser un nombre válido",
|
||||
"pattern_lastname": "Debe ser un apellido válido",
|
||||
"pattern_firstname": "Debe ser un nombre válido (al menos 3 caracteres)",
|
||||
"pattern_lastname": "Debe ser un apellido válido (al menos 3 caracteres)",
|
||||
"pattern_mailbox_quota": "Debe ser un tamaño con el sufijo «b/k/M/G/T» o «0» para no tener una cuota",
|
||||
"pattern_password": "Debe contener al menos 3 caracteres",
|
||||
"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)",
|
||||
|
@ -150,7 +145,7 @@
|
|||
"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_domain_dns_ip_differs_from_public_ip": "Los registros DNS para el dominio '{domain}' son diferentes para la IP de este servidor. Por favor comprueba la categoría de los 'registros DNS' (básicos) en la página de diagnóstico para mayor información. Si has modificado recientemente tu registro 'A', espera a que se propague (algunos verificadores de propagación de DNS están disponibles en línea). (Si sabes lo que estás haciendo, usa '--no-checks' para desactivar estos marcadores)",
|
||||
"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}»",
|
||||
|
@ -163,7 +158,7 @@
|
|||
"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})",
|
||||
"certmanager_acme_not_configured_for_domain": "El reto ACME no ha podido ser realizado para {domain} porque en su configuración de nginx falta el código correcto... Por favor, asegúrate que la configuración de nginx es correcta ejecutando en el terminal `yunohost tools regen-conf nginx --dry-run --with-diff`.",
|
||||
"certmanager_acme_not_configured_for_domain": "El reto ACME no ha podido ser realizado para {domain} porque en su configuración de nginx falta el código correcto... Por favor, asegúrate que la configuración de nginx es correcta ejecutando en la 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_identical_domains": "El antiguo y nuevo dominio/url_path son idénticos ('{domain}{path}'), no se realizarán cambios.",
|
||||
|
@ -192,8 +187,7 @@
|
|||
"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_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).",
|
||||
"good_practices_about_user_password": "Está a punto de establecer una nueva contraseña de usuario. La contraseña debería de ser de al menos 8 caracteres, aunque es una buena práctica usar una contraseña más larga (es decir, una frase de paso) y/o usar varias clases 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 del mundo. Por favor, elija algo menos común y más robusto.",
|
||||
"password_too_simple_1": "La contraseña debe tener al menos 8 caracteres de longitud",
|
||||
"password_too_simple_2": "La contraseña debe ser de al menos 8 caracteres de longitud e incluir un número y caracteres en mayúsculas y minúsculas",
|
||||
|
@ -225,7 +219,6 @@
|
|||
"server_reboot": "El servidor se reiniciará",
|
||||
"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}»",
|
||||
"restore_removing_tmp_dir_failed": "No se pudo eliminar un directorio temporal antiguo",
|
||||
|
@ -273,7 +266,7 @@
|
|||
"migrations_failed_to_load_migration": "No se pudo cargar la migración {id}: {error}",
|
||||
"migrations_dependencies_not_satisfied": "Ejecutar estas migraciones: «{dependencies_id}» antes de migrar {id}.",
|
||||
"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",
|
||||
"mail_unavailable": "Esta dirección de correo electrónico está reservada para el grupo de administradores",
|
||||
"mailbox_disabled": "Correo desactivado para usuario {user}",
|
||||
"log_tools_reboot": "Reiniciar el servidor",
|
||||
"log_tools_shutdown": "Apagar el servidor",
|
||||
|
@ -294,7 +287,6 @@
|
|||
"log_domain_remove": "Eliminar el dominio «{}» de la configuración del sistema",
|
||||
"log_domain_add": "Añadir el dominio «{}» a la configuración del sistema",
|
||||
"log_remove_on_failed_install": "Eliminar «{}» después de una instalación fallida",
|
||||
"log_remove_on_failed_restore": "Eliminar «{}» después de una restauración fallida desde un archivo de respaldo",
|
||||
"log_backup_restore_app": "Restaurar «{}» desde un archivo de respaldo",
|
||||
"log_backup_restore_system": "Restaurar sistema desde un archivo de respaldo",
|
||||
"log_available_on_yunopaste": "Este registro está ahora disponible vía {url}",
|
||||
|
@ -319,26 +311,11 @@
|
|||
"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 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).",
|
||||
"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}», 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}",
|
||||
"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": "Este comando muestra la configuración *recomendada*. No configura las entradas DNS por ti. Es tu responsabilidad configurar la zona 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`.",
|
||||
"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` y/o `sudo dpkg --audit`.",
|
||||
"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 seguridad de tu sistema. Probablemente NO deberías instalarla a menos que sepas lo que estás haciendo. NO se proporcionará NINGÚN SOPORTE si esta aplicación no funciona o rompe su sistema… Si de todos modos quieres correr ese riesgo, escribe '{answers}'",
|
||||
"confirm_app_install_danger": "¡PELIGRO! ¡Esta aplicación sigue siendo experimental (si no es expresamente no funcional)! Probablemente NO deberías instalarla a menos que sepas lo que estás haciendo. NO se proporcionará NINGÚN SOPORTE si esta aplicación no funciona o rompe tu sistema… Si de todos modos quieres correr ese riesgo, escribe '{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}] ",
|
||||
|
@ -361,7 +338,6 @@
|
|||
"app_not_upgraded": "La aplicación '{failed_app}' no se pudo actualizar y, como consecuencia, se cancelaron las actualizaciones de las siguientes aplicaciones: {apps}",
|
||||
"app_action_cannot_be_ran_because_required_services_down": "Estos servicios necesarios deberían estar funcionando para ejecutar esta acción: {services}. Pruebe a reiniciarlos para continuar (y posiblemente investigar por qué están caídos).",
|
||||
"already_up_to_date": "Nada que hacer. Todo está actualizado.",
|
||||
"admin_password_too_long": "Elija una contraseña de menos de 127 caracteres",
|
||||
"aborting": "Cancelando.",
|
||||
"app_action_broke_system": "Esta acción parece que ha roto estos servicios importantes: {services}",
|
||||
"operation_interrupted": "¿La operación fue interrumpida manualmente?",
|
||||
|
@ -415,7 +391,7 @@
|
|||
"diagnosis_ip_no_ipv4": "El servidor no cuenta con ipv4 funcional.",
|
||||
"diagnosis_ip_not_connected_at_all": "¿¡Está conectado el servidor a internet!?",
|
||||
"diagnosis_ip_broken_resolvconf": "La resolución de nombres de dominio parece no funcionar en tu servidor, lo que parece estar relacionado con que <code>/etc/resolv.conf</code> no apunta a <code>127.0.0.1</code>.",
|
||||
"diagnosis_dns_missing_record": "Según la configuración DNS recomendada, deberías añadir un registro DNS\ntipo: {type}\nnombre: {name}\nvalor: {value}",
|
||||
"diagnosis_dns_missing_record": "Según la configuración DNS recomendada, deberías añadir un registro DNS con las informaciones siguientes. Tipo: <code>{type}</code><br>Nombre: <code>{name}</code><br>Valor: <code>{value}</code>",
|
||||
"diagnosis_diskusage_low": "El almacenamiento <code>{mountpoint}</code> (en el dispositivo <code>{device}</code>) solo tiene {free} ({free_percent}%) de espacio disponible (de {total}). Ten cuidado.",
|
||||
"diagnosis_services_bad_status_tip": "Puedes intentar <a href='#/services/{service}'>reiniciar el servicio</a>, y si no funciona, echar un vistazo a <a href='#/services/{service}'>los logs del serviciode la administración web</a> (desde la línea de comandos puedes hacerlo con <cmd>yunohost service restart {service}</cmd> y <cmd>yunohost service log {service}</cmd>).",
|
||||
"diagnosis_ip_connected_ipv6": "¡El servidor está conectado a internet a través de IPv6!",
|
||||
|
@ -434,17 +410,17 @@
|
|||
"diagnosis_services_running": "¡El servicio {service} está en ejecución!",
|
||||
"diagnosis_failed": "Error al obtener el resultado del diagnóstico para la categoría '{category}': {error}",
|
||||
"diagnosis_ip_connected_ipv4": "¡El servidor está conectado a internet a través de IPv4!",
|
||||
"diagnosis_security_vulnerable_to_meltdown_details": "Para corregir esto, debieras actualizar y reiniciar tu sistema para cargar el nuevo kernel de Linux (o contacta tu proveedor si esto no funciona). Mas información en https://meltdownattack.com/ .",
|
||||
"diagnosis_ram_verylow": "Al sistema le queda solamente {available} ({available_percent}%) de RAM! (De un total de {total})",
|
||||
"diagnosis_security_vulnerable_to_meltdown_details": "Para corregir esto, debieras actualizar y reiniciar tu sistema para cargar el nuevo kernel de Linux (o contacta tu proveedor si esto no funciona). Más información en https://meltdownattack.com/ .",
|
||||
"diagnosis_ram_verylow": "¡Al sistema le queda solamente {available} ({available_percent}%) de RAM! (De un total de {total})",
|
||||
"diagnosis_ram_low": "Al sistema le queda {available} ({available_percent}%) de RAM de un total de {total}. Cuidado.",
|
||||
"diagnosis_ram_ok": "El sistema aun tiene {available} ({available_percent}%) de RAM de un total de {total}.",
|
||||
"diagnosis_ram_ok": "El sistema aún tiene {available} ({available_percent}%) de RAM de un total de {total}.",
|
||||
"diagnosis_swap_none": "El sistema no tiene mas espacio de intercambio. Considera agregar por lo menos {recommended} de espacio de intercambio para evitar que el sistema se quede sin memoria.",
|
||||
"diagnosis_swap_notsomuch": "Al sistema le queda solamente {total} de espacio de intercambio. Considera agregar al menos {recommended} para evitar que el sistema se quede sin memoria.",
|
||||
"diagnosis_mail_outgoing_port_25_blocked": "El puerto de salida 25 parece estar bloqueado. Intenta desbloquearlo con el panel de configuración de tu proveedor de servicios de Internet (o proveedor de halbergue). Mientras tanto, el servidor no podrá enviar correos electrónicos a otros servidores.",
|
||||
"diagnosis_regenconf_allgood": "Todos los archivos de configuración están en linea con la configuración recomendada!",
|
||||
"diagnosis_regenconf_allgood": "¡Todos los archivos de configuración están en línea con la configuración recomendada!",
|
||||
"diagnosis_regenconf_manually_modified": "El archivo de configuración <code>{file}</code> parece que ha sido modificado manualmente.",
|
||||
"diagnosis_regenconf_manually_modified_details": "¡Esto probablemente esta BIEN si sabes lo que estás haciendo! YunoHost dejará de actualizar este fichero automáticamente... Pero ten en cuenta que las actualizaciones de YunoHost pueden contener importantes cambios que están recomendados. Si quieres puedes comprobar las diferencias mediante <cmd>yunohost tools regen-conf {category} --dry-run --with-diff</cmd> o puedes forzar el volver a las opciones recomendadas mediante el comando <cmd>yunohost tools regen-conf {category} --force</cmd>",
|
||||
"diagnosis_security_vulnerable_to_meltdown": "Pareces vulnerable a el colapso de vulnerabilidad critica de seguridad",
|
||||
"diagnosis_security_vulnerable_to_meltdown": "Pareces vulnerable al colapso de vulnerabilidad crítica de seguridad",
|
||||
"diagnosis_description_basesystem": "Sistema de base",
|
||||
"diagnosis_description_ip": "Conectividad a Internet",
|
||||
"diagnosis_description_dnsrecords": "Registro DNS",
|
||||
|
@ -464,9 +440,8 @@
|
|||
"log_domain_main_domain": "Hacer de '{}' el dominio principal",
|
||||
"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}' 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_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.",
|
||||
"diagnosis_http_bad_status_code": "Parece que otra máquina (quizás el router de conexión a internet) haya respondido en vez de tu servidor.<br>1. La causa más común es que el puerto 80 (y el 443) <a href='https://yunohost.org/isp_box_config'>no hayan sido redirigidos a tu servidor</a>.<br>2. En situaciones más complejas: asegurate de que ni el cortafuegos ni el proxy inverso están interfiriendo.",
|
||||
|
@ -478,12 +453,12 @@
|
|||
"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}' 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, por favor considere:\n - agregar un primer usuario a través de la sección 'Usuarios' del administrador web (o 'yunohost user create <username>' en la línea de comandos);\n - diagnosticar problemas potenciales a través de la sección 'Diagnóstico' del administrador web (o 'yunohost diagnosis run' en la línea de comandos);\n - leyendo las partes 'Finalizando su configuración' y 'Conociendo 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.",
|
||||
"yunohost_postinstall_end_tip": "¡La post-instalación completada! Para finalizar su configuración, por favor considere:\n - diagnosticar problemas potenciales a través de la sección 'Diagnóstico' del administrador web (o 'yunohost diagnosis run' en la línea de comandos);\n - leyendo las partes 'Finalizando su configuración' y 'Conociendo 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.",
|
||||
"diagnosis_ip_global": "IP Global: <code>{global}</code>",
|
||||
"diagnosis_mail_outgoing_port_25_ok": "El servidor de email SMTP puede mandar emails (puerto saliente 25 no está bloqueado).",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_details": "Primeramente deberías intentar desbloquear el puerto de salida 25 en la interfaz de control de tu router o en la interfaz de tu provedor de hosting. (Algunos hosting pueden necesitar que les abras un ticket de soporte para esto).",
|
||||
"diagnosis_swap_tip": "Por favor tenga cuidado y sepa que si el servidor contiene swap en una tarjeta SD o un disco duro de estado sólido, esto reducirá drásticamente la vida útil del dispositivo.",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_details": "Primeramente, deberías intentar desbloquear el puerto de salida 25 en la interfaz de control de tu router o en la interfaz de tu proveedor de hosting. (Algunos hostings pueden necesitar que les abras un ticket de soporte para esto).",
|
||||
"diagnosis_swap_tip": "Por favor, tenga cuidado y sepa que si el servidor contiene swap en una tarjeta SD o un disco duro de estado sólido, esto reducirá drásticamente la vida útil del dispositivo.",
|
||||
"diagnosis_domain_expires_in": "{domain} expira en {days} días.",
|
||||
"diagnosis_domain_expiration_error": "¡Algunos dominios expirarán MUY PRONTO!",
|
||||
"diagnosis_domain_expiration_warning": "¡Algunos dominios expirarán pronto!",
|
||||
|
@ -510,13 +485,10 @@
|
|||
"app_label_deprecated": "Este comando está depreciado! Favor usar el nuevo comando 'yunohost user permission update' para administrar la etiqueta de app.",
|
||||
"app_argument_password_no_default": "Error al interpretar argumento de contraseña'{name}': El argumento de contraseña no puede tener un valor por defecto por razón de seguridad",
|
||||
"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",
|
||||
"global_settings_setting_smtp_relay_port": "Puerto de envio / relay SMTP",
|
||||
"global_settings_setting_smtp_relay_host": "El servidor relay de SMTP para enviar correo en lugar de esta instalación YunoHost. Útil si estás en una de estas situaciones: tu puerto 25 esta bloqueado por tu ISP o VPS, si estás en usado una IP marcada como residencial o DUHL, si no puedes configurar un DNS inverso o si el servidor no está directamente expuesto a internet y quieres utilizar otro servidor para enviar correos.",
|
||||
"global_settings_setting_smtp_allow_ipv6": "Permitir el uso de IPv6 para enviar y recibir correo",
|
||||
"diagnosis_processes_killed_by_oom_reaper": "Algunos procesos fueron terminados por el sistema recientemente porque se quedó sin memoria. Típicamente es sintoma de falta de memoria o de un proceso que se adjudicó demasiada memoria.<br>Resumen de los procesos terminados:<br>\n{kills_summary}",
|
||||
"diagnosis_processes_killed_by_oom_reaper": "Algunos procesos fueron terminados por el sistema recientemente porque se quedó sin memoria. Típicamente, es síntoma de falta de memoria o de un proceso que se adjudicó demasiada memoria.<br>Resumen de los procesos terminados:<br>\n{kills_summary}",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date_details": "Para arreglar este asunto, estudia las diferencias mediante el comando <cmd>yunohost tools regen-conf nginx --dry-run --with-diff</cmd> y si te parecen bien aplica los cambios mediante <cmd>yunohost tools regen-conf nginx --force</cmd>.",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date": "Parece que la configuración nginx de este dominio haya sido modificada manualmente, esto no deja que YunoHost pueda diagnosticar si es accesible mediante HTTP.",
|
||||
"diagnosis_http_partially_unreachable": "El dominio {domain} parece que no es accesible mediante HTTP desde fuera de la red local mediante IPv{failed}, aunque si que funciona mediante IPv{passed}.",
|
||||
|
@ -527,13 +499,13 @@
|
|||
"diagnosis_mail_queue_unavailable_details": "Error: {error}",
|
||||
"diagnosis_mail_queue_unavailable": "No se ha podido consultar el número de correos electrónicos pendientes en la cola",
|
||||
"diagnosis_mail_queue_ok": "{nb_pending} correos esperando e la cola de correos electrónicos",
|
||||
"diagnosis_mail_blacklist_website": "Cuando averigües y arregles el motivo por el que aprareces en la lista maligna, no dudes en solicitar que tu IP o dominio sea retirado de la {blacklist_website}",
|
||||
"diagnosis_mail_blacklist_website": "Cuando averigües y arregles el motivo por el que apareces en la lista maligna, no dudes en solicitar que tu IP o dominio sea retirado de la {blacklist_website}",
|
||||
"diagnosis_mail_blacklist_reason": "El motivo de estar en la lista maligna es: {reason}",
|
||||
"diagnosis_mail_blacklist_listed_by": "Tu IP o dominio <code>{item}</code> está marcado como maligno en {blacklist_name}",
|
||||
"diagnosis_mail_blacklist_ok": "Las IP y los dominios utilizados en este servidor no parece que estén en ningún listado maligno (blacklist)",
|
||||
"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_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 email.smtp.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/#/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.",
|
||||
|
@ -547,11 +519,11 @@
|
|||
"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/#/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_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 tráfico 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 internet 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}» 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}»",
|
||||
"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}»",
|
||||
"config_apply_failed": "Falló la aplicación de la nueva configuración: {error}",
|
||||
"app_restore_script_failed": "Ha ocurrido un error dentro del script de restauración de aplicaciones",
|
||||
"app_config_unable_to_apply": "No se pudieron aplicar los valores del panel configuración.",
|
||||
|
@ -563,8 +535,8 @@
|
|||
"domain_dns_push_partial_failure": "Entradas DNS actualizadas parcialmente: algunas advertencias/errores reportados.",
|
||||
"domain_unknown": "Dominio '{domain}' desconocido",
|
||||
"diagnosis_high_number_auth_failures": "Ultimamente ha habido un gran número de errores de autenticación. Asegúrate de que Fail2Ban está ejecutándose y correctamente configurado, o usa un puerto SSH personalizado como se explica en <a href=\"https://yunohost.org/security\">https://yunohost.org/security</a>.",
|
||||
"diagnosis_sshd_config_inconsistent": "Parece que el puerto SSH ha sido modificado manualmente en /etc/ssh/sshd_config. Desde YunoHost 4.2, hay un nuevo parámetro global 'security.ssh.port' disponible para evitar modificar manualmente la configuración.",
|
||||
"diagnosis_sshd_config_inconsistent_details": "Por favor ejecuta <cmd>yunohost settings set security.ssh.port -v TU_PUERTO_SSH</cmd> para definir el puerto SSH, y comprueba <cmd>yunohost tools regen-conf ssh --dry-run --with-diff</cmd> y <cmd>yunohost tools regen-conf ssh --force</cmd> para resetear tu configuración a las recomendaciones de YunoHost.",
|
||||
"diagnosis_sshd_config_inconsistent": "Parece que el puerto SSH ha sido modificado manualmente en /etc/ssh/sshd_config. Desde YunoHost 4.2, hay un nuevo parámetro global 'security.ssh.ssh_port' disponible para evitar modificar manualmente la configuración.",
|
||||
"diagnosis_sshd_config_inconsistent_details": "Por favor ejecute <cmd>yunohost settings set security.ssh.ssh_port -v TU_PUERTO_SSH</cmd> para definir el puerto SSH, y compruebe las diferencias <cmd>yunohost tools regen-conf ssh --dry-run --with-diff</cmd> y <cmd>yunohost tools regen-conf ssh --force</cmd> para resetear tu configuración a las recomendaciones de YunoHost.",
|
||||
"config_forbidden_keyword": "'{keyword}' es una palabra reservada, no puedes crear ni usar un panel de configuración con una pregunta que use esta id.",
|
||||
"config_no_panel": "No se ha encontrado ningún panel de configuración.",
|
||||
"config_unknown_filter_key": "La clave de filtrado '{filter_key}' es incorrecta.",
|
||||
|
@ -579,7 +551,6 @@
|
|||
"config_validate_email": "Debe ser una dirección de correo correcta",
|
||||
"config_validate_time": "Debe ser una hora valida en formato HH:MM",
|
||||
"config_validate_url": "Debe ser una URL válida",
|
||||
"config_version_not_supported": "Las versiones del panel de configuración '{version}' no están soportadas.",
|
||||
"domain_remove_confirm_apps_removal": "La supresión de este dominio también eliminará las siguientes aplicaciones:\n{apps}\n\n¿Seguro? [{answers}]",
|
||||
"domain_registrar_is_not_configured": "El registrador aún no ha configurado el dominio {domain}.",
|
||||
"diagnosis_apps_not_in_app_catalog": "Esta aplicación se encuentra ausente o ya no figura en el catálogo de aplicaciones de YunoHost. Deberías considerar desinstalarla ya que no recibirá actualizaciones y podría comprometer la integridad y seguridad de tu sistema.",
|
||||
|
@ -589,7 +560,7 @@
|
|||
"diagnosis_apps_bad_quality": "Esta aplicación está etiquetada como defectuosa en el catálogo de aplicaciones YunoHost. Podría ser un problema temporal mientras las personas responsables corrigen el asunto. Mientras tanto, la actualización de esta aplicación está desactivada.",
|
||||
"diagnosis_apps_broken": "Esta aplicación está etiquetada como defectuosa en el catálogo de aplicaciones YunoHost. Podría ser un problema temporal mientras las personas responsables corrigen el asunto. Mientras tanto, la actualización de esta aplicación está desactivada.",
|
||||
"diagnosis_apps_deprecated_practices": "La versión instalada de esta aplicación usa aún prácticas de empaquetado obsoletas. Deberías actualizarla.",
|
||||
"diagnosis_apps_outdated_ynh_requirement": "La versión instalada de esta aplicación solo necesita YunoHost >= 2.x, lo que indica que no está al día con la buena praxis de ayudas y empaquetado recomendadas. Deberías actualizarla.",
|
||||
"diagnosis_apps_outdated_ynh_requirement": "La versión instalada de esta aplicación solo necesita YunoHost >= 2.x o 3.x, lo que indica que no está al día con la buena praxis de ayudas y empaquetado recomendadas. Deberías actualizarla.",
|
||||
"domain_dns_conf_special_use_tld": "Este dominio se basa en un dominio de primer nivel (TLD) de usos especiales como .local o .test y no debería tener entradas DNS reales.",
|
||||
"diagnosis_sshd_config_insecure": "Parece que la configuración SSH ha sido modificada manualmente, y es insegura porque no tiene ninguna instrucción 'AllowGroups' o 'AllowUsers' para limitar el acceso a los usuarios autorizados.",
|
||||
"domain_dns_push_not_applicable": "La configuración automática de los registros DNS no puede realizarse en el dominio {domain}. Deberìas configurar manualmente los registros DNS siguiendo la <a href='https://yunohost.org/dns'>documentación</a>.",
|
||||
|
@ -600,8 +571,7 @@
|
|||
"domain_dns_push_success": "¡Registros DNS actualizados!",
|
||||
"domain_dns_push_failed_to_authenticate": "No se pudo autenticar en la API del registrador para el dominio '{domain}'. ¿Lo más probable es que las credenciales sean incorrectas? (Error: {error})",
|
||||
"domain_dns_registrar_experimental": "Hasta ahora, la comunidad de YunoHost no ha probado ni revisado correctamente la interfaz con la API de **{registrar}**. El soporte es **muy experimental**. ¡Ten cuidado!",
|
||||
"domain_dns_push_record_failed": "No se pudo {acción} registrar {tipo}/{nombre}: {error}",
|
||||
"domain_config_features_disclaimer": "Hasta ahora, habilitar/deshabilitar las funciones de correo o XMPP solo afecta la configuración de DNS recomendada y automática, ¡no las configuraciones del sistema!",
|
||||
"domain_dns_push_record_failed": "No se pudo {action} registrar {type}/{name}: {error}",
|
||||
"domain_config_mail_in": "Correos entrantes",
|
||||
"domain_config_mail_out": "Correos salientes",
|
||||
"domain_config_xmpp": "Mensajería instantánea (XMPP)",
|
||||
|
@ -618,26 +588,21 @@
|
|||
"domain_dns_registrar_managed_in_parent_domain": "Este dominio es un subdominio de {parent_domain_link}. La configuración del registrador de DNS debe administrarse en el panel de configuración de {parent_domain}.",
|
||||
"domain_dns_registrar_yunohost": "Este dominio es un nohost.me / nohost.st / ynh.fr y, por lo tanto, YunoHost maneja automáticamente su configuración de DNS sin ninguna configuración adicional. (vea el comando 'yunohost dyndns update')",
|
||||
"domain_dns_registrar_not_supported": "YunoHost no pudo detectar automáticamente el registrador que maneja este dominio. Debe configurar manualmente sus registros DNS siguiendo la documentación en https://yunohost.org/dns.",
|
||||
"global_settings_setting_security_nginx_redirect_to_https": "Redirija las solicitudes HTTP a HTTPs de forma predeterminada (¡NO LO DESACTIVE a menos que realmente sepa lo que está haciendo!)",
|
||||
"global_settings_setting_security_webadmin_allowlist": "Direcciones IP permitidas para acceder al webadmin. Separado por comas.",
|
||||
"migration_ldap_backup_before_migration": "Creación de una copia de seguridad de la base de datos LDAP y la configuración de las aplicaciones antes de la migración real.",
|
||||
"global_settings_setting_security_ssh_port": "Puerto SSH",
|
||||
"invalid_number": "Debe ser un miembro",
|
||||
"ldap_server_is_down_restart_it": "El servicio LDAP está inactivo, intente reiniciarlo...",
|
||||
"invalid_password": "Contraseña inválida",
|
||||
"permission_cant_add_to_all_users": "El permiso {permission} no se puede agregar a todos los usuarios.",
|
||||
"log_domain_dns_push": "Enviar registros DNS para el dominio '{}'",
|
||||
"log_user_import": "Importar usuarios",
|
||||
"postinstall_low_rootfsspace": "El sistema de archivos raíz tiene un espacio total inferior a 10 GB, ¡lo cual es bastante preocupante! ¡Es probable que se quede sin espacio en disco muy rápidamente! Se recomienda tener al menos 16 GB para el sistema de archivos raíz. Si desea instalar YunoHost a pesar de esta advertencia, vuelva a ejecutar la instalación posterior con --force-diskspace",
|
||||
"migration_ldap_rollback_success": "Sistema revertido.",
|
||||
"permission_protected": "Permiso {permission} está protegido. No puede agregar o quitar el grupo de visitantes a/desde este permiso.",
|
||||
"global_settings_setting_ssowat_panel_overlay_enabled": "Habilitar la superposición del panel SSOwat",
|
||||
"global_settings_setting_ssowat_panel_overlay_enabled": "Habilitar el pequeño cuadrado de acceso directo al portal \"YunoHost\" en las aplicaciones",
|
||||
"migration_0021_start": "Iniciando migración a Bullseye",
|
||||
"migration_0021_patching_sources_list": "Parcheando los sources.lists...",
|
||||
"migration_0021_main_upgrade": "Iniciando actualización principal...",
|
||||
"migration_0021_still_on_buster_after_main_upgrade": "Algo salió mal durante la actualización principal, el sistema parece estar todavía en Debian Buster",
|
||||
"migration_0021_yunohost_upgrade": "Iniciando la actualización principal de YunoHost...",
|
||||
"migration_0021_not_buster": "¡La distribución actual de Debian no es Buster!",
|
||||
"migration_0021_not_enough_free_space": "¡El espacio libre es bastante bajo en /var/! Debe tener al menos 1 GB libre para ejecutar esta migración.",
|
||||
"migration_0021_system_not_fully_up_to_date": "Su sistema no está completamente actualizado. Realice una actualización regular antes de ejecutar la migración a Bullseye.",
|
||||
"migration_0021_general_warning": "Tenga en cuenta que esta migración es una operación delicada. El equipo de YunoHost hizo todo lo posible para revisarlo y probarlo, pero la migración aún podría romper partes del sistema o sus aplicaciones.\n\nPor lo tanto, se recomienda:\n - Realice una copia de seguridad de cualquier dato o aplicación crítica. Más información en https://yunohost.org/backup;\n - Sea paciente después de iniciar la migración: dependiendo de su conexión a Internet y hardware, puede tomar algunas horas para que todo se actualice.",
|
||||
|
@ -645,7 +610,6 @@
|
|||
"migration_0021_modified_files": "Tenga en cuenta que se encontró que los siguientes archivos se modificaron manualmente y podrían sobrescribirse después de la actualización: {manually_modified_files}",
|
||||
"invalid_number_min": "Debe ser mayor que {min}",
|
||||
"pattern_email_forward": "Debe ser una dirección de correo electrónico válida, se acepta el símbolo '+' (por ejemplo, alguien+etiqueta@ejemplo.com)",
|
||||
"global_settings_setting_security_ssh_password_authentication": "Permitir autenticación de contraseña para SSH",
|
||||
"invalid_number_max": "Debe ser menor que {max}",
|
||||
"ldap_attribute_already_exists": "El atributo LDAP '{attribute}' ya existe con el valor '{value}'",
|
||||
"log_app_config_set": "Aplicar configuración a la aplicación '{}'",
|
||||
|
@ -657,8 +621,6 @@
|
|||
"ldap_server_down": "No se puede conectar con el servidor LDAP",
|
||||
"log_backup_create": "Crear un archivo de copia de seguridad",
|
||||
"migration_ldap_can_not_backup_before_migration": "La copia de seguridad del sistema no se pudo completar antes de que fallara la migración. Error: {error}",
|
||||
"global_settings_setting_security_experimental_enabled": "Habilite las funciones de seguridad experimentales (¡no habilite esto si no sabe lo que está haciendo!)",
|
||||
"global_settings_setting_security_webadmin_allowlist_enabled": "Permita que solo algunas IP accedan al administrador web.",
|
||||
"migration_ldap_migration_failed_trying_to_rollback": "No se pudo migrar... intentando revertir el sistema.",
|
||||
"migration_0023_not_enough_space": "Deje suficiente espacio disponible en {path} para ejecutar la migración.",
|
||||
"migration_0023_postgresql_11_not_installed": "PostgreSQL no estaba instalado en su sistema. Nada que hacer.",
|
||||
|
@ -684,5 +646,106 @@
|
|||
"service_description_yunomdns": "Le permite llegar a su servidor usando 'yunohost.local' en su red local",
|
||||
"show_tile_cant_be_enabled_for_regex": "No puede habilitar 'show_tile' en este momento porque la URL para el permiso '{permission}' es una expresión regular",
|
||||
"show_tile_cant_be_enabled_for_url_not_defined": "No puede habilitar 'show_tile' en este momento, porque primero debe definir una URL para el permiso '{permission}'",
|
||||
"regex_incompatible_with_tile": "/!\\ Empaquetadores! El permiso '{permission}' tiene show_tile establecido en 'true' y, por lo tanto, no puede definir una URL de expresión regular como la URL principal"
|
||||
}
|
||||
"regex_incompatible_with_tile": "/!\\ Empaquetadores! El permiso '{permission}' tiene show_tile establecido en 'true' y, por lo tanto, no puede definir una URL de expresión regular como la URL principal",
|
||||
"global_settings_setting_backup_compress_tar_archives_help": "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_security_experimental_enabled_help": "Habilite las funciones de seguridad experimentales (¡no habilite esto si no sabe lo que está haciendo!)",
|
||||
"global_settings_setting_nginx_compatibility_help": "Compromiso entre compatibilidad y seguridad para el servidor web NGINX. Afecta al cifrado (y otros aspectos relacionados con la seguridad)",
|
||||
"global_settings_setting_nginx_redirect_to_https_help": "Redirija las solicitudes HTTP a HTTPs de forma predeterminada (¡NO LO DESACTIVE a menos que realmente sepa lo que está haciendo!)",
|
||||
"global_settings_setting_admin_strength": "Seguridad de la contraseña del administrador",
|
||||
"global_settings_setting_user_strength": "Seguridad de la contraseña de usuario",
|
||||
"global_settings_setting_postfix_compatibility_help": "Compromiso entre compatibilidad y seguridad para el servidor Postfix. Afecta al cifrado (y otros aspectos relacionados con la seguridad)",
|
||||
"global_settings_setting_ssh_compatibility_help": "Compromiso entre compatibilidad y seguridad para el servidor SSH. Afecta al cifrado (y otros aspectos relacionados con la seguridad)",
|
||||
"global_settings_setting_ssh_password_authentication_help": "Permitir autenticación de contraseña para SSH",
|
||||
"global_settings_setting_ssh_port": "Puerto SSH",
|
||||
"global_settings_setting_webadmin_allowlist_help": "Direcciones IP permitidas para acceder al webadmin. Separado por comas.",
|
||||
"global_settings_setting_webadmin_allowlist_enabled_help": "Permita que solo algunas IP accedan al administrador web.",
|
||||
"global_settings_setting_smtp_allow_ipv6_help": "Permitir el uso de IPv6 para enviar y recibir correo",
|
||||
"global_settings_setting_smtp_relay_enabled_help": "El servidor relay de SMTP para enviar correo en lugar de esta instalación YunoHost. Útil si estás en una de estas situaciones: tu puerto 25 esta bloqueado por tu ISP o VPS, si estás en usado una IP marcada como residencial o DUHL, si no puedes configurar un DNS inverso o si el servidor no está directamente expuesto a internet y quieres utilizar otro servidor para enviar correos.",
|
||||
"admins": "Administradores",
|
||||
"all_users": "Todos los usuarios de YunoHost",
|
||||
"app_action_failed": "No se ha podido ejecutar la acción {action} para la aplicación {app}",
|
||||
"app_manifest_install_ask_init_admin_permission": "¿Quién debe tener acceso a las funciones de administración de esta aplicación? (Esto puede cambiarse posteriormente)",
|
||||
"app_manifest_install_ask_init_main_permission": "¿Quién debería tener acceso a esta aplicación? (Esto puede cambiarse posteriormente)",
|
||||
"ask_admin_fullname": "Nombre completo del administrador",
|
||||
"ask_admin_username": "Nombre de usuario del administrador",
|
||||
"ask_fullname": "Nombre completo",
|
||||
"certmanager_cert_install_failed": "La instalación del certificado Let's Encrypt a fallado para {domains}",
|
||||
"certmanager_cert_install_failed_selfsigned": "La instalación del certificado autofirmado ha fallado para {domains}",
|
||||
"certmanager_cert_renew_failed": "La renovación del certificado Let's Encrypt ha fallado para {domains}",
|
||||
"config_action_disabled": "No se ha podido ejecutar la acción '{action}' porque está desactivada, asegúrese de cumplir sus restricciones. ayuda: {help}",
|
||||
"config_action_failed": "Error al ejecutar la acción '{action}': {error}",
|
||||
"config_forbidden_readonly_type": "El tipo '{type}' no puede establecerse como solo lectura, utilice otro tipo para representar este valor (arg id relevante: '{id}').",
|
||||
"diagnosis_using_stable_codename": "<cmd>apt</cmd> (el gestor de paquetes del sistema) está configurado actualmente para instalar paquetes de nombre en clave 'estable', en lugar del nombre en clave de la versión actual de Debian (bullseye).",
|
||||
"diagnosis_using_stable_codename_details": "Esto suele deberse a una configuración incorrecta de su proveedor de alojamiento. Esto es peligroso, porque tan pronto como la siguiente versión de Debian se convierta en la nueva 'estable', <cmd>apt</cmd> querrá actualizar todos los paquetes del sistema sin pasar por un procedimiento de migración adecuado. Se recomienda arreglar esto editando la fuente de apt para el repositorio base de Debian, y reemplazar la palabra clave <cmd>stable</cmd> por <cmd>bullseye</cmd>. El fichero de configuración correspondiente debería ser <cmd>/etc/apt/sources.list</cmd>, o un fichero en <cmd>/etc/apt/sources.list.d/</cmd>.",
|
||||
"domain_config_cert_install": "Instalar el certificado Let's Encrypt",
|
||||
"domain_cannot_add_muc_upload": "No puedes añadir dominios que empiecen por 'muc.'. Este tipo de nombre está reservado para la función de chat XMPP multi-usuarios integrada en YunoHost.",
|
||||
"domain_config_cert_renew_help": "El certificado se renovará automáticamente durante los últimos 15 días de validez. Si lo desea, puede renovarlo manualmente. (No recomendado).",
|
||||
"domain_config_cert_summary_expired": "CRÍTICO: ¡El certificado actual no es válido! ¡HTTPS no funcionará en absoluto!",
|
||||
"domain_config_cert_summary_letsencrypt": "¡Muy bien! Estás utilizando un certificado Let's Encrypt válido.",
|
||||
"global_settings_setting_postfix_compatibility": "Compatibilidad con Postfix",
|
||||
"global_settings_setting_root_password_confirm": "Nueva contraseña de root (confirmar)",
|
||||
"global_settings_setting_webadmin_allowlist_enabled": "Activar la lista de IPs permitidas para Webadmin",
|
||||
"migration_0024_rebuild_python_venv_broken_app": "Omitiendo {app} porque virtualenv no puede ser reconstruido fácilmente para esta app. En su lugar, deberías arreglar la situación forzando la actualización de esta app usando `yunohost app upgrade --force {app}`.",
|
||||
"migration_0024_rebuild_python_venv_in_progress": "Ahora intentando reconstruir el virtualenv de Python para `{app}`",
|
||||
"confirm_app_insufficient_ram": "¡PELIGRO! Esta aplicación requiere {required} de RAM para ser instalada/actualizada, pero solo hay {current} disponible actualmente. Incluso si esta aplicación pudiera ejecutarse, su proceso de instalación/actualización requiere una gran cantidad de RAM, por lo que tu servidor puede congelarse y fallar miserablemente. Si estás dispuesto a asumir ese riesgo de todos modos, escribe '{answers}'",
|
||||
"confirm_notifications_read": "ADVERTENCIA: Deberías revisar las notificaciones de la aplicación antes de continuar, puede haber información importante que debes conocer. [{answers}]",
|
||||
"domain_config_cert_summary_selfsigned": "ADVERTENCIA: El certificado actual es autofirmado. ¡Los navegadores mostrarán una espeluznante advertencia a los nuevos visitantes!.",
|
||||
"global_settings_setting_backup_compress_tar_archives": "Comprimir las copias de seguridad",
|
||||
"global_settings_setting_root_access_explain": "En sistemas Linux, 'root' es el administrador absoluto. En el contexto de YunoHost, el acceso directo 'root' SSH está deshabilitado por defecto - excepto desde la red local del servidor. Los miembros del grupo 'admins' pueden usar el comando sudo para actuar como root desde la linea de comandos. Sin embargo, puede ser útil tener una contraseña de root (robusta) para depurar el sistema si por alguna razón los administradores regulares ya no pueden iniciar sesión.",
|
||||
"migration_0021_not_buster2": "¡La distribución Debian actual no es Buster! Si ya ha ejecutado la migración Buster->Bullseye, entonces este error es sintomático del hecho de que el procedimiento de migración no fue 100% exitoso (de lo contrario YunoHost lo habría marcado como completado). Se recomienda investigar lo sucedido con el equipo de soporte, que necesitará el registro **completo** de la `migración, que se puede encontrar en Herramientas > Registros en el webadmin.",
|
||||
"global_settings_reset_success": "Restablecer la configuración global",
|
||||
"global_settings_setting_nginx_compatibility": "Compatibilidad con NGINX",
|
||||
"global_settings_setting_nginx_redirect_to_https": "Forzar HTTPS",
|
||||
"global_settings_setting_user_strength_help": "Estos requisitos sólo se aplican al inicializar o cambiar la contraseña",
|
||||
"log_resource_snippet": "Aprovisionar/desaprovisionar/actualizar un recurso",
|
||||
"global_settings_setting_pop3_enabled": "Habilitar POP3",
|
||||
"global_settings_setting_smtp_allow_ipv6": "Permitir IPv6",
|
||||
"global_settings_setting_security_experimental_enabled": "Funciones de seguridad experimentales",
|
||||
"migration_0024_rebuild_python_venv_disclaimer_ignored": "Virtualenvs no puede reconstruirse automáticamente para esas aplicaciones. Necesitas forzar una actualización para ellas, lo que puede hacerse desde la línea de comandos con: `yunohost app upgrade --force APP`: {ignored_apps}",
|
||||
"migration_0024_rebuild_python_venv_failed": "Error al reconstruir el virtualenv de Python para {app}. La aplicación puede no funcionar mientras esto no se resuelva. Deberías arreglar la situación forzando la actualización de esta app usando `yunohost app upgrade --force {app}`.",
|
||||
"app_arch_not_supported": "Esta aplicación sólo puede instalarse en arquitecturas {required} pero la arquitectura de su servidor es {current}",
|
||||
"app_resource_failed": "Falló la asignación, desasignación o actualización de recursos para {app}: {error}",
|
||||
"app_not_enough_disk": "Esta aplicación requiere {required} espacio libre.",
|
||||
"app_not_enough_ram": "Esta aplicación requiere {required} de RAM para ser instalada/actualizada, pero solo hay {current} disponible actualmente.",
|
||||
"app_yunohost_version_not_supported": "Esta aplicación requiere YunoHost >= {required} pero la versión actualmente instalada es {current}",
|
||||
"global_settings_setting_ssh_compatibility": "Compatibilidad con SSH",
|
||||
"root_password_changed": "la contraseña de root fue cambiada",
|
||||
"domain_config_acme_eligible_explain": "Este dominio no parece estar preparado para un certificado Let's Encrypt. Compruebe la configuración DNS y la accesibilidad del servidor HTTP. Las secciones \"Registros DNS\" y \"Web\" de <a href='#/diagnosis'>la página de diagnóstico</a> pueden ayudarte a entender qué está mal configurado.",
|
||||
"domain_config_cert_no_checks": "Ignorar las comprobaciones de diagnóstico",
|
||||
"domain_config_cert_renew": "Renovar el certificado Let's Encrypt",
|
||||
"domain_config_cert_summary": "Estado del certificado",
|
||||
"domain_config_cert_summary_abouttoexpire": "El certificado actual está a punto de caducar. Pronto debería renovarse automáticamente.",
|
||||
"domain_config_cert_summary_ok": "Muy bien, ¡el certificado actual tiene buena pinta!",
|
||||
"domain_config_cert_validity": "Validez",
|
||||
"global_settings_setting_admin_strength_help": "Estos requisitos sólo se aplican al inicializar o cambiar la contraseña",
|
||||
"global_settings_setting_pop3_enabled_help": "Habilitar el protocolo POP3 para el servidor de correo",
|
||||
"log_settings_reset_all": "Restablecer todos los ajustes",
|
||||
"log_settings_set": "Aplicar ajustes",
|
||||
"pattern_fullname": "Debe ser un nombre completo válido (al menos 3 caracteres)",
|
||||
"password_confirmation_not_the_same": "La contraseña y su confirmación no coinciden",
|
||||
"password_too_long": "Elija una contraseña de menos de 127 caracteres",
|
||||
"diagnosis_using_yunohost_testing": "<cmd>apt</cmd> (el gestor de paquetes del sistema) está actualmente configurado para instalar cualquier actualización de 'testing' para el núcleo de YunoHost.",
|
||||
"diagnosis_using_yunohost_testing_details": "Esto probablemente esté bien si sabes lo que estás haciendo, ¡pero presta atención a las notas de la versión antes de instalar actualizaciones de YunoHost! Si quieres deshabilitar las actualizaciones de prueba, debes eliminar la palabra clave <cmd>testing</cmd> de <cmd>/etc/apt/sources.list.d/yunohost.list</cmd>.",
|
||||
"global_settings_setting_passwordless_sudo": "Permitir a los administradores utilizar 'sudo' sin tener que volver a escribir sus contraseñas.",
|
||||
"group_update_aliases": "Actualizando alias para el grupo '{group}'",
|
||||
"group_no_change": "Nada que cambiar para el grupo '{group}'",
|
||||
"global_settings_setting_portal_theme": "Tema del portal",
|
||||
"global_settings_setting_portal_theme_help": "Más información sobre la creación de temas de portal personalizados en https://yunohost.org/theming",
|
||||
"invalid_credentials": "Contraseña o nombre de usuario no válidos",
|
||||
"global_settings_setting_root_password": "Nueva contraseña de root",
|
||||
"global_settings_setting_webadmin_allowlist": "Lista de IPs permitidas para Webadmin",
|
||||
"migration_0024_rebuild_python_venv_disclaimer_base": "Tras la actualización a Debian Bullseye, algunas aplicaciones Python necesitan ser parcialmente reconstruidas para ser convertidas a la nueva versión de Python distribuida en Debian (en términos técnicos: lo que se llama el 'virtualenv' necesita ser recreado). Mientras tanto, esas aplicaciones Python pueden no funcionar. YunoHost puede intentar reconstruir el virtualenv para algunas de ellas, como se detalla a continuación. Para otras aplicaciones, o si el intento de reconstrucción falla, necesitarás forzar manualmente una actualización para esas aplicaciones.",
|
||||
"migration_description_0024_rebuild_python_venv": "Reparar la aplicación Python tras la migración a bullseye",
|
||||
"global_settings_setting_smtp_relay_enabled": "Activar el relé SMTP",
|
||||
"domain_config_acme_eligible": "Elegibilidad ACME",
|
||||
"global_settings_setting_ssh_password_authentication": "Autenticación por contraseña",
|
||||
"domain_config_cert_issuer": "Autoridad de certificación",
|
||||
"invalid_shell": "Shell inválido: {shell}",
|
||||
"log_settings_reset": "Restablecer ajuste",
|
||||
"migration_description_0026_new_admins_group": "Migrar al nuevo sistema de 'varios administradores'",
|
||||
"visitors": "Visitantes",
|
||||
"global_settings_setting_smtp_relay_host": "Host de retransmisión SMTP",
|
||||
"migration_0024_rebuild_python_venv_disclaimer_rebuild": "Se intentará reconstruir el virtualenv para las siguientes apps (NB: ¡la operación puede llevar algún tiempo!): {rebuild_apps}",
|
||||
"migration_description_0025_global_settings_to_configpanel": "Migración de la nomenclatura de ajustes globales heredada a la nomenclatura nueva y moderna",
|
||||
"registrar_infos": "Información sobre el registrador"
|
||||
}
|
280
locales/eu.json
280
locales/eu.json
|
@ -1,25 +1,22 @@
|
|||
{
|
||||
"password_too_simple_1": "Pasahitzak gutxienez zortzi karaktere izan behar ditu",
|
||||
"password_too_simple_1": "Pasahitzak 8 karaktere izan behar ditu gutxienez",
|
||||
"action_invalid": "'{action}' eragiketa baliogabea da",
|
||||
"aborting": "Bertan behera uzten.",
|
||||
"admin_password_changed": "Administrazio-pasahitza aldatu da",
|
||||
"admin_password_change_failed": "Ezinezkoa izan da pasahitza aldatzea",
|
||||
"additional_urls_already_added": "'{url}' URL gehigarria '{permission}' baimenerako gehitu da dagoeneko",
|
||||
"additional_urls_already_removed": "'{url}' URL gehigarriari '{permission}' baimena kendu zaio dagoeneko",
|
||||
"admin_password": "Administrazio-pasahitza",
|
||||
"diagnosis_ip_global": "IP orokorra: <code>{global}</code>",
|
||||
"app_argument_password_no_default": "Errorea egon da '{name}' pasahitzaren argumentua ikuskatzean: pasahitzak ezin du balio hori izan segurtasuna dela-eta",
|
||||
"app_argument_password_no_default": "Errorea egon da '{name}' pasahitzaren argumentua ikuskatzean: pasahitzak ezin du balio hori izan segurtasun arrazoiengatik",
|
||||
"app_extraction_failed": "Ezinezkoa izan da instalazio fitxategiak ateratzea",
|
||||
"app_requirements_unmeet": "{app}(e)k behar dituen baldintzak ez dira betetzen, {pkgname} ({version}) paketea {spec} izan behar da",
|
||||
"backup_deleted": "Babeskopia ezabatuta",
|
||||
"backup_deleted": "Babeskopia ezabatu da: {name}",
|
||||
"app_argument_required": "'{name}' argumentua ezinbestekoa da",
|
||||
"certmanager_acme_not_configured_for_domain": "Ezinezkoa da ACME azterketa {domain} domeinurako burutzea une honetan nginx ezarpenek ez dutelako beharrezko kodea… Egiaztatu nginx ezarpenak egunean daudela 'yunohost tools regen-conf nginx --dry-run --with-diff' komandoa exekutatuz.",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "'{domain}' domeinurako DNS balioak ez datoz bat zerbitzariaren IParekin. Mesedez, egiaztatu 'DNS balioak' (oinarrizkoa) kategoria diagnostikoen atalean. A balioak duela gutxi aldatu badituzu, itxaron hedatu daitezen (badaude DNSen hedapena ikusteko erramintak interneten). (Zertan ari zeren baldin badakizu, erabili '--no-checks' egiaztapen horiek desgaitzeko.)",
|
||||
"confirm_app_install_thirdparty": "KONTUZ! Aplikazio hau ez da YunoHosten aplikazioen katalogokoa. Kanpoko aplikazioek sistemaren integritate eta segurtasuna arriskuan jarri dezakete. Ziur asko EZ zenuke instalatu beharko zertan ari zaren ez badakizu. Aplikazio hau ez badabil edo sistema kaltetzen badu EZ DA LAGUNTZARIK EMANGO… aurrera jarraitu nahi duzu hala ere? Aukeratu '{answers}'",
|
||||
"certmanager_acme_not_configured_for_domain": "Une honetan ezinezkoa da ACME azterketa {domain} domeinurako burutzea nginx ezarpenek ez dutelako beharrezko kodea… Egiaztatu nginx ezarpenak egunean daudela 'yunohost tools regen-conf nginx --dry-run --with-diff' komandoa exekutatuz.",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "'{domain}' domeinurako DNS balioak ez datoz bat zerbitzariaren IParekin. Egiaztatu 'DNS balioak' (oinarrizkoa) kategoria diagnostikoen atalean. 'A' balioak duela gutxi aldatu badituzu, itxaron hedatu daitezen (badaude DNSen hedapena ikusteko erramintak interneten). (Zertan ari zeren baldin badakizu, erabili '--no-checks' egiaztapen horiek desgaitzeko.)",
|
||||
"confirm_app_install_thirdparty": "KONTUZ! Aplikazio hau ez da YunoHosten aplikazioen katalogokoa. Kanpoko aplikazioek sistemaren integritate eta segurtasuna arriskuan jar dezakete. Ziur asko EZ zenuke instalatu beharko zertan ari zaren ez badakizu. Aplikazio hau ez badabil edo sistema kaltetzen badu EZ DA LAGUNTZARIK EMANGO… aurrera jarraitu nahi duzu hala ere? Hautatu '{answers}'",
|
||||
"app_start_remove": "{app} ezabatzen…",
|
||||
"diagnosis_http_hairpinning_issue_details": "Litekeena da erantzulea zure kable-modem / routerra izatea. Honen eraginez, saretik kanpo daudenek zerbitzaria arazorik gabe erabili ahal izango dute, baina sare lokalean bertan daudenek (ziur asko zure kasua) ezingo dute kanpoko IPa edo domeinu izena erabili zerbitzarira konektatzeko. Egoera hobetu edo guztiz konpontzeko, irakurri <a href='https://yunohost.org/dns_local_network'>dokumentazioa</a>",
|
||||
"diagnosis_http_special_use_tld": "{domain} domeinua top-level domain (TLD) motakoa da .local edo .test bezala eta ez du sare lokaletik kanpo eskuragarri zertan egon.",
|
||||
"diagnosis_ip_weird_resolvconf_details": "<code>/etc/resolv.conf</code> fitxategia symlink bat izan beharko litzateke <code>127.0.0.1</code>ra adi dagoen <code>/etc/resolvconf/run/resolv.conf</code> fitxategira (dnsmasq). DNS ebazleak eskuz konfiguratu nahi badituzu, mesedez aldatu <code>/etc/resolv.dnsmasq.conf</code> fitxategia.",
|
||||
"diagnosis_ip_weird_resolvconf_details": "<code>/etc/resolv.conf</code> fitxategia symlink bat izan beharko litzateke <code>127.0.0.1</code>ra adi dagoen <code>/etc/resolvconf/run/resolv.conf</code> fitxategira (dnsmasq). DNS ebazleak eskuz konfiguratu nahi badituzu, aldatu <code>/etc/resolv.dnsmasq.conf</code> fitxategia.",
|
||||
"diagnosis_ip_connected_ipv4": "Zerbitzaria IPv4 bidez dago internetera konektatuta!",
|
||||
"diagnosis_basesystem_ynh_inconsistent_versions": "YunoHost paketeen bertsioak ez datoz bat… ziur asko noizbait eguneraketa batek kale egin edo erabat amaitu ez zuelako.",
|
||||
"diagnosis_high_number_auth_failures": "Azken aldian kale egin duten saio-hasiera saiakera ugari egon dira. Egiaztatu fail2ban martxan dabilela eta egoki konfiguratuta dagoela, edo erabili beste ataka bat SSHrako <a href=\"https://yunohost.org/security\">dokumentazioa</a>n azaldu bezala.",
|
||||
|
@ -28,7 +25,7 @@
|
|||
"app_install_files_invalid": "Ezin dira fitxategi hauek instalatu",
|
||||
"diagnosis_description_ip": "Internet konexioa",
|
||||
"diagnosis_description_dnsrecords": "DNS erregistroak",
|
||||
"app_label_deprecated": "Komando hau zaharkitua dago! Mesedez, erabili 'yunohost user permission update' komando berria aplikazioaren etiketa kudeatzeko.",
|
||||
"app_label_deprecated": "Komando hau zaharkitua dago! Erabili 'yunohost user permission update' komando berria aplikazioaren etiketa kudeatzeko.",
|
||||
"confirm_app_install_danger": "KONTUZ! Aplikazio hau esperimentala da (edo ez dabil)! Ez zenuke instalatu beharko zertan ari zaren ez badakizu. Aplikazio hau ez badabil edo sistema kaltetzen badu, EZ DA LAGUNTZARIK EMANGO… aurrera jarraitu nahi al duzu hala ere? Aukeratu '{answers}'",
|
||||
"diagnosis_description_systemresources": "Sistemaren baliabideak",
|
||||
"backup_csv_addition_failed": "Ezinezkoa izan da fitxategiak CSV fitxategira kopiatzea",
|
||||
|
@ -44,7 +41,6 @@
|
|||
"diagnosis_ip_not_connected_at_all": "Badirudi zerbitzaria ez dagoela internetera konektatuta!?",
|
||||
"app_already_up_to_date": "{app} egunean da dagoeneko",
|
||||
"app_change_url_success": "{app} aplikazioaren URLa {domain}{path} da orain",
|
||||
"admin_password_too_long": "Mesedez, aukeratu 127 karaktere baino laburragoa den pasahitz bat",
|
||||
"app_action_broke_system": "Eragiketa honek {services} zerbitzu garrantzitsua(k) hondatu d(it)uela dirudi",
|
||||
"diagnosis_basesystem_hardware_model": "Zerbitzariaren modeloa {model} da",
|
||||
"already_up_to_date": "Ez dago egiteko ezer. Guztia dago egunean.",
|
||||
|
@ -53,7 +49,6 @@
|
|||
"config_validate_email": "Benetazko posta elektronikoa izan behar da",
|
||||
"config_validate_time": "OO:MM formatua duen ordu bat izan behar da",
|
||||
"config_validate_url": "Benetazko URL bat izan behar da",
|
||||
"config_version_not_supported": "Ezinezkoa da konfigurazio-panelaren '{version}' bertsioa erabiltzea.",
|
||||
"app_restore_script_failed": "Errorea gertatu da aplikazioa lehengoratzeko aginduan",
|
||||
"app_upgrade_some_app_failed": "Ezinezkoa izan da aplikazio batzuk eguneratzea",
|
||||
"app_install_failed": "Ezinezkoa izan da {app} instalatzea: {error}",
|
||||
|
@ -84,8 +79,6 @@
|
|||
"app_upgrade_failed": "Ezinezkoa izan da {app} eguneratzea: {error}",
|
||||
"app_upgrade_app_name": "Orain {app} eguneratzen…",
|
||||
"app_upgraded": "{app} eguneratu da",
|
||||
"ask_firstname": "Izena",
|
||||
"ask_lastname": "Abizena",
|
||||
"ask_main_domain": "Domeinu nagusia",
|
||||
"config_forbidden_keyword": "'{keyword}' etiketa sistemak bakarrik erabil dezake; ezin da ID hau daukan baliorik sortu edo erabili.",
|
||||
"config_unknown_filter_key": "'{filter_key}' filtroaren kakoa ez da zuzena.",
|
||||
|
@ -118,12 +111,12 @@
|
|||
"apps_catalog_updating": "Aplikazioen katalogoa eguneratzen…",
|
||||
"certmanager_cert_signing_failed": "Ezinezkoa izan da ziurtagiri berria sinatzea",
|
||||
"certmanager_cert_renew_success": "Let's Encrypt ziurtagiria berriztu da '{domain}' domeinurako",
|
||||
"app_requirements_checking": "{app}(e)k behar dituen paketeak ikuskatzen…",
|
||||
"app_requirements_checking": "{app}(e)k behar dituen betekizunak egiaztatzen…",
|
||||
"certmanager_unable_to_parse_self_CA_name": "Ezinezkoa izan da norberak sinatutako ziurtagiriaren izena prozesatzea (fitxategia: {file})",
|
||||
"app_remove_after_failed_install": "Aplikazioa ezabatzen instalatzerakoan errorea dela-eta…",
|
||||
"diagnosis_basesystem_ynh_single_version": "{package} bertsioa: {version} ({repo})",
|
||||
"diagnosis_failed_for_category": "'{category}' ataleko diagnostikoak kale egin du: {error}",
|
||||
"diagnosis_cache_still_valid": "(Cachea oraindik baliogarria da {category} ataleko diagnosirako. Ez da berrabiaraziko!)",
|
||||
"diagnosis_cache_still_valid": "(Katxea oraindik baliogarria da {category} ataleko diagnosirako. Ez da berrabiaraziko!)",
|
||||
"diagnosis_found_errors": "{category} atalari dago(z)kion {errors} arazo aurkitu d(ir)a!",
|
||||
"diagnosis_found_warnings": "{category} atalari dagokion eta hobetu daite(z)keen {warnings} abisu aurkitu d(ir)a.",
|
||||
"diagnosis_ip_connected_ipv6": "Zerbitzaria IPv6 bidez dago internetera konektatuta!",
|
||||
|
@ -141,12 +134,12 @@
|
|||
"diagnosis_http_unreachable": "Badirudi {domain} domeinua ez dagoela eskuragarri HTTP bidez sare lokaletik kanpo.",
|
||||
"apps_catalog_failed_to_download": "Ezinezkoa izan da {apps_catalog} aplikazioen zerrenda eskuratzea: {error}",
|
||||
"apps_catalog_init_success": "Abiarazi da aplikazioen katalogo sistema!",
|
||||
"apps_catalog_obsolete_cache": "Aplikazioen katalogoaren cachea hutsik edo zaharkituta dago.",
|
||||
"apps_catalog_obsolete_cache": "Aplikazioen katalogoaren katxea hutsik edo zaharkituta dago.",
|
||||
"diagnosis_description_mail": "Posta elektronikoa",
|
||||
"diagnosis_http_connection_error": "Arazoa konexioan: ezin izan da domeinu horretara konektatu, litekeena da eskuragarri ez egotea.",
|
||||
"diagnosis_description_web": "Weba",
|
||||
"diagnosis_display_tip": "Aurkitu diren arazoak ikusteko joan administrazio-atariko Diagnostikoak atalera, edo exekutatu 'yunohost diagnosis show --issues --human-readable' komandoak nahiago badituzu.",
|
||||
"diagnosis_dns_point_to_doc": "Mesedez, irakurri <a href='https://yunohost.org/dns_config'>dokumentazioa</a> DNS erregistroekin laguntza behar baduzu.",
|
||||
"diagnosis_dns_point_to_doc": "Irakurri <a href='https://yunohost.org/dns_config'>dokumentazioa</a> DNS erregistroekin laguntza behar baduzu.",
|
||||
"diagnosis_mail_ehlo_unreachable": "SMTP posta zerbitzaria ez dago eskuragarri IPv{ipversion}ko sare lokaletik kanpo eta, beraz, ez da posta elektronikoa jasotzeko gai.",
|
||||
"diagnosis_mail_ehlo_bad_answer_details": "Litekeena da zure zerbitzaria ez den beste gailu batek erantzun izana.",
|
||||
"diagnosis_mail_blacklist_listed_by": "Zure domeinua edo <code>{item}</code> IPa {blacklist_name} zerrenda beltzean ageri da",
|
||||
|
@ -154,10 +147,10 @@
|
|||
"diagnosis_http_could_not_diagnose_details": "Errorea: {error}",
|
||||
"diagnosis_http_hairpinning_issue": "Dirudienez zure sareak ez du hairpinninga gaituta.",
|
||||
"diagnosis_http_partially_unreachable": "Badirudi {domain} domeinua ezin dela bisitatu HTTP bidez IPv{failed} sare lokaletik kanpo, bai ordea IPv{passed} erabiliz.",
|
||||
"backup_archive_cant_retrieve_info_json": "Ezinezkoa izan da '{archive}' fitxategiko informazioa eskuratzea… info.json ezin izan da eskuratu (edo ez da baliozko jsona).",
|
||||
"backup_archive_cant_retrieve_info_json": "Ezinezkoa izan da '{archive}' fitxategiko informazioa eskuratzea… info.json fitxategia ezin izan da eskuratu (edo ez da baliozko jsona).",
|
||||
"diagnosis_domain_expiration_not_found": "Ezinezkoa izan da domeinu batzuen iraungitze data egiaztatzea",
|
||||
"diagnosis_domain_expiration_not_found_details": "Badirudi {domain} domeinuari buruzko WHOIS informazioak ez duela zehazten noiz iraungiko den.",
|
||||
"certmanager_domain_not_diagnosed_yet": "Oraindik ez dago {domain} domeinurako diagnostikorik. Mesedez, berrabiarazi diagnostikoak 'DNS balioak' eta 'Web' ataletarako diagnostikoen gunean Let's Encrypt ziurtagirirako prest ote dagoen egiaztatzeko. (Edo zertan ari zaren baldin badakizu, erabili '--no-checks' egiaztatzea desgaitzeko.)",
|
||||
"certmanager_domain_not_diagnosed_yet": "Oraindik ez dago {domain} domeinurako diagnostikorik. Berrabiarazi diagnostikoak 'DNS balioak' eta 'Web' ataletarako diagnostikoen gunean Let's Encrypt ziurtagirirako prest ote dagoen egiaztatzeko. (Edo zertan ari zaren baldin badakizu, erabili '--no-checks' egiaztatzea desgaitzeko.)",
|
||||
"diagnosis_domain_expiration_warning": "Domeinu batzuk iraungitzear daude!",
|
||||
"app_packaging_format_not_supported": "Aplikazio hau ezin da instalatu YunoHostek ez duelako paketea ezagutzen. Sistema eguneratzea hausnartu beharko zenuke ziur asko.",
|
||||
"diagnosis_dns_try_dyndns_update_force": "Domeinu honen DNS konfigurazioa YunoHostek kudeatu beharko luke automatikoki. Gertatuko ez balitz, eguneratzera behartu zenezake <cmd>yunohost dyndns update --force</cmd> erabiliz.",
|
||||
|
@ -175,7 +168,7 @@
|
|||
"diagnosis_failed": "Ezinezkoa izan da '{category}' ataleko diagnostikoa lortzea: {error}",
|
||||
"diagnosis_ip_weird_resolvconf": "DNS ebazpena badabilela dirudi, baina antza denez moldatutako <code>/etc/resolv.conf</code> fitxategia erabiltzen ari zara.",
|
||||
"diagnosis_dns_bad_conf": "DNS balio batzuk falta dira edo ez dira zuzenak {domain} domeinurako ({category} atala)",
|
||||
"diagnosis_diskusage_ok": "<code>{mountpoint}</code> fitxategi-sistemak (<code>{device}</code> euskarrian) edukieraren {free} (%{free_percent}a) ditu erabilgarri oraindik ({total} orotara)!",
|
||||
"diagnosis_diskusage_ok": "<code>{mountpoint}</code> fitxategi-sistemak (<code>{device}</code> euskarrian) edukieraren {free} (%{free_percent}a) ditu oraindik erabilgarri ({total} orotara)!",
|
||||
"apps_catalog_update_success": "Aplikazioen katalogoa eguneratu da!",
|
||||
"certmanager_warning_subdomain_dns_record": "'{subdomain}' azpidomeinuak ez dauka '{domain}'(e)k duen IP bera. Ezaugarri batzuk ez dira erabilgarri egongo hau zuzendu arte eta ziurtagiri bat birsortu arte.",
|
||||
"app_argument_choice_invalid": "Hautatu ({choices}) aukeretako bat '{name}' argumenturako: '{value}' ez dago aukera horien artean",
|
||||
|
@ -206,7 +199,7 @@
|
|||
"backup_archive_writing_error": "Ezinezkoa izan da '{source}' ('{dest}' fitxategiak eskatu dituenak) fitxategia '{archive}' konprimatutako babeskopian sartzea",
|
||||
"backup_ask_for_copying_if_needed": "Behin-behinean {size}MB erabili nahi dituzu babeskopia gauzatu ahal izateko? (Horrela egiten da fitxategi batzuk ezin direlako modu eraginkorragoan prestatu.)",
|
||||
"backup_cant_mount_uncompress_archive": "Ezinezkoa izan da deskonprimatutako fitxategia muntatzea idazketa-babesa duelako",
|
||||
"backup_created": "Babeskopia sortu da",
|
||||
"backup_created": "Babeskopia sortu da: {name}",
|
||||
"backup_copying_to_organize_the_archive": "{size}MB kopiatzen fitxategia antolatzeko",
|
||||
"backup_couldnt_bind": "Ezin izan da {src} {dest}-ra lotu.",
|
||||
"backup_output_directory_forbidden": "Aukeratu beste katalogo bat emaitza gordetzeko. Babeskopiak ezin dira sortu /bin, /boot, /dev, /etc, /lib, /root, /run, /sbin, /sys, /usr, /var edo /home/yunohost.backup/archives azpi-katalogoetan",
|
||||
|
@ -223,8 +216,8 @@
|
|||
"certmanager_cert_install_success_selfsigned": "Norberak sinatutako ziurtagiria instalatu da '{domain}' domeinurako",
|
||||
"certmanager_domain_cert_not_selfsigned": "{domain} domeinurako ziurtagiria ez da norberak sinatutakoa. Ziur al zaude ordezkatu nahi duzula? (Erabili '--force' hori egiteko.)",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "{domain} domeinurako ziurtagiri berriak kale egin du…",
|
||||
"certmanager_domain_http_not_working": "Ez dirudi {domain} domeinua HTTP bidez ikusgai dagoenik. Mesedez, egiaztatu 'Weba' atala diagnosien gunean informazio gehiagorako. (Zertan ari zaren baldin badakizu, erabili '--no-checks' egiaztapen horiek desgaitzeko.)",
|
||||
"certmanager_hit_rate_limit": "{domain} domeinu-multzorako ziurtagiri gehiegi jaulki dira dagoeneko. Mesedez, saia saitez geroago. Ikus https://letsencrypt.org/docs/rate-limits/ xehetasun gehiagorako",
|
||||
"certmanager_domain_http_not_working": "Ez dirudi {domain} domeinua HTTP bidez ikusgai dagoenik. Egiaztatu 'Weba' atala diagnosien gunean informazio gehiagorako. (Zertan ari zaren baldin badakizu, erabili '--no-checks' egiaztapen horiek desgaitzeko.)",
|
||||
"certmanager_hit_rate_limit": "{domain} domeinu-multzorako ziurtagiri gehiegi jaulki dira dagoeneko. Saia saitez geroago. Ikus https://letsencrypt.org/docs/rate-limits/ xehetasun gehiagorako",
|
||||
"certmanager_no_cert_file": "Ezinezkoa izan da {domain} domeinurako ziurtagiri fitxategia irakurrtzea (fitxategia: {file})",
|
||||
"certmanager_self_ca_conf_file_not_found": "Ezinezkoa izan da konfigurazio-fitxategia aurkitzea norberak sinatutako ziurtagirirako (fitxategia: {file})",
|
||||
"confirm_app_install_warning": "Adi: litekeena da aplikazio hau ibiltzea baina ez dago YunoHostera egina. Ezaugarri batzuk, SSO edo babeskopia/lehengoratzea esaterako, desgaituta egon daitezke. Instalatu hala ere? [{answers}] ",
|
||||
|
@ -237,13 +230,13 @@
|
|||
"certmanager_attempt_to_replace_valid_cert": "{domain} domeinurako egokia eta baliogarria den ziurtagiri bat ordezkatzen saiatzen ari zara! (Erabili --force mezu hau deuseztatu eta ziurtagiria ordezkatzeko)",
|
||||
"diagnosis_backports_in_sources_list": "Dirudienez apt (pakete kudeatzailea) backports biltegia erabiltzeko konfiguratuta dago. Zertan ari zaren ez badakizu, ez zenuke backports biltegietako aplikaziorik instalatu beharko, ezegonkortasun eta gatazkak eragin ditzaketelako sistemarekin.",
|
||||
"app_restore_failed": "Ezinezkoa izan da {app} lehengoratzea: {error}",
|
||||
"diagnosis_apps_allgood": "Instalatutako aplikazioek oinarrizko pakete-jarraibideekin bat egiten dute",
|
||||
"diagnosis_apps_allgood": "Instalatutako aplikazioak bat datoz oinarrizko pakete-jarraibideekin",
|
||||
"diagnosis_apps_bad_quality": "Aplikazio hau hondatuta dagoela dio YunoHosten aplikazioen katalogoak. Agian behin-behineko kontua da arduradunak arazoa konpondu bitartean. Oraingoz, ezin da aplikazioa eguneratu.",
|
||||
"diagnosis_apps_broken": "Aplikazio hau YunoHosten aplikazioen katalogoan hondatuta dagoela ageri da. Agian behin-behineko kontua da arduradunak konpondu bitartean. Oraingoz, ezin da aplikazioa eguneratu.",
|
||||
"diagnosis_apps_deprecated_practices": "Instalatutako aplikazio honen bertsioak oraindik darabiltza zaharkitutako pakete-jarraibideak. Eguneratzea hausnartu beharko zenuke.",
|
||||
"diagnosis_apps_issue": "Arazo bat dago {app} aplikazioarekin",
|
||||
"diagnosis_apps_not_in_app_catalog": "Aplikazio hau ez da YunoHosten aplikazioen katalogokoa. Iraganean egon bazen eta ezabatu izan balitz, desinstalatzea litzateke onena, ez baitu eguneraketarik jasoko eta sistemaren integritate eta segurtasuna arriskuan jarri lezakeelako.",
|
||||
"diagnosis_apps_outdated_ynh_requirement": "Instalatutako aplikazio honen bertsioak yunohost >= 2.x baino ez du behar, eta horrek egungo pakete-jardunbideekin bat ez datorrela iradokitzen du. Eguneratzen saiatu beharko zinateke.",
|
||||
"diagnosis_apps_not_in_app_catalog": "Aplikazio hau ez da YunoHosten aplikazioen katalogokoa. Iraganean egon bazen eta orain ez badago, desinstalatzea litzateke onena, ez baitu eguneraketarik jasoko eta sistemaren integritate eta segurtasuna arriskuan jar lezakeelako.",
|
||||
"diagnosis_apps_outdated_ynh_requirement": "Instalatutako aplikazio honen bertsioak yunohost >= 2.x edo 3.x baino ez du behar, eta horrek eguneratua izan ez dela eta egungo pakete-jardunbideekin bat ez datorrela iradokitzen du. Eguneratzen saiatu beharko zinateke.",
|
||||
"diagnosis_description_apps": "Aplikazioak",
|
||||
"domain_dns_conf_special_use_tld": "Domeinu hau top-level domain (TLD) erabilera bereziko motakoa da .local edo .test bezala eta ez du DNS ezarpenik behar.",
|
||||
"log_permission_create": "Sortu '{}' baimena",
|
||||
|
@ -253,10 +246,7 @@
|
|||
"group_user_already_in_group": "{user} erabiltzailea {group} taldean dago dagoeneko",
|
||||
"firewall_reloaded": "Suebakia birkargatu da",
|
||||
"domain_unknown": "'{domain}' domeinua ezezaguna da",
|
||||
"global_settings_cant_serialize_settings": "Ezinezkoa izan da konfikurazio-datuak serializatzea, zergatia: {reason}",
|
||||
"global_settings_setting_security_nginx_redirect_to_https": "Birbideratu HTTP eskaerak HTTPSra (EZ ITZALI hau ez badakizu zertan ari zaren!)",
|
||||
"group_deleted": "'{group}' taldea ezabatu da",
|
||||
"invalid_password": "Pasahitza ez da zuzena",
|
||||
"log_domain_main_domain": "Lehenetsi '{}' domeinua",
|
||||
"log_user_group_update": "Moldatu '{}' taldea",
|
||||
"dyndns_could_not_check_available": "Ezinezkoa izan da {domain} {provider}(e)n eskuragarri dagoen egiaztatzea.",
|
||||
|
@ -280,22 +270,15 @@
|
|||
"extracting": "Ateratzen…",
|
||||
"diagnosis_ports_unreachable": "{port}. ataka ez dago eskuragarri kanpotik.",
|
||||
"diagnosis_regenconf_manually_modified_details": "Ez dago arazorik zertan ari zaren baldin badakizu! YunoHostek fitxategi hau automatikoki eguneratzeari utziko dio… Baina kontuan izan YunoHosten eguneraketek aldaketa garrantzitsuak izan ditzaketela. Nahi izatekotan, desberdintasunak aztertu ditzakezu <cmd>yunohost tools regen-conf {category} --dry-run --with-diff</cmd> komandoa exekutatuz, eta gomendatutako konfiguraziora bueltatu <cmd>yunohost tools regen-conf {category} --force</cmd> erabiliz",
|
||||
"experimental_feature": "Adi: Funtzio hau esperimentala eta ezegonkorra da, ez zenuke erabili beharko ez badakizu zertan ari zaren.",
|
||||
"global_settings_cant_write_settings": "Ezinezkoa izan da konfigurazio fitxategia gordetzea, zergatia: {reason}",
|
||||
"dyndns_domain_not_provided": "{provider} DynDNS enpresak ezin du {domain} domeinua eskaini.",
|
||||
"firewall_reload_failed": "Ezinezkoa izan da suebakia birkargatzea",
|
||||
"global_settings_setting_security_password_admin_strength": "Administrazio-pasahitzaren segurtasuna",
|
||||
"hook_name_unknown": "'{name}' 'hook' izen ezezaguna",
|
||||
"domain_deletion_failed": "Ezinezkoa izan da {domain} ezabatzea: {error}",
|
||||
"global_settings_setting_security_nginx_compatibility": "Bateragarritasun eta segurtasun arteko gatazka NGINX web zerbitzarirako. Zifraketari eragiten dio (eta segurtasunari lotutako beste kontu batzuei)",
|
||||
"log_regen_conf": "Berregin '{}' sistemaren konfigurazioa",
|
||||
"dpkg_lock_not_available": "Ezin da komando hau une honetan exekutatu beste aplikazio batek dpkg (sistemaren paketeen kudeatzailea) blokeatuta duelako, erabiltzen ari baita",
|
||||
"group_created": "'{group}' taldea sortu da",
|
||||
"global_settings_setting_security_password_user_strength": "Erabiltzaile-pasahitzaren segurtasuna",
|
||||
"global_settings_setting_security_experimental_enabled": "Gaitu segurtasun funtzio esperimentalak (ez ezazu egin ez badakizu zertan ari zaren!)",
|
||||
"good_practices_about_admin_password": "Administrazio-pasahitz berria ezartzear zaude. Pasahitzak zortzi karaktere izan beharko lituzke gutxienez, baina gomendagarria da pasahitz luzeagoa erabiltzea (esaldi bat, esaterako) edota karaktere desberdinak erabiltzea (hizki larriak, txikiak, zenbakiak eta karaktere bereziak).",
|
||||
"log_help_to_get_failed_log": "Ezin izan da '{desc}' eragiketa exekutatu. Mesedez, laguntza nahi baduzu partekatu eragiketa honen erregistro osoa 'yunohost log share {name}' komandoa erabiliz",
|
||||
"global_settings_setting_security_webadmin_allowlist_enabled": "Baimendu IP zehatz batzuk bakarrik administrazio-atarian.",
|
||||
"good_practices_about_admin_password": "Administrazio-pasahitz berria ezartzear zaude. Pasahitzak 8 karaktere izan beharko lituzke gutxienez, baina gomendagarria da pasahitz luzeagoa erabiltzea (esaldi bat, esaterako) edota karaktere desberdinak erabiltzea (hizki larriak, txikiak, zenbakiak eta karaktere bereziak).",
|
||||
"log_help_to_get_failed_log": "Ezin izan da '{desc}' eragiketa exekutatu. Laguntza nahi baduzu partekatu eragiketa honen erregistro osoa 'yunohost log share {name}' komandoa erabiliz",
|
||||
"group_unknown": "'{group}' taldea ezezaguna da",
|
||||
"group_updated": "'{group}' taldea eguneratu da",
|
||||
"group_update_failed": "Ezinezkoa izan da '{group}' taldea eguneratzea: {error}",
|
||||
|
@ -304,10 +287,10 @@
|
|||
"log_permission_delete": "Ezabatu '{}' baimena",
|
||||
"group_already_exist": "{group} taldea existitzen da dagoeneko",
|
||||
"group_user_not_in_group": "{user} erabiltzailea ez dago {group} taldean",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_6": "Operadore batzuek ez dute alderantzizko DNSa konfiguratzen uzten (edo funtzioa ez dabil…). IPv4rako alderantzizko DNSa zuzen konfiguratuta badago, IPv6 desgaitzen saia zaitezke posta elektronikoa bidaltzeko, <cmd>yunohost settings set smtp.allow_ipv6 -v off</cmd> exekutatuz. Adi: honek esan nahi du ez zarela gai izango IPv6 bakarrik darabilten zerbitzari apurren posta elektronikoa jasotzeko edo beraiei bidaltzeko.",
|
||||
"diagnosis_sshd_config_inconsistent": "Dirudienez SSH ataka eskuz aldatu da /etc/ssh/sshd_config fitxategian. YunoHost 4.2tik aurrera 'security.ssh.port' izeneko ezarpen orokor bat dago konfigurazioa eskuz aldatzea ekiditeko.",
|
||||
"diagnosis_sshd_config_inconsistent_details": "Mesedez, exekutatu <cmd>yunohost settings set security.ssh.port -v YOUR_SSH_PORT</cmd> SSH ataka zehazteko, egiaztatu <cmd>yunohost tools regen-conf ssh --dry-run --with-diff</cmd> erabiliz eta <cmd>yunohost tools regen-conf ssh --force</cmd> exekutatu gomendatutako konfiguraziora bueltatu nahi baduzu.",
|
||||
"domain_dns_push_failed_to_authenticate": "Ezinezkoa izan da '{domain}' domeinurako APIa erabiliz erregistro-enpresan saioa hastea. Zuzenak al dira datuak? (Errorea: {error})",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_6": "Operadore batzuek ez dute alderantzizko DNSa konfiguratzen uzten (edo funtzioa ez dabil…). IPv4rako alderantzizko DNSa zuzen konfiguratuta badago, IPv6 desgaitzen saia zaitezke posta elektronikoa bidaltzeko, <cmd>yunohost settings set email.smtp.smtp_allow_ipv6 -v off</cmd> exekutatuz. Adi: honek esan nahi du ez zarela gai izango IPv6 bakarrik darabilten zerbitzari apurren posta elektronikoa jasotzeko edo beraiei bidaltzeko.",
|
||||
"diagnosis_sshd_config_inconsistent": "Dirudienez SSH ataka eskuz aldatu da /etc/ssh/sshd_config fitxategian. YunoHost 4.2tik aurrera 'security.ssh.ssh_port' izeneko ezarpen orokor bat dago konfigurazioa eskuz aldatzea ekiditeko.",
|
||||
"diagnosis_sshd_config_inconsistent_details": "Exekutatu <cmd>yunohost settings set security.ssh.ssh_port -v SSH_ATAKA</cmd> SSH ataka zehazteko, egiaztatu <cmd>yunohost tools regen-conf ssh --dry-run --with-diff</cmd> erabiliz eta <cmd>yunohost tools regen-conf ssh --force</cmd> exekutatu gomendatutako konfiguraziora bueltatu nahi baduzu.",
|
||||
"domain_dns_push_failed_to_authenticate": "Ezinezkoa izan da '{domain}' domeinuko erregistro-enpresan APIa erabiliz saioa hastea. Ziurrenik datuak ez dira zuzenak. (Errorea: {error})",
|
||||
"domain_dns_pushing": "DNS ezarpenak bidaltzen…",
|
||||
"diagnosis_sshd_config_insecure": "Badirudi SSH konfigurazioa eskuz aldatu dela eta ez da segurua ez duelako 'AllowGroups' edo 'AllowUsers' baldintzarik jartzen fitxategien atzitzea oztopatzeko.",
|
||||
"disk_space_not_sufficient_update": "Ez dago aplikazio hau eguneratzeko nahikoa espaziorik",
|
||||
|
@ -317,14 +300,13 @@
|
|||
"domain_dns_push_success": "DNS ezarpenak eguneratu dira!",
|
||||
"domain_dns_push_failed": "DNS ezarpenen eguneratzeak kale egin du.",
|
||||
"domain_dns_push_partial_failure": "DNS ezarpenak erdipurdi eguneratu dira: jakinarazpen/errore batzuk egon dira.",
|
||||
"global_settings_setting_smtp_relay_host": "YunoHosten ordez posta elektronikoa bidaltzeko SMTP relay helbidea. Erabilgarri izan daiteke egoera hauetan: operadore edo VPS enpresak 25. ataka blokeatzen badu, DUHLen zure etxeko IPa ageri bada, ezin baduzu alderantzizko DNSa ezarri edo zerbitzari hau ez badago zuzenean internetera konektatuta baina posta elektronikoa bidali nahi baduzu.",
|
||||
"group_deletion_failed": "Ezinezkoa izan da '{group}' taldea ezabatzea: {error}",
|
||||
"invalid_number_min": "{min} baino handiagoa izan behar da",
|
||||
"invalid_number_max": "{max} baino txikiagoa izan behar da",
|
||||
"diagnosis_services_bad_status": "{service} zerbitzua {status} dago :(",
|
||||
"diagnosis_ports_needed_by": "{category} funtzioetarako ezinbestekoa da ataka hau eskuragarri egotea ({service} zerbitzua)",
|
||||
"diagnosis_package_installed_from_sury": "Sistemaren pakete batzuen lehenagoko bertsioak beharko lirateke",
|
||||
"global_settings_setting_smtp_relay_password": "SMTP relay helbideko pasahitza",
|
||||
"global_settings_setting_smtp_relay_password": "SMTP relay pasahitza",
|
||||
"global_settings_setting_smtp_relay_port": "SMTP relay ataka",
|
||||
"domain_deleted": "Domeinua ezabatu da",
|
||||
"domain_dyndns_root_unknown": "Ez da ezagutzen DynDNSaren root domeinua",
|
||||
|
@ -332,7 +314,7 @@
|
|||
"domain_registrar_is_not_configured": "Oraindik ez da {domain} domeinurako erregistro-enpresa ezarri.",
|
||||
"domain_dns_push_not_applicable": "Ezin da {domain} domeinurako DNS konfigurazio automatiko funtzioa erabili. DNS erregistroak eskuz ezarri beharko zenituzke gidaorriei erreparatuz: https://yunohost.org/dns_config.",
|
||||
"domain_dns_push_managed_in_parent_domain": "DNS ezarpenak automatikoki konfiguratzeko funtzioa {parent_domain} domeinu nagusian kudeatzen da.",
|
||||
"domain_dns_registrar_managed_in_parent_domain": "Domeinu hau {parent_domain_link} (r)en azpidomeinua da. DNS ezarpenak {parent_domain}(r)en konfigurazio atalean kudeatu behar dira.",
|
||||
"domain_dns_registrar_managed_in_parent_domain": "Domeinu hau {parent_domain_link}(r)en azpidomeinua da. DNS ezarpenak {parent_domain}(r)en konfigurazio atalean kudeatu behar dira.",
|
||||
"domain_dns_registrar_yunohost": "Hau nohost.me / nohost.st / ynh.fr domeinu bat da eta, beraz, DNS ezarpenak automatikoki kudeatzen ditu YunoHostek, bestelako ezer konfiguratu beharrik gabe. (ikus 'yunohost dyndns update' komandoa)",
|
||||
"domain_dns_registrar_not_supported": "YunoHostek ezin izan du domeinu honen erregistro-enpresa automatikoki antzeman. Eskuz konfiguratu beharko dituzu DNS ezarpenak gidalerroei erreparatuz: https://yunohost.org/dns.",
|
||||
"domain_dns_registrar_experimental": "Oraingoz, YunoHosten kideek ez dute **{registrar}** erregistro-enpresaren APIa nahi beste probatu eta aztertu. Funtzioa **oso esperimentala** da — kontuz!",
|
||||
|
@ -345,7 +327,6 @@
|
|||
"domain_config_auth_application_key": "Aplikazioaren gakoa",
|
||||
"domain_config_auth_application_secret": "Aplikazioaren gako sekretua",
|
||||
"domain_config_auth_consumer_key": "Erabiltzailearen gakoa",
|
||||
"global_settings_setting_smtp_allow_ipv6": "Baimendu IPv6 posta elektronikoa jaso eta bidaltzeko",
|
||||
"group_cannot_be_deleted": "{group} taldea ezin da eskuz ezabatu.",
|
||||
"log_domain_config_set": "Aldatu '{}' domeinuko ezarpenak",
|
||||
"log_domain_dns_push": "Bidali '{}' domeinuaren DNS ezarpenak",
|
||||
|
@ -355,13 +336,9 @@
|
|||
"domain_dns_registrar_supported": "YunoHostek automatikoki antzeman du domeinu hau **{registrar}** erregistro-enpresak kudeatzen duela. Nahi baduzu YunoHostek automatikoki konfiguratu ditzake DNS ezarpenak, API egiaztagiri zuzenak zehazten badituzu. API egiaztagiriak non lortzeko dokumentazioa orri honetan duzu: https://yunohost.org/registar_api_{registrar}. (Baduzu DNS erregistroak eskuz konfiguratzeko aukera ere, gidalerro hauetan ageri den bezala: https://yunohost.org/dns)",
|
||||
"domain_dns_push_failed_to_list": "Ezinezkoa izan da APIa erabiliz oraingo erregistroak antzematea: {error}",
|
||||
"domain_dns_push_already_up_to_date": "Ezarpenak egunean daude, ez dago zereginik.",
|
||||
"domain_config_features_disclaimer": "Oraingoz, posta elektronikoa edo XMPP funtzioak gaitu/desgaitzeak DNS ezarpenei soilik eragiten die, ez sistemaren konfigurazioari!",
|
||||
"domain_config_mail_out": "Bidalitako mezuak",
|
||||
"domain_config_xmpp": "Bat-bateko mezularitza (XMPP)",
|
||||
"global_settings_bad_choice_for_enum": "{setting} ezarpenerako aukera okerra. '{choice}' ezarri da baina hauek dira aukerak: {available_choices}",
|
||||
"global_settings_setting_security_postfix_compatibility": "Bateragarritasun eta segurtasun arteko gatazka Postfix zerbitzarirako. Zifraketari eragiten dio (eta segurtasunari lotutako beste kontu batzuei)",
|
||||
"global_settings_setting_security_ssh_compatibility": "Bateragarritasun eta segurtasun arteko gatazka SSH zerbitzarirako. Zifraketari eragiten dio (eta segurtasunari lotutako beste kontu batzuei)",
|
||||
"good_practices_about_user_password": "Erabiltzaile-pasahitz berria ezartzear zaude. Pasahitzak zortzi karaktere izan beharko lituzke gutxienez, baina gomendagarria da pasahitz luzeagoa erabiltzea (esaldi bat, esaterako) edota karaktere desberdinak erabiltzea (hizki larriak, txikiak, zenbakiak eta karaktere bereziak).",
|
||||
"good_practices_about_user_password": "Erabiltzaile-pasahitz berria ezartzear zaude. Pasahitzak 8 karaktere izan beharko lituzke gutxienez, baina gomendagarria da pasahitz luzeagoa erabiltzea (esaldi bat, esaterako) edota karaktere desberdinak erabiltzea (hizki larriak, txikiak, zenbakiak eta karaktere bereziak).",
|
||||
"group_cannot_edit_all_users": "'all_users' taldea ezin da eskuz moldatu. YunoHosten izena emanda dauden erabiltzaile guztiak barne dituen talde berezia da",
|
||||
"invalid_number": "Zenbaki bat izan behar da",
|
||||
"ldap_attribute_already_exists": "'{attribute}' LDAP funtzioa existitzen da dagoeneko eta '{value}' balioa dauka",
|
||||
|
@ -378,9 +355,9 @@
|
|||
"diagnosis_mail_queue_unavailable": "Ezinezkoa da ilaran zenbat posta elektroniko dauden kontsultatzea",
|
||||
"log_user_create": "Gehitu '{}' erabiltzailea",
|
||||
"group_cannot_edit_visitors": "'bisitariak' taldea ezin da eskuz moldatu. Saiorik hasi gabeko bisitariak barne hartzen dituen talde berezia da",
|
||||
"diagnosis_ram_verylow": "RAM memoriaren {available} baino ez ditu erabilgarri sistemak; memoria guztiaren ({total}) %{available_percent}a bakarrik!",
|
||||
"diagnosis_ram_low": "RAM memoriaren {available} ditu erabilgarri sistemak; memoria guztiaren ({total}) %{available_percent}a. Adi ibili.",
|
||||
"diagnosis_ram_ok": "RAM memoriaren {available} ditu oraindik erabilgarri sistemak; memoria guztiaren ({total}) %{available_percent}a.",
|
||||
"diagnosis_ram_verylow": "Sistemak RAM memoriaren {available} baino ez ditu erabilgarri; memoria guztiaren ({total}) %{available_percent}a bakarrik!",
|
||||
"diagnosis_ram_low": "Sistemak RAM memoriaren {available} ditu erabilgarri; memoria guztiaren ({total}) %{available_percent}a. Adi ibili.",
|
||||
"diagnosis_ram_ok": "Sistemak RAM memoriaren {available} ditu oraindik erabilgarri; memoria guztiaren ({total}) %{available_percent}a.",
|
||||
"diagnosis_swap_none": "Sistemak ez du swap-ik. Gutxienez {recommended} izaten saiatu beharko zinateke, sistema memoriarik gabe gera ez dadin.",
|
||||
"diagnosis_swap_ok": "Sistemak {total} swap dauzka!",
|
||||
"diagnosis_regenconf_allgood": "Konfigurazio-fitxategi guztiak bat datoz gomendatutako ezarpenekin!",
|
||||
|
@ -399,7 +376,7 @@
|
|||
"diagnosis_mail_fcrdns_different_from_ehlo_domain_details": "Oraingo alderantzizko DNSa: <code>{rdns_domain}</code><br>Esperotako balioa: <code>{ehlo_domain}</code>",
|
||||
"diagnosis_mail_queue_too_big": "Mezu gehiegi posta elektronikoaren ilaran: ({nb_pending} mezu)",
|
||||
"diagnosis_ports_could_not_diagnose_details": "Errorea: {error}",
|
||||
"diagnosis_swap_tip": "Mesedez, kontuan hartu zerbitzari honen swap memoria SD edo SSD euskarri batean gordetzeak euskarri horren bizi-iraupena izugarri laburtu dezakeela.",
|
||||
"diagnosis_swap_tip": "Kontuan hartu zerbitzari honen swap memoria SD edo SSD euskarri batean gordetzeak euskarri horren bizi-iraupena izugarri laburtu dezakeela.",
|
||||
"invalid_regex": "'Regexa' ez da zuzena: '{regex}'",
|
||||
"group_creation_failed": "Ezinezkoa izan da '{group}' taldea sortzea: {error}",
|
||||
"log_user_permission_reset": "Berrezarri '{}' baimena",
|
||||
|
@ -416,31 +393,23 @@
|
|||
"diagnosis_ports_forwarding_tip": "Arazoa konpontzeko, litekeena da operadorearen routerrean ataken birbideraketa konfiguratu behar izatea, <a href='https://yunohost.org/isp_box_config'>https://yunohost.org/isp_box_config</a>-n agertzen den bezala",
|
||||
"domain_creation_failed": "Ezinezkoa izan da {domain} domeinua sortzea: {error}",
|
||||
"domains_available": "Erabilgarri dauden domeinuak:",
|
||||
"global_settings_setting_pop3_enabled": "Gaitu POP3 protokoloa posta zerbitzarirako",
|
||||
"global_settings_setting_security_ssh_port": "SSH ataka",
|
||||
"global_settings_unknown_type": "Gertaera ezezaguna, {setting} ezarpenak {unknown_type} mota duela dirudi baina mota hori ez da sistemarekin bateragarria.",
|
||||
"group_already_exist_on_system": "{group} taldea existitzen da dagoeneko sistemaren taldeetan",
|
||||
"diagnosis_processes_killed_by_oom_reaper": "Memoria agortu eta sistemak prozesu batzuk amaituarazi behar izan ditu. Honek esan nahi du sistemak ez duela memoria nahikoa edo prozesuren batek memoria gehiegi behar duela. Amaituarazi d(ir)en prozesua(k):\n{kills_summary}",
|
||||
"hook_exec_not_terminated": "Aginduak ez du behar bezala amaitu: {path}",
|
||||
"log_corrupted_md_file": "Erregistroei lotutako YAML metadatu fitxategia kaltetuta dago: '{md_file}\nErrorea: {error}'",
|
||||
"log_letsencrypt_cert_renew": "Berriztu '{}' Let's Encrypt ziurtagiria",
|
||||
"log_remove_on_failed_restore": "Ezabatu '{}' babeskopia baten lehengoratzeak huts egin eta gero",
|
||||
"diagnosis_package_installed_from_sury_details": "Sury izena duen kanpoko biltegi batetik instalatu dira pakete batzuk, nahi gabe. YunoHosten taldeak hobekuntzak egin ditu pakete hauek kudeatzeko, baina litekeena da PHP7.3 aplikazioak Stretch sistema eragilean instalatu zituzten kasu batzuetan arazoak sortzea. Egoera hau konpontzeko, honako komando hau exekutatu beharko zenuke: <cmd>{cmd_to_fix}</cmd>",
|
||||
"log_help_to_get_log": "'{desc}' eragiketaren erregistroa ikusteko, exekutatu 'yunohost log show {name}'",
|
||||
"dpkg_is_broken": "Ezin duzu une honetan egin dpkg/APT (sistemaren pakateen kudeatzaileak) hondatutako itxura dutelako… Arazoa konpontzeko SSH bidez konektatzen saia zaitezke eta ondoren exekutatu 'sudo apt install --fix-broken' edota 'sudo dpkg --configure -a'.",
|
||||
"dpkg_is_broken": "Une honetan ezinezkoa da sistemaren dpkg/APT pakateen kudeatzaileek hondatutako itxura dutelako… Arazoa konpontzeko SSH bidez konektatzen saia zaitezke eta ondoren exekutatu 'sudo apt install --fix-broken' edota 'sudo dpkg --configure -a' edota 'sudo dpkg --audit'.",
|
||||
"domain_cannot_remove_main": "Ezin duzu '{domain}' ezabatu domeinu nagusia delako. Beste domeinu bat ezarri beharko duzu nagusi bezala 'yunohost domain main-domain -n <another-domain>' erabiliz; honako hauek dituzu aukeran: {other_domains}",
|
||||
"domain_created": "Sortu da domeinua",
|
||||
"domain_dyndns_already_subscribed": "Dagoeneko izena eman duzu DynDNS domeinu batean",
|
||||
"domain_hostname_failed": "Ezinezkoa izan da hostname berria ezartzea. Honek arazoak ekar litzake etorkizunean (litekeena da ondo egotea).",
|
||||
"domain_uninstall_app_first": "Honako aplikazio hauek domeinuan instalatuta daude:\n{apps}\n\nMesedez, desinstalatu 'yunohost app remove the_app_id' exekutatuz edo alda itzazu beste domeinu batera 'yunohost app change-url the_app_id' erabiliz domeinua ezabatu baino lehen",
|
||||
"domain_uninstall_app_first": "Honako aplikazio hauek domeinuan instalatuta daude:\n{apps}\n\nDesinstalatu 'yunohost app remove the_app_id' exekutatuz edo alda itzazu beste domeinu batera 'yunohost app change-url the_app_id' erabiliz domeinua ezabatu baino lehen",
|
||||
"file_does_not_exist": "{path} fitxategia ez da existitzen.",
|
||||
"firewall_rules_cmd_failed": "Suebakiko arau batzuen exekuzioak huts egin du. Informazio gehiago erregistroetan.",
|
||||
"log_app_remove": "Ezabatu '{}' aplikazioa",
|
||||
"global_settings_cant_open_settings": "Ezinezkoa izan da konfigurazio fitxategia irekitzea, zergatia: {reason}",
|
||||
"global_settings_reset_success": "Lehengo ezarpenak {path}-n gorde dira",
|
||||
"global_settings_unknown_setting_from_settings_file": "Gako ezezaguna ezarpenetan: '{setting_key}', baztertu eta gorde ezazu hemen: /etc/yunohost/settings-unknown.json",
|
||||
"domain_remove_confirm_apps_removal": "Domeinu hau ezabatzean aplikazio hauek desinstalatuko dira:\n{apps}\n\nZiur al zaude? [{answers}]",
|
||||
"global_settings_setting_service_ssh_allow_deprecated_dsa_hostkey": "Baimendu DSA gakoa (zaharkitua) SSH zerbitzuaren konfiguraziorako",
|
||||
"hook_list_by_invalid": "Aukera hau ezin da 'hook'ak zerrendatzeko erabili",
|
||||
"installation_complete": "Instalazioa amaitu da",
|
||||
"hook_exec_failed": "Ezinezkoa izan da agindua exekutatzea: {path}",
|
||||
|
@ -452,7 +421,7 @@
|
|||
"log_remove_on_failed_install": "Ezabatu '{}' instalazioak huts egin ondoren",
|
||||
"log_domain_add": "Gehitu '{}' domeinua sistemaren konfiguraziora",
|
||||
"log_dyndns_subscribe": "Eman izena YunoHosten '{}' azpidomeinuan",
|
||||
"diagnosis_no_cache": "Oraindik ez dago '{category}' atalerako diagnostikoaren cacherik",
|
||||
"diagnosis_no_cache": "Oraindik ez dago '{category}' atalerako diagnostikoaren katxerik",
|
||||
"diagnosis_mail_queue_ok": "Posta elektronikoaren ilaran zain dauden mezuak: {nb_pending}",
|
||||
"global_settings_setting_smtp_relay_user": "SMTP relay erabiltzailea",
|
||||
"domain_cert_gen_failed": "Ezinezkoa izan da ziurtagiria sortzea",
|
||||
|
@ -465,21 +434,17 @@
|
|||
"log_user_permission_update": "Eguneratu '{}' baimenerako sarbideak",
|
||||
"log_user_update": "Eguneratu '{}' erabiltzailearen informazioa",
|
||||
"dyndns_no_domain_registered": "Ez dago DynDNSrekin izena emandako domeinurik",
|
||||
"global_settings_bad_type_for_setting": "{setting} ezarpenerako mota okerra. {received_type} ezarri da, {expected_type} espero zen",
|
||||
"diagnosis_mail_fcrdns_dns_missing": "Ez da alderantzizko DNSrik ezarri IPv{ipversion}rako. Litekeena da hartzaileak posta elektroniko batzuk jaso ezin izatea edo mezuok spam modura etiketatuak izatea.",
|
||||
"log_backup_create": "Sortu babeskopia fitxategia",
|
||||
"global_settings_setting_backup_compress_tar_archives": "Babeskopia berriak sortzean, konprimitu fitxategiak (.tar.gz) konprimitu gabeko fitxategien (.tar) ordez. Aukera hau gaitzean babeskopiek espazio gutxiago beharko dute, baina hasierako prozesua luzeagoa izango da eta CPUari lan handiagoa eragingo dio.",
|
||||
"global_settings_setting_security_webadmin_allowlist": "Administrazio-ataria bisita dezaketen IP helbideak, koma bidez bereiziak.",
|
||||
"global_settings_key_doesnt_exists": "'{settings_key}' gakoa ez da existitzen konfigurazio orokorrean; erabilgarri dauden gakoak ikus ditzakezu 'yunohost settings list' exekutatuz",
|
||||
"global_settings_setting_ssowat_panel_overlay_enabled": "Gaitu SSOwat paneleko \"overlay\"a",
|
||||
"global_settings_setting_ssowat_panel_overlay_enabled": "Gaitu YunoHosten atarira daraman lasterbidea aplikazioetan",
|
||||
"log_backup_restore_system": "Lehengoratu sistema babeskopia fitxategi batetik",
|
||||
"log_domain_remove": "Ezabatu '{}' domeinua sistemaren ezarpenetatik",
|
||||
"log_link_to_failed_log": "Ezinezkoa izan da '{desc}' eragiketa exekutatzea. Mesedez, laguntza nahi izanez gero, partekatu erakigeta honen erregistro osoa <a href=\"#/tools/logs/{name}\">hemen sakatuz</a>",
|
||||
"log_link_to_failed_log": "Ezinezkoa izan da '{desc}' eragiketa exekutatzea. Laguntza nahi izanez gero, partekatu erakigeta honen erregistro osoa <a href=\"#/tools/logs/{name}\">hemen sakatuz</a>",
|
||||
"log_permission_url": "Eguneratu '{}' baimenari lotutako URLa",
|
||||
"log_user_group_create": "Sortu '{}' taldea",
|
||||
"permission_creation_failed": "Ezinezkoa izan da '{permission}' baimena sortzea: {error}",
|
||||
"permission_not_found": "Ez da '{permission}' baimena aurkitu",
|
||||
"pattern_lastname": "Abizen horrek ez du balio",
|
||||
"pattern_lastname": "Abizen horrek ez du balio (gutxienez hiru karaktere behar ditu)",
|
||||
"permission_deleted": "'{permission}' baimena ezabatu da",
|
||||
"service_disabled": "'{service}' zerbitzua ez da etorkizunean zerbitzaria abiaraztearekin batera exekutatuko.",
|
||||
"unexpected_error": "Ezusteko zerbaitek huts egin du: {error}",
|
||||
|
@ -500,7 +465,7 @@
|
|||
"user_import_success": "Erabiltzaileak arazorik gabe inportatu dira",
|
||||
"yunohost_already_installed": "YunoHost instalatuta dago dagoeneko",
|
||||
"migrations_success_forward": "{id} migrazioak amaitu du",
|
||||
"migrations_to_be_ran_manually": "{id} migrazioa eskuz abiarazi behar da. Mesedez, joan Erramintak → Migrazioak atalera administrazio-atarian edo bestela exekutatu 'yunohost tools migrations run'.",
|
||||
"migrations_to_be_ran_manually": "{id} migrazioa eskuz abiarazi behar da. Joan Tresnak → Migrazioak atalera administrazio-atarian edo bestela exekutatu 'yunohost tools migrations run'.",
|
||||
"permission_currently_allowed_for_all_users": "Baimen hau erabiltzaile guztiei esleitzen zaie eta baita beste talde batzuei ere. Litekeena da 'all users' baimena edo esleituta duten taldeei baimena kendu nahi izatea.",
|
||||
"permission_require_account": "'{permission}' baimena zerbitzarian kontua duten erabiltzaileentzat da eta, beraz, ezin da gaitu bisitarientzat.",
|
||||
"postinstall_low_rootfsspace": "'root' fitxategi-sistemak 10 GB edo espazio gutxiago dauka, kezkatzekoa dena! Litekeena da espaziorik gabe geratzea aurki! Gomendagarria da 'root' fitxategi-sistemak gutxienez 16 GB libre izatea. Jakinarazpen honen ondoren YunoHost instalatzen jarraitu nahi baduzu, berrabiarazi agindua '--force-diskspace' gehituz",
|
||||
|
@ -517,8 +482,8 @@
|
|||
"service_restart_failed": "Ezin izan da '{service}' zerbitzua berrabiarazi\n\nZerbitzuen azken erregistroak: {logs}",
|
||||
"service_restarted": "'{service}' zerbitzua berrabiarazi da",
|
||||
"service_start_failed": "Ezin izan da '{service}' zerbitzua abiarazi\n\nZerbitzuen azken erregistroak: {logs}",
|
||||
"update_apt_cache_failed": "Ezin da APT Debian-en pakete kudeatzailearen cachea eguneratu. Hemen dituzu sources.list fitxategiaren lerroak, arazoa identifikatzeko baliagarria izan dezakezuna:\n{sourceslist}",
|
||||
"update_apt_cache_warning": "Zerbaitek huts egin du APT Debian-en pakete kudeatzailearen cachea eguneratzean. Hemen dituzu sources.list fitxategiaren lerroak, arazoa identifikatzeko baliagarria izan dezakezuna:\n{sourceslist}",
|
||||
"update_apt_cache_failed": "Ezin da APT Debian-en pakete kudeatzailearen katxea eguneratu. Hemen dituzu sources.list fitxategiaren lerroak, arazoa identifikatzeko baliagarria izan dezakezuna:\n{sourceslist}",
|
||||
"update_apt_cache_warning": "Zerbaitek huts egin du APT Debian-en pakete kudeatzailearen katxea eguneratzean. Hemen dituzu sources.list fitxategiaren lerroak, arazoa identifikatzeko baliagarria izan dezakezuna:\n{sourceslist}",
|
||||
"user_created": "Erabiltzailea sortu da",
|
||||
"user_deletion_failed": "Ezin izan da '{user}' ezabatu: {error}",
|
||||
"permission_updated": "'{permission}' baimena moldatu da",
|
||||
|
@ -532,7 +497,7 @@
|
|||
"yunohost_installing": "YunoHost instalatzen…",
|
||||
"migrations_failed_to_load_migration": "Ezinezkoa izan da {id} migrazioa kargatzea: {error}",
|
||||
"migrations_must_provide_explicit_targets": "'--skip' edo '--force-rerun' aukerak erabiltzean jomuga zehatzak zehaztu behar dituzu",
|
||||
"migrations_pending_cant_rerun": "Migrazio hauek exekutatzeke daude eta, beraz, ezin dira berriro abiarazi: {ids}",
|
||||
"migrations_pending_cant_rerun": "Migrazio hauek oraindik ez dira exekutatu eta, beraz, ezin dira berriro abiarazi: {ids}",
|
||||
"regenconf_file_kept_back": "'{conf}' konfigurazio fitxategia regen-conf-ek ({category} atala) ezabatzekoa zen baina mantendu egin da.",
|
||||
"regenconf_file_removed": "'{conf}' konfigurazio fitxategia ezabatu da",
|
||||
"permission_already_allowed": "'{group} taldeak badauka dagoeneko '{permission}' baimena",
|
||||
|
@ -560,7 +525,7 @@
|
|||
"regenconf_file_manually_removed": "'{conf}' konfigurazio fitxategia eskuz ezabatu da eta ez da berriro sortuko",
|
||||
"regenconf_up_to_date": "Konfigurazioa egunean dago dagoeneko '{category}' atalerako",
|
||||
"migrations_no_such_migration": "Ez dago '{id}' izeneko migraziorik",
|
||||
"migrations_not_pending_cant_skip": "Migrazio hauek ez daude exekutatzeke eta, beraz, ezin dira saihestu: {ids}",
|
||||
"migrations_not_pending_cant_skip": "Migrazio hauek ez daude exekutatzeke eta, beraz, ez dago saihesteko aukerarik: {ids}",
|
||||
"regex_with_only_domain": "Ezin duzu regex domeinuetarako erabili; bideetarako bakarrik",
|
||||
"port_already_closed": "{port}. ataka itxita dago dagoeneko {ip_version} konexioetarako",
|
||||
"regenconf_file_copy_failed": "Ezinezkoa izan da '{new}' konfigurazio fitxategi berria '{conf}'-(e)n kopiatzea",
|
||||
|
@ -571,18 +536,17 @@
|
|||
"service_enable_failed": "Ezin izan da '{service}' zerbitzua sistema abiaraztearekin batera exekutatzea lortu.\n\nZerbitzuen erregistro berrienak: {logs}",
|
||||
"system_username_exists": "Erabiltzaile izena existitzen da dagoeneko sistemaren erabiltzaileen zerrendan",
|
||||
"user_already_exists": "'{user}' erabiltzailea existitzen da dagoeneko",
|
||||
"mail_domain_unknown": "Ezinezkoa da posta elektroniko hori '{domain}' domeinurako erabiltzea. Mesedez, erabili zerbitzari honek kudeatzen duen domeinu bat.",
|
||||
"mail_domain_unknown": "Ezinezkoa da posta elektroniko hori '{domain}' domeinurako erabiltzea. Erabili zerbitzari honek kudeatzen duen domeinu bat.",
|
||||
"migrations_list_conflict_pending_done": "Ezin dituzu '--previous' eta '--done' aldi berean erabili.",
|
||||
"migrations_loading_migration": "{id} migrazioa kargatzen…",
|
||||
"migrations_no_migrations_to_run": "Ez dago exekutatzeko migraziorik",
|
||||
"password_listed": "Pasahitz hau munduan erabilienetarikoa da. Mesedez, aukeratu bereziagoa den beste bat.",
|
||||
"password_too_simple_2": "Pasahitzak zortzi karaktere izan behar ditu gutxienez eta zenbakiren bat, hizki larriren bat eta txikiren bat izan behar ditu",
|
||||
"pattern_firstname": "Izen horrek ez du balio",
|
||||
"password_listed": "Pasahitz hau munduan erabilienetarikoa da. Aukeratu bereziagoa den beste bat.",
|
||||
"password_too_simple_2": "Pasahitzak 8 karaktere izan behar ditu gutxienez eta zenbakiren bat, hizki larriren bat eta txikiren bat izan behar ditu",
|
||||
"pattern_firstname": "Izen horrek ez du balio (gutxienez hiru karaktere behar ditu)",
|
||||
"pattern_password": "Gutxienez hiru karaktere izan behar ditu",
|
||||
"restore_failed": "Ezin izan da sistema lehengoratu",
|
||||
"restore_removing_tmp_dir_failed": "Ezinezkoa izan da behin-behineko direktorio zaharra ezabatzea",
|
||||
"restore_running_app_script": "'{app}' aplikazioa lehengoratzen…",
|
||||
"root_password_replaced_by_admin_password": "Administrazio-pasahitzak root pasahitza ordezkatu du.",
|
||||
"service_description_fail2ban": "Internetetik datozen bortxaz egindako saiakerak eta bestelako erasoak ekiditen ditu",
|
||||
"service_description_ssh": "Zerbitzarira sare lokaletik kanpo konektatzea ahalbidetzen du (SSH protokoloa)",
|
||||
"service_description_yunohost-firewall": "Zerbitzuen konexiorako atakak ireki eta ixteko kudeatzailea da",
|
||||
|
@ -600,13 +564,13 @@
|
|||
"yunohost_configured": "YunoHost konfiguratuta dago",
|
||||
"service_description_yunomdns": "Sare lokalean zerbitzarira 'yunohost.local' erabiliz konektatzea ahalbidetzen du",
|
||||
"mail_alias_remove_failed": "Ezin izan da '{mail}' e-mail ezizena ezabatu",
|
||||
"mail_unavailable": "Helbide elektroniko hau lehenengo erabiltzailearentzat gorde da eta hari ezarri zaio automatikoki",
|
||||
"mail_unavailable": "Helbide elektroniko hau administratzaileen taldearentzat gorde da",
|
||||
"migration_ldap_backup_before_migration": "Sortu LDAP datubase eta aplikazioen ezarpenen babeskopia migrazioa abiarazi baino lehen.",
|
||||
"migration_ldap_can_not_backup_before_migration": "Sistemaren babeskopiak ez du amaitu migrazioak huts egin baino lehen. Errorea: {error}",
|
||||
"migrations_migration_has_failed": "{id} migrazioak ez du amaitu, geldiarazten. Errorea: {exception}",
|
||||
"migrations_need_to_accept_disclaimer": "{id} migrazioa abiarazteko, ondorengo baldintzak onartu behar dituzu:\n---\n{disclaimer}\n---\nMigrazioa onartzen baduzu, mesedez berrabiarazi prozesua komandoan '--accept-disclaimer' aukera gehituz.",
|
||||
"migrations_need_to_accept_disclaimer": "{id} migrazioa abiarazteko, ondorengo baldintzak onartu behar dituzu:\n---\n{disclaimer}\n---\nMigrazioa onartzen baduzu, berrabiarazi prozesua komandoan '--accept-disclaimer' aukera gehituz.",
|
||||
"not_enough_disk_space": "Ez dago nahikoa espazio librerik '{path}'-n",
|
||||
"password_too_simple_3": "Pasahitzak zortzi karaktere izan behar ditu gutxienez eta zenbakiren bat, hizki larriren bat, txikiren bat eta karaktere bereziren bat izan behar ditu",
|
||||
"password_too_simple_3": "Pasahitzak 8 karaktere izan behar ditu gutxienez eta zenbakiren bat, hizki larriren bat, txikiren bat eta karaktere bereziren bat izan behar ditu",
|
||||
"pattern_backup_archive_name": "Fitxategiaren izenak 30 karaktere izan ditzake gehienez, alfanumerikoak eta ._- baino ez",
|
||||
"pattern_domain": "Domeinu izen baliagarri bat izan behar da (adibidez: nire-domeinua.eus)",
|
||||
"pattern_mailbox_quota": "Tamainak b/k/M/G/T zehaztu behar du edo 0 mugarik ezarri nahi ez bada",
|
||||
|
@ -619,8 +583,8 @@
|
|||
"port_already_opened": "{port}. ataka dagoeneko irekita dago {ip_version} konexioetarako",
|
||||
"user_home_creation_failed": "Ezin izan da erabiltzailearentzat '{home}' direktorioa sortu",
|
||||
"user_unknown": "Erabiltzaile ezezaguna: {user}",
|
||||
"yunohost_postinstall_end_tip": "Instalazio ondorengo prozesua amaitu da! Sistemaren konfigurazioa bukatzeko:\n- gehitu erabiltzaile bat administrazio-atariko 'Erabiltzaileak' atalean (edo 'yunohost user create <erabiltzailea>' komandoa erabiliz);\n- erabili 'Diagnostikoak' atala ohiko arazoei aurre hartzeko. Administrazio-atarian abiarazi edo 'yunohost diagnosis run' exekutatu;\n- irakurri 'Finalizing your setup' eta 'Getting to know YunoHost' atalak. Dokumentazioan aurki ditzakezu: https://yunohost.org/admindoc.",
|
||||
"yunohost_not_installed": "YunoHost ez da zuzen instalatu. Mesedez, exekutatu 'yunohost tools postinstall'",
|
||||
"yunohost_postinstall_end_tip": "Instalazio ondorengo prozesua amaitu da! Sistemaren konfigurazioa bukatzeko:\n- erabili 'Diagnostikoak' atala ohiko arazoei aurre hartzeko. Administrazio-atarian abiarazi edo 'yunohost diagnosis run' exekutatu;\n- irakurri 'Finalizing your setup' eta 'Getting to know YunoHost' atalak. Dokumentazioan aurki ditzakezu: https://yunohost.org/admindoc.",
|
||||
"yunohost_not_installed": "YunoHost ez da zuzen instalatu. Exekutatu 'yunohost tools postinstall'",
|
||||
"unlimit": "Mugarik ez",
|
||||
"restore_already_installed_apps": "Ondorengo aplikazioak ezin dira lehengoratu dagoeneko instalatuta daudelako: {apps}",
|
||||
"password_too_simple_4": "Pasahitzak 12 karaktere izan behar ditu gutxienez eta zenbakiren bat, hizki larriren bat, txikiren bat eta karaktere bereziren bat izan behar ditu",
|
||||
|
@ -670,19 +634,137 @@
|
|||
"migration_0021_main_upgrade": "Eguneraketa nagusia abiarazten…",
|
||||
"migration_0021_still_on_buster_after_main_upgrade": "Zerbaitek huts egin du eguneraketa nagusian, badirudi sistemak oraindik darabilela Debian Buster",
|
||||
"migration_0021_yunohost_upgrade": "YunoHosten muineko eguneraketa abiarazten…",
|
||||
"migration_0021_not_buster": "Uneko Debian ez da Buster!",
|
||||
"migration_0021_not_enough_free_space": "/var/-enerabilgarri dagoen espazioa oso txikia da! Guxtienez GB 1 izan beharko zenuke erabilgarri migrazioari ekiteko.",
|
||||
"migration_0021_system_not_fully_up_to_date": "Sistema ez dago erabat egunean. Mesedez, egizu eguneraketa arrunt bat Bullseye-(e)rako migrazioa abiarazi baino lehen.",
|
||||
"migration_0021_general_warning": "Mesedez, kontuan hartu migrazio hau konplexua dela. YunoHost taldeak ahalegin handia egin du probatzeko, baina hala ere migrazioak sistemaren zatiren bat edo aplikazioak apurt litzake.\n\nHorregatik, gomendagarria da:\n\t- Datu edo aplikazio garrantzitsuen babeskopia egitea. Informazio gehiago: https://yunohost.org/backup;\n\t- Ez izan presarik migrazioa abiaraztean: zure internet eta hardwarearen arabera ordu batzuk ere iraun lezake eguneraketa prozesuak.",
|
||||
"migration_0021_modified_files": "Mesedez, kontuan hartu ondorengo fitxategiak eskuz moldatu omen direla eta eguneraketak berridatziko dituela: {manually_modified_files}",
|
||||
"migration_0021_cleaning_up": "Cachea eta erabilgarriak ez diren paketeak garbitzen…",
|
||||
"migration_0021_system_not_fully_up_to_date": "Sistema ez dago erabat egunean. Egizu eguneraketa arrunt bat Bullseye-(e)rako migrazioa abiarazi baino lehen.",
|
||||
"migration_0021_general_warning": "Kontuan hartu migrazio hau konplexua dela. YunoHost taldeak ahalegin handia egin du probatzeko, baina hala ere migrazioak sistemaren zatiren bat edo aplikazioak apurt litzake.\n\nHorregatik, gomendagarria da:\n\t- Datu edo aplikazio garrantzitsuen babeskopia egitea. Informazio gehiago: https://yunohost.org/backup;\n\t- Ez izan presarik migrazioa abiaraztean: zure internet eta hardwarearen arabera ordu batzuk ere iraun lezake eguneraketa prozesuak.",
|
||||
"migration_0021_modified_files": "Kontuan hartu ondorengo fitxategiak eskuz moldatu omen direla eta eguneraketak berridatziko dituela: {manually_modified_files}",
|
||||
"migration_0021_cleaning_up": "Katxea eta erabilgarriak ez diren paketeak garbitzen…",
|
||||
"migration_0021_patch_yunohost_conflicts": "Arazo gatazkatsu bati adabakia jartzen…",
|
||||
"migration_description_0021_migrate_to_bullseye": "Eguneratu sistema Debian Bullseye eta Yunohost 11.x-ra",
|
||||
"global_settings_setting_security_ssh_password_authentication": "Baimendu pasahitz bidezko autentikazioa SSHrako",
|
||||
"migration_0021_problematic_apps_warning": "Mesedez, kontuan izan ziur asko gatazkatsuak izango diren odorengo aplikazioak aurkitu direla. Badirudi ez zirela YunoHost aplikazioen katalogotik instalatu, edo ez daude 'badabiltza' bezala etiketatuak. Ondorioz, ezin da bermatu eguneratu ondoren funtzionatzen jarraituko dutenik: {problematic_apps}",
|
||||
"migration_0021_problematic_apps_warning": "Kontuan izan ziur asko gatazkatsuak izango diren odorengo aplikazioak aurkitu direla. Badirudi ez zirela YunoHost aplikazioen katalogotik instalatu, edo ez daude 'badabiltza' bezala etiketatuak. Ondorioz, ezin da bermatu eguneratu ondoren funtzionatzen jarraituko dutenik: {problematic_apps}",
|
||||
"migration_0023_not_enough_space": "{path}-en ez dago toki nahikorik migrazioa abiarazteko.",
|
||||
"migration_0023_postgresql_11_not_installed": "PostgreSQL ez zegoen zure isteman instalatuta. Ez dago egitekorik.",
|
||||
"migration_0023_postgresql_13_not_installed": "PostgreSQL 11 dago instalatuta baina PostgreSQL 13 ez!? Zerbait arraroa gertatu omen zaio zure sistemari :( …",
|
||||
"migration_description_0022_php73_to_php74_pools": "Migratu php7.3-fpm 'pool' ezarpen-fitxategiak php7.4ra",
|
||||
"migration_description_0023_postgresql_11_to_13": "Migratu datubaseak PostgreSQL 11tik 13ra"
|
||||
}
|
||||
"migration_description_0023_postgresql_11_to_13": "Migratu datubaseak PostgreSQL 11tik 13ra",
|
||||
"global_settings_setting_backup_compress_tar_archives_help": "Babeskopia berriak sortzean, konprimitu fitxategiak (.tar.gz) konprimitu gabeko fitxategien (.tar) ordez. Aukera hau gaitzean babeskopiek espazio gutxiago beharko dute, baina hasierako prozesua luzeagoa izango da eta CPUari lan handiagoa eragingo dio.",
|
||||
"global_settings_setting_security_experimental_enabled_help": "Gaitu segurtasun funtzio esperimentalak (ez ezazu egin ez badakizu zertan ari zaren!)",
|
||||
"global_settings_setting_nginx_compatibility_help": "Bateragarritasun eta segurtasun arteko gatazka NGINX web zerbitzarirako. Zifraketari eragiten dio (eta segurtasunari lotutako beste kontu batzuei)",
|
||||
"global_settings_setting_nginx_redirect_to_https_help": "Birbideratu HTTP eskaerak HTTPSra (EZ ITZALI hau ez badakizu zertan ari zaren!)",
|
||||
"global_settings_setting_admin_strength": "Administrazio-pasahitzaren segurtasuna",
|
||||
"global_settings_setting_user_strength": "Erabiltzaile-pasahitzaren segurtasuna",
|
||||
"global_settings_setting_postfix_compatibility_help": "Bateragarritasun eta segurtasun arteko gatazka Postfix zerbitzarirako. Zifraketari eragiten dio (eta segurtasunari lotutako beste kontu batzuei)",
|
||||
"global_settings_setting_ssh_compatibility_help": "Bateragarritasun eta segurtasun arteko gatazka SSH zerbitzarirako. Zifraketari eragiten dio (eta segurtasunari lotutako beste kontu batzuei)",
|
||||
"global_settings_setting_ssh_password_authentication_help": "Baimendu pasahitz bidezko autentikazioa SSHrako",
|
||||
"global_settings_setting_ssh_port": "SSH ataka",
|
||||
"global_settings_setting_webadmin_allowlist_help": "Administrazio-ataria bisita dezaketen IP helbideak, koma bidez bereiziak.",
|
||||
"global_settings_setting_webadmin_allowlist_enabled_help": "Baimendu IP zehatz batzuk bakarrik administrazio-atarian.",
|
||||
"global_settings_setting_smtp_allow_ipv6_help": "Baimendu IPv6 posta elektronikoa jaso eta bidaltzeko",
|
||||
"global_settings_setting_smtp_relay_enabled_help": "YunoHosten ordez posta elektronikoa bidaltzeko SMTP relay helbidea. Erabilgarri izan daiteke egoera hauetan: operadore edo VPS enpresak 25. ataka blokeatzen badu, DUHLen zure etxeko IPa ageri bada, ezin baduzu alderantzizko DNSa ezarri edo zerbitzari hau ez badago zuzenean internetera konektatuta baina posta elektronikoa bidali nahi baduzu.",
|
||||
"migration_0024_rebuild_python_venv_broken_app": "{app} aplikazioari ez ikusiarena egin zaio ezin delako ingurune birtuala modu errazean birsortu. Horren ordez, aplikazioaren eguneraketa behartzen saia zaitezke `yunohost app upgrade --force {app}` arazoa konpontzeko.",
|
||||
"migration_0024_rebuild_python_venv_disclaimer_rebuild": "Ondorengo aplikazioen virtualenv-a birsortzeko saiakera egingo da (eragiketak luze jo dezake!): {rebuild_apps}",
|
||||
"migration_0024_rebuild_python_venv_disclaimer_ignored": "Virtualenv-ak ezin dira birsortu aplikazio horientzat. Eguneraketa behartu behar duzu horientzat, ondorengo komandoa exekutatuz egin daiteke: `yunohost app upgrade --force APP`: {ignored_apps}",
|
||||
"migration_0024_rebuild_python_venv_in_progress": "`{app}` aplikazioaren Python virtualenv-a birsortzeko lanetan",
|
||||
"migration_0024_rebuild_python_venv_failed": "Kale egin du {app} aplikazioaren Python virtualenv-aren birsorkuntza saiakerak. Litekeena da aplikazioak ez funtzionatzea arazoa konpondu arte. Aplikazioaren eguneraketa behartu beharko zenuke ondorengo komandoarekin: `yunohost app upgrade --force {app}`.",
|
||||
"migration_description_0024_rebuild_python_venv": "Konpondu Python aplikazioa Bullseye eguneraketa eta gero",
|
||||
"migration_0024_rebuild_python_venv_disclaimer_base": "Debian Bullseye eguneraketa dela-eta, Python aplikazio batzuk birsortu behar dira Debianekin datorren Pythonen bertsiora egokitzeko (teknikoki 'virtualenv' deritzaiona birsortu behar da). Egin artean, litekeena da Python aplikazio horiek ez funtzionatzea. YunoHost saia daiteke beherago ageri diren aplikazioen virtualenv edo ingurune birtualak birsortzen. Beste aplikazio batzuen kasuan, edo birsortze saiakerak kale egingo balu, aplikazio horien eguneraketa behartu beharko duzu.",
|
||||
"migration_0021_not_buster2": "Zerbitzariak darabilen Debian bertsioa ez da Buster! Dagoeneko Buster -> Bullseye migrazioa exekutatu baduzu, errore honek migrazioa erabat arrakastatsua izan ez zela esan nahi du (bestela YunoHostek amaitutzat markatuko luke). Komenigarria izango litzateke, laguntza taldearekin batera, zer gertatu zen aztertzea. Horretarako `migrazioaren erregistro **osoa** beharko duzue, Tresnak > Erregistroak atalean eskuragarri dagoena.",
|
||||
"admins": "Administratzaileek",
|
||||
"app_action_failed": "{app} aplikaziorako {action} eragiketak huts egin du",
|
||||
"config_action_disabled": "Ezin izan da '{action}' eragiketa exekutatu ezgaituta dagoelako, egiaztatu bere mugak betetzen dituzula. Laguntza: {help}",
|
||||
"all_users": "YunoHosten erabiltzaile guztiek",
|
||||
"app_manifest_install_ask_init_admin_permission": "Nork izan beharko luke aplikazio honetako administrazio aukeretara sarbidea? (Aldatzea dago)",
|
||||
"app_manifest_install_ask_init_main_permission": "Nork izan beharko luke aplikazio honetara sarbidea? (Aldatzea dago)",
|
||||
"ask_admin_fullname": "Administratzailearen izen osoa",
|
||||
"ask_admin_username": "Administratzailearen erabiltzaile-izena",
|
||||
"ask_fullname": "Izen osoa",
|
||||
"certmanager_cert_install_failed": "Let's Encrypt zirutagiriaren instalazioak huts egin du honako domeinu(eta)rako: {domains}",
|
||||
"certmanager_cert_install_failed_selfsigned": "Norberak sinatutako zirutagiriaren instalazioak huts egin du honako domeinu(eta)rako: {domains}",
|
||||
"certmanager_cert_renew_failed": "Let's Encrypt zirutagiriaren berrizteak huts egin du honako domeinu(eta)rako: {domains}",
|
||||
"config_action_failed": "Ezin izan da '{action}' eragiketa exekutatu: {error}",
|
||||
"domain_config_cert_summary_expired": "LARRIA: Uneko ziurtagiria ez da baliozkoa! HTTPS ezin da erabili!",
|
||||
"domain_config_cert_summary_selfsigned": "ADI: Uneko zirutagiria norberak sinatutakoa da. Web-nabigatzaileek bisitariak izutuko dituen mezu bat erakutsiko dute!",
|
||||
"global_settings_setting_postfix_compatibility": "Postfixekin bateragarritasuna",
|
||||
"global_settings_setting_root_access_explain": "Linux sistemetan 'root' administratzaile gorena da. YunoHosten testuinguruan, zuzeneko 'root' SSH saioa ezgaituta dago defektuz, zerbitzariaren sare lokaletik ez bada. 'administrariak' taldeko kideek sudo komandoa erabili dezakete root bailitzan jarduteko terminalaren bidez. Hala ere lagungarri izan liteke root pasahitz (sendo) bat izatea sistema arazteko egoeraren batean administratzaile arruntek saiorik hasi ezin balute.",
|
||||
"log_settings_reset": "Berrezarri ezarpenak",
|
||||
"log_settings_reset_all": "Berrezarri ezarpen guztiak",
|
||||
"root_password_changed": "root pasahitza aldatu da",
|
||||
"visitors": "Bisitariek",
|
||||
"global_settings_setting_security_experimental_enabled": "Segurtasun ezaugarri esperimentalak",
|
||||
"registrar_infos": "Erregistro-enpresaren informazioa",
|
||||
"global_settings_setting_pop3_enabled": "Gaitu POP3",
|
||||
"global_settings_reset_success": "Berrezarri ezarpen globalak",
|
||||
"global_settings_setting_backup_compress_tar_archives": "Konprimatu babeskopiak",
|
||||
"config_forbidden_readonly_type": "'{type}' mota ezin da ezarri readonly bezala; beste mota bat erabili balio hau emateko (argudioaren ida: '{id}').",
|
||||
"diagnosis_using_stable_codename": "<cmd>apt</cmd> (sistemaren pakete kudeatzailea) 'stable' (egonkorra) izen kodea duten paketeak instalatzeko ezarrita dago une honetan, eta ez uneko Debianen bertsioaren (bullseye) izen kodea.",
|
||||
"diagnosis_using_yunohost_testing": "<cmd>apt</cmd> (sistemaren pakete kudeatzailea) YunoHosten muinerako 'testing' (proba) izen kodea duten paketeak instalatzeko ezarrita dago une honetan.",
|
||||
"diagnosis_using_yunohost_testing_details": "Ez dago arazorik zertan ari zaren baldin badakizu, baina arretaz irakurri oharrak YunoHosten eguneraketak instalatu baino lehen! 'testing' (proba) bertsioak ezgaitu nahi badituzu, kendu <cmd>testing</cmd> gakoa <cmd>/etc/apt/sources.list.d/yunohost.list</cmd> fitxategitik.",
|
||||
"global_settings_setting_smtp_allow_ipv6": "Baimendu IPv6",
|
||||
"global_settings_setting_smtp_relay_host": "SMTP relay ostatatzailea",
|
||||
"domain_config_acme_eligible": "ACME egokitasuna",
|
||||
"domain_config_acme_eligible_explain": "Ez dirudi domeinu hau Let's Encrypt ziurtagirirako prest dagoenik. Egiaztatu DNS ezarpenak eta zerbitzariaren HTTP irisgarritasuna. <a href='#/diagnosis'>Diagnostikoen orrialdeko</a> 'DNS erregistroak' eta 'Web' atalek zer dagoen gaizki ulertzen lagun zaitzakete.",
|
||||
"domain_config_cert_install": "Instalatu Let's Encrypt ziurtagiria",
|
||||
"domain_config_cert_issuer": "Ziurtagiriaren jaulkitzailea",
|
||||
"domain_config_cert_no_checks": "Muzin egin diagnostikoaren egiaztapenei",
|
||||
"domain_config_cert_renew": "Berritu Let's Encrypt ziurtagiria",
|
||||
"domain_config_cert_renew_help": "Ziurtagiria automatikoki berrituko da baliozkoa den azken 15 egunetan. Eskuz berritu dezakezu hala nahi baduzu. (Ez da gomendagarria).",
|
||||
"domain_config_cert_summary": "Ziurtagiriaren egoera",
|
||||
"domain_config_cert_summary_abouttoexpire": "Uneko ziurtagiria iraungitzear dago. Aurki berritu beharko litzateke automatikoki.",
|
||||
"domain_config_cert_summary_letsencrypt": "Primeran! Baliozko Let's Encrypt zirutagiria erabiltzen ari zara!",
|
||||
"domain_config_cert_summary_ok": "Ados, uneko ziurtagiriak itxura ona du!",
|
||||
"domain_config_cert_validity": "Balizokotasuna",
|
||||
"global_settings_setting_admin_strength_help": "Betekizun hauek pasahitza lehenbizikoz sortzerakoan edo aldatzerakoan baino ez dira bete behar",
|
||||
"global_settings_setting_nginx_compatibility": "NGINXekin bateragarritasuna",
|
||||
"global_settings_setting_nginx_redirect_to_https": "Behartu HTTPS",
|
||||
"global_settings_setting_pop3_enabled_help": "Gaitu POP3 protokoloa eposta zerbitzarirako",
|
||||
"global_settings_setting_root_password": "root pasahitz berria",
|
||||
"global_settings_setting_root_password_confirm": "root pasahitz berria (egiaztatu)",
|
||||
"global_settings_setting_smtp_relay_enabled": "Gaitu SMTP relay",
|
||||
"global_settings_setting_ssh_compatibility": "SSH bateragarritasuna",
|
||||
"global_settings_setting_ssh_password_authentication": "Pasahitz bidezko autentifikazioa",
|
||||
"global_settings_setting_user_strength_help": "Betekizun hauek lehenbizikoz sortzerakoan edo pasahitza aldatzerakoan bete behar dira soilik",
|
||||
"global_settings_setting_webadmin_allowlist": "Administrazio-atarira sartzeko baimendutako IPak",
|
||||
"global_settings_setting_webadmin_allowlist_enabled": "Gaitu administrazio-ataria sartzeko baimendutako IPak",
|
||||
"invalid_credentials": "Pasahitz edo erabiltzaile-izen baliogabea",
|
||||
"log_resource_snippet": "Baliabide baten eguneraketa / eskuragarritasuna / eskuragarritasun eza",
|
||||
"log_settings_set": "Aplikatu ezarpenak",
|
||||
"migration_description_0025_global_settings_to_configpanel": "Migratu ezarpen globalen nomenklatura zaharra izendegi berri eta modernora",
|
||||
"migration_description_0026_new_admins_group": "Migratu 'administrari bat baino gehiago' sistema berrira",
|
||||
"password_confirmation_not_the_same": "Pasahitzak ez datoz bat",
|
||||
"password_too_long": "Aukeratu 127 karaktere baino laburragoa den pasahitz bat",
|
||||
"diagnosis_using_stable_codename_details": "Ostatatzaileak zerbait oker ezarri duenean gertatu ohi da hau. Arriskutsua da, Debianen datorren bertsioa 'estable' (egonkorra) bilakatzen denean, <cmd>apt</cmd>-ek sistemaren pakete guztiak bertsio-berritzen saiatuko da, beharrezko migrazio-prozedurarik burutu gabe. Debianen repositorioan apt iturria editatzen konpontzea da gomendioa, <cmd>stable</cmd> gakoa <cmd>bullseye</cmd> gakoarekin ordezkatuz. Ezarpen-fitxategia <cmd>/etc/apt/sources.list</cmd> izan beharko litzateke, edo <cmd>/etc/apt/sources.list.d/</cmd> direktorioko fitxategiren bat.",
|
||||
"group_update_aliases": "'{group}' taldearen aliasak eguneratzen",
|
||||
"group_no_change": "Ez da ezer aldatu behar '{group}' talderako",
|
||||
"app_not_enough_ram": "Aplikazio honek {required} RAM behar ditu instalatu edo bertsio-berritzeko, baina {current} bakarrik daude erabilgarri une honetan.",
|
||||
"domain_cannot_add_muc_upload": "Ezin duzu 'muc.'-ekin hasten den domeinurik gehitu. Mota honetako izenak YunoHosten integratuta dagoen XMPP taldeko txatek erabil ditzaten gordeta daude.",
|
||||
"confirm_app_insufficient_ram": "KONTUZ! Aplikazio honek {required} RAM behar ditu instalatu edo bertsio-berritzeko baina unean soilik {current} daude erabilgarri. Aplikazioa ibiliko balitz ere, instalazioak edo bertsio-berritzeak RAM kopuru handia behar du eta zure zerbitzariak erantzuteari utzi eta huts egin lezake. Hala ere arriskatu nahi baduzu idatzi '{answers}'",
|
||||
"confirm_notifications_read": "ADI: ikuskatu aplikazioaren jakinarazpenak jarraitu baino lehen, baliteke jakin beharreko zerbait esatea. [{answers}]",
|
||||
"app_arch_not_supported": "Aplikazio hau {required} arkitekturan instala daiteke bakarrik, baina zure zerbitzariaren arkitektura {current} da",
|
||||
"app_resource_failed": "Huts egin du {app} aplikaziorako baliabideen eguneraketak / prestaketak / askapenak: {error}",
|
||||
"app_not_enough_disk": "Aplikazio honek {required} espazio libre behar ditu.",
|
||||
"app_yunohost_version_not_supported": "Aplikazio honek YunoHost >= {required} behar du baina unean instalatutako bertsioa {current} da",
|
||||
"global_settings_setting_passwordless_sudo": "Baimendu administrariek 'sudo' erabiltzea pasahitzak berriro idatzi beharrik gabe",
|
||||
"global_settings_setting_portal_theme": "Atariko gaia",
|
||||
"global_settings_setting_portal_theme_help": "Atariko gai propioak sortzeari buruzko informazio gehiago: https://yunohost.org/theming",
|
||||
"invalid_shell": "Shell baliogabea: {shell}",
|
||||
"domain_config_default_app_help": "Jendea automatikoki birbideratuko da aplikazio honetara domeinu hau bisitatzerakoan. Aplikaziorik ezarri ezean, jendea saioa hasteko erabiltzaileen atarira birbideratuko da.",
|
||||
"domain_config_xmpp_help": "Ohart ongi: XMPP ezaugarri batzuk gaitzeko DNS erregistroak eguneratu eta Lets Encrypt ziurtagiria birsortu beharko dira",
|
||||
"global_settings_setting_dns_exposure": "DNS ezarpenetan eta diagnostikoan kontuan hartzeko IP bertsioak",
|
||||
"global_settings_setting_dns_exposure_help": "Ohart ongi: honek gomendatutako DNS ezarpenei eta diagnostikoari eragiten die soilik. Ez du eraginik sistemaren ezarpenetan.",
|
||||
"diagnosis_ip_no_ipv6_tip_important": "IPv6 automatikoki ezarri ohi du sistemak edo hornitzaileak erabilgarri baldin badago. Bestela eskuz ezarri beharko dituzu aukera batzuk ondorengo dokumentazioan azaldu bezala: <a href='https://yunohost.org/#/ipv6'>https://yunohost.org/#/ipv6</a>.",
|
||||
"pattern_fullname": "Baliozko izen oso bat izan behar da (gutxienez hiru karaktere)",
|
||||
"app_change_url_failed": "Ezin izan da {app} aplikazioaren URLa aldatu: {error}",
|
||||
"app_change_url_require_full_domain": "Ezin da {app} aplikazioa URL berri honetara aldatu domeinu oso bat behar duelako (i.e. with path = /)",
|
||||
"app_change_url_script_failed": "Errorea gertatu da URLa aldatzeko aginduaren barnean",
|
||||
"app_corrupt_source": "YunoHostek deskargatu du {app} aplikaziorako '{source_id}' ({url}) baliabidea baina ez dator bat espero zen 'checksum'arekin. Agian zerbitzariak interneteko konexioa galdu du tarte batez, EDO baliabidea nolabait moldatua izan da arduradunaren aldetik (edo partehartzaile maltzur batetik?) eta YunoHosten arduradunek egoera aztertu eta aplikazioaren manifestua eguneratu behar dute aldaketa hau kontuan hartzeko.\n Espero zen sha256 checksuma: {expected_sha256}\n Deskargatutakoaren sha256 checksuma: {computed_sha256}\n Deskargatutako fitxategiaren tamaina: {size}",
|
||||
"app_failed_to_upgrade_but_continue": "{failed_app} aplikazioaren bertsio-berritzeak huts egin du, jarraitu hurrengo bertsio-berritzeetara eskatu bezala. Exekutatu 'yunohost log show {operation_logger_name}' errorearen erregistroa ikusteko",
|
||||
"app_not_upgraded_broken_system": "{failed_app} aplikazioaren bertsio-berritzeak huts egin du eta sistema hondatu du, beraz, ondorengo aplikazioen bertsio-berritzeak ezeztatu dira: {apps}",
|
||||
"app_not_upgraded_broken_system_continue": "{failed_app} aplikazioaren bertsio-berritzeak huts egin du eta sistema hondatu du (beraz, --continue-on-failure aukerari muzin egin zaio) eta ondorengo aplikazioen bertsio-berritzeak ezeztatu dira: {apps}",
|
||||
"app_failed_to_download_asset": "{app} aplikaziorako '{source_id}' ({url}) baliabidea deskargatzeak huts egin du: {out}",
|
||||
"apps_failed_to_upgrade": "Aplikazio hauen bertsio-berritzeak huts egin du: {apps}",
|
||||
"apps_failed_to_upgrade_line": "\n * {app_id} (dagokion erregistroa ikusteko, exekutatu 'yunohost log show {operation_logger_name}')",
|
||||
"group_mailalias_add": "'{mail}' ePosta aliasa jarri zaio '{group}' taldeari",
|
||||
"group_mailalias_remove": "'{mail}' ePosta aliasa kendu zaio '{group}' taldeari",
|
||||
"group_user_remove": "'{user}' erabiltzailea '{group}' taldetik kenduko da",
|
||||
"group_user_add": "'{user}' erabiltzailea '{group}' taldera gehituko da"
|
||||
}
|
||||
|
|
|
@ -11,9 +11,6 @@
|
|||
"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}' قبلاً در نشانی اینترنتی اضافی برای اجازه '{permission}'حذف شده است",
|
||||
"additional_urls_already_added": "نشانی اینترنتی اضافی '{url}' قبلاً در نشانی اینترنتی اضافی برای اجازه '{permission}' اضافه شده است",
|
||||
|
@ -145,8 +142,6 @@
|
|||
"ask_new_domain": "دامنه جدید",
|
||||
"ask_new_admin_password": "رمز جدید مدیریت",
|
||||
"ask_main_domain": "دامنه اصلی",
|
||||
"ask_lastname": "نام خانوادگی",
|
||||
"ask_firstname": "نام کوچک",
|
||||
"ask_user_domain": "دامنه ای که برای آدرس ایمیل کاربر و حساب XMPP استفاده می شود",
|
||||
"apps_catalog_update_success": "کاتالوگ برنامه به روز شد!",
|
||||
"apps_catalog_obsolete_cache": "حافظه پنهان کاتالوگ برنامه خالی یا منسوخ شده است.",
|
||||
|
@ -171,7 +166,6 @@
|
|||
"app_restore_script_failed": "خطایی در داخل اسکریپت بازیابی برنامه رخ داده است",
|
||||
"app_restore_failed": "{app} بازیابی نشد: {error}",
|
||||
"app_remove_after_failed_install": "حذف برنامه در پی شکست نصب...",
|
||||
"app_requirements_unmeet": "شرایط مورد نیاز برای {app} برآورده نمی شود ، بسته {pkgname} ({version}) باید {spec} باشد",
|
||||
"app_requirements_checking": "در حال بررسی بسته های مورد نیاز برای {app}...",
|
||||
"app_removed": "{app} حذف نصب شد",
|
||||
"app_not_properly_removed": "{app} به درستی حذف نشده است",
|
||||
|
@ -301,39 +295,15 @@
|
|||
"group_already_exist": "گروه {group} از قبل وجود دارد",
|
||||
"good_practices_about_user_password": "گذرواژه باید حداقل 8 کاراکتر باشد - اگرچه استفاده از گذرواژه طولانی تر تمرین خوبی است (به عنوان مثال عبارت عبور) و/یا استفاده از تنوع کاراکترها (بزرگ ، کوچک ، رقم و کاراکتر های خاص).",
|
||||
"good_practices_about_admin_password": "اکنون می خواهید گذرواژه جدیدی برای مدیریت تعریف کنید. گذرواژه باید حداقل 8 کاراکتر باشد - اگرچه استفاده از گذرواژه طولانی تر تمرین خوبی است (به عنوان مثال عبارت عبور) و/یا استفاده از تنوع کاراکترها (بزرگ ، کوچک ، رقم و کاراکتر های خاص).",
|
||||
"global_settings_unknown_type": "وضعیت غیرمنتظره ، به نظر می رسد که تنظیمات {setting} دارای نوع {unknown_type} است اما از نوع پشتیبانی شده توسط سیستم نیست.",
|
||||
"global_settings_setting_backup_compress_tar_archives": "هنگام ایجاد پشتیبان جدید ، بایگانی های فشرده (.tar.gz) را به جای بایگانی های فشرده نشده (.tar) انتخاب کنید. N.B. : فعال کردن این گزینه به معنای ایجاد آرشیوهای پشتیبان سبک تر است ، اما روش پشتیبان گیری اولیه به طور قابل توجهی طولانی تر و سنگین تر بر روی CPU خواهد بود.",
|
||||
"global_settings_setting_security_experimental_enabled": "فعال کردن ویژگی های امنیتی آزمایشی (اگر نمی دانید در حال انجام چه کاری هستید این کار را انجام ندهید!)",
|
||||
"global_settings_setting_security_webadmin_allowlist": "آدرس های IP که مجاز به دسترسی مدیر وب هستند. جدا شده با ویرگول.",
|
||||
"global_settings_setting_security_webadmin_allowlist_enabled": "فقط به برخی از IP ها اجازه دسترسی به مدیریت وب را بدهید.",
|
||||
"global_settings_setting_smtp_relay_password": "رمز عبور میزبان رله SMTP",
|
||||
"global_settings_setting_smtp_relay_user": "حساب کاربری رله SMTP",
|
||||
"global_settings_setting_smtp_relay_port": "پورت رله SMTP",
|
||||
"global_settings_setting_smtp_relay_host": "میزبان رله SMTP برای ارسال نامه به جای این نمونه yunohost استفاده می شود. اگر در یکی از این شرایط قرار دارید مفید است: پورت 25 شما توسط ارائه دهنده ISP یا VPS شما مسدود شده است، شما یک IP مسکونی دارید که در DUHL ذکر شده است، نمی توانید DNS معکوس را پیکربندی کنید یا این سرور مستقیماً در اینترنت نمایش داده نمی شود و می خواهید از یکی دیگر برای ارسال ایمیل استفاده کنید.",
|
||||
"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 (منسوخ شده) برای پیکربندی SH daemon استفاده شود",
|
||||
"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. روی رمزها (و سایر جنبه های مرتبط با امنیت) تأثیر می گذارد",
|
||||
"global_settings_setting_security_password_user_strength": "قدرت رمز عبور کاربر",
|
||||
"global_settings_setting_security_password_admin_strength": "قدرت رمز عبور مدیر",
|
||||
"global_settings_setting_security_nginx_compatibility": "سازگاری در مقابل مبادله امنیتی برای وب سرور NGINX. روی رمزها (و سایر جنبه های مرتبط با امنیت) تأثیر می گذارد",
|
||||
"global_settings_setting_pop3_enabled": "پروتکل POP3 را برای سرور ایمیل فعال کنید",
|
||||
"global_settings_reset_success": "تنظیمات قبلی اکنون در {path} پشتیبان گیری شده است",
|
||||
"global_settings_key_doesnt_exists": "کلید '{settings_key}' در تنظیمات جهانی وجود ندارد ، با اجرای 'لیست تنظیمات yunohost' می توانید همه کلیدهای موجود را مشاهده کنید",
|
||||
"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} وجود ندارد.",
|
||||
"field_invalid": "فیلد نامعتبر '{}'",
|
||||
"experimental_feature": "هشدار: این ویژگی آزمایشی است و پایدار تلقی نمی شود ، نباید از آن استفاده کنید مگر اینکه بدانید در حال انجام چه کاری هستید.",
|
||||
"extracting": "استخراج...",
|
||||
"dyndns_unavailable": "دامنه '{domain}' در دسترس نیست.",
|
||||
"dyndns_domain_not_provided": "ارائه دهنده DynDNS {provider} نمی تواند دامنه {domain} را ارائه دهد.",
|
||||
|
@ -387,7 +357,6 @@
|
|||
"password_too_simple_1": "رمز عبور باید حداقل 8 کاراکتر باشد",
|
||||
"password_listed": "این رمز در بین پر استفاده ترین رمزهای عبور در جهان قرار دارد. لطفاً چیزی منحصر به فرد تر انتخاب کنید.",
|
||||
"operation_interrupted": "عملیات به صورت دستی قطع شد؟",
|
||||
"invalid_password": "رمز عبور نامعتبر",
|
||||
"invalid_number": "باید یک عدد باشد",
|
||||
"not_enough_disk_space": "فضای آزاد کافی در '{path}' وجود ندارد",
|
||||
"migrations_to_be_ran_manually": "مهاجرت {id} باید به صورت دستی اجرا شود. لطفاً به صفحه Tools → Migrations در صفحه webadmin بروید، یا `yunohost tools migrations run` را اجرا کنید.",
|
||||
|
@ -445,7 +414,6 @@
|
|||
"log_domain_remove": "دامنه '{}' را از پیکربندی سیستم حذف کنید",
|
||||
"log_domain_add": "دامنه '{}' را به پیکربندی سیستم اضافه کنید",
|
||||
"log_remove_on_failed_install": "پس از نصب ناموفق '{}' را حذف کنید",
|
||||
"log_remove_on_failed_restore": "پس از بازیابی ناموفق از بایگانی پشتیبان، '{}' را حذف کنید",
|
||||
"log_backup_restore_app": "بازیابی '{}' از بایگانی پشتیبان",
|
||||
"log_backup_restore_system": "بازیابی سیستم بوسیله آرشیو پشتیبان",
|
||||
"log_backup_create": "بایگانی پشتیبان ایجاد کنید",
|
||||
|
@ -542,7 +510,6 @@
|
|||
"server_reboot": "سرور راه اندازی مجدد می شود",
|
||||
"server_shutdown_confirm": "آیا مطمئن هستید که سرور بلافاصله خاموش می شود؟ [{answers}]",
|
||||
"server_shutdown": "سرور خاموش می شود",
|
||||
"root_password_replaced_by_admin_password": "گذرواژه ریشه شما با رمز مدیریت جایگزین شده است.",
|
||||
"root_password_desynchronized": "گذرواژه مدیریت تغییر کرد ، اما YunoHost نتوانست این را به رمز عبور ریشه منتقل کند!",
|
||||
"restore_system_part_failed": "بخش سیستم '{part}' بازیابی و ترمیم نشد",
|
||||
"restore_running_hooks": "در حال اجرای قلاب های ترمیم و بازیابی...",
|
||||
|
@ -589,5 +556,17 @@
|
|||
"permission_deletion_failed": "اجازه '{permission}' حذف نشد: {error}",
|
||||
"permission_deleted": "مجوز '{permission}' حذف شد",
|
||||
"permission_cant_add_to_all_users": "مجوز {permission} را نمی توان به همه کاربران اضافه کرد.",
|
||||
"permission_currently_allowed_for_all_users": "این مجوز در حال حاضر به همه کاربران علاوه بر آن گروه های دیگر نیز اعطا شده. احتمالاً بخواهید مجوز 'all_users' را حذف کنید یا سایر گروه هایی را که در حال حاضر مجوز به آنها اعطا شده است را هم حذف کنید."
|
||||
"permission_currently_allowed_for_all_users": "این مجوز در حال حاضر به همه کاربران علاوه بر آن گروه های دیگر نیز اعطا شده. احتمالاً بخواهید مجوز 'all_users' را حذف کنید یا سایر گروه هایی را که در حال حاضر مجوز به آنها اعطا شده است را هم حذف کنید.",
|
||||
"global_settings_setting_backup_compress_tar_archives_help": "هنگام ایجاد پشتیبان جدید ، بایگانی های فشرده (.tar.gz) را به جای بایگانی های فشرده نشده (.tar) انتخاب کنید. N.B. : فعال کردن این گزینه به معنای ایجاد آرشیوهای پشتیبان سبک تر است ، اما روش پشتیبان گیری اولیه به طور قابل توجهی طولانی تر و سنگین تر بر روی CPU خواهد بود.",
|
||||
"global_settings_setting_security_experimental_enabled_help": "فعال کردن ویژگی های امنیتی آزمایشی (اگر نمی دانید در حال انجام چه کاری هستید این کار را انجام ندهید!)",
|
||||
"global_settings_setting_nginx_compatibility_help": "سازگاری در مقابل مبادله امنیتی برای وب سرور NGINX. روی رمزها (و سایر جنبه های مرتبط با امنیت) تأثیر می گذارد",
|
||||
"global_settings_setting_admin_strength": "قدرت رمز عبور مدیر",
|
||||
"global_settings_setting_user_strength": "قدرت رمز عبور کاربر",
|
||||
"global_settings_setting_postfix_compatibility_help": "سازگاری در مقابل مبادله امنیتی برای سرور Postfix. روی رمزها (و سایر جنبه های مرتبط با امنیت) تأثیر می گذارد",
|
||||
"global_settings_setting_ssh_compatibility_help": "سازگاری در مقابل مبادله امنیتی برای سرور SSH. روی رمزها (و سایر جنبه های مرتبط با امنیت) تأثیر می گذارد",
|
||||
"global_settings_setting_ssh_port": "درگاه SSH",
|
||||
"global_settings_setting_webadmin_allowlist_help": "آدرس های IP که مجاز به دسترسی مدیر وب هستند. جدا شده با ویرگول.",
|
||||
"global_settings_setting_webadmin_allowlist_enabled_help": "فقط به برخی از IP ها اجازه دسترسی به مدیریت وب را بدهید.",
|
||||
"global_settings_setting_smtp_allow_ipv6_help": "اجازه دهید از IPv6 برای دریافت و ارسال نامه استفاده شود",
|
||||
"global_settings_setting_smtp_relay_enabled_help": "میزبان رله SMTP برای ارسال نامه به جای این نمونه yunohost استفاده می شود. اگر در یکی از این شرایط قرار دارید مفید است: پورت 25 شما توسط ارائه دهنده ISP یا VPS شما مسدود شده است، شما یک IP مسکونی دارید که در DUHL ذکر شده است، نمی توانید DNS معکوس را پیکربندی کنید یا این سرور مستقیماً در اینترنت نمایش داده نمی شود و می خواهید از یکی دیگر برای ارسال ایمیل استفاده کنید."
|
||||
}
|
256
locales/fr.json
256
locales/fr.json
|
@ -1,8 +1,6 @@
|
|||
{
|
||||
"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} est déjà installé",
|
||||
"app_argument_choice_invalid": "Choisissez une valeur valide pour l'argument '{name}' : '{value}' ne fait pas partie des choix disponibles ({choices})",
|
||||
"app_argument_invalid": "Valeur invalide pour le paramètre '{name}' : {error}",
|
||||
|
@ -14,15 +12,12 @@
|
|||
"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_requirements_checking": "Vérification des prérequis pour {app} ...",
|
||||
"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} : {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",
|
||||
|
@ -32,10 +27,10 @@
|
|||
"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_created": "Sauvegarde créée : {name}",
|
||||
"backup_creation_failed": "Impossible de créer l'archive de la sauvegarde",
|
||||
"backup_delete_error": "Impossible de supprimer '{path}'",
|
||||
"backup_deleted": "La sauvegarde a été supprimée",
|
||||
"backup_deleted": "Sauvegarde supprimée : {name}",
|
||||
"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",
|
||||
|
@ -85,8 +80,8 @@
|
|||
"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)",
|
||||
"pattern_email": "Il faut une adresse électronique valide, sans le symbole '+' (par exemple johndoe@exemple.com)",
|
||||
"pattern_firstname": "Doit être un prénom valide",
|
||||
"pattern_lastname": "Doit être un nom valide",
|
||||
"pattern_firstname": "Doit être un prénom valide (au moins 3 caractères)",
|
||||
"pattern_lastname": "Doit être un nom de famille valide (au moins 3 caractères)",
|
||||
"pattern_mailbox_quota": "Doit avoir une taille suffixée avec b/k/M/G/T ou 0 pour désactiver le quota",
|
||||
"pattern_password": "Doit être composé d'au moins 3 caractères",
|
||||
"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)",
|
||||
|
@ -151,7 +146,7 @@
|
|||
"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_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}'",
|
||||
|
@ -165,7 +160,7 @@
|
|||
"mailbox_used_space_dovecot_down": "Le service 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})",
|
||||
"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`.",
|
||||
"certmanager_acme_not_configured_for_domain": "Pour le moment le protocole de communication ACME n'a pas pu être validé pour le domaine {domain} car le code correspondant 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_identical_domains": "L'ancien et le nouveau couple domaine/chemin_de_l'URL sont identiques pour ('{domain}{path}'), rien à faire.",
|
||||
|
@ -173,14 +168,6 @@
|
|||
"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 ...",
|
||||
|
@ -202,7 +189,6 @@
|
|||
"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} 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} B, espace nécessaire : {needed_space} B, marge de sécurité : {margin} B)",
|
||||
|
@ -240,7 +226,6 @@
|
|||
"service_description_ssh": "Vous permet de vous connecter à distance à votre serveur via un terminal (protocole SSH)",
|
||||
"service_description_yunohost-api": "Permet les interactions entre l'interface web de YunoHost et le système",
|
||||
"service_description_yunohost-firewall": "Gère l'ouverture et la fermeture des ports de connexion aux services",
|
||||
"experimental_feature": "Attention : cette fonctionnalité est expérimentale et ne doit pas être considérée comme stable, vous ne devriez pas l'utiliser à moins que vous ne sachiez ce que vous faites.",
|
||||
"log_corrupted_md_file": "Le fichier YAML de métadonnées associé aux logs est corrompu : '{md_file}'\nErreur : {error}",
|
||||
"log_link_to_log": "Journal complet de cette opération : '<a href=\"#/tools/logs/{name}\" style=\"text-decoration:underline\"> {desc} </a>'",
|
||||
"log_help_to_get_log": "Pour voir le journal de cette opération '{desc}', utilisez la commande 'yunohost log show {name}'",
|
||||
|
@ -256,7 +241,6 @@
|
|||
"log_available_on_yunopaste": "Le journal est désormais disponible via {url}",
|
||||
"log_backup_restore_system": "Restaurer le système depuis une archive de sauvegarde",
|
||||
"log_backup_restore_app": "Restaurer '{}' depuis une sauvegarde",
|
||||
"log_remove_on_failed_restore": "Retirer '{}' après un échec de restauration depuis une archive de sauvegarde",
|
||||
"log_remove_on_failed_install": "Enlever '{}' après une installation échouée",
|
||||
"log_domain_add": "Ajouter le domaine '{}' dans la configuration du système",
|
||||
"log_domain_remove": "Enlever le domaine '{}' de la configuration du système",
|
||||
|
@ -274,7 +258,7 @@
|
|||
"log_tools_upgrade": "Mettre à jour les paquets du système",
|
||||
"log_tools_shutdown": "Éteindre votre serveur",
|
||||
"log_tools_reboot": "Redémarrer votre serveur",
|
||||
"mail_unavailable": "Cette adresse d'email est réservée et doit être automatiquement attribuée au tout premier utilisateur",
|
||||
"mail_unavailable": "Cette adresse email est réservée au groupe des administrateurs",
|
||||
"good_practices_about_admin_password": "Vous êtes sur le point de définir un nouveau mot de passe administrateur. 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.",
|
||||
|
@ -294,18 +278,14 @@
|
|||
"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}] ",
|
||||
"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 SSO 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'.",
|
||||
"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` et/ou `sudo dpkg --audit`.",
|
||||
"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}. 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}'.\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}",
|
||||
|
@ -314,7 +294,6 @@
|
|||
"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",
|
||||
"log_regen_conf": "Régénérer les configurations du système '{}'",
|
||||
"regenconf_file_backed_up": "Le fichier de configuration '{conf}' a été sauvegardé sous '{backup}'",
|
||||
"regenconf_file_copy_failed": "Impossible de copier le nouveau fichier de configuration '{new}' vers '{conf}'",
|
||||
|
@ -326,9 +305,6 @@
|
|||
"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.",
|
||||
"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é)",
|
||||
"regenconf_file_kept_back": "Le fichier de configuration '{conf}' devait être supprimé par 'regen-conf' (catégorie {category}) mais a été conservé.",
|
||||
"regenconf_updated": "La configuration a été mise à jour pour '{category}'",
|
||||
"regenconf_would_be_updated": "La configuration aurait dû être mise à jour pour la catégorie '{category}'",
|
||||
|
@ -395,7 +371,7 @@
|
|||
"app_install_failed": "Impossible d'installer {app} : {error}",
|
||||
"app_install_script_failed": "Une erreur est survenue dans le script d'installation de l'application",
|
||||
"permission_require_account": "Permission {permission} n'a de sens que pour les utilisateurs ayant un compte et ne peut donc pas être activé pour les visiteurs.",
|
||||
"app_remove_after_failed_install": "Supprimer l'application après l'échec de l'installation...",
|
||||
"app_remove_after_failed_install": "Suppression de l'application après l'échec de l'installation ...",
|
||||
"diagnosis_cant_run_because_of_dep": "Impossible d'exécuter le diagnostic pour {category} alors qu'il existe des problèmes importants liés à {dep}.",
|
||||
"diagnosis_found_errors": "Trouvé {errors} problème(s) significatif(s) lié(s) à {category} !",
|
||||
"diagnosis_found_errors_and_warnings": "Trouvé {errors} problème(s) significatif(s) (et {warnings} (avertissement(s)) en relation avec {category} !",
|
||||
|
@ -405,14 +381,14 @@
|
|||
"diagnosis_dns_missing_record": "Selon la configuration DNS recommandée, vous devez ajouter un enregistrement DNS<br>Type : <code>{type}</code><br>Nom : <code>{name}</code><br>Valeur : <code>{value}</code>",
|
||||
"diagnosis_diskusage_ok": "L'espace de stockage <code>{mountpoint}</code> (sur le périphérique <code>{device}</code>) a encore {free} ({free_percent}%) d'espace restant (sur {total}) !",
|
||||
"diagnosis_ram_ok": "Le système dispose encore de {available} ({available_percent}%) de RAM sur {total}.",
|
||||
"diagnosis_regenconf_allgood": "Tous les fichiers de configuration sont conformes à la configuration recommandée !",
|
||||
"diagnosis_security_vulnerable_to_meltdown": "Vous semblez vulnérable à la vulnérabilité de sécurité critique de Meltdown",
|
||||
"diagnosis_regenconf_allgood": "Tous les fichiers de configuration sont conformes aux préconisations !",
|
||||
"diagnosis_security_vulnerable_to_meltdown": "Vous semblez vulnérable à la faille de sécurité majeure qu'est Meltdown",
|
||||
"diagnosis_basesystem_host": "Le serveur utilise Debian {debian_version}",
|
||||
"diagnosis_basesystem_kernel": "Le serveur utilise le noyau Linux {kernel_version}",
|
||||
"diagnosis_basesystem_ynh_single_version": "{package} version : {version} ({repo})",
|
||||
"diagnosis_basesystem_ynh_main_version": "Le serveur utilise YunoHost {main_version} ({repo})",
|
||||
"diagnosis_basesystem_ynh_inconsistent_versions": "Vous exécutez des versions incohérentes des packages YunoHost ... très probablement en raison d'une mise à niveau échouée ou partielle.",
|
||||
"diagnosis_failed_for_category": "Échec du diagnostic pour la catégorie '{category}': {error}",
|
||||
"diagnosis_failed_for_category": "Échec du diagnostic pour la catégorie '{category}' : {error}",
|
||||
"diagnosis_cache_still_valid": "(Le cache est encore valide pour le diagnostic {category}. Il ne sera pas re-diagnostiqué pour le moment !)",
|
||||
"diagnosis_ignored_issues": "(+ {nb_ignored} problème(s) ignoré(s))",
|
||||
"diagnosis_found_warnings": "Trouvé {warnings} objet(s) pouvant être amélioré(s) pour {category}.",
|
||||
|
@ -423,7 +399,7 @@
|
|||
"diagnosis_ip_connected_ipv6": "Le serveur est connecté à Internet en IPv6 !",
|
||||
"diagnosis_ip_no_ipv6": "Le serveur ne dispose pas d'une adresse IPv6.",
|
||||
"diagnosis_ip_dnsresolution_working": "La résolution de nom de domaine fonctionne !",
|
||||
"diagnosis_ip_broken_dnsresolution": "La résolution du nom de domaine semble interrompue pour une raison quelconque ... Un pare-feu bloque-t-il les requêtes DNS ?",
|
||||
"diagnosis_ip_broken_dnsresolution": "La résolution du nom de domaine semble bloquée ou interrompue pour une raison quelconque ... Un pare-feu bloque-t-il les requêtes DNS ?",
|
||||
"diagnosis_ip_broken_resolvconf": "La résolution du nom de domaine semble être cassée sur votre serveur, ce qui semble lié au fait que <code>/etc/resolv.conf</code> ne pointe pas vers <code>127.0.0.1</code>.",
|
||||
"diagnosis_dns_good_conf": "Les enregistrements DNS sont correctement configurés pour le domaine {domain} (catégorie {category})",
|
||||
"diagnosis_dns_bad_conf": "Certains enregistrements DNS sont manquants ou incorrects pour le domaine {domain} (catégorie {category})",
|
||||
|
@ -442,7 +418,7 @@
|
|||
"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 emails à d'autres serveurs.",
|
||||
"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_security_vulnerable_to_meltdown_details": "Pour résoudre ce problème, vous devez mettre à jour votre système et le 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",
|
||||
"diagnosis_description_dnsrecords": "Enregistrements DNS",
|
||||
|
@ -456,8 +432,8 @@
|
|||
"apps_catalog_obsolete_cache": "Le cache du catalogue d'applications est vide ou obsolète.",
|
||||
"apps_catalog_update_success": "Le catalogue des applications a été mis à jour !",
|
||||
"diagnosis_description_mail": "Email",
|
||||
"diagnosis_ports_unreachable": "Le port {port} n'est pas accessible de l'extérieur.",
|
||||
"diagnosis_ports_ok": "Le port {port} est accessible de l'extérieur.",
|
||||
"diagnosis_ports_unreachable": "Le port {port} n'est pas accessible depuis l'extérieur.",
|
||||
"diagnosis_ports_ok": "Le port {port} est accessible depuis l'extérieur.",
|
||||
"diagnosis_http_could_not_diagnose": "Impossible de diagnostiquer si le domaine est accessible de l'extérieur.",
|
||||
"diagnosis_http_could_not_diagnose_details": "Erreur : {error}",
|
||||
"diagnosis_http_ok": "Le domaine {domain} est accessible en HTTP depuis l'extérieur.",
|
||||
|
@ -470,56 +446,55 @@
|
|||
"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 est 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 est terminée ! Pour finaliser votre installation, il est recommandé de :\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 'Lancer la configuration initiale' et 'Découvrez l'auto-hébergement, comment installer et utiliser YunoHost' dans le guide d'administration : 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.",
|
||||
"global_settings_setting_pop3_enabled": "Activer le protocole POP3 pour le serveur de messagerie",
|
||||
"diagnosis_http_timeout": "Expiration du délai en essayant de contacter votre serveur depuis l'extérieur. Il semble être inaccessible.<br>1. La cause la plus fréquente pour ce problème est que les ports 80 et 443 <a href='https://yunohost.org/isp_box_config'> ne sont pas correctement redirigés vers votre serveur</a>.<br>2. Vous devriez également vérifier que le service NGINX est en cours d'exécution<br>3. Pour les installations plus complexes, assurez-vous qu'aucun pare-feu ou reverse-proxy n'interfère.",
|
||||
"global_settings_setting_pop3_enabled_help": "Activer le protocole POP3 pour le serveur de messagerie",
|
||||
"log_app_action_run": "Lancer l'action de l'application '{}'",
|
||||
"diagnosis_never_ran_yet": "Il apparaît que le serveur a été installé récemment et qu'il n'y a pas encore eu de diagnostic. Vous devriez en lancer un depuis la webadmin ou en utilisant 'yunohost diagnosis run' depuis la ligne de commande.",
|
||||
"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}' 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.",
|
||||
"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é XMPP éponyme intégrée dans YunoHost.",
|
||||
"diagnosis_mail_outgoing_port_25_ok": "Le serveur de messagerie SMTP peut envoyer des emails (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).",
|
||||
"diagnosis_mail_outgoing_port_25_blocked_details": "Vous devriez d'abord essayer d'ouvrir le port 25 dans l'interface de votre routeur, box Internet ou interface d'hébergement. (Certains hébergeurs peuvent vous demander d'ouvrir un ticket sur leur support d'assistance pour cela).",
|
||||
"diagnosis_mail_ehlo_bad_answer": "Un service non SMTP a répondu sur le port 25 en IPv{ipversion}",
|
||||
"diagnosis_mail_ehlo_bad_answer_details": "Cela peut être dû à une autre machine qui répond au lieu de votre serveur.",
|
||||
"diagnosis_mail_ehlo_bad_answer_details": "Cela peut être dû à une autre machine qui répond à la place de votre serveur.",
|
||||
"diagnosis_mail_ehlo_wrong": "Un autre serveur de messagerie SMTP répond sur IPv{ipversion}. Votre serveur ne sera probablement pas en mesure de recevoir des email.",
|
||||
"diagnosis_mail_ehlo_could_not_diagnose": "Impossible de diagnostiquer si le serveur de messagerie postfix est accessible de l'extérieur en IPv{ipversion}.",
|
||||
"diagnosis_mail_ehlo_could_not_diagnose_details": "Erreur : {error}",
|
||||
"diagnosis_mail_fcrdns_dns_missing": "Aucun DNS inverse n'est défini pour IPv{ipversion}. Certains emails seront peut-être refusés ou considérés comme des spam.",
|
||||
"diagnosis_mail_fcrdns_dns_missing": "Aucun reverse-DNS n'est défini pour IPv{ipversion}. Il se peut que certains emails ne soient pas acheminés ou soient considérés comme du spam.",
|
||||
"diagnosis_mail_fcrdns_ok": "Votre DNS inverse est correctement configuré !",
|
||||
"diagnosis_mail_fcrdns_nok_details": "Vous devez d'abord essayer de configurer le DNS inverse avec <code>{ehlo_domain}</code> 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).",
|
||||
"diagnosis_mail_fcrdns_different_from_ehlo_domain": "Le DNS inverse n'est pas correctement configuré en IPv{ipversion}. Certains emails seront peut-être refusés ou considérés comme des spam.",
|
||||
"diagnosis_mail_fcrdns_nok_details": "Vous devez d'abord essayer de configurer le reverse-DNS avec <code>{ehlo_domain}</code> dans l'interface de votre routeur, box Internet ou votre interface d'hébergement. (Certains hébergeurs peuvent vous demander d'ouvrir un ticket sur leur support d'assistance pour cela).",
|
||||
"diagnosis_mail_fcrdns_different_from_ehlo_domain": "Le reverse-DNS n'est pas correctement configuré en IPv{ipversion}. Il se peut que certains emails ne soient pas acheminés ou soient considérés comme du spam.",
|
||||
"diagnosis_mail_blacklist_ok": "Les adresses IP et les domaines utilisés par ce serveur ne semblent pas être sur liste noire",
|
||||
"diagnosis_mail_blacklist_reason": "La raison de la liste noire est : {reason}",
|
||||
"diagnosis_mail_blacklist_website": "Après avoir identifié la raison pour laquelle vous êtes répertorié et l'avoir corrigé, n'hésitez pas à demander le retrait de votre IP ou domaine sur {blacklist_website}",
|
||||
"diagnosis_mail_blacklist_website": "Après avoir identifié la raison pour laquelle vous êtes répertorié sur cette liste et l'avoir corrigée, n'hésitez pas à demander le retrait de votre IP ou de votre domaine sur {blacklist_website}",
|
||||
"diagnosis_mail_queue_ok": "{nb_pending} emails en attente dans les files d'attente de messagerie",
|
||||
"diagnosis_mail_queue_unavailable_details": "Erreur : {error}",
|
||||
"diagnosis_mail_queue_too_big": "Trop d'emails en attente dans la file d'attente ({nb_pending} emails)",
|
||||
"global_settings_setting_smtp_allow_ipv6": "Autoriser l'utilisation d'IPv6 pour recevoir et envoyer du courrier",
|
||||
"diagnosis_display_tip": "Pour voir les problèmes détectés, vous pouvez accéder à la section Diagnostic du webadmin ou exécuter 'yunohost diagnosis show --issues --human-readable' à partir de la ligne de commande.",
|
||||
"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/#/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_dns_point_to_doc": "Veuillez consulter la documentation disponible ici <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 opérateurs ne vous laisseront pas débloquer le port 25 parce qu'ils ne se soucient pas de la neutralité du Net.<br> - Certains d'entre eux offrent la possibilité d'<a href='https://yunohost.org/#/email_configure_relay'>utiliser un serveur de messagerie relai</a> bien que cela implique que celui-ci sera en mesure d'espionner le trafic de votre 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 emails !",
|
||||
"diagnosis_mail_ehlo_unreachable": "Le serveur de messagerie SMTP est inaccessible de l'extérieur en IPv{ipversion}. Il ne pourra pas recevoir des emails.",
|
||||
"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_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 reverse-proxy 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/#/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'emails 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 emails avec les quelques serveurs qui ont uniquement de l'IPv6.",
|
||||
"diagnosis_mail_fcrdns_nok_alternatives_4": "Certains opérateurs ne vous laisseront pas configurer votre reverse-DNS (ou leur fonctionnalité pourrait être cassée ...). Si vous rencontrez des problèmes à cause de cela, envisagez les solutions suivantes :<br> - Certains FAI offre cette possibilité <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 d'opérateur</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'emails en exécutant <cmd>yunohost settings set email.smtp.smtp_allow_ipv6 -v off</cmd>. Remarque : cette dernière solution signifie que vous ne pourrez pas envoyer ou recevoir d'emails 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}",
|
||||
"diagnosis_mail_queue_unavailable": "Impossible de consulter le nombre d'emails en attente dans la file d'attente",
|
||||
"diagnosis_ports_partially_unreachable": "Le port {port} n'est pas accessible de l'extérieur en IPv{failed}.",
|
||||
"diagnosis_ports_partially_unreachable": "Le port {port} n'est pas accessible depuis l'extérieur en IPv{failed}.",
|
||||
"diagnosis_http_hairpinning_issue": "Votre réseau local ne semble pas supporter l'hairpinning.",
|
||||
"diagnosis_http_hairpinning_issue_details": "C'est probablement à cause de la box/routeur de votre fournisseur d'accès internet. Par conséquent, les personnes extérieures à votre réseau local pourront accéder à votre serveur comme prévu, mais pas les personnes internes au réseau local (comme vous, probablement ?) si elles utilisent le nom de domaine ou l'IP globale. Vous pourrez peut-être améliorer la situation en consultant <a href='https://yunohost.org/dns_local_network'>https://yunohost.org/dns_local_network</a>",
|
||||
"diagnosis_http_partially_unreachable": "Le domaine {domain} semble inaccessible en HTTP depuis l'extérieur du réseau local en IPv{failed}, bien qu'il fonctionne en IPv{passed}.",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date": "La configuration Nginx de ce domaine semble avoir été modifiée manuellement et empêche YunoHost de diagnostiquer si elle est accessible en HTTP.",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date_details": "Pour corriger la situation, inspectez la différence avec la ligne de commande en utilisant les outils <cmd>yunohost tools regen-conf nginx --dry-run --with-diff</cmd> et si vous êtes d'accord, appliquez les modifications avec <cmd>yunohost tools regen-conf nginx --force</cmd>.",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date_details": "Pour corriger la situation, vérifier les différences avec la ligne de commande en utilisant les outils <cmd>yunohost tools regen-conf nginx --dry-run --with-diff</cmd> et si vous êtes d'accord avec le résultat, appliquez les modifications avec <cmd>yunohost tools regen-conf nginx --force</cmd>.",
|
||||
"backup_archive_cant_retrieve_info_json": "Impossible d'avoir des informations sur l'archive '{archive}'... Le fichier info.json ne peut pas être trouvé (ou n'est pas un fichier json valide).",
|
||||
"backup_archive_corrupted": "Il semble que l'archive de la sauvegarde '{archive}' est corrompue : {error}",
|
||||
"diagnosis_ip_no_ipv6_tip": "L'utilisation de IPv6 n'est pas obligatoire pour le fonctionnement de votre serveur, mais cela contribue à la santé d'Internet dans son ensemble. IPv6 généralement configuré automatiquement par votre système ou votre FAI s'il est disponible. Autrement, vous devrez prendre quelque minutes pour le configurer manuellement à l'aide de cette documentation : <a href='https://yunohost.org/#/ipv6'>https://yunohost.org/#/ipv6</a>. Si vous ne pouvez pas activer IPv6 ou si c'est trop technique pour vous, vous pouvez aussi ignorer cet avertissement sans que cela pose problème.",
|
||||
|
@ -530,27 +505,27 @@
|
|||
"diagnosis_domain_expiration_warning": "Certains domaines vont expirer prochainement !",
|
||||
"diagnosis_domain_expiration_error": "Certains domaines vont expirer TRÈS PROCHAINEMENT !",
|
||||
"diagnosis_domain_expires_in": "{domain} expire dans {days} jours.",
|
||||
"certmanager_domain_not_diagnosed_yet": "Il n'y a pas encore de résultat de diagnostic pour le domaine {domain}. Merci de relancer un diagnostic pour les catégories 'Enregistrements DNS' et 'Web' dans la section Diagnostique pour vérifier si le domaine est prêt pour Let's Encrypt. (Ou si vous savez ce que vous faites, utilisez '--no-checks' pour désactiver la vérification.)",
|
||||
"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.",
|
||||
"certmanager_domain_not_diagnosed_yet": "Il n'y a pas encore de résultat de diagnostic pour le domaine {domain}. Merci de relancer un diagnostic pour les catégories 'Enregistrements DNS' et 'Web' dans la section Diagnostic pour vérifier si le domaine est prêt pour Let's Encrypt. (Ou si vous savez ce que vous faites, utilisez '--no-checks' pour désactiver la vérification.)",
|
||||
"diagnosis_swap_tip": "Soyez averti et conscient que si vous hébergez une partition SWAP sur une carte SD ou un disque SSD, cela risque de réduire considérablement l'espérance de vie de celui-ci.",
|
||||
"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.",
|
||||
"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.",
|
||||
"global_settings_setting_backup_compress_tar_archives": "Lors de la création de nouvelles sauvegardes, compresser automatiquement les archives (.tar.gz) au lieu des archives non compressées (.tar). N.B. : activer cette option permet de créer des archives plus légères, mais la procédure de sauvegarde initiale sera significativement plus longues et plus gourmandes en CPU.",
|
||||
"diagnosis_processes_killed_by_oom_reaper": "Certains processus ont été arrêtés récemment par le système car il manquait de mémoire. Cela apparaît généralement quand le système manque de mémoire ou qu'un processus consomme trop de mémoire. Liste des processus tués :\n{kills_summary}",
|
||||
"global_settings_setting_backup_compress_tar_archives": "Compresser les archives de backup",
|
||||
"diagnosis_processes_killed_by_oom_reaper": "Certains processus ont été récemment arrêtés par le système car il manquait de mémoire. Ceci est typiquement symptomatique d'un manque de mémoire sur le système ou d'un processus consommant trop de mémoire. Liste des processus arrêtés :\n{kills_summary}",
|
||||
"ask_user_domain": "Domaine à utiliser pour l'adresse email de l'utilisateur et le compte XMPP",
|
||||
"app_manifest_install_ask_is_public": "Cette application devrait-elle être visible par les visiteurs anonymes ?",
|
||||
"app_manifest_install_ask_admin": "Choisissez un administrateur pour cette application",
|
||||
"app_manifest_install_ask_password": "Choisissez un mot de passe administrateur pour cette application",
|
||||
"app_manifest_install_ask_path": "Choisissez le chemin d'URL (après le domaine) où cette application doit être installée",
|
||||
"app_manifest_install_ask_domain": "Choisissez le domaine sur lequel vous souhaitez installer cette application",
|
||||
"global_settings_setting_smtp_relay_user": "Compte utilisateur du relais SMTP",
|
||||
"global_settings_setting_smtp_relay_host": "Adresse du relais SMTP",
|
||||
"global_settings_setting_smtp_relay_user": "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 le DNS inversé ; ou le serveur n'est pas directement accessible depuis Internet et 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é",
|
||||
"app_argument_password_no_default": "Erreur lors de l'analyse syntaxique du mot de passe '{name}' : le mot de passe ne peut pas avoir de valeur par défaut pour des raisons de sécurité",
|
||||
"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",
|
||||
"global_settings_setting_smtp_relay_password": "Mot de passe du relais 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}' 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.",
|
||||
|
@ -564,7 +539,7 @@
|
|||
"additional_urls_already_removed": "URL supplémentaire '{url}' déjà supprimées pour la permission '{permission}'",
|
||||
"invalid_number": "Doit être un nombre",
|
||||
"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.",
|
||||
"diagnosis_backports_in_sources_list": "Il semble que le gestionnaire de paquet APT soit configuré pour utiliser le dépôt des rétro-portages (backports). A moins que vous ne sachiez vraiment ce que vous faites, nous vous déconseillons fortement d'installer des paquets provenant du dépôt 'backports', car cela risque de créer des instabilités ou des conflits sur votre système.",
|
||||
"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.",
|
||||
|
@ -572,29 +547,24 @@
|
|||
"app_restore_script_failed": "Une erreur s'est produite dans le script de restauration de l'application",
|
||||
"restore_backup_too_old": "Cette sauvegarde ne peut pas être restaurée car elle provient d'une version de YunoHost trop ancienne.",
|
||||
"log_backup_create": "Créer une archive de sauvegarde",
|
||||
"global_settings_setting_ssowat_panel_overlay_enabled": "Activer la superposition de la vignette SSOwat",
|
||||
"global_settings_setting_ssowat_panel_overlay_enabled": "Activer la vignette 'YunoHost' (raccourci vers le portail) sur les apps",
|
||||
"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 }",
|
||||
"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.",
|
||||
"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_inconsistent_details": "Veuillez exécuter <cmd>yunohost settings set security.ssh.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 ait été modifié manuellement dans /etc/ssh/sshd_config. Depuis YunoHost 4.2, un nouveau paramètre global 'security.ssh.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.",
|
||||
"global_settings_setting_security_webadmin_allowlist": "Adresses IP autorisées à accéder à la webadmin. Elles doivent être séparées par une virgule.",
|
||||
"global_settings_setting_security_webadmin_allowlist_enabled": "Autoriser seulement certaines IP à accéder à la webadmin.",
|
||||
"diagnosis_dns_specialusedomain": "Le domaine {domain} est basé sur un domaine de premier niveau (TLD) à usage spécial comme .local ou .test et ne devrait donc pas avoir d'enregistrements DNS réels.",
|
||||
"invalid_password": "Mot de passe incorrect",
|
||||
"ldap_server_is_down_restart_it": "Le service LDAP est en panne, essayez de le redémarrer...",
|
||||
"ldap_server_down": "Impossible d'atteindre le serveur LDAP",
|
||||
"global_settings_setting_security_experimental_enabled": "Activer les fonctionnalités de sécurité expérimentales (ne l'activez pas si vous ne savez pas ce que vous faites !)",
|
||||
"diagnosis_apps_deprecated_practices": "La version installée de cette application utilise toujours certaines pratiques de packaging obsolètes. Vous devriez vraiment envisager de mettre l'application à jour.",
|
||||
"diagnosis_apps_outdated_ynh_requirement": "La version installée de cette application nécessite uniquement YunoHost >= 2.x, cela indique que l'application n'est pas à jour avec les bonnes pratiques de packaging et les helpers recommandées. Vous devriez vraiment envisager de mettre l'application à jour.",
|
||||
"diagnosis_apps_deprecated_practices": "La version installée de cette application utilise encore de très anciennes pratiques de packaging obsolètes et dépassées. Vous devriez vraiment envisager de mettre à jour cette application.",
|
||||
"diagnosis_apps_outdated_ynh_requirement": "La version installée de cette application nécessite uniquement YunoHost >= 2.x ou 3.x, ce qui tend à indiquer qu'elle n'est pas à jour avec les pratiques recommandées de packaging et des helpers . Vous devriez vraiment envisager de la mettre à jour.",
|
||||
"diagnosis_apps_bad_quality": "Cette application est actuellement signalée comme cassée dans le catalogue d'applications de YunoHost. Cela peut être un problème temporaire. En attendant que les mainteneurs tentent de résoudre le problème, la mise à jour de cette application est désactivée.",
|
||||
"diagnosis_apps_broken": "Cette application est actuellement signalée comme cassée dans le catalogue d'applications de YunoHost. Cela peut être un problème temporaire. En attendant que les mainteneurs tentent de résoudre le problème, la mise à jour de cette application est désactivée.",
|
||||
"diagnosis_apps_not_in_app_catalog": "Cette application est absente ou ne figure plus dans le catalogue d'applications de YunoHost. Vous devriez envisager de la désinstaller car elle ne recevra pas de mise à jour et pourrait compromettre l'intégrité et la sécurité de votre système.",
|
||||
"diagnosis_apps_not_in_app_catalog": "Cette application ne figure pas dans le catalogue de YunoHost. Si elle l'était dans le passé et a été supprimée, vous devriez envisager de désinstaller cette application car elle ne recevra pas de mises à jour et peut compromettre l'intégrité et la sécurité de votre système.",
|
||||
"diagnosis_apps_issue": "Un problème a été détecté pour l'application {app}",
|
||||
"diagnosis_apps_allgood": "Toutes les applications installées respectent les pratiques de packaging de base",
|
||||
"diagnosis_description_apps": "Applications",
|
||||
|
@ -607,7 +577,6 @@
|
|||
"user_import_bad_line": "Ligne incorrecte {line} : {details}",
|
||||
"log_user_import": "Importer des utilisateurs",
|
||||
"diagnosis_high_number_auth_failures": "Il y a eu récemment un grand nombre d'échecs d'authentification. Assurez-vous que Fail2Ban est en cours d'exécution et est correctement configuré, ou utilisez un port personnalisé pour SSH comme expliqué dans https://yunohost.org/security.",
|
||||
"global_settings_setting_security_nginx_redirect_to_https": "Rediriger les requêtes HTTP vers HTTPS par défaut (NE PAS DÉSACTIVER à moins de savoir vraiment ce que vous faites !)",
|
||||
"config_validate_color": "Doit être une couleur hexadécimale RVB valide",
|
||||
"app_config_unable_to_apply": "Échec de l'application des valeurs du panneau de configuration.",
|
||||
"app_config_unable_to_read": "Échec de la lecture des valeurs du panneau de configuration.",
|
||||
|
@ -620,7 +589,6 @@
|
|||
"config_validate_email": "Doit être un email valide",
|
||||
"config_validate_time": "Doit être une heure valide comme HH:MM",
|
||||
"config_validate_url": "Doit être une URL Web valide",
|
||||
"config_version_not_supported": "Les versions du panneau de configuration '{version}' ne sont pas prises en charge.",
|
||||
"danger": "Danger :",
|
||||
"invalid_number_min": "Doit être supérieur à {min}",
|
||||
"invalid_number_max": "Doit être inférieur à {max}",
|
||||
|
@ -630,7 +598,6 @@
|
|||
"domain_dns_push_not_applicable": "La fonction de configuration DNS automatique n'est pas applicable au domaine {domain}. Vous devez configurer manuellement vos enregistrements DNS en suivant la documentation sur https://yunohost.org/dns_config.",
|
||||
"domain_dns_registrar_yunohost": "Ce domaine est de type nohost.me / nohost.st / ynh.fr et sa configuration DNS est donc automatiquement gérée par YunoHost sans qu'il n'y ait d'autre configuration à faire. (voir la commande 'yunohost dyndns update')",
|
||||
"domain_dns_registrar_supported": "YunoHost a détecté automatiquement que ce domaine est géré par le registrar **{registrar}**. Si vous le souhaitez, YunoHost configurera automatiquement cette zone DNS, si vous lui fournissez les identifiants API appropriés. Vous pouvez trouver de la documentation sur la façon d'obtenir vos identifiants API sur cette page : https://yunohost.org/registar_api_{registrar}. (Vous pouvez également configurer manuellement vos enregistrements DNS en suivant la documentation sur https://yunohost.org/dns )",
|
||||
"domain_config_features_disclaimer": "Jusqu'à présent, l'activation/désactivation des fonctionnalités de messagerie ou XMPP n'a d'impact que sur la configuration DNS recommandée et automatique, et non sur les configurations système !",
|
||||
"domain_dns_push_managed_in_parent_domain": "La fonctionnalité de configuration DNS automatique est gérée dans le domaine parent {parent_domain}.",
|
||||
"domain_dns_registrar_managed_in_parent_domain": "Ce domaine est un sous-domaine de {parent_domain_link}. La configuration du registrar DNS doit être gérée dans le panneau de configuration de {parent_domain}.",
|
||||
"domain_dns_registrar_not_supported": "YunoHost n'a pas pu détecter automatiquement le bureau d'enregistrement gérant ce domaine. Vous devez configurer manuellement vos enregistrements DNS en suivant la documentation sur https://yunohost.org/dns.",
|
||||
|
@ -659,7 +626,7 @@
|
|||
"diagnosis_http_special_use_tld": "Le domaine {domain} est basé sur un domaine de premier niveau (TLD) à usage spécial tel que .local ou .test et n'est donc pas censé être exposé en dehors du réseau local.",
|
||||
"domain_dns_conf_special_use_tld": "Ce domaine est basé sur un domaine de premier niveau (TLD) à usage spécial tel que .local ou .test et ne devrait donc pas avoir d'enregistrements DNS réels.",
|
||||
"other_available_options": "... et {n} autres options disponibles non affichées",
|
||||
"domain_config_auth_consumer_key": "Consumer key",
|
||||
"domain_config_auth_consumer_key": "Clé utilisateur",
|
||||
"domain_unknown": "Domaine '{domain}' inconnu",
|
||||
"migration_0021_start": "Démarrage de la migration vers Bullseye",
|
||||
"migration_0021_patching_sources_list": "Mise à jour du fichier sources.lists...",
|
||||
|
@ -673,9 +640,8 @@
|
|||
"migration_0021_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_0021_cleaning_up": "Nettoyage du cache et des paquets qui ne sont plus nécessaires...",
|
||||
"migration_0021_patch_yunohost_conflicts": "Application du correctif pour contourner le problème de conflit...",
|
||||
"migration_0021_not_buster": "La distribution Debian actuelle n'est pas Buster !",
|
||||
"migration_0021_not_buster2": "La distribution Debian actuelle n'est pas Buster ! Si vous avez déjà effectué la migration Buster->Bullseye, alors cette erreur est symptomatique du fait que la migration n'a pas été terminée correctement à 100% (sinon YunoHost aurait marqué la migration comme terminée). Il est recommandé d'étudier ce qu'il s'est passé avec l'équipe de support, qui aura besoin du log **complet** de la migration, qui peut être retrouvé dans Outils > Journaux dans la webadmin.",
|
||||
"migration_description_0021_migrate_to_bullseye": "Mise à niveau du système vers Debian Bullseye et YunoHost 11.x",
|
||||
"global_settings_setting_security_ssh_password_authentication": "Autoriser l'authentification par mot de passe pour SSH",
|
||||
"domain_config_default_app": "Application par défaut",
|
||||
"migration_description_0022_php73_to_php74_pools": "Migration des fichiers de configuration php7.3-fpm 'pool' vers php7.4",
|
||||
"migration_description_0023_postgresql_11_to_13": "Migration des bases de données de PostgreSQL 11 vers 13",
|
||||
|
@ -684,5 +650,121 @@
|
|||
"migration_0023_postgresql_13_not_installed": "PostgreSQL 11 est installé, mais pas PostgreSQL 13 ! ? Quelque chose d'anormal s'est peut-être produit sur votre système :(...",
|
||||
"tools_upgrade_failed": "Impossible de mettre à jour les paquets : {packages_list}",
|
||||
"migration_0023_not_enough_space": "Prévoyez suffisamment d'espace disponible dans {path} pour exécuter la migration.",
|
||||
"migration_0023_postgresql_11_not_installed": "PostgreSQL n'a pas été installé sur votre système. Il n'y a rien à faire."
|
||||
"migration_0023_postgresql_11_not_installed": "PostgreSQL n'a pas été installé sur votre système. Il n'y a rien à faire.",
|
||||
"global_settings_setting_backup_compress_tar_archives_help": "Lors de la création de nouvelles sauvegardes, compresser automatiquement les archives (.tar.gz) au lieu des archives non compressées (.tar).\nN.B. : activer cette option permet de créer des archives plus légères, mais la procédure de sauvegarde initiale sera significativement plus longues et plus gourmandes en CPU.",
|
||||
"global_settings_setting_security_experimental_enabled": "Fonctionnalités de sécurité expérimentales",
|
||||
"global_settings_setting_security_experimental_enabled_help": "Activer les fonctionnalités de sécurité expérimentales (ne l'activez pas si vous ne savez pas ce que vous faites !)",
|
||||
"global_settings_setting_nginx_compatibility_help": "Compromis 'compatibilité versus sécurité' pour le serveur web NGINX. Affecte les cryptogrammes utilisés (et d'autres aspects liés à la sécurité)",
|
||||
"global_settings_setting_nginx_redirect_to_https_help": "Rediriger les requêtes HTTP vers HTTPS par défaut (NE PAS DÉSACTIVER à moins de savoir vraiment ce que vous faites !)",
|
||||
"global_settings_setting_admin_strength": "Critères pour les mots de passe administrateur",
|
||||
"global_settings_setting_user_strength": "Critères pour les mots de passe utilisateurs",
|
||||
"global_settings_setting_postfix_compatibility_help": "Compromis 'compatibilité versus sécurité' pour le serveur Postfix. Affecte les cryptogrammes utilisés (et d'autres aspects liés à la sécurité)",
|
||||
"global_settings_setting_ssh_compatibility_help": "Compromis 'compatibilité versus sécurité' pour le serveur SSH. Affecte les cryptogrammes utilisés (et d'autres aspects liés à la sécurité).",
|
||||
"global_settings_setting_ssh_password_authentication_help": "Autoriser l'authentification par mot de passe pour SSH",
|
||||
"global_settings_setting_ssh_port": "Port SSH",
|
||||
"global_settings_setting_webadmin_allowlist_help": "Adresses IP autorisées à accéder à la webadmin. Elles doivent être séparées par une virgule.",
|
||||
"global_settings_setting_webadmin_allowlist_enabled_help": "Autoriser seulement certaines IP à accéder à la webadmin.",
|
||||
"global_settings_setting_smtp_allow_ipv6_help": "Autoriser l'utilisation d'IPv6 pour recevoir et envoyer du courrier",
|
||||
"global_settings_setting_smtp_relay_enabled_help": "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 le DNS inversé ; ou le serveur n'est pas directement accessible depuis Internet et vous voulez en utiliser un autre pour envoyer des mails.",
|
||||
"migration_0024_rebuild_python_venv_disclaimer_rebuild": "La reconstruction du virtualenv sera tentée pour les applications suivantes (NB : l'opération peut prendre un certain temps !) : {rebuild_apps}",
|
||||
"migration_0024_rebuild_python_venv_in_progress": "Tentative de reconstruction du virtualenv Python pour `{app}`",
|
||||
"migration_0024_rebuild_python_venv_failed": "Échec de la reconstruction de l'environnement virtuel Python pour {app}. L'application peut ne pas fonctionner tant que ce problème n'est pas résolu. Vous devriez corriger la situation en forçant la mise à jour de cette application en utilisant `yunohost app upgrade --force {app}`.",
|
||||
"migration_description_0024_rebuild_python_venv": "Réparer l'application Python après la migration Bullseye",
|
||||
"migration_0024_rebuild_python_venv_broken_app": "Ignorer {app} car virtualenv ne peut pas être facilement reconstruit pour cette application. Au lieu de cela, vous devriez corriger la situation en forçant la mise à jour de cette application en utilisant `yunohost app upgrade --force {app}`.",
|
||||
"migration_0024_rebuild_python_venv_disclaimer_base": "Suite à la mise à niveau vers Debian Bullseye, certaines applications Python doivent être partiellement reconstruites pour être converties vers la nouvelle version Python livrée dans Debian (en termes techniques : ce qu'on appelle le \"virtualenv\" doit être recréé). En attendant, ces applications Python peuvent ne pas fonctionner. YunoHost peut tenter de reconstruire le virtualenv pour certains d'entre eux, comme détaillé ci-dessous. Pour les autres applications, ou si la tentative de reconstruction échoue, vous devrez forcer manuellement une mise à niveau pour ces applications.",
|
||||
"migration_0024_rebuild_python_venv_disclaimer_ignored": "Les virtualenvs ne peuvent pas être reconstruits automatiquement pour ces applications. Vous devez forcer une mise à jour pour ceux-ci, ce qui peut être fait à partir de la ligne de commande : `yunohost app upgrade --force APP` : {ignored_apps}",
|
||||
"admins": "Administrateurs",
|
||||
"all_users": "Tous les utilisateurs de YunoHost",
|
||||
"app_action_failed": "Échec de la commande {action} de l'application {app}",
|
||||
"app_manifest_install_ask_init_admin_permission": "Qui doit avoir accès aux fonctions d'administration de cette application ? (Ceci peut être modifié ultérieurement)",
|
||||
"app_manifest_install_ask_init_main_permission": "Qui doit avoir accès à cette application ? (Ceci peut être modifié ultérieurement)",
|
||||
"ask_admin_fullname": "Nom complet de l'administrateur",
|
||||
"ask_admin_username": "Nom d'utilisateur de l'administrateur",
|
||||
"ask_fullname": "Nom complet (Nom et Prénom)",
|
||||
"certmanager_cert_install_failed": "L'installation du certificat Let's Encrypt a échoué pour {domains}",
|
||||
"certmanager_cert_install_failed_selfsigned": "L'installation du certificat auto-signé a échoué pour {domains}",
|
||||
"certmanager_cert_renew_failed": "Le renouvellement du certificat Let's Encrypt a échoué pour {domains}",
|
||||
"diagnosis_using_stable_codename": "<cmd>apt</cmd> (le gestionnaire de paquets du système) est actuellement configuré pour installer les paquets du nom de code 'stable', et cela au lieu du nom de code de la version actuelle de Debian (bullseye).",
|
||||
"diagnosis_using_stable_codename_details": "C'est généralement dû à une configuration incorrecte de votre fournisseur d'hébergement. C'est dangereux, car dès que la prochaine version de Debian deviendra la nouvelle 'stable', <cmd>apt</cmd> voudra mettre à jour tous les paquets système sans passer par une procédure de migration appropriée propre à YunoHost. Il est recommandé de corriger cela en éditant le source apt pour le dépôt Debian de base, et de remplacer le mot clé <cmd>stable</cmd> par <cmd>bullseye</cmd>. Le fichier de configuration correspondant doit être <cmd>/etc/apt/sources.list</cmd>, ou un fichier dans <cmd>/etc/apt/sources.list.d/</cmd>.",
|
||||
"diagnosis_using_yunohost_testing_details": "C'est probablement normal si vous savez ce que vous faites, toutefois faites attention aux notes de version avant d'installer les mises à niveau de YunoHost ! Si vous voulez désactiver les mises à jour 'testing', vous devez supprimer le mot-clé <cmd>testing</cmd> de <cmd>/etc/apt/sources.list.d/yunohost.list</cmd>.",
|
||||
"global_settings_setting_nginx_redirect_to_https": "Forcer HTTPS",
|
||||
"global_settings_setting_postfix_compatibility": "Compatibilité Postfix",
|
||||
"global_settings_setting_root_access_explain": "Sur les systèmes Linux, 'root' est l'administrateur absolu du système : il a tous les droits. Dans le contexte de YunoHost, la connexion SSH directe de 'root' est désactivée par défaut - sauf depuis le réseau local du serveur. Les membres du groupe 'admins' peuvent utiliser la commande sudo pour agir en tant que root à partir de la ligne de commande. Cependant, il peut être utile de disposer d'un mot de passe root (robuste) pour déboguer le système si, pour une raison quelconque, les administrateurs réguliers ne peuvent plus se connecter.",
|
||||
"global_settings_setting_root_password_confirm": "Nouveau mot de passe root (confirmer)",
|
||||
"global_settings_setting_smtp_relay_enabled": "Activer le relais SMTP",
|
||||
"global_settings_setting_ssh_compatibility": "Compatibilité SSH",
|
||||
"global_settings_setting_user_strength_help": "Ces paramètres ne seront appliqués que lors de l'initialisation ou de la modification du mot de passe",
|
||||
"migration_description_0025_global_settings_to_configpanel": "Migrer l'ancienne terminologie des paramètres globaux vers la nouvelle terminologie modernisée",
|
||||
"migration_description_0026_new_admins_group": "Migrer vers le nouveau système de gestion 'multi-administrateurs' (plusieurs utilisateurs pourront être présents dans le groupe 'Admins' avec des tous les droits d'administration sur toute l'instance YunoHost)",
|
||||
"password_confirmation_not_the_same": "Le mot de passe et la confirmation de ce dernier ne correspondent pas",
|
||||
"pattern_fullname": "Doit être un nom complet valide (au moins 3 caractères)",
|
||||
"config_action_disabled": "Impossible d'exécuter l'action '{action}' car elle est désactivée, assurez-vous de respecter ses paramètres et contraintes. Aide : {help}",
|
||||
"config_action_failed": "Échec de l'exécution de l'action '{action}' : {error}",
|
||||
"config_forbidden_readonly_type": "Le type '{type}' ne peut pas être défini comme étant en lecture seule, utilisez un autre type pour obtenir cette valeur (identifiant de l'argument : '{id}').",
|
||||
"global_settings_setting_pop3_enabled": "Activer POP3",
|
||||
"registrar_infos": "Infos du Registrar (fournisseur du nom de domaine)",
|
||||
"root_password_changed": "Le mot de passe de root a été changé",
|
||||
"visitors": "Visiteurs",
|
||||
"global_settings_reset_success": "Réinitialisation des paramètres généraux",
|
||||
"domain_config_acme_eligible": "Éligibilité au protocole ACME (Automatic Certificate Management Environment, littéralement : environnement de gestion automatique de certificat)",
|
||||
"domain_config_acme_eligible_explain": "Ce domaine ne semble pas prêt pour installer un certificat Let's Encrypt. Veuillez vérifier votre configuration DNS mais aussi que votre serveur est bien joignable en HTTP. Les sections 'Enregistrements DNS' et 'Web' de <a href='#/diagnosis'>la page Diagnostic</a> peuvent vous aider à comprendre ce qui est mal configuré.",
|
||||
"domain_config_cert_install": "Installer un certificat Let's Encrypt",
|
||||
"domain_config_cert_issuer": "Autorité de certification",
|
||||
"domain_config_cert_no_checks": "Ignorer les tests et autres vérifications du diagnostic",
|
||||
"domain_config_cert_renew": "Renouvellement du certificat Let's Encrypt",
|
||||
"domain_config_cert_renew_help": "Le certificat sera automatiquement renouvelé dans les 15 derniers jours précédant sa fin de validité. Vous pouvez le renouveler manuellement si vous le souhaitez (non recommandé).",
|
||||
"domain_config_cert_summary": "État du certificat",
|
||||
"domain_config_cert_summary_abouttoexpire": "Le certificat actuel est sur le point d'expirer. Il devrait bientôt être renouvelé automatiquement.",
|
||||
"domain_config_cert_summary_expired": "ATTENTION : Le certificat actuel n'est pas valide ! HTTPS ne fonctionnera pas du tout !",
|
||||
"domain_config_cert_summary_letsencrypt": "Bravo ! Vous utilisez un certificat Let's Encrypt valide !",
|
||||
"domain_config_cert_summary_ok": "Bien, le certificat actuel semble bon !",
|
||||
"domain_config_cert_summary_selfsigned": "AVERTISSEMENT : Le certificat actuel est auto-signé. Les navigateurs afficheront un avertissement effrayant aux nouveaux visiteurs !",
|
||||
"domain_config_cert_validity": "Validité",
|
||||
"global_settings_setting_admin_strength_help": "Ces paramètres ne seront appliqués que lors de l'initialisation ou de la modification du mot de passe",
|
||||
"global_settings_setting_nginx_compatibility": "Compatibilité NGINX",
|
||||
"global_settings_setting_root_password": "Nouveau mot de passe root",
|
||||
"global_settings_setting_ssh_password_authentication": "Authentification par mot de passe",
|
||||
"global_settings_setting_webadmin_allowlist": "Liste des IP autorisées pour l'administration Web",
|
||||
"global_settings_setting_webadmin_allowlist_enabled": "Activer la liste des IP autorisées pour l'administration Web",
|
||||
"invalid_credentials": "Mot de passe ou nom d'utilisateur incorrect",
|
||||
"log_resource_snippet": "Allocation/retrait/mise à jour d'une ressource",
|
||||
"log_settings_reset": "Réinitialisation des paramètres",
|
||||
"log_settings_reset_all": "Réinitialisation de tous les paramètres",
|
||||
"log_settings_set": "Application des paramètres",
|
||||
"diagnosis_using_yunohost_testing": "<cmd>apt</cmd> (le gestionnaire de paquets du système) est actuellement configuré pour installer toutes les mises à niveau dites 'testing' de votre instance YunoHost.",
|
||||
"global_settings_setting_smtp_allow_ipv6": "Autoriser l'IPv6",
|
||||
"password_too_long": "Veuillez choisir un mot de passe de moins de 127 caractères",
|
||||
"domain_cannot_add_muc_upload": "Vous ne pouvez pas ajouter de domaines commençant par 'muc.'. Ce type de nom est réservé à la fonction de chat XMPP multi-utilisateurs intégrée à YunoHost.",
|
||||
"group_update_aliases": "Mise à jour des alias du groupe '{group}'",
|
||||
"group_no_change": "Rien à mettre à jour pour le groupe '{group}'",
|
||||
"global_settings_setting_portal_theme": "Thème du portail",
|
||||
"global_settings_setting_portal_theme_help": "Pour plus d'informations sur la création de thèmes de portail personnalisés, voir https://yunohost.org/theming",
|
||||
"global_settings_setting_passwordless_sudo": "Permettre aux administrateurs d'utiliser 'sudo' sans retaper leur mot de passe",
|
||||
"app_arch_not_supported": "Cette application ne peut être installée que sur les architectures {required}. L'architecture de votre serveur est {current}",
|
||||
"app_resource_failed": "L'allocation automatique des ressources (provisioning), la suppression d'accès à ces ressources (déprovisioning) ou la mise à jour des ressources pour {app} a échoué : {error}",
|
||||
"confirm_app_insufficient_ram": "ATTENTION ! Cette application requiert {required} de RAM pour l'installation/mise à niveau mais il n'y a que {current} de disponible actuellement. Même si cette application pouvait fonctionner, son processus d'installation/mise à niveau nécessite une grande quantité de RAM. Votre serveur pourrait donc geler et planter lamentablement. Si vous êtes prêt à prendre ce risque, tapez '{answers}'",
|
||||
"app_not_enough_disk": "Cette application nécessite {required} d'espace libre.",
|
||||
"app_not_enough_ram": "Cette application nécessite {required} de mémoire vive (RAM) pour être installée/mise à niveau mais seule {current} de mémoire est disponible actuellement.",
|
||||
"app_yunohost_version_not_supported": "Cette application nécessite une version de YunoHost >= {required}. La version installée est {current}",
|
||||
"confirm_notifications_read": "AVERTISSEMENT : Vous devriez vérifier les notifications de l'application susmentionnée avant de continuer, il pourrait y avoir des informations importantes à connaître. [{answers}]",
|
||||
"invalid_shell": "Shell invalide : {shell}",
|
||||
"global_settings_setting_dns_exposure": "Suites d'IP à prendre en compte pour la configuration et le diagnostic du DNS",
|
||||
"global_settings_setting_dns_exposure_help": "NB : Ceci n'affecte que la configuration DNS recommandée et les vérifications de diagnostic. Cela n'affecte pas les configurations du système.",
|
||||
"diagnosis_ip_no_ipv6_tip_important": "IPv6 devrait généralement être configuré automatiquement par le système ou par votre fournisseur d'accès à internet (FAI) s'il est disponible. Sinon, vous devrez peut-être configurer quelques éléments manuellement, comme expliqué dans la documentation ici : <a href='https://yunohost.org/#/ipv6'>https://yunohost.org/#/ipv6</a>.",
|
||||
"domain_config_default_app_help": "Les personnes seront automatiquement redirigées vers cette application lorsqu'elles ouvriront ce domaine. Si aucune application n'est spécifiée, les personnes sont redirigées vers le formulaire de connexion du portail utilisateur.",
|
||||
"domain_config_xmpp_help": "NB : certaines fonctions XMPP nécessiteront la mise à jour de vos enregistrements DNS et la régénération de votre certificat Lets Encrypt pour être activées",
|
||||
"app_change_url_failed": "Impossible de modifier l'url de {app} : {error}",
|
||||
"app_change_url_require_full_domain": "{app} ne peut pas être déplacée vers cette nouvelle URL car elle nécessite un domaine complet (c'est-à-dire avec un chemin = /)",
|
||||
"app_change_url_script_failed": "Une erreur s'est produite dans le script de modification de l'url",
|
||||
"app_failed_to_upgrade_but_continue": "La mise à jour de l'application {failed_app} a échoué, mais YunoHost va continuer avec les mises à jour suivantes comme demandé. Lancez 'yunohost log show {operation_logger_name}' pour voir le journal des échecs",
|
||||
"app_not_upgraded_broken_system_continue": "L'application '{failed_app}' n'a pas réussi à se mettre à jour et a mis le système dans un état alternatif car quelque chose est au moins momentanément \"cassé\" (le paramètre --continue-on-failure est donc ignoré). La conséquence est que les mises à jour des applications suivantes ont été annulées : {apps}",
|
||||
"app_not_upgraded_broken_system": "L'application '{failed_app}' n'a pas réussi à se mettre à jour et a mis le système dans un état de panne. Par conséquent, les mises à niveau des applications suivantes ont été annulées : {apps}",
|
||||
"apps_failed_to_upgrade": "Ces applications n'ont pas pu être mises à jour : {apps}",
|
||||
"apps_failed_to_upgrade_line": "\n * {app_id} (pour voir le journal correspondant, faites un 'yunohost log show {operation_logger_name}')",
|
||||
"app_failed_to_download_asset": "Échec du téléchargement de la ressource '{source_id}' ({url}) pour {app} : {out}",
|
||||
"app_corrupt_source": "YunoHost a pu télécharger la ressource '{source_id}' ({url}) pour {app}, malheureusement celle-ci ne correspond pas à la somme de contrôle attendue. Cela peut signifier qu'une défaillance temporaire du réseau s'est produite sur votre serveur, OU que la ressource a été modifiée par le mainteneur de l'application en amont (ou un acteur malveillant ?) et que les responsables du paquet de cette application pour YunoHost doivent investiguer et mettre à jour le manifeste de l'application pour refléter ce changement.\n Somme de contrôle sha256 attendue : {expected_sha256}\n Somme de contrôle sha256 téléchargée : {computed_sha256}\n Taille du fichier téléchargé : {size}",
|
||||
"group_mailalias_add": "L'alias de courrier électronique '{mail}' sera ajouté au groupe '{group}'",
|
||||
"group_user_add": "L'utilisateur '{user}' sera ajouté au groupe '{group}'",
|
||||
"group_user_remove": "L'utilisateur '{user}' sera retiré du groupe '{group}'",
|
||||
"group_mailalias_remove": "L'alias de courrier électronique '{mail}' sera supprimé du groupe '{group}'"
|
||||
}
|
||||
|
|
202
locales/gl.json
202
locales/gl.json
|
@ -7,9 +7,6 @@
|
|||
"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.",
|
||||
"admin_password_too_long": "Elixe un contrasinal menor de 127 caracteres",
|
||||
"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}' 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}'",
|
||||
|
@ -21,7 +18,7 @@
|
|||
"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_cant_retrieve_info_json": "Non se puido cargar a info do arquivo '{archive}'... Non se obtivo o ficheiro info.json (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}'",
|
||||
"backup_archive_name_exists": "Xa existe un arquivo de copia con este nome.",
|
||||
|
@ -38,8 +35,6 @@
|
|||
"ask_new_domain": "Novo dominio",
|
||||
"ask_new_admin_password": "Novo contrasinal de administración",
|
||||
"ask_main_domain": "Dominio principal",
|
||||
"ask_lastname": "Apelido",
|
||||
"ask_firstname": "Nome",
|
||||
"ask_user_domain": "Dominio a utilizar como enderezo de email e conta XMPP da usuaria",
|
||||
"apps_catalog_update_success": "O catálogo de aplicacións foi actualizado!",
|
||||
"apps_catalog_obsolete_cache": "A caché do catálogo de apps está baleiro ou obsoleto.",
|
||||
|
@ -64,8 +59,7 @@
|
|||
"app_restore_script_failed": "Houbo un erro interno do script de restablecemento da app",
|
||||
"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_requirements_checking": "Comprobando os requisitos de {app}...",
|
||||
"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}",
|
||||
|
@ -88,7 +82,7 @@
|
|||
"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_deleted": "Copia eliminada: {name}",
|
||||
"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'",
|
||||
|
@ -96,7 +90,7 @@
|
|||
"backup_csv_addition_failed": "Non se engadiron os ficheiros a copiar ao ficheiro CSV",
|
||||
"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_created": "Copia creada: {name}",
|
||||
"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",
|
||||
|
@ -167,7 +161,7 @@
|
|||
"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_broken_dnsresolution": "A resolución de nomes de dominio semella que non funciona... Está 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>",
|
||||
|
@ -214,7 +208,7 @@
|
|||
"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_dns_missing": "Non hai DNS inverso definido en IPv{ipversion}. Algúns emails poderían non ser entregados 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}.",
|
||||
|
@ -232,7 +226,7 @@
|
|||
"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_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 email.smtp.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}",
|
||||
|
@ -260,8 +254,8 @@
|
|||
"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_inconsistent_details": "Executa <cmd>yunohost settings set security.ssh.ssh_port -v YOUR_SSH_PORT</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.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.",
|
||||
|
@ -274,7 +268,6 @@
|
|||
"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}.",
|
||||
|
@ -288,7 +281,7 @@
|
|||
"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}.",
|
||||
"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`.",
|
||||
"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` e/ou `sudo dpkg --audit`.",
|
||||
"downloading": "Descargando...",
|
||||
"done": "Feito",
|
||||
"domains_available": "Dominios dispoñibles:",
|
||||
|
@ -308,24 +301,7 @@
|
|||
"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}",
|
||||
"global_settings_setting_ssowat_panel_overlay_enabled": "Activar o pequeno atallo cadrado ao portal 'YunoHost' nas apps",
|
||||
"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}",
|
||||
|
@ -335,12 +311,9 @@
|
|||
"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_password": "Contrasinal do repetidor SMTP",
|
||||
"global_settings_setting_smtp_relay_user": "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}",
|
||||
|
@ -349,8 +322,6 @@
|
|||
"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}'",
|
||||
|
@ -376,7 +347,6 @@
|
|||
"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",
|
||||
|
@ -397,7 +367,7 @@
|
|||
"migration_ldap_backup_before_migration": "Crear copia de apoio da base de datos LDAP e axustes de apps antes de realizar a migración.",
|
||||
"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",
|
||||
"mail_unavailable": "Este enderezo de email está reservado para o grupo de admins",
|
||||
"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}'",
|
||||
|
@ -437,8 +407,8 @@
|
|||
"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_lastname": "Ten que ser un apelido válido (min. 3 caract.)",
|
||||
"pattern_firstname": "Ten que ser un nome válido (min. 3 caract.)",
|
||||
"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)",
|
||||
|
@ -454,8 +424,8 @@
|
|||
"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_pending_cant_rerun": "Estas migracións están pendentes, polo que non ser realizadas outra vez: {ids}",
|
||||
"migrations_not_pending_cant_skip": "Estas 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'.",
|
||||
|
@ -530,7 +500,6 @@
|
|||
"server_reboot": "Vaise reiniciar o servidor",
|
||||
"server_shutdown_confirm": "Queres apagar o servidor inmediatamente? [{answers}]",
|
||||
"server_shutdown": "Vaise apagar o servidor",
|
||||
"root_password_replaced_by_admin_password": "O contrasinal root foi substituído polo teu contrasinal de administración.",
|
||||
"root_password_desynchronized": "Mudou o contrasinal de administración, pero YunoHost non puido transferir este cambio ao contrasinal root!",
|
||||
"restore_system_part_failed": "Non se restableceu a parte do sistema '{part}'",
|
||||
"restore_running_hooks": "Executando os ganchos do restablecemento...",
|
||||
|
@ -540,11 +509,9 @@
|
|||
"restore_not_enough_disk_space": "Non hai espazo abondo (espazo: {free_space.d} B, espazo necesario: {needed_space} B, marxe de seguridade: {margin} B)",
|
||||
"restore_may_be_not_enough_disk_space": "O teu sistema semella que non ten espazo abondo (libre: {free_space} B, espazo necesario: {needed_space} B, marxe de seguridade {margin} B)",
|
||||
"restore_hook_unavailable": "O script de restablecemento para '{part}' non está dispoñible no teu sistema nin no arquivo",
|
||||
"invalid_password": "Contrasinal non válido",
|
||||
"ldap_server_is_down_restart_it": "O servidor LDAP está caído, intenta reinicialo...",
|
||||
"ldap_server_down": "Non se chegou ao servidor LDAP",
|
||||
"global_settings_setting_security_experimental_enabled": "Activar características de seguridade experimentais (non actives isto se non sabes o que estás a facer!)",
|
||||
"yunohost_postinstall_end_tip": "Post-install completada! Para rematar a configuración considera:\n- engadir unha primeira usuaria na sección 'Usuarias' na webadmin (ou 'yunohost user create <username>' na liña de comandos);\n- diagnosticar potenciais problemas na sección 'Diagnóstico' na webadmin (ou 'yunohost diagnosis run' na liña de comandos);\n- ler 'Rematando a configuración' e 'Coñece YunoHost' na documentación da administración: https://yunohost.org/admindoc.",
|
||||
"yunohost_postinstall_end_tip": "Post-install completada! Para rematar a configuración considera:\n- diagnosticar potenciais problemas na sección 'Diagnóstico' na webadmin (ou 'yunohost diagnosis run' na liña de comandos);\n- ler 'Rematando a configuración' e 'Coñece YunoHost' na documentación da administración: https://yunohost.org/admindoc.",
|
||||
"yunohost_not_installed": "YunoHost non está instalado correctamente. Executa 'yunohost tools postinstall'",
|
||||
"yunohost_installing": "Instalando YunoHost...",
|
||||
"yunohost_configured": "YunoHost está configurado",
|
||||
|
@ -592,14 +559,13 @@
|
|||
"service_enabled": "O servizo '{service}' vai ser iniciado automáticamente no inicio do sistema.",
|
||||
"diagnosis_apps_allgood": "Tódalas apps instaladas respectan as prácticas básicas de empaquetado",
|
||||
"diagnosis_apps_bad_quality": "Esta aplicación está actualmente marcada como estragada no catálogo de aplicacións de YunoHost. Podería ser un problema temporal mentras as mantedoras intentan arranxar o problema. Ata ese momento a actualización desta app está desactivada.",
|
||||
"global_settings_setting_security_nginx_redirect_to_https": "Redirixir peticións HTTP a HTTPs por defecto (NON DESACTIVAR ISTO a non ser que realmente saibas o que fas!)",
|
||||
"log_user_import": "Importar usuarias",
|
||||
"user_import_failed": "A operación de importación de usuarias fracasou",
|
||||
"user_import_missing_columns": "Faltan as seguintes columnas: {columns}",
|
||||
"user_import_nothing_to_do": "Ningunha usuaria precisa ser importada",
|
||||
"user_import_partial_failed": "A operación de importación de usuarias fallou parcialmente",
|
||||
"diagnosis_apps_deprecated_practices": "A versión instalada desta app aínda utiliza algunha das antigas prácticas de empaquetado xa abandonadas. Deberías considerar actualizala.",
|
||||
"diagnosis_apps_outdated_ynh_requirement": "A versión instalada desta app só require yunohost >= 2.x, que normalmente indica que non está ao día coas prácticas recomendadas de empaquetado e asistentes. Deberías considerar actualizala.",
|
||||
"diagnosis_apps_outdated_ynh_requirement": "A versión instalada desta app só require yunohost >= 2.x ou 3.x, esto normalmente indica que non está ao día coas prácticas recomendadas de empaquetado e asistentes. Deberías considerar actualizala.",
|
||||
"user_import_success": "Usuarias importadas correctamente",
|
||||
"diagnosis_high_number_auth_failures": "Hai un alto número sospeitoso de intentos fallidos de autenticación. Deberías comprobar que fail2ban está a executarse e que está correctamente configurado, ou utiliza un porto personalizado para SSH tal como se explica en https://yunohost.org/security.",
|
||||
"user_import_bad_file": "O ficheiro CSV non ten o formato correcto e será ignorado para evitar unha potencial perda de datos",
|
||||
|
@ -623,7 +589,6 @@
|
|||
"log_app_config_set": "Aplicar a configuración á app '{}'",
|
||||
"app_config_unable_to_apply": "Fallou a aplicación dos valores de configuración.",
|
||||
"config_cant_set_value_on_section": "Non podes establecer un valor único na sección completa de configuración.",
|
||||
"config_version_not_supported": "A versión do panel de configuración '{version}' non está soportada.",
|
||||
"invalid_number_max": "Ten que ser menor de {max}",
|
||||
"service_not_reloading_because_conf_broken": "Non se recargou/reiniciou o servizo '{name}' porque a súa configuración está estragada: {errors}",
|
||||
"diagnosis_http_special_use_tld": "O dominio {domain} baséase nun dominio de alto-nivel (TLD) especial como .local ou .test e por isto non é de agardar que esté exposto fóra da rede local.",
|
||||
|
@ -637,7 +602,6 @@
|
|||
"domain_dns_push_record_failed": "Fallou {action} do rexistro {type}/{name}: {error}",
|
||||
"domain_dns_push_success": "Rexistros DNS actualizados!",
|
||||
"domain_dns_push_failed": "Fallou completamente a actualización dos rexistros DNS.",
|
||||
"domain_config_features_disclaimer": "Ata o momento, activar/desactivar as funcións de email ou XMPP só ten impacto na configuración automática da configuración DNS, non na configuración do sistema!",
|
||||
"domain_config_mail_in": "Emails entrantes",
|
||||
"domain_config_mail_out": "Emails saíntes",
|
||||
"domain_config_xmpp": "Mensaxería instantánea (XMPP)",
|
||||
|
@ -666,7 +630,6 @@
|
|||
"migration_0021_main_upgrade": "Iniciando a actualización principal...",
|
||||
"migration_0021_still_on_buster_after_main_upgrade": "Algo fallou durante a actualización principal, o sistema semlla que aínda está en Debian Buster",
|
||||
"migration_0021_yunohost_upgrade": "Iniciando actualización compoñente core de YunoHost...",
|
||||
"migration_0021_not_buster": "A distribución Debian actual non é Buster!",
|
||||
"migration_0021_not_enough_free_space": "Queda pouco espazo en /var/! Deberías ter polo menos 1GB libre para facer a migración.",
|
||||
"migration_0021_problematic_apps_warning": "Detectamos que están instaladas estas app que poderían ser problemáticas. Semella que non foron instaladas desde o catálogo YunoHost, ou non están marcadas como que 'funcionan'. Así, non podemos garantir que seguiran funcionando ben tras a migración: {problematic_apps}",
|
||||
"migration_0021_modified_files": "Ten en conta que os seguintes ficheiros semella que foron editados manualmente e poderían ser sobrescritos durante a migración: {manually_modified_files}",
|
||||
|
@ -675,7 +638,6 @@
|
|||
"migration_description_0021_migrate_to_bullseye": "Actualizar o sistema a Debian Bullseye e YunoHost 11.x",
|
||||
"migration_0021_system_not_fully_up_to_date": "O teu sistema non está completamente actualizado. Fai unha actualización normal antes de executar a migración a Bullseye.",
|
||||
"migration_0021_general_warning": "Ten en conta que a migración é unha operación delicada. O equipo de YunoHost fixo todo o que puido para revisalo e probalo, pero aínda así poderían acontecer fallos no sistema ou apps.\n\nAsí as cousas, é recomendable:\n - Facer unha copia de apoio dos datos e apps importantes. Máis info en https://yunohost.org/backup;\n - Ter paciencia unha vez inicias a migración: dependendo da túa conexión a internet e hardware, podería levarlle varias horas completar o proceso.",
|
||||
"global_settings_setting_security_ssh_password_authentication": "Permitir autenticación con contrasinal para SSH",
|
||||
"tools_upgrade_failed": "Non se actualizaron os paquetes: {packages_list}",
|
||||
"migration_0023_not_enough_space": "Crear espazo suficiente en {path} para realizar a migración.",
|
||||
"migration_0023_postgresql_11_not_installed": "PostgreSQL non estaba instalado no sistema. Nada que facer.",
|
||||
|
@ -684,5 +646,125 @@
|
|||
"migration_description_0023_postgresql_11_to_13": "Migrar bases de datos de PostgreSQL 11 a 13",
|
||||
"service_description_postgresql": "Almacena datos da app (Base datos SQL)",
|
||||
"tools_upgrade": "Actualizando paquetes do sistema",
|
||||
"domain_config_default_app": "App por defecto"
|
||||
}
|
||||
"domain_config_default_app": "App por defecto",
|
||||
"global_settings_setting_backup_compress_tar_archives_help": "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_security_experimental_enabled_help": "Activar características de seguridade experimentais (non actives isto se non sabes o que estás a facer!)",
|
||||
"global_settings_setting_nginx_compatibility_help": "Compromiso entre compatiblidade e seguridade para o servidor NGINX. Afecta ao cifrado (e outros aspectos relacionados coa seguridade)",
|
||||
"global_settings_setting_nginx_redirect_to_https_help": "Redirixir peticións HTTP a HTTPs por defecto (NON DESACTIVAR ISTO a non ser que realmente saibas o que fas!)",
|
||||
"global_settings_setting_admin_strength": "Fortaleza do contrasinal de Admin",
|
||||
"global_settings_setting_user_strength": "Fortaleza do contrasinal da usuaria",
|
||||
"global_settings_setting_postfix_compatibility_help": "Compromiso entre compatibilidade e seguridade para o servidor Postfix. Aféctalle ao cifrado (e outros aspectos da seguridade)",
|
||||
"global_settings_setting_ssh_compatibility_help": "Compromiso entre compatibilidade e seguridade para o servidor SSH. Aféctalle ao cifrado (e outros aspectos da seguridade)",
|
||||
"global_settings_setting_ssh_password_authentication_help": "Permitir autenticación con contrasinal para SSH",
|
||||
"global_settings_setting_ssh_port": "Porto SSH",
|
||||
"global_settings_setting_webadmin_allowlist_help": "Enderezos IP con permiso para acceder á webadmin. Separados por vírgulas.",
|
||||
"global_settings_setting_webadmin_allowlist_enabled_help": "Permitir que só algúns IPs accedan á webadmin.",
|
||||
"global_settings_setting_smtp_allow_ipv6_help": "Permitir o uso de IPv6 para recibir e enviar emais",
|
||||
"global_settings_setting_smtp_relay_enabled_help": "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.",
|
||||
"migration_0024_rebuild_python_venv_broken_app": "Omitimos a app {app} porque virtualenv non se pode reconstruir para esta app. Deberías intentar resolver o problema forzando a actualización da app usando `yunohost app upgrade --force {app}`.",
|
||||
"migration_0024_rebuild_python_venv_disclaimer_base": "Após a actualización a Debian Bullseye, algunhas aplicacións de Python precisan ser reconstruídas para usar a nova versión de Python que inclúe Debian (técnicamente: recrear o `virtualenv`). Mentras tanto, algunhas aplicacións de Python poderían non funcionar. YunoHost pode intentar reconstruir o virtualenv para algunhas, como se indica abaixo. Para outras, ou se falla a reconstrución, pode que teñas que forzar a actualización desas apps.",
|
||||
"migration_0024_rebuild_python_venv_disclaimer_rebuild": "Vaise intentar a reconstrución de virtualenv para as seguintes apps (Nota: a operación podería tomar algún tempo!): {rebuild_apps}",
|
||||
"migration_0024_rebuild_python_venv_disclaimer_ignored": "Non se puido reconstruir virtualenv para estas apps. Precisas forzar a súa actualización, pódelo facer desde a liña de comandos con: `yunohost app upgrade --force APP`: {ignored_apps}",
|
||||
"migration_0024_rebuild_python_venv_in_progress": "Intentando reconstruir o Python virtualenv para `{app}`",
|
||||
"migration_description_0024_rebuild_python_venv": "Reparar app Python após a migración a bullseye",
|
||||
"migration_0024_rebuild_python_venv_failed": "Fallou a reconstrución de Python virtualenv para {app}. A app podería non funcionar mentras non se resolve. Deberías intentar arranxar a situación forzando a actualización desta app usando `yunohost app upgrade --force {app}`.",
|
||||
"migration_0021_not_buster2": "A distribución actual Debian non é Buster! Se xa realizaches a migración Buster->Bullseye entón este erro indica que o proceso de migración non se realizou de xeito correcto ao 100% (se non YunoHost debería telo marcado como completado). É recomendable comprobar xunto co equipo de axuda o que aconteceu, necesitarán o rexistro **completo** da `migración`, que podes atopar na webadmin en Ferramentas > Rexistros.",
|
||||
"global_settings_setting_admin_strength_help": "Estos requerimentos só se esixen ao inicializar ou cambiar o contrasinal",
|
||||
"global_settings_setting_root_access_explain": "En sistemas Linux, 'root' é a administradora absoluta. No contexto YunoHost, o acceso SSH de 'root' está desactivado por defecto - excepto na rede local do servidor. Os compoñentes do grupo 'admins' poden utilizar o comando sudo para actuar como root desde a liña de comandos. É conveniente ter un contrasinal (forte) para root para xestionar o sistema por se as persoas administradoras perden o acceso por algún motivo.",
|
||||
"migration_description_0025_global_settings_to_configpanel": "Migrar o nome antigo dos axustes globais aos novos nomes modernos",
|
||||
"global_settings_reset_success": "Restablecer axustes globais",
|
||||
"domain_config_acme_eligible": "Elixibilidade ACME",
|
||||
"domain_config_acme_eligible_explain": "Este dominio non semella estar preparado para un certificado Let's Encrypt. Comproba a configuración DNS e que é accesible por HTTP. A sección 'Rexistros DNS' e 'Web' na <a href='#/diagnosis'>páxina de diagnóstico</a> pode axudarche a entender o que está a fallar.",
|
||||
"domain_config_cert_install": "Instalar certificado Let's Encrypt",
|
||||
"domain_config_cert_issuer": "Autoridade certificadora",
|
||||
"domain_config_cert_no_checks": "Ignorar comprobacións de diagnóstico",
|
||||
"domain_config_cert_renew": "Anovar certificado Let's Encrypt",
|
||||
"domain_config_cert_renew_help": "O certificado anovarase automáticamente nos últimos 15 días de validez. Podes anovalo automáticamente se queres. (Non é recomendable).",
|
||||
"domain_config_cert_summary": "Estado do certificado",
|
||||
"domain_config_cert_summary_abouttoexpire": "O certificado actual vai caducar. Debería anovarse automáticamente..",
|
||||
"domain_config_cert_summary_expired": "CRÍTICO: O certificado actual non é válido! HTTPS non funcionará!!",
|
||||
"domain_config_cert_summary_letsencrypt": "Ben! Estás a usar un certificado Let's Encrypt válido!",
|
||||
"domain_config_cert_summary_ok": "Correcto, o certificado ten boa pinta!",
|
||||
"domain_config_cert_summary_selfsigned": "AVISO: O certificado actual está auto-asinado. Os navegadores van mostrar un aviso que mete medo a quen te visite!",
|
||||
"domain_config_cert_validity": "Validez",
|
||||
"global_settings_setting_ssh_password_authentication": "Autenticación con contrasinal",
|
||||
"global_settings_setting_user_strength_help": "Estos requerimentos só se esixen ao inicializar ou cambiar o contrasinal",
|
||||
"global_settings_setting_webadmin_allowlist": "Lista IP autorizados para Webadmin",
|
||||
"global_settings_setting_webadmin_allowlist_enabled": "Activar a lista de IP autorizados",
|
||||
"invalid_credentials": "Credenciais non válidas",
|
||||
"log_settings_reset": "Restablecer axuste",
|
||||
"log_settings_reset_all": "Restablecer tódolos axustes",
|
||||
"log_settings_set": "Aplicar axustes",
|
||||
"admins": "Admins",
|
||||
"all_users": "Tódalas usuarias de YunoHost",
|
||||
"app_action_failed": "Fallou a execución da acción {action} da app {app}",
|
||||
"app_manifest_install_ask_init_admin_permission": "Quen debería ter acceso de administración a esta app? (Pode cambiarse despois)",
|
||||
"app_manifest_install_ask_init_main_permission": "Quen debería ter acceso a esta app? (Pode cambiarse despois)",
|
||||
"ask_admin_fullname": "Nome completo de Admin",
|
||||
"ask_admin_username": "Identificador da Admin",
|
||||
"ask_fullname": "Nome completo",
|
||||
"certmanager_cert_install_failed": "Fallou a instalación do certificado Let's Encrypt para {domains}",
|
||||
"certmanager_cert_install_failed_selfsigned": "Fallou a instalación do certificado auto-asinado para {domains}",
|
||||
"certmanager_cert_renew_failed": "Fallou a renovación do certificado Let's Encrypt para {domains}",
|
||||
"password_confirmation_not_the_same": "Non concordan os contrasinais escritos",
|
||||
"password_too_long": "Elixe un contrasinal menor de 127 caracteres",
|
||||
"pattern_fullname": "Ten que ser un nome completo válido (min. 3 caract.)",
|
||||
"registrar_infos": "Info da rexistradora",
|
||||
"root_password_changed": "cambiouse o contrasinal de root",
|
||||
"visitors": "Visitantes",
|
||||
"global_settings_setting_security_experimental_enabled": "Ferramentas experimentais de seguridade",
|
||||
"diagnosis_using_stable_codename": "<cmd>apt</cmd> (o xestor de paquetes do sistema) está configurado para instalar paquetes co nome de código 'stable', no lugar do nome de código da versión actual de Debian (bullseye).",
|
||||
"diagnosis_using_stable_codename_details": "Normalmente esto é debido a unha configuración incorrecta do teu provedor de hospedaxe. Esto é perigoso, porque tan pronto como a nova versión de Debian se convirta en 'stable', <cmd>apt</cmd> vai querer actualizar tódolos paquetes do sistema se realizar o procedemento de migración requerido. É recomendable arranxar isto editando a fonte de apt ao repositorio base de Debian, e substituir a palabra <cmd>stable</cmd> por <cmd>bullseye</cmd>. O ficheiro de configuración correspondente debería ser <cmd>/etc/sources.list</cmd>, ou ficheiro dentro de <cmd>/etc/apt/sources.list.d/</cmd>.",
|
||||
"diagnosis_using_yunohost_testing": "<cmd>apt</cmd> (o xestor de paquetes do sistema) está configurado actualmente para instalar calquera actualización 'testing' para o núcleo YunoHost.",
|
||||
"diagnosis_using_yunohost_testing_details": "Isto probablemente sexa correcto se sabes o que estás a facer, pero pon coidado e le as notas de publicación antes de realizar actualizacións de YunoHost! Se queres desactivar as actualizacións 'testing', deberías eliminar a palabra <cmd>testing</cmd> de <cmd>/etc/apt/sources.list.d/yunohost.list</cmd>.",
|
||||
"global_settings_setting_backup_compress_tar_archives": "Comprimir copias de apoio",
|
||||
"global_settings_setting_pop3_enabled": "Activar POP3",
|
||||
"global_settings_setting_smtp_allow_ipv6": "Permitir IPv6",
|
||||
"global_settings_setting_smtp_relay_host": "Sevidor repetidor SMTP",
|
||||
"config_action_disabled": "Non se executou a accción '{action}' porque está desactivada, comproba os seus requerimentos. Axuda: {help}",
|
||||
"config_action_failed": "Fallou a execución da acción '{action}': {error}",
|
||||
"config_forbidden_readonly_type": "O tipo '{type}' non pode establecerse como só lectura, usa outro tipo para mostrar este valor (id relevante: '{id}').",
|
||||
"global_settings_setting_nginx_compatibility": "Compatibilidade NGINX",
|
||||
"global_settings_setting_nginx_redirect_to_https": "Forzar HTTPS",
|
||||
"global_settings_setting_pop3_enabled_help": "Activar o protocolo POP3 no servidor de email",
|
||||
"global_settings_setting_postfix_compatibility": "Compatibilidade Postfix",
|
||||
"global_settings_setting_root_password": "Novo contrasinal root",
|
||||
"global_settings_setting_root_password_confirm": "Novo contrasinal root (confirmar)",
|
||||
"global_settings_setting_smtp_relay_enabled": "Activar repetidor SMTP",
|
||||
"global_settings_setting_ssh_compatibility": "Compatibilidade SSH",
|
||||
"migration_description_0026_new_admins_group": "Migrar ao novo sistema de 'admins múltiples'",
|
||||
"group_update_aliases": "Actualizando os alias do grupo '{group}'",
|
||||
"group_no_change": "Nada que cambiar para o grupo '{group}'",
|
||||
"domain_cannot_add_muc_upload": "Non podes engadir dominios que comecen por 'muc.'. Este tipo de dominio está reservado para as salas de conversa de XMPP integradas en YunoHost.",
|
||||
"global_settings_setting_passwordless_sudo": "Permitir a Admins usar 'sudo' sen ter que volver a escribir o contrasinal",
|
||||
"global_settings_setting_portal_theme": "Decorado do Portal",
|
||||
"global_settings_setting_portal_theme_help": "Tes máis info acerca da creación de decorados para o portal de acceso en https://yunohost.org/theming",
|
||||
"app_arch_not_supported": "Esta app só pode ser instalada e arquitecturas {required} pero a arquitectura do teu servidor é {current}",
|
||||
"app_not_enough_disk": "Esta app precisa {required} de espazo libre.",
|
||||
"app_yunohost_version_not_supported": "Esta app require YunoHost >= {required} pero a versión actual instalada é {current}",
|
||||
"confirm_app_insufficient_ram": "PERIGO! Esta app precisa {required} de RAM para instalar/actualizar pero só hai {current} dispoñibles. Incluso se a app funcionase, o seu proceso de instalación/actualización require gran cantidade de RAM e o teu servidor podería colgarse e fallar. Se queres asumir o risco, escribe '{answers}'",
|
||||
"confirm_notifications_read": "AVISO: Deberías comprobar as notificacións da app antes de continuar, poderías ter información importante que revisar. [{answers}]",
|
||||
"app_not_enough_ram": "Esta app require {required} de RAM para instalar/actualizar pero só hai {current} dispoñible.",
|
||||
"global_settings_setting_dns_exposure": "Versións de IP a ter en conta para a configuración DNS e diagnóstico",
|
||||
"global_settings_setting_dns_exposure_help": "Nota: Esto só lle afecta á configuración DNS recomendada e diagnóstico do sistema. Non lle afecta aos axustes do sistema.",
|
||||
"diagnosis_ip_no_ipv6_tip_important": "Se está dispoñible, IPv6 debería estar automáticamente configurado polo sistema ou o teu provedor. Se non, pode que teñas que facer algúns axustes manualmente tal como se explica na documentación: <a href='https://yunohost.org/#/ipv6'>https://yunohost.org/#/ipv6</a>.",
|
||||
"domain_config_default_app_help": "As persoas serán automáticamente redirixidas a esta app ao abrir o dominio. Se non se indica ningunha, serán redirixidas ao formulario de acceso no portal de usuarias.",
|
||||
"domain_config_xmpp_help": "Nota: algunhas características de XMPP para ser utilizadas precisan que teñas ao día os rexistros DNS e rexeneres os certificados Lets Encrypt",
|
||||
"app_change_url_failed": "Non se cambiou o url para {app}: {error}",
|
||||
"app_change_url_require_full_domain": "{app} non se pode mover a este novo URL porque require un dominio completo propio (ex. con ruta = /)",
|
||||
"app_change_url_script_failed": "Algo fallou ao executar o script de cambio de url",
|
||||
"apps_failed_to_upgrade_line": "\n * {app_id} (para ver o rexistro correspondente executa 'yunohost log show {operation_logger_name}')",
|
||||
"app_failed_to_upgrade_but_continue": "Fallou a actualización de {failed_app}, seguimos coas demáis actualizacións. Executa 'yunohost log show {operation_logger_name}' para ver o rexistro do fallo",
|
||||
"app_not_upgraded_broken_system": "Fallou a actualización de '{failed_app}' e estragou o sistema, como consecuencia cancelouse a actualización das seguintes apps: {apps}",
|
||||
"app_not_upgraded_broken_system_continue": "Fallou a actualización de '{failed_app}' e estragou o sistema (polo que ignórase --continue-on-failure), como consecuencia cancelouse a actualización das seguintes apps: {apps}",
|
||||
"apps_failed_to_upgrade": "Fallou a actualización das seguintes aplicacións:{apps}",
|
||||
"invalid_shell": "Intérprete de ordes non válido: {shell}",
|
||||
"log_resource_snippet": "Aprovisionamento/desaprovisionamento/actualización dun recurso",
|
||||
"app_resource_failed": "Fallou o aprovisionamento, desaprovisionamento ou actualización de recursos para {app}: {error}",
|
||||
"app_failed_to_download_asset": "Fallou a descarga do recurso '{source_id}' ({url}) para {app}: {out}",
|
||||
"app_corrupt_source": "YunoHost foi quen de descargar o recurso '{source_id}' ({url}) para {app}, pero a suma de comprobación para o recurso non concorda. Pode significar que houbo un fallo temporal na conexión do servidor á rede, OU que o recurso sufreu, dalgún xeito, cambios desde que os desenvolvedores orixinais (ou unha terceira parte maliciosa?), o equipo de YunoHost ten que investigar e actualizar o manifesto da app para mostrar este cambio.\n Suma sha256 agardada: {expected_sha256} \n Suma sha256 do descargado: {computed_sha256}\n Tamaño do ficheiro: {size}",
|
||||
"group_mailalias_add": "Vaise engadir o alias de correo '{mail}' ao grupo '{group}'",
|
||||
"group_mailalias_remove": "Vaise quitar o alias de email '{mail}' do grupo '{group}'",
|
||||
"group_user_add": "Vaise engadir a '{user}' ao grupo '{grupo}'",
|
||||
"group_user_remove": "Vaise quitar a '{user}' do grupo '{grupo}'"
|
||||
}
|
||||
|
|
1
locales/he.json
Normal file
1
locales/he.json
Normal file
|
@ -0,0 +1 @@
|
|||
{}
|
|
@ -1,8 +1,6 @@
|
|||
{
|
||||
"action_invalid": "अवैध कार्रवाई '{action}'",
|
||||
"admin_password": "व्यवस्थापक पासवर्ड",
|
||||
"admin_password_change_failed": "पासवर्ड बदलने में असमर्थ",
|
||||
"admin_password_changed": "व्यवस्थापक पासवर्ड बदल दिया गया है",
|
||||
"app_already_installed": "'{app}' पहले से ही इंस्टाल्ड है",
|
||||
"app_argument_choice_invalid": "गलत तर्क का चयन किया गया '{name}' , तर्क इन विकल्पों में से होने चाहिए {choices}",
|
||||
"app_argument_invalid": "तर्क के लिए अमान्य मान '{name}': {error}",
|
||||
|
@ -15,14 +13,11 @@
|
|||
"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} अपडेट करने में असमर्थ",
|
||||
"app_upgraded": "{app} अपडेट हो गयी हैं",
|
||||
"ask_firstname": "नाम",
|
||||
"ask_lastname": "अंतिम नाम",
|
||||
"ask_main_domain": "मुख्य डोमेन",
|
||||
"ask_new_admin_password": "नया व्यवस्थापक पासवर्ड",
|
||||
"ask_password": "पासवर्ड",
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
"aborting": "Megszakítá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} 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} napra kész",
|
||||
|
|
375
locales/id.json
375
locales/id.json
|
@ -1,34 +1,29 @@
|
|||
{
|
||||
"admin_password": "Kata sandi administrasi",
|
||||
"admin_password_change_failed": "Tidak dapat mengubah kata sandi",
|
||||
"admin_password_changed": "Kata sandi administrasi diubah",
|
||||
"admin_password_too_long": "Harap pilih kata sandi yang lebih pendek dari 127 karakter",
|
||||
"already_up_to_date": "Tak ada yang harus dilakukan. Semuanya sudah mutakhir.",
|
||||
"app_action_broke_system": "Tindakan ini sepertinya telah merusak layanan-layanan penting ini: {services}",
|
||||
"app_already_installed": "{app} sudah terpasang",
|
||||
"app_already_up_to_date": "{app} sudah dalam versi mutakhir",
|
||||
"app_argument_required": "Argumen '{name}' dibutuhkan",
|
||||
"app_change_url_identical_domains": "Domain)url_path yang lama dan baru identik ('{domain}{path}'), tak ada yang perlu dilakukan.",
|
||||
"app_change_url_identical_domains": "Domain/url_path yang lama dan baru identik ('{domain}{path}'), tak ada yang perlu dilakukan.",
|
||||
"app_change_url_no_script": "Aplikasi '{app_name}' belum mendukung pengubahan URL. Mungkin Anda harus memperbaruinya.",
|
||||
"app_change_url_success": "URL {app} sekarang adalah {domain}{path}",
|
||||
"app_id_invalid": "ID aplikasi tidak valid",
|
||||
"app_id_invalid": "ID aplikasi tidak sah",
|
||||
"app_install_failed": "Tidak dapat memasang {app}: {error}",
|
||||
"app_install_files_invalid": "Berkas-berkas ini tidak dapat dipasang",
|
||||
"app_install_script_failed": "Sebuah kesalahan terjadi pada script pemasangan aplikasi",
|
||||
"app_install_files_invalid": "Berkas ini tidak dapat dipasang",
|
||||
"app_install_script_failed": "Sebuah kesalahan terjadi pada skrip pemasangan aplikasi",
|
||||
"app_manifest_install_ask_admin": "Pilih seorang administrator untuk aplikasi ini",
|
||||
"app_manifest_install_ask_domain": "Pilih di domain mana aplikasi ini harus dipasang",
|
||||
"app_not_installed": "Tidak dapat menemukan {app} di daftar aplikasi yang terpasang: {all_apps}",
|
||||
"app_not_properly_removed": "{app} belum dihapus dengan benar",
|
||||
"app_remove_after_failed_install": "Menghapus aplikasi mengikuti kegagalan pemasangan...",
|
||||
"app_removed": "{app} dihapus",
|
||||
"app_not_properly_removed": "{app} belum dilepas dengan benar",
|
||||
"app_remove_after_failed_install": "Melepas aplikasi setelah kegagalan pemasangan...",
|
||||
"app_removed": "{app} dilepas",
|
||||
"app_restore_failed": "Tidak dapat memulihkan {app}: {error}",
|
||||
"app_upgrade_some_app_failed": "Beberapa aplikasi tidak dapat diperbarui",
|
||||
"app_upgraded": "{app} diperbarui",
|
||||
"apps_already_up_to_date": "Semua aplikasi sudah pada versi mutakhir",
|
||||
"apps_catalog_update_success": "Katalog aplikasi telah diperbarui!",
|
||||
"apps_catalog_updating": "Memperbarui katalog aplikasi...",
|
||||
"ask_firstname": "Nama depan",
|
||||
"ask_lastname": "Nama belakang",
|
||||
"ask_main_domain": "Domain utama",
|
||||
"ask_new_domain": "Domain baru",
|
||||
"ask_user_domain": "Domain yang digunakan untuk alamat surel dan akun XMPP pengguna",
|
||||
|
@ -40,19 +35,361 @@
|
|||
"app_upgrade_app_name": "Memperbarui {app}...",
|
||||
"app_upgrade_failed": "Tidak dapat memperbarui {app}: {error}",
|
||||
"app_start_install": "Memasang {app}...",
|
||||
"app_start_remove": "Menghapus {app}...",
|
||||
"app_start_remove": "Melepas {app}...",
|
||||
"app_manifest_install_ask_password": "Pilih kata sandi administrasi untuk aplikasi ini",
|
||||
"app_upgrade_several_apps": "Aplikasi-aplikasi berikut akan diperbarui: {apps}",
|
||||
"app_upgrade_several_apps": "Aplikasi berikut akan diperbarui: {apps}",
|
||||
"backup_app_failed": "Tidak dapat mencadangkan {app}",
|
||||
"backup_archive_name_exists": "Arsip cadangan dengan nama ini sudah ada.",
|
||||
"backup_created": "Cadangan dibuat",
|
||||
"backup_created": "Cadangan dibuat: {name}",
|
||||
"backup_creation_failed": "Tidak dapat membuat arsip cadangan",
|
||||
"backup_delete_error": "Tidak dapat menghapus '{path}'",
|
||||
"backup_deleted": "Cadangan dihapus",
|
||||
"backup_deleted": "Cadangan dihapus: {name}",
|
||||
"diagnosis_apps_issue": "Sebuah masalah ditemukan pada aplikasi {app}",
|
||||
"backup_applying_method_tar": "Membuat arsip TAR cadangan...",
|
||||
"backup_method_tar_finished": "Arsip TAR cadanagan dibuat",
|
||||
"backup_method_tar_finished": "Arsip TAR cadangan dibuat",
|
||||
"backup_nothings_done": "Tak ada yang harus disimpan",
|
||||
"certmanager_cert_install_success": "Sertifikat Let's Encrypt sekarang sudah terpasang pada domain '{domain}'",
|
||||
"backup_mount_archive_for_restore": "Menyiapkan arsip untuk pemulihan..."
|
||||
}
|
||||
"backup_mount_archive_for_restore": "Menyiapkan arsip untuk pemulihan...",
|
||||
"aborting": "Membatalkan.",
|
||||
"action_invalid": "Tindakan tidak valid '{action}'",
|
||||
"app_action_cannot_be_ran_because_required_services_down": "Layanan yang dibutuhkan ini harus aktif untuk menjalankan tindakan ini: {services}. Coba memulai ulang layanan tersebut untuk melanjutkan (dan mungkin melakukan penyelidikan mengapa layanan tersebut nonaktif).",
|
||||
"app_argument_choice_invalid": "Pilih yang valid untuk argumen '{name}': '{value}' tidak termasuk pada pilihan yang tersedia ({choices})",
|
||||
"app_argument_invalid": "Pilih yang valid untuk argumen '{name}': {error}",
|
||||
"app_extraction_failed": "Tidak dapat mengekstrak berkas pemasangan",
|
||||
"app_full_domain_unavailable": "Maaf, aplikasi ini harus dipasang pada domain sendiri, namun aplikasi lain sudah terpasang pada domain '{domain}'. Anda dapat menggunakan subdomain hanya untuk aplikasi ini.",
|
||||
"app_location_unavailable": "URL ini mungkin tidak tersedia atau terjadi konflik dengan aplikasi yang telah terpasang:\n{apps}",
|
||||
"app_not_upgraded": "Aplikasi '{failed_app}' gagal diperbarui, oleh karena itu pembaruan aplikasi berikut juga dibatalkan: {apps}",
|
||||
"app_config_unable_to_apply": "Gagal menerapkan nilai-nilai panel konfigurasi.",
|
||||
"app_config_unable_to_read": "Gagal membaca nilai-nilai panel konfigurasi.",
|
||||
"permission_cannot_remove_main": "Menghapus izin utama tidak diperbolehkan",
|
||||
"service_description_postgresql": "Menyimpan data aplikasi (basis data SQL)",
|
||||
"restore_already_installed_app": "Aplikasi dengan ID '{app}' telah terpasang",
|
||||
"app_change_url_require_full_domain": "{app} tidak dapat dipindah ke URL baru ini karena ini memerlukan domain penuh (tanpa jalur = /)",
|
||||
"app_change_url_script_failed": "Galat terjadi di skrip pengubahan URL",
|
||||
"app_not_enough_disk": "Aplikasi ini memerlukan {required} ruang kosong.",
|
||||
"app_not_enough_ram": "Aplikasi ini memerlukan {required} RAM untuk pemasangan/pembaruan, tapi sekarang hanya tersedia {current} saja.",
|
||||
"app_packaging_format_not_supported": "Aplikasi ini tidak dapat dipasang karena format pengemasan tidak didukung oleh YunoHost versi Anda. Anda sebaiknya memperbarui sistem Anda.",
|
||||
"ask_admin_username": "Nama pengguna admin",
|
||||
"backup_archive_broken_link": "Tidak dapat mengakses arsip cadangan (tautan rusak untuk {path})",
|
||||
"backup_archive_open_failed": "Tidak dapat membuka arsip cadangan",
|
||||
"certmanager_cert_install_success_selfsigned": "Sertifikat ditandai sendiri sekarang terpasang untuk '{domain}'",
|
||||
"certmanager_cert_renew_failed": "Pembaruan ulang sertifikat Let's Encrypt gagal untuk {domains}",
|
||||
"certmanager_cert_renew_success": "Sertifikat Let's Encrypt diperbarui untuk domain '{domain}'",
|
||||
"diagnosis_apps_allgood": "Semua aplikasi yang dipasang mengikuti panduan penyusunan yang baik",
|
||||
"diagnosis_basesystem_kernel": "Peladen memakai kernel Linux {kernel_version}",
|
||||
"diagnosis_cache_still_valid": "(Tembolok masih valid untuk diagnosis {category}. Belum akan didiagnosis ulang!)",
|
||||
"diagnosis_description_dnsrecords": "Rekaman DNS",
|
||||
"diagnosis_description_ip": "Konektivitas internet",
|
||||
"diagnosis_description_web": "Web",
|
||||
"diagnosis_domain_expiration_error": "Beberapa domain akan kedaluwarsa SEGERA!",
|
||||
"diagnosis_domain_expiration_not_found_details": "Informasi WHOIS untuk domain {domain} sepertinya tidak mengandung informasi tentang tanggal kedaluwarsa?",
|
||||
"diagnosis_domain_expiration_warning": "Beberapa domain akan kedaluwarsa!",
|
||||
"diagnosis_domain_expires_in": "{domain} kedaluwarsa dalam {days} hari.",
|
||||
"diagnosis_everything_ok": "Sepertinya semuanya bagus untuk {category}!",
|
||||
"diagnosis_ip_no_ipv6_tip": "Memiliki IPv6 tidaklah wajib agar sistem Anda bekerja, tapi itu akan membuat internet lebih sehat. IPv6 biasanya secara otomatis akan dikonfigurasikan oleh sistem atau penyedia peladen Anda jika tersedia. Jika belum dikonfigurasi, Anda mungkin harus mengonfigurasi beberapa hal secara manual seperti yang dijelaskan di dokumentasi di sini: <a href='https://yunohost.org/#/ipv6'>https://yunohost.org/#/ipv6</a>. Jika Anda tidak dapat mengaktifkan IPv6 atau terlalu rumit buat Anda, Anda bisa mengabaikan peringatan ini.",
|
||||
"diagnosis_ip_no_ipv6_tip_important": "IPv6 biasanya secara otomatis akan dikonfigurasikan oleh sistem atau penyedia peladen Anda jika tersedia. Jika belum dikonfigurasi, Anda mungkin harus mengonfigurasi beberapa hal secara manual seperti yang dijelaskan di dokumentasi di sini: <a href='https://yunohost.org/#/ipv6'>https://yunohost.org/#/ipv6</a>.",
|
||||
"diagnosis_ip_not_connected_at_all": "Peladen ini sepertinya tidak terhubung dengan internet sama sekali?",
|
||||
"diagnosis_mail_queue_unavailable_details": "Galat: {error}",
|
||||
"global_settings_setting_root_password_confirm": "Kata sandi root baru (konfirmasi)",
|
||||
"global_settings_setting_smtp_allow_ipv6": "Perbolehkan IPv6",
|
||||
"global_settings_setting_ssh_port": "Porta SSH",
|
||||
"log_app_change_url": "Mengubah URL untuk aplikasi '{}'",
|
||||
"log_app_config_set": "Menerapkan konfigurasi untuk aplikasi '{}'",
|
||||
"log_app_install": "Memasang aplikasi '{}'",
|
||||
"log_app_makedefault": "Membuat '{}' sebagai aplikasi baku",
|
||||
"log_app_remove": "Melepas aplikasi '{}'",
|
||||
"log_app_upgrade": "Memperbarui aplikasi '{}'",
|
||||
"log_available_on_yunopaste": "Log ini sekarang sudah tersedia di {url}",
|
||||
"log_backup_create": "Membuat arsip cadangan",
|
||||
"log_backup_restore_app": "Memulihkan '{}' dari arsip cadangan",
|
||||
"log_backup_restore_system": "Memulihkan sistem dari arsip cadangan",
|
||||
"log_corrupted_md_file": "Berkas metadata YAML yang terkait dengan log rusak: '{md_file}\nGalat: {error}'",
|
||||
"log_domain_config_set": "Memperbarui konfigurasi untuk domain '{}'",
|
||||
"log_domain_main_domain": "Atur '{}' sebagai domain utama",
|
||||
"log_domain_remove": "Hapus domain '{}' dari konfigurasi sistem",
|
||||
"log_link_to_log": "Log penuh untuk tindakan ini: '<a href=\"#/tools/logs/{name}\" style=\"text-decoration:underline\">{desc}</a>'",
|
||||
"log_settings_reset": "Atur ulang pengaturan",
|
||||
"log_tools_migrations_migrate_forward": "Menjalankan migrasi",
|
||||
"log_tools_reboot": "Mulai ulang peladen Anda",
|
||||
"log_tools_shutdown": "Matikan peladen Anda",
|
||||
"log_tools_upgrade": "Perbarui paket sistem",
|
||||
"migration_0021_main_upgrade": "Memulai pembaruan utama...",
|
||||
"migration_0021_start": "Memulai migrasi ke Bullseye",
|
||||
"migration_0021_yunohost_upgrade": "Memulai pembaruan YunoHost Core...",
|
||||
"permission_updated": "Izin '{permission}' diperbarui",
|
||||
"registrar_infos": "Info registrar",
|
||||
"restore_already_installed_apps": "Aplikasi berikut tidak dapat dipulihkan karena mereka sudah terpasang: {apps}",
|
||||
"restore_backup_too_old": "Arsip cadangan ini tidak dapat dipulihkan karena ini dihasilkan dari YunoHost dengan versi yang terlalu tua.",
|
||||
"restore_failed": "Tidak dapat memulihkan sistem",
|
||||
"restore_nothings_done": "Tidak ada yang dipulihkan",
|
||||
"restore_running_app_script": "Memulihkan aplikasi {app}...",
|
||||
"root_password_changed": "kata sandi root telah diubah",
|
||||
"root_password_desynchronized": "Kata sandi administrasi telah diubah tapi YunoHost tidak dapat mengubahnya menjadi kata sandi root!",
|
||||
"server_reboot_confirm": "Peladen akan dimulai ulang segera, apakan Anda yakin [{answers}]",
|
||||
"server_shutdown": "Peladen akan dimatikan",
|
||||
"server_shutdown_confirm": "Peladen akan dimatikan segera, apakah Anda yakin? [{answers}]",
|
||||
"service_add_failed": "Tidak dapat menambahkan layanan '{service}'",
|
||||
"service_added": "Layanan '{service}' ditambahkan",
|
||||
"service_already_stopped": "Layanan '{service}' telah dihentikan",
|
||||
"service_cmd_exec_failed": "Tidak dapat menjalankan perintah '{command}'",
|
||||
"service_description_dnsmasq": "Mengurus DNS",
|
||||
"service_description_dovecot": "Digunakan untuk memperbolehkan klien surel mengakses surel (via IMAP dan POP3)",
|
||||
"service_description_metronome": "Mengelola akun XMPP",
|
||||
"service_description_postfix": "Digunakan untuk mengirim dan menerima surel",
|
||||
"service_description_slapd": "Menyimpan info terkait pengguna, domain, dan sejenisnya",
|
||||
"service_description_ssh": "Memperbolehkan Anda untuk terhubung secara jarak jauh dengan peladen Anda via terminal (protokol SSH)",
|
||||
"service_description_yunohost-firewall": "Mengelola pembukaan dan penutupan porta koneksi ke layanan",
|
||||
"unbackup_app": "{app} tidak akan disimpan",
|
||||
"user_deleted": "Pengguna dihapus",
|
||||
"user_deletion_failed": "Tidak dapat menghapus pengguna {user}: {error}",
|
||||
"user_import_bad_file": "Berkas CSV Anda tidak secara benar diformat, akan diabaikan untuk menghindari potensi data hilang",
|
||||
"yunohost_postinstall_end_tip": "Proses pasca-pemasangan sudah selesai! Untuk menyelesaikan pengaturan Anda, pertimbangkan:\n - diagnosis masalah yang mungkin lewat bagian 'Diagnosis' di webadmin (atau 'yunohost diagnosis run' di cmd);\n - baca bagian 'Finalizing your setup' dan 'Getting to know YunoHost' di dokumentasi admin: https://yunohost.org/admindoc.",
|
||||
"app_already_installed_cant_change_url": "Aplikasi ini sudah terpasang. URL tidak dapat diubah hanya dengan ini. Periksa `app changeurl` jika tersedia.",
|
||||
"app_requirements_checking": "Memeriksa persyaratan untuk {app}...",
|
||||
"backup_create_size_estimation": "Arsip ini akan mengandung data dengan ukuran {size}.",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "Mencoba untuk menggunakan sertifikat baru untuk {domain} tidak bisa...",
|
||||
"certmanager_no_cert_file": "Tidak dapat membuka berkas sertifikat untuk domain {domain} (berkas: {file})",
|
||||
"diagnosis_basesystem_hardware": "Arsitektur perangkat keras peladen adalah {virt} {arch}",
|
||||
"diagnosis_basesystem_ynh_inconsistent_versions": "Anda menjalankan versi paket YunoHost yang tidak konsisten... sepertinya karena pembaruan yang gagal.",
|
||||
"diagnosis_basesystem_ynh_single_version": "versi {package}: {version} ({repo})",
|
||||
"diagnosis_description_services": "Status layanan",
|
||||
"diagnosis_description_systemresources": "Sumber daya sistem",
|
||||
"diagnosis_domain_not_found_details": "Domain {domain} tidak ada di basis data WHOIS atau sudah kedaluwarsa!",
|
||||
"diagnosis_http_ok": "Domain {domain} bisa dicapai dengan HTTP dari luar jaringan lokal.",
|
||||
"diagnosis_ip_connected_ipv4": "Peladen ini terhubung ke internet lewat IPv4!",
|
||||
"diagnosis_ip_no_ipv6": "Peladen ini sepertinya tidak memiliki IPv6.",
|
||||
"domain_cert_gen_failed": "Tidak dapat membuat sertifikat",
|
||||
"done": "Selesai",
|
||||
"log_domain_add": "Menambahkan domain '{}' ke konfigurasi sistem",
|
||||
"main_domain_changed": "Domain utama telah diubah",
|
||||
"service_already_started": "Layanan '{service}' telah berjalan",
|
||||
"service_description_fail2ban": "Melindungi dari berbagai macam serangan dari Internet",
|
||||
"service_description_yunohost-api": "Mengelola interaksi antara antarmuka web YunoHost dengan sistem",
|
||||
"this_action_broke_dpkg": "Tindakan ini merusak dpkg/APT (pengelola paket sistem)... Anda bisa mencoba menyelesaikan masalah ini dengan masuk lewat SSH dan menjalankan `sudo apt install --fix-broken` dan/atau `sudo dpkg --configure -a`.",
|
||||
"app_manifest_install_ask_init_admin_permission": "Siapa yang boleh mengakses fitur admin untuk aplikasi ini? (Ini bisa diubah nanti)",
|
||||
"admins": "Admin",
|
||||
"all_users": "Semua pengguna YunoHost",
|
||||
"app_action_failed": "Gagal menjalankan tindakan {action} untuk aplikasi {app}",
|
||||
"unrestore_app": "{app} akan dipulihkan",
|
||||
"user_already_exists": "Pengguna '{user}' telah ada",
|
||||
"user_created": "Pengguna dibuat",
|
||||
"user_creation_failed": "Tidak dapat membuat pengguna {user}: {error}",
|
||||
"user_home_creation_failed": "Tidak dapat membuat folder home '{home}' untuk pengguna",
|
||||
"app_manifest_install_ask_init_main_permission": "Siapa yang boleh mengakses aplikasi ini? (Ini bisa diubah nanti)",
|
||||
"ask_admin_fullname": "Nama lengkap admin",
|
||||
"ask_fullname": "Nama lengkap",
|
||||
"backup_abstract_method": "Metode pencadangan ini belum diimplementasikan",
|
||||
"backup_csv_addition_failed": "Tidak dapat menambahkan berkas ke cadangan dengan berkas CSV",
|
||||
"config_action_failed": "Gagal menjalankan tindakan '{action}': {error}",
|
||||
"config_validate_color": "Harus warna heksadesimal RGB yang valid",
|
||||
"danger": "Peringatan:",
|
||||
"diagnosis_basesystem_host": "Peladen memakai Debian {debian_version}",
|
||||
"diagnosis_domain_expiration_not_found": "Tidak dapat memeriksa tanggal kedaluwarsa untuk beberapa domain",
|
||||
"diagnosis_http_could_not_diagnose_details": "Galat: {error}",
|
||||
"app_manifest_install_ask_path": "Pilih jalur URL (setelah domain) dimana aplikasi ini akan dipasang",
|
||||
"certmanager_cert_signing_failed": "Tidak dapat memverifikasi sertifikat baru",
|
||||
"config_validate_url": "Harus URL web yang valid",
|
||||
"diagnosis_description_ports": "Penyingkapan porta",
|
||||
"diagnosis_failed_for_category": "Diagnosis gagal untuk kategori '{category}': {error}",
|
||||
"mail_unavailable": "Alamat surel ini hanya untuk kelompok admin",
|
||||
"main_domain_change_failed": "Tidak dapat mengubah domain utama",
|
||||
"diagnosis_ip_global": "IP Global: <code>{global}</code>",
|
||||
"diagnosis_ip_dnsresolution_working": "Resolusi nama domain bekerja!",
|
||||
"diagnosis_ip_local": "IP Lokal: <code>{local}</code>",
|
||||
"diagnosis_ip_no_ipv4": "Peladen ini sepertinya tidak memiliki IPv4.",
|
||||
"diagnosis_mail_ehlo_could_not_diagnose_details": "Galat: {error}",
|
||||
"global_settings_setting_ssh_password_authentication_help": "Izinkan autentikasi kata sandi untuk SSH",
|
||||
"password_listed": "Kata sandi ini termasuk dalam daftar kata sandi yang sering digunakan di dunia. Mohon untuk memilih yang lebih unik.",
|
||||
"permission_not_found": "Izin '{permission}' tidak ditemukan",
|
||||
"restore_not_enough_disk_space": "Ruang tidak cukup (ruang: {free_space} B, ruang yang dibutuhkan: {needed_space} B, margin aman: {margin} B)",
|
||||
"server_reboot": "Peladen akan dimulai ulang",
|
||||
"service_description_nginx": "Menyediakan akses untuk semua situs yang dihos di peladen Anda",
|
||||
"service_description_rspamd": "Filter spam dan fitur terkait surel lainnya",
|
||||
"service_remove_failed": "Tidak dapat menghapus layanan '{service}'",
|
||||
"user_unknown": "Pengguna tidak diketahui: {user}",
|
||||
"user_update_failed": "Tidak dapat memperbarui pengguna {user}: {error}",
|
||||
"yunohost_configured": "YunoHost sudah terkonfigurasi",
|
||||
"global_settings_setting_pop3_enabled": "Aktifkan POP3",
|
||||
"log_user_import": "Mengimpor pengguna",
|
||||
"app_start_backup": "Mengumpulkan berkas untuk dicadangkan untuk {app}...",
|
||||
"app_upgrade_script_failed": "Galat terjadi di skrip pembaruan aplikasi",
|
||||
"backup_csv_creation_failed": "Tidak dapat membuat berkas CSV yang dibutuhkan untuk pemulihan",
|
||||
"certmanager_attempt_to_renew_valid_cert": "Sertifikat untuk domain '{domain}' belum akan kedaluwarsa! (Anda bisa menggunakan --force jika Anda tahu apa yang Anda lakukan)",
|
||||
"extracting": "Mengekstrak...",
|
||||
"system_username_exists": "Nama pengguna telah ada di daftar pengguna sistem",
|
||||
"upgrade_complete": "Pembaruan selesai",
|
||||
"upgrading_packages": "Memperbarui paket...",
|
||||
"diagnosis_description_apps": "Aplikasi",
|
||||
"diagnosis_description_basesystem": "Basis sistem",
|
||||
"global_settings_setting_pop3_enabled_help": "Aktifkan protokol POP3 untuk peladen surel",
|
||||
"password_confirmation_not_the_same": "Kata sandi dan untuk konfirmasinya tidak sama",
|
||||
"restore_complete": "Pemulihan selesai",
|
||||
"user_import_success": "Pengguna berhasil diimpor",
|
||||
"user_updated": "Informasi pengguna diubah",
|
||||
"visitors": "Pengunjung",
|
||||
"yunohost_already_installed": "YunoHost sudah terpasang",
|
||||
"yunohost_installing": "Memasang YunoHost...",
|
||||
"yunohost_not_installed": "YunoHost tidak terpasang dengan benar. Jalankan 'yunohost tools postinstall'",
|
||||
"restore_removing_tmp_dir_failed": "Tidak dapat menghapus direktori sementara yang dulu",
|
||||
"app_sources_fetch_failed": "Tidak dapat mengambil berkas sumber, apakah URL-nya benar?",
|
||||
"installation_complete": "Pemasangan selesai",
|
||||
"app_arch_not_supported": "Aplikasi ini hanya bisa dipasang pada arsitektur {required}, tapi arsitektur peladen Anda adalah {current}",
|
||||
"diagnosis_basesystem_hardware_model": "Model peladen adalah {model}",
|
||||
"app_yunohost_version_not_supported": "Aplikasi ini memerlukan YunoHost >= {required}, tapi versi yang terpasang adalah {current}",
|
||||
"ask_new_path": "Jalur baru",
|
||||
"backup_cleaning_failed": "Tidak dapat menghapus folder cadangan sementara",
|
||||
"diagnosis_description_mail": "Surel",
|
||||
"diagnosis_description_regenconf": "Konfigurasi sistem",
|
||||
"diagnosis_display_tip": "Untuk melihat masalah yang ditemukan, Anda bisa ke bagian Diagnosis di administrasi web atau jalankan 'yunohost diagnosis show --issues --human-readable'.",
|
||||
"diagnosis_domain_expiration_success": "Domain Anda sudah terdaftar dan belum akan kedaluwarsa dalam waktu dekat.",
|
||||
"diagnosis_failed": "Gagal mengambil hasil diagnosis untuk kategori '{category}': {error}",
|
||||
"global_settings_setting_portal_theme": "Tema portal",
|
||||
"global_settings_setting_portal_theme_help": "Informasi lebih lanjut tentang tema portal kustom ada di https://yunohost.org/theming",
|
||||
"global_settings_setting_ssh_password_authentication": "Autentikasi kata sandi",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "Sertifikat untuk domain '{domain}' tidak diterbitkan oleh Let's Encrypt. Tidak dapat memperbarui secara otomatis!",
|
||||
"certmanager_cert_install_failed": "Pemasangan sertifikat Let's Encrypt gagal untuk {domains}",
|
||||
"certmanager_cert_install_failed_selfsigned": "Pemasangan sertifikat ditandai sendiri (self-signed) gagal untuk {domains}",
|
||||
"config_validate_email": "Harus surel yang valid",
|
||||
"config_apply_failed": "Gagal menerapkan konfigurasi baru: {error}",
|
||||
"diagnosis_basesystem_ynh_main_version": "Peladen memakai YunoHost {main_version} ({repo})",
|
||||
"diagnosis_cant_run_because_of_dep": "Tidak dapat menjalankan diagnosis untuk {category} ketika ada masalah utama yang terkait dengan {dep}.",
|
||||
"diagnosis_services_conf_broken": "Konfigurasi rusak untuk layanan {service}!",
|
||||
"diagnosis_services_running": "Layanan {service} berjalan!",
|
||||
"diagnosis_swap_ok": "Sistem ini memiliki {total} swap!",
|
||||
"downloading": "Mengunduh...",
|
||||
"pattern_password": "Harus paling tidak 3 karakter",
|
||||
"pattern_password_app": "Maaf, kata sandi tidak dapat mengandung karakter berikut: {forbidden_chars}",
|
||||
"pattern_port_or_range": "Harus angka porta yang valid (cth. 0-65535) atau jangkauan porta (cth. 100:200)",
|
||||
"permission_already_exist": "Izin '{permission}' sudah ada",
|
||||
"permission_cant_add_to_all_users": "Izin '{permission}' tidak dapat ditambahkan ke semua pengguna.",
|
||||
"permission_created": "Izin '{permission}' dibuat",
|
||||
"permission_creation_failed": "Tidak dapat membuat izin '{permission}': {error}",
|
||||
"permission_deleted": "Izin '{permission}' dihapus",
|
||||
"service_description_mysql": "Menyimpan data aplikasi (basis data SQL)",
|
||||
"mailbox_disabled": "Surel dimatikan untuk pengguna {user}",
|
||||
"log_user_update": "Memperbarui informasi untuk pengguna '{}'",
|
||||
"apps_catalog_obsolete_cache": "Tembolok katalog aplikasi kosong atau sudah tua.",
|
||||
"backup_actually_backuping": "Membuat arsip cadangan dari berkas yang dikumpulkan...",
|
||||
"backup_applying_method_copy": "Menyalin semua berkas ke cadangan...",
|
||||
"backup_archive_app_not_found": "Tidak dapat menemukan {app} di arsip cadangan",
|
||||
"config_validate_date": "Harus tanggal yang valid seperti format YYYY-MM-DD",
|
||||
"config_validate_time": "Harus waktu yang valid seperti HH:MM",
|
||||
"diagnosis_ip_connected_ipv6": "Peladen ini terhubung ke internet lewat IPv6!",
|
||||
"diagnosis_services_bad_status": "Layanan {service} {status} :(",
|
||||
"global_settings_setting_root_password": "Kata sandi root baru",
|
||||
"log_app_action_run": "Menjalankan tindakan dari aplikasi '{}'",
|
||||
"log_settings_reset_all": "Atur ulang semua pengaturan",
|
||||
"log_settings_set": "Terapkan pengaturan",
|
||||
"service_removed": "Layanan '{service}' dihapus",
|
||||
"service_restart_failed": "Tidak dapat memulai ulang layanan '{service}'\n\nLog layanan baru-baru ini:{logs}",
|
||||
"ssowat_conf_generated": "Konfigurasi SSOwat diperbarui",
|
||||
"system_upgraded": "Sistem diperbarui",
|
||||
"tools_upgrade": "Memperbarui paket sistem",
|
||||
"upnp_dev_not_found": "Tidak ada perangkat UPnP yang ditemukan",
|
||||
"upnp_enabled": "UPnP dinyalakan",
|
||||
"upnp_port_open_failed": "Tidak dapat membuka porta lewat UPnP",
|
||||
"app_change_url_failed": "Tidak dapat mengubah URL untuk {app}: {error}",
|
||||
"app_restore_script_failed": "Galat terjadi di skrip pemulihan aplikasi",
|
||||
"app_label_deprecated": "Perintah ini sudah usang! Silakan untuk menggunakan perintah baru 'yunohost user permission update' untuk mengelola label aplikasi.",
|
||||
"app_make_default_location_already_used": "Tidak dapat membuat '{app}' menjadi aplikasi baku untuk domain, '{domain}' telah dipakai oleh '{other_app}'",
|
||||
"app_manifest_install_ask_is_public": "Bolehkan aplikasi ini dibuka untuk pengunjung awanama?",
|
||||
"upnp_disabled": "UPnP dimatikan",
|
||||
"global_settings_setting_smtp_allow_ipv6_help": "Perbolehkan penggunaan IPv6 untuk menerima dan mengirim surel",
|
||||
"domain_config_default_app": "Aplikasi baku",
|
||||
"diagnosis_diskusage_verylow": "Penyimpanan <code>{mountpoint}</code> (di perangkat <code>{device}</code>) hanya tinggal memiliki {free} ({free_percent}%) ruang kosong yang tersedia (dari {total}). Direkomendasikan untuk membersihkan ruang penyimpanan!",
|
||||
"domain_config_api_protocol": "Protokol API",
|
||||
"domain_config_cert_summary_letsencrypt": "Bagus! Anda menggunakan sertifikat Let's Encrypt yang valid!",
|
||||
"domain_config_mail_out": "Surel keluar",
|
||||
"domain_deletion_failed": "Tidak dapat menghapus domain {domain}: {error}",
|
||||
"backup_copying_to_organize_the_archive": "Menyalin {size}MB untuk menyusun arsip",
|
||||
"backup_method_copy_finished": "Salinan cadangan telah selesai",
|
||||
"certmanager_domain_cert_not_selfsigned": "Sertifikat untuk domain {domain} bukan disertifikasi sendiri. Apakah Anda yakin ingin mengubahnya? (Gunakan '--force' jika iya)",
|
||||
"diagnosis_diskusage_ok": "Penyimpanan <code>{mountpoint}</code> (di perangkat <code>{device}</code>) masih memiliki {free} ({free_percent}%) ruang kosong yang tersedia (dari {total})!",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date": "Konfigurasi nginx domain ini sepertinya diubah secara manual, itu mencegah YunoHost untuk mendiagnosis apakah domain ini terhubung ke HTTP.",
|
||||
"domain_created": "Domain dibuat",
|
||||
"migrations_running_forward": "Menjalankan migrasi {id}...",
|
||||
"permission_deletion_failed": "Tidak dapat menghapus izin '{permission}': {error}",
|
||||
"domain_config_cert_no_checks": "Abaikan pemeriksaan diagnosis",
|
||||
"domain_config_cert_renew": "Perbarui sertifikat Let's Encrypt",
|
||||
"domain_config_cert_summary": "Status sertifikat",
|
||||
"domain_config_cert_summary_expired": "PENTING: Sertifikat saat ini tidak valid! HTTPS tidak akan bekerja sama sekali!",
|
||||
"port_already_opened": "Porta {port} telah dibuka untuk koneksi {ip_version}",
|
||||
"migrations_success_forward": "Migrasi {id} selesai",
|
||||
"not_enough_disk_space": "Ruang kosong tidak cukup di '{path}'",
|
||||
"password_too_long": "Pilih kata sandi yang lebih pendek dari 127 karakter",
|
||||
"regenconf_file_backed_up": "Berkas konfigurasi '{conf}' dicadangkan ke '{backup}'",
|
||||
"domain_creation_failed": "Tidak dapat membuat domain {domain}: {error}",
|
||||
"domain_deleted": "Domain dihapus",
|
||||
"regex_with_only_domain": "Anda tidak dapat menggunakan regex untuk domain, hanya untuk jalur",
|
||||
"diagnosis_diskusage_low": "Penyimpanan <code>{mountpoint}</code> (di perangkat <code>{device}</code>) hanya tinggal memiliki {free} ({free_percent}%) ruang kosong yang tersedia (dari {total}).",
|
||||
"domain_config_cert_summary_ok": "Oke, sertifikat saat ini terlihat bagus!",
|
||||
"app_failed_to_upgrade_but_continue": "Gagal memperbarui aplikasi {failed_app}, melanjutkan pembaruan berikutnya seperti yang diminta. Jalankan 'yunohost log show {operation_logger_name}' untuk melihat log kegagalan",
|
||||
"certmanager_attempt_to_replace_valid_cert": "Anda sedang mencoba untuk menimpa sertifikat yang valid untuk domain {domain}! (Gunakan --force untuk melewati ini)",
|
||||
"permission_protected": "Izin {permission} dilindungi. Anda tidak dapat menambahkan atau menghapus kelompok pengunjung ke/dari izin ini.",
|
||||
"permission_require_account": "Izin {permission} hanya masuk akal untuk pengguna yang memiliki akun, maka ini tidak dapat diaktifkan untuk pengunjung.",
|
||||
"permission_update_failed": "Tidak dapat memperbarui izin '{permission}': {error}",
|
||||
"apps_failed_to_upgrade": "Aplikasi berikut gagal untuk diperbarui:{apps}",
|
||||
"backup_archive_name_unknown": "Arsip cadangan lokal tidak diketahui yang bernama '{name}'",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date_details": "Untuk memperbaiki ini, periksa perbedaannya dari CLI menggunakan <cmd>yunohost tools regen-conf nginx --dry-run --with-diff</cmd> dan jika Anda sudah, terapkan perubahannya menggunakan <cmd>yunohost tools regen-conf nginx --force</cmd>.",
|
||||
"domain_config_auth_token": "Token autentikasi",
|
||||
"domain_config_cert_install": "Pasang sertifikat Let's Encrypt",
|
||||
"domain_config_cert_summary_abouttoexpire": "Sertifikat saat ini akan kedaluwarsa. Akan secara otomatis diperbarui secepatnya.",
|
||||
"domain_config_mail_in": "Surel datang",
|
||||
"password_too_simple_1": "Panjang kata sandi harus paling tidak 8 karakter",
|
||||
"password_too_simple_2": "Panjang kata sandi harus paling tidak 8 karakter dan mengandung digit, huruf kapital, dan huruf kecil",
|
||||
"password_too_simple_3": "Panjang kata sandi harus paling tidak 8 karakter dan mengandung digit, huruf kapital, huruf kecil, dan karakter khusus",
|
||||
"password_too_simple_4": "Panjang kata sandi harus paling tidak 12 karakter dan mengandung digit, huruf kapital, huruf kecil, dan karakter khusus",
|
||||
"port_already_closed": "Porta {port} telah ditutup untuk koneksi {ip_version}",
|
||||
"service_description_yunomdns": "Membuat Anda bisa menemukan peladen Anda menggunakan 'yunohost.local' di jaringan lokal Anda",
|
||||
"regenconf_file_copy_failed": "Tidak dapat menyalin berkas konfigurasi baru '{new}' ke '{conf}'",
|
||||
"regenconf_file_kept_back": "Berkas konfigurasi '{conf}' seharusnya dihapus oleh regen-conf (kategori {category}) tapi tidak jadi.",
|
||||
"regenconf_file_manually_modified": "Berkas konfigurasi '{conf}' telah diubah secara manual dan tidak akan diperbarui",
|
||||
"regenconf_file_manually_removed": "Berkas konfigurasi '{conf}' telah dihapus secara manual dan tidak akan dibikin",
|
||||
"regenconf_file_remove_failed": "Tidak dapat menghapus berkas konfigurasi '{conf}'",
|
||||
"regenconf_file_removed": "Berkas konfigurasi '{conf}' dihapus",
|
||||
"regenconf_file_updated": "Berkas konfigurasi '{conf}' diperbarui",
|
||||
"regenconf_now_managed_by_yunohost": "Berkas konfigurasi '{conf}' sekarang dikelola oleh YunoHost (kategori {category})",
|
||||
"regenconf_updated": "Konfigurasi diperbarui untuk '{category}'",
|
||||
"log_user_group_delete": "Menghapus kelompok '{}'",
|
||||
"backup_archive_cant_retrieve_info_json": "Tidak dapat memuat info untuk arsip '{archive}'... Berkas info.json tidak dapat didapakan (atau bukan json yang valid).",
|
||||
"diagnosis_mail_blacklist_reason": "Alasan pendaftarhitaman adalah: {reason}",
|
||||
"diagnosis_ports_unreachable": "Porta {port} tidak tercapai dari luar.",
|
||||
"diagnosis_ram_verylow": "Sistem hanya memiliki {available} ({available_percent}%) RAM yang tersedia! (dari {total})",
|
||||
"diagnosis_regenconf_allgood": "Semua berkas konfigurasi sesuai dengan rekomendasi konfigurasi!",
|
||||
"diagnosis_security_vulnerable_to_meltdown": "Sepertinya sistem Anda rentan terhadap kerentanan keamanan Meltdown",
|
||||
"diagnosis_security_vulnerable_to_meltdown_details": "Untuk memperbaiki ini, sebaiknya perbarui sistem Anda dan mulai ulang untuk memuat kernel linux yang baru (atau hubungi penyedia peladen Anda jika itu tidak bekerja). Kunjungi https://meltdownattack.com/ untuk informasi lebih lanjut.",
|
||||
"domain_exists": "Domain telah ada",
|
||||
"domain_uninstall_app_first": "Aplikasi berikut masih terpasang di domain Anda:\n{apps}\n\nSilakan lepas mereka menggunakan 'yunohost app remove id_aplikasi' atau pindahkan ke domain lain menggunakan 'yunohost app change-url id_aplikasi' sebelum melanjutkan ke penghapusan domain",
|
||||
"group_creation_failed": "Tidak dapat membuat kelompok '{group}': {error}",
|
||||
"group_deleted": "Kelompok '{group}' dihapus",
|
||||
"log_letsencrypt_cert_install": "Memasang sertifikat Let's Encrypt di domain '{}'",
|
||||
"log_permission_create": "Membuat izin '{}'",
|
||||
"log_permission_delete": "Menghapus izin '{}'",
|
||||
"backup_with_no_backup_script_for_app": "Aplikasi '{app}' tidak memiliki skrip pencadangan. Mengabaikan.",
|
||||
"backup_system_part_failed": "Tidak dapat mencadangkan bagian '{part}' sistem",
|
||||
"log_user_create": "Menambahkan pengguna '{}'",
|
||||
"log_user_delete": "Menghapus pengguna '{}'",
|
||||
"log_user_group_create": "Membuat kelompok '{}'",
|
||||
"log_user_group_update": "Memperbarui kelompok '{}'",
|
||||
"log_user_permission_update": "Memperbarui akses untuk izin '{}'",
|
||||
"mail_alias_remove_failed": "Tidak dapat menghapus alias surel '{mail}'",
|
||||
"diagnosis_mail_blacklist_ok": "IP dan domain yang digunakan oleh peladen ini sepertinya tidak didaftarhitamkan",
|
||||
"diagnosis_dns_point_to_doc": "Silakan periksa dokumentasi di <a href='https://yunohost.org/dns_config'>https://yunohost.org/dns_config</a> jika Anda masih membutuhkan bantuan untuk mengatur rekaman DNS.",
|
||||
"diagnosis_regenconf_manually_modified": "Berkas konfigurasi <code>{file}</code> sepertinya telah diubah manual.",
|
||||
"backup_with_no_restore_script_for_app": "{app} tidak memiliki skrip pemulihan, Anda tidak akan bisa secara otomatis memulihkan cadangan aplikasi ini.",
|
||||
"config_no_panel": "Tidak dapat menemukan panel konfigurasi.",
|
||||
"confirm_app_install_warning": "Peringatan: Aplikasi ini mungkin masih bisa bekerja, tapi tidak terintegrasi dengan baik dengan YunoHost. Beberapa fitur seperti SSO dan pencadangan mungkin tidak tersedia. Tetap pasang? [{answers}] ",
|
||||
"diagnosis_ports_ok": "Porta {port} tercapai dari luar.",
|
||||
"diagnosis_ports_partially_unreachable": "Porta {port} tidak tercapai dari luar lewat IPv{failed}.",
|
||||
"domain_remove_confirm_apps_removal": "Menghapus domain ini akan melepas aplikasi berikut:\n{apps}\n\nApakah Anda yakin? [{answers}]",
|
||||
"domains_available": "Domain yang tersedia:",
|
||||
"global_settings_reset_success": "Atur ulang pengaturan global",
|
||||
"group_created": "Kelompok '{group}' dibuat",
|
||||
"group_deletion_failed": "Tidak dapat menghapus kelompok '{group}': {error}",
|
||||
"group_updated": "Kelompok '{group}' diperbarui",
|
||||
"invalid_credentials": "Nama pengguna atau kata sandi salah",
|
||||
"log_letsencrypt_cert_renew": "Memperbarui sertifikat Let's Encrypt '{}'",
|
||||
"log_selfsigned_cert_install": "Memasang sertifikat ditandai sendiri pada domain '{}'",
|
||||
"log_user_permission_reset": "Mengatur ulang izin '{}'",
|
||||
"domain_config_xmpp": "Pesan Langsung (XMPP)"
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue