diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 088fafb..61ed3c7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,3 +1,13 @@ +image: fedora:30 + +before_script: + - dnf install -y meson pkgconf-pkg-config gtk-doc + libxml2-devel dbus-daemon + glib2-devel dbus-devel gobject-introspection-devel + gettext-devel polkit-devel polkit-gnome git + lcov pam-devel gtk3-devel accountsservice-devel flatpak-devel + - export LANG=C.UTF-8 + stages: - build - deploy @@ -6,53 +16,23 @@ cache: paths: - _ccache/ -variables: - DEBIAN_IMAGE: "registry.freedesktop.org/pwithnall/malcontent/debian-unstable:v4" - MESON_TEST_TIMEOUT_MULTIPLIER: 2 - G_MESSAGES_DEBUG: all - MESON_COMMON_OPTIONS: "--buildtype debug --wrap-mode=nodownload" - -.only-default: - only: - - branches +fedora: + stage: build except: - tags - -.build: - extends: .only-default - before_script: - - cp -r $HOME/subprojects/* subprojects/ - -debian: - extends: .build - image: $DEBIAN_IMAGE - stage: build - variables: - CFLAGS: "-coverage -ftest-coverage -fprofile-arcs" script: - - meson ${MESON_COMMON_OPTIONS} - --werror - -Db_coverage=true - -Dinstalled_tests=true - -Dprivileged_group=sudo - _build - - ninja -C _build - - mkdir -p _coverage - - lcov --config-file .gitlab-ci/lcovrc --directory _build --capture --initial --output-file "_coverage/${CI_JOB_NAME}-baseline.lcov" - - .gitlab-ci/run-tests.sh - - lcov --config-file .gitlab-ci/lcovrc --directory _build --capture --output-file "_coverage/${CI_JOB_NAME}.lcov" - - bash -x ./.gitlab-ci/coverage-docker.sh + - git submodule update --init + - meson --buildtype debug --werror -Db_coverage=true -Ddocumentation=true _build . + - meson test -C _build + # FIXME: lcov doesn't support gcc9 yet: + # https://github.com/linux-test-project/lcov/issues/58 + - ninja -C _build coverage || true coverage: '/^\s+lines\.+:\s+([\d.]+\%)\s+/' artifacts: - reports: - junit: "_build/${CI_JOB_NAME}-report.xml" - name: "malcontent-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}" when: always + name: "malcontent-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}" paths: - - "_build/config.h" - "_build/meson-logs" - - "_build/${CI_JOB_NAME}-report.xml" - - "_coverage" # FIXME: Run gtkdoc-check when we can. See: # https://github.com/mesonbuild/meson/issues/3580 @@ -60,9 +40,10 @@ debian: pages: stage: deploy only: - - main + - master script: - - mv _coverage/ public/ + - mkdir -p public/ + - mv _build/meson-logs/coveragereport/ public/coverage/ artifacts: paths: - public diff --git a/.gitlab-ci/README.md b/.gitlab-ci/README.md deleted file mode 100644 index cb76b00..0000000 --- a/.gitlab-ci/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# CI support stuff - -## Docker image - -GitLab CI jobs run in a Docker image, defined here. To update that image -(perhaps to install some more packages): - -1. Edit `.gitlab-ci/Dockerfile` with the changes you want -1. Run `.gitlab-ci/run-docker.sh build --base=debian-unstable --base-version=1` to - build the new image (bump the version from the latest listed for that `base` - on https://gitlab.freedesktop.org/pwithnall/malcontent/container_registry) -1. Run `.gitlab-ci/run-docker.sh push --base=debian-unstable --base-version=1` to - upload the new image to the GNOME GitLab Docker registry - * If this is the first time you're doing this, you'll need to log into the - registry - * If you use 2-factor authentication on your GNOME GitLab account, you'll - need to [create a personal access token][pat] and use that rather than - your normal password — the token should have `read_registry` and - `write_registry` permissions -1. Edit `.gitlab-ci.yml` (in the root of this repository) to use your new - image - -[pat]: https://gitlab.freedesktop.org/profile/personal_access_tokens diff --git a/.gitlab-ci/cache-subprojects.sh b/.gitlab-ci/cache-subprojects.sh deleted file mode 100755 index b07239f..0000000 --- a/.gitlab-ci/cache-subprojects.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -set -e - -git clone --depth 1 --no-tags https://gitlab.freedesktop.org/pwithnall/malcontent.git -meson subprojects download --sourcedir malcontent -rm malcontent/subprojects/*.wrap -mv malcontent/subprojects/ . -rm -rf malcontent diff --git a/.gitlab-ci/coverage-docker.sh b/.gitlab-ci/coverage-docker.sh deleted file mode 100755 index 9e3bbba..0000000 --- a/.gitlab-ci/coverage-docker.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -set -e - -for path in _coverage/*.lcov; do - # Remove coverage from generated code in the build directory - lcov --config-file .gitlab-ci/lcovrc -r "${path}" '*/_build/*' -o "$(pwd)/${path}" - # Remove any coverage from system files - lcov --config-file .gitlab-ci/lcovrc -e "${path}" "$(pwd)/*" -o "$(pwd)/${path}" -done - -genhtml \ - --ignore-errors=source \ - --config-file .gitlab-ci/lcovrc \ - _coverage/*.lcov \ - -o _coverage/coverage - -cd _coverage -rm -f ./*.lcov - -cat >index.html < - - - - -EOL diff --git a/.gitlab-ci/debian-unstable.Dockerfile b/.gitlab-ci/debian-unstable.Dockerfile deleted file mode 100644 index 226bdea..0000000 --- a/.gitlab-ci/debian-unstable.Dockerfile +++ /dev/null @@ -1,45 +0,0 @@ -FROM debian:unstable - -RUN apt-get update -qq && apt-get install --no-install-recommends -qq -y \ - desktop-file-utils \ - gettext \ - git \ - gtk-doc-tools \ - lcov \ - libadwaita-1-dev \ - libaccountsservice-dev \ - libappstream-dev \ - libdbus-1-dev \ - libflatpak-dev \ - libgirepository1.0-dev \ - libglib2.0-dev \ - libglib-testing-0-dev \ - libgtk-4-dev \ - libpam0g-dev \ - libpolkit-gobject-1-dev \ - libxml2-utils \ - locales \ - meson \ - pkg-config \ - policykit-1 \ - python3-pip \ - && rm -rf /usr/share/doc/* /usr/share/man/* - -# Locale for our build -RUN locale-gen C.UTF-8 && /usr/sbin/update-locale LANG=C.UTF-8 - -ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8 - -RUN pip3 install meson==0.59.4 - -ARG HOST_USER_ID=5555 -ENV HOST_USER_ID ${HOST_USER_ID} -RUN useradd -u $HOST_USER_ID -ms /bin/bash user - -USER user -WORKDIR /home/user - -COPY cache-subprojects.sh . -RUN ./cache-subprojects.sh - -ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8 diff --git a/.gitlab-ci/lcovrc b/.gitlab-ci/lcovrc deleted file mode 100644 index 3901f81..0000000 --- a/.gitlab-ci/lcovrc +++ /dev/null @@ -1,13 +0,0 @@ -# lcov and genhtml configuration -# See http://ltp.sourceforge.net/coverage/lcov/lcovrc.5.php - -# Always enable branch coverage -lcov_branch_coverage = 1 - -# Exclude precondition assertions, as we can never reasonably get full branch -# coverage of them, as they should never normally fail. -# See https://github.com/linux-test-project/lcov/issues/44 -lcov_excl_br_line = LCOV_EXCL_BR_LINE|g_return_if_fail|g_return_val_if_fail|g_assert|g_assert_ - -# Similarly for unreachable assertions. -lcov_excl_line = LCOV_EXCL_LINE|g_return_if_reached|g_return_val_if_reached|g_assert_not_reached \ No newline at end of file diff --git a/.gitlab-ci/meson-junit-report.py b/.gitlab-ci/meson-junit-report.py deleted file mode 100755 index 8d8ccad..0000000 --- a/.gitlab-ci/meson-junit-report.py +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/bin/env python3 - -# Turns a Meson testlog.json file into a JUnit XML report -# -# Copyright 2019 GNOME Foundation -# -# SPDX-License-Identifier: LGPL-2.1-or-later -# -# Original author: Emmanuele Bassi - -import argparse -import datetime -import json -import os -import sys -import xml.etree.ElementTree as ET - -aparser = argparse.ArgumentParser(description='Turns a Meson test log into a JUnit report') -aparser.add_argument('--project-name', metavar='NAME', - help='The project name', - default='unknown') -aparser.add_argument('--job-id', metavar='ID', - help='The job ID for the report', - default='Unknown') -aparser.add_argument('--branch', metavar='NAME', - help='Branch of the project being tested', - default='main') -aparser.add_argument('--output', metavar='FILE', - help='The output file, stdout by default', - type=argparse.FileType('w', encoding='UTF-8'), - default=sys.stdout) -aparser.add_argument('infile', metavar='FILE', - help='The input testlog.json, stdin by default', - type=argparse.FileType('r', encoding='UTF-8'), - default=sys.stdin) - -args = aparser.parse_args() - -outfile = args.output - -testsuites = ET.Element('testsuites') -testsuites.set('id', '{}/{}'.format(args.job_id, args.branch)) -testsuites.set('package', args.project_name) -testsuites.set('timestamp', datetime.datetime.utcnow().isoformat()) - -suites = {} -for line in args.infile: - data = json.loads(line) - (full_suite, unit_name) = data['name'].split(' / ') - try: - (project_name, suite_name) = full_suite.split(':') - except ValueError: - project_name = full_suite - suite_name = full_suite - - duration = data['duration'] - return_code = data['returncode'] - log = data['stdout'] - log_stderr = data.get('stderr', '') - - unit = { - 'suite': suite_name, - 'name': unit_name, - 'duration': duration, - 'returncode': return_code, - 'stdout': log, - 'stderr': log_stderr, - } - - units = suites.setdefault(suite_name, []) - units.append(unit) - -for name, units in suites.items(): - print('Processing suite {} (units: {})'.format(name, len(units))) - - def if_failed(unit): - if unit['returncode'] != 0: - return True - return False - - def if_succeded(unit): - if unit['returncode'] == 0: - return True - return False - - successes = list(filter(if_succeded, units)) - failures = list(filter(if_failed, units)) - print(' - {}: {} pass, {} fail'.format(name, len(successes), len(failures))) - - testsuite = ET.SubElement(testsuites, 'testsuite') - testsuite.set('name', '{}/{}'.format(args.project_name, name)) - testsuite.set('tests', str(len(units))) - testsuite.set('errors', str(len(failures))) - testsuite.set('failures', str(len(failures))) - - for unit in successes: - testcase = ET.SubElement(testsuite, 'testcase') - testcase.set('classname', '{}/{}'.format(args.project_name, unit['suite'])) - testcase.set('name', unit['name']) - testcase.set('time', str(unit['duration'])) - - for unit in failures: - testcase = ET.SubElement(testsuite, 'testcase') - testcase.set('classname', '{}/{}'.format(args.project_name, unit['suite'])) - testcase.set('name', unit['name']) - testcase.set('time', str(unit['duration'])) - - failure = ET.SubElement(testcase, 'failure') - failure.set('classname', '{}/{}'.format(args.project_name, unit['suite'])) - failure.set('name', unit['name']) - failure.set('type', 'error') - failure.text = unit['stdout'] + '\n' + unit['stderr'] - -output = ET.tostring(testsuites, encoding='unicode') -outfile.write(output) diff --git a/.gitlab-ci/run-docker.sh b/.gitlab-ci/run-docker.sh deleted file mode 100755 index 665122f..0000000 --- a/.gitlab-ci/run-docker.sh +++ /dev/null @@ -1,132 +0,0 @@ -#!/bin/bash - -read_arg() { - # $1 = arg name - # $2 = arg value - # $3 = arg parameter - local rematch='^[^=]*=(.*)$' - if [[ $2 =~ $rematch ]]; then - read -r "$1" <<< "${BASH_REMATCH[1]}" - else - read -r "$1" <<< "$3" - # There is no way to shift our callers args, so - # return 1 to indicate they should do it instead. - return 1 - fi -} - -SUDO_CMD="sudo" -if docker -v |& grep -q podman; then - # Using podman - SUDO_CMD="" - # Docker is actually implemented by podman, and its OCI output - # is incompatible with some of the dockerd instances on GitLab - # CI runners. - export BUILDAH_FORMAT=docker -fi - -set -e - -base="" -base_version="" -build=0 -run=0 -push=0 -list=0 -print_help=0 -no_login=0 - -while (($# > 0)); do - case "${1%%=*}" in - build) build=1;; - run) run=1;; - push) push=1;; - list) list=1;; - help) print_help=1;; - --base|-b) read_arg base "$@" || shift;; - --base-version) read_arg base_version "$@" || shift;; - --no-login) no_login=1;; - *) echo -e "\e[1;31mERROR\e[0m: Unknown option '$1'"; exit 1;; - esac - shift -done - -if [ $print_help == 1 ]; then - echo "$0 - Build and run Docker images" - echo "" - echo "Usage: $0 [options] [basename]" - echo "" - echo "Available commands" - echo "" - echo " build --base= - Build Docker image .Dockerfile" - echo " run --base= - Run Docker image " - echo " push --base= - Push Docker image to the registry" - echo " list - List available images" - echo " help - This help message" - echo "" - exit 0 -fi - -cd "$(dirname "$0")" - -if [ $list == 1 ]; then - echo "Available Docker images:" - for f in *.Dockerfile; do - filename=$( basename -- "$f" ) - basename="${filename%.*}" - - echo -e " \e[1;39m$basename\e[0m" - done - exit 0 -fi - -# All commands after this require --base to be set -if [ -z "${base}" ]; then - echo "Usage: $0 " - exit 1 -fi - -if [ ! -f "$base.Dockerfile" ]; then - echo -e "\e[1;31mERROR\e[0m: Dockerfile for '$base' not found" - exit 1 -fi - -if [ -z "${base_version}" ]; then - base_version="latest" -else - base_version="v$base_version" -fi - -TAG="registry.freedesktop.org/pwithnall/malcontent/${base}:${base_version}" - -if [ $build == 1 ]; then - echo -e "\e[1;32mBUILDING\e[0m: ${base} as ${TAG}" - $SUDO_CMD docker build \ - --build-arg HOST_USER_ID="$UID" \ - --tag "${TAG}" \ - --file "${base}.Dockerfile" . - exit $? -fi - -if [ $push == 1 ]; then - echo -e "\e[1;32mPUSHING\e[0m: ${base} as ${TAG}" - - if [ $no_login == 0 ]; then - $SUDO_CMD docker login registry.freedesktop.org - fi - - $SUDO_CMD docker push $TAG - exit $? -fi - -if [ $run == 1 ]; then - echo -e "\e[1;32mRUNNING\e[0m: ${base} as ${TAG}" - $SUDO_CMD docker run \ - --rm \ - --volume "$(pwd)/..:/home/user/app" \ - --workdir "/home/user/app" \ - --tty \ - --interactive "${TAG}" \ - bash - exit $? -fi diff --git a/.gitlab-ci/run-tests.sh b/.gitlab-ci/run-tests.sh deleted file mode 100755 index ad57ab3..0000000 --- a/.gitlab-ci/run-tests.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -set +e - -case "$1" in - --log-file) - log_file="$2" - shift - shift - ;; - *) - log_file="_build/meson-logs/testlog.json" -esac - -meson test \ - -C _build \ - --timeout-multiplier "${MESON_TEST_TIMEOUT_MULTIPLIER}" \ - --no-suite flaky \ - "$@" - -exit_code=$? - -python3 .gitlab-ci/meson-junit-report.py \ - --project-name=malcontent \ - --job-id "${CI_JOB_NAME}" \ - --output "_build/${CI_JOB_NAME}-report.xml" \ - "${log_file}" - -exit $exit_code diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..c5c8e24 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "subprojects/libglib-testing"] + path = subprojects/libglib-testing + url = https://gitlab.gnome.org/pwithnall/libglib-testing.git diff --git a/COPYING-DOCS b/COPYING-DOCS deleted file mode 100644 index 23fba30..0000000 --- a/COPYING-DOCS +++ /dev/null @@ -1,61 +0,0 @@ -Attribution-ShareAlike 3.0 Unported - -CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. -License - -THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. - -BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. - -1. Definitions - -"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. -"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined below) for the purposes of this License. -"Creative Commons Compatible License" means a license that is listed at http://creativecommons.org/compatiblelicenses that has been approved by Creative Commons as being essentially equivalent to this License, including, at a minimum, because that license: (i) contains terms that have the same purpose, meaning and effect as the License Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of works made available under that license under this License or a Creative Commons jurisdiction license with the same License Elements as this License. -"Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. -"License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. -"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. -"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. -"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. -"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. -"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. -"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. -2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. - -3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: - -to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; -to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; -to Distribute and Publicly Perform the Work including as incorporated in Collections; and, -to Distribute and Publicly Perform Adaptations. -For the avoidance of doubt: - -Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; -Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, -Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. -The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. - -4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: - -You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested. -You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible License. If you license the Adaptation under one of the licenses mentioned in (iv), you must comply with the terms of that license. If you license the Adaptation under the terms of any of the licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), you must comply with the terms of the Applicable License generally and the following provisions: (I) You must include a copy of, or the URI for, the Applicable License with every copy of each Adaptation You Distribute or Publicly Perform; (II) You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License; (III) You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License. -If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Ssection 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. -Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. -5. Representations, Warranties and Disclaimer - -UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. - -6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. Termination - -This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. -Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. -8. Miscellaneous - -Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. -Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. -If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. -No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. -This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. -The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/HACKING.md b/HACKING.md deleted file mode 100644 index 3a2a921..0000000 --- a/HACKING.md +++ /dev/null @@ -1,22 +0,0 @@ -Terminology ------------ - -The main terminology used in malcontent is ‘parental controls’, which are -implemented by ‘administrators’ and enforced on ‘child users’. - -The feature applies to a range of other carer/caree relationships, though, where -the ‘caree’ user might need to be protected from doing things on the computer -which aren’t suitable for them. - -The terminology ‘parental controls’ is used consistently, despite not all -situations actually involving a parent or child, because that’s how most users -will find the functionality. - -To remain as inclusive as possible, there are some rules about which terminology -to use: - - Use ‘parental controls’ to refer to the overall feature - - Refer to ‘administrators’ or ‘administrator accounts’ rather than ‘parents’ - - Refer to ‘child users’ in general contexts, but refer to particular user - accounts using their full name — don’t mention ‘child’ in that case - -Reference: https://gitlab.freedesktop.org/pwithnall/malcontent/-/issues/13 diff --git a/NEWS b/NEWS index 7e7a121..bfbfa46 100644 --- a/NEWS +++ b/NEWS @@ -1,420 +1,3 @@ -Overview of changes in malcontent 0.11.1 -======================================== - -* Bugs fixed: - - !147 0.11.0 - - !148 build: Switch to Meson’s gnome.post_install function - - !149 po: add Georgian translation - - !150 Update Hungarian translation - - !151 Update Hindi (hi) translation - - !152 doc: Add Turkish Translation - -* Translation updates: - - Georgian (NorwayFun) - - Hindi (Hemish) - - Hungarian (Balázs Úr) - - Turkish (Sabri Unal) - - -Overview of changes in malcontent 0.11.0 -======================================== - -* libmalcontent-ui, and the malcontent-control application, now use - libappstream rather than appstream-glib. (#51) - -* libmalcontent-ui, and the malcontent-control application, now use GTK 4 and - libadwaita rather than GTK+ 3. (!141) - -* As a result of these changes, the pkg-config name has been bumped to - libmalcontent-ui-1, and the gobject-introspection name to MalcontentUi-1. - -* Improve keyboard navigation of the malcontent-control application. (#52) - -* Translation updates: - - Italian - - Russian - -Overview of changes in malcontent 0.10.5 -======================================== - -* Bugs fixed: - - !134 Update it.po - - !135 Add German help translation - - !136 Update pt_BR.po - - !137 Update tr.po - - !138 Update Chinese (Taiwan) translation file. - -* Translation updates: - - Chinese (Taiwan) - - Italian - - Portuguese (Brazil) - - Turkish - - -Overview of changes in malcontent 0.10.4 -======================================== - -* Bugs fixed: - - !127 Update Catalan translation - - !128 Update German proof-read translation from https://l10n.gnome.org/vertimus/malcontent/main/po/de/ - - !129 Update it.po - - !132 Remove superfluous arguments to i18n.merge_file - - !133 help: Add Italian help translation - -* Translation updates: - - Catalan - - German - - Italian - - -Overview of changes in malcontent 0.10.3 -======================================== - -* Bugs fixed: - - #44 Do not make malcontent-control user uninstallable using gui - - !123 Add Czech translation - - !124 Update Czech translation - - !125 malcontent-control: Fix an unterminated option entry array - - !126 malcontent-control: Focus controls rather than user selector - -* Translation updates: - - Czech - - -Overview of changes in malcontent 0.10.2 -======================================== - -* Hide the launcher for malcontent-control from gnome-shell if using the GNOME - desktop; find it via gnome-control-center instead (!119) - -* Bugs fixed: - - !118 ci: Limit depth of clone of subprojects - - !119 malcontent-control: Hide application in GNOME - - !121 ci: Rename master to main branch - -* Translation updates: - - Indonesian - - Italian - - -Overview of changes in malcontent 0.10.1 -======================================== - -* Bugs fixed: - - #32 App sort key does not match displayed name - - !112 Update Swedish translation - - !113 Update Polish translation 201220 - - !116 libmalcontent-ui: Drop handling of eos-link desktop files - -* Translation updates: - - Polish - - Swedish - - -Overview of changes in malcontent 0.10.0 -======================================== - -* Improve support for systems without accountsservice (#27) - -* Fix some data loss-causing state synchronisation problems (#18, #28) - -* Hide support for flatpak user repositories, as they are typically not - configured on systems (#30) - -* Bugs fixed: - - #4 Add manpage docs for malcontent-client monitor, set and oars-section commands - - #13 Consider terminology of ‘parental controls’ - - #15 Improving padding/spacing in malcontent-control UI - - #18 Reload ‘Restrict Apps’ list when installed apps change on system - - #19 Add command line option to malcontent-control to pre-select a user - - #23 appdata not validating - - #25 Parental controls app empty state is misleading - - #27 Fails closed if accountsservice isn't available on the bus - - #28 ‘Restrict Applications’ dialogue is empty if MctUserControls is created with empty app filter - - #30 ‘Restrict App Installation’ tickboxes are confusing - - !85 Update Ukrainian translation - - !86 l10n: Update Italian translation - - !87 l10n-sv - - !88 Add Danish translation - - !91 libmalcontent: Rationalise a couple of translatable strings - - !92 Fix several issues with the app list in the restrict applications dialogue - - !93 Update Ukrainian translation - - !94 Update Polish translation 201018 - - !96 Update Polish translation 201025 - - !100 Bump appstream-glib dep and update content rating code - - !101 Fix partial loss of parental controls settings when partially updating them - - !102 user-controls: Only save the app filter if it’s changed - - !103 malcontent-control: Add link to guidance on how to set parental controls - - !104 docs: Add a development principles section to the README - - !106 Update Danish translation - - !107 Update Ukrainian translation - - !108 Update Ukrainian translation - - !109 Update Ukrainian translation - - !111 accounts-service: Allow installation to the system repo by default - -* Translation updates: - - Danish - - Italian - - Polish - - Swedish - - Ukrainian - - -Overview of changes in malcontent 0.9.0 -======================================= - -* Use appstream-glib code for content rating systems if available — this - adds a dependency on appstream-glib, but no particular version (see #7) - -* Rename three APIs in `app-filter.h` to avoid discriminatory language: - - `mct_app_filter_builder_blacklist_path` → `…_blocklist_path` - - `…_blacklist_flatpak_ref` → `…_blocklist_flatpak_ref` - - `…_blacklist_content_type` → `…_blocklist_content_type` - This is an API break. (See !72) - -* Add a `privileged_group` configure option to set the name of the system - sudo group — it might be `sudo` or `wheel` (thanks to Sergey Shatunov; see #22) - -* Bugs fixed: - - #7 Lift GNOME Software content rating implementation into appstream-glib, and fix it - - #21 No references to homosexuality - - #22 Polkit rules should use wheel group instead of sudo - - !69 Two small UI tweaks - - !72 tree-wide: Replace usages of whitelist/blacklist - - !73 po: Update translations from downstream in Endless - - !74 Update Ukrainian translation - - !75 Update Polish translation 200614 - - !77 all: Fix various typos and incorrect terminology - - !78 build: Use meson.current_source_dir() instead of source_root() - - !79 build: Re-add libglib-testing subproject - - !80 Update Brazilian Portuguese translation - - !81 ci: Use pre-built Docker images for CI builds - - !82 subprojects: Limit depth when cloning - - !83 Update Spanish translation - -* Translation updates: - - Afrikaans - - Arabic - - Bangla - - Basque - - Bokmål, Norwegian - - Bulgarian - - Catalan - - Catalan — valencia.UTF-8 - - Chinese (Taiwan) - - Croatian - - Czech - - Danish - - Dutch - - Esperanto - - Finnish - - French - - Friulian - - Gaelic - - Galician - - German - - Greek, Modern (1453-) - - Hebrew - - Hindi - - Hungarian - - Indonesian - - Italian - - Kazakh - - Korean - - Latvian - - Lithuanian - - Malay - - Malayalam - - Occitan (post 1500) - - Panjabi - - Persian - - Polish - - Portuguese - - Portuguese (Brazil) - - Romanian - - Russian - - Serbian - - Serbian — latin.UTF-8 - - Slovak - - Slovenian - - Spanish - - Swedish - - Thai - - Turkish - - Ukrainian - - Vietnamese - - -Overview of changes in malcontent 0.8.0 -======================================= - -* Add user manual (!51) - -* Add a header bar and primary menu to the main UI (!58) - -* Bump Meson dependency to 0.50.0 (!59) - -* Fix translation of libmalcontent-ui widgets when used in other applications (!68) - -* Bugs fixed: - - !3 Remove use of libglib-testing subproject - - !50 Various meson cleanups - - !51 Add user manual/documentation - - !52 Update Polish translation 200329 - - !53 Added Indonesian translation - - !54 Update Ukrainian translation - - !55 libmalcontent: Add enum types to fix introspection of MctManagerError - - !56 Update Polish translation 200405 - - !57 Update Ukrainian translation + docs translation - - !58 malcontent-control: Add a header bar and primary menu - - !59 meson: bump minimum version to 0.50.0 - - !60 user-controls: Add a fallback bus connection - - !62 Added Indonesian help translation - - !63 Import translations from Endless - - !64 Import zh_TW translation from Endless - - !65 Add translator comments for about dialog strings - - !66 Update Brazilian Portuguese translation - - !67 Add Brazilian Portuguese translation - - !68 Fix translation of libmalcontent-ui - -* Translation updates: - - Afrikaans - - Arabic - - Bangla - - Basque - - Bokmål, Norwegian - - Bulgarian - - Catalan - - Catalan — valencia.UTF-8 - - Chinese (Taiwan) - - Croatian - - Czech - - Danish - - Dutch - - Esperanto - - Finnish - - French - - Friulian - - Gaelic - - Galician - - German - - Greek, Modern (1453-) - - Hebrew - - Hindi - - Hungarian - - Indonesian - - Italian - - Kazakh - - Korean - - Latvian - - Lithuanian - - Malay - - Malayalam - - Occitan (post 1500) - - Panjabi - - Persian - - Polish - - Portuguese - - Portuguese (Brazil) - - Romanian - - Russian - - Serbian - - Serbian — latin.UTF-8 - - Slovak - - Slovenian - - Spanish - - Swedish - - Thai - - Turkish - - Ukrainian - - Vietnamese - - -Overview of changes in malcontent 0.7.0 -======================================= - -* Add `-Dui` configure option to help work around circular dependency with - flatpak (#16) - -* Add data serialization and deserialization methods for app filters and - session limits (!45) - -* Add mct_app_filter_is_enabled() and mct_session_limits_is_enabled() APIs - for determining whether filtering/limits are enabled at a high level (!47) - -* Bugs fixed: - - #16 Circular dependency on flatpak - - !35 Update Ukrainian translation - - !37 Drop a few unnecessary dependencies - - !39 Add Polish translation - - !40 Use libglib-testing submodule only as fallback - - !41 Fix typo in malcontent-client.8 - - !42 docs: Update license information in README and meson.build - - !43 user-controls: Make OARS drop down open to the right - - !44 Fix updating the UI when a user’s locale changes - - !45 Support data serialisation and deserialisation - - !46 Fix papercuts when editing parental controls of current user - - !47 app-filter: Add mct_app_filter_is_enabled() API - - !48 Update POTFILES.in 200320 - - !49 malcontent-control: Refactor bus initialisation - -* Translation updates: - - Polish - - Ukrainian - - -Overview of changes in malcontent 0.6.0 -======================================= - -* Add icon for `malcontent-control` (thanks Jakub Steiner) (#9) - -* Redesign `malcontent-control` UI in response to design feedback (#11) - -* Add `AccountInfo` interface for metadata on parent accounts (!26) - -* Fix translation of the UI (!31) - -* Bugs fixed: - - #9 Add icon for malcontent-control - - #11 User controls UI tweaks - - !26 accounts-service: Add AccountInfo interface - - !27 user-selector: Fix some const-to-non-const cast warnings - - !29 po: Add some missing files to POTFILES.in - - !30 Add Ukrainian translation - - !31 build: Fix definition of PACKAGE_LOCALE_DIR - - !32 Add Brazilian Portuguese translation - - !33 po: Order LINGUAS alphabetically - - !34 More small UI tweaks - -* Translation updates: - - Portuguese (Brazil) - - Ukrainian - - -Overview of changes in malcontent 0.5.0 -======================================= - -* Add libmalcontent-ui library for parental controls widgets - -* Add malcontent-control parental controls app - -* Add initial support for session limits (but more needs to be done) - -* Rename some of the commands for `malcontent-client` and rename some C APIs - (but with compatibility defines) - -* Bugs fixed: - - #6 Align GLib dependency requirements - - !16 docs: Improve documentation of "app-filter-changed" signal - - !18 build: Port meson-make-symlink script to Python - - !19 Add session limits support and PAM module - - !20 Initial version of parental controls app - - !21 build: Fix default value of pamlibdir - - !22 Iterate on UI of parental controls app - - !23 Split widgets into separate library - - !24 Allow user controls to be used for not-yet-existing users - - Overview of changes in malcontent 0.4.0 ======================================= diff --git a/README.md b/README.md index d631b4f..56f646e 100644 --- a/README.md +++ b/README.md @@ -52,32 +52,6 @@ AppArmor or SELinux. However, its correct use by applications should provide enough of an obstacle to prevent users easily or accidentally having access to content which they shouldn’t. -Development principles ---- - -malcontent exists to make it easier for parents to responsibly set limits on -what their children can do on the computer (similarly, for other carer/caree -relationships). It should provide guidance on, and nudge parents towards, -following the best practice for discussing, choosing and setting restrictions on -their child’s computer use. - -Restrictions should be supported which allow giving children access to material -which is appropriate to their age/stage of development, but which can restrict -access to other material so they are not overwhelmed with too many, or too -complex, ideas for their stage of development. Similarly, restrictions should be -supported to control unsupervised communication with unknown people online, as -being coerced or bullied is one of the more common harms for children online. - -Best practices should be research and evidence-based, and supported by large -international or national childrens’ organisations or charities. They may change -over time. - -malcontent is a tool to help with a social problem. In the hands of a bad -parent, it can be used to do bad things. Features in malcontent should be -designed with that in mind, such that if they are used maliciously, they should -not give the parent radically more power over their child than they would have -had without malcontent. - Example usage --- @@ -87,7 +61,7 @@ set parental controls policies for users. ``` $ # This sets the parental controls policy for user ‘philip’ to allow no \\ installation of apps with anything more than ‘none’ for realistic violence, \\ - and to blocklist running the org.freedesktop.Bustle flatpak: + and to blacklist running the org.freedesktop.Bustle flatpak: $ malcontent-client set philip \\ violence-realistic=none \\ app/org.freedesktop.Bustle/x86_64/stable @@ -115,23 +89,19 @@ Dependencies ------------ * accounts-service - * appstream * dbus-daemon * flatpak * gio-2.0 ≥ 2.60 * gio-unix-2.0 ≥ 2.60 * glib-2.0 ≥ 2.60 * gobject-2.0 ≥ 2.60 - * gtk4 - * libadwaita + * gtk+-3.0 * polkit-gobject-1 Licensing --------- -All code in the libraries in this project is licensed under LGPL-2.1+. Code in the -`malcontent-control` application is licensed under GPL-2.0+. See `COPYING` and the -copyright headers in individual files for more details. +All code in this project is licensed under LGPL-2.1+. See COPYING for more details. Bugs ---- diff --git a/accounts-service/com.endlessm.ParentalControls.AccountInfo.xml b/accounts-service/com.endlessm.ParentalControls.AccountInfo.xml deleted file mode 100644 index 8726c22..0000000 --- a/accounts-service/com.endlessm.ParentalControls.AccountInfo.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/accounts-service/com.endlessm.ParentalControls.AppFilter.xml b/accounts-service/com.endlessm.ParentalControls.AppFilter.xml index 84cd96d..2c66d88 100644 --- a/accounts-service/com.endlessm.ParentalControls.AppFilter.xml +++ b/accounts-service/com.endlessm.ParentalControls.AppFilter.xml @@ -24,8 +24,8 @@ The string list contains flatpak application IDs (containing at least one dot and no leading slash) and absolute binary paths (containing a leading - slash). The boolean value indicates whether this is an allowlist (true) - or blocklist (false). + slash). The boolean value indicates whether this is a whitelist (true) or + blacklist (false). --> @@ -80,15 +80,14 @@ Whether this user is allowed to install to the flatpak system repository. If this is true, and if the polkit check for allowing app installation - succeeds (i.e. the user is an administrator or an administrator has given - permission), and if the OarsFilter does not restrict this app, app + succeeds, and if the OarsFilter does not restrict this app, app installation can proceed. If this is false, the user is not allowed to install any apps or runtimes - to the flatpak system repository due to parental controls. + to the flatpak system repository. --> - + diff --git a/accounts-service/com.endlessm.ParentalControls.policy.in b/accounts-service/com.endlessm.ParentalControls.policy.in index ceae227..bdeb76a 100644 --- a/accounts-service/com.endlessm.ParentalControls.policy.in +++ b/accounts-service/com.endlessm.ParentalControls.policy.in @@ -79,44 +79,4 @@ auth_admin_keep - - - Change your own account info - Authentication is required to change your account info. - - auth_admin_keep - auth_admin_keep - auth_admin_keep - - - - - Read your own account info - Authentication is required to read your account info. - - yes - yes - yes - - - - - Change another user’s account info - Authentication is required to change another user’s account info. - - auth_admin_keep - auth_admin_keep - auth_admin_keep - - - - - Read another user’s account info - Authentication is required to read another user’s account info. - - yes - yes - yes - - diff --git a/accounts-service/com.endlessm.ParentalControls.rules.in b/accounts-service/com.endlessm.ParentalControls.rules similarity index 96% rename from accounts-service/com.endlessm.ParentalControls.rules.in rename to accounts-service/com.endlessm.ParentalControls.rules index fa021fa..b3bf998 100644 --- a/accounts-service/com.endlessm.ParentalControls.rules.in +++ b/accounts-service/com.endlessm.ParentalControls.rules @@ -27,7 +27,7 @@ polkit.addRule(function(action, subject) { action.id == "com.endlessm.ParentalControls.SessionLimits.ReadOwn" || action.id == "com.endlessm.ParentalControls.SessionLimits.ReadAny") && subject.active && subject.local && - subject.isInGroup("@PRIVILEGED_GROUP@")) { + subject.isInGroup("sudo")) { return polkit.Result.YES; } diff --git a/accounts-service/meson.build b/accounts-service/meson.build index 198692c..0a304ae 100644 --- a/accounts-service/meson.build +++ b/accounts-service/meson.build @@ -1,4 +1,4 @@ -i18n.merge_file( +i18n.merge_file('com.endlessm.ParentalControls.policy', input: 'com.endlessm.ParentalControls.policy.in', output: 'com.endlessm.ParentalControls.policy', po_dir: po_dir, @@ -7,7 +7,6 @@ i18n.merge_file( ) dbus_interfaces = [ - 'com.endlessm.ParentalControls.AccountInfo', 'com.endlessm.ParentalControls.AppFilter', 'com.endlessm.ParentalControls.SessionLimits', ] @@ -21,11 +20,5 @@ foreach dbus_interface: dbus_interfaces join_paths(accountsserviceinterfacesdir, filename)) endforeach -polkit_conf = configuration_data() -polkit_conf.set('PRIVILEGED_GROUP', get_option('privileged_group')) -configure_file( - input: 'com.endlessm.ParentalControls.rules.in', - output: 'com.endlessm.ParentalControls.rules', - configuration: polkit_conf, - install_dir: join_paths(get_option('datadir'), 'polkit-1', 'rules.d') -) +install_data('com.endlessm.ParentalControls.rules', + install_dir: join_paths(get_option('datadir'), 'polkit-1', 'rules.d')) diff --git a/help/C/creating-a-child-user.page b/help/C/creating-a-child-user.page deleted file mode 100644 index 61bfb6c..0000000 --- a/help/C/creating-a-child-user.page +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - Creating a child user on the computer. - - - Creating a Child User - -

Parental controls can only be applied to non-administrator accounts. Such - an account may have been created when the computer was initially set up. - If not, a new child user may be created from the Parental - Controls application if no child users already exist; and otherwise - may be created from the Control Center.

- -

To create a new child user, see Add a new user account. - As soon as the new user is created, it will appear in the Parental - Controls window so that its parental controls settings can be - configured.

-
diff --git a/help/C/index.page b/help/C/index.page deleted file mode 100644 index e0120d4..0000000 --- a/help/C/index.page +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - Philip Withnall - withnall@endlessm.com - 2020 - - - - Parental Controls Help - -
- Introduction & Setup -
- -
- Controls to Apply -
-
diff --git a/help/C/internet.page b/help/C/internet.page deleted file mode 100644 index 7ced7cb..0000000 --- a/help/C/internet.page +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - Restricting a child user’s access to the internet. - - - Restricting Access to the Internet - -

You can restrict a user’s access to the internet. This will prevent them - using a web browser, but it will not prevent them using the internet (in - potentially more limited forms) through other applications. For example, - it will not prevent access to e-mail accounts using Evolution, - and it will not prevent software updates being downloaded and applied.

- -

To restrict a user’s access to the internet:

- -

Open the Parental Controls application.

-

Select the user in the tabs at the top.

-

Enable the Restrict Web Browsers checkbox.

-
-
diff --git a/help/C/introduction.page b/help/C/introduction.page deleted file mode 100644 index 1faa8de..0000000 --- a/help/C/introduction.page +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - Overview of parental controls, the Parental Controls - application and its use in other situations where access restrictions are - needed on a user. - - - - Introduction to Parental Controls - -

Parental controls are a way to restrict what non-administrator accounts can - do on the computer, with the aim of allowing parents to restrict what their - children can do when using the computer unsupervised or under limited - supervision.

-

This functionality can be used in other situations ­– such as other - carer/caree relationships – but is labelled as ‘parental controls’ so that - it’s easy to find, as that’s what most people will be looking for.

-

The parental controls for any user can be queried and set using the - Parental Controls application. This lists the non-administrator - accounts in tabs along its top bar, and shows their current parental - controls settings below. Changes to the parental controls apply immediately.

-

Restrictions on using the computer can only be applied to non-administrator - accounts. The parental controls settings for a user can only be changed by - an administrator, although the administrator can do so from the user’s - account by entering their password when prompted by the Parental - Controls application.

-
diff --git a/help/C/legal.xml b/help/C/legal.xml deleted file mode 100644 index 09cd8c8..0000000 --- a/help/C/legal.xml +++ /dev/null @@ -1,6 +0,0 @@ - -

This work is licensed under a - Creative Commons - Attribution-ShareAlike 3.0 Unported License.

-
diff --git a/help/C/restricting-applications.page b/help/C/restricting-applications.page deleted file mode 100644 index f553536..0000000 --- a/help/C/restricting-applications.page +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - Restricting a child user from running already-installed applications. - - - Restricting Access to Installed Applications - -

You can prevent a user from running specific applications which are already - installed on the computer. This could be useful if other users need those - applications but they are not appropriate for a child.

-

When installing additional software, you should consider whether that needs - to be restricted for some users — newly installed software is usable by all - users by default.

- -

To restrict a user’s access to a specific application:

- -

Open the Parental Controls application.

-

Select the user in the tabs at the top.

-

Press the Restrict Applications button.

-

Enable the switch in the row for each application you would like to restrict the user from accessing.

-

Close the Restrict Applications window.

-
- -

Restricting access to specific applications is often used in conjunction - with to prevent a user from installing - additional software which has not been vetted.

-
diff --git a/help/C/software-installation.page b/help/C/software-installation.page deleted file mode 100644 index b264dee..0000000 --- a/help/C/software-installation.page +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - Restricting the software a child user can install, or preventing them installing additional software entirely. - - - Restricting Software Installation - -

You can prevent a user from installing additional software on the system. - They will still be able to search for new software to install, but will need - an administrator to authorize the installation when they try to install an - application. This applies whether they are trying to install the application - system-wide (for all users) or just for themselves.

- -

Additionally, you can restrict which software a user can browse or search - for in the Software catalog by age categories.

- -

To prevent a user from running an application which has already been - installed, see .

- -
- Preventing Software Installation - -

To prevent a user from installing additional software:

- -

Open the Parental Controls application.

-

Select the user in the tabs at the top.

-

Enable the Restrict Application Installation checkbox.

-
-
- -
- Restricting Software Installation by Age - -

Applications in the Software catalog have information about - content they contain which might be inappropriate for some ages — for - example, various forms of violence, unmoderated chat with other people on - the internet, or the possibility of spending money.

-

For each application, this information is summarized as the minimum age - child it is typically suitable to be used by — for example, “suitable for - ages 7+”. These age ratings are presented in region-specific schemes which - can be compared with the ratings schemes used for films and games.

-

The applications shown to a user in the Software catalog can - be filtered by their age suitability. Applications which are not suitable - for the user will be hidden, and will not be installable by that user. - They will be installable by other users (if their age suitability is set - high enough).

- -

To filter the applications seen by a user in the Software - catalog to only those suitable for a certain age:

- -

Open the Parental Controls application.

-

Select the user in the tabs at the top.

-

In the Application Suitability list, select the age which applications should be suitable for.

-
- - -

The user’s actual age is not stored, so the Application Suitability - is not automatically updated over time as the child grows older. You - must periodically re-assess the appropriate Application Suitability - for each user.

-
-
-
diff --git a/help/LINGUAS b/help/LINGUAS deleted file mode 100644 index a5bb08c..0000000 --- a/help/LINGUAS +++ /dev/null @@ -1,13 +0,0 @@ -# please keep this list sorted alphabetically -da -de -es -hu -id -it -pl -pt_BR -ru -sv -tr -uk diff --git a/help/da/da.po b/help/da/da.po deleted file mode 100644 index b387895..0000000 --- a/help/da/da.po +++ /dev/null @@ -1,457 +0,0 @@ -# Danish translation for malcontent. -# Copyright (C) 2020 malcontent's COPYRIGHT HOLDER -# This file is distributed under the same license as the malcontent package. -# scootergrisen, 2020. -# scootergrisen: oversættelsen er ikke afprøvet -msgid "" -msgstr "" -"Project-Id-Version: malcontent master\n" -"POT-Creation-Date: 2020-10-11 03:28+0000\n" -"PO-Revision-Date: 2020-11-18 00:00+0200\n" -"Last-Translator: scootergrisen\n" -"Language-Team: Danish\n" -"Language: da\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. Put one translator per line, in the form NAME , YEAR1, YEAR2 -msgctxt "_" -msgid "translator-credits" -msgstr "scootergrisen <>, 2020" - -#. (itstool) path: info/desc -#: C/creating-a-child-user.page:6 -msgid "Creating a child user on the computer." -msgstr "Oprettelse af en barnebruger på computeren." - -#. (itstool) path: page/title -#: C/creating-a-child-user.page:9 -msgid "Creating a Child User" -msgstr "Oprettelse af en barnebruger" - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:11 -msgid "" -"Parental controls can only be applied to non-administrator accounts. Such an " -"account may have been created when the computer was initially set up. If " -"not, a new child user may be created from the Parental Controls " -"application if no child users already exist; and otherwise may be created " -"from the Control Center." -msgstr "" -"Forældrestyring kan kun anvendes på konti som ikke er administrator. En " -"sådan konto kan være blevet oprettet, første gang computeren blev opsat. Er " -"det ikke tilfældet, så kan der oprettes en ny barnebruger i programmet " -"Forældrestyring, hvis der ikke allerede findes en barnebruger, " -"ellers kan den oprettes i Kontrolpanel." - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:17 -msgid "" -"To create a new child user, see Add a new user account. As soon as the new user is " -"created, it will appear in the Parental Controls window so that " -"its parental controls settings can be configured." -msgstr "" -"Se Tilføj en ny brugerkonto, for at oprette en ny barnebruger. Den nye bruger vises i " -"vinduet Forældrestyring, så snart den er oprettet, så dens " -"forældrestyringsindstillinger kan konfigureres." - -#. (itstool) path: credit/name -#: C/index.page:6 -msgid "Philip Withnall" -msgstr "Philip Withnall" - -#. (itstool) path: credit/years -#: C/index.page:8 -msgid "2020" -msgstr "2020" - -#. (itstool) path: page/title -#: C/index.page:12 -msgid "Parental Controls Help" -msgstr "Hjælp til Forældrestyring" - -#. (itstool) path: section/title -#: C/index.page:15 -msgid "Introduction & Setup" -msgstr "Introduktion og opsætning" - -#. (itstool) path: section/title -#: C/index.page:19 -msgid "Controls to Apply" -msgstr "Styring som kan anvendes" - -#. (itstool) path: info/desc -#: C/internet.page:6 -msgid "Restricting a child user’s access to the internet." -msgstr "Begrænsning af en barnebrugers adgang til internettet." - -#. (itstool) path: page/title -#: C/internet.page:9 -msgid "Restricting Access to the Internet" -msgstr "Begrænsning af adgang til internettet" - -#. (itstool) path: page/p -#: C/internet.page:11 -msgid "" -"You can restrict a user’s access to the internet. This will prevent them " -"using a web browser, but it will not prevent them using the internet (in " -"potentially more limited forms) through other applications. For example, it " -"will not prevent access to e-mail accounts using Evolution, and " -"it will not prevent software updates being downloaded and applied." -msgstr "" -"Du kan begrænse en brugers adgang til internettet. Det forhindrer dem i at " -"bruge en webbrowser, men det forhindrer dem ikke i at bruge internettet (i " -"potentielt mere begrænset form) gennem andre programmer. Det vil f.eks. " -"ikke forhindre adgang til e-mailkonti med Evolution og det " -"forhindrer ikke softwareopdateringer i at blive downloadet og installeret." - -#. (itstool) path: page/p -#: C/internet.page:17 -msgid "To restrict a user’s access to the internet:" -msgstr "Sådan begrænses en brugers adgang til internettet:" - -#. (itstool) path: item/p -#: C/internet.page:19 C/restricting-applications.page:20 -#: C/software-installation.page:27 C/software-installation.page:64 -msgid "Open the Parental Controls application." -msgstr "Åbn programmet Forældrestyring." - -#. (itstool) path: item/p -#: C/internet.page:20 C/restricting-applications.page:21 -#: C/software-installation.page:28 C/software-installation.page:65 -msgid "Select the user in the tabs at the top." -msgstr "Vælg brugeren i fanebladene øverst." - -#. (itstool) path: item/p -#: C/internet.page:21 -msgid "" -"Enable the Restrict Web Browsers checkbox." -msgstr "" -"Aktivér afkrydsningsboksen Begræns webbrowsere." - -#. (itstool) path: info/desc -#: C/introduction.page:6 -msgid "" -"Overview of parental controls and the Parental Controls " -"application." -msgstr "Overblik over forældrestyring og programmet Forældrestyring." - -#. (itstool) path: page/title -#: C/introduction.page:10 -msgid "Introduction to Parental Controls" -msgstr "Introduktion til Forældrestyring" - -#. (itstool) path: page/p -#: C/introduction.page:12 -msgid "" -"Parental controls are a way to restrict what non-administrator accounts can " -"do on the computer, with the aim of allowing parents to restrict what their " -"children can do when using the computer unsupervised or under limited " -"supervision." -msgstr "" -"Forældrestyring er et måde til at begrænse, hvad konti, som ikke er " -"administrator, kan gøre på computeren med det mål at give forældre mulighed " -"for at begrænse, hvad deres børn kan, når de bruger computeren uden opsyn " -"eller under begrænset opsyn." - -# scootergrisen: fra gennemlæsning: det skal nok ikke forstås som en plejesituation som på et plejehjem, men som et forhold mellem dem, der bestemmer, og dem der bliver bestemt over -# scootergrisen: fra gennemlæsning: Prøv med: såsom andre forhold mellem myndige og umyndige -#. (itstool) path: page/p -#: C/introduction.page:16 -msgid "" -"This functionality can be used in other situations ­– such as other carer/" -"caree relationships – but is labelled as ‘parental controls’ so that it’s " -"easy to find." -msgstr "" -"Funktionaliteten kan bruges i andre situationer ­– såsom et andet forhold mellem " -"plejer og plejede – men kaldes ‘forældrestyring’ for at det skal være let at finde." - -#. (itstool) path: page/p -#: C/introduction.page:19 -msgid "" -"The parental controls for any user can be queried and set using the " -"Parental Controls application. This lists the non-administrator " -"accounts in tabs along its top bar, and shows their current parental " -"controls settings below. Changes to the parental controls apply immediately." -msgstr "" -"Forældrestyringen kan for alle brugere forespørges og indstilles med " -"programmet Forældrestyring. Det viser de konti, som ikke er " -"administrator, i faneblade langs den øverste linje og viser deres nuværende " -"forældrestyringsindstillinger nedenfor. Ændringer til forældrestyringen " -"anvendes straks." - -#. (itstool) path: page/p -#: C/introduction.page:23 -msgid "" -"Restrictions on using the computer can only be applied to non-administrator " -"accounts. The parental controls settings for a user can only be changed by " -"an administrator, although the administrator can do so from the user’s " -"account by entering their password when prompted by the Parental " -"Controls application." -msgstr "" -"Begrænsninger i at bruge computeren kan kun anvendes på konti som ikke er " -"administrator. Forældrestyringsindstillingerne til en bruger kan kun ændres " -"af en administrator, dog kan administratoren gøre det fra brugerens konto " -"ved at indtaste deres adgangskode når de bliver spurgt om det i programmet " -"Forældrestyring." - -#. (itstool) path: p/link -#: C/legal.xml:4 -msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" -msgstr "" -"Creative Commons Kreditering-Deling på samme vilkår 3.0 Ikke porteret-licens" - -#. (itstool) path: license/p -#: C/legal.xml:3 -msgid "This work is licensed under a <_:link-1/>." -msgstr "Værket er licenseret under en <_:link-1/>." - -#. (itstool) path: info/desc -#: C/restricting-applications.page:6 -msgid "Restricting a child user from running already-installed applications." -msgstr "" -"Begrænsning af en barnebruger i at køre programmer som allerede er " -"installeret." - -#. (itstool) path: page/title -#: C/restricting-applications.page:9 -msgid "Restricting Access to Installed Applications" -msgstr "Begrænsning af adgang til installerede programmer" - -#. (itstool) path: page/p -#: C/restricting-applications.page:11 -msgid "" -"You can prevent a user from running specific applications which are already " -"installed on the computer. This could be useful if other users need those " -"applications but they are not appropriate for a child." -msgstr "" -"Du kan forhindre en bruger i at køre bestemte programmer som allerede er " -"installeret på computeren. Det kan være nyttigt hvis andre brugere har brug " -"for de programmet men de ikke er egnet til et barn." - -#. (itstool) path: page/p -#: C/restricting-applications.page:14 -msgid "" -"When installing additional software, you should consider whether that needs " -"to be restricted for some users — newly installed software is usable by all " -"users by default." -msgstr "" -"Når der installeres yderligere software bør du overveje om det skal " -"begrænses til nogle brugere — nyligt " -"installeret software kan bruges af alle brugere som standard." - -#. (itstool) path: page/p -#: C/restricting-applications.page:18 -msgid "To restrict a user’s access to a specific application:" -msgstr "Sådan begrænses en brugers adgang til et bestemt program:" - -#. (itstool) path: item/p -#: C/restricting-applications.page:22 -msgid "Press the Restrict Applications button." -msgstr "Tryk på knappen Begræns programmer." - -#. (itstool) path: item/p -#: C/restricting-applications.page:23 -msgid "" -"Enable the switch in the row for each application you would like to restrict " -"the user from accessing." -msgstr "" -"Aktivér kontakten i rækken ved de programmer du vil begrænse brugeren i at få " -"adgang til." - -#. (itstool) path: item/p -#: C/restricting-applications.page:24 -msgid "Close the Restrict Applications window." -msgstr "Luk vinduet Begræns programmer." - -#. (itstool) path: page/p -#: C/restricting-applications.page:27 -msgid "" -"Restricting access to specific applications is often used in conjunction " -"with to prevent a user from " -"installing additional software which has not been vetted." -msgstr "" -"Begrænsning af adgang til bestemte programmer bruges ofte sammen med for at forhindre en bruger i at installere " -"yderligere software som ikke er blevet undersøgt." - -# scootergrisen: her er både "Restricting" og "preventing" brugt -# scootergrisen: så måske de ikke begge skal være samme ord -#. (itstool) path: info/desc -#: C/software-installation.page:6 -msgid "" -"Restricting the software a child user can install, or preventing them " -"installing additional software entirely." -msgstr "" -"Begrænsning af den software en barnebruger kan installere eller helt forhindre " -"dem i at installere yderligere software." - -#. (itstool) path: page/title -#: C/software-installation.page:9 -msgid "Restricting Software Installation" -msgstr "Begrænsning af softwareinstallation" - -#. (itstool) path: page/p -#: C/software-installation.page:11 -msgid "" -"You can prevent a user from installing additional software, either for the " -"entire system, or just for themselves. They will still be able to search for " -"new software to install, but will need an administrator to authorize the " -"installation when they try to install an application." -msgstr "" -"Du kan forhindre en bruger i at installere yderligere software, enten for " -"hele systemet eller blot sig selv. De vil stadigvæk være i stand til at søge " -"efter ny software der skal installeres, men en administrator skal godkende " -"installationen når de forsøger at installere et program." - -#. (itstool) path: page/p -#: C/software-installation.page:16 -msgid "" -"Additionally, you can restrict which software a user can browse or search " -"for in the Software catalog by age categories." -msgstr "" -"Derudover kan du begrænse, hvilken software en bruger kan gennemse eller søge " -"efter i Software-kataloget efter aldersgruppekategorier." - -#. (itstool) path: page/p -#: C/software-installation.page:19 -msgid "" -"To prevent a user from running an application which has already been " -"installed, see ." -msgstr "" -"For at forhindre en bruger i at køre et program som allerede er blevet " -"installeret, se ." - -#. (itstool) path: section/title -#: C/software-installation.page:23 -msgid "Preventing Software Installation" -msgstr "Forhindring af softwareinstallation" - -#. (itstool) path: section/p -#: C/software-installation.page:25 -msgid "To prevent a user from installing additional software:" -msgstr "Sådan forhindres en bruger i at installere yderligere software:" - -#. (itstool) path: item/p -#: C/software-installation.page:29 -msgid "" -"Enable the Restrict Application Installation " -"checkbox." -msgstr "" -"Aktivér afkrydsningsboksen Begræns " -"programinstallation." - -#. (itstool) path: item/p -#: C/software-installation.page:30 -msgid "" -"Or enable the Restrict Application Installation for " -"Others checkbox." -msgstr "" -"Eller aktivér afkrydsningsboksen Begræns " -"programinstallation for andre." - -#. (itstool) path: section/p -#: C/software-installation.page:33 -msgid "" -"The Restrict Application Installation for Others checkbox allows the user to install additional software for themselves, " -"but prevents that software from being made available to other users. It " -"could be used, for example, if there were two child users, one of whom is " -"mature enough to be allowed to install additional software, but the other " -"isn’t — enabling Restrict Application Installation " -"for Others would prevent the more mature child from installing " -"applications which are inappropriate for the other child and making them " -"available to the other child." -msgstr "" -"Afkrydsningsboksen Begræns programinstallation for " -"andre giver brugeren mulighed for at installere yderligere software " -"til sig selv, men forhindrer softwaren i at blive gjort tilgængelig for andre " -"brugere. Det kan f.eks. bruges, hvis der er to barnebrugere, hvoraf en af dem " -"er moden nok til at få tilladelse til at installere yderligere software, men " -"den anden ikke er — hvis Begræns programinstallation " -"for andre tillades vil det forhindre det modne barn i at installere " -"programmer, som kan være uegnet for det andet barn og gøre dem tilgængelige " -"for det andet barn." - -#. (itstool) path: section/title -#: C/software-installation.page:45 -msgid "Restricting Software Installation by Age" -msgstr "Begrænsning af softwareinstallation efter aldersgruppe" - -# scootergrisen: find god oversættelse af "unmoderated" -#. (itstool) path: section/p -#: C/software-installation.page:47 -msgid "" -"Applications in the Software catalog have information about " -"content they contain which might be inappropriate for some ages — for " -"example, various forms of violence, unmoderated chat with other people on " -"the internet, or the possibility of spending money." -msgstr "" -"Programmer i Software-kataloget har information om deres indhold " -"som kan være uegnet til nogle aldersgrupper — f.eks. diverse former for " -"vold, umodereret chat med andre personer på internettet eller muligheden for " -"at bruge penge." - -# scootergrisen: find ud af hvordan "suitable for ages 7+" er oversat andet sted -#. (itstool) path: section/p -#: C/software-installation.page:51 -msgid "" -"For each application, this information is summarized as the minimum age " -"child it is typically suitable to be used by — for example, “suitable for " -"ages 7+”. These age ratings are presented in region-specific schemes which " -"can be compared with the ratings schemes used for films and games." -msgstr "" -"Informationen er opsummeret i hvert program som den laveste alder for børn " -"det typisk er egnet for at blive brugt af — f.eks. “suitable for ages 7+”. " -"Disse aldersvurderinger præsenteres i områdespecifikke modeller som kan " -"sammenlignes med de vurderingsmodeller som bruges til film og spil." - -# scootergrisen: tjek "age suitability". Findes to gange -#. (itstool) path: section/p -#: C/software-installation.page:55 -msgid "" -"The applications shown to a user in the Software catalog can be " -"filtered by their age suitability. Applications which are not suitable for " -"the user will be hidden, and will not be installable by that user. They will " -"be installable by other users (if their age suitability is set high enough)." -msgstr "" -"De programmer, som vises til en bruger i Software-kataloget, kan " -"filtreres efter den aldersgruppe, de er egnet til. Programmer, som ikke er " -"egnet til brugeren, skjules og kan ikke installeres af den bruger. De kan " -"installeres af andre brugere (hvis aldersgruppen de er egnet til er " -"indstillet højt nok)." - -#. (itstool) path: section/p -#: C/software-installation.page:61 -msgid "" -"To filter the applications seen by a user in the Software catalog " -"to only those suitable for a certain age:" -msgstr "" -"Sådan filtreres de programmer en bruger kan se i " -"Software-kataloget til dem der kun er egnet til en bestemt " -"aldersgruppe:" - -#. (itstool) path: item/p -#: C/software-installation.page:66 -msgid "" -"In the Application Suitability list, select the age which " -"applications should be suitable for." -msgstr "" -"Vælg den aldersgruppe som programmerne " -"skal være egnet til i listen Programegnethed." - -#. (itstool) path: note/p -#: C/software-installation.page:70 -msgid "" -"The user’s actual age is not stored, so the Application Suitability is not automatically updated over time as the child grows older. You " -"must periodically re-assess the appropriate Application Suitability for each user." -msgstr "" -"Brugerens rigtige alder gemmes ikke, så Programegnethed opdateres " -"ikke automatisk efterhånden som barnet bliver ældre. Du skal periodisk " -"revurdere den passende Programegnethed til hver bruger." diff --git a/help/de/de.po b/help/de/de.po deleted file mode 100644 index 20905c2..0000000 --- a/help/de/de.po +++ /dev/null @@ -1,362 +0,0 @@ -# German translation for malcontent. -# Copyright (C) 2021 malcontent's COPYRIGHT HOLDER -# This file is distributed under the same license as the malcontent package. -# Christian Kirbach , 2021. -# -msgid "" -msgstr "" -"Project-Id-Version: malcontent main\n" -"POT-Creation-Date: 2021-12-29 15:34+0000\n" -"PO-Revision-Date: 2021-12-31 13:36+0100\n" -"Last-Translator: Tim Sabsch \n" -"Language-Team: German \n" -"Language: de\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.0\n" - -#. Put one translator per line, in the form NAME , YEAR1, YEAR2 -msgctxt "_" -msgid "translator-credits" -msgstr "Christian Kirbach , 2021." - -#. (itstool) path: info/desc -#: C/creating-a-child-user.page:6 -msgid "Creating a child user on the computer." -msgstr "So legen Sie ein Kinderkonto auf dem Rechner an." - -#. (itstool) path: page/title -#: C/creating-a-child-user.page:9 -msgid "Creating a Child User" -msgstr "Ein Kinderkonto anlegen" - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:11 -msgid "" -"Parental controls can only be applied to non-administrator accounts. Such an " -"account may have been created when the computer was initially set up. If " -"not, a new child user may be created from the Parental Controls " -"application if no child users already exist; and otherwise may be created " -"from the Control Center." -msgstr "" -"Die Kindersicherung kann für alle Konten außer Administrator-Konten " -"eingerichtet werden. Ein solches Konto wurde vermutlich bei der " -"Ersteinrichtung des Rechners angelegt. Falls nicht, können Sie ein neues " -"Kinderkonto in der Anwendung Kindersicherung anlegen, und " -"alternativ in den Einstellungen." - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:17 -msgid "" -"To create a new child user, see Add a new user account. As soon as the new user is " -"created, it will appear in the Parental Controls window so that " -"its parental controls settings can be configured." -msgstr "" -"Folgen Sie den Anweisungen Ein neues Benutzerkonto anlegen, um ein neues Kinderkonto " -"anzulegen. Sobald der neue Benutzer angelegt wurde, erscheint er im Fenster " -"von Kindersicherung. Die Einrichtung der Kindersicherung wird " -"dort durchgeführt." - -#. (itstool) path: credit/name -#: C/index.page:6 -msgid "Philip Withnall" -msgstr "Philip Withnall" - -#. (itstool) path: credit/years -#: C/index.page:8 -msgid "2020" -msgstr "2020" - -#. (itstool) path: page/title -#: C/index.page:12 -msgid "Parental Controls Help" -msgstr "Hilfe zur Kindersicherung" - -#. (itstool) path: section/title -#: C/index.page:15 -msgid "Introduction & Setup" -msgstr "Einführung und Einrichtung" - -#. (itstool) path: section/title -#: C/index.page:19 -msgid "Controls to Apply" -msgstr "" - -#. (itstool) path: info/desc -#: C/internet.page:6 -msgid "Restricting a child user’s access to the internet." -msgstr "Den Internet-Zugang eines Kinderkontos einschränken." - -#. (itstool) path: page/title -#: C/internet.page:9 -msgid "Restricting Access to the Internet" -msgstr "Den Zugriff auf das Internet einschränken" - -#. (itstool) path: page/p -#: C/internet.page:11 -msgid "" -"You can restrict a user’s access to the internet. This will prevent them " -"using a web browser, but it will not prevent them using the internet (in " -"potentially more limited forms) through other applications. For example, it " -"will not prevent access to e-mail accounts using Evolution, and " -"it will not prevent software updates being downloaded and applied." -msgstr "" - -#. (itstool) path: page/p -#: C/internet.page:17 -msgid "To restrict a user’s access to the internet:" -msgstr "So schränken Sie den Internet-Zugang eines Kinderkontos ein:" - -#. (itstool) path: item/p -#: C/internet.page:19 C/restricting-applications.page:20 -#: C/software-installation.page:28 C/software-installation.page:54 -msgid "Open the Parental Controls application." -msgstr "Öffnen Sie die Anwendung Kindersicherung." - -#. (itstool) path: item/p -#: C/internet.page:20 C/restricting-applications.page:21 -#: C/software-installation.page:29 C/software-installation.page:55 -msgid "Select the user in the tabs at the top." -msgstr "Wählen Sie den Benutzer oben in den Reitern." - -#. (itstool) path: item/p -#: C/internet.page:21 -msgid "" -"Enable the Restrict Web Browsers checkbox." -msgstr "" -"Aktivieren Sie das Ankreuzfeld Web-Browser " -"einschränken." - -#. (itstool) path: info/desc -#: C/introduction.page:6 -msgid "" -"Overview of parental controls, the Parental Controls application " -"and its use in other situations where access restrictions are needed on a " -"user." -msgstr "" - -#. (itstool) path: page/title -#: C/introduction.page:12 -msgid "Introduction to Parental Controls" -msgstr "Einführung in die Kindersicherung" - -#. (itstool) path: page/p -#: C/introduction.page:14 -msgid "" -"Parental controls are a way to restrict what non-administrator accounts can " -"do on the computer, with the aim of allowing parents to restrict what their " -"children can do when using the computer unsupervised or under limited " -"supervision." -msgstr "" - -#. (itstool) path: page/p -#: C/introduction.page:18 -msgid "" -"This functionality can be used in other situations ­– such as other carer/" -"caree relationships – but is labelled as ‘parental controls’ so that it’s " -"easy to find, as that’s what most people will be looking for." -msgstr "" - -#. (itstool) path: page/p -#: C/introduction.page:21 -msgid "" -"The parental controls for any user can be queried and set using the " -"Parental Controls application. This lists the non-administrator " -"accounts in tabs along its top bar, and shows their current parental " -"controls settings below. Changes to the parental controls apply immediately." -msgstr "" - -#. (itstool) path: page/p -#: C/introduction.page:25 -msgid "" -"Restrictions on using the computer can only be applied to non-administrator " -"accounts. The parental controls settings for a user can only be changed by " -"an administrator, although the administrator can do so from the user’s " -"account by entering their password when prompted by the Parental " -"Controls application." -msgstr "" - -#. (itstool) path: p/link -#: C/legal.xml:4 -msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" -msgstr "Creative Commons Attribution-ShareAlike 3.0 Unported License" - -#. (itstool) path: license/p -#: C/legal.xml:3 -msgid "This work is licensed under a <_:link-1/>." -msgstr "Dieses Werk wird unter einer <_:link-1/> verbreitet." - -#. (itstool) path: info/desc -#: C/restricting-applications.page:6 -msgid "Restricting a child user from running already-installed applications." -msgstr "" - -#. (itstool) path: page/title -#: C/restricting-applications.page:9 -msgid "Restricting Access to Installed Applications" -msgstr "Den Zugriff auf installierte Anwendungen einschränken" - -#. (itstool) path: page/p -#: C/restricting-applications.page:11 -msgid "" -"You can prevent a user from running specific applications which are already " -"installed on the computer. This could be useful if other users need those " -"applications but they are not appropriate for a child." -msgstr "" -"Sie können Benutzer daran hindern, bestimmte Anwendungen auszuführen, die " -"auf dem Rechner installiert sind. Dies ist nützlich, wenn andere Benutzer " -"die Anwendungen benötigen, diese aber nicht für Kinder geeignet sind." - -#. (itstool) path: page/p -#: C/restricting-applications.page:14 -msgid "" -"When installing additional software, you should consider whether that needs " -"to be restricted for some users — newly installed software is usable by all " -"users by default." -msgstr "" -"Wenn Sie weitere Software installieren, sollten Sie berücksichtigen, ob sie " -"für einige Benutzer eingeschränkt werden muss. Neu installierte Software ist " -"standardmäßig für alle Benutzer nutzbar." - -#. (itstool) path: page/p -#: C/restricting-applications.page:18 -msgid "To restrict a user’s access to a specific application:" -msgstr "" -"So schränken Sie den Zugriff eines Benutzers auf bestimmte Anwendungen ein:" - -#. (itstool) path: item/p -#: C/restricting-applications.page:22 -msgid "Press the Restrict Applications button." -msgstr "" - -#. (itstool) path: item/p -#: C/restricting-applications.page:23 -msgid "" -"Enable the switch in the row for each application you would like to restrict " -"the user from accessing." -msgstr "" - -#. (itstool) path: item/p -#: C/restricting-applications.page:24 -msgid "Close the Restrict Applications window." -msgstr "" - -#. (itstool) path: page/p -#: C/restricting-applications.page:27 -msgid "" -"Restricting access to specific applications is often used in conjunction " -"with to prevent a user from " -"installing additional software which has not been vetted." -msgstr "" - -#. (itstool) path: info/desc -#: C/software-installation.page:6 -msgid "" -"Restricting the software a child user can install, or preventing them " -"installing additional software entirely." -msgstr "" - -#. (itstool) path: page/title -#: C/software-installation.page:9 -msgid "Restricting Software Installation" -msgstr "Software-Installation einschränken" - -#. (itstool) path: page/p -#: C/software-installation.page:11 -msgid "" -"You can prevent a user from installing additional software on the system. " -"They will still be able to search for new software to install, but will need " -"an administrator to authorize the installation when they try to install an " -"application. This applies whether they are trying to install the application " -"system-wide (for all users) or just for themselves." -msgstr "" - -#. (itstool) path: page/p -#: C/software-installation.page:17 -msgid "" -"Additionally, you can restrict which software a user can browse or search " -"for in the Software catalog by age categories." -msgstr "" - -#. (itstool) path: page/p -#: C/software-installation.page:20 -msgid "" -"To prevent a user from running an application which has already been " -"installed, see ." -msgstr "" - -#. (itstool) path: section/title -#: C/software-installation.page:24 -msgid "Preventing Software Installation" -msgstr "" - -#. (itstool) path: section/p -#: C/software-installation.page:26 -msgid "To prevent a user from installing additional software:" -msgstr "" - -#. (itstool) path: item/p -#: C/software-installation.page:30 -msgid "" -"Enable the Restrict Application Installation " -"checkbox." -msgstr "" - -#. (itstool) path: section/title -#: C/software-installation.page:35 -msgid "Restricting Software Installation by Age" -msgstr "" - -#. (itstool) path: section/p -#: C/software-installation.page:37 -msgid "" -"Applications in the Software catalog have information about " -"content they contain which might be inappropriate for some ages — for " -"example, various forms of violence, unmoderated chat with other people on " -"the internet, or the possibility of spending money." -msgstr "" - -#. (itstool) path: section/p -#: C/software-installation.page:41 -msgid "" -"For each application, this information is summarized as the minimum age " -"child it is typically suitable to be used by — for example, “suitable for " -"ages 7+”. These age ratings are presented in region-specific schemes which " -"can be compared with the ratings schemes used for films and games." -msgstr "" - -#. (itstool) path: section/p -#: C/software-installation.page:45 -msgid "" -"The applications shown to a user in the Software catalog can be " -"filtered by their age suitability. Applications which are not suitable for " -"the user will be hidden, and will not be installable by that user. They will " -"be installable by other users (if their age suitability is set high enough)." -msgstr "" - -#. (itstool) path: section/p -#: C/software-installation.page:51 -msgid "" -"To filter the applications seen by a user in the Software catalog " -"to only those suitable for a certain age:" -msgstr "" - -#. (itstool) path: item/p -#: C/software-installation.page:56 -msgid "" -"In the Application Suitability list, select the age which " -"applications should be suitable for." -msgstr "" - -#. (itstool) path: note/p -#: C/software-installation.page:60 -msgid "" -"The user’s actual age is not stored, so the Application Suitability is not automatically updated over time as the child grows older. You " -"must periodically re-assess the appropriate Application Suitability for each user." -msgstr "" diff --git a/help/es/es.po b/help/es/es.po deleted file mode 100644 index 11b009f..0000000 --- a/help/es/es.po +++ /dev/null @@ -1,455 +0,0 @@ -# Spanish translations for malcontent. -# Copyright © 2020 the malcontent authors. -# This file is distributed under the same license as the malcontent package. -# Adolfo Jayme Barrientos , 2020. -# -msgid "" -msgstr "" -"Project-Id-Version: malcontent master\n" -"POT-Creation-Date: 2020-04-24 15:30+0000\n" -"PO-Revision-Date: 2020-08-22 09:41-0500\n" -"Last-Translator: Adolfo Jayme Barrientos \n" -"Language-Team: \n" -"Language: es\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.4.1\n" - -#. Put one translator per line, in the form NAME , YEAR1, YEAR2 -msgctxt "_" -msgid "translator-credits" -msgstr "Adolfo Jayme Barrientos , 2020" - -#. (itstool) path: info/desc -#: C/creating-a-child-user.page:6 -msgid "Creating a child user on the computer." -msgstr "Crear una cuenta infantil en el equipo." - -#. (itstool) path: page/title -#: C/creating-a-child-user.page:9 -msgid "Creating a Child User" -msgstr "Crear una cuenta infantil" - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:11 -msgid "" -"Parental controls can only be applied to non-administrator accounts. Such an " -"account may have been created when the computer was initially set up. If " -"not, a new child user may be created from the Parental Controls " -"application if no child users already exist; and otherwise may be created " -"from the Control Center." -msgstr "" -"Los controles parentales pueden aplicarse únicamente a las cuentas no " -"administrativas. Puede que se haya creado una cuenta de este tipo al momento " -"de la configuración inicial del equipo. Si no es así, es posible crear una " -"cuenta infantil nueva desde la aplicación Controles parentales o " -"mediante la Configuración." - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:17 -msgid "" -"To create a new child user, see Add a new user account. As soon as the new user is " -"created, it will appear in the Parental Controls window so that " -"its parental controls settings can be configured." -msgstr "" -"Para crear una cuenta infantil, consulte Añadir una cuenta de usuario nueva. Tan pronto " -"como haya creado la cuenta nueva, esta figurará en la ventana de " -"Controles parentales para que puedan definirse sus " -"configuraciones de control parental." - -#. (itstool) path: credit/name -#: C/index.page:6 -msgid "Philip Withnall" -msgstr "Philip Withnall" - -#. (itstool) path: credit/years -#: C/index.page:8 -msgid "2020" -msgstr "2020" - -#. (itstool) path: page/title -#: C/index.page:12 -msgid "Parental Controls Help" -msgstr "Ayuda sobre los controles parentales" - -#. (itstool) path: section/title -#: C/index.page:15 -msgid "Introduction & Setup" -msgstr "Introducción y configuración" - -#. (itstool) path: section/title -#: C/index.page:19 -msgid "Controls to Apply" -msgstr "Controles para aplicar" - -#. (itstool) path: info/desc -#: C/internet.page:6 -msgid "Restricting a child user’s access to the internet." -msgstr "Restringir el acceso a Internet por parte de un menor" - -#. (itstool) path: page/title -#: C/internet.page:9 -msgid "Restricting Access to the Internet" -msgstr "Restringir el acceso a Internet" - -#. (itstool) path: page/p -#: C/internet.page:11 -msgid "" -"You can restrict a user’s access to the internet. This will prevent them " -"using a web browser, but it will not prevent them using the internet (in " -"potentially more limited forms) through other applications. For example, it " -"will not prevent access to e-mail accounts using Evolution, and " -"it will not prevent software updates being downloaded and applied." -msgstr "" -"Es posible restringir el acceso de un usuario a Internet. Esto le impedirá " -"utilizar un navegador web, pero no restringirá la conexión a Internet de " -"otras aplicaciones. Por ejemplo, no impedirá el acceso a las cuentas de " -"correo electrónico mediante Evolution, ni impedirá la descarga y " -"aplicación de actualizaciones de software." - -#. (itstool) path: page/p -#: C/internet.page:17 -msgid "To restrict a user’s access to the internet:" -msgstr "Para restringir el acceso de un usuario a Internet:" - -#. (itstool) path: item/p -#: C/internet.page:19 C/restricting-applications.page:20 -#: C/software-installation.page:27 C/software-installation.page:64 -msgid "Open the Parental Controls application." -msgstr "Abra la aplicación Controles parentales." - -#. (itstool) path: item/p -#: C/internet.page:20 C/restricting-applications.page:21 -#: C/software-installation.page:28 C/software-installation.page:65 -msgid "Select the user in the tabs at the top." -msgstr "En las pestañas de la parte superior, seleccione la cuenta deseada." - -#. (itstool) path: item/p -#: C/internet.page:21 -msgid "" -"Enable the Restrict Web Browsers checkbox." -msgstr "" -"Active la casilla Restringir navegadores web." - -#. (itstool) path: info/desc -#: C/introduction.page:6 -msgid "" -"Overview of parental controls and the Parental Controls " -"application." -msgstr "" -"Visión de conjunto de los controles parentales y la aplicación " -"Controles parentales." - -#. (itstool) path: page/title -#: C/introduction.page:10 -msgid "Introduction to Parental Controls" -msgstr "Introducción al control parental" - -#. (itstool) path: page/p -#: C/introduction.page:12 -msgid "" -"Parental controls are a way to restrict what non-administrator accounts can " -"do on the computer, with the aim of allowing parents to restrict what their " -"children can do when using the computer unsupervised or under limited " -"supervision." -msgstr "" -"Los controles parentales representan una manera de restringir lo que las " -"cuentas no administrativas pueden efectuar en el equipo, con el objetivo de " -"permitir que los padres restrinjan las acciones de sus hijos al utilizar el " -"equipo sin supervisión o bajo supervisión limitada." - -#. (itstool) path: page/p -#: C/introduction.page:16 -msgid "" -"This functionality can be used in other situations ­– such as other carer/" -"caree relationships – but is labelled as ‘parental controls’ so that it’s " -"easy to find." -msgstr "" -"Esta funcionalidad puede ser de utilidad en otras situaciones —como las " -"relaciones entre cuidadores y tutelados—, pero se denomina «controles " -"parentales» para facilitar su localización." - -#. (itstool) path: page/p -#: C/introduction.page:19 -msgid "" -"The parental controls for any user can be queried and set using the " -"Parental Controls application. This lists the non-administrator " -"accounts in tabs along its top bar, and shows their current parental " -"controls settings below. Changes to the parental controls apply immediately." -msgstr "" -"La aplicación Controles parentales permite realizar consultas " -"sobre cualquier cuenta y definir controles por cada una. La aplicación " -"enumera todas las cuentas no administrativas en forma de pestañas en la " -"barra superior de la ventana, y por debajo muestra los controles definidos " -"actualmente. Las modificaciones a los controles parentales surten efecto de " -"inmediato." - -#. (itstool) path: page/p -#: C/introduction.page:23 -msgid "" -"Restrictions on using the computer can only be applied to non-administrator " -"accounts. The parental controls settings for a user can only be changed by " -"an administrator, although the administrator can do so from the user’s " -"account by entering their password when prompted by the Parental " -"Controls application." -msgstr "" -"Solo se puede aplicar restricciones de uso del equipo sobre cuentas no " -"administrativas. Únicamente los administradores pueden establecer las " -"configuraciones de controles parentales para una cuenta determinada. Es " -"posible hacer esto sin salir de la cuenta; basta con proporcionar la " -"contraseña administrativa cuando Controles parentales la solicite." - -#. (itstool) path: p/link -#: C/legal.xml:4 -msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" -msgstr "" -"Licencia genérica Creative Commons 3.0 de atribución e igual compartición" - -#. (itstool) path: license/p -#: C/legal.xml:3 -msgid "This work is licensed under a <_:link-1/>." -msgstr "Esta obra está disponible en virtud de la <_:link-1/>." - -#. (itstool) path: info/desc -#: C/restricting-applications.page:6 -msgid "Restricting a child user from running already-installed applications." -msgstr "Restringir a los menores el uso de aplicaciones ya instaladas." - -#. (itstool) path: page/title -#: C/restricting-applications.page:9 -msgid "Restricting Access to Installed Applications" -msgstr "Restringir el acceso a las aplicaciones instaladas" - -#. (itstool) path: page/p -#: C/restricting-applications.page:11 -msgid "" -"You can prevent a user from running specific applications which are already " -"installed on the computer. This could be useful if other users need those " -"applications but they are not appropriate for a child." -msgstr "" -"Puede impedir que una cuenta ejecute determinadas aplicaciones instaladas en " -"el equipo. Esto puede ser útil si hay otros usuarios que necesitan estas " -"aplicaciones, pese a ser inadecuadas para un menor." - -#. (itstool) path: page/p -#: C/restricting-applications.page:14 -msgid "" -"When installing additional software, you should consider whether that needs " -"to be restricted for some users — newly installed software is usable by all " -"users by default." -msgstr "" -"Tras instalar software adicional, es recomendable que considere si hace " -"falta restringírselo a determinados usuarios, dado que, de manera " -"predeterminada, todos los usuarios pueden utilizarlo." - -#. (itstool) path: page/p -#: C/restricting-applications.page:18 -msgid "To restrict a user’s access to a specific application:" -msgstr "Para restringir el acceso de una cuenta a una aplicación concreta:" - -#. (itstool) path: item/p -#: C/restricting-applications.page:22 -msgid "Press the Restrict Applications button." -msgstr "Pulse el botón Restringir aplicaciones." - -#. (itstool) path: item/p -#: C/restricting-applications.page:23 -msgid "" -"Enable the switch in the row for each application you would like to restrict " -"the user from accessing." -msgstr "" -"Active el interruptor en la fila de cada aplicación que quiera restringir." - -#. (itstool) path: item/p -#: C/restricting-applications.page:24 -msgid "Close the Restrict Applications window." -msgstr "Cierre la ventana Restringir aplicaciones." - -#. (itstool) path: page/p -#: C/restricting-applications.page:27 -msgid "" -"Restricting access to specific applications is often used in conjunction " -"with to prevent a user from " -"installing additional software which has not been vetted." -msgstr "" -"La restricción de acceso a aplicaciones determinadas se emplea a menudo " -"junto con para evitar que se instale " -"software sin que usted lo examine." - -#. (itstool) path: info/desc -#: C/software-installation.page:6 -msgid "" -"Restricting the software a child user can install, or preventing them " -"installing additional software entirely." -msgstr "" -"Restringir el software que un menor puede instalar, o bien evitar que " -"instalen software adicional por completo." - -#. (itstool) path: page/title -#: C/software-installation.page:9 -msgid "Restricting Software Installation" -msgstr "Restringir la instalación de software" - -#. (itstool) path: page/p -#: C/software-installation.page:11 -msgid "" -"You can prevent a user from installing additional software, either for the " -"entire system, or just for themselves. They will still be able to search for " -"new software to install, but will need an administrator to authorize the " -"installation when they try to install an application." -msgstr "" -"Puede impedir que un usuario instale software adicional, bien para todo el " -"sistema, bien para sí mismo. Todavía será capaz de buscar software nuevo " -"para instalar, pero si intenta instalarlo deberá contar con la ayuda de un " -"administrador para que este lo autorice." - -#. (itstool) path: page/p -#: C/software-installation.page:16 -msgid "" -"Additionally, you can restrict which software a user can browse or search " -"for in the Software catalog by age categories." -msgstr "" -"Además, si se sirve de las categorías por edades en Software, " -"puede restringir qué software se podrá explorar en su catálogo." - -#. (itstool) path: page/p -#: C/software-installation.page:19 -msgid "" -"To prevent a user from running an application which has already been " -"installed, see ." -msgstr "" -"Para evitar que un usuario ejecute una aplicación previamente instalada, " -"consulte ." - -#. (itstool) path: section/title -#: C/software-installation.page:23 -msgid "Preventing Software Installation" -msgstr "Evitar la instalación de software" - -#. (itstool) path: section/p -#: C/software-installation.page:25 -msgid "To prevent a user from installing additional software:" -msgstr "" -"Siga este procedimiento para impedir la instalación de software adicional:" - -#. (itstool) path: item/p -#: C/software-installation.page:29 -msgid "" -"Enable the Restrict Application Installation " -"checkbox." -msgstr "" -"Active la casilla Restringir instalación de " -"aplicaciones." - -#. (itstool) path: item/p -#: C/software-installation.page:30 -msgid "" -"Or enable the Restrict Application Installation for " -"Others checkbox." -msgstr "" -"O bien, active la casilla Restringir instalación de " -"aplicaciones para los otros." - -#. (itstool) path: section/p -#: C/software-installation.page:33 -msgid "" -"The Restrict Application Installation for Others checkbox allows the user to install additional software for themselves, " -"but prevents that software from being made available to other users. It " -"could be used, for example, if there were two child users, one of whom is " -"mature enough to be allowed to install additional software, but the other " -"isn’t — enabling Restrict Application Installation " -"for Others would prevent the more mature child from installing " -"applications which are inappropriate for the other child and making them " -"available to the other child." -msgstr "" -"La casilla Restringir instalación de aplicaciones a " -"los otros permite la instalación de software adicional para uno mismo, " -"pero restringe su disponibilidad a las demás cuentas. Se puede sacar " -"provecho de esta función, por ejemplo, si tiene dos menores, de los cuales " -"solo uno es lo suficientemente maduro para permitírsele la instalación de " -"software; activar Restringir instalación de " -"aplicaciones a los otros impedirá que el menor más maduro instale " -"aplicaciones inapropiadas para el otro niño." - -#. (itstool) path: section/title -#: C/software-installation.page:45 -msgid "Restricting Software Installation by Age" -msgstr "Restringir la instalación de software por edades" - -#. (itstool) path: section/p -#: C/software-installation.page:47 -msgid "" -"Applications in the Software catalog have information about " -"content they contain which might be inappropriate for some ages — for " -"example, various forms of violence, unmoderated chat with other people on " -"the internet, or the possibility of spending money." -msgstr "" -"Las aplicaciones que se incluyen en el catálogo de Software " -"incluyen información relativa al contenido que poseen y la aptitud de este " -"según la edad, notando detalles como: diversas formas de violencia, chat no " -"moderado con otras personas a través de internet, o la posibilidad de gastar " -"dinero." - -#. (itstool) path: section/p -#: C/software-installation.page:51 -msgid "" -"For each application, this information is summarized as the minimum age " -"child it is typically suitable to be used by — for example, “suitable for " -"ages 7+”. These age ratings are presented in region-specific schemes which " -"can be compared with the ratings schemes used for films and games." -msgstr "" -"En cada aplicación, esta información se condensa como la edad mínima en la " -"que se considera adecuado que un menor la utilice; por ejemplo, «de 7 años " -"en adelante». Estas clasificaciones se presentan de conformidad con ciertos " -"esquemas regionales, comparables con los que se utilizan para clasificar " -"películas y juegos." - -#. (itstool) path: section/p -#: C/software-installation.page:55 -msgid "" -"The applications shown to a user in the Software catalog can be " -"filtered by their age suitability. Applications which are not suitable for " -"the user will be hidden, and will not be installable by that user. They will " -"be installable by other users (if their age suitability is set high enough)." -msgstr "" -"Las aplicaciones que Software muestra a cada usuario se pueden " -"filtrar por adecuación a la edad. Aquellas aplicaciones que no sean " -"adecuadas para una cuenta se ocultarán del catálogo y no se podrán instalar. " -"Otros usuarios las podrán instalar (si es que su clasificación de edad lo " -"permite)." - -#. (itstool) path: section/p -#: C/software-installation.page:61 -msgid "" -"To filter the applications seen by a user in the Software catalog " -"to only those suitable for a certain age:" -msgstr "" -"Para filtrar las aplicaciones que un usuario ve en el catálogo de " -"Software y que se muestren solo las adecuadas para una " -"determinada edad:" - -#. (itstool) path: item/p -#: C/software-installation.page:66 -msgid "" -"In the Application Suitability list, select the age which " -"applications should be suitable for." -msgstr "" -"En la lista Idoneidad de aplicaciones, seleccione la edad deseada." - -#. (itstool) path: note/p -#: C/software-installation.page:70 -msgid "" -"The user’s actual age is not stored, so the Application Suitability is not automatically updated over time as the child grows older. You " -"must periodically re-assess the appropriate Application Suitability for each user." -msgstr "" -"Como no se almacena la edad del usuario, la idoneidad de aplicaciones no se actualiza automáticamente a medida que crece el menor. Debe " -"revalorar periódicamente el nivel adecuado de Idoneidad de " -"aplicaciones para cada una de las cuentas." diff --git a/help/hu/hu.po b/help/hu/hu.po deleted file mode 100644 index 7240964..0000000 --- a/help/hu/hu.po +++ /dev/null @@ -1,441 +0,0 @@ -# Hungarian translation for malcontent. -# Copyright (C) 2022 Free Software Foundation, Inc. -# This file is distributed under the same license as the malcontent package. -# -# Balázs Úr , 2022. -msgid "" -msgstr "" -"Project-Id-Version: malcontent main\n" -"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pwithnall/malcontent/" -"issues\n" -"POT-Creation-Date: 2022-09-21 15:25+0000\n" -"PO-Revision-Date: 2022-09-22 23:43+0200\n" -"Last-Translator: Balázs Úr \n" -"Language-Team: Hungarian \n" -"Language: hu\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Lokalize 19.12.3\n" - -#. Put one translator per line, in the form NAME , YEAR1, YEAR2 -msgctxt "_" -msgid "translator-credits" -msgstr "Úr Balázs , 2022." - -#. (itstool) path: info/desc -#: C/creating-a-child-user.page:6 -msgid "Creating a child user on the computer." -msgstr "Gyermekfelhasználó létrehozása a számítógépen." - -#. (itstool) path: page/title -#: C/creating-a-child-user.page:9 -msgid "Creating a Child User" -msgstr "Gyermekfelhasználó létrehozása" - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:11 -msgid "" -"Parental controls can only be applied to non-administrator accounts. Such an " -"account may have been created when the computer was initially set up. If " -"not, a new child user may be created from the Parental Controls " -"application if no child users already exist; and otherwise may be created " -"from the Control Center." -msgstr "" -"A szülői felügyelet csak a nem rendszergazdai fiókokra alkalmazható. Ilyen " -"fiókot esetleg a számítógép kezdeti beállításakor hozhattak létre. Ha nem, " -"akkor új gyermekfelhasználó hozható létre a Szülői felügyelet " -"alkalmazásból, ha még nem létezik gyermekfelhasználó, egyébként pedig a " -"Vezérlőközpont alkalmazásból hozható létre." - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:17 -msgid "" -"To create a new child user, see Add a new user account. As soon as the new user is " -"created, it will appear in the Parental Controls window so that " -"its parental controls settings can be configured." -msgstr "" -"Új gyermekfelhasználó létrehozásához nézze meg az Új felhasználói fiók hozzáadása " -"fejezetet. Amint az új felhasználó létrejött, megjelenik a Szülői " -"felügyelet ablakban, így a szülői felügyeleti beállításai " -"konfigurálhatók." - -#. (itstool) path: credit/name -#: C/index.page:6 -msgid "Philip Withnall" -msgstr "Philip Withnall" - -#. (itstool) path: credit/years -#: C/index.page:8 -msgid "2020" -msgstr "2020" - -#. (itstool) path: page/title -#: C/index.page:12 -msgid "Parental Controls Help" -msgstr "Szülői felügyelet súgó" - -#. (itstool) path: section/title -#: C/index.page:15 -msgid "Introduction & Setup" -msgstr "Bevezetés és beállítás" - -#. (itstool) path: section/title -#: C/index.page:19 -msgid "Controls to Apply" -msgstr "Alkalmazandó szabályozások" - -#. (itstool) path: info/desc -#: C/internet.page:6 -msgid "Restricting a child user’s access to the internet." -msgstr "Egy gyermekfelhasználó internet-hozzáférésének korlátozása." - -#. (itstool) path: page/title -#: C/internet.page:9 -msgid "Restricting Access to the Internet" -msgstr "Internet-hozzáférés korlátozása" - -#. (itstool) path: page/p -#: C/internet.page:11 -msgid "" -"You can restrict a user’s access to the internet. This will prevent them " -"using a web browser, but it will not prevent them using the internet (in " -"potentially more limited forms) through other applications. For example, it " -"will not prevent access to e-mail accounts using Evolution, and " -"it will not prevent software updates being downloaded and applied." -msgstr "" -"Korlátozhatja egy felhasználó internet-hozzáférését. Ez megakadályozza őt a " -"webböngésző használatában, de nem akadályozza meg abban, hogy az internetet " -"(esetleg korlátozottabb formában) más alkalmazásokon keresztül használja. " -"Például nem akadályozza meg az e-mail fiókokhoz való hozzáférést az " -"Evolution használatával, és nem akadályozza meg a " -"szoftverfrissítések letöltését és alkalmazását." - -#. (itstool) path: page/p -#: C/internet.page:17 -msgid "To restrict a user’s access to the internet:" -msgstr "Egy felhasználó internet-hozzáférésének korlátozásához:" - -#. (itstool) path: item/p -#: C/internet.page:19 C/restricting-applications.page:20 -#: C/software-installation.page:28 C/software-installation.page:54 -msgid "Open the Parental Controls application." -msgstr "Nyissa meg a Szülői felügyelet alkalmazást." - -#. (itstool) path: item/p -#: C/internet.page:20 C/restricting-applications.page:21 -#: C/software-installation.page:29 C/software-installation.page:55 -msgid "Select the user in the tabs at the top." -msgstr "Válassza ki a felhasználót a fenti lapokon." - -#. (itstool) path: item/p -#: C/internet.page:21 -msgid "" -"Enable the Restrict Web Browsers checkbox." -msgstr "" -"Jelölje be a Webböngészők korlátozása " -"jelölőnégyzetet." - -#. (itstool) path: info/desc -#: C/introduction.page:6 -msgid "" -"Overview of parental controls, the Parental Controls application " -"and its use in other situations where access restrictions are needed on a " -"user." -msgstr "" -"A szülői felügyelet áttekintése, a Szülői felügyelet alkalmazás " -"és annak használata olyan egyéb helyzetekben, amikor egy felhasználó " -"hozzáférésének korlátozásai szükségesek." - -#. (itstool) path: page/title -#: C/introduction.page:12 -msgid "Introduction to Parental Controls" -msgstr "Bevezetés a szülői felügyeletbe" - -#. (itstool) path: page/p -#: C/introduction.page:14 -msgid "" -"Parental controls are a way to restrict what non-administrator accounts can " -"do on the computer, with the aim of allowing parents to restrict what their " -"children can do when using the computer unsupervised or under limited " -"supervision." -msgstr "" -"A szülői felügyelet segítségével korlátozható, hogy a nem rendszergazdai " -"fiókok mit tehetnek a számítógépen, azzal a céllal, hogy a szülők " -"korlátozhassák, hogy mit tehetnek a gyermekeik, amikor felügyelet nélkül " -"vagy korlátozott felügyelet mellett használják a számítógépet." - -#. (itstool) path: page/p -#: C/introduction.page:18 -msgid "" -"This functionality can be used in other situations ­– such as other carer/" -"caree relationships – but is labelled as ‘parental controls’ so that it’s " -"easy to find, as that’s what most people will be looking for." -msgstr "" -"Ez a funkció más helyzetekben is használható – például egyéb gondozó-" -"gondozott kapcsolatokban –, de „szülői felügyelet” címkével van ellátva, " -"hogy könnyen megtalálható legyen, mivel a legtöbb ember ezt keresi." - -#. (itstool) path: page/p -#: C/introduction.page:21 -msgid "" -"The parental controls for any user can be queried and set using the " -"Parental Controls application. This lists the non-administrator " -"accounts in tabs along its top bar, and shows their current parental " -"controls settings below. Changes to the parental controls apply immediately." -msgstr "" -"A szülői felügyelet bármely felhasználóhoz lekérdezhető és beállítható a " -"Szülői felügyelet alkalmazás használatával. Ez a felső sávjában " -"lévő lapokon felsorolja a nem rendszergazdai fiókokat, és alatta megjeleníti " -"az aktuális szülői felügyeleti beállításokat. A szülői felügyelet " -"változtatásai azonnal érvénybe lépnek." - -#. (itstool) path: page/p -#: C/introduction.page:25 -msgid "" -"Restrictions on using the computer can only be applied to non-administrator " -"accounts. The parental controls settings for a user can only be changed by " -"an administrator, although the administrator can do so from the user’s " -"account by entering their password when prompted by the Parental " -"Controls application." -msgstr "" -"A számítógép használatára vonatkozó korlátozások csak a nem rendszergazdai " -"fiókokra alkalmazhatók. Egy felhasználó szülői felügyeleti beállításait csak " -"egy rendszergazda változtathatja meg, bár a rendszergazda ezt a felhasználó " -"fiókjából is megteheti a jelszavának megadásával, amikor a Szülői " -"felügyelet alkalmazás erre kéri." - -#. (itstool) path: p/link -#: C/legal.xml:4 -msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" -msgstr "Creative Commons Nevezd meg! - Így add tovább! 3.0 átíratlan licenc" - -#. (itstool) path: license/p -#: C/legal.xml:3 -msgid "This work is licensed under a <_:link-1/>." -msgstr "Ez a mű a <_:link-1/> szerint licencelt." - -#. (itstool) path: info/desc -#: C/restricting-applications.page:6 -msgid "Restricting a child user from running already-installed applications." -msgstr "" -"Egy gyermekfelhasználó korlátozása a már telepített alkalmazások " -"futtatásában." - -#. (itstool) path: page/title -#: C/restricting-applications.page:9 -msgid "Restricting Access to Installed Applications" -msgstr "A telepített alkalmazásokhoz való hozzáférés korlátozása" - -#. (itstool) path: page/p -#: C/restricting-applications.page:11 -msgid "" -"You can prevent a user from running specific applications which are already " -"installed on the computer. This could be useful if other users need those " -"applications but they are not appropriate for a child." -msgstr "" -"Megakadályozhatja, hogy egy felhasználó a számítógépre már telepített " -"bizonyos alkalmazásokat futtasson. Ez akkor lehet hasznos, ha más " -"felhasználóknak szükségük van ezekre az alkalmazásokra, de egy gyermek " -"számára nem megfelelőek." - -#. (itstool) path: page/p -#: C/restricting-applications.page:14 -msgid "" -"When installing additional software, you should consider whether that needs " -"to be restricted for some users — newly installed software is usable by all " -"users by default." -msgstr "" -"További szoftverek telepítésekor meg kell fontolnia, hogy nem kell-e " -"korlátozni azokat egyes felhasználók számára, ugyanis az újonnan telepített " -"szoftverek alapértelmezetten minden felhasználó számára használhatóak." - -#. (itstool) path: page/p -#: C/restricting-applications.page:18 -msgid "To restrict a user’s access to a specific application:" -msgstr "" -"Egy felhasználó adott alkalmazáshoz való hozzáférésének korlátozásához:" - -#. (itstool) path: item/p -#: C/restricting-applications.page:22 -msgid "Press the Restrict Applications button." -msgstr "" -"Nyomja meg az Alkalmazások korlátozása gombot." - -#. (itstool) path: item/p -#: C/restricting-applications.page:23 -msgid "" -"Enable the switch in the row for each application you would like to restrict " -"the user from accessing." -msgstr "" -"Kapcsolja be a kapcsolót minden olyan alkalmazás sorában, amelyhez a " -"felhasználó hozzáférését korlátozni szeretné." - -#. (itstool) path: item/p -#: C/restricting-applications.page:24 -msgid "Close the Restrict Applications window." -msgstr "Zárja be az Alkalmazások korlátozása ablakot." - -#. (itstool) path: page/p -#: C/restricting-applications.page:27 -msgid "" -"Restricting access to specific applications is often used in conjunction " -"with to prevent a user from " -"installing additional software which has not been vetted." -msgstr "" -"Bizonyos alkalmazásokhoz való hozzáférés korlátozását gyakran használják a " -" korlátozással együtt, hogy " -"megakadályozzanak egy felhasználót a további, nem ellenőrzött szoftverek " -"telepítésében." - -#. (itstool) path: info/desc -#: C/software-installation.page:6 -msgid "" -"Restricting the software a child user can install, or preventing them " -"installing additional software entirely." -msgstr "" -"Egy gyermekfelhasználó által telepíthető szoftverek korlátozása, vagy " -"további szoftverek telepítésének teljes megakadályozása." - -#. (itstool) path: page/title -#: C/software-installation.page:9 -msgid "Restricting Software Installation" -msgstr "Szoftvertelepítés korlátozása" - -#. (itstool) path: page/p -#: C/software-installation.page:11 -msgid "" -"You can prevent a user from installing additional software on the system. " -"They will still be able to search for new software to install, but will need " -"an administrator to authorize the installation when they try to install an " -"application. This applies whether they are trying to install the application " -"system-wide (for all users) or just for themselves." -msgstr "" -"Megakadályozhat egy felhasználót abban, hogy további szoftvereket telepítsen " -"a rendszerre. A felhasználó továbbra is kereshet új telepítendő szoftvert, " -"de rendszergazdára lesz szüksége a telepítés felhatalmazásához, amikor " -"megpróbál telepíteni egy alkalmazást. Ez arra is vonatkozik, hogy az " -"alkalmazást rendszerszinten (minden felhasználónak) vagy csak saját magának " -"próbálja telepíteni." - -#. (itstool) path: page/p -#: C/software-installation.page:17 -msgid "" -"Additionally, you can restrict which software a user can browse or search " -"for in the Software catalog by age categories." -msgstr "" -"Ezenkívül azt is korlátozhatja az életkor kategória alapján, hogy egy " -"felhasználó milyen szoftvereket böngészhet vagy kereshet a Szoftver katalógusában." - -#. (itstool) path: page/p -#: C/software-installation.page:20 -msgid "" -"To prevent a user from running an application which has already been " -"installed, see ." -msgstr "" -"Annak megakadályozásához, hogy egy felhasználó egy már telepített " -"alkalmazást futtasson, nézze meg az fejezetet." - -#. (itstool) path: section/title -#: C/software-installation.page:24 -msgid "Preventing Software Installation" -msgstr "Szoftvertelepítés megakadályozása" - -#. (itstool) path: section/p -#: C/software-installation.page:26 -msgid "To prevent a user from installing additional software:" -msgstr "" -"Annak megakadályozásához, hogy a felhasználó további szoftvereket telepítsen:" - -#. (itstool) path: item/p -#: C/software-installation.page:30 -msgid "" -"Enable the Restrict Application Installation " -"checkbox." -msgstr "" -"Jelölje be az Alkalmazástelepítés korlátozása " -"jelölőnégyzetet." - -#. (itstool) path: section/title -#: C/software-installation.page:35 -msgid "Restricting Software Installation by Age" -msgstr "Szoftvertelepítés korlátozása életkor alapján" - -#. (itstool) path: section/p -#: C/software-installation.page:37 -msgid "" -"Applications in the Software catalog have information about " -"content they contain which might be inappropriate for some ages — for " -"example, various forms of violence, unmoderated chat with other people on " -"the internet, or the possibility of spending money." -msgstr "" -"A Szoftver katalógusában található alkalmazások információval " -"rendelkeznek az általuk tartalmazott tartalommal kapcsolatban, hogy melyek " -"lehetnek bizonyos korosztályok számára nem megfelelőek – például az erőszak " -"különböző formái, moderálatlan csevegés az interneten más emberekkel, vagy a " -"pénzköltés lehetősége." - -#. (itstool) path: section/p -#: C/software-installation.page:41 -msgid "" -"For each application, this information is summarized as the minimum age " -"child it is typically suitable to be used by — for example, “suitable for " -"ages 7+”. These age ratings are presented in region-specific schemes which " -"can be compared with the ratings schemes used for films and games." -msgstr "" -"Minden egyes alkalmazás esetében ez az információ összefoglalja, hogy az " -"adott alkalmazás jellemzően legalább milyen korú gyermek számára alkalmas – " -"például „7 év felettiek számára alkalmas”. Ezek a korhatár-besorolások régió-" -"specifikus sémákban jelennek meg, amelyek összehasonlíthatók a filmek és " -"játékok esetében használt besorolási sémákkal." - -#. (itstool) path: section/p -#: C/software-installation.page:45 -msgid "" -"The applications shown to a user in the Software catalog can be " -"filtered by their age suitability. Applications which are not suitable for " -"the user will be hidden, and will not be installable by that user. They will " -"be installable by other users (if their age suitability is set high enough)." -msgstr "" -"A Szoftver katalógusában egy felhasználó számára megjelenített " -"alkalmazások szűrhetők az életkori alkalmasságuk alapján. A felhasználó " -"számára nem megfelelő alkalmazások el lesznek rejtve, és nem lesznek " -"telepíthetők az adott felhasználó számára. Más felhasználók számára " -"telepíthetők lesznek (ha az életkori alkalmasságuk elég magasra van állítva)." - -#. (itstool) path: section/p -#: C/software-installation.page:51 -msgid "" -"To filter the applications seen by a user in the Software catalog " -"to only those suitable for a certain age:" -msgstr "" -"A Szoftver katalógusában egy felhasználó által látott " -"alkalmazások szűréséhez, hogy csak egy bizonyos korosztály számára legyenek " -"alkalmasak:" - -#. (itstool) path: item/p -#: C/software-installation.page:56 -msgid "" -"In the Application Suitability list, select the age which " -"applications should be suitable for." -msgstr "" -"Az Alkalmazás alkalmassága listából válassza ki azt az életkort, " -"amelyre az alkalmazásoknak alkalmasnak kell lenniük." - -#. (itstool) path: note/p -#: C/software-installation.page:60 -msgid "" -"The user’s actual age is not stored, so the Application Suitability is not automatically updated over time as the child grows older. You " -"must periodically re-assess the appropriate Application Suitability for each user." -msgstr "" -"A felhasználó tényleges életkora nem kerül tárolásra, így az Alkalmazás " -"alkalmassága nem frissül automatikusan az idő múlásával, ahogy a " -"gyermek idősebbé válik. Rendszeresen újra kell értékelnie a megfelelő " -"Alkalmazás alkalmassága értéket minden egyes felhasználónál." diff --git a/help/id/id.po b/help/id/id.po deleted file mode 100644 index 2019559..0000000 --- a/help/id/id.po +++ /dev/null @@ -1,424 +0,0 @@ -# Indonesian translation for malcontent. -# Copyright (C) 2020 malcontent's COPYRIGHT HOLDER -# This file is distributed under the same license as the malcontent package. -# Andika Triwidada , 2020, 2021. -# -msgid "" -msgstr "" -"Project-Id-Version: malcontent master\n" -"POT-Creation-Date: 2020-12-18 15:14+0000\n" -"PO-Revision-Date: 2021-08-30 18:26+0700\n" -"Last-Translator: Andika Triwidada \n" -"Language-Team: Indonesian \n" -"Language: id\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.4.3\n" - -#. Put one translator per line, in the form NAME , YEAR1, YEAR2 -msgctxt "_" -msgid "translator-credits" -msgstr "Andika Triwidada , 2020, 2021." - -#. (itstool) path: info/desc -#: C/creating-a-child-user.page:6 -msgid "Creating a child user on the computer." -msgstr "Membuat pengguna anak pada komputer." - -#. (itstool) path: page/title -#: C/creating-a-child-user.page:9 -msgid "Creating a Child User" -msgstr "Membuat Pengguna Anak" - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:11 -msgid "" -"Parental controls can only be applied to non-administrator accounts. Such an " -"account may have been created when the computer was initially set up. If " -"not, a new child user may be created from the Parental Controls " -"application if no child users already exist; and otherwise may be created " -"from the Control Center." -msgstr "" -"Pengawasan orang tua hanya dapat diterapkan untuk akun non-administrator. " -"Akun tersebut mungkin telah dibuat saat komputer awalnya diatur. Jika tidak, " -"pengguna anak baru dapat dibuat dari aplikasi Pengawasan Orang Tua jika tidak ada pengguna anak yang sudah ada; dan sebaliknya dapat " -"dibuat dari Pusat Kontrol." - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:17 -msgid "" -"To create a new child user, see Add a new user account. As soon as the new user is " -"created, it will appear in the Parental Controls window so that " -"its parental controls settings can be configured." -msgstr "" -"Untuk membuat pengguna anak baru, lihat Menambahkan akun pengguna baru. Segera setelah " -"pengguna baru dibuat, itu akan muncul di jendela Pengawasan Orang Tua sehingga pengaturan pengawasan orang tua dapat dikonfigurasi." - -#. (itstool) path: credit/name -#: C/index.page:6 -msgid "Philip Withnall" -msgstr "Philip Withnall" - -#. (itstool) path: credit/years -#: C/index.page:8 -msgid "2020" -msgstr "2020" - -#. (itstool) path: page/title -#: C/index.page:12 -msgid "Parental Controls Help" -msgstr "Bantuan Pengawasan Orang Tua" - -#. (itstool) path: section/title -#: C/index.page:15 -msgid "Introduction & Setup" -msgstr "Pendahuluan & Penyiapan" - -#. (itstool) path: section/title -#: C/index.page:19 -msgid "Controls to Apply" -msgstr "Pengawasan yang Diterapkan" - -#. (itstool) path: info/desc -#: C/internet.page:6 -msgid "Restricting a child user’s access to the internet." -msgstr "Membatasi akses pengguna anak ke Internet." - -#. (itstool) path: page/title -#: C/internet.page:9 -msgid "Restricting Access to the Internet" -msgstr "Membatasi Akses ke Internet" - -#. (itstool) path: page/p -#: C/internet.page:11 -msgid "" -"You can restrict a user’s access to the internet. This will prevent them " -"using a web browser, but it will not prevent them using the internet (in " -"potentially more limited forms) through other applications. For example, it " -"will not prevent access to e-mail accounts using Evolution, and " -"it will not prevent software updates being downloaded and applied." -msgstr "" -"Anda dapat membatasi akses pengguna ke internet. Ini akan mencegah mereka " -"menggunakan peramban web, tetapi tidak akan mencegah mereka menggunakan " -"internet (dalam bentuk yang berpotensi lebih terbatas) melalui aplikasi " -"lain. Sebagai contoh, itu tidak akan mencegah akses ke akun surel " -"menggunakan Evolution, dan tidak akan mencegah pembaruan " -"perangkat lunak yang diunduh dan diterapkan." - -#. (itstool) path: page/p -#: C/internet.page:17 -msgid "To restrict a user’s access to the internet:" -msgstr "Untuk membatasi akses pengguna ke internet:" - -#. (itstool) path: item/p -#: C/internet.page:19 C/restricting-applications.page:20 -#: C/software-installation.page:28 C/software-installation.page:54 -msgid "Open the Parental Controls application." -msgstr "Buka aplikasi Pengawasan Orang Tua." - -#. (itstool) path: item/p -#: C/internet.page:20 C/restricting-applications.page:21 -#: C/software-installation.page:29 C/software-installation.page:55 -msgid "Select the user in the tabs at the top." -msgstr "Pilih pengguna di tab di bagian atas." - -#. (itstool) path: item/p -#: C/internet.page:21 -msgid "" -"Enable the Restrict Web Browsers checkbox." -msgstr "" -"Fungsikan kotak centang Batasi Peramban Web." - -#. (itstool) path: info/desc -#: C/introduction.page:6 -msgid "" -"Overview of parental controls, the Parental Controls application " -"and its use in other situations where access restrictions are needed on a " -"user." -msgstr "" -"Ikhtisar pengawasan orang tua, aplikasi Pengawasan Orang Tua, dan " -"penggunaannya dalam situasi lain dimana pembatasan akses diperlukan pada " -"seorang pengguna." - -#. (itstool) path: page/title -#: C/introduction.page:12 -msgid "Introduction to Parental Controls" -msgstr "Pengenalan untuk Pengawasan Orang Tua" - -#. (itstool) path: page/p -#: C/introduction.page:14 -msgid "" -"Parental controls are a way to restrict what non-administrator accounts can " -"do on the computer, with the aim of allowing parents to restrict what their " -"children can do when using the computer unsupervised or under limited " -"supervision." -msgstr "" -"Pengawasan orang tua adalah cara untuk membatasi apa yang dapat dilakukan " -"oleh akun non-administrator pada komputer, dengan tujuan memperbolehkan " -"orangtua membatasi apa yang dapat dilakukan anak mereka saat menggunakan " -"komputer tanpa pengawasan atau di bawah supervisi yang terbatas." - -#. (itstool) path: page/p -#: C/introduction.page:18 -msgid "" -"This functionality can be used in other situations ­– such as other carer/" -"caree relationships – but is labelled as ‘parental controls’ so that it’s " -"easy to find, as that’s what most people will be looking for." -msgstr "" -"Fungsi ini dapat digunakan dalam situasi lain – seperti hubungan perawat/" -"terrawat lainnya – tetapi diberi label sebagai 'pengawasan orang tua' " -"sehingga mudah ditemukan, karena itulah yang kebanyakan orang akan cari." - -#. (itstool) path: page/p -#: C/introduction.page:21 -msgid "" -"The parental controls for any user can be queried and set using the " -"Parental Controls application. This lists the non-administrator " -"accounts in tabs along its top bar, and shows their current parental " -"controls settings below. Changes to the parental controls apply immediately." -msgstr "" -"Pengawasan orang tua untuk setiap pengguna dapat ditanyakan dan diatur " -"menggunakan aplikasi Pengawasan Orang Tua. Ini mencantumkan akun " -"non-administrator di tab di sepanjang bilah atasnya, dan menunjukkan setelan " -"pengawasan orang tua mereka saat ini di bawah. Perubahan pada pengawasan " -"orang tua akan segera berlaku." - -#. (itstool) path: page/p -#: C/introduction.page:25 -msgid "" -"Restrictions on using the computer can only be applied to non-administrator " -"accounts. The parental controls settings for a user can only be changed by " -"an administrator, although the administrator can do so from the user’s " -"account by entering their password when prompted by the Parental " -"Controls application." -msgstr "" -"Pembatasan penggunaan komputer hanya dapat diterapkan pada akun non-" -"administrator. Setelan pengawasan orang tua untuk pengguna hanya dapat " -"diubah oleh administrator, meskipun administrator dapat melakukannya dari " -"akun pengguna dengan memasukkan kata sandi saat diminta oleh aplikasi " -"Pengawasan Orang Tua ." - -#. (itstool) path: p/link -#: C/legal.xml:4 -msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" -msgstr "Creative Commons Attribution-ShareAlike 3.0 Unported License" - -#. (itstool) path: license/p -#: C/legal.xml:3 -msgid "This work is licensed under a <_:link-1/>." -msgstr "Karya ini dilisensikan di bawah <_:link-1/>." - -#. (itstool) path: info/desc -#: C/restricting-applications.page:6 -msgid "Restricting a child user from running already-installed applications." -msgstr "Membatasi pengguna anak dari menjalankan aplikasi yang sudah diinstal." - -#. (itstool) path: page/title -#: C/restricting-applications.page:9 -msgid "Restricting Access to Installed Applications" -msgstr "Membatasi Akses ke Aplikasi yang Terinstal" - -#. (itstool) path: page/p -#: C/restricting-applications.page:11 -msgid "" -"You can prevent a user from running specific applications which are already " -"installed on the computer. This could be useful if other users need those " -"applications but they are not appropriate for a child." -msgstr "" -"Anda dapat mencegah pengguna menjalankan aplikasi tertentu yang telah " -"diinstal di komputer. Hal ini dapat berguna jika pengguna lain membutuhkan " -"aplikasi tersebut tetapi mereka tidak sesuai untuk anak." - -#. (itstool) path: page/p -#: C/restricting-applications.page:14 -msgid "" -"When installing additional software, you should consider whether that needs " -"to be restricted for some users — newly installed software is usable by all " -"users by default." -msgstr "" -"Ketika menginstal perangkat lunak tambahan, Anda harus mempertimbangkan " -"apakah yang perlu dibatasi untuk beberapa pengguna — perangkat lunak yang " -"baru diinstal dapat dipakai oleh semua pengguna secara baku." - -#. (itstool) path: page/p -#: C/restricting-applications.page:18 -msgid "To restrict a user’s access to a specific application:" -msgstr "Untuk membatasi akses pengguna ke aplikasi tertentu:" - -#. (itstool) path: item/p -#: C/restricting-applications.page:22 -msgid "Press the Restrict Applications button." -msgstr "Tekan tombol Batasi Aplikasi." - -#. (itstool) path: item/p -#: C/restricting-applications.page:23 -msgid "" -"Enable the switch in the row for each application you would like to restrict " -"the user from accessing." -msgstr "" -"Fungsikan saklar di baris untuk setiap aplikasi yang Anda ingin membatasi " -"pengguna dari mengaksesnya." - -#. (itstool) path: item/p -#: C/restricting-applications.page:24 -msgid "Close the Restrict Applications window." -msgstr "Tutup jendela Batasi Aplikasi." - -#. (itstool) path: page/p -#: C/restricting-applications.page:27 -msgid "" -"Restricting access to specific applications is often used in conjunction " -"with to prevent a user from " -"installing additional software which has not been vetted." -msgstr "" -"Membatasi akses ke aplikasi tertentu sering digunakan dalam hubungannya " -"dengan untuk mencegah pengguna dari " -"menginstal perangkat lunak tambahan yang belum diperiksa." - -#. (itstool) path: info/desc -#: C/software-installation.page:6 -msgid "" -"Restricting the software a child user can install, or preventing them " -"installing additional software entirely." -msgstr "" -"Membatasi perangkat lunak yang dapat dipasang pengguna anak, atau mencegah " -"mereka menginstal perangkat lunak tambahan sepenuhnya." - -#. (itstool) path: page/title -#: C/software-installation.page:9 -msgid "Restricting Software Installation" -msgstr "Membatasi Instalasi Perangkat Lunak" - -#. (itstool) path: page/p -#: C/software-installation.page:11 -msgid "" -"You can prevent a user from installing additional software on the system. " -"They will still be able to search for new software to install, but will need " -"an administrator to authorize the installation when they try to install an " -"application. This applies whether they are trying to install the application " -"system-wide (for all users) or just for themselves." -msgstr "" -"Anda dapat mencegah pengguna dari memasang perangkat lunak tambahan, baik " -"untuk seluruh sistem, atau hanya untuk diri mereka sendiri. Mereka masih " -"akan dapat mencari perangkat lunak baru untuk dipasang, tetapi akan " -"memerlukan administrator untuk mengesahkan instalasi ketika mereka mencoba " -"untuk memasang aplikasi." - -#. (itstool) path: page/p -#: C/software-installation.page:17 -msgid "" -"Additionally, you can restrict which software a user can browse or search " -"for in the Software catalog by age categories." -msgstr "" -"Selain itu, Anda dapat membatasi perangkat lunak yang dapat ditelusuri atau " -"dicari oleh pengguna di katalog Perangkat Lunak berdasarkan " -"kategori usia." - -#. (itstool) path: page/p -#: C/software-installation.page:20 -msgid "" -"To prevent a user from running an application which has already been " -"installed, see ." -msgstr "" -"Untuk mencegah pengguna menjalankan aplikasi yang sudah terinstal, lihat " -" ." - -#. (itstool) path: section/title -#: C/software-installation.page:24 -msgid "Preventing Software Installation" -msgstr "Mencegah Instalasi Perangkat Lunak" - -#. (itstool) path: section/p -#: C/software-installation.page:26 -msgid "To prevent a user from installing additional software:" -msgstr "Untuk mencegah pengguna menginstal perangkat lunak tambahan:" - -#. (itstool) path: item/p -#: C/software-installation.page:30 -msgid "" -"Enable the Restrict Application Installation " -"checkbox." -msgstr "" -"Fungsikan kotak centang Batasi Pemasangan Aplikasi." - -#. (itstool) path: section/title -#: C/software-installation.page:35 -msgid "Restricting Software Installation by Age" -msgstr "Membatasi Instalasi Perangkat Lunak berdasarkan Umur" - -#. (itstool) path: section/p -#: C/software-installation.page:37 -msgid "" -"Applications in the Software catalog have information about " -"content they contain which might be inappropriate for some ages — for " -"example, various forms of violence, unmoderated chat with other people on " -"the internet, or the possibility of spending money." -msgstr "" -"Aplikasi dalam katalog Perangkat Lunak memiliki informasi tentang " -"konten yang mereka kandung yang mungkin tidak pantas untuk usia tertentu — " -"misalnya, berbagai bentuk kekerasan, obrolan tanpa moderator dengan orang " -"lain di internet, atau kemungkinan membelanjakan uang." - -#. (itstool) path: section/p -#: C/software-installation.page:41 -msgid "" -"For each application, this information is summarized as the minimum age " -"child it is typically suitable to be used by — for example, “suitable for " -"ages 7+”. These age ratings are presented in region-specific schemes which " -"can be compared with the ratings schemes used for films and games." -msgstr "" -"Untuk setiap aplikasi, informasi ini diringkas sebagai yang biasanya cocok " -"untuk digunakan oleh usia minimum anak berapa — misalnya, \"cocok untuk usia " -"7+\". Peringkat usia ini disajikan dalam skema spesifik wilayah yang dapat " -"dibandingkan dengan skema penilaian yang digunakan untuk film dan permainan." - -#. (itstool) path: section/p -#: C/software-installation.page:45 -msgid "" -"The applications shown to a user in the Software catalog can be " -"filtered by their age suitability. Applications which are not suitable for " -"the user will be hidden, and will not be installable by that user. They will " -"be installable by other users (if their age suitability is set high enough)." -msgstr "" -"Aplikasi yang ditampilkan kepada pengguna di katalog Perangkat Lunak dapat difilter menurut kesesuaian usia mereka. Aplikasi yang tidak " -"cocok untuk pengguna akan disembunyikan, dan tidak akan dapat diinstal oleh " -"pengguna tersebut. Mereka akan dapat diinstal oleh pengguna lain (jika " -"kesesuaian usia mereka ditetapkan cukup tinggi)." - -#. (itstool) path: section/p -#: C/software-installation.page:51 -msgid "" -"To filter the applications seen by a user in the Software catalog " -"to only those suitable for a certain age:" -msgstr "" -"Untuk menyaring aplikasi yang dilihat oleh pengguna dalam katalog " -"Perangkat Lunak agar hanya yang cocok untuk usia tertentu:" - -#. (itstool) path: item/p -#: C/software-installation.page:56 -msgid "" -"In the Application Suitability list, select the age which " -"applications should be suitable for." -msgstr "" -"Dalam daftar Kesesuaian Aplikasi, pilih usia mana aplikasi mesti " -"cocok." - -#. (itstool) path: note/p -#: C/software-installation.page:60 -msgid "" -"The user’s actual age is not stored, so the Application Suitability is not automatically updated over time as the child grows older. You " -"must periodically re-assess the appropriate Application Suitability for each user." -msgstr "" -"Usia pengguna yang sebenarnya tidak disimpan, sehingga Kesesuaian " -"Aplikasi tidak diperbarui secara otomatis dari waktu saat anak tumbuh " -"lebih tua. Anda harus secara berkala menilai kembali Kesesuaian " -"Aplikasi yang sesuai untuk setiap pengguna." diff --git a/help/it/it.po b/help/it/it.po deleted file mode 100644 index 503ed66..0000000 --- a/help/it/it.po +++ /dev/null @@ -1,450 +0,0 @@ -# Italian translations for malcontent. -# Copyright © 2020 the malcontent authors. -# This file is distributed under the same license as the malcontent package. -# Albano Battistella , 2022. -# -msgid "" -msgstr "" -"Project-Id-Version: malcontent master\n" -"POT-Creation-Date: 2020-04-24 15:30+0000\n" -"PO-Revision-Date: 2022-01-07 15:41+0100\n" -"Last-Translator: Albano Battistella \n" -"Language-Team: Italian\n" -"Language: it\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.4.1\n" - -#. Put one translator per line, in the form NAME , YEAR1, YEAR2 -msgctxt "_" -msgid "translator-credits" -msgstr "Albano Battistella , 2022." - -#. (itstool) path: info/desc -#: C/creating-a-child-user.page:6 -msgid "Creating a child user on the computer." -msgstr "Creazione di un account per bambini sul computer." - -#. (itstool) path: page/title -#: C/creating-a-child-user.page:9 -msgid "Creating a Child User" -msgstr "Creazione un Account per Bambini" - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:11 -msgid "" -"Parental controls can only be applied to non-administrator accounts. Such an " -"account may have been created when the computer was initially set up. If " -"not, a new child user may be created from the Parental Controls " -"application if no child users already exist; and otherwise may be created " -"from the Control Center." -msgstr "" -"Il controllo parentale può essere applicato solo agli account non-amministratore." -"Al momento potrebbe essere stato creato un account di questo tipo " -"dalla configurazione iniziale del computer. In caso contrario, è possibile creare un " -"nuovo account per bambino dall'applicazione Controllo Parentale o " -"tramite le Impostazioni." - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:17 -msgid "" -"To create a new child user, see Add a new user account. As soon as the new user is " -"created, it will appear in the Parental Controls window so that " -"its parental controls settings can be configured." -msgstr "" -"Per creare un nuovo utente per bambino, vedere Aggiungi un nuovo account utente. Non appena il nuovo utente sarà " -"creato, apparirà nella finestra Controllo Parentale in modo che " -"le sue impostazioni di controllo parentale possano essere configurate." -#. (itstool) path: credit/name -#: C/index.page:6 -msgid "Philip Withnall" -msgstr "Philip Withnall" - -#. (itstool) path: credit/years -#: C/index.page:8 -msgid "2020" -msgstr "2020" - -#. (itstool) path: page/title -#: C/index.page:12 -msgid "Parental Controls Help" -msgstr "Aiuto sui controlli parentali" - -#. (itstool) path: section/title -#: C/index.page:15 -msgid "Introduction & Setup" -msgstr "Introduzione e configurazione" - -#. (itstool) path: section/title -#: C/index.page:19 -msgid "Controls to Apply" -msgstr "Controlli da applicare" - -#. (itstool) path: info/desc -#: C/internet.page:6 -msgid "Restricting a child user’s access to the internet." -msgstr "Limitare l'accesso a Internet da parte di un minore" - -#. (itstool) path: page/title -#: C/internet.page:9 -msgid "Restricting Access to the Internet" -msgstr "Limitare l'accesso a Internet" - -#. (itstool) path: page/p -#: C/internet.page:11 -msgid "" -"You can restrict a user’s access to the internet. This will prevent them " -"using a web browser, but it will not prevent them using the internet (in " -"potentially more limited forms) through other applications. For example, it " -"will not prevent access to e-mail accounts using Evolution, and " -"it will not prevent software updates being downloaded and applied." -msgstr "" -"È possibile limitare l'accesso di un utente a Internet. Questo gli impedirà " -"di usare un browser web, ma non limiterà la connessione a Internet (in forma limitata) di " -"altre applicazioni. Ad esempio, non impedirà l'accesso agli account di " -"e-mail utilizzando Evolution, né impedirà il download ed " -"applicazione di aggiornamenti software." - -#. (itstool) path: page/p -#: C/internet.page:17 -msgid "To restrict a user’s access to the internet:" -msgstr "Per limitare l'accesso di un utente a Internet:" - -#. (itstool) path: item/p -#: C/internet.page:19 C/restricting-applications.page:20 -#: C/software-installation.page:27 C/software-installation.page:64 -msgid "Open the Parental Controls application." -msgstr "Apri l'app Controllo Parentale." - -#. (itstool) path: item/p -#: C/internet.page:20 C/restricting-applications.page:21 -#: C/software-installation.page:28 C/software-installation.page:65 -msgid "Select the user in the tabs at the top." -msgstr "Nelle schede in alto, seleziona l'account desiderato." - -#. (itstool) path: item/p -#: C/internet.page:21 -msgid "" -"Enable the Restrict Web Browsers checkbox." -msgstr "" -"Seleziona la casella Limita i browser web." - -#. (itstool) path: info/desc -#: C/introduction.page:6 -msgid "" -"Overview of parental controls and the Parental Controls " -"application." -msgstr "" -"Panoramica del controllo parentale e dell'applicazione " -"Controllo Parentale." - -#. (itstool) path: page/title -#: C/introduction.page:10 -msgid "Introduction to Parental Controls" -msgstr "Introduzione al Controllo Parentale" - -#. (itstool) path: page/p -#: C/introduction.page:12 -msgid "" -"Parental controls are a way to restrict what non-administrator accounts can " -"do on the computer, with the aim of allowing parents to restrict what their " -"children can do when using the computer unsupervised or under limited " -"supervision." -msgstr "" -"Il controllo parentale è un modo per limitare ciò che gli account non-amministratore possono " -"fare al computer, con l'obiettivo di consentire ai genitori di limitare ciò che i loro " -"bambini possono fare quando usano il computer senza sorveglianza o sotto una supervisione " -"limitata." - -#. (itstool) path: page/p -#: C/introduction.page:16 -msgid "" -"This functionality can be used in other situations ­– such as other carer/" -"caree relationships – but is labelled as ‘parental controls’ so that it’s " -"easy to find." -msgstr "" -"Questa funzionalità può essere utilizzata in altre situazioni, ad esempio per altri tutori/" -"relazioni di carriera - ma è etichettato come’controllo parentale’ in modo che sia " -"facile da trovare." - -#. (itstool) path: page/p -#: C/introduction.page:19 -msgid "" -"The parental controls for any user can be queried and set using the " -"Parental Controls application. This lists the non-administrator " -"accounts in tabs along its top bar, and shows their current parental " -"controls settings below. Changes to the parental controls apply immediately." -msgstr "" -"L'applicazione Controllo Parentale consente le query " -"a qualsiasi titolo e definisce i controlli per ciascuno. L'applicazione " -"elenca tutti gli account non-amministratore sotto forma di schede nella " -"barra superiore della finestra e sotto mostra i controlli definiti " -"attualmente. Le modifiche al controllo parentale hanno effetto immediato." - -#. (itstool) path: page/p -#: C/introduction.page:23 -msgid "" -"Restrictions on using the computer can only be applied to non-administrator " -"accounts. The parental controls settings for a user can only be changed by " -"an administrator, although the administrator can do so from the user’s " -"account by entering their password when prompted by the Parental " -"Controls application." -msgstr "" -"Le restrizioni sull'uso dei computer possono essere applicate solo agli account " -"non-amministratore. Le impostazioni del controllo parentale per un utente possono " -"essere modificate solo da un amministratore, anche se l'amministratore può farlo dall'utente " -"account inserendo la password quando richiesto dall'applicazione " -"Controllo Parentale." - -#. (itstool) path: p/link -#: C/legal.xml:4 -msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" -msgstr "Creative Commons Attribution-ShareAlike 3.0 Unported License" - -#. (itstool) path: license/p -#: C/legal.xml:3 -msgid "This work is licensed under a <_:link-1/>." -msgstr "Quest'opera è sotto licenza <_:link-1/>." - -#. (itstool) path: info/desc -#: C/restricting-applications.page:6 -msgid "Restricting a child user from running already-installed applications." -msgstr "Limita l'utilizzo di applicazioni già installate ai minori." - -#. (itstool) path: page/title -#: C/restricting-applications.page:9 -msgid "Restricting Access to Installed Applications" -msgstr "Limita l'accesso alle applicazioni installate" - -#. (itstool) path: page/p -#: C/restricting-applications.page:11 -msgid "" -"You can prevent a user from running specific applications which are already " -"installed on the computer. This could be useful if other users need those " -"applications but they are not appropriate for a child." -msgstr "" -"Puoi impedire ad un utente di eseguire applicazioni specifiche che sono già " -"installate nel computer. Questo potrebbe essere utile se altri utenti hanno bisogno " -"di queste applicazioni ma che non siano appropriate per un bambino." - -#. (itstool) path: page/p -#: C/restricting-applications.page:14 -msgid "" -"When installing additional software, you should consider whether that needs " -"to be restricted for some users — newly installed software is usable by all " -"users by default." -msgstr "" -"Durante l'installazione di software aggiuntivo, è necessario considerare se sia necessario " -"limitarlo per alcuni utenti: il software appena installato è utilizzabile da tutti gli " -"utenti per impostazione predefinita." - -#. (itstool) path: page/p -#: C/restricting-applications.page:18 -msgid "To restrict a user’s access to a specific application:" -msgstr "Per limitare l'accesso di un utente a un'applicazione specifica:" - -#. (itstool) path: item/p -#: C/restricting-applications.page:22 -msgid "Press the Restrict Applications button." -msgstr "Premi il pulsante Limita Applicazioni." - -#. (itstool) path: item/p -#: C/restricting-applications.page:23 -msgid "" -"Enable the switch in the row for each application you would like to restrict " -"the user from accessing." -msgstr "" -"Attiva l'interruttore nella riga per ogni app che desideri limitare." - -#. (itstool) path: item/p -#: C/restricting-applications.page:24 -msgid "Close the Restrict Applications window." -msgstr "Chiudi la finestra Limita Applicazioni." - -#. (itstool) path: page/p -#: C/restricting-applications.page:27 -msgid "" -"Restricting access to specific applications is often used in conjunction " -"with to prevent a user from " -"installing additional software which has not been vetted." -msgstr "" -"Spesso viene utilizzata la limitazione dell'accesso a determinate applicazioni " -"Con per evitare che venga installato " -"software senza che sia stato verificato." - -#. (itstool) path: info/desc -#: C/software-installation.page:6 -msgid "" -"Restricting the software a child user can install, or preventing them " -"installing additional software entirely." -msgstr "" -"Limita il software che un minore può installare o impediscigli di " -"installare completamente software aggiuntivo." - -#. (itstool) path: page/title -#: C/software-installation.page:9 -msgid "Restricting Software Installation" -msgstr "Limitare Installazione di Software" - -#. (itstool) path: page/p -#: C/software-installation.page:11 -msgid "" -"You can prevent a user from installing additional software, either for the " -"entire system, or just for themselves. They will still be able to search for " -"new software to install, but will need an administrator to authorize the " -"installation when they try to install an application." -msgstr "" -"Puoi impedire ad un utente di installare software aggiuntivo, sia per l'intero " -"sistema, sia per te stesso. Sarà ancora in grado di cercare nuovo software " -"da installare, ma se proverà ad installarlo dovrà avere l'aiuto di un " -"amministratore per l'autorizzazione." - -#. (itstool) path: page/p -#: C/software-installation.page:16 -msgid "" -"Additionally, you can restrict which software a user can browse or search " -"for in the Software catalog by age categories." -msgstr "" -"Inoltre, se utilizzi le categorie di età in Software, " -"puoi limitare quale software può essere sfogliato nel tuo catalogo." - -#. (itstool) path: page/p -#: C/software-installation.page:19 -msgid "" -"To prevent a user from running an application which has already been " -"installed, see ." -msgstr "" -"Per impedire a un utente di eseguire un'applicazione precedentemente installata, " -"vedere ." - -#. (itstool) path: section/title -#: C/software-installation.page:23 -msgid "Preventing Software Installation" -msgstr "Evitare l'installazione di software" - -#. (itstool) path: section/p -#: C/software-installation.page:25 -msgid "To prevent a user from installing additional software:" -msgstr "" -"Seguire questa procedura per impedire l'installazione di software aggiuntivo:" - -#. (itstool) path: item/p -#: C/software-installation.page:29 -msgid "" -"Enable the Restrict Application Installation " -"checkbox." -msgstr "" -"Selezionare la casella Limita l'installazione di " -"Applicazioni." - -#. (itstool) path: item/p -#: C/software-installation.page:30 -msgid "" -"Or enable the Restrict Application Installation for " -"Others checkbox." -msgstr "" -"Oppure, seleziona la casella Limita l'installazione di " -"applicazioni per gli altri." - -#. (itstool) path: section/p -#: C/software-installation.page:33 -msgid "" -"The Restrict Application Installation for Others checkbox allows the user to install additional software for themselves, " -"but prevents that software from being made available to other users. It " -"could be used, for exampcheckboxle, if there were two child users, one of whom is " -"mature enough to be allowed to install additional software, but the other " -"isn’t — enabling Restrict Application Installation " -"for Others would prevent the more mature child from installing " -"applications which are inappropriate for the other child and making them " -"available to the other child." -msgstr "" -"La casella Limita l'installazione di applicazioni " -"ad altri consente l'installazione di software aggiuntivo per se stessi, " -"ma ne limita la disponibilità agli altri account. Potrebbe essere usato " -"approfittando di questa funzione, ad esempio, se hai due minorenni, di cui " -"solo uno è abbastanza maturo da potersi installare software " -"abilitando Limita l'installazione di " -"applicazioni ad altri impedirà al minore più maturo di installare " -"applicazioni inadeguate per l'altro bambino." - -#. (itstool) path: section/title -#: C/software-installation.page:45 -msgid "Restricting Software Installation by Age" -msgstr "Limitare l'installazione del software in base all'età" - -#. (itstool) path: section/p -#: C/software-installation.page:47 -msgid "" -"Applications in the Software catalog have information about " -"content they contain which might be inappropriate for some ages — for " -"example, various forms of violence, unmoderated chat with other people on " -"the internet, or the possibility of spending money." -msgstr "" -"Le applicazioni incluse nel catalogo di Software " -"includono informazioni riguardanti il ​​contenuto che possiedono e la sua idoneità " -"secondo l'età, annotando dettagli come: varie forme di violenza, chat non " -"moderate con altre persone tramite internet, o la capacità di spendere " -"soldi." - -#. (itstool) path: section/p -#: C/software-installation.page:51 -msgid "" -"For each application, this information is summarized as the minimum age " -"child it is typically suitable to be used by — for example, “suitable for " -"ages 7+”. These age ratings are presented in region-specific schemes which " -"can be compared with the ratings schemes used for films and games." -msgstr "" -"In ogni applicazione, questa informazione è condensata come l'età minima " -"che è ritenuta appropriata per un minore utilizzarla; ad esempio,“7 anni o +“. " -"Queste classificazioni sono presentate in conformità con alcuni " -"schemi regionali, paragonabili a quelli utilizzati per classificare " -"film e giochi." - -#. (itstool) path: section/p -#: C/software-installation.page:55 -msgid "" -"The applications shown to a user in the Software catalog can be " -"filtered by their age suitability. Applications which are not suitable for " -"the user will be hidden, and will not be installable by that user. They will " -"be installable by other users (if their age suitability is set high enough)." -msgstr "" -"Le applicazioni Software mostrate a ciascun utente possono essere " -"filtrate per adeguatezza all'età. Le applicazioni non adatte per un account " -"verranno nascoste dal catalogo e non potranno essere installate. " -"Altri utenti potranno installarle (se la loro fascia d'età è tale che lo si permetta)." - -#. (itstool) path: section/p -#: C/software-installation.page:61 -msgid "" -"To filter the applications seen by a user in the Software catalog " -"to only those suitable for a certain age:" -msgstr "" -"Per filtrare le applicazioni che vede un utente nel catalogo " -"Software e che solo quelli appropriati vengono mostrati per una " -"certa età:" - -#. (itstool) path: item/p -#: C/software-installation.page:66 -msgid "" -"In the Application Suitability list, select the age which " -"applications should be suitable for." -msgstr "" -"Nella lista Idoneità dell'applicazione, selezionare l'età desiderata." - -#. (itstool) path: note/p -#: C/software-installation.page:70 -msgid "" -"The user’s actual age is not stored, so the Application Suitability is not automatically updated over time as the child grows older. You " -"must periodically re-assess the appropriate Application Suitability for each user." -msgstr "" -"Poiché l'età dell'utente non viene memorizzata, l' Idoneità dell'applicazione non viene aggiornata automaticamente man mano che il minore cresce. Si dovrebbe " -"rivalutare periodicamente il livello appropriato di Idoneità dell'applicazione per ciascuno degli account." diff --git a/help/meson.build b/help/meson.build deleted file mode 100644 index 0bbd029..0000000 --- a/help/meson.build +++ /dev/null @@ -1,17 +0,0 @@ -help_media = [ -] -help_files = [ - 'creating-a-child-user.page', - 'index.page', - 'internet.page', - 'introduction.page', - 'legal.xml', - 'restricting-applications.page', - 'software-installation.page', -] - -gnome.yelp(meson.project_name(), - sources: help_files, - media: help_media, - symlink_media: true, -) diff --git a/help/pl/pl.po b/help/pl/pl.po deleted file mode 100644 index fe37154..0000000 --- a/help/pl/pl.po +++ /dev/null @@ -1,437 +0,0 @@ -# Polish translation for malcontent help. -# Copyright © 2020 the malcontent authors. -# This file is distributed under the same license as the malcontent help. -# Piotr Drąg , 2020. -# Aviary.pl , 2020. -# -msgid "" -msgstr "" -"Project-Id-Version: malcontent-help\n" -"POT-Creation-Date: 2020-12-18 15:14+0000\n" -"PO-Revision-Date: 2020-12-20 13:22+0100\n" -"Last-Translator: Piotr Drąg \n" -"Language-Team: Polish \n" -"Language: pl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" - -#. Put one translator per line, in the form NAME , YEAR1, YEAR2 -msgctxt "_" -msgid "translator-credits" -msgstr "" -"Piotr Drąg , 2020\n" -"Aviary.pl , 2020" - -#. (itstool) path: info/desc -#: C/creating-a-child-user.page:6 -msgid "Creating a child user on the computer." -msgstr "Tworzenie konta dziecka na komputerze." - -#. (itstool) path: page/title -#: C/creating-a-child-user.page:9 -msgid "Creating a Child User" -msgstr "Tworzenie konta dziecka" - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:11 -msgid "" -"Parental controls can only be applied to non-administrator accounts. Such an " -"account may have been created when the computer was initially set up. If " -"not, a new child user may be created from the Parental Controls " -"application if no child users already exist; and otherwise may be created " -"from the Control Center." -msgstr "" -"Kontrola rodzicielska może zostać zastosowana tylko na kontach niebędących " -"administratorami. Takie konto można utworzyć podczas początkowej " -"konfiguracji komputera. Jeśli nie zostało wtedy utworzone, to można to " -"zrobić w programie Kontrola rodzicielska, jeśli żadne konto " -"dziecka jeszcze nie istnieje. W przeciwnym wypadku można je utworzyć " -"w programie Ustawienia." - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:17 -msgid "" -"To create a new child user, see Add a new user account. As soon as the new user is " -"created, it will appear in the Parental Controls window so that " -"its parental controls settings can be configured." -msgstr "" -"Dokumentacja " -"środowiska zawiera informacje o tym, jak utworzyć nowe konto " -"użytkownika. Po utworzeniu pojawi się ono w oknie programu Kontrola " -"rodzicielska, gdzie można skonfigurować jego ustawienia kontroli " -"rodzicielskiej." - -#. (itstool) path: credit/name -#: C/index.page:6 -msgid "Philip Withnall" -msgstr "Philip Withnall" - -#. (itstool) path: credit/years -#: C/index.page:8 -msgid "2020" -msgstr "2020" - -#. (itstool) path: page/title -#: C/index.page:12 -msgid "Parental Controls Help" -msgstr "Kontrola rodzicielska" - -#. (itstool) path: section/title -#: C/index.page:15 -msgid "Introduction & Setup" -msgstr "Wprowadzenie i konfiguracja" - -#. (itstool) path: section/title -#: C/index.page:19 -msgid "Controls to Apply" -msgstr "Ograniczenia do zastosowania" - -#. (itstool) path: info/desc -#: C/internet.page:6 -msgid "Restricting a child user’s access to the internet." -msgstr "Ograniczanie dostępu konta dziecka do Internetu." - -#. (itstool) path: page/title -#: C/internet.page:9 -msgid "Restricting Access to the Internet" -msgstr "Ograniczanie dostępu do Internetu" - -#. (itstool) path: page/p -#: C/internet.page:11 -msgid "" -"You can restrict a user’s access to the internet. This will prevent them " -"using a web browser, but it will not prevent them using the internet (in " -"potentially more limited forms) through other applications. For example, it " -"will not prevent access to e-mail accounts using Evolution, and " -"it will not prevent software updates being downloaded and applied." -msgstr "" -"Można ograniczyć użytkownikowi dostęp do Internetu. Uniemożliwi im to " -"używanie przeglądarki internetowej, ale nie uniemożliwi im korzystania " -"z Internetu (w potencjalnie bardziej ograniczonej formie) za pomocą innych " -"programów. Na przykład nie uniemożliwi dostępu do kont e-mail za pomocą " -"programu Evolution oraz nie zatrzyma pobierania i instalowania " -"aktualizacji oprogramowania." - -#. (itstool) path: page/p -#: C/internet.page:17 -msgid "To restrict a user’s access to the internet:" -msgstr "Aby ograniczyć dostęp użytkownika do Internetu:" - -#. (itstool) path: item/p -#: C/internet.page:19 C/restricting-applications.page:20 -#: C/software-installation.page:28 C/software-installation.page:54 -msgid "Open the Parental Controls application." -msgstr "Otwórz program Kontrola rodzicielska." - -#. (itstool) path: item/p -#: C/internet.page:20 C/restricting-applications.page:21 -#: C/software-installation.page:29 C/software-installation.page:55 -msgid "Select the user in the tabs at the top." -msgstr "Wybierz użytkownika z kart na górze." - -#. (itstool) path: item/p -#: C/internet.page:21 -msgid "" -"Enable the Restrict Web Browsers checkbox." -msgstr "" -"Zaznacz pole Ograniczanie przeglądarek " -"internetowych." - -#. (itstool) path: info/desc -#: C/introduction.page:6 -msgid "" -"Overview of parental controls, the Parental Controls application " -"and its use in other situations where access restrictions are needed on a " -"user." -msgstr "" -"Przegląd kontroli rodzicielskiej, programu Kontrola rodzicielska " -"i jego użycia w innych sytuacjach, w których potrzebne są ograniczenia " -"dostępu użytkownika." - -#. (itstool) path: page/title -#: C/introduction.page:12 -msgid "Introduction to Parental Controls" -msgstr "Wprowadzenie do kontroli rodzicielskiej" - -#. (itstool) path: page/p -#: C/introduction.page:14 -msgid "" -"Parental controls are a way to restrict what non-administrator accounts can " -"do on the computer, with the aim of allowing parents to restrict what their " -"children can do when using the computer unsupervised or under limited " -"supervision." -msgstr "" -"Kontrola rodzicielska to sposób na ograniczanie tego, co nieadministracyjne " -"konta mogą robić na komputerze, którego celem jest umożliwienie rodzicom " -"ograniczania, co ich dzieci mogą robić w czasie korzystania z komputera bez " -"nadzoru lub z minimalnym nadzorem." - -#. (itstool) path: page/p -#: C/introduction.page:18 -msgid "" -"This functionality can be used in other situations ­– such as other carer/" -"caree relationships – but is labelled as ‘parental controls’ so that it’s " -"easy to find, as that’s what most people will be looking for." -msgstr "" -"Ta funkcjonalność może być używana w innych sytuacjach — takich jak inne " -"relacje opiekuńcze — ale nazywa się „kontrola rodzicielska”, aby można ją " -"było łatwo znaleźć, jako że większość osób będzie szukać tego terminu." - -#. (itstool) path: page/p -#: C/introduction.page:21 -msgid "" -"The parental controls for any user can be queried and set using the " -"Parental Controls application. This lists the non-administrator " -"accounts in tabs along its top bar, and shows their current parental " -"controls settings below. Changes to the parental controls apply immediately." -msgstr "" -"Za pomocą programu Kontrola rodzicielska można sprawdzać " -"i ustawiać kontrolę rodzicielską dla każdego konta. Zawiera on listę kont " -"niebędących administratorami w kartach na górnym pasku i ich obecne " -"ustawienia kontroli rodzicielskiej poniżej. Zmiany kontroli rodzicielskiej " -"są uwzględniane od razu." - -#. (itstool) path: page/p -#: C/introduction.page:25 -msgid "" -"Restrictions on using the computer can only be applied to non-administrator " -"accounts. The parental controls settings for a user can only be changed by " -"an administrator, although the administrator can do so from the user’s " -"account by entering their password when prompted by the Parental " -"Controls application." -msgstr "" -"Ograniczenia korzystania z komputera można stosować tylko na kontach " -"nieadministracyjnych. Ustawienia kontroli rodzicielskiej użytkownika mogą " -"być zmieniane tylko przez administratora, ale administrator może robić to " -"z konta użytkownika wpisując swoje hasło, kiedy program Kontrola " -"rodzicielska o nie poprosi." - -#. (itstool) path: p/link -#: C/legal.xml:4 -msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" -msgstr "Creative Commons Attribution-ShareAlike 3.0 Unported" - -#. (itstool) path: license/p -#: C/legal.xml:3 -msgid "This work is licensed under a <_:link-1/>." -msgstr "Na warunkach licencji <_:link-1/>." - -#. (itstool) path: info/desc -#: C/restricting-applications.page:6 -msgid "Restricting a child user from running already-installed applications." -msgstr "" -"Ograniczanie kontu dziecka możliwości uruchamiania już zainstalowanych " -"programów." - -#. (itstool) path: page/title -#: C/restricting-applications.page:9 -msgid "Restricting Access to Installed Applications" -msgstr "Ograniczanie dostępu do zainstalowanych programów" - -#. (itstool) path: page/p -#: C/restricting-applications.page:11 -msgid "" -"You can prevent a user from running specific applications which are already " -"installed on the computer. This could be useful if other users need those " -"applications but they are not appropriate for a child." -msgstr "" -"Można uniemożliwić użytkownikowi uruchamianie określonych programów, które " -"są już zainstalowane na komputerze. Może to być przydatne, jeśli pozostali " -"użytkownicy potrzebują tych programów, ale nie są one odpowiednie dla " -"dziecka." - -#. (itstool) path: page/p -#: C/restricting-applications.page:14 -msgid "" -"When installing additional software, you should consider whether that needs " -"to be restricted for some users — newly installed software is usable by all " -"users by default." -msgstr "" -"Podczas instalowania dodatkowego oprogramowania należy rozważyć, czy musi " -"ono być ograniczone dla części użytkowników — nowo zainstalowane " -"oprogramowanie domyślnie może być używane przez wszystkich użytkowników." - -#. (itstool) path: page/p -#: C/restricting-applications.page:18 -msgid "To restrict a user’s access to a specific application:" -msgstr "Aby ograniczyć dostęp użytkownika do danego programu:" - -#. (itstool) path: item/p -#: C/restricting-applications.page:22 -msgid "Press the Restrict Applications button." -msgstr "Kliknij przycisk Ograniczanie programów." - -#. (itstool) path: item/p -#: C/restricting-applications.page:23 -msgid "" -"Enable the switch in the row for each application you would like to restrict " -"the user from accessing." -msgstr "" -"Kliknij przełącznik w rzędzie każdego programu, do którego użytkownik ma " -"mieć ograniczony dostęp." - -#. (itstool) path: item/p -#: C/restricting-applications.page:24 -msgid "Close the Restrict Applications window." -msgstr "Zamknij okno Ograniczanie programów." - -#. (itstool) path: page/p -#: C/restricting-applications.page:27 -msgid "" -"Restricting access to specific applications is often used in conjunction " -"with to prevent a user from " -"installing additional software which has not been vetted." -msgstr "" -"Ograniczanie dostępu do określonych programów jest często używane " -"jednocześnie z funkcją , aby " -"uniemożliwić użytkownikowi instalowanie dodatkowego oprogramowania, które " -"nie zostało jeszcze zatwierdzone." - -#. (itstool) path: info/desc -#: C/software-installation.page:6 -msgid "" -"Restricting the software a child user can install, or preventing them " -"installing additional software entirely." -msgstr "" -"Ograniczanie oprogramowania, które dziecko może instalować lub całkowite " -"uniemożliwianie im instalowania dodatkowego oprogramowania." - -#. (itstool) path: page/title -#: C/software-installation.page:9 -msgid "Restricting Software Installation" -msgstr "Ograniczanie instalacji oprogramowania" - -#. (itstool) path: page/p -#: C/software-installation.page:11 -msgid "" -"You can prevent a user from installing additional software on the system. " -"They will still be able to search for new software to install, but will need " -"an administrator to authorize the installation when they try to install an " -"application. This applies whether they are trying to install the application " -"system-wide (for all users) or just for themselves." -msgstr "" -"Można uniemożliwić użytkownikowi instalowanie dodatkowego oprogramowania na " -"komputerze. Nadal będzie on mógł wyszukiwać nowe oprogramowanie, ale do jego " -"zainstalowania będzie potrzebował upoważnienia administratora. Ma to " -"zastosowanie niezależnie od tego, czy użytkownik próbuje zainstalować " -"program w systemie (dla wszystkich użytkowników) czy tylko dla siebie." - -#. (itstool) path: page/p -#: C/software-installation.page:17 -msgid "" -"Additionally, you can restrict which software a user can browse or search " -"for in the Software catalog by age categories." -msgstr "" -"Dodatkowe można ograniczyć, które oprogramowanie użytkownik może przeglądać " -"i wyszukiwać w katalogu Menedżera oprogramowania według kategorii " -"wiekowych." - -#. (itstool) path: page/p -#: C/software-installation.page:20 -msgid "" -"To prevent a user from running an application which has already been " -"installed, see ." -msgstr "" -" zawiera informacje o tym, jak " -"uniemożliwić użytkownikowi uruchamianie już zainstalowanego programu." - -#. (itstool) path: section/title -#: C/software-installation.page:24 -msgid "Preventing Software Installation" -msgstr "Uniemożliwianie instalacji oprogramowania" - -#. (itstool) path: section/p -#: C/software-installation.page:26 -msgid "To prevent a user from installing additional software:" -msgstr "" -"Aby uniemożliwić użytkownikowi instalowanie dodatkowego oprogramowania:" - -#. (itstool) path: item/p -#: C/software-installation.page:30 -msgid "" -"Enable the Restrict Application Installation " -"checkbox." -msgstr "" -"Zaznacz pole Ograniczanie instalacji programów." - -#. (itstool) path: section/title -#: C/software-installation.page:35 -msgid "Restricting Software Installation by Age" -msgstr "Ograniczanie instalacji oprogramowania według wieku" - -#. (itstool) path: section/p -#: C/software-installation.page:37 -msgid "" -"Applications in the Software catalog have information about " -"content they contain which might be inappropriate for some ages — for " -"example, various forms of violence, unmoderated chat with other people on " -"the internet, or the possibility of spending money." -msgstr "" -"Programy w katalogu Menedżera oprogramowania mają informacje " -"o zawieranej treści, która może być nieodpowiednia dla osób w pewnym wieku — " -"na przykład różne formy przemocy, niemoderowany czat z innymi osobami " -"w Internecie lub możliwość wydawania pieniędzy." - -#. (itstool) path: section/p -#: C/software-installation.page:41 -msgid "" -"For each application, this information is summarized as the minimum age " -"child it is typically suitable to be used by — for example, “suitable for " -"ages 7+”. These age ratings are presented in region-specific schemes which " -"can be compared with the ratings schemes used for films and games." -msgstr "" -"Dla każdego programu ta informacja jest podsumowana jako minimalny wiek " -"dziecka, w jakim zazwyczaj jest odpowiedni — na przykład „odpowiednie dla " -"dzieci siedmioletnich i starszych”. Te oceny wiekowe są przestawiane " -"w formie dla danego regionu, które można porównywać z ocenami używanymi dla " -"filmów i gier." - -#. (itstool) path: section/p -#: C/software-installation.page:45 -msgid "" -"The applications shown to a user in the Software catalog can be " -"filtered by their age suitability. Applications which are not suitable for " -"the user will be hidden, and will not be installable by that user. They will " -"be installable by other users (if their age suitability is set high enough)." -msgstr "" -"Programy wyświetlane użytkownikowi w katalogu Menedżera oprogramowania mogą być filtrowane według ich kategorii wiekowych. Programy " -"nieodpowiednie dla użytkownika będą ukryte i nie będzie on mógł ich " -"instalować. Pozostali użytkownicy będą mogli je instalować (jeśli ich " -"kategoria wiekowa jest ustawiona odpowiednio wysoko)." - -#. (itstool) path: section/p -#: C/software-installation.page:51 -msgid "" -"To filter the applications seen by a user in the Software catalog " -"to only those suitable for a certain age:" -msgstr "" -"Aby odfiltrować nieodpowiednie programy widoczne dla użytkownika w katalogu " -"Menedżera oprogramowania:" - -#. (itstool) path: item/p -#: C/software-installation.page:56 -msgid "" -"In the Application Suitability list, select the age which " -"applications should be suitable for." -msgstr "" -"Na liście Odpowiedniość programów wybierz wiek, dla którego " -"programy powinny być odpowiednie." - -#. (itstool) path: note/p -#: C/software-installation.page:60 -msgid "" -"The user’s actual age is not stored, so the Application Suitability is not automatically updated over time as the child grows older. You " -"must periodically re-assess the appropriate Application Suitability for each user." -msgstr "" -"Rzeczywisty wiek użytkownika nie jest przechowywany, więc opcja " -"Odpowiedniość programów nie jest automatycznie aktualizowana wraz " -"z upływem czasu i dorastania dziecka. Należy okresowo sprawdzać, czy opcja " -"Odpowiedniość programów jest właściwie ustawiona dla każdego " -"użytkownika." diff --git a/help/pt_BR/pt_BR.po b/help/pt_BR/pt_BR.po deleted file mode 100644 index 691c086..0000000 --- a/help/pt_BR/pt_BR.po +++ /dev/null @@ -1,455 +0,0 @@ -# Brazilian Portuguese translation for malcontent. -# Copyright (C) 2020 malcontent's COPYRIGHT HOLDER -# This file is distributed under the same license as the malcontent package. -# Rafael Fontenelle , 2020. -# -msgid "" -msgstr "" -"Project-Id-Version: malcontent master\n" -"POT-Creation-Date: 2020-04-24 15:30+0000\n" -"PO-Revision-Date: 2020-04-24 09:11-0300\n" -"Last-Translator: Rafael Fontenelle \n" -"Language-Team: Brazilian Portuguese \n" -"Language: pt_BR\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" -"X-Generator: Gtranslator 3.36.0\n" - -#. Put one translator per line, in the form NAME , YEAR1, YEAR2 -msgctxt "_" -msgid "translator-credits" -msgstr "Rafael Fontenelle , 2020" - -#. (itstool) path: info/desc -#: C/creating-a-child-user.page:6 -msgid "Creating a child user on the computer." -msgstr "Criando um usuário filho no computador." - -#. (itstool) path: page/title -#: C/creating-a-child-user.page:9 -msgid "Creating a Child User" -msgstr "Criando um usuário filho" - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:11 -msgid "" -"Parental controls can only be applied to non-administrator accounts. Such an " -"account may have been created when the computer was initially set up. If " -"not, a new child user may be created from the Parental Controls " -"application if no child users already exist; and otherwise may be created " -"from the Control Center." -msgstr "" -"Os controles dos pais podem ser aplicados apenas a contas de não " -"administrador. Essa conta pode ter sido criada quando o computador foi " -"configurado inicialmente. Caso contrário, um novo usuário filho poderá ser " -"criado a partir do aplicativo Controle parental se nenhum usuário " -"filho já existir; e, caso contrário, pode ser criado no Controle " -"parental." - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:17 -msgid "" -"To create a new child user, see Add a new user account. As soon as the new user is " -"created, it will appear in the Parental Controls window so that " -"its parental controls settings can be configured." -msgstr "" -"Para criar um novo usuário filho, consulte Adicionando uma nova conta de usuário. Assim " -"que o novo usuário for criado, ele aparecerá na janela do Controle " -"parental para que suas configurações de controle parental possam ser " -"definidas." - -#. (itstool) path: credit/name -#: C/index.page:6 -msgid "Philip Withnall" -msgstr "Philip Withnall" - -#. (itstool) path: credit/years -#: C/index.page:8 -msgid "2020" -msgstr "2020" - -#. (itstool) path: page/title -#: C/index.page:12 -msgid "Parental Controls Help" -msgstr "Ajuda do Controle parental" - -#. (itstool) path: section/title -#: C/index.page:15 -msgid "Introduction & Setup" -msgstr "Introdução & configuração" - -#. (itstool) path: section/title -#: C/index.page:19 -msgid "Controls to Apply" -msgstr "Controles para aplicar" - -#. (itstool) path: info/desc -#: C/internet.page:6 -msgid "Restricting a child user’s access to the internet." -msgstr "Restringindo o acesso do usuário filho à Internet." - -#. (itstool) path: page/title -#: C/internet.page:9 -msgid "Restricting Access to the Internet" -msgstr "Restringindo acesso à Internet" - -#. (itstool) path: page/p -#: C/internet.page:11 -msgid "" -"You can restrict a user’s access to the internet. This will prevent them " -"using a web browser, but it will not prevent them using the internet (in " -"potentially more limited forms) through other applications. For example, it " -"will not prevent access to e-mail accounts using Evolution, and " -"it will not prevent software updates being downloaded and applied." -msgstr "" -"Você pode restringir o acesso de um usuário à Internet. Isso os impedirá de " -"usar um navegador web, mas não os impedirá de usar a Internet (em formas " -"potencialmente mais limitadas) por meio de outros aplicativos. Por exemplo, " -"não impedirá o acesso a contas de e-mail usando o Evolution, nem " -"impedirá o download e aplicação de atualizações de software." - -#. (itstool) path: page/p -#: C/internet.page:17 -msgid "To restrict a user’s access to the internet:" -msgstr "Para restringir o acesso de um usuário à Internet:" - -#. (itstool) path: item/p -#: C/internet.page:19 C/restricting-applications.page:20 -#: C/software-installation.page:27 C/software-installation.page:64 -msgid "Open the Parental Controls application." -msgstr "Abra o aplicativo Controle parental." - -#. (itstool) path: item/p -#: C/internet.page:20 C/restricting-applications.page:21 -#: C/software-installation.page:28 C/software-installation.page:65 -msgid "Select the user in the tabs at the top." -msgstr "Selecione o usuário nas abas no topo." - -#. (itstool) path: item/p -#: C/internet.page:21 -msgid "" -"Enable the Restrict Web Browsers checkbox." -msgstr "" -"Habilite a caixa de seleção Restringir navegadores " -"web." - -#. (itstool) path: info/desc -#: C/introduction.page:6 -msgid "" -"Overview of parental controls and the Parental Controls " -"application." -msgstr "" -"Visão geral dos controles parentais e o aplicativo Controle parental." - -#. (itstool) path: page/title -#: C/introduction.page:10 -msgid "Introduction to Parental Controls" -msgstr "Introdução ao Controle parental" - -#. (itstool) path: page/p -#: C/introduction.page:12 -msgid "" -"Parental controls are a way to restrict what non-administrator accounts can " -"do on the computer, with the aim of allowing parents to restrict what their " -"children can do when using the computer unsupervised or under limited " -"supervision." -msgstr "" -"O controle parental é uma maneira de restringir o que as contas não-" -"administradoras podem fazer no computador, com o objetivo de permitir que os " -"pais restrinjam o que seus filhos podem fazer ao usar o computador sem " -"supervisão ou sob supervisão limitada." - -#. (itstool) path: page/p -#: C/introduction.page:16 -msgid "" -"This functionality can be used in other situations ­– such as other carer/" -"caree relationships – but is labelled as ‘parental controls’ so that it’s " -"easy to find." -msgstr "" -"Essa funcionalidade pode ser usada em outras situações, como outras relações " -"de tutor/tutelado, mas é rotulada como “controle parental”, para facilitar a " -"localização." - -#. (itstool) path: page/p -#: C/introduction.page:19 -msgid "" -"The parental controls for any user can be queried and set using the " -"Parental Controls application. This lists the non-administrator " -"accounts in tabs along its top bar, and shows their current parental " -"controls settings below. Changes to the parental controls apply immediately." -msgstr "" -"O controle parental para qualquer usuário pode ser consultado e definido " -"usando o aplicativo Controle parental. Isso lista as contas de " -"não administrador nas abas na barra superior e mostra as configurações " -"atuais do controle parental abaixo. Alterações no controle parental se " -"aplicam imediatamente." - -#. (itstool) path: page/p -#: C/introduction.page:23 -msgid "" -"Restrictions on using the computer can only be applied to non-administrator " -"accounts. The parental controls settings for a user can only be changed by " -"an administrator, although the administrator can do so from the user’s " -"account by entering their password when prompted by the Parental " -"Controls application." -msgstr "" -"Restrições ao uso do computador podem ser aplicadas apenas a contas de não " -"administrador. As configurações de controle parental de um usuário só podem " -"ser alteradas por um administrador, embora o administrador possa fazer isso " -"da conta do usuário digitando sua senha quando solicitado pelo aplicativo " -"Controle parental." - -#. (itstool) path: p/link -#: C/legal.xml:4 -msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" -msgstr "Creative Commons Atribuição Compartilhada Igual 3.0 Não Adaptada" - -#. (itstool) path: license/p -#: C/legal.xml:3 -msgid "This work is licensed under a <_:link-1/>." -msgstr "Essa obra está licenciada sob uma licença <_:link-1/>." - -#. (itstool) path: info/desc -#: C/restricting-applications.page:6 -msgid "Restricting a child user from running already-installed applications." -msgstr "Restringindo um usuário filho de executar aplicativos já instalados." - -#. (itstool) path: page/title -#: C/restricting-applications.page:9 -msgid "Restricting Access to Installed Applications" -msgstr "Restringindo o acesso aos aplicativos instalados" - -#. (itstool) path: page/p -#: C/restricting-applications.page:11 -msgid "" -"You can prevent a user from running specific applications which are already " -"installed on the computer. This could be useful if other users need those " -"applications but they are not appropriate for a child." -msgstr "" -"Você pode impedir que um usuário execute aplicativos específicos que já " -"estão instalados no computador. Isso pode ser útil se outros usuários " -"precisarem desses aplicativos, mas não forem apropriados para uma criança." - -#. (itstool) path: page/p -#: C/restricting-applications.page:14 -msgid "" -"When installing additional software, you should consider whether that needs " -"to be restricted for some users — newly installed software is usable by all " -"users by default." -msgstr "" -"Ao instalar software adicional, considere se isso precisa ser restrito para " -"alguns usuários — o software recém-instalado é utilizável por todos os " -"usuários por padrão.­­" - -#. (itstool) path: page/p -#: C/restricting-applications.page:18 -msgid "To restrict a user’s access to a specific application:" -msgstr "Para restringir o acesso de um usuário a um aplicativo específico:" - -#. (itstool) path: item/p -#: C/restricting-applications.page:22 -msgid "Press the Restrict Applications button." -msgstr "Pressione o botão Restringir aplicativos. " - -#. (itstool) path: item/p -#: C/restricting-applications.page:23 -msgid "" -"Enable the switch in the row for each application you would like to restrict " -"the user from accessing." -msgstr "" -"Habilite a opção na linha de cada aplicativo que você gostaria de restringir " -"o acesso do usuário." - -#. (itstool) path: item/p -#: C/restricting-applications.page:24 -msgid "Close the Restrict Applications window." -msgstr "Feche a janela Restringir aplicativos." - -#. (itstool) path: page/p -#: C/restricting-applications.page:27 -msgid "" -"Restricting access to specific applications is often used in conjunction " -"with to prevent a user from " -"installing additional software which has not been vetted." -msgstr "" -"A restrição de acesso a aplicativos específicos é frequentemente usada em " -"conjunto com para impedir que um " -"usuário instale um software adicional que ainda não foi verificado." - -#. (itstool) path: info/desc -#: C/software-installation.page:6 -msgid "" -"Restricting the software a child user can install, or preventing them " -"installing additional software entirely." -msgstr "" -"Restringindo o software que um usuário filho pode instalar ou impedindo-o de " -"instalar completamente software adicional." - -#. (itstool) path: page/title -#: C/software-installation.page:9 -msgid "Restricting Software Installation" -msgstr "Restringindo instalação de software" - -#. (itstool) path: page/p -#: C/software-installation.page:11 -msgid "" -"You can prevent a user from installing additional software, either for the " -"entire system, or just for themselves. They will still be able to search for " -"new software to install, but will need an administrator to authorize the " -"installation when they try to install an application." -msgstr "" -"Você pode impedir que um usuário instale software adicional, seja para todo " -"o sistema ou apenas para si. Eles ainda poderão procurar um novo software " -"para instalar, mas precisarão de um administrador para autorizar a " -"instalação quando tentarem instalar um aplicativo." - -#. (itstool) path: page/p -#: C/software-installation.page:16 -msgid "" -"Additionally, you can restrict which software a user can browse or search " -"for in the Software catalog by age categories." -msgstr "" -"Além disso, você pode restringir o software que um usuário pode procurar ou " -"procurar no catálogo Software por categorias de idade." - -#. (itstool) path: page/p -#: C/software-installation.page:19 -msgid "" -"To prevent a user from running an application which has already been " -"installed, see ." -msgstr "" -"Para impedir que um usuário execute um aplicativo que já foi instalado, " -"consulte ." - -#. (itstool) path: section/title -#: C/software-installation.page:23 -msgid "Preventing Software Installation" -msgstr "Impedindo a instalação do software" - -#. (itstool) path: section/p -#: C/software-installation.page:25 -msgid "To prevent a user from installing additional software:" -msgstr "Para impedir que um usuário instale software adicional:" - -#. (itstool) path: item/p -#: C/software-installation.page:29 -msgid "" -"Enable the Restrict Application Installation " -"checkbox." -msgstr "" -"Marque a caixa de seleção Restringir instalação de " -"aplicativo." - -#. (itstool) path: item/p -#: C/software-installation.page:30 -msgid "" -"Or enable the Restrict Application Installation for " -"Others checkbox." -msgstr "" -"Ou habilite a caixa de seleção Restringir instalação " -"de aplicativo para outros." - -#. (itstool) path: section/p -#: C/software-installation.page:33 -msgid "" -"The Restrict Application Installation for Others checkbox allows the user to install additional software for themselves, " -"but prevents that software from being made available to other users. It " -"could be used, for example, if there were two child users, one of whom is " -"mature enough to be allowed to install additional software, but the other " -"isn’t — enabling Restrict Application Installation " -"for Others would prevent the more mature child from installing " -"applications which are inappropriate for the other child and making them " -"available to the other child." -msgstr "" -"A caixa de seleção Restringir instalação de " -"aplicativo para outros permite ao usuário instalar software adicional " -"para eles mesmos, mas impede que esse software seja disponibilizado para " -"outros usuários. Poderia ser usado, por exemplo, se houvesse dois usuários " -"filhos, um deles maduro o suficiente para poder instalar software adicional, " -"mas o outro não — habilitando Restringir a " -"instalação de aplicativo para outros impediria a criança mais madura " -"de instalar aplicativos inadequados para a outra criança e disponibilizá-los " -"para a outra criança." - -#. (itstool) path: section/title -#: C/software-installation.page:45 -msgid "Restricting Software Installation by Age" -msgstr "Restringindo instalação de software por idade" - -#. (itstool) path: section/p -#: C/software-installation.page:47 -msgid "" -"Applications in the Software catalog have information about " -"content they contain which might be inappropriate for some ages — for " -"example, various forms of violence, unmoderated chat with other people on " -"the internet, or the possibility of spending money." -msgstr "" -"Os aplicativos no catálogo Software contêm informações sobre o " -"conteúdo que podem ser inadequadas por algumas idades — por exemplo, várias " -"formas de violência, bate-papo moderado com outras pessoas na Internet ou a " -"possibilidade de gastar dinheiro." - -#. (itstool) path: section/p -#: C/software-installation.page:51 -msgid "" -"For each application, this information is summarized as the minimum age " -"child it is typically suitable to be used by — for example, “suitable for " -"ages 7+”. These age ratings are presented in region-specific schemes which " -"can be compared with the ratings schemes used for films and games." -msgstr "" -"Para cada aplicativo, essas informações são resumidas como a criança com " -"idade mínima em que normalmente é adequada para ser usada por — por exemplo, " -"“adequada para idades acima de 7 anos”. Essas classificações etárias são " -"apresentadas em esquemas de região específica que podem ser comparados com " -"os esquemas de classificação usados para filmes e jogos." - -#. (itstool) path: section/p -#: C/software-installation.page:55 -msgid "" -"The applications shown to a user in the Software catalog can be " -"filtered by their age suitability. Applications which are not suitable for " -"the user will be hidden, and will not be installable by that user. They will " -"be installable by other users (if their age suitability is set high enough)." -msgstr "" -"Os aplicativos mostrados a um usuário no catálogo Software podem " -"ser filtrados de acordo com a sua idade. Os aplicativos que não são " -"adequados para o usuário serão ocultados e não serão instaláveis por esse " -"usuário. Eles serão instaláveis por outros usuários (se a adequação à idade " -"for alta o suficiente)." - -#. (itstool) path: section/p -#: C/software-installation.page:61 -msgid "" -"To filter the applications seen by a user in the Software catalog " -"to only those suitable for a certain age:" -msgstr "" -"Para filtrar os aplicativos vistos por um usuário no catálogo Software apenas para aqueles adequados para uma certa idade:" - -#. (itstool) path: item/p -#: C/software-installation.page:66 -msgid "" -"In the Application Suitability list, select the age which " -"applications should be suitable for." -msgstr "" -"Na lista Adequação do aplicativo, selecione a idade para a qual " -"os aplicativos devem ser adequados." - -#. (itstool) path: note/p -#: C/software-installation.page:70 -msgid "" -"The user’s actual age is not stored, so the Application Suitability is not automatically updated over time as the child grows older. You " -"must periodically re-assess the appropriate Application Suitability for each user." -msgstr "" -"A idade real do usuário não é armazenada, portanto, a Adequação do " -"aplicativo não é atualizada automaticamente ao longo do tempo à medida " -"que a criança cresce. Você deve reavaliar periodicamente a Adequação do " -"aplicativo para cada usuário." diff --git a/help/ru/ru.po b/help/ru/ru.po deleted file mode 100644 index fbc7cd2..0000000 --- a/help/ru/ru.po +++ /dev/null @@ -1,435 +0,0 @@ -# Russian translation for malcontent. -# Copyright (C) 2022 malcontent's COPYRIGHT HOLDER -# This file is distributed under the same license as the malcontent package. -# Sergej A. , 2022. -# -msgid "" -msgstr "" -"Project-Id-Version: malcontent main\n" -"POT-Creation-Date: 2022-06-04 15:25+0000\n" -"PO-Revision-Date: 2022-06-05 11:41+1000\n" -"Last-Translator: Ser82-png \n" -"Language-Team: Russian \n" -"Language: ru\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Poedit 2.3\n" - -#. Put one translator per line, in the form NAME , YEAR1, YEAR2 -msgctxt "_" -msgid "translator-credits" -msgstr "Ser82-png , 2022" - -#. (itstool) path: info/desc -#: C/creating-a-child-user.page:6 -msgid "Creating a child user on the computer." -msgstr "Создание записи пользователя-ребёнка на компьютере." - -#. (itstool) path: page/title -#: C/creating-a-child-user.page:9 -msgid "Creating a Child User" -msgstr "Создание записи пользователя-ребёнка" - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:11 -msgid "" -"Parental controls can only be applied to non-administrator accounts. Such an " -"account may have been created when the computer was initially set up. If " -"not, a new child user may be created from the Parental Controls " -"application if no child users already exist; and otherwise may be created " -"from the Control Center." -msgstr "" -"Родительский контроль можно применять только к учётным записям без " -"административных прав. Такая учётная запись могла быть создана при " -"первоначальной настройке системы. Если этого не было сделано, можно создать " -"новую детскую учётную запись с помощью приложения Родительский " -"контроль. Кроме того, такую учётную запись можно создать с помощью " -"Центра управления." - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:17 -msgid "" -"To create a new child user, see Add a new user account. As soon as the new user is " -"created, it will appear in the Parental Controls window so that " -"its parental controls settings can be configured." -msgstr "" -"Чтобы создать нового пользователя ребёнка, смотрите Добавление новой учётной записи " -"пользователя. Как только новый пользователь будет создан, он появится " -"в окне Родительский контроль, чтобы можно было для него настроить " -"параметры родительского контроля." - -#. (itstool) path: credit/name -#: C/index.page:6 -msgid "Philip Withnall" -msgstr "Philip Withnall" - -#. (itstool) path: credit/years -#: C/index.page:8 -msgid "2020" -msgstr "2020" - -#. (itstool) path: page/title -#: C/index.page:12 -msgid "Parental Controls Help" -msgstr "Справка по родительскому контролю" - -#. (itstool) path: section/title -#: C/index.page:15 -msgid "Introduction & Setup" -msgstr "Введение & Настройка" - -#. (itstool) path: section/title -#: C/index.page:19 -msgid "Controls to Apply" -msgstr "Средства контроля, которые можно применить" - -#. (itstool) path: info/desc -#: C/internet.page:6 -msgid "Restricting a child user’s access to the internet." -msgstr "Ограничение доступа ребёнка к интернету." - -#. (itstool) path: page/title -#: C/internet.page:9 -msgid "Restricting Access to the Internet" -msgstr "Ограничение доступа к интернету" - -#. (itstool) path: page/p -#: C/internet.page:11 -msgid "" -"You can restrict a user’s access to the internet. This will prevent them " -"using a web browser, but it will not prevent them using the internet (in " -"potentially more limited forms) through other applications. For example, it " -"will not prevent access to e-mail accounts using Evolution, and " -"it will not prevent software updates being downloaded and applied." -msgstr "" -"Вы можете ограничить доступ пользователя к интернету. Этим способом можно " -"запретить пользователю использовать веб-браузер, но доступ к сети интернет " -"будет сохранён (в потенциально более ограниченной форме) с помощью других " -"приложений. Например, пользователь будет иметь доступ к учётным записям " -"электронной почты с помощью Evolution, а также не будет " -"ограничений для загрузки и обновления программного обеспечения." - -#. (itstool) path: page/p -#: C/internet.page:17 -msgid "To restrict a user’s access to the internet:" -msgstr "Чтобы ограничить доступ пользователя к интернету:" - -#. (itstool) path: item/p -#: C/internet.page:19 C/restricting-applications.page:20 -#: C/software-installation.page:28 C/software-installation.page:54 -msgid "Open the Parental Controls application." -msgstr "Откройте приложение Родительский контроль." - -#. (itstool) path: item/p -#: C/internet.page:20 C/restricting-applications.page:21 -#: C/software-installation.page:29 C/software-installation.page:55 -msgid "Select the user in the tabs at the top." -msgstr "Выберите пользователя во вкладках верхней части окна." - -#. (itstool) path: item/p -#: C/internet.page:21 -msgid "" -"Enable the Restrict Web Browsers checkbox." -msgstr "" -"Установите флажок Ограничить доступ к Веб-браузерам." - -#. (itstool) path: info/desc -#: C/introduction.page:6 -msgid "" -"Overview of parental controls, the Parental Controls application " -"and its use in other situations where access restrictions are needed on a " -"user." -msgstr "" -"Обзор родительского контроля, приложения Родительский контроль и " -"его использования в различных ситуациях, когда необходимо ограничить доступ " -"для пользователя." - -#. (itstool) path: page/title -#: C/introduction.page:12 -msgid "Introduction to Parental Controls" -msgstr "Введение в родительский контроль" - -#. (itstool) path: page/p -#: C/introduction.page:14 -msgid "" -"Parental controls are a way to restrict what non-administrator accounts can " -"do on the computer, with the aim of allowing parents to restrict what their " -"children can do when using the computer unsupervised or under limited " -"supervision." -msgstr "" -"Родительский контроль — это способ ограничить перечень возможных действий на " -"компьютере пользователям не имеющим учётных записей администратора. Целью " -"является ограничение родителями действий детей при работе на компьютере, " -"находящихся без присмотра или под ограниченным присмотром." - -#. (itstool) path: page/p -#: C/introduction.page:18 -msgid "" -"This functionality can be used in other situations ­– such as other carer/" -"caree relationships – but is labelled as ‘parental controls’ so that it’s " -"easy to find, as that’s what most people will be looking for." -msgstr "" -"Эту функцию также можно использовать и в других ситуациях, например, в " -"отношениях «сиделка/пациент», но она помечена как «родительский контроль» " -"только для удобства поиска, поскольку именно это будут искать большинство " -"пользователей." - -#. (itstool) path: page/p -#: C/introduction.page:21 -msgid "" -"The parental controls for any user can be queried and set using the " -"Parental Controls application. This lists the non-administrator " -"accounts in tabs along its top bar, and shows their current parental " -"controls settings below. Changes to the parental controls apply immediately." -msgstr "" -"Для любого пользователя можно просмотреть и установить родительский контроль " -"с помощью приложения Родительский контроль. В окне программы на " -"вкладках вдоль верхней панели перечислены учётные записи без прав " -"администратора, а ниже показаны их текущие настройки родительского контроля. " -"Изменения в родительском контроле вступают в силу немедленно." - -#. (itstool) path: page/p -#: C/introduction.page:25 -msgid "" -"Restrictions on using the computer can only be applied to non-administrator " -"accounts. The parental controls settings for a user can only be changed by " -"an administrator, although the administrator can do so from the user’s " -"account by entering their password when prompted by the Parental " -"Controls application." -msgstr "" -"Ограничения на использование компьютера могут применяться только к учётным " -"записям без прав администратора. Настройки родительского контроля для " -"пользователя может изменить только администратор, хотя он может сделать это " -"из учётной записи пользователя, введя свой пароль при запросе приложения " -"Родительский контроль." - -#. (itstool) path: p/link -#: C/legal.xml:4 -msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" -msgstr "Creative Commons Attribution-ShareAlike 3.0 Unported License" - -#. (itstool) path: license/p -#: C/legal.xml:3 -msgid "This work is licensed under a <_:link-1/>." -msgstr "Данная работа находится под лицензией <_:link-1/>." - -#. (itstool) path: info/desc -#: C/restricting-applications.page:6 -msgid "Restricting a child user from running already-installed applications." -msgstr "Запретить ребёнку запускать уже установленные приложения." - -#. (itstool) path: page/title -#: C/restricting-applications.page:9 -msgid "Restricting Access to Installed Applications" -msgstr "Ограничение доступа к установленным приложениям" - -#. (itstool) path: page/p -#: C/restricting-applications.page:11 -msgid "" -"You can prevent a user from running specific applications which are already " -"installed on the computer. This could be useful if other users need those " -"applications but they are not appropriate for a child." -msgstr "" -"Вы можете запретить пользователю запускать определённые приложения, уже " -"установленные на компьютере. Это может быть полезно, если эти приложения " -"необходимы другим пользователям, но не подходят для ребёнка." - -#. (itstool) path: page/p -#: C/restricting-applications.page:14 -msgid "" -"When installing additional software, you should consider whether that needs " -"to be restricted for some users — newly installed software is usable by all " -"users by default." -msgstr "" -"При установке дополнительного программного обеспечения вам следует " -"учитывать, нужно ли ограничивать доступ для некоторых пользователей — новое " -"установленное программное обеспечение по умолчанию может использоваться " -"всеми пользователями." - -#. (itstool) path: page/p -#: C/restricting-applications.page:18 -msgid "To restrict a user’s access to a specific application:" -msgstr "Чтобы ограничить доступ пользователя к определенному приложению:" - -#. (itstool) path: item/p -#: C/restricting-applications.page:22 -msgid "Press the Restrict Applications button." -msgstr "" -"Нажмите кнопку Ограничить доступ к приложениям." - -#. (itstool) path: item/p -#: C/restricting-applications.page:23 -msgid "" -"Enable the switch in the row for each application you would like to restrict " -"the user from accessing." -msgstr "" -"Измените положение переключателя в строке для каждого приложения, к которому " -"вы хотите ограничить доступ пользователя." - -#. (itstool) path: item/p -#: C/restricting-applications.page:24 -msgid "Close the Restrict Applications window." -msgstr "Закройте окно Ограничить доступ к приложениям." - -#. (itstool) path: page/p -#: C/restricting-applications.page:27 -msgid "" -"Restricting access to specific applications is often used in conjunction " -"with to prevent a user from " -"installing additional software which has not been vetted." -msgstr "" -"Ограничение доступа к определённым приложениям часто используется в " -"сочетании с , чтобы запретить " -"пользователю устанавливать непроверенное программное обеспечение." - -#. (itstool) path: info/desc -#: C/software-installation.page:6 -msgid "" -"Restricting the software a child user can install, or preventing them " -"installing additional software entirely." -msgstr "" -"Ограничение перечная программного обеспечения, которое ребёнок может " -"установить, или полный запрет на его установку." - -#. (itstool) path: page/title -#: C/software-installation.page:9 -msgid "Restricting Software Installation" -msgstr "Ограничения на установку программного обеспечения по возрасту" - -#. (itstool) path: page/p -#: C/software-installation.page:11 -msgid "" -"You can prevent a user from installing additional software on the system. " -"They will still be able to search for new software to install, but will need " -"an administrator to authorize the installation when they try to install an " -"application. This applies whether they are trying to install the application " -"system-wide (for all users) or just for themselves." -msgstr "" -"Вы можете запретить пользователям устанавливать дополнительное программное " -"обеспечение. Хотя они по-прежнему смогут искать программное обеспечение для " -"установки, но при попытке установить приложение им потребуется разрешение " -"администратора. Это не зависит от того, пытаются ли установить приложение в " -"масштабах всей системы (для всех пользователей) или только для себя." - -#. (itstool) path: page/p -#: C/software-installation.page:17 -msgid "" -"Additionally, you can restrict which software a user can browse or search " -"for in the Software catalog by age categories." -msgstr "" -"Кроме того, вы можете ограничить по возрастному критерию, какое программное " -"обеспечение пользователь может просматривать или искать в Центре " -"приложений." - -#. (itstool) path: page/p -#: C/software-installation.page:20 -msgid "" -"To prevent a user from running an application which has already been " -"installed, see ." -msgstr "" -"Чтобы запретить пользователю запускать уже установленное приложение, " -"смотрите раздел ." - -#. (itstool) path: section/title -#: C/software-installation.page:24 -msgid "Preventing Software Installation" -msgstr "Предотвращение установки программного обеспечения" - -#. (itstool) path: section/p -#: C/software-installation.page:26 -msgid "To prevent a user from installing additional software:" -msgstr "" -"Чтобы запретить пользователю устанавливать дополнительное программное " -"обеспечение:" - -#. (itstool) path: item/p -#: C/software-installation.page:30 -msgid "" -"Enable the Restrict Application Installation " -"checkbox." -msgstr "" -"Установите флажок Ограничить установку приложений." - -#. (itstool) path: section/title -#: C/software-installation.page:35 -msgid "Restricting Software Installation by Age" -msgstr "Ограничения на установку программного обеспечения по возрасту" - -#. (itstool) path: section/p -#: C/software-installation.page:37 -msgid "" -"Applications in the Software catalog have information about " -"content they contain which might be inappropriate for some ages — for " -"example, various forms of violence, unmoderated chat with other people on " -"the internet, or the possibility of spending money." -msgstr "" -"В описании к приложениям из каталога Центра приложений содержатся " -"сведения, которые могут быть неприемлемыми для определённых возрастных групп " -"— например, различные формы насилия, неограниченные возможности по общению с " -"другими людьми в интернете или возможность расходовать деньги." - -#. (itstool) path: section/p -#: C/software-installation.page:41 -msgid "" -"For each application, this information is summarized as the minimum age " -"child it is typically suitable to be used by — for example, “suitable for " -"ages 7+”. These age ratings are presented in region-specific schemes which " -"can be compared with the ratings schemes used for films and games." -msgstr "" -"Для каждого приложения в этих сведениях содержится информация о минимальном " -"возрасте ребенка, с которого его можно допустить к использованию данного " -"приложения. Например, «подходит для возраста 7+». Эти возрастные оценки " -"представлены в виде специфических для региона схем, сопоставимых со схемами " -"рейтингов для фильмов и видеоигр." - -#. (itstool) path: section/p -#: C/software-installation.page:45 -msgid "" -"The applications shown to a user in the Software catalog can be " -"filtered by their age suitability. Applications which are not suitable for " -"the user will be hidden, and will not be installable by that user. They will " -"be installable by other users (if their age suitability is set high enough)." -msgstr "" -"Приложения, показанные в каталоге Центра приложений, могут быть " -"отфильтрованы по возрастным критериям. Приложения, которые не подходят для " -"конкретного пользователя, будут скрыты и не смогут быть установлены. Но для " -"других пользователей они будут доступны (если пользователи будут " -"соответствовать установленным возрастным критериям)." - -#. (itstool) path: section/p -#: C/software-installation.page:51 -msgid "" -"To filter the applications seen by a user in the Software catalog " -"to only those suitable for a certain age:" -msgstr "" -"Чтобы отфильтровать приложения, представленные пользователю в каталоге " -"Центра приложений, по возрастному критерию:" - -#. (itstool) path: item/p -#: C/software-installation.page:56 -msgid "" -"In the Application Suitability list, select the age which " -"applications should be suitable for." -msgstr "" -"В списке Пригодность приложений выберите возраст, для которого " -"должны быть подходящими приложения." - -#. (itstool) path: note/p -#: C/software-installation.page:60 -msgid "" -"The user’s actual age is not stored, so the Application Suitability is not automatically updated over time as the child grows older. You " -"must periodically re-assess the appropriate Application Suitability for each user." -msgstr "" -"Возраст пользователя в системе не сохраняется, поэтому Пригодность " -"приложений по мере взросления ребёнка автоматически не обновляется. Вы " -"должны периодически пересматривать соответствующую для каждого пользователя " -"Пригодность приложений." diff --git a/help/sv/sv.po b/help/sv/sv.po deleted file mode 100644 index 1d6fee0..0000000 --- a/help/sv/sv.po +++ /dev/null @@ -1,455 +0,0 @@ -# Swedish translation for malcontent. -# Copyright (C) 2020 malcontent's COPYRIGHT HOLDER -# This file is distributed under the same license as the malcontent package. -# Anders Jonsson , 2020. -# -msgid "" -msgstr "" -"Project-Id-Version: malcontent master\n" -"POT-Creation-Date: 2020-12-08 15:28+0000\n" -"PO-Revision-Date: 2020-12-17 18:25+0100\n" -"Last-Translator: Anders Jonsson \n" -"Language-Team: Swedish \n" -"Language: sv\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.4.2\n" - -#. Put one translator per line, in the form NAME , YEAR1, YEAR2 -msgctxt "_" -msgid "translator-credits" -msgstr "Anders Jonsson " - -#. (itstool) path: info/desc -#: C/creating-a-child-user.page:6 -msgid "Creating a child user on the computer." -msgstr "Skapa en barnanvändare på datorn." - -#. (itstool) path: page/title -#: C/creating-a-child-user.page:9 -msgid "Creating a Child User" -msgstr "Skapa en barnanvändare" - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:11 -msgid "" -"Parental controls can only be applied to non-administrator accounts. Such an " -"account may have been created when the computer was initially set up. If " -"not, a new child user may be created from the Parental Controls " -"application if no child users already exist; and otherwise may be created " -"from the Control Center." -msgstr "" -"Föräldrakontroller kan endast tillämpas på konton som inte är " -"administratörer. Ett sådant konto kan ha skapats när datorn ursprungligen " -"konfigurerades. Om inte så kan en ny barnanvändare skapas från programmet " -"Föräldrakontroller om det inte redan finns några barnanvändare. " -"Annars kan de skapas från Kontrollpanel." - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:17 -msgid "" -"To create a new child user, see Add a new user account. As soon as the new user is " -"created, it will appear in the Parental Controls window so that " -"its parental controls settings can be configured." -msgstr "" -"För att skapa en ny barnanvändare, se Lägg till ett nytt användarkonto. Så snart användaren " -"har skapats kommer den dyka upp i Föräldrakontroller-fönstret så " -"att dess inställningar för föräldrakontroll kan konfigureras." - -#. (itstool) path: credit/name -#: C/index.page:6 -msgid "Philip Withnall" -msgstr "Philip Withnall" - -#. (itstool) path: credit/years -#: C/index.page:8 -msgid "2020" -msgstr "2020" - -#. (itstool) path: page/title -#: C/index.page:12 -msgid "Parental Controls Help" -msgstr "Hjälp för Föräldrakontroller" - -#. (itstool) path: section/title -#: C/index.page:15 -msgid "Introduction & Setup" -msgstr "Introduktion & konfiguration" - -#. (itstool) path: section/title -#: C/index.page:19 -msgid "Controls to Apply" -msgstr "Kontroller att tillämpa" - -#. (itstool) path: info/desc -#: C/internet.page:6 -msgid "Restricting a child user’s access to the internet." -msgstr "Begränsa en barnanvändares åtkomst till internet." - -#. (itstool) path: page/title -#: C/internet.page:9 -msgid "Restricting Access to the Internet" -msgstr "Begränsa åtkomst till internet" - -#. (itstool) path: page/p -#: C/internet.page:11 -msgid "" -"You can restrict a user’s access to the internet. This will prevent them " -"using a web browser, but it will not prevent them using the internet (in " -"potentially more limited forms) through other applications. For example, it " -"will not prevent access to e-mail accounts using Evolution, and " -"it will not prevent software updates being downloaded and applied." -msgstr "" -"Du kan begränsa en användares åtkomst till internet. Detta kommer att " -"förhindra dem från att använda en webbläsare, men det kommer inte att hindra " -"dem från att använda internet (potentiellt i mer begränsade former) genom " -"andra program. Det kommer till exempel inte förhindra åtkomst till e-" -"postkonton genom Evolution, och kommer inte förhindra att " -"programvaruuppdateringar hämtas och tillämpas." - -#. (itstool) path: page/p -#: C/internet.page:17 -msgid "To restrict a user’s access to the internet:" -msgstr "För att begränsa en användares åtkomst till internet:" - -#. (itstool) path: item/p -#: C/internet.page:19 C/restricting-applications.page:20 -#: C/software-installation.page:28 C/software-installation.page:54 -msgid "Open the Parental Controls application." -msgstr "Öppna programmet Föräldrakontroller." - -#. (itstool) path: item/p -#: C/internet.page:20 C/restricting-applications.page:21 -#: C/software-installation.page:29 C/software-installation.page:55 -msgid "Select the user in the tabs at the top." -msgstr "Välj användaren i flikarna högst upp." - -#. (itstool) path: item/p -#: C/internet.page:21 -msgid "" -"Enable the Restrict Web Browsers checkbox." -msgstr "Aktivera kryssrutan Begränsa webbläsare." - -#. (itstool) path: info/desc -#: C/introduction.page:6 -msgid "" -"Overview of parental controls, the Parental Controls application " -"and its use in other situations where access restrictions are needed on a " -"user." -msgstr "" -"Översikt över föräldrakontroller, programmet Föräldrakontroller " -"och dess användning i andra situationer där åtkomstbegränsningar behövs för " -"en användare." - -#. (itstool) path: page/title -#: C/introduction.page:12 -msgid "Introduction to Parental Controls" -msgstr "Introduktion till Föräldrakontroller" - -#. (itstool) path: page/p -#: C/introduction.page:14 -msgid "" -"Parental controls are a way to restrict what non-administrator accounts can " -"do on the computer, with the aim of allowing parents to restrict what their " -"children can do when using the computer unsupervised or under limited " -"supervision." -msgstr "" -"Föräldrakontroller är ett sätt att begränsa vad icke-administratörskonton " -"kan göra på datorn, med målet att låta föräldrar begränsa vad deras barn kan " -"göra när de använder datorn utan översikt eller med begränsad översikt." - -#. (itstool) path: page/p -#: C/introduction.page:18 -msgid "" -"This functionality can be used in other situations ­– such as other carer/" -"caree relationships – but is labelled as ‘parental controls’ so that it’s " -"easy to find, as that’s what most people will be looking for." -msgstr "" -"Denna funktionalitet kan användas i andra situationer – som i andra " -"relationer där ena parten har ansvar för den andra – men kallas " -"”föräldrakontroller” för att vara lätt att hitta, då det är vad de flesta " -"kommer att söka efter." - -#. (itstool) path: page/p -#: C/introduction.page:21 -msgid "" -"The parental controls for any user can be queried and set using the " -"Parental Controls application. This lists the non-administrator " -"accounts in tabs along its top bar, and shows their current parental " -"controls settings below. Changes to the parental controls apply immediately." -msgstr "" -"Föräldrakontrollerna för alla användare kan efterfrågas och ställas in med " -"programmet Föräldrakontroller. Detta listar icke-" -"administratörskontona i flikar i en rad högst upp, och visar deras aktuella " -"inställningar för föräldrakontroller nedanför. Ändringar till " -"föräldrakontrollerna tillämpas omedelbart." - -#. (itstool) path: page/p -#: C/introduction.page:25 -msgid "" -"Restrictions on using the computer can only be applied to non-administrator " -"accounts. The parental controls settings for a user can only be changed by " -"an administrator, although the administrator can do so from the user’s " -"account by entering their password when prompted by the Parental " -"Controls application." -msgstr "" -"Begränsningar på användning av datorn kan endast ställas in för konton som " -"inte är administratörer. Inställningarna för föräldrakontroller för en " -"användare kan endast ändras av en administratör, även om administratören kan " -"göra det från användarens konto genom att ange sitt lösenord då programmet " -"Föräldrakontroller efterfrågar det." - -#. (itstool) path: p/link -#: C/legal.xml:4 -msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" -msgstr "Creative Commons Erkännande-DelaLika 3.0 Unported" - -#. (itstool) path: license/p -#: C/legal.xml:3 -msgid "This work is licensed under a <_:link-1/>." -msgstr "Detta verk licensieras under licensen <_:link-1/>." - -#. (itstool) path: info/desc -#: C/restricting-applications.page:6 -msgid "Restricting a child user from running already-installed applications." -msgstr "Begränsa en barnanvändare från att köra redan installerade program." - -#. (itstool) path: page/title -#: C/restricting-applications.page:9 -msgid "Restricting Access to Installed Applications" -msgstr "Begränsa åtkomst till installerade program" - -#. (itstool) path: page/p -#: C/restricting-applications.page:11 -msgid "" -"You can prevent a user from running specific applications which are already " -"installed on the computer. This could be useful if other users need those " -"applications but they are not appropriate for a child." -msgstr "" -"Du kan förhindra en användare från att köra specifika program som redan " -"finns installerade på datorn. Detta kan vara användbart om andra användare " -"behöver de programmen men de inte är lämpliga för barn." - -#. (itstool) path: page/p -#: C/restricting-applications.page:14 -msgid "" -"When installing additional software, you should consider whether that needs " -"to be restricted for some users — newly installed software is usable by all " -"users by default." -msgstr "" -"När du installerar ytterligare programvara bör du överväga om den behöver " -"begränsas för vissa användare — programvara som installeras kan som standard " -"användas av alla användare." - -#. (itstool) path: page/p -#: C/restricting-applications.page:18 -msgid "To restrict a user’s access to a specific application:" -msgstr "För att begränsa en användares åtkomst till ett specifikt program:" - -#. (itstool) path: item/p -#: C/restricting-applications.page:22 -msgid "Press the Restrict Applications button." -msgstr "Tryck på knappen Begränsa program." - -#. (itstool) path: item/p -#: C/restricting-applications.page:23 -msgid "" -"Enable the switch in the row for each application you would like to restrict " -"the user from accessing." -msgstr "" -"Aktivera växelknappen i raden för varje program som du vill begränsa " -"användaren från att komma åt." - -#. (itstool) path: item/p -#: C/restricting-applications.page:24 -msgid "Close the Restrict Applications window." -msgstr "Stäng fönstret Begränsa program." - -#. (itstool) path: page/p -#: C/restricting-applications.page:27 -msgid "" -"Restricting access to specific applications is often used in conjunction " -"with to prevent a user from " -"installing additional software which has not been vetted." -msgstr "" -"Att begränsa åtkomst till vissa program används ofta tillsammans med för att förhindra en användare från att " -"installera ytterligare programvara som inte har granskats." - -#. (itstool) path: info/desc -#: C/software-installation.page:6 -msgid "" -"Restricting the software a child user can install, or preventing them " -"installing additional software entirely." -msgstr "" -"Begränsa vilken programvara som en barnanvändare kan installera, eller " -"förhindra dem helt från att installera ytterligare programvara." - -#. (itstool) path: page/title -#: C/software-installation.page:9 -msgid "Restricting Software Installation" -msgstr "Begränsa installation av programvara" - -#. (itstool) path: page/p -#: C/software-installation.page:11 -msgid "" -"You can prevent a user from installing additional software on the system. " -"They will still be able to search for new software to install, but will need " -"an administrator to authorize the installation when they try to install an " -"application. This applies whether they are trying to install the application " -"system-wide (for all users) or just for themselves." -msgstr "" -"Du kan förhindra en användare från att installera ytterligare programvara på " -"systemet. De kommer fortfarande kunna söka efter ny programvara att " -"installera, men kommer behöva att en administratör godkänner installationen " -"när de försöker installera ett program. Detta gäller oavsett om de försöker " -"installera programmet systemomfattande (för alla användare) eller bara för " -"sig själva." - -#. (itstool) path: page/p -#: C/software-installation.page:17 -msgid "" -"Additionally, you can restrict which software a user can browse or search " -"for in the Software catalog by age categories." -msgstr "" -"Du kan dessutom begränsa vilken programvara en användare kan bläddra bland " -"eller söka efter i katalogen för Programvara enligt " -"ålderskategorier." - -#. (itstool) path: page/p -#: C/software-installation.page:20 -msgid "" -"To prevent a user from running an application which has already been " -"installed, see ." -msgstr "" -"För att förhindra en användare från att köra ett program som redan har " -"installerats, se ." - -#. (itstool) path: section/title -#: C/software-installation.page:24 -msgid "Preventing Software Installation" -msgstr "Förhindra installation av programvara" - -#. (itstool) path: section/p -#: C/software-installation.page:26 -msgid "To prevent a user from installing additional software:" -msgstr "" -"För att förhindra en användare från att installera ytterligare programvara:" - -#. (itstool) path: item/p -#: C/software-installation.page:30 -msgid "" -"Enable the Restrict Application Installation " -"checkbox." -msgstr "" -"Aktivera kryssrutan Begränsa installation av " -"program." - -#. (itstool) path: section/title -#: C/software-installation.page:35 -msgid "Restricting Software Installation by Age" -msgstr "Begränsning av programvaruinstallation enligt ålder" - -#. (itstool) path: section/p -#: C/software-installation.page:37 -msgid "" -"Applications in the Software catalog have information about " -"content they contain which might be inappropriate for some ages — for " -"example, various forms of violence, unmoderated chat with other people on " -"the internet, or the possibility of spending money." -msgstr "" -"Program i katalogen för Programvara har information om innehåll " -"de har som kan vara olämpligt för vissa åldrar — exempelvis olika sorters " -"våld, oövervakad chatt med andra personer över internet, eller möjligheten " -"att spendera pengar." - -#. (itstool) path: section/p -#: C/software-installation.page:41 -msgid "" -"For each application, this information is summarized as the minimum age " -"child it is typically suitable to be used by — for example, “suitable for " -"ages 7+”. These age ratings are presented in region-specific schemes which " -"can be compared with the ratings schemes used for films and games." -msgstr "" -"För varje program sammanfattas denna information som den lägsta åldern på " -"ett barn som det lämpligen kan användas av — exempelvis ”Lämpligt för åldrar " -"7+”. Dessa åldersgränser presenteras i regionsspecifika klassifikationer som " -"kan jämföras med klassifikationerna som används för film och spel." - -#. (itstool) path: section/p -#: C/software-installation.page:45 -msgid "" -"The applications shown to a user in the Software catalog can be " -"filtered by their age suitability. Applications which are not suitable for " -"the user will be hidden, and will not be installable by that user. They will " -"be installable by other users (if their age suitability is set high enough)." -msgstr "" -"Programmen som visas för en användare i katalogen för Programvara " -"kan filtreras enligt deras lämplighetsålder. Program som inte är lämpliga " -"för användaren kommer att döljas, och kommer inte kunna installeras av den " -"användaren. De kan installeras av andra användare (om deras lämplighetsålder " -"är satt tillräckligt högt)." - -#. (itstool) path: section/p -#: C/software-installation.page:51 -msgid "" -"To filter the applications seen by a user in the Software catalog " -"to only those suitable for a certain age:" -msgstr "" -"För att filtrera programmen som en användare ser i katalogen för " -"Programvara till att bara vara de som är lämpliga för en viss " -"ålder:" - -#. (itstool) path: item/p -#: C/software-installation.page:56 -msgid "" -"In the Application Suitability list, select the age which " -"applications should be suitable for." -msgstr "" -"I listan Lämplighet för program, välj åldern som programmen ska " -"vara lämpliga för." - -#. (itstool) path: note/p -#: C/software-installation.page:60 -msgid "" -"The user’s actual age is not stored, so the Application Suitability is not automatically updated over time as the child grows older. You " -"must periodically re-assess the appropriate Application Suitability for each user." -msgstr "" -"Användarens faktiska ålder lagras inte, så Lämplighet för program " -"uppdateras inte automatiskt då barnet blir äldre. Du måste periodiskt " -"utvärdera den rätta Lämplighet för program för varje användare på " -"nytt." - -#~ msgid "" -#~ "Or enable the Restrict Application Installation " -#~ "for Others checkbox." -#~ msgstr "" -#~ "Eller aktivera kryssrutan Begränsa installation " -#~ "av program åt andra." - -#~ msgid "" -#~ "The Restrict Application Installation for Others checkbox allows the user to install additional software for " -#~ "themselves, but prevents that software from being made available to other " -#~ "users. It could be used, for example, if there were two child users, one " -#~ "of whom is mature enough to be allowed to install additional software, " -#~ "but the other isn’t — enabling Restrict " -#~ "Application Installation for Others would prevent the more mature " -#~ "child from installing applications which are inappropriate for the other " -#~ "child and making them available to the other child." -#~ msgstr "" -#~ "Kryssrutan Begränsa installation av program åt " -#~ "andra låter användaren installera ytterligare programvara åt sig " -#~ "själv, men förhindrar den programvaran från att bli tillgänglig för andra " -#~ "användare. Det kan till exempel användas om det finns två barnanvändare, " -#~ "en som är mogen nog för att tillåtas installera ytterligare programvara, " -#~ "och en som inte är det — att aktivera Begränsa " -#~ "installation av program åt andra skulle förhindra det mognare " -#~ "barnet från att installera program som är olämpliga så att de blir " -#~ "tillgängliga för det andra barnet." diff --git a/help/tr/tr.po b/help/tr/tr.po deleted file mode 100644 index c26bdd9..0000000 --- a/help/tr/tr.po +++ /dev/null @@ -1,427 +0,0 @@ -# Turkish translation for malcontent. -# Copyright (C) 2023 malcontent's COPYRIGHT HOLDER -# This file is distributed under the same license as the malcontent package. -# -# Sabri Ünal , 2023. -# -msgid "" -msgstr "" -"Project-Id-Version: malcontent main\n" -"POT-Creation-Date: 2023-03-08 15:25+0000\n" -"PO-Revision-Date: 2023-03-09 03:38+0300\n" -"Last-Translator: Sabri Ünal \n" -"Language-Team: Turkish \n" -"Language: tr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 3.1.1\n" - -#. Put one translator per line, in the form NAME , YEAR1, YEAR2 -msgctxt "_" -msgid "translator-credits" -msgstr "Sabri Ünal , 2023." - -#. (itstool) path: info/desc -#: C/creating-a-child-user.page:6 -msgid "Creating a child user on the computer." -msgstr "Bilgisayarda çocuk kullanıcı oluşturmak." - -#. (itstool) path: page/title -#: C/creating-a-child-user.page:9 -msgid "Creating a Child User" -msgstr "Çocuk Kullanıcı Oluşturmak" - -# Control Center için ayarlar çevirisini kullanıyoruz. Burada eski adı kullanılmış. -#. (itstool) path: page/p -#: C/creating-a-child-user.page:11 -msgid "" -"Parental controls can only be applied to non-administrator accounts. Such an " -"account may have been created when the computer was initially set up. If " -"not, a new child user may be created from the Parental Controls " -"application if no child users already exist; and otherwise may be created " -"from the Control Center." -msgstr "" -"Ebeveyn denetimleri yalnızca yönetici olmayan hesaplara uygulanabilir. Bu " -"tip hesap, bilgisayar ilk kurulduğunda oluşturulmuş olabilir. Değilse, hiç " -"çocuk kullanıcı yoksa, Ebeveyn Denetimleri uygulamasından yeni " -"çocuk kullanıcı oluşturulabilir; aksi halde Ayarlarʼdan " -"oluşturulabilir." - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:17 -msgid "" -"To create a new child user, see Add a new user account. As soon as the new user is " -"created, it will appear in the Parental Controls window so that " -"its parental controls settings can be configured." -msgstr "" -"Yeni çocuk kullanıcı oluşturmak için Yeni kullanıcı hesabı ekleʼye bakın. Yeni kullanıcı " -"oluşturulunca, ebeveyn denetimleri ayarlarının yapılandırılabilmesi için " -"Ebeveyn Denetimleri penceresi görünecektir." - -#. (itstool) path: credit/name -#: C/index.page:6 -msgid "Philip Withnall" -msgstr "Philip Withnall" - -#. (itstool) path: credit/years -#: C/index.page:8 -msgid "2020" -msgstr "2020" - -#. (itstool) path: page/title -#: C/index.page:12 -msgid "Parental Controls Help" -msgstr "Ebeveyn Denetimleri Yardım" - -#. (itstool) path: section/title -#: C/index.page:15 -msgid "Introduction & Setup" -msgstr "Giriş ve Kurulum" - -#. (itstool) path: section/title -#: C/index.page:19 -msgid "Controls to Apply" -msgstr "Uygulanacak Denetimler" - -#. (itstool) path: info/desc -#: C/internet.page:6 -msgid "Restricting a child user’s access to the internet." -msgstr "Çocuk kullanıcının internete erişimini kısıtlamak." - -#. (itstool) path: page/title -#: C/internet.page:9 -msgid "Restricting Access to the Internet" -msgstr "İnternet Erişimini Kısıtlama" - -#. (itstool) path: page/p -#: C/internet.page:11 -msgid "" -"You can restrict a user’s access to the internet. This will prevent them " -"using a web browser, but it will not prevent them using the internet (in " -"potentially more limited forms) through other applications. For example, it " -"will not prevent access to e-mail accounts using Evolution, and " -"it will not prevent software updates being downloaded and applied." -msgstr "" -"Kullanıcının internete erişimini kısıtlayabilirsiniz. Bu, web tarayıcısı " -"kullanmalarını engelleyecektir, ancak diğer uygulamalar aracılığıyla " -"(muhtemelen daha sınırlı biçimlerde) interneti kullanmalarını " -"engellemeyecektir. Örneğin, Evolution kullanarak e-posta " -"hesaplarına erişimi engellemez ve yazılım güncellemelerinin indirilip " -"uygulanmasını engellemez." - -#. (itstool) path: page/p -#: C/internet.page:17 -msgid "To restrict a user’s access to the internet:" -msgstr "Kullanıcının internet erişimini kısıtlamak için:" - -#. (itstool) path: item/p -#: C/internet.page:19 C/restricting-applications.page:20 -#: C/software-installation.page:28 C/software-installation.page:54 -msgid "Open the Parental Controls application." -msgstr "Ebeveyn Denetimleri uygulamasını açın." - -#. (itstool) path: item/p -#: C/internet.page:20 C/restricting-applications.page:21 -#: C/software-installation.page:29 C/software-installation.page:55 -msgid "Select the user in the tabs at the top." -msgstr "Üstteki sekmelerde kullanıcıyı seçin." - -#. (itstool) path: item/p -#: C/internet.page:21 -msgid "" -"Enable the Restrict Web Browsers checkbox." -msgstr "" -"Web Tarayıcılarını Kısıtla onay kutusunu " -"etkinleştirin." - -#. (itstool) path: info/desc -#: C/introduction.page:6 -msgid "" -"Overview of parental controls, the Parental Controls application " -"and its use in other situations where access restrictions are needed on a " -"user." -msgstr "" -"Ebeveyn denetimlerine, Ebeveyn Denetimleri uygulamasına ve " -"kullanıcı için erişim kısıtlamalarının gereksinildiği diğer durumlarda " -"kullanımına genel bakış." - -#. (itstool) path: page/title -#: C/introduction.page:12 -msgid "Introduction to Parental Controls" -msgstr "Ebeveyn Denetimleriʼne Giriş" - -#. (itstool) path: page/p -#: C/introduction.page:14 -msgid "" -"Parental controls are a way to restrict what non-administrator accounts can " -"do on the computer, with the aim of allowing parents to restrict what their " -"children can do when using the computer unsupervised or under limited " -"supervision." -msgstr "" -"Ebeveyn denetimleri, bilgisayarda yönetici hesabı olmayan hesapların ne " -"yapabileceğini sınırlamanın bir yoludur. Amacı, ebeveynlerin çocukları " -"bilgisayarı gözetimsiz veya sınırlı gözetim altında kullandıklarında ne " -"yapabileceklerini sınırlamalarını sağlamaktır." - -#. (itstool) path: page/p -#: C/introduction.page:18 -msgid "" -"This functionality can be used in other situations ­– such as other carer/" -"caree relationships – but is labelled as ‘parental controls’ so that it’s " -"easy to find, as that’s what most people will be looking for." -msgstr "" -"Bu işlevsellik diğer bakıcı/bakılan ilişkileri gibi diğer durumlarda da " -"kullanılabilir, ancak çoğu insanın ‘ebeveyn denetimleri’ olarak arayacağı " -"varsayılarak, bulması kolay olsun diye bu şekilde adlandırılmıştır." - -#. (itstool) path: page/p -#: C/introduction.page:21 -msgid "" -"The parental controls for any user can be queried and set using the " -"Parental Controls application. This lists the non-administrator " -"accounts in tabs along its top bar, and shows their current parental " -"controls settings below. Changes to the parental controls apply immediately." -msgstr "" -"Herhangi bir kullanıcı için ebeveyn denetimleri, Ebeveyn Denetimleri uygulaması kullanılarak sorgulanabilir ve ayarlanabilir. Bu, yönetici " -"olmayan hesapları üst çubuğundaki sekmelerde listeler ve altında geçerli " -"ebeveyn denetimleri ayarlarını gösterir. Ebeveyn denetimlerinde yapılan " -"değişiklikler hemen uygulanır." - -#. (itstool) path: page/p -#: C/introduction.page:25 -msgid "" -"Restrictions on using the computer can only be applied to non-administrator " -"accounts. The parental controls settings for a user can only be changed by " -"an administrator, although the administrator can do so from the user’s " -"account by entering their password when prompted by the Parental " -"Controls application." -msgstr "" -"Bilgisayar kullanımıyla ilgili kısıtlamalar yalnızca yönetici olmayan " -"hesaplara uygulanabilir. Bir kullanıcının ebeveyn denetimleri ayarları " -"yalnızca bir yönetici tarafından değiştirilebilir, ancak yönetici " -"Ebeveyn Denetimleri uygulaması tarafından istendiğinde parolasını " -"girerek kullanıcının hesabından bunu yapabilir." - -#. (itstool) path: p/link -#: C/legal.xml:4 -msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" -msgstr "Creative Commons Attribution-ShareAlike 3.0 Unported License" - -#. (itstool) path: license/p -#: C/legal.xml:3 -msgid "This work is licensed under a <_:link-1/>." -msgstr "Bu çalışma <_:link-1/> altında lisanslanmıştır." - -#. (itstool) path: info/desc -#: C/restricting-applications.page:6 -msgid "Restricting a child user from running already-installed applications." -msgstr "" -"Çocuk kullanıcının zaten kurulmuş uygulamaları çalıştırmasını kısıtlama." - -#. (itstool) path: page/title -#: C/restricting-applications.page:9 -msgid "Restricting Access to Installed Applications" -msgstr "Kurulu Uygulamalara Erişimi Kısıtlama" - -#. (itstool) path: page/p -#: C/restricting-applications.page:11 -msgid "" -"You can prevent a user from running specific applications which are already " -"installed on the computer. This could be useful if other users need those " -"applications but they are not appropriate for a child." -msgstr "" -"Kullanıcının zaten bilgisayarda kurulu olan belirli uygulamaları " -"çalıştırmasını engelleyebilirsiniz. Bu, diğer kullanıcıların bu uygulamalara " -"ihtiyacı varsa ancak çocuk için uygun değilse faydalı olabilir." - -#. (itstool) path: page/p -#: C/restricting-applications.page:14 -msgid "" -"When installing additional software, you should consider whether that needs " -"to be restricted for some users — newly installed software is usable by all " -"users by default." -msgstr "" -"Ek yazılım kurarken, bunun bazı kullanıcılar için kısıtlanması gerekip " -"gerekmediğini değerlendirmelisiniz. Yeni kurulan yazılımlar öntanımlı olarak " -"tüm kullanıcılar tarafından kullanılabilir." - -#. (itstool) path: page/p -#: C/restricting-applications.page:18 -msgid "To restrict a user’s access to a specific application:" -msgstr "Bir kullanıcının belirli bir uygulamaya erişimini kısıtlamak için:" - -#. (itstool) path: item/p -#: C/restricting-applications.page:22 -msgid "Press the Restrict Applications button." -msgstr "Uygulamaları Kısıtla düğmesine basın." - -#. (itstool) path: item/p -#: C/restricting-applications.page:23 -msgid "" -"Enable the switch in the row for each application you would like to restrict " -"the user from accessing." -msgstr "" -"Kullanıcının erişimini kısıtlamak istediğiniz her uygulamanın anahtarını " -"etkinleştirin." - -#. (itstool) path: item/p -#: C/restricting-applications.page:24 -msgid "Close the Restrict Applications window." -msgstr "Uygulamaları Kısıtla benceresini kapatın." - -#. (itstool) path: page/p -#: C/restricting-applications.page:27 -msgid "" -"Restricting access to specific applications is often used in conjunction " -"with to prevent a user from " -"installing additional software which has not been vetted." -msgstr "" -"Belirli uygulamalara erişimin kısıtlanması, kullanıcının incelenmemiş ek " -"yazılımlar kurmasını önlemek için genellikle ile birlikte kullanılır." - -#. (itstool) path: info/desc -#: C/software-installation.page:6 -msgid "" -"Restricting the software a child user can install, or preventing them " -"installing additional software entirely." -msgstr "" -"Çocuk kullanıcının kurabileceği yazılımı kısıtlamak ya da ek yazılım " -"kurmasını tamamen engellemek." - -#. (itstool) path: page/title -#: C/software-installation.page:9 -msgid "Restricting Software Installation" -msgstr "Yazılım Kurulumunu Kısıtlama" - -#. (itstool) path: page/p -#: C/software-installation.page:11 -msgid "" -"You can prevent a user from installing additional software on the system. " -"They will still be able to search for new software to install, but will need " -"an administrator to authorize the installation when they try to install an " -"application. This applies whether they are trying to install the application " -"system-wide (for all users) or just for themselves." -msgstr "" -"Kullanıcının sisteme ek yazılım kurmasını engelleyebilirsiniz. Yine de " -"kurulum için yeni yazılım arayabilecekler, ancak uygulama kurmaya " -"çalıştıklarında kurulumu yetkilendirmek için yöneticiye ihtiyaçları olacak. " -"Bu, uygulamayı sistem geneline (tüm kullanıcılar için) ya da yalnızca " -"kendileri için kurmaya çalışsalar da geçerlidir." - -#. (itstool) path: page/p -#: C/software-installation.page:17 -msgid "" -"Additionally, you can restrict which software a user can browse or search " -"for in the Software catalog by age categories." -msgstr "" -"Ayrıca, kullanıcının Yazılımlar kataloğunda hangi yazılımlara göz " -"atabileceğini ya da arayabileceğini yaş kategorilerine göre " -"sınırlayabilirsiniz." - -#. (itstool) path: page/p -#: C/software-installation.page:20 -msgid "" -"To prevent a user from running an application which has already been " -"installed, see ." -msgstr "" -"Bir kullanıcının zaten kurulu bir uygulamayı çalıştırmasını engellemek için " -"bkz. ." - -#. (itstool) path: section/title -#: C/software-installation.page:24 -msgid "Preventing Software Installation" -msgstr "Yazılım Kurulumunu Engelleme" - -#. (itstool) path: section/p -#: C/software-installation.page:26 -msgid "To prevent a user from installing additional software:" -msgstr "Kullanıcının ek yazılım kurmasını engellemek için:" - -#. (itstool) path: item/p -#: C/software-installation.page:30 -msgid "" -"Enable the Restrict Application Installation " -"checkbox." -msgstr "" -"Uygulama Kurulumunu Kısıtla onay kutusunu " -"etkinleştirin." - -#. (itstool) path: section/title -#: C/software-installation.page:35 -msgid "Restricting Software Installation by Age" -msgstr "Yazılım Kurulumunu Yaşa Göre Kısıtlama" - -#. (itstool) path: section/p -#: C/software-installation.page:37 -msgid "" -"Applications in the Software catalog have information about " -"content they contain which might be inappropriate for some ages — for " -"example, various forms of violence, unmoderated chat with other people on " -"the internet, or the possibility of spending money." -msgstr "" -"Yazılımlar kataloğundaki uygulamalar, kimi yaş grupları için " -"uygun olmayabilecek içerikleri hakkında bilgiler içerir - örneğin, çeşitli " -"şiddet türleri, internet üzerinden diğer kişilerle denetlenmeyen sohbet, ya " -"da para harcama olasılığı gibi." - -#. (itstool) path: section/p -#: C/software-installation.page:41 -msgid "" -"For each application, this information is summarized as the minimum age " -"child it is typically suitable to be used by — for example, “suitable for " -"ages 7+”. These age ratings are presented in region-specific schemes which " -"can be compared with the ratings schemes used for films and games." -msgstr "" -"Her uygulama için, bu bilgi genellikle kullanımı için uygun en düşük yaş " -"grubu olarak özetlenir - örneğin, \"7 yaş ve üzeri için uygun\". Bu yaş " -"derecelendirmeleri, filmler ve oyunlar için kullanılan derecelendirme " -"şemaları ile karşılaştırılabilen bölgesel şemalarda sunulur." - -#. (itstool) path: section/p -#: C/software-installation.page:45 -msgid "" -"The applications shown to a user in the Software catalog can be " -"filtered by their age suitability. Applications which are not suitable for " -"the user will be hidden, and will not be installable by that user. They will " -"be installable by other users (if their age suitability is set high enough)." -msgstr "" -"Yazılımlar kataloğunda kullanıcıya gösterilen uygulamalar, yaş " -"uygunluğuna göre süzülerek gösterilebilir. Kullanıcı için uygun olmayan " -"uygulamalar gizlenir ve kullanıcı tarafından kurulamaz. Bu uygulamalar, yaş " -"uygunluğu yeterince yüksek olan diğer kullanıcılarca kurulabilir." - -#. (itstool) path: section/p -#: C/software-installation.page:51 -msgid "" -"To filter the applications seen by a user in the Software catalog " -"to only those suitable for a certain age:" -msgstr "" -"Kullanıcının Yazılımlar kataloğunda gördüğü uygulamaları yalnızca " -"belirli yaşa uygun olacak şekilde süzmek için:" - -#. (itstool) path: item/p -#: C/software-installation.page:56 -msgid "" -"In the Application Suitability list, select the age which " -"applications should be suitable for." -msgstr "" -"Uygulama Uygunluğu listesinde, uygulamaların hangi yaş için uygun " -"olduğunu seçin." - -#. (itstool) path: note/p -#: C/software-installation.page:60 -msgid "" -"The user’s actual age is not stored, so the Application Suitability is not automatically updated over time as the child grows older. You " -"must periodically re-assess the appropriate Application Suitability for each user." -msgstr "" -"Kullanıcının gerçek yaşı depolanmadığı için, Uygulama Uygunluğu " -"çocuk büyüdükçe zamanla kendiliğinden güncellenmez. Uygulama Uygunluğu her kullanıcı için düzenli olarak yeniden belirlenmelidir." diff --git a/help/uk/uk.po b/help/uk/uk.po deleted file mode 100644 index fee9cb1..0000000 --- a/help/uk/uk.po +++ /dev/null @@ -1,474 +0,0 @@ -# Ukrainian translation for malcontent. -# Copyright (C) 2020 malcontent's COPYRIGHT HOLDER -# This file is distributed under the same license as the malcontent package. -# -# Yuri Chornoivan , 2020. -msgid "" -msgstr "" -"Project-Id-Version: malcontent master\n" -"POT-Creation-Date: 2020-12-08 15:28+0000\n" -"PO-Revision-Date: 2020-12-08 22:19+0200\n" -"Last-Translator: Yuri Chornoivan \n" -"Language-Team: Ukrainian \n" -"Language: uk\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" -"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Lokalize 20.11.70\n" - -#. Put one translator per line, in the form NAME , YEAR1, YEAR2 -msgctxt "_" -msgid "translator-credits" -msgstr "Юрій Чорноіван , 2020" - -#. (itstool) path: info/desc -#: C/creating-a-child-user.page:6 -msgid "Creating a child user on the computer." -msgstr "Створення запису користувача-дитини на комп'ютері." - -#. (itstool) path: page/title -#: C/creating-a-child-user.page:9 -msgid "Creating a Child User" -msgstr "Створення запису користувача-дитини" - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:11 -msgid "" -"Parental controls can only be applied to non-administrator accounts. Such an " -"account may have been created when the computer was initially set up. If " -"not, a new child user may be created from the Parental Controls " -"application if no child users already exist; and otherwise may be created " -"from the Control Center." -msgstr "" -"Батьківський контроль можна застосовувати лише до облікових записів без " -"адміністративних прав. Такий обліковий запис могло бути створено під час " -"початкового налаштовування системи. Якщо цього не було зроблено, можна " -"створити новий дитячий обліковий запис за допомогою програми " -"Батьківський контроль. Крім того, такий обліковий запис можна " -"створити за допомогою Центру керування." - -#. (itstool) path: page/p -#: C/creating-a-child-user.page:17 -msgid "" -"To create a new child user, see Add a new user account. As soon as the new user is " -"created, it will appear in the Parental Controls window so that " -"its parental controls settings can be configured." -msgstr "" -"Щоб створити дитячий обліковий запис, ознайомтеся із розділом довідки Додавання нового облікового " -"запису користувача. Щойно запис нового користувача буде створено, " -"його буде показано у вікні програми Батьківський контроль, отже, " -"ви зможете налаштувати параметри батьківського контролю." - -#. (itstool) path: credit/name -#: C/index.page:6 -msgid "Philip Withnall" -msgstr "Philip Withnall" - -#. (itstool) path: credit/years -#: C/index.page:8 -msgid "2020" -msgstr "2020" - -#. (itstool) path: page/title -#: C/index.page:12 -msgid "Parental Controls Help" -msgstr "Допомога у батьківському контролі" - -#. (itstool) path: section/title -#: C/index.page:15 -msgid "Introduction & Setup" -msgstr "Вступ і налаштування" - -#. (itstool) path: section/title -#: C/index.page:19 -msgid "Controls to Apply" -msgstr "Засоби контролю, які можна застосувати" - -#. (itstool) path: info/desc -#: C/internet.page:6 -msgid "Restricting a child user’s access to the internet." -msgstr "Обмеження доступу дитячого облікового запису до інтернету." - -#. (itstool) path: page/title -#: C/internet.page:9 -msgid "Restricting Access to the Internet" -msgstr "Обмеження доступу до інтернету" - -#. (itstool) path: page/p -#: C/internet.page:11 -msgid "" -"You can restrict a user’s access to the internet. This will prevent them " -"using a web browser, but it will not prevent them using the internet (in " -"potentially more limited forms) through other applications. For example, it " -"will not prevent access to e-mail accounts using Evolution, and " -"it will not prevent software updates being downloaded and applied." -msgstr "" -"Ви можете обмежити доступ користувача до інтернету. Таким чином можна " -"заборонити користувачу користуватися браузером, але користувач збереже " -"доступ до інтернету (у потенційно обмеженішій формі) за допомогою інших " -"програм. Наприклад, користувач матиме доступ до облікових записів " -"електронної пошти за допомогою Evolution. Заборона також не " -"стосуватиметься отримання і застосування оновлень програмного забезпечення." - -#. (itstool) path: page/p -#: C/internet.page:17 -msgid "To restrict a user’s access to the internet:" -msgstr "Щоб обмежити доступ користувача до інтернету, виконайте такі дії:" - -#. (itstool) path: item/p -#: C/internet.page:19 C/restricting-applications.page:20 -#: C/software-installation.page:28 C/software-installation.page:54 -msgid "Open the Parental Controls application." -msgstr "Відкрийте вікно програми Батьківський контроль." - -#. (itstool) path: item/p -#: C/internet.page:20 C/restricting-applications.page:21 -#: C/software-installation.page:29 C/software-installation.page:55 -msgid "Select the user in the tabs at the top." -msgstr "Виберіть користувача у вкладках верхньої частини вікна." - -#. (itstool) path: item/p -#: C/internet.page:21 -msgid "" -"Enable the Restrict Web Browsers checkbox." -msgstr "Позначте пункт Обмежити браузери." - -#. (itstool) path: info/desc -#: C/introduction.page:6 -#| msgid "" -#| "Overview of parental controls and the Parental Controls " -#| "application." -msgid "" -"Overview of parental controls, the Parental Controls application " -"and its use in other situations where access restrictions are needed on a " -"user." -msgstr "" -"Огляд батьківського контролю, програми Батьківський контроль та її" -" використання у інших ситуаціях, коли потрібне обмеження доступу для" -" користувача." - -#. (itstool) path: page/title -#: C/introduction.page:12 -msgid "Introduction to Parental Controls" -msgstr "Вступ до «Батьківського контролю»" - -#. (itstool) path: page/p -#: C/introduction.page:14 -msgid "" -"Parental controls are a way to restrict what non-administrator accounts can " -"do on the computer, with the aim of allowing parents to restrict what their " -"children can do when using the computer unsupervised or under limited " -"supervision." -msgstr "" -"Батьківський контроль — спосіб обмежити діапазон дій, які зможуть виконувати " -"користувачі неадміністративних облікових записів на комп'ютері. Метою є " -"уможливлення обмеження батьками дій, які можуть вчиняти на комп'ютері діти " -"без нагляду або із обмеженим наглядом." - -#. (itstool) path: page/p -#: C/introduction.page:18 -#| msgid "" -#| "This functionality can be used in other situations ­– such as other carer/" -#| "caree relationships – but is labelled as ‘parental controls’ so that it’s " -#| "easy to find." -msgid "" -"This functionality can be used in other situations ­– such as other carer/" -"caree relationships – but is labelled as ‘parental controls’ so that it’s " -"easy to find, as that’s what most people will be looking for." -msgstr "" -"Цими функціональними можливостями можна скористатися і в інших ситуаціях — " -"зокрема у ситуаціях із стосунками доглядач-пацієнт, — ми назвали це " -"«батьківський контроль» лише для зручності пошуку, оскільки саме це шукають" -" більшість наших користувачів." - -#. (itstool) path: page/p -#: C/introduction.page:21 -msgid "" -"The parental controls for any user can be queried and set using the " -"Parental Controls application. This lists the non-administrator " -"accounts in tabs along its top bar, and shows their current parental " -"controls settings below. Changes to the parental controls apply immediately." -msgstr "" -"Переглянути і встановити батьківський контроль для будь-якого користувача " -"можна за допомогою програми Батьківський контроль. У вікні " -"програми буде показано список неадміністративних облікових записів уздовж " -"верхньої панелі, а також параметри поточного батьківського контролю на " -"панелі під списком. Зміни у батьківському контролі буде застосовано негайно." - -#. (itstool) path: page/p -#: C/introduction.page:25 -msgid "" -"Restrictions on using the computer can only be applied to non-administrator " -"accounts. The parental controls settings for a user can only be changed by " -"an administrator, although the administrator can do so from the user’s " -"account by entering their password when prompted by the Parental " -"Controls application." -msgstr "" -"Обмеження у користуванні комп'ютером можна запроваджувати лише для облікових " -"записів, які не є адміністративними. Параметри батьківського контролю для " -"користувача може бути змінено лише адміністратором, хоча адміністратор може " -"зробити це з облікового запису користувача, якщо введе пароль, коли про " -"нього запитає програма Батьківський контроль." - -#. (itstool) path: p/link -#: C/legal.xml:4 -msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" -msgstr "Creative Commons Attribution-ShareAlike 3.0 Unported License" - -#. (itstool) path: license/p -#: C/legal.xml:3 -msgid "This work is licensed under a <_:link-1/>." -msgstr "Ця робота розповсюджується за умов дотримання <_:link-1/>." - -#. (itstool) path: info/desc -#: C/restricting-applications.page:6 -msgid "Restricting a child user from running already-installed applications." -msgstr "Обмеження запуску з дитячого облікового вже встановлених програм." - -#. (itstool) path: page/title -#: C/restricting-applications.page:9 -msgid "Restricting Access to Installed Applications" -msgstr "Обмеження доступу до встановлених програм" - -#. (itstool) path: page/p -#: C/restricting-applications.page:11 -msgid "" -"You can prevent a user from running specific applications which are already " -"installed on the computer. This could be useful if other users need those " -"applications but they are not appropriate for a child." -msgstr "" -"Ви можете заборонити користувачу запускати певні програми, які вже " -"встановлено на комп'ютері. Це може бути корисним, якщо ці програми потрібні " -"іншим користувачам, але є непридатними для користування дитиною." - -#. (itstool) path: page/p -#: C/restricting-applications.page:14 -msgid "" -"When installing additional software, you should consider whether that needs " -"to be restricted for some users — newly installed software is usable by all " -"users by default." -msgstr "" -"При встановленні додаткового програмного забезпечення вам слід зважати на " -"те, чи слід обмежувати доступ до нього для інших користувачів — типово, усе " -"нововстановлене програмне забезпечення є доступним для усіх користувачів " -"комп'ютера." - -#. (itstool) path: page/p -#: C/restricting-applications.page:18 -msgid "To restrict a user’s access to a specific application:" -msgstr "" -"Щоб обмежити доступ користувача до певної програми, виконайте такі дії:" - -#. (itstool) path: item/p -#: C/restricting-applications.page:22 -msgid "Press the Restrict Applications button." -msgstr "" -"Натисніть кнопку Обмеження доступу до програм." - -#. (itstool) path: item/p -#: C/restricting-applications.page:23 -msgid "" -"Enable the switch in the row for each application you would like to restrict " -"the user from accessing." -msgstr "" -"Увімкніть перемикач у рядку для кожної з програм, доступ до якої ви хочете " -"обмежити." - -#. (itstool) path: item/p -#: C/restricting-applications.page:24 -msgid "Close the Restrict Applications window." -msgstr "Закрийте вікно Обмеження доступу до програм." - -#. (itstool) path: page/p -#: C/restricting-applications.page:27 -msgid "" -"Restricting access to specific applications is often used in conjunction " -"with to prevent a user from " -"installing additional software which has not been vetted." -msgstr "" -"Обмеження доступу до певної програми часто використовується у поєднанні із " -" для запобігання встановленню " -"користувачем додаткового програмного забезпечення, доступ до якого не " -"обмежено." - -#. (itstool) path: info/desc -#: C/software-installation.page:6 -msgid "" -"Restricting the software a child user can install, or preventing them " -"installing additional software entirely." -msgstr "" -"Обмеження можливостей зі встановлення програмного забезпечення власником " -"дитячого облікового запису або повна заборона встановлення програмного " -"забезпечення для дитячого облікового запису." - -#. (itstool) path: page/title -#: C/software-installation.page:9 -msgid "Restricting Software Installation" -msgstr "Обмеження встановлення програмного забезпечення" - -#. (itstool) path: page/p -#: C/software-installation.page:11 -msgid "" -"You can prevent a user from installing additional software on the system. " -"They will still be able to search for new software to install, but will need " -"an administrator to authorize the installation when they try to install an " -"application. This applies whether they are trying to install the application " -"system-wide (for all users) or just for themselves." -msgstr "" -"Ви можете заборонити користувачеві встановлювати додаткове програмне " -"забезпечення. Користувачі зможуть виконувати пошук нового програмного " -"забезпечення для встановлення, але потребуватимуть пароля адміністратора для " -"уповноваження на встановлення. Запит щодо пароля буде показано, коли " -"користувач спробує встановити програму. Це стосується ситуацій, коли " -"користувачі намагаються встановити програму на загальносистемному рівні (для " -"усіх користувачів) або лише для себе." - -#. (itstool) path: page/p -#: C/software-installation.page:17 -msgid "" -"Additionally, you can restrict which software a user can browse or search " -"for in the Software catalog by age categories." -msgstr "" -"Крім того, ви можете обмежити перелік програмного забезпечення, яке зможе " -"бачити або шукати користувач у каталозі програми Програмне " -"забезпечення, за віковими категоріями." - -#. (itstool) path: page/p -#: C/software-installation.page:20 -msgid "" -"To prevent a user from running an application which has already been " -"installed, see ." -msgstr "" -"Щоб заборонити користувачу запускати програму, яку вже встановлено, " -"ознайомтеся із вмістом розділу ." - -#. (itstool) path: section/title -#: C/software-installation.page:24 -msgid "Preventing Software Installation" -msgstr "Заборона встановлення програмного забезпечення" - -#. (itstool) path: section/p -#: C/software-installation.page:26 -msgid "To prevent a user from installing additional software:" -msgstr "" -"Щоб заборонити користувачеві встановлення додаткового програмного " -"забезпечення:" - -#. (itstool) path: item/p -#: C/software-installation.page:30 -msgid "" -"Enable the Restrict Application Installation " -"checkbox." -msgstr "" -"Позначте пункт Обмежити встановлення програм." - -#. (itstool) path: section/title -#: C/software-installation.page:35 -msgid "Restricting Software Installation by Age" -msgstr "Обмеження встановлення програмного забезпечення за віком" - -#. (itstool) path: section/p -#: C/software-installation.page:37 -msgid "" -"Applications in the Software catalog have information about " -"content they contain which might be inappropriate for some ages — for " -"example, various forms of violence, unmoderated chat with other people on " -"the internet, or the possibility of spending money." -msgstr "" -"У пакунках програми з каталогу програми Програмне забезпечення " -"містяться відомості щодо вмісту пакунків, який може бути неприйнятним для " -"певних вікових груп. Наприклад, у програмах можуть бути посилання на різні " -"форми насильства, необмежені можливості спілкування зі сторонніми особами у " -"інтернеті або можливості з витрачання грошей." - -#. (itstool) path: section/p -#: C/software-installation.page:41 -msgid "" -"For each application, this information is summarized as the minimum age " -"child it is typically suitable to be used by — for example, “suitable for " -"ages 7+”. These age ratings are presented in region-specific schemes which " -"can be compared with the ratings schemes used for films and games." -msgstr "" -"Для кожної програми у цих відомостях щодо програми містяться дані щодо " -"мінімального віку дітей, з якого їх можна допускати до користування " -"програмою, наприклад, «придатна для віку 7+». Ці оцінки віку представлено у " -"вигляді специфічних для регіону схем, які можна порівняти із схемами " -"рейтингів для фільмів та відеоігор." - -#. (itstool) path: section/p -#: C/software-installation.page:45 -msgid "" -"The applications shown to a user in the Software catalog can be " -"filtered by their age suitability. Applications which are not suitable for " -"the user will be hidden, and will not be installable by that user. They will " -"be installable by other users (if their age suitability is set high enough)." -msgstr "" -"Програми, які буде показано користувачеві у каталозі Програмне " -"забезпечення, можна фільтрувати за придатністю для вікових груп. " -"Програми, які є непридатними для користувача, буде приховано — користувач не " -"зможе їх встановити. Їх зможуть встановлювати інші користувачі (якщо їхній " -"вік є відповідним до вікової категорії програм)." - -#. (itstool) path: section/p -#: C/software-installation.page:51 -msgid "" -"To filter the applications seen by a user in the Software catalog " -"to only those suitable for a certain age:" -msgstr "" -"Щоб налаштувати фільтрування програм, пункти яких буде показано " -"користувачеві у програмі Програмне забезпечення лише програмами, " -"які рекомендовано для певного вікового діапазону, виконайте такі дії:" - -#. (itstool) path: item/p -#: C/software-installation.page:56 -msgid "" -"In the Application Suitability list, select the age which " -"applications should be suitable for." -msgstr "" -"У списку Придатність програм виберіть вік, для якого мають бути " -"придатними програми." - -#. (itstool) path: note/p -#: C/software-installation.page:60 -msgid "" -"The user’s actual age is not stored, so the Application Suitability is not automatically updated over time as the child grows older. You " -"must periodically re-assess the appropriate Application Suitability for each user." -msgstr "" -"Програма не зберігає дані щодо віку користувача, тому список " -"Придатність програм не оновлюється автоматично з дорослішанням " -"дитини. Вам слід час від часу оновлювати дані списку Придатність " -"програм для кожного користувача." - -#~ msgid "" -#~ "Or enable the Restrict Application Installation " -#~ "for Others checkbox." -#~ msgstr "" -#~ "Або позначте пункт Обмежити встановлення програм " -#~ "для інших." - -#~ msgid "" -#~ "The Restrict Application Installation for Others checkbox allows the user to install additional software for " -#~ "themselves, but prevents that software from being made available to other " -#~ "users. It could be used, for example, if there were two child users, one " -#~ "of whom is mature enough to be allowed to install additional software, " -#~ "but the other isn’t — enabling Restrict " -#~ "Application Installation for Others would prevent the more mature " -#~ "child from installing applications which are inappropriate for the other " -#~ "child and making them available to the other child." -#~ msgstr "" -#~ "За допомогою пункту Обмежити встановлення програм " -#~ "для інших можна дозволити користувачеві встановлювати додаткове " -#~ "програмне забезпечення для себе, але заборонити доступ до встановленого " -#~ "програмного забезпечення для інших користувачів. Цим можна скористатися, " -#~ "наприклад, якщо у вас двоє дітей, з яких одна дитина достатньо доросла, " -#~ "щоб дозволити їй встановлювати додаткові програми, але інша є надто " -#~ "малою. Позначення пункту Обмежити встановлення " -#~ "програм для інших заборонить старшій дитині встановлювати програми, " -#~ "доступ до яких для молодшої дитини слід обмежити." diff --git a/libmalcontent-ui/gs-content-rating.c b/libmalcontent-ui/gs-content-rating.c new file mode 100644 index 0000000..0e584be --- /dev/null +++ b/libmalcontent-ui/gs-content-rating.c @@ -0,0 +1,968 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2015-2016 Richard Hughes + * + * Licensed under the GNU General Public License Version 2 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "config.h" + +#include +#include + +#include "gs-content-rating.h" + +const gchar * +gs_content_rating_system_to_str (GsContentRatingSystem system) +{ + if (system == GS_CONTENT_RATING_SYSTEM_INCAA) + return "INCAA"; + if (system == GS_CONTENT_RATING_SYSTEM_ACB) + return "ACB"; + if (system == GS_CONTENT_RATING_SYSTEM_DJCTQ) + return "DJCTQ"; + if (system == GS_CONTENT_RATING_SYSTEM_GSRR) + return "GSRR"; + if (system == GS_CONTENT_RATING_SYSTEM_PEGI) + return "PEGI"; + if (system == GS_CONTENT_RATING_SYSTEM_KAVI) + return "KAVI"; + if (system == GS_CONTENT_RATING_SYSTEM_USK) + return "USK"; + if (system == GS_CONTENT_RATING_SYSTEM_ESRA) + return "ESRA"; + if (system == GS_CONTENT_RATING_SYSTEM_CERO) + return "CERO"; + if (system == GS_CONTENT_RATING_SYSTEM_OFLCNZ) + return "OFLCNZ"; + if (system == GS_CONTENT_RATING_SYSTEM_RUSSIA) + return "RUSSIA"; + if (system == GS_CONTENT_RATING_SYSTEM_MDA) + return "MDA"; + if (system == GS_CONTENT_RATING_SYSTEM_GRAC) + return "GRAC"; + if (system == GS_CONTENT_RATING_SYSTEM_ESRB) + return "ESRB"; + if (system == GS_CONTENT_RATING_SYSTEM_IARC) + return "IARC"; + return NULL; +} + +const gchar * +gs_content_rating_key_value_to_str (const gchar *id, MctAppFilterOarsValue value) +{ + guint i; + const struct { + const gchar *id; + MctAppFilterOarsValue value; + const gchar *desc; + } tab[] = { + { "violence-cartoon", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No cartoon violence") }, + { "violence-cartoon", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("Cartoon characters in unsafe situations") }, + { "violence-cartoon", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Cartoon characters in aggressive conflict") }, + { "violence-cartoon", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Graphic violence involving cartoon characters") }, + { "violence-fantasy", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No fantasy violence") }, + { "violence-fantasy", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("Characters in unsafe situations easily distinguishable from reality") }, + { "violence-fantasy", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Characters in aggressive conflict easily distinguishable from reality") }, + { "violence-fantasy", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Graphic violence easily distinguishable from reality") }, + { "violence-realistic", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No realistic violence") }, + { "violence-realistic", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("Mildly realistic characters in unsafe situations") }, + { "violence-realistic", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Depictions of realistic characters in aggressive conflict") }, + { "violence-realistic", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Graphic violence involving realistic characters") }, + { "violence-bloodshed", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No bloodshed") }, + { "violence-bloodshed", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("Unrealistic bloodshed") }, + { "violence-bloodshed", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Realistic bloodshed") }, + { "violence-bloodshed", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Depictions of bloodshed and the mutilation of body parts") }, + { "violence-sexual", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No sexual violence") }, + { "violence-sexual", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Rape or other violent sexual behavior") }, + { "drugs-alcohol", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No references to alcohol") }, + { "drugs-alcohol", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("References to alcoholic beverages") }, + { "drugs-alcohol", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Use of alcoholic beverages") }, + { "drugs-narcotics", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No references to illicit drugs") }, + { "drugs-narcotics", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("References to illicit drugs") }, + { "drugs-narcotics", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Use of illicit drugs") }, + { "drugs-tobacco", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("References to tobacco products") }, + { "drugs-tobacco", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Use of tobacco products") }, + { "sex-nudity", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No nudity of any sort") }, + { "sex-nudity", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("Brief artistic nudity") }, + { "sex-nudity", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Prolonged nudity") }, + { "sex-themes", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No references or depictions of sexual nature") }, + { "sex-themes", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("Provocative references or depictions") }, + { "sex-themes", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Sexual references or depictions") }, + { "sex-themes", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Graphic sexual behavior") }, + { "language-profanity", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No profanity of any kind") }, + { "language-profanity", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("Mild or infrequent use of profanity") }, + { "language-profanity", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Moderate use of profanity") }, + { "language-profanity", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Strong or frequent use of profanity") }, + { "language-humor", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No inappropriate humor") }, + { "language-humor", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("Slapstick humor") }, + { "language-humor", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Vulgar or bathroom humor") }, + { "language-humor", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Mature or sexual humor") }, + { "language-discrimination", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No discriminatory language of any kind") }, + { "language-discrimination", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("Negativity towards a specific group of people") }, + { "language-discrimination", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Discrimination designed to cause emotional harm") }, + { "language-discrimination", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Explicit discrimination based on gender, sexuality, race or religion") }, + { "money-advertising", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No advertising of any kind") }, + { "money-advertising", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("Product placement") }, + { "money-advertising", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Explicit references to specific brands or trademarked products") }, + { "money-advertising", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Users are encouraged to purchase specific real-world items") }, + { "money-gambling", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No gambling of any kind") }, + { "money-gambling", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("Gambling on random events using tokens or credits") }, + { "money-gambling", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Gambling using “play” money") }, + { "money-gambling", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Gambling using real money") }, + { "money-purchasing", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No ability to spend money") }, + { "money-purchasing", MCT_APP_FILTER_OARS_VALUE_MILD, /* v1.1 */ + /* TRANSLATORS: content rating description */ + _("Users are encouraged to donate real money") }, + { "money-purchasing", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Ability to spend real money in-game") }, + { "social-chat", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No way to chat with other users") }, + { "social-chat", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("User-to-user game interactions without chat functionality") }, + { "social-chat", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Moderated chat functionality between users") }, + { "social-chat", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Uncontrolled chat functionality between users") }, + { "social-audio", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No way to talk with other users") }, + { "social-audio", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Uncontrolled audio or video chat functionality between users") }, + { "social-contacts", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No sharing of social network usernames or email addresses") }, + { "social-contacts", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Sharing social network usernames or email addresses") }, + { "social-info", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No sharing of user information with 3rd parties") }, + { "social-info", MCT_APP_FILTER_OARS_VALUE_MILD, /* v1.1 */ + /* TRANSLATORS: content rating description */ + _("Checking for the latest application version") }, + { "social-info", MCT_APP_FILTER_OARS_VALUE_MODERATE, /* v1.1 */ + /* TRANSLATORS: content rating description */ + _("Sharing diagnostic data that does not let others identify the user") }, + { "social-info", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Sharing information that lets others identify the user") }, + { "social-location", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No sharing of physical location to other users") }, + { "social-location", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Sharing physical location to other users") }, + + /* v1.1 */ + { "sex-homosexuality", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No references to homosexuality") }, + { "sex-homosexuality", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("Indirect references to homosexuality") }, + { "sex-homosexuality", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Kissing between people of the same gender") }, + { "sex-homosexuality", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Graphic sexual behavior between people of the same gender") }, + { "sex-prostitution", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No references to prostitution") }, + { "sex-prostitution", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("Indirect references to prostitution") }, + { "sex-prostitution", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Direct references to prostitution") }, + { "sex-prostitution", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Graphic depictions of the act of prostitution") }, + { "sex-adultery", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No references to adultery") }, + { "sex-adultery", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("Indirect references to adultery") }, + { "sex-adultery", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Direct references to adultery") }, + { "sex-adultery", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Graphic depictions of the act of adultery") }, + { "sex-appearance", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No sexualized characters") }, + { "sex-appearance", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Scantily clad human characters") }, + { "sex-appearance", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Overtly sexualized human characters") }, + { "violence-worship", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No references to desecration") }, + { "violence-worship", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("Depictions or references to historical desecration") }, + { "violence-worship", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Depictions of modern-day human desecration") }, + { "violence-worship", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Graphic depictions of modern-day desecration") }, + { "violence-desecration", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No visible dead human remains") }, + { "violence-desecration", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("Visible dead human remains") }, + { "violence-desecration", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Dead human remains that are exposed to the elements") }, + { "violence-desecration", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Graphic depictions of desecration of human bodies") }, + { "violence-slavery", MCT_APP_FILTER_OARS_VALUE_NONE, + /* TRANSLATORS: content rating description */ + _("No references to slavery") }, + { "violence-slavery", MCT_APP_FILTER_OARS_VALUE_MILD, + /* TRANSLATORS: content rating description */ + _("Depictions or references to historical slavery") }, + { "violence-slavery", MCT_APP_FILTER_OARS_VALUE_MODERATE, + /* TRANSLATORS: content rating description */ + _("Depictions of modern-day slavery") }, + { "violence-slavery", MCT_APP_FILTER_OARS_VALUE_INTENSE, + /* TRANSLATORS: content rating description */ + _("Graphic depictions of modern-day slavery") }, + { NULL, 0, NULL } }; + for (i = 0; tab[i].id != NULL; i++) { + if (g_strcmp0 (tab[i].id, id) == 0 && tab[i].value == value) + return tab[i].desc; + } + return NULL; +} + +/* data obtained from https://en.wikipedia.org/wiki/Video_game_rating_system */ +const gchar * +gs_utils_content_rating_age_to_str (GsContentRatingSystem system, guint age) +{ + if (system == GS_CONTENT_RATING_SYSTEM_INCAA) { + if (age >= 18) + return "+18"; + if (age >= 13) + return "+13"; + return "ATP"; + } + if (system == GS_CONTENT_RATING_SYSTEM_ACB) { + if (age >= 18) + return "R18+"; + if (age >= 15) + return "MA15+"; + return "PG"; + } + if (system == GS_CONTENT_RATING_SYSTEM_DJCTQ) { + if (age >= 18) + return "18"; + if (age >= 16) + return "16"; + if (age >= 14) + return "14"; + if (age >= 12) + return "12"; + if (age >= 10) + return "10"; + return "L"; + } + if (system == GS_CONTENT_RATING_SYSTEM_GSRR) { + if (age >= 18) + return "限制"; + if (age >= 15) + return "輔15"; + if (age >= 12) + return "輔12"; + if (age >= 6) + return "保護"; + return "普通"; + } + if (system == GS_CONTENT_RATING_SYSTEM_PEGI) { + if (age >= 18) + return "18"; + if (age >= 16) + return "16"; + if (age >= 12) + return "12"; + if (age >= 7) + return "7"; + if (age >= 3) + return "3"; + return NULL; + } + if (system == GS_CONTENT_RATING_SYSTEM_KAVI) { + if (age >= 18) + return "18+"; + if (age >= 16) + return "16+"; + if (age >= 12) + return "12+"; + if (age >= 7) + return "7+"; + if (age >= 3) + return "3+"; + return NULL; + } + if (system == GS_CONTENT_RATING_SYSTEM_USK) { + if (age >= 18) + return "18"; + if (age >= 16) + return "16"; + if (age >= 12) + return "12"; + if (age >= 6) + return "6"; + return "0"; + } + /* Reference: http://www.esra.org.ir/ */ + if (system == GS_CONTENT_RATING_SYSTEM_ESRA) { + if (age >= 18) + return "+18"; + if (age >= 15) + return "+15"; + if (age >= 12) + return "+12"; + if (age >= 7) + return "+7"; + if (age >= 3) + return "+3"; + return NULL; + } + if (system == GS_CONTENT_RATING_SYSTEM_CERO) { + if (age >= 18) + return "Z"; + if (age >= 17) + return "D"; + if (age >= 15) + return "C"; + if (age >= 12) + return "B"; + return "A"; + } + if (system == GS_CONTENT_RATING_SYSTEM_OFLCNZ) { + if (age >= 18) + return "R18"; + if (age >= 16) + return "R16"; + if (age >= 15) + return "R15"; + if (age >= 13) + return "R13"; + return "G"; + } + if (system == GS_CONTENT_RATING_SYSTEM_RUSSIA) { + if (age >= 18) + return "18+"; + if (age >= 16) + return "16+"; + if (age >= 12) + return "12+"; + if (age >= 6) + return "6+"; + return "0+"; + } + if (system == GS_CONTENT_RATING_SYSTEM_MDA) { + if (age >= 18) + return "M18"; + if (age >= 16) + return "ADV"; + return "General"; + } + if (system == GS_CONTENT_RATING_SYSTEM_GRAC) { + if (age >= 18) + return "18"; + if (age >= 15) + return "15"; + if (age >= 12) + return "12"; + return "ALL"; + } + if (system == GS_CONTENT_RATING_SYSTEM_ESRB) { + if (age >= 18) + return "Adults Only"; + if (age >= 17) + return "Mature"; + if (age >= 13) + return "Teen"; + if (age >= 10) + return "Everyone 10+"; + if (age >= 6) + return "Everyone"; + return "Early Childhood"; + } + /* IARC = everything else */ + if (age >= 18) + return "18+"; + if (age >= 16) + return "16+"; + if (age >= 12) + return "12+"; + if (age >= 7) + return "7+"; + if (age >= 3) + return "3+"; + return NULL; +} + +/* + * parse_locale: + * @locale: (transfer full): a locale to parse + * @language_out: (out) (optional) (nullable): return location for the parsed + * language, or %NULL to ignore + * @territory_out: (out) (optional) (nullable): return location for the parsed + * territory, or %NULL to ignore + * @codeset_out: (out) (optional) (nullable): return location for the parsed + * codeset, or %NULL to ignore + * @modifier_out: (out) (optional) (nullable): return location for the parsed + * modifier, or %NULL to ignore + * + * Parse @locale as a locale string of the form + * `language[_territory][.codeset][@modifier]` — see `man 3 setlocale` for + * details. + * + * On success, %TRUE will be returned, and the components of the locale will be + * returned in the given addresses, with each component not including any + * separators. Otherwise, %FALSE will be returned and the components will be set + * to %NULL. + * + * @locale is modified, and any returned non-%NULL pointers will point inside + * it. + * + * Returns: %TRUE on success, %FALSE otherwise + */ +static gboolean +parse_locale (gchar *locale /* (transfer full) */, + const gchar **language_out, + const gchar **territory_out, + const gchar **codeset_out, + const gchar **modifier_out) +{ + gchar *separator; + const gchar *language = NULL, *territory = NULL, *codeset = NULL, *modifier = NULL; + + separator = strrchr (locale, '@'); + if (separator != NULL) { + modifier = separator + 1; + *separator = '\0'; + } + + separator = strrchr (locale, '.'); + if (separator != NULL) { + codeset = separator + 1; + *separator = '\0'; + } + + separator = strrchr (locale, '_'); + if (separator != NULL) { + territory = separator + 1; + *separator = '\0'; + } + + language = locale; + + /* Parse failure? */ + if (*language == '\0') { + language = NULL; + territory = NULL; + codeset = NULL; + modifier = NULL; + } + + if (language_out != NULL) + *language_out = language; + if (territory_out != NULL) + *territory_out = territory; + if (codeset_out != NULL) + *codeset_out = codeset; + if (modifier_out != NULL) + *modifier_out = modifier; + + return (language != NULL); +} + +/* data obtained from https://en.wikipedia.org/wiki/Video_game_rating_system */ +GsContentRatingSystem +gs_utils_content_rating_system_from_locale (const gchar *locale) +{ + g_autofree gchar *locale_copy = g_strdup (locale); + const gchar *language, *territory; + + /* Default to IARC for locales which can’t be parsed. */ + if (!parse_locale (locale_copy, &language, &territory, NULL, NULL)) + return GS_CONTENT_RATING_SYSTEM_IARC; + + /* Argentina */ + if (g_strcmp0 (language, "ar") == 0) + return GS_CONTENT_RATING_SYSTEM_INCAA; + + /* Australia */ + if (g_strcmp0 (language, "au") == 0) + return GS_CONTENT_RATING_SYSTEM_ACB; + + /* Brazil */ + if (g_strcmp0 (language, "pt") == 0 && + g_strcmp0 (territory, "BR") == 0) + return GS_CONTENT_RATING_SYSTEM_DJCTQ; + + /* Taiwan */ + if (g_strcmp0 (language, "zh") == 0 && + g_strcmp0 (territory, "TW") == 0) + return GS_CONTENT_RATING_SYSTEM_GSRR; + + /* Europe (but not Finland or Germany), India, Israel, + * Pakistan, Quebec, South Africa */ + if ((g_strcmp0 (language, "en") == 0 && + g_strcmp0 (territory, "GB") == 0) || + g_strcmp0 (language, "gb") == 0 || + g_strcmp0 (language, "al") == 0 || + g_strcmp0 (language, "ad") == 0 || + g_strcmp0 (language, "am") == 0 || + g_strcmp0 (language, "at") == 0 || + g_strcmp0 (language, "az") == 0 || + g_strcmp0 (language, "by") == 0 || + g_strcmp0 (language, "be") == 0 || + g_strcmp0 (language, "ba") == 0 || + g_strcmp0 (language, "bg") == 0 || + g_strcmp0 (language, "hr") == 0 || + g_strcmp0 (language, "cy") == 0 || + g_strcmp0 (language, "cz") == 0 || + g_strcmp0 (language, "dk") == 0 || + g_strcmp0 (language, "ee") == 0 || + g_strcmp0 (language, "fr") == 0 || + g_strcmp0 (language, "ge") == 0 || + g_strcmp0 (language, "gr") == 0 || + g_strcmp0 (language, "hu") == 0 || + g_strcmp0 (language, "is") == 0 || + g_strcmp0 (language, "it") == 0 || + g_strcmp0 (language, "kz") == 0 || + g_strcmp0 (language, "xk") == 0 || + g_strcmp0 (language, "lv") == 0 || + g_strcmp0 (language, "fl") == 0 || + g_strcmp0 (language, "lu") == 0 || + g_strcmp0 (language, "lt") == 0 || + g_strcmp0 (language, "mk") == 0 || + g_strcmp0 (language, "mt") == 0 || + g_strcmp0 (language, "md") == 0 || + g_strcmp0 (language, "mc") == 0 || + g_strcmp0 (language, "me") == 0 || + g_strcmp0 (language, "nl") == 0 || + g_strcmp0 (language, "no") == 0 || + g_strcmp0 (language, "pl") == 0 || + g_strcmp0 (language, "pt") == 0 || + g_strcmp0 (language, "ro") == 0 || + g_strcmp0 (language, "sm") == 0 || + g_strcmp0 (language, "rs") == 0 || + g_strcmp0 (language, "sk") == 0 || + g_strcmp0 (language, "si") == 0 || + g_strcmp0 (language, "es") == 0 || + g_strcmp0 (language, "se") == 0 || + g_strcmp0 (language, "ch") == 0 || + g_strcmp0 (language, "tr") == 0 || + g_strcmp0 (language, "ua") == 0 || + g_strcmp0 (language, "va") == 0 || + g_strcmp0 (language, "in") == 0 || + g_strcmp0 (language, "il") == 0 || + g_strcmp0 (language, "pk") == 0 || + g_strcmp0 (language, "za") == 0) + return GS_CONTENT_RATING_SYSTEM_PEGI; + + /* Finland */ + if (g_strcmp0 (language, "fi") == 0) + return GS_CONTENT_RATING_SYSTEM_KAVI; + + /* Germany */ + if (g_strcmp0 (language, "de") == 0) + return GS_CONTENT_RATING_SYSTEM_USK; + + /* Iran */ + if (g_strcmp0 (language, "ir") == 0) + return GS_CONTENT_RATING_SYSTEM_ESRA; + + /* Japan */ + if (g_strcmp0 (language, "jp") == 0) + return GS_CONTENT_RATING_SYSTEM_CERO; + + /* New Zealand */ + if (g_strcmp0 (language, "nz") == 0) + return GS_CONTENT_RATING_SYSTEM_OFLCNZ; + + /* Russia: Content rating law */ + if (g_strcmp0 (language, "ru") == 0) + return GS_CONTENT_RATING_SYSTEM_RUSSIA; + + /* Singapore */ + if (g_strcmp0 (language, "sg") == 0) + return GS_CONTENT_RATING_SYSTEM_MDA; + + /* South Korea */ + if (g_strcmp0 (language, "kr") == 0) + return GS_CONTENT_RATING_SYSTEM_GRAC; + + /* USA, Canada, Mexico */ + if ((g_strcmp0 (language, "en") == 0 && + g_strcmp0 (territory, "US") == 0) || + g_strcmp0 (language, "us") == 0 || + g_strcmp0 (language, "ca") == 0 || + g_strcmp0 (language, "mx") == 0) + return GS_CONTENT_RATING_SYSTEM_ESRB; + + /* everything else is IARC */ + return GS_CONTENT_RATING_SYSTEM_IARC; +} + +static const gchar *content_rating_strings[GS_CONTENT_RATING_SYSTEM_LAST][7] = { + { "3+", "7+", "12+", "16+", "18+", NULL }, /* GS_CONTENT_RATING_SYSTEM_UNKNOWN */ + { "ATP", "+13", "+18", NULL }, /* GS_CONTENT_RATING_SYSTEM_INCAA */ + { "PG", "MA15+", "R18+", NULL }, /* GS_CONTENT_RATING_SYSTEM_ACB */ + { "L", "10", "12", "14", "16", "18", NULL }, /* GS_CONTENT_RATING_SYSTEM_DJCTQ */ + { "普通", "保護", "輔12", "輔15", "限制", NULL }, /* GS_CONTENT_RATING_SYSTEM_GSRR */ + { "3", "7", "12", "16", "18", NULL }, /* GS_CONTENT_RATING_SYSTEM_PEGI */ + { "3+", "7+", "12+", "16+", "18+", NULL }, /* GS_CONTENT_RATING_SYSTEM_KAVI */ + { "0", "6", "12", "16", "18", NULL}, /* GS_CONTENT_RATING_SYSTEM_USK */ + { "+3", "+7", "+12", "+15", "+18", NULL }, /* GS_CONTENT_RATING_SYSTEM_ESRA */ + { "A", "B", "C", "D", "Z", NULL }, /* GS_CONTENT_RATING_SYSTEM_CERO */ + { "G", "R13", "R15", "R16", "R18", NULL }, /* GS_CONTENT_RATING_SYSTEM_OFLCNZ */ + { "0+", "6+", "12+", "16+", "18+", NULL }, /* GS_CONTENT_RATING_SYSTEM_RUSSIA */ + { "General", "ADV", "M18", NULL }, /* GS_CONTENT_RATING_SYSTEM_MDA */ + { "ALL", "12", "15", "18", NULL }, /* GS_CONTENT_RATING_SYSTEM_GRAC */ + { "Early Childhood", "Everyone", "Everyone 10+", "Teen", "Mature", "Adults Only", NULL }, /* GS_CONTENT_RATING_SYSTEM_ESRB */ + { "3+", "7+", "12+", "16+", "18+", NULL }, /* GS_CONTENT_RATING_SYSTEM_IARC */ +}; + +const gchar * const * +gs_utils_content_rating_get_values (GsContentRatingSystem system) +{ + g_assert (system < GS_CONTENT_RATING_SYSTEM_LAST); + return content_rating_strings[system]; +} + +static guint content_rating_ages[GS_CONTENT_RATING_SYSTEM_LAST][7] = { + { 3, 7, 12, 16, 18 }, /* GS_CONTENT_RATING_SYSTEM_UNKNOWN */ + { 0, 13, 18 }, /* GS_CONTENT_RATING_SYSTEM_INCAA */ + { 0, 15, 18 }, /* GS_CONTENT_RATING_SYSTEM_ACB */ + { 0, 10, 12, 14, 16, 18 }, /* GS_CONTENT_RATING_SYSTEM_DJCTQ */ + { 0, 6, 12, 15, 18 }, /* GS_CONTENT_RATING_SYSTEM_GSRR */ + { 3, 7, 12, 16, 18 }, /* GS_CONTENT_RATING_SYSTEM_PEGI */ + { 3, 7, 12, 16, 18 }, /* GS_CONTENT_RATING_SYSTEM_KAVI */ + { 0, 6, 12, 16, 18 }, /* GS_CONTENT_RATING_SYSTEM_USK */ + { 3, 7, 12, 15, 18 }, /* GS_CONTENT_RATING_SYSTEM_ESRA */ + { 0, 12, 15, 17, 18 }, /* GS_CONTENT_RATING_SYSTEM_CERO */ + { 0, 13, 15, 16, 18 }, /* GS_CONTENT_RATING_SYSTEM_OFLCNZ */ + { 0, 6, 12, 16, 18 }, /* GS_CONTENT_RATING_SYSTEM_RUSSIA */ + { 0, 16, 18 }, /* GS_CONTENT_RATING_SYSTEM_MDA */ + { 0, 12, 15, 18 }, /* GS_CONTENT_RATING_SYSTEM_GRAC */ + { 0, 6, 10, 13, 17, 18 }, /* GS_CONTENT_RATING_SYSTEM_ESRB */ + { 3, 7, 12, 16, 18 }, /* GS_CONTENT_RATING_SYSTEM_IARC */ +}; + +const guint * +gs_utils_content_rating_get_ages (GsContentRatingSystem system) +{ + g_assert (system < GS_CONTENT_RATING_SYSTEM_LAST); + return content_rating_ages[system]; +} + +const struct { + const gchar *id; + MctAppFilterOarsValue value; + guint csm_age; +} id_to_csm_age[] = { +/* v1.0 */ +{ "violence-cartoon", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "violence-cartoon", MCT_APP_FILTER_OARS_VALUE_MILD, 3 }, +{ "violence-cartoon", MCT_APP_FILTER_OARS_VALUE_MODERATE, 4 }, +{ "violence-cartoon", MCT_APP_FILTER_OARS_VALUE_INTENSE, 6 }, +{ "violence-fantasy", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "violence-fantasy", MCT_APP_FILTER_OARS_VALUE_MILD, 3 }, +{ "violence-fantasy", MCT_APP_FILTER_OARS_VALUE_MODERATE, 7 }, +{ "violence-fantasy", MCT_APP_FILTER_OARS_VALUE_INTENSE, 8 }, +{ "violence-realistic", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "violence-realistic", MCT_APP_FILTER_OARS_VALUE_MILD, 4 }, +{ "violence-realistic", MCT_APP_FILTER_OARS_VALUE_MODERATE, 9 }, +{ "violence-realistic", MCT_APP_FILTER_OARS_VALUE_INTENSE, 14 }, +{ "violence-bloodshed", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "violence-bloodshed", MCT_APP_FILTER_OARS_VALUE_MILD, 9 }, +{ "violence-bloodshed", MCT_APP_FILTER_OARS_VALUE_MODERATE, 11 }, +{ "violence-bloodshed", MCT_APP_FILTER_OARS_VALUE_INTENSE, 18 }, +{ "violence-sexual", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "violence-sexual", MCT_APP_FILTER_OARS_VALUE_INTENSE, 18 }, +{ "drugs-alcohol", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "drugs-alcohol", MCT_APP_FILTER_OARS_VALUE_MILD, 11 }, +{ "drugs-alcohol", MCT_APP_FILTER_OARS_VALUE_MODERATE, 13 }, +{ "drugs-narcotics", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "drugs-narcotics", MCT_APP_FILTER_OARS_VALUE_MILD, 12 }, +{ "drugs-narcotics", MCT_APP_FILTER_OARS_VALUE_MODERATE, 14 }, +{ "drugs-tobacco", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "drugs-tobacco", MCT_APP_FILTER_OARS_VALUE_MILD, 10 }, +{ "drugs-tobacco", MCT_APP_FILTER_OARS_VALUE_MODERATE, 13 }, +{ "sex-nudity", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "sex-nudity", MCT_APP_FILTER_OARS_VALUE_MILD, 12 }, +{ "sex-nudity", MCT_APP_FILTER_OARS_VALUE_MODERATE, 14 }, +{ "sex-themes", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "sex-themes", MCT_APP_FILTER_OARS_VALUE_MILD, 13 }, +{ "sex-themes", MCT_APP_FILTER_OARS_VALUE_MODERATE, 14 }, +{ "sex-themes", MCT_APP_FILTER_OARS_VALUE_INTENSE, 15 }, +{ "language-profanity", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "language-profanity", MCT_APP_FILTER_OARS_VALUE_MILD, 8 }, +{ "language-profanity", MCT_APP_FILTER_OARS_VALUE_MODERATE, 11 }, +{ "language-profanity", MCT_APP_FILTER_OARS_VALUE_INTENSE, 14 }, +{ "language-humor", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "language-humor", MCT_APP_FILTER_OARS_VALUE_MILD, 3 }, +{ "language-humor", MCT_APP_FILTER_OARS_VALUE_MODERATE, 8 }, +{ "language-humor", MCT_APP_FILTER_OARS_VALUE_INTENSE, 14 }, +{ "language-discrimination", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "language-discrimination", MCT_APP_FILTER_OARS_VALUE_MILD, 9 }, +{ "language-discrimination", MCT_APP_FILTER_OARS_VALUE_MODERATE,10 }, +{ "language-discrimination", MCT_APP_FILTER_OARS_VALUE_INTENSE, 11 }, +{ "money-advertising", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "money-advertising", MCT_APP_FILTER_OARS_VALUE_MILD, 7 }, +{ "money-advertising", MCT_APP_FILTER_OARS_VALUE_MODERATE, 8 }, +{ "money-advertising", MCT_APP_FILTER_OARS_VALUE_INTENSE, 10 }, +{ "money-gambling", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "money-gambling", MCT_APP_FILTER_OARS_VALUE_MILD, 7 }, +{ "money-gambling", MCT_APP_FILTER_OARS_VALUE_MODERATE, 10 }, +{ "money-gambling", MCT_APP_FILTER_OARS_VALUE_INTENSE, 18 }, +{ "money-purchasing", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "money-purchasing", MCT_APP_FILTER_OARS_VALUE_INTENSE, 15 }, +{ "social-chat", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "social-chat", MCT_APP_FILTER_OARS_VALUE_MILD, 4 }, +{ "social-chat", MCT_APP_FILTER_OARS_VALUE_MODERATE, 10 }, +{ "social-chat", MCT_APP_FILTER_OARS_VALUE_INTENSE, 13 }, +{ "social-audio", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "social-audio", MCT_APP_FILTER_OARS_VALUE_INTENSE, 15 }, +{ "social-contacts", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "social-contacts", MCT_APP_FILTER_OARS_VALUE_INTENSE, 12 }, +{ "social-info", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "social-info", MCT_APP_FILTER_OARS_VALUE_INTENSE, 13 }, +{ "social-location", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "social-location", MCT_APP_FILTER_OARS_VALUE_INTENSE, 13 }, +/* v1.1 additions */ +{ "social-info", MCT_APP_FILTER_OARS_VALUE_MILD, 0 }, +{ "social-info", MCT_APP_FILTER_OARS_VALUE_MODERATE, 13 }, +{ "money-purchasing", MCT_APP_FILTER_OARS_VALUE_MILD, 12 }, +{ "social-chat", MCT_APP_FILTER_OARS_VALUE_MODERATE, 14 }, +{ "sex-homosexuality", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "sex-homosexuality", MCT_APP_FILTER_OARS_VALUE_MILD, 10 }, +{ "sex-homosexuality", MCT_APP_FILTER_OARS_VALUE_MODERATE, 13 }, +{ "sex-homosexuality", MCT_APP_FILTER_OARS_VALUE_INTENSE, 18 }, +{ "sex-prostitution", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "sex-prostitution", MCT_APP_FILTER_OARS_VALUE_MILD, 12 }, +{ "sex-prostitution", MCT_APP_FILTER_OARS_VALUE_MODERATE, 14 }, +{ "sex-prostitution", MCT_APP_FILTER_OARS_VALUE_INTENSE, 18 }, +{ "sex-adultery", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "sex-adultery", MCT_APP_FILTER_OARS_VALUE_MILD, 8 }, +{ "sex-adultery", MCT_APP_FILTER_OARS_VALUE_MODERATE, 10 }, +{ "sex-adultery", MCT_APP_FILTER_OARS_VALUE_INTENSE, 18 }, +{ "sex-appearance", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "sex-appearance", MCT_APP_FILTER_OARS_VALUE_MODERATE, 10 }, +{ "sex-appearance", MCT_APP_FILTER_OARS_VALUE_INTENSE, 15 }, +{ "violence-worship", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "violence-worship", MCT_APP_FILTER_OARS_VALUE_MILD, 13 }, +{ "violence-worship", MCT_APP_FILTER_OARS_VALUE_MODERATE, 15 }, +{ "violence-worship", MCT_APP_FILTER_OARS_VALUE_INTENSE, 18 }, +{ "violence-desecration", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "violence-desecration", MCT_APP_FILTER_OARS_VALUE_MILD, 13 }, +{ "violence-desecration", MCT_APP_FILTER_OARS_VALUE_MODERATE, 15 }, +{ "violence-desecration", MCT_APP_FILTER_OARS_VALUE_INTENSE, 18 }, +{ "violence-slavery", MCT_APP_FILTER_OARS_VALUE_NONE, 0 }, +{ "violence-slavery", MCT_APP_FILTER_OARS_VALUE_MILD, 13 }, +{ "violence-slavery", MCT_APP_FILTER_OARS_VALUE_MODERATE, 15 }, +{ "violence-slavery", MCT_APP_FILTER_OARS_VALUE_INTENSE, 18 }, + +/* EOS customisation to add at least one CSM ↔ OARS mapping for ages 16 and 17, + * as these are used in many locale-specific ratings systems. Without them, + * mapping (e.g.) OFLCNZ R16 → CSM 16 → OARS → CSM gives CSM 15, which then maps + * back to OFLCNZ R15, which is not what we want. The addition of these two + * mappings should not expose younger users to content they would not have seen + * with the default upstream mappings; it instead slightly raises the age at + * which users are allowed to see intense content in these two categories. + * + * See https://phabricator.endlessm.com/T23897#666769. */ +{ "drugs-alcohol", MCT_APP_FILTER_OARS_VALUE_INTENSE, 16 }, +{ "drugs-narcotics", MCT_APP_FILTER_OARS_VALUE_INTENSE, 17 }, +{ NULL, 0, 0 } }; + +/** + * as_content_rating_id_value_to_csm_age: + * @id: the subsection ID e.g. "violence-cartoon" + * @value: the #AsContentRatingValue, e.g. %MCT_APP_FILTER_OARS_VALUE_INTENSE + * + * Gets the Common Sense Media approved age for a specific rating level. + * + * Returns: The age in years, or 0 for no details. + * + * Since: 0.5.12 + **/ +guint +as_content_rating_id_value_to_csm_age (const gchar *id, MctAppFilterOarsValue value) +{ + guint i; + for (i = 0; id_to_csm_age[i].id != NULL; i++) { + if (value == id_to_csm_age[i].value && + g_strcmp0 (id, id_to_csm_age[i].id) == 0) + return id_to_csm_age[i].csm_age; + } + return 0; +} + +/** + * as_content_rating_id_csm_age_to_value: + * @id: the subsection ID e.g. "violence-cartoon" + * @age: the age + * + * Gets the #MctAppFilterOarsValue for a given age. + * + * Returns: the #MctAppFilterOarsValue + **/ +MctAppFilterOarsValue +as_content_rating_id_csm_age_to_value (const gchar *id, guint age) +{ + MctAppFilterOarsValue value; + guint i; + + value = MCT_APP_FILTER_OARS_VALUE_UNKNOWN; + + for (i = 0; id_to_csm_age[i].id != NULL; i++) { + if (age >= id_to_csm_age[i].csm_age && + g_strcmp0 (id, id_to_csm_age[i].id) == 0) + value = MAX (value, id_to_csm_age[i].value); + } + return value; +} diff --git a/libmalcontent-ui/gs-content-rating.h b/libmalcontent-ui/gs-content-rating.h new file mode 100644 index 0000000..6a111ae --- /dev/null +++ b/libmalcontent-ui/gs-content-rating.h @@ -0,0 +1,61 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2015-2016 Richard Hughes + * + * Licensed under the GNU General Public License Version 2 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#pragma once + +G_BEGIN_DECLS + +#include +#include + +typedef enum { + GS_CONTENT_RATING_SYSTEM_UNKNOWN, + GS_CONTENT_RATING_SYSTEM_INCAA, + GS_CONTENT_RATING_SYSTEM_ACB, + GS_CONTENT_RATING_SYSTEM_DJCTQ, + GS_CONTENT_RATING_SYSTEM_GSRR, + GS_CONTENT_RATING_SYSTEM_PEGI, + GS_CONTENT_RATING_SYSTEM_KAVI, + GS_CONTENT_RATING_SYSTEM_USK, + GS_CONTENT_RATING_SYSTEM_ESRA, + GS_CONTENT_RATING_SYSTEM_CERO, + GS_CONTENT_RATING_SYSTEM_OFLCNZ, + GS_CONTENT_RATING_SYSTEM_RUSSIA, + GS_CONTENT_RATING_SYSTEM_MDA, + GS_CONTENT_RATING_SYSTEM_GRAC, + GS_CONTENT_RATING_SYSTEM_ESRB, + GS_CONTENT_RATING_SYSTEM_IARC, + /*< private >*/ + GS_CONTENT_RATING_SYSTEM_LAST +} GsContentRatingSystem; + +const gchar *gs_utils_content_rating_age_to_str (GsContentRatingSystem system, + guint age); +GsContentRatingSystem gs_utils_content_rating_system_from_locale (const gchar *locale); +const gchar *gs_content_rating_key_value_to_str (const gchar *id, + MctAppFilterOarsValue value); +const gchar *gs_content_rating_system_to_str (GsContentRatingSystem system); +const gchar * const *gs_utils_content_rating_get_values (GsContentRatingSystem system); +const guint *gs_utils_content_rating_get_ages (GsContentRatingSystem system); +guint as_content_rating_id_value_to_csm_age (const gchar *id, MctAppFilterOarsValue value); +MctAppFilterOarsValue as_content_rating_id_csm_age_to_value (const gchar *id, guint age); + +G_END_DECLS diff --git a/libmalcontent-ui/malcontent-ui.gresource.xml b/libmalcontent-ui/malcontent-ui.gresource.xml index 089d8a5..cbdaa9f 100644 --- a/libmalcontent-ui/malcontent-ui.gresource.xml +++ b/libmalcontent-ui/malcontent-ui.gresource.xml @@ -4,7 +4,6 @@ restrict-applications-dialog.ui restrict-applications-selector.ui - restricts-switch.css user-controls.ui diff --git a/libmalcontent-ui/meson.build b/libmalcontent-ui/meson.build index 533aa71..06208a3 100644 --- a/libmalcontent-ui/meson.build +++ b/libmalcontent-ui/meson.build @@ -1,4 +1,4 @@ -libmalcontent_ui_api_version = '1' +libmalcontent_ui_api_version = '0' libmalcontent_ui_api_name = 'malcontent-ui-' + libmalcontent_ui_api_version if not cc.has_function('atexit') @@ -8,10 +8,11 @@ endif resources = gnome.compile_resources( 'resources', 'malcontent-ui.gresource.xml', - source_dir: meson.current_source_dir(), + source_dir: meson.source_root(), ) libmalcontent_ui_sources = [ + 'gs-content-rating.c', 'restrict-applications-dialog.c', 'restrict-applications-selector.c', 'user-controls.c', @@ -22,18 +23,19 @@ libmalcontent_ui_headers = [ 'restrict-applications-selector.h', 'user-controls.h', ] +libmalcontent_ui_private_headers = [ + 'gs-content-rating.h', +] libmalcontent_ui_public_deps = [ dependency('accountsservice', version: '>= 0.6.39'), dependency('gio-2.0', version: '>= 2.44'), dependency('glib-2.0', version: '>= 2.54.2'), dependency('gobject-2.0', version: '>= 2.54'), - gtk_dep, - libadwaita_dep, + dependency('gtk+-3.0', version: '>= 3.24'), libmalcontent_dep, ] libmalcontent_ui_private_deps = [ - dependency('appstream', version: '>= 0.12.10'), dependency('flatpak'), ] @@ -41,7 +43,7 @@ libmalcontent_ui_private_deps = [ libmalcontent_ui_include_subdir = join_paths(libmalcontent_ui_api_name, 'libmalcontent-ui') libmalcontent_ui = library(libmalcontent_ui_api_name, - libmalcontent_ui_sources + libmalcontent_ui_headers, + libmalcontent_ui_sources + libmalcontent_ui_headers + libmalcontent_ui_private_headers, dependencies: libmalcontent_ui_public_deps + libmalcontent_ui_private_deps, include_directories: root_inc, install: true, @@ -68,26 +70,26 @@ pkgconfig.generate(libmalcontent_ui, libraries_private: libmalcontent_ui_private_deps, ) -libmalcontent_ui_gir = gnome.generate_gir(libmalcontent_ui, - sources: libmalcontent_ui_sources + libmalcontent_ui_headers, +gnome.generate_gir(libmalcontent_ui, + sources: libmalcontent_ui_sources + libmalcontent_ui_headers + libmalcontent_ui_private_headers, nsversion: libmalcontent_ui_api_version, namespace: 'MalcontentUi', symbol_prefix: 'mct_', identifier_prefix: 'Mct', export_packages: 'libmalcontent-ui', - includes: ['AccountsService-1.0', 'Gio-2.0', 'GObject-2.0', 'Gtk-4.0', 'Adw-1', libmalcontent_gir[0]], + includes: ['AccountsService-1.0', 'Gio-2.0', 'GObject-2.0', 'Gtk-3.0'], install: true, dependencies: libmalcontent_ui_dep, ) xmllint = find_program('xmllint', required: false) if xmllint.found() - gtk_prefix = gtk_dep.get_variable(pkgconfig: 'prefix') + gtk_prefix = dependency('gtk+-3.0').get_pkgconfig_variable('prefix') test( 'validate-ui', xmllint, args: [ '--nonet', '--noblanks', '--noout', - '--relaxng', join_paths(gtk_prefix, 'share', 'gtk-4.0', 'gtk4builder.rng'), + '--relaxng', join_paths(gtk_prefix, 'share', 'gtk-3.0', 'gtkbuilder.rng'), files( 'restrict-applications-dialog.ui', 'restrict-applications-selector.ui', diff --git a/libmalcontent-ui/restrict-applications-dialog.c b/libmalcontent-ui/restrict-applications-dialog.c index d09b0cb..98f663a 100644 --- a/libmalcontent-ui/restrict-applications-dialog.c +++ b/libmalcontent-ui/restrict-applications-dialog.c @@ -19,14 +19,12 @@ * - Philip Withnall */ -#include "config.h" - +#include #include #include #include -#include +#include #include -#include #include "restrict-applications-dialog.h" #include "restrict-applications-selector.h" @@ -54,28 +52,21 @@ struct _MctRestrictApplicationsDialog GtkDialog parent_instance; MctRestrictApplicationsSelector *selector; - AdwPreferencesGroup *group; - GtkSearchEntry *search_entry; + GtkLabel *description; MctAppFilter *app_filter; /* (owned) (not nullable) */ - gchar *user_display_name; /* (owned) (nullable) */ + ActUser *user; /* (owned) (nullable) */ }; -static void search_entry_stop_search_cb (GtkSearchEntry *search_entry, - gpointer user_data); -static gboolean focus_search_cb (GtkWidget *widget, - GVariant *arguments, - gpointer user_data); - -G_DEFINE_TYPE (MctRestrictApplicationsDialog, mct_restrict_applications_dialog, ADW_TYPE_PREFERENCES_WINDOW) +G_DEFINE_TYPE (MctRestrictApplicationsDialog, mct_restrict_applications_dialog, GTK_TYPE_DIALOG) typedef enum { PROP_APP_FILTER = 1, - PROP_USER_DISPLAY_NAME, + PROP_USER, } MctRestrictApplicationsDialogProperty; -static GParamSpec *properties[PROP_USER_DISPLAY_NAME + 1]; +static GParamSpec *properties[PROP_USER + 1]; static void mct_restrict_applications_dialog_constructed (GObject *obj) @@ -83,9 +74,7 @@ mct_restrict_applications_dialog_constructed (GObject *obj) MctRestrictApplicationsDialog *self = MCT_RESTRICT_APPLICATIONS_DIALOG (obj); g_assert (self->app_filter != NULL); - g_assert (self->user_display_name == NULL || - (*self->user_display_name != '\0' && - g_utf8_validate (self->user_display_name, -1, NULL))); + g_assert (self->user == NULL || ACT_IS_USER (self->user)); G_OBJECT_CLASS (mct_restrict_applications_dialog_parent_class)->constructed (obj); } @@ -104,8 +93,8 @@ mct_restrict_applications_dialog_get_property (GObject *object, g_value_set_boxed (value, self->app_filter); break; - case PROP_USER_DISPLAY_NAME: - g_value_set_string (value, self->user_display_name); + case PROP_USER: + g_value_set_object (value, self->user); break; default: @@ -127,8 +116,8 @@ mct_restrict_applications_dialog_set_property (GObject *object, mct_restrict_applications_dialog_set_app_filter (self, g_value_get_boxed (value)); break; - case PROP_USER_DISPLAY_NAME: - mct_restrict_applications_dialog_set_user_display_name (self, g_value_get_string (value)); + case PROP_USER: + mct_restrict_applications_dialog_set_user (self, g_value_get_object (value)); break; default: @@ -142,24 +131,11 @@ mct_restrict_applications_dialog_dispose (GObject *object) MctRestrictApplicationsDialog *self = (MctRestrictApplicationsDialog *)object; g_clear_pointer (&self->app_filter, mct_app_filter_unref); - g_clear_pointer (&self->user_display_name, g_free); + g_clear_object (&self->user); G_OBJECT_CLASS (mct_restrict_applications_dialog_parent_class)->dispose (object); } -static void -mct_restrict_applications_dialog_map (GtkWidget *widget) -{ - MctRestrictApplicationsDialog *self = (MctRestrictApplicationsDialog *)widget; - - GTK_WIDGET_CLASS (mct_restrict_applications_dialog_parent_class)->map (widget); - - /* Clear and focus the search entry, in case the dialogue is being shown for - * a second time. */ - gtk_editable_set_text (GTK_EDITABLE (self->search_entry), ""); - gtk_widget_grab_focus (GTK_WIDGET (self->search_entry)); -} - static void mct_restrict_applications_dialog_class_init (MctRestrictApplicationsDialogClass *klass) { @@ -171,8 +147,6 @@ mct_restrict_applications_dialog_class_init (MctRestrictApplicationsDialogClass object_class->set_property = mct_restrict_applications_dialog_set_property; object_class->dispose = mct_restrict_applications_dialog_dispose; - widget_class->map = mct_restrict_applications_dialog_map; - /** * MctRestrictApplicationsDialog:app-filter: (not nullable) * @@ -194,22 +168,19 @@ mct_restrict_applications_dialog_class_init (MctRestrictApplicationsDialogClass G_PARAM_EXPLICIT_NOTIFY); /** - * MctRestrictApplicationsDialog:user-display-name: (nullable) + * MctRestrictApplicationsDialog:user: (nullable) * - * The display name for the currently selected user account, or %NULL if no - * user is selected. This will typically be the user’s full name (if known) - * or their username. - * - * If set, it must be valid UTF-8 and non-empty. + * The currently selected user account, or %NULL if no user is selected. * * Since: 0.5.0 */ - properties[PROP_USER_DISPLAY_NAME] = - g_param_spec_string ("user-display-name", - "User Display Name", - "The display name for the currently selected user account, or %NULL if no user is selected.", - NULL, + properties[PROP_USER] = + g_param_spec_object ("user", + "User", + "The currently selected user account, or %NULL if no user is selected.", + ACT_TYPE_USER, G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); @@ -218,16 +189,7 @@ mct_restrict_applications_dialog_class_init (MctRestrictApplicationsDialogClass gtk_widget_class_set_template_from_resource (widget_class, "/org/freedesktop/MalcontentUi/ui/restrict-applications-dialog.ui"); gtk_widget_class_bind_template_child (widget_class, MctRestrictApplicationsDialog, selector); - gtk_widget_class_bind_template_child (widget_class, MctRestrictApplicationsDialog, group); - gtk_widget_class_bind_template_child (widget_class, MctRestrictApplicationsDialog, search_entry); - - gtk_widget_class_bind_template_callback (widget_class, search_entry_stop_search_cb); - - gtk_widget_class_add_binding (widget_class, - GDK_KEY_f, GDK_CONTROL_MASK, - focus_search_cb, - NULL); - + gtk_widget_class_bind_template_child (widget_class, MctRestrictApplicationsDialog, description); } static void @@ -237,8 +199,25 @@ mct_restrict_applications_dialog_init (MctRestrictApplicationsDialog *self) g_type_ensure (MCT_TYPE_RESTRICT_APPLICATIONS_SELECTOR); gtk_widget_init_template (GTK_WIDGET (self)); +} - gtk_search_entry_set_key_capture_widget (self->search_entry, GTK_WIDGET (self)); +static const gchar * +get_user_display_name (ActUser *user) +{ + const gchar *display_name; + + g_return_val_if_fail (ACT_IS_USER (user), _("unknown")); + + display_name = act_user_get_real_name (user); + if (display_name != NULL) + return display_name; + + display_name = act_user_get_user_name (user); + if (display_name != NULL) + return display_name; + + /* Translators: this is the full name for an unknown user account. */ + return _("unknown"); } static void @@ -246,42 +225,23 @@ update_description (MctRestrictApplicationsDialog *self) { g_autofree gchar *description = NULL; - if (self->user_display_name == NULL) + if (self->user == NULL) { - adw_preferences_group_set_description (self->group, NULL); + gtk_widget_hide (GTK_WIDGET (self->description)); return; } /* Translators: the placeholder is a user’s full name */ - description = g_strdup_printf (_("Restrict %s from using the following installed applications."), - self->user_display_name); - adw_preferences_group_set_description (self->group, description); -} - -static void -search_entry_stop_search_cb (GtkSearchEntry *search_entry, - gpointer user_data) -{ - /* Clear the search text as the search filtering is bound to that. */ - gtk_editable_set_text (GTK_EDITABLE (search_entry), ""); -} - -static gboolean -focus_search_cb (GtkWidget *widget, - GVariant *arguments, - gpointer user_data) -{ - MctRestrictApplicationsDialog *self = MCT_RESTRICT_APPLICATIONS_DIALOG (widget); - - gtk_widget_grab_focus (GTK_WIDGET (self->search_entry)); - return TRUE; + description = g_strdup_printf (_("Allow %s to use the following installed applications."), + get_user_display_name (self->user)); + gtk_label_set_text (self->description, description); + gtk_widget_show (GTK_WIDGET (self->description)); } /** * mct_restrict_applications_dialog_new: * @app_filter: (transfer none): the initial app filter configuration to show - * @user_display_name: (transfer none) (nullable): the display name of the user - * to show the app filter for, or %NULL if no user is selected + * @user: (transfer none) (nullable): the user to show the app filter for * * Create a new #MctRestrictApplicationsDialog widget. * @@ -290,16 +250,14 @@ focus_search_cb (GtkWidget *widget, */ MctRestrictApplicationsDialog * mct_restrict_applications_dialog_new (MctAppFilter *app_filter, - const gchar *user_display_name) + ActUser *user) { g_return_val_if_fail (app_filter != NULL, NULL); - g_return_val_if_fail (user_display_name == NULL || - (*user_display_name != '\0' && - g_utf8_validate (user_display_name, -1, NULL)), NULL); + g_return_val_if_fail (user == NULL || ACT_IS_USER (user), NULL); return g_object_new (MCT_TYPE_RESTRICT_APPLICATIONS_DIALOG, "app-filter", app_filter, - "user-display-name", user_display_name, + "user", user, NULL); } @@ -360,50 +318,45 @@ mct_restrict_applications_dialog_set_app_filter (MctRestrictApplicationsDialog * } /** - * mct_restrict_applications_dialog_get_user_display_name: + * mct_restrict_applications_dialog_get_user: * @self: an #MctRestrictApplicationsDialog * - * Get the value of #MctRestrictApplicationsDialog:user-display-name. + * Get the value of #MctRestrictApplicationsDialog:user. * - * Returns: (transfer none) (nullable): the display name of the user the dialog - * is configured for, or %NULL if unknown + * Returns: (transfer none) (nullable): the user the dialog is configured for, + * or %NULL if unknown * Since: 0.5.0 */ -const gchar * -mct_restrict_applications_dialog_get_user_display_name (MctRestrictApplicationsDialog *self) +ActUser * +mct_restrict_applications_dialog_get_user (MctRestrictApplicationsDialog *self) { g_return_val_if_fail (MCT_IS_RESTRICT_APPLICATIONS_DIALOG (self), NULL); - return self->user_display_name; + return self->user; } /** - * mct_restrict_applications_dialog_set_user_display_name: + * mct_restrict_applications_dialog_set_user: * @self: an #MctRestrictApplicationsDialog - * @user_display_name: (nullable) (transfer none): the display name of the user - * to configure the dialog for, or %NULL if unknown + * @user: (nullable) (transfer none): the user to configure the dialog for, + * or %NULL if unknown * - * Set the value of #MctRestrictApplicationsDialog:user-display-name. + * Set the value of #MctRestrictApplicationsDialog:user. * * Since: 0.5.0 */ void -mct_restrict_applications_dialog_set_user_display_name (MctRestrictApplicationsDialog *self, - const gchar *user_display_name) +mct_restrict_applications_dialog_set_user (MctRestrictApplicationsDialog *self, + ActUser *user) { g_return_if_fail (MCT_IS_RESTRICT_APPLICATIONS_DIALOG (self)); - g_return_if_fail (user_display_name == NULL || - (*user_display_name != '\0' && - g_utf8_validate (user_display_name, -1, NULL))); + g_return_if_fail (user == NULL || ACT_IS_USER (user)); - if (g_strcmp0 (self->user_display_name, user_display_name) == 0) - return; - - g_clear_pointer (&self->user_display_name, g_free); - self->user_display_name = g_strdup (user_display_name); - - update_description (self); - g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_USER_DISPLAY_NAME]); + if (g_set_object (&self->user, user)) + { + update_description (self); + g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_USER]); + } } /** diff --git a/libmalcontent-ui/restrict-applications-dialog.h b/libmalcontent-ui/restrict-applications-dialog.h index e59c006..b4a5ed3 100644 --- a/libmalcontent-ui/restrict-applications-dialog.h +++ b/libmalcontent-ui/restrict-applications-dialog.h @@ -21,28 +21,28 @@ #pragma once +#include #include #include #include -#include #include G_BEGIN_DECLS #define MCT_TYPE_RESTRICT_APPLICATIONS_DIALOG (mct_restrict_applications_dialog_get_type ()) -G_DECLARE_FINAL_TYPE (MctRestrictApplicationsDialog, mct_restrict_applications_dialog, MCT, RESTRICT_APPLICATIONS_DIALOG, AdwPreferencesWindow) +G_DECLARE_FINAL_TYPE (MctRestrictApplicationsDialog, mct_restrict_applications_dialog, MCT, RESTRICT_APPLICATIONS_DIALOG, GtkDialog) MctRestrictApplicationsDialog *mct_restrict_applications_dialog_new (MctAppFilter *app_filter, - const gchar *user_display_name); + ActUser *user); MctAppFilter *mct_restrict_applications_dialog_get_app_filter (MctRestrictApplicationsDialog *self); void mct_restrict_applications_dialog_set_app_filter (MctRestrictApplicationsDialog *self, MctAppFilter *app_filter); -const gchar *mct_restrict_applications_dialog_get_user_display_name (MctRestrictApplicationsDialog *self); -void mct_restrict_applications_dialog_set_user_display_name (MctRestrictApplicationsDialog *self, - const gchar *user_display_name); +ActUser *mct_restrict_applications_dialog_get_user (MctRestrictApplicationsDialog *self); +void mct_restrict_applications_dialog_set_user (MctRestrictApplicationsDialog *self, + ActUser *user); void mct_restrict_applications_dialog_build_app_filter (MctRestrictApplicationsDialog *self, MctAppFilterBuilder *builder); diff --git a/libmalcontent-ui/restrict-applications-dialog.ui b/libmalcontent-ui/restrict-applications-dialog.ui index 744d3a5..e95ff36 100644 --- a/libmalcontent-ui/restrict-applications-dialog.ui +++ b/libmalcontent-ui/restrict-applications-dialog.ui @@ -1,38 +1,56 @@ - + -