mirror of
https://github.com/nextcloud/server.git
synced 2026-04-15 22:11:17 -04:00
Merge branch 'master' into imountpoint-ocp-storage
This commit is contained in:
commit
e673ec0b87
6242 changed files with 157787 additions and 60901 deletions
|
|
@ -22,7 +22,10 @@ RUN apt-get install --no-install-recommends -y \
|
|||
libmagickcore-6.q16-3-extra \
|
||||
curl \
|
||||
vim \
|
||||
lsof
|
||||
lsof \
|
||||
make \
|
||||
nodejs \
|
||||
npm
|
||||
|
||||
RUN echo "xdebug.remote_enable = 1" >> /etc/php/7.4/cli/conf.d/20-xdebug.ini
|
||||
RUN echo "xdebug.remote_autostart = 1" >> /etc/php/7.4/cli/conf.d/20-xdebug.ini
|
||||
|
|
|
|||
436
.drone.yml
436
.drone.yml
File diff suppressed because it is too large
Load diff
|
|
@ -8,10 +8,13 @@ module.exports = {
|
|||
escapeHTML: true,
|
||||
oc_userconfig: true,
|
||||
dayNames: true,
|
||||
firstDay: true
|
||||
firstDay: true,
|
||||
},
|
||||
extends: ['@nextcloud'],
|
||||
rules: {
|
||||
'no-tabs': 'warn',
|
||||
}
|
||||
// TODO: make sure we fix this as this is bad vue coding style.
|
||||
// Use proper sync modifier
|
||||
'vue/no-mutating-props': 'warn',
|
||||
},
|
||||
}
|
||||
|
|
|
|||
2
.gitattributes
vendored
2
.gitattributes
vendored
|
|
@ -7,6 +7,8 @@
|
|||
/apps/comments/js/*.js.map binary
|
||||
/apps/dashboard/js/*.js binary
|
||||
/apps/dashboard/js/*.js.map binary
|
||||
/apps/dav/js/*.js binary
|
||||
/apps/dav/js/*.js.map binary
|
||||
/apps/files/js/dist/*.js binary
|
||||
/apps/files/js/dist/*.js.map binary
|
||||
/apps/files_sharing/js/dist/*.js binary
|
||||
|
|
|
|||
6
.github/ISSUE_TEMPLATE/config.yml
vendored
6
.github/ISSUE_TEMPLATE/config.yml
vendored
|
|
@ -1,8 +1,8 @@
|
|||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: ❓ Question
|
||||
- name: ❓ Community Support and Help
|
||||
url: https://help.nextcloud.com/
|
||||
about: I have a question …
|
||||
about: Configuration, webserver/proxy or performance issues and other questions
|
||||
- name: 💼 Nextcloud Enterprise
|
||||
url: https://portal.nextcloud.com/
|
||||
about: If you are a customer and are using Nextcloud Enterprise, please submit your issue directly in the Nextcloud Portal so it can be resolved by our dedicated engineers more quickly.
|
||||
about: If you are a Nextcloud Enterprise customer, or need Professional support, so it can be resolved directly by our dedicated engineers more quickly
|
||||
|
|
|
|||
165
.github/dependabot.yml
vendored
Normal file
165
.github/dependabot.yml
vendored
Normal file
|
|
@ -0,0 +1,165 @@
|
|||
version: 2
|
||||
updates:
|
||||
# Linting and coding style
|
||||
- package-ecosystem: composer
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: saturday
|
||||
time: "03:00"
|
||||
timezone: Europe/Paris
|
||||
labels:
|
||||
- "3. to review"
|
||||
- "feature: dependencies"
|
||||
reviewers:
|
||||
- "nextcloud/server-dependabot"
|
||||
|
||||
# Main master npm
|
||||
- package-ecosystem: npm
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: saturday
|
||||
time: "03:00"
|
||||
timezone: Europe/Paris
|
||||
open-pull-requests-limit: 10
|
||||
labels:
|
||||
- "3. to review"
|
||||
- "feature: dependencies"
|
||||
reviewers:
|
||||
- "nextcloud/server-dependabot"
|
||||
|
||||
# Testing master npm
|
||||
- package-ecosystem: npm
|
||||
directory: "/build"
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: saturday
|
||||
time: "03:00"
|
||||
timezone: Europe/Paris
|
||||
labels:
|
||||
- "3. to review"
|
||||
- "feature: dependencies"
|
||||
|
||||
# Testing master composer
|
||||
- package-ecosystem: composer
|
||||
directory: "/build/integration"
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: saturday
|
||||
time: "03:00"
|
||||
timezone: Europe/Paris
|
||||
labels:
|
||||
- "3. to review"
|
||||
- "feature: dependencies"
|
||||
|
||||
|
||||
# Main stableXX npm
|
||||
- package-ecosystem: npm
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: saturday
|
||||
time: "03:00"
|
||||
timezone: Europe/Paris
|
||||
target-branch: stable20
|
||||
labels:
|
||||
- "3. to review"
|
||||
- "feature: dependencies"
|
||||
reviewers:
|
||||
- "nextcloud/server-dependabot"
|
||||
ignore:
|
||||
# ignore all GitHub linguist patch updates
|
||||
- dependency-name: "*"
|
||||
update-types: ["version-update:semver-major", "version-update:semver-minor"]
|
||||
|
||||
- package-ecosystem: npm
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: saturday
|
||||
time: "03:00"
|
||||
timezone: Europe/Paris
|
||||
target-branch: stable21
|
||||
labels:
|
||||
- "3. to review"
|
||||
- "feature: dependencies"
|
||||
reviewers:
|
||||
- "nextcloud/server-dependabot"
|
||||
ignore:
|
||||
# ignore all GitHub linguist patch updates
|
||||
- dependency-name: "*"
|
||||
update-types: ["version-update:semver-major", "version-update:semver-minor"]
|
||||
|
||||
- package-ecosystem: npm
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: saturday
|
||||
time: "03:00"
|
||||
timezone: Europe/Paris
|
||||
target-branch: stable22
|
||||
labels:
|
||||
- "3. to review"
|
||||
- "feature: dependencies"
|
||||
reviewers:
|
||||
- "nextcloud/server-dependabot"
|
||||
ignore:
|
||||
# ignore all GitHub linguist patch updates
|
||||
- dependency-name: "*"
|
||||
update-types: ["version-update:semver-major", "version-update:semver-minor"]
|
||||
|
||||
# Testing StableXX composer
|
||||
- package-ecosystem: composer
|
||||
directory: "/build/integration"
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: saturday
|
||||
time: "03:00"
|
||||
timezone: Europe/Paris
|
||||
target-branch: stable20
|
||||
labels:
|
||||
- "3. to review"
|
||||
- "feature: dependencies"
|
||||
reviewers:
|
||||
- "nextcloud/server-dependabot"
|
||||
ignore:
|
||||
# ignore all GitHub linguist patch updates
|
||||
- dependency-name: "*"
|
||||
update-types: ["version-update:semver-major", "version-update:semver-minor"]
|
||||
|
||||
- package-ecosystem: composer
|
||||
directory: "/build/integration"
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: saturday
|
||||
time: "03:00"
|
||||
timezone: Europe/Paris
|
||||
target-branch: stable21
|
||||
labels:
|
||||
- "3. to review"
|
||||
- "feature: dependencies"
|
||||
reviewers:
|
||||
- "nextcloud/server-dependabot"
|
||||
ignore:
|
||||
# ignore all GitHub linguist patch updates
|
||||
- dependency-name: "*"
|
||||
update-types: ["version-update:semver-major", "version-update:semver-minor"]
|
||||
|
||||
- package-ecosystem: composer
|
||||
directory: "/build/integration"
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: saturday
|
||||
time: "03:00"
|
||||
timezone: Europe/Paris
|
||||
target-branch: stable22
|
||||
labels:
|
||||
- "3. to review"
|
||||
- "feature: dependencies"
|
||||
reviewers:
|
||||
- "nextcloud/server-dependabot"
|
||||
ignore:
|
||||
# ignore all GitHub linguist patch updates
|
||||
- dependency-name: "*"
|
||||
update-types: ["version-update:semver-major", "version-update:semver-minor"]
|
||||
117
.github/workflows/command-compile.yml
vendored
Normal file
117
.github/workflows/command-compile.yml
vendored
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
name: Compile Command
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
init:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
# On pull requests and if the comment starts with `/compile`
|
||||
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/compile')
|
||||
|
||||
outputs:
|
||||
git_path: ${{ steps.git-path.outputs.path }}
|
||||
arg1: ${{ steps.command.outputs.arg1 }}
|
||||
arg2: ${{ steps.command.outputs.arg2 }}
|
||||
head_ref: ${{ steps.comment-branch.outputs.head_ref }}
|
||||
|
||||
steps:
|
||||
- name: Check actor permission
|
||||
uses: skjnldsv/check-actor-permission@v2
|
||||
with:
|
||||
require: write
|
||||
|
||||
- name: Add reaction on start
|
||||
uses: peter-evans/create-or-update-comment@v1
|
||||
with:
|
||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||
repository: ${{ github.event.repository.full_name }}
|
||||
comment-id: ${{ github.event.comment.id }}
|
||||
reaction-type: "+1"
|
||||
|
||||
- name: Parse command
|
||||
uses: skjnldsv/parse-command-comment@master
|
||||
id: command
|
||||
|
||||
# Init path depending on which command is run
|
||||
- name: Init path
|
||||
id: git-path
|
||||
run: |
|
||||
if ${{ startsWith(steps.command.outputs.arg1, '/') }}; then
|
||||
echo "::set-output name=path::${{ github.workspace }}${{steps.command.outputs.arg1}}"
|
||||
else
|
||||
echo "::set-output name=path::${{ github.workspace }}${{steps.command.outputs.arg2}}"
|
||||
fi
|
||||
|
||||
- name: Init branch
|
||||
uses: xt0rted/pull-request-comment-branch@v1
|
||||
id: comment-branch
|
||||
|
||||
process:
|
||||
runs-on: ubuntu-latest
|
||||
needs: init
|
||||
|
||||
steps:
|
||||
- name: Checkout ${{ needs.init.outputs.head_ref }}
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||
fetch-depth: 0
|
||||
ref: ${{ needs.init.outputs.head_ref }}
|
||||
|
||||
- name: Setup git
|
||||
run: |
|
||||
git config --local user.email "nextcloud-command@users.noreply.github.com"
|
||||
git config --local user.name "nextcloud-command"
|
||||
|
||||
- name: Read package.json node and npm engines version
|
||||
uses: skjnldsv/read-package-engines-version-actions@v1
|
||||
id: package-engines-versions
|
||||
with:
|
||||
fallbackNode: '^12'
|
||||
fallbackNpm: '^6'
|
||||
|
||||
- name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ steps.package-engines-versions.outputs.nodeVersion }}
|
||||
cache: npm
|
||||
|
||||
- name: Set up npm ${{ steps.package-engines-versions.outputs.npmVersion }}
|
||||
run: npm i -g npm@"${{ steps.package-engines-versions.outputs.npmVersion }}"
|
||||
|
||||
- name: Install dependencies & build
|
||||
run: |
|
||||
npm ci
|
||||
npm run build --if-present
|
||||
|
||||
- name: Commit and push default
|
||||
if: ${{ needs.init.outputs.arg1 != 'fixup' && needs.init.outputs.arg1 != 'amend' }}
|
||||
run: |
|
||||
git add ${{ needs.init.outputs.git_path }}
|
||||
git commit --signoff -m 'Compile assets'
|
||||
git push origin ${{ needs.init.outputs.head_ref }}
|
||||
|
||||
- name: Commit and push fixup
|
||||
if: ${{ needs.init.outputs.arg1 == 'fixup' }}
|
||||
run: |
|
||||
git add ${{ needs.init.outputs.git_path }}
|
||||
git commit --fixup=HEAD --signoff
|
||||
git push origin ${{ needs.init.outputs.head_ref }}
|
||||
|
||||
- name: Commit and push amend
|
||||
if: ${{ needs.init.outputs.arg1 == 'amend' }}
|
||||
run: |
|
||||
git add ${{ needs.init.outputs.git_path }}
|
||||
git commit --amend --no-edit --signoff
|
||||
git push --force origin ${{ needs.init.outputs.head_ref }}
|
||||
|
||||
- name: Add reaction on failure
|
||||
uses: peter-evans/create-or-update-comment@v1
|
||||
if: failure()
|
||||
with:
|
||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||
repository: ${{ github.event.repository.full_name }}
|
||||
comment-id: ${{ github.event.comment.id }}
|
||||
reaction-type: "-1"
|
||||
46
.github/workflows/command-rebase.yml
vendored
Normal file
46
.github/workflows/command-rebase.yml
vendored
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
# This workflow is provided via the organization template repository
|
||||
#
|
||||
# https://github.com/nextcloud/.github
|
||||
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
||||
|
||||
name: Rebase command
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: created
|
||||
|
||||
jobs:
|
||||
rebase:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
# On pull requests and if the comment starts with `/rebase`
|
||||
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/rebase')
|
||||
|
||||
steps:
|
||||
- name: Add reaction on start
|
||||
uses: peter-evans/create-or-update-comment@v1
|
||||
with:
|
||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||
repository: ${{ github.event.repository.full_name }}
|
||||
comment-id: ${{ github.event.comment.id }}
|
||||
reaction-type: "+1"
|
||||
|
||||
- name: Checkout the latest code
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||
|
||||
- name: Automatic Rebase
|
||||
uses: cirrus-actions/rebase@1.5
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
|
||||
|
||||
- name: Add reaction on failure
|
||||
uses: peter-evans/create-or-update-comment@v1
|
||||
if: failure()
|
||||
with:
|
||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||
repository: ${{ github.event.repository.full_name }}
|
||||
comment-id: ${{ github.event.comment.id }}
|
||||
reaction-type: "-1"
|
||||
26
.github/workflows/dependabot-approve-merge.yml
vendored
26
.github/workflows/dependabot-approve-merge.yml
vendored
|
|
@ -1,19 +1,29 @@
|
|||
# This workflow is provided via the organization template repository
|
||||
#
|
||||
# https://github.com/nextcloud/.github
|
||||
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
||||
|
||||
name: Dependabot
|
||||
on: pull_request
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
branches:
|
||||
- master
|
||||
- stable*
|
||||
|
||||
jobs:
|
||||
auto-merge:
|
||||
auto-approve-merge:
|
||||
if: github.actor == 'dependabot[bot]'
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
# Default github action approve
|
||||
- uses: hmarr/auto-approve-action@v2.0.0
|
||||
if: github.actor == 'dependabot[bot]' || github.actor == 'dependabot-preview[bot]'
|
||||
# Github actions bot approve
|
||||
- uses: hmarr/auto-approve-action@v2
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
# Nextcloud bot approve and merge request
|
||||
- uses: ahmadnassri/action-dependabot-auto-merge@v1
|
||||
if: github.actor == 'dependabot[bot]' || github.actor == 'dependabot-preview[bot]'
|
||||
- uses: ahmadnassri/action-dependabot-auto-merge@v2
|
||||
with:
|
||||
target: patch
|
||||
target: minor
|
||||
github-token: ${{ secrets.DEPENDABOT_AUTOMERGE_TOKEN }}
|
||||
|
|
|
|||
11
.github/workflows/fixup.yml
vendored
11
.github/workflows/fixup.yml
vendored
|
|
@ -1,13 +1,20 @@
|
|||
on: pull_request
|
||||
# This workflow is provided via the organization template repository
|
||||
#
|
||||
# https://github.com/nextcloud/.github
|
||||
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
||||
|
||||
name: Pull request checks
|
||||
|
||||
on: pull_request
|
||||
|
||||
jobs:
|
||||
commit-message-check:
|
||||
name: Block fixup and squash commits
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Run check
|
||||
uses: xt0rted/block-autosquash-commits-action@main
|
||||
uses: xt0rted/block-autosquash-commits-action@v2
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
|
|||
78
.github/workflows/ftp.yml
vendored
Normal file
78
.github/workflows/ftp.yml
vendored
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
name: FTP
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- stable*
|
||||
paths:
|
||||
- 'apps/files_external/**'
|
||||
pull_request:
|
||||
paths:
|
||||
- 'apps/files_external/**'
|
||||
|
||||
env:
|
||||
APP_NAME: files_external
|
||||
|
||||
jobs:
|
||||
ftp-tests:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
# do not stop on another job's failure
|
||||
fail-fast: false
|
||||
matrix:
|
||||
php-versions: ['7.4', '8.0']
|
||||
ftpd: ['proftpd', 'vsftpd', 'pure-ftpd']
|
||||
|
||||
name: php${{ matrix.php-versions }}-${{ matrix.ftpd }}
|
||||
|
||||
steps:
|
||||
- name: Checkout server
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Set up ftpd
|
||||
run: |
|
||||
sudo mkdir /tmp/ftp
|
||||
sudo chown -R 0777 /tmp/ftp
|
||||
if [[ "${{ matrix.ftpd }}" == 'proftpd' ]]; then docker run --name ftp -d --net host -e FTP_USERNAME=test -e FTP_PASSWORD=test -v /tmp/ftp:/home/test hauptmedia/proftpd; fi
|
||||
if [[ "${{ matrix.ftpd }}" == 'vsftpd' ]]; then docker run --name ftp -d --net host -e FTP_USER=test -e FTP_PASS=test -e PASV_ADDRESS=127.0.0.1 -v /tmp/ftp:/home/vsftpd/test fauria/vsftpd; fi
|
||||
if [[ "${{ matrix.ftpd }}" == 'pure-ftpd' ]]; then docker run --name ftp -d --net host -e "PUBLICHOST=localhost" -e FTP_USER_NAME=test -e FTP_USER_PASS=test -e FTP_USER_HOME=/home/test -v /tmp/ftp2:/home/test -v /tmp/ftp2:/etc/pure-ftpd/passwd stilliard/pure-ftpd; fi
|
||||
- name: Set up php ${{ matrix.php-versions }}
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
tools: phpunit
|
||||
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd
|
||||
|
||||
- name: Set up Nextcloud
|
||||
run: |
|
||||
mkdir data
|
||||
./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
|
||||
./occ app:enable --force ${{ env.APP_NAME }}
|
||||
php -S localhost:8080 &
|
||||
- name: smoketest ftp
|
||||
run: |
|
||||
php -r 'var_dump(file_put_contents("ftp://test:test@localhost/ftp.txt", "asd"));'
|
||||
php -r 'var_dump(file_get_contents("ftp://test:test@localhost/ftp.txt"));'
|
||||
php -r 'var_dump(mkdir("ftp://test:test@localhost/asdads"));'
|
||||
ls -l /tmp/ftp
|
||||
- name: PHPUnit
|
||||
run: |
|
||||
echo "<?php return ['run' => true,'host' => 'localhost','user' => 'test','password' => 'test', 'root' => ''];" > apps/${{ env.APP_NAME }}/tests/config.ftp.php
|
||||
phpunit --configuration tests/phpunit-autotest-external.xml apps/files_external/tests/Storage/FtpTest.php
|
||||
- name: ftpd logs
|
||||
if: always()
|
||||
run: |
|
||||
docker logs ftp
|
||||
|
||||
ftp-summary:
|
||||
runs-on: ubuntu-latest
|
||||
needs: ftp-tests
|
||||
|
||||
if: always()
|
||||
|
||||
steps:
|
||||
- name: Summary status
|
||||
run: if ${{ needs.ftp-tests.result != 'success' }}; then exit 1; fi
|
||||
44
.github/workflows/lint-eslint.yml
vendored
Normal file
44
.github/workflows/lint-eslint.yml
vendored
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
# This workflow is provided via the organization template repository
|
||||
#
|
||||
# https://github.com/nextcloud/.github
|
||||
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
||||
|
||||
name: Lint
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- stable*
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
name: eslint
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Read package.json node and npm engines version
|
||||
uses: skjnldsv/read-package-engines-version-actions@v1.1
|
||||
id: versions
|
||||
with:
|
||||
fallbackNode: '^12'
|
||||
fallbackNpm: '^6'
|
||||
|
||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||
|
||||
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
|
||||
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Lint
|
||||
run: npm run lint
|
||||
24
.github/workflows/lint.yml
vendored
24
.github/workflows/lint.yml
vendored
|
|
@ -15,6 +15,7 @@ jobs:
|
|||
uses: shivammathur/setup-php@master
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
extensions: ctype,curl,dom,fileinfo,gd,iconv,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
|
||||
coverage: none
|
||||
- name: Lint
|
||||
run: composer run lint
|
||||
|
|
@ -29,6 +30,7 @@ jobs:
|
|||
uses: shivammathur/setup-php@master
|
||||
with:
|
||||
php-version: 7.4
|
||||
extensions: ctype,curl,dom,fileinfo,gd,iconv,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
|
||||
coverage: none
|
||||
tools: cs2pr
|
||||
- name: Install dependencies
|
||||
|
|
@ -38,25 +40,3 @@ jobs:
|
|||
composer run cs:check -- --format=checkstyle | cs2pr
|
||||
composer run cs:check || ( echo 'Please run `composer run cs:fix` to format your code' && exit 1 )
|
||||
shell: bash
|
||||
|
||||
node:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [12.x]
|
||||
|
||||
name: eslint node${{ matrix.node-version }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Set up node ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Lint
|
||||
run: npm run lint
|
||||
|
|
|
|||
91
.github/workflows/node-tests.yml
vendored
Normal file
91
.github/workflows/node-tests.yml
vendored
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
name: Node
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- stable*
|
||||
|
||||
jobs:
|
||||
versions:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
nodeVersion: ${{ steps.versions.outputs.nodeVersion }}
|
||||
npmVersion: ${{ steps.versions.outputs.npmVersion }}
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Read package.json node and npm engines version
|
||||
uses: skjnldsv/read-package-engines-version-actions@v1.1
|
||||
id: versions
|
||||
with:
|
||||
fallbackNode: '^12'
|
||||
fallbackNpm: '^6'
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
needs: versions
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ needs.versions.outputs.nodeVersion }}
|
||||
|
||||
- name: Set up npm ${{ needs.versions.outputs.npmVersion }}
|
||||
run: npm i -g npm@"${{ needs.versions.outputs.npmVersion }}"
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Test
|
||||
run: npm run test
|
||||
|
||||
jsunit:
|
||||
runs-on: ubuntu-latest
|
||||
needs: versions
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ needs.versions.outputs.nodeVersion }}
|
||||
|
||||
# This test requires npm6 for some reason
|
||||
# TODO: fix this and/or move away from jsunit
|
||||
- name: Set up npm 6
|
||||
run: npm i -g npm@^6
|
||||
|
||||
- name: Test
|
||||
run: ./autotest-js.sh
|
||||
|
||||
handlebars:
|
||||
runs-on: ubuntu-latest
|
||||
needs: versions
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Set up node ${{ needs.versions.outputs.nodeVersion }}
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ needs.versions.outputs.nodeVersion }}
|
||||
|
||||
- name: Set up npm ${{ needs.versions.outputs.npmVersion }}
|
||||
run: npm i -g npm@"${{ needs.versions.outputs.npmVersion }}"
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Run compile
|
||||
run: ./build/compile-handlebars-templates.sh
|
||||
95
.github/workflows/node.yml
vendored
95
.github/workflows/node.yml
vendored
|
|
@ -1,3 +1,8 @@
|
|||
# This workflow is provided via the organization template repository
|
||||
#
|
||||
# https://github.com/nextcloud/.github
|
||||
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
||||
|
||||
name: Node
|
||||
|
||||
on:
|
||||
|
|
@ -9,71 +14,39 @@ on:
|
|||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [12.x]
|
||||
|
||||
name: node
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use node ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Install dependencies & build
|
||||
run: |
|
||||
make clean
|
||||
npm ci
|
||||
npm run build --if-present
|
||||
- name: Check webpack build changes
|
||||
run: |
|
||||
bash -c "[[ ! \"`git status --porcelain `\" ]] || ( echo 'Uncommited changes in webpack build' && git status && exit 1 )"
|
||||
env:
|
||||
CI: true
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [12.x]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use node ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
npm ci
|
||||
- name: Test
|
||||
run: npm run test
|
||||
|
||||
jsunit:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use node ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Test
|
||||
run: ./autotest-js.sh
|
||||
|
||||
handlebars:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [12.x]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use node ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v1
|
||||
- name: Read package.json node and npm engines version
|
||||
uses: skjnldsv/read-package-engines-version-actions@v1.1
|
||||
id: versions
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Install dependencies
|
||||
fallbackNode: '^12'
|
||||
fallbackNpm: '^6'
|
||||
|
||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||
|
||||
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
|
||||
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
|
||||
|
||||
- name: Install dependencies & build
|
||||
run: |
|
||||
npm ci
|
||||
- name: Run compile
|
||||
run: ./build/compile-handlebars-templates.sh
|
||||
npm run build --if-present
|
||||
|
||||
- name: Check webpack build changes
|
||||
run: |
|
||||
bash -c "[[ ! \"`git status --porcelain `\" ]] || exit 1"
|
||||
|
||||
- name: Show changes on failure
|
||||
if: failure()
|
||||
run: |
|
||||
git status
|
||||
git --no-pager diff
|
||||
|
|
|
|||
9
.github/workflows/oci.yml
vendored
9
.github/workflows/oci.yml
vendored
|
|
@ -9,13 +9,12 @@ on:
|
|||
|
||||
jobs:
|
||||
phpunit-oci8:
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
strategy:
|
||||
# do not stop on another job's failure
|
||||
fail-fast: false
|
||||
matrix:
|
||||
php-versions: [ '7.4' ]
|
||||
php-versions: [ '7.3', '7.4', '8.0' ]
|
||||
databases: [ 'oci' ]
|
||||
|
||||
name: php${{ matrix.php-versions }}-${{ matrix.databases }}
|
||||
|
|
@ -41,8 +40,8 @@ jobs:
|
|||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, oci8
|
||||
tools: phpunit:8.5.2
|
||||
extensions: ctype,curl,dom,fileinfo,gd,iconv,imagick,intl,json,mbstring,oci8,openssl,pdo_sqlite,posix,sqlite,xml,zip
|
||||
tools: phpunit:9
|
||||
coverage: none
|
||||
|
||||
- name: Set up Nextcloud
|
||||
|
|
|
|||
10
.github/workflows/psalm-github.yml
vendored
10
.github/workflows/psalm-github.yml
vendored
|
|
@ -1,10 +1,11 @@
|
|||
name: Psalm show github
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
schedule:
|
||||
- cron: '0 0 * * 0'
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- stable*
|
||||
|
||||
jobs:
|
||||
psalm:
|
||||
|
|
@ -16,9 +17,10 @@ jobs:
|
|||
with:
|
||||
submodules: recursive
|
||||
- name: Psalm
|
||||
uses: docker://vimeo/psalm-github-actions
|
||||
uses: docker://vimeo/psalm-github-actions:4.9.3
|
||||
continue-on-error: true
|
||||
with:
|
||||
composer_ignore_platform_reqs: false
|
||||
report_file: results.sarif
|
||||
- name: Upload Analysis results to GitHub
|
||||
uses: github/codeql-action/upload-sarif@v1
|
||||
|
|
|
|||
10
.github/workflows/psalm-security.yml
vendored
10
.github/workflows/psalm-security.yml
vendored
|
|
@ -1,10 +1,11 @@
|
|||
name: Psalm Security Analysis
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
schedule:
|
||||
- cron: '0 0 * * 0'
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- stable*
|
||||
|
||||
jobs:
|
||||
psalm:
|
||||
|
|
@ -16,9 +17,10 @@ jobs:
|
|||
with:
|
||||
submodules: recursive
|
||||
- name: Psalm
|
||||
uses: docker://vimeo/psalm-github-actions
|
||||
uses: docker://vimeo/psalm-github-actions:4.9.3
|
||||
with:
|
||||
security_analysis: true
|
||||
composer_ignore_platform_reqs: false
|
||||
report_file: results.sarif
|
||||
- name: Upload Security Analysis results to GitHub
|
||||
uses: github/codeql-action/upload-sarif@v1
|
||||
|
|
|
|||
6
.github/workflows/static-code-analysis.yml
vendored
6
.github/workflows/static-code-analysis.yml
vendored
|
|
@ -17,11 +17,12 @@ jobs:
|
|||
uses: shivammathur/setup-php@master
|
||||
with:
|
||||
php-version: 7.4
|
||||
extensions: ctype,curl,dom,fileinfo,gd,iconv,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
|
||||
coverage: none
|
||||
- name: Composer install
|
||||
run: composer i
|
||||
- name: Psalm
|
||||
run: composer run psalm -- --monochrome --no-progress --output-format=text --update-baseline || ( git diff -- . ':!lib/composer' && exit 1 )
|
||||
run: composer run psalm -- --monochrome --no-progress --output-format=github --update-baseline || ( git diff -- . ':!lib/composer' && exit 1 )
|
||||
- name: Check diff
|
||||
run: git diff -- . ':!lib/composer'
|
||||
- name: Show potential changes in Psalm baseline
|
||||
|
|
@ -42,11 +43,12 @@ jobs:
|
|||
uses: shivammathur/setup-php@master
|
||||
with:
|
||||
php-version: 7.4
|
||||
extensions: ctype,curl,dom,fileinfo,gd,iconv,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
|
||||
coverage: none
|
||||
- name: Composer install
|
||||
run: composer i
|
||||
- name: Psalm
|
||||
run: composer run psalm -- -c psalm-ocp.xml --monochrome --no-progress --output-format=text --update-baseline || ( git diff -- . ':!lib/composer' && exit 1 )
|
||||
run: composer run psalm -- -c psalm-ocp.xml --monochrome --no-progress --output-format=github --update-baseline || ( git diff -- . ':!lib/composer' && exit 1 )
|
||||
- name: Check diff
|
||||
run: git diff -- . ':!lib/composer'
|
||||
- name: Show potential changes in Psalm baseline
|
||||
|
|
|
|||
16
.github/workflows/update-psalm-baseline.yml
vendored
16
.github/workflows/update-psalm-baseline.yml
vendored
|
|
@ -19,23 +19,23 @@ jobs:
|
|||
uses: shivammathur/setup-php@master
|
||||
with:
|
||||
php-version: 7.4
|
||||
extensions: ctype,curl,dom,fileinfo,gd,iconv,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
|
||||
coverage: none
|
||||
- name: Composer install
|
||||
run: composer i
|
||||
run: composer install
|
||||
- name: Psalm
|
||||
run: composer run psalm -- --monochrome --no-progress --output-format=text --update-baseline
|
||||
- name: Reset composer.json and composer.lock
|
||||
- name: Reset composer
|
||||
run: |
|
||||
rm -rf lib/composer
|
||||
git checkout -- composer.json composer.lock lib/composer
|
||||
git clean -f lib/composer
|
||||
git checkout composer.json composer.lock lib/composer
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v3
|
||||
with:
|
||||
token: ${{ secrets.MACHINE_USER_PAT }}
|
||||
push-to-fork: nextcloud-pr-bot/server
|
||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||
commit-message: Update psalm baseline
|
||||
committer: GitHub <noreply@github.com>
|
||||
author: Nextcloud-PR-Bot <nextcloud-pr-bot@users.noreply.github.com>
|
||||
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
|
||||
signoff: true
|
||||
branch: automated/noid/psalm-baseline-update
|
||||
title: '[Automated] Update psalm-baseline.xml'
|
||||
|
|
@ -43,4 +43,4 @@ jobs:
|
|||
Auto-generated update psalm-baseline.xml with fixed psalm warnings
|
||||
labels: |
|
||||
automated pr
|
||||
reviewers: rullzer, morrisjobke, kesselb
|
||||
reviewers: juliushaertl, artonge, kesselb
|
||||
|
|
|
|||
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -159,3 +159,5 @@ clover.xml
|
|||
tests/acceptance/vendor/
|
||||
|
||||
composer.phar
|
||||
/lib/composer/bin
|
||||
/vendor-bin/**/vendor
|
||||
|
|
|
|||
43
.htaccess
43
.htaccess
|
|
@ -7,6 +7,10 @@
|
|||
<IfModule mod_proxy_fcgi.c>
|
||||
SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
|
||||
</IfModule>
|
||||
<IfModule mod_lsapi.c>
|
||||
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
|
||||
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_env.c>
|
||||
|
|
@ -39,7 +43,7 @@
|
|||
</IfModule>
|
||||
|
||||
# Add cache control for static resources
|
||||
<FilesMatch "\.(css|js|svg|gif)$">
|
||||
<FilesMatch "\.(css|js|svg|gif|png|jpg|ico)$">
|
||||
Header set Cache-Control "max-age=15778463"
|
||||
</FilesMatch>
|
||||
|
||||
|
|
@ -48,6 +52,8 @@
|
|||
Header set Cache-Control "max-age=604800"
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
|
||||
# PHP 7.x
|
||||
<IfModule mod_php7.c>
|
||||
php_value mbstring.func_overload 0
|
||||
php_value default_charset 'UTF-8'
|
||||
|
|
@ -56,6 +62,30 @@
|
|||
SetEnv htaccessWorking true
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
# PHP 8+
|
||||
<IfModule mod_php.c>
|
||||
php_value mbstring.func_overload 0
|
||||
php_value default_charset 'UTF-8'
|
||||
php_value output_buffering 0
|
||||
<IfModule mod_env.c>
|
||||
SetEnv htaccessWorking true
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_mime.c>
|
||||
AddType image/svg+xml svg svgz
|
||||
AddEncoding gzip svgz
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_dir.c>
|
||||
DirectoryIndex index.php index.html
|
||||
</IfModule>
|
||||
|
||||
<IfModule pagespeed_module>
|
||||
ModPagespeed Off
|
||||
</IfModule>
|
||||
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine on
|
||||
RewriteCond %{HTTP_USER_AGENT} DavClnt
|
||||
|
|
@ -68,15 +98,6 @@
|
|||
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
|
||||
RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
|
||||
</IfModule>
|
||||
<IfModule mod_mime.c>
|
||||
AddType image/svg+xml svg svgz
|
||||
AddEncoding gzip svgz
|
||||
</IfModule>
|
||||
<IfModule mod_dir.c>
|
||||
DirectoryIndex index.php index.html
|
||||
</IfModule>
|
||||
|
||||
AddDefaultCharset utf-8
|
||||
Options -Indexes
|
||||
<IfModule pagespeed_module>
|
||||
ModPagespeed Off
|
||||
</IfModule>
|
||||
|
|
|
|||
2
.mailmap
2
.mailmap
|
|
@ -82,6 +82,7 @@ Dan Callahan <dan.callahan@gmail.com>
|
|||
Dan Jones <dan@danneh.org>
|
||||
Daniel <daniel@mars.(none)>
|
||||
Daniel Hansson <enoch85@gmail.com>
|
||||
Daniel Kesselberg <mail@danielkesselberg.de> kesselb <mail@danielkesselberg.de>
|
||||
Daniel Köb <daniel.koeb@peony.at>
|
||||
Daniel Molkentin <daniel@molkentin.de>
|
||||
Daniele E. Domenichelli <daniele.domenichelli@gmail.com>
|
||||
|
|
@ -214,6 +215,7 @@ Lennart Rosam <lennart.rosam@medien-systempartner.de>
|
|||
Sebastian Döll <sebastian.doell@libasys.de> libasys <sebastian.doell@libasys.de>
|
||||
Lode Hoste <zillode@zillode.be>
|
||||
lolozere <laurent@chedanne.pro>
|
||||
Louis Chemineau <louis@chmn.me> Louis Chemineau <6653109+artonge@users.noreply.github.com>
|
||||
Lorenzo M. Catucci <lorenzo@sancho.ccd.uniroma2.it>
|
||||
Lukas Reschke <lukas@statuscode.ch> Lukas Reschke <lukas@owncloud.com>
|
||||
Lukas Reschke <lukas@statuscode.ch> Lukas Reschke <lukas@owncloud.org>
|
||||
|
|
|
|||
1
.npmignore
Normal file
1
.npmignore
Normal file
|
|
@ -0,0 +1 @@
|
|||
**/*.spec.js
|
||||
|
|
@ -12,6 +12,9 @@ $config
|
|||
->exclude('config')
|
||||
->exclude('data')
|
||||
->notPath('3rdparty')
|
||||
->notPath('build/integration/vendor')
|
||||
->notPath('build/lib')
|
||||
->notPath('build/node_modules')
|
||||
->notPath('build/stubs')
|
||||
->notPath('composer')
|
||||
->notPath('node_modules')
|
||||
|
|
|
|||
2
3rdparty
2
3rdparty
|
|
@ -1 +1 @@
|
|||
Subproject commit 67f4c90ffb75bdd5c3deb79cef8a9a4122ca8e55
|
||||
Subproject commit 217764f87ec6bbd359c76e57f0f48897d7c47646
|
||||
44
AUTHORS
44
AUTHORS
|
|
@ -18,20 +18,25 @@ Nextcloud is written by:
|
|||
- Andreas Pflug <dev@admin4.org>
|
||||
- Andrew Brown <andrew@casabrown.com>
|
||||
- André Gaul <gaul@web-yard.de>
|
||||
- Anna Larch <anna@nextcloud.com>
|
||||
- Ardinis <Ardinis@users.noreply.github.com>
|
||||
- Ari Selseng <ari@selseng.net>
|
||||
- Arne Hamann <kontakt+github@arne.email>
|
||||
- Artem Kochnev <MrJeos@gmail.com>
|
||||
- Artem Sidorenko <artem@posteo.de>
|
||||
- Arthur Schiwon <blizzz@arthur-schiwon.de>
|
||||
- Artur Neumann <info@individual-it.net>
|
||||
- Ashod Nakashian <ashod.nakashian@collabora.co.uk>
|
||||
- Avior <florian.bouillon@delta-wings.net>
|
||||
- Axel Helmert <axel.helmert@luka.de>
|
||||
- Azul <azul@riseup.net>
|
||||
- Bart Visscher <bartv@thisnet.nl>
|
||||
- Bartek Przybylski <bart.p.pl@gmail.com>
|
||||
- Bastien Durel <bastien@durel.org>
|
||||
- Bastien Ho <bastienho@urbancube.fr>
|
||||
- Benjamin Diele <benjamin@diele.be>
|
||||
- Benjamin Liles <benliles@arch.tamu.edu>
|
||||
- Bernd Stellwag <burned@zerties.org>
|
||||
- Bernhard Ostertag <bernieo.code@gmx.de>
|
||||
- Bernhard Posselt <dev@bernhard-posselt.com>
|
||||
- Bernhard Reiter <ockham@raz.or.at>
|
||||
|
|
@ -50,11 +55,13 @@ Nextcloud is written by:
|
|||
- Carlos Cerrillo <ccerrillo@gmail.com>
|
||||
- Carlos Ferreira <carlos@reendex.com>
|
||||
- Carsten Wiedmann <carsten_sttgt@gmx.de>
|
||||
- Chih-Hsuan Yen <yan12125@gmail.com>
|
||||
- Christian <16852529+cviereck@users.noreply.github.com>
|
||||
- Christian Berendt <berendt@b1-systems.de>
|
||||
- Christian Jürges <christian@eqipe.ch>
|
||||
- Christian Kampka <christian@kampka.net>
|
||||
- Christian Oliff <christianoliff@yahoo.com>
|
||||
- Christian Weiske <cweiske@cweiske.de>
|
||||
- Christoph Schaefer "christophł@wolkesicher.de"
|
||||
- Christoph Seitz <christoph.seitz@posteo.de>
|
||||
- Christoph Wickert <cwickert@suse.de>
|
||||
|
|
@ -62,6 +69,7 @@ Nextcloud is written by:
|
|||
- Christopher Bartz <bartz@dkrz.de>
|
||||
- Christopher Schäpers <kondou@ts.unde.re>
|
||||
- Christopher T. Johnson <ctjctj@gmail.com>
|
||||
- Claas Augner <github@caugner.de>
|
||||
- Clark Tomlinson <fallen013@gmail.com>
|
||||
- Clement Wong <git@clement.hk>
|
||||
- Cornelius Kölbel <cornelius.koelbel@netknights.it>
|
||||
|
|
@ -93,10 +101,12 @@ Nextcloud is written by:
|
|||
- Felix Rupp <github@felixrupp.com>
|
||||
- Filis Futsarov <filisko@users.noreply.github.com>
|
||||
- Florent <florent@coppint.com>
|
||||
- Florian Schunk <florian.schunk@rwth-aachen.de>
|
||||
- Florin Peter <github@florin-peter.de>
|
||||
- Flávio Gomes da Silva Lisboa <flavio.lisboa@serpro.gov.br>
|
||||
- Frank Isemann <frank@isemann.name>
|
||||
- Frank Karlitschek <frank@karlitschek.de>
|
||||
- François Freitag <mail@franek.fr>
|
||||
- François Kubler <francois@kubler.org>
|
||||
- Frederic Werner <frederic-github@werner-net.work>
|
||||
- Frédéric Fortier <frederic.fortier@oronospolytechnique.com>
|
||||
|
|
@ -107,6 +117,7 @@ Nextcloud is written by:
|
|||
- GretaD <gretadoci@gmail.com>
|
||||
- Guillaume COMPAGNON <gcompagnon@outlook.com>
|
||||
- Guillaume Virlet <github@virlet.org>
|
||||
- Hasso Tepper <hasso@zone.ee>
|
||||
- Hemanth Kumar Veeranki <hems.india1997@gmail.com>
|
||||
- Hendrik Leppelsack <hendrik@leppelsack.de>
|
||||
- Holger Hees <holger.hees@gmail.com>
|
||||
|
|
@ -118,6 +129,7 @@ Nextcloud is written by:
|
|||
- Jacob Neplokh <me@jacobneplokh.com>
|
||||
- Jakob Sack <mail@jakobsack.de>
|
||||
- Jakub Onderka <ahoj@jakubonderka.cz>
|
||||
- James Letendre <James.Letendre@gmail.com>
|
||||
- Jan C. Borchardt <hey@jancborchardt.net>
|
||||
- Jan-Christoph Borchardt <hey@jancborchardt.net>
|
||||
- Jan-Philipp Litza <jplitza@users.noreply.github.com>
|
||||
|
|
@ -137,7 +149,8 @@ Nextcloud is written by:
|
|||
- Johannes Riedel <joeried@users.noreply.github.com>
|
||||
- Johannes Schlichenmaier <johannes@schlichenmaier.info>
|
||||
- Johannes Willnecker <johannes@willnecker.com>
|
||||
- John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
|
||||
- John Molakvoæ <skjnldsv@protonmail.com>
|
||||
- Jonas Rittershofer <jotoeri@users.noreply.github.com>
|
||||
- Jonas Sulzer <jonas@violoncello.ch>
|
||||
- Jonny007-MKD <1-23-4-5@web.de>
|
||||
- Jos Poortvliet <jos@opensuse.org>
|
||||
|
|
@ -176,12 +189,14 @@ Nextcloud is written by:
|
|||
- Lionel Elie Mamane <lionel@mamane.lu>
|
||||
- Loki3000 <github@labcms.ru>
|
||||
- Lorenzo M. Catucci <lorenzo@sancho.ccd.uniroma2.it>
|
||||
- Loïc Hermann <loic.hermann@sciam.fr>
|
||||
- Lukas Reschke <lukas@statuscode.ch>
|
||||
- Lukas Stabe <lukas@stabe.de>
|
||||
- Luke Policinski <lpolicinski@gmail.com>
|
||||
- Magnus Walbeck <mw@mwalbeck.org>
|
||||
- Marcel Klehr <mklehr@gmx.net>
|
||||
- Marcel Waldvogel <marcel.waldvogel@uni-konstanz.de>
|
||||
- Marco Ziech <marco@ziech.net>
|
||||
- Marin Treselj <marin@pixelipo.com>
|
||||
- Mario Danic <mario@lovelyhq.com>
|
||||
- Mario Kolling <mario.kolling@serpro.gov.br>
|
||||
|
|
@ -202,11 +217,13 @@ Nextcloud is written by:
|
|||
- Maxence Lange <maxence@artificial-owl.com>
|
||||
- Maxence Lange <maxence@nextcloud.com>
|
||||
- Maxence Lange <maxence@pontapreta.net>
|
||||
- Maxopoly <max@dermax.org>
|
||||
- MichaIng <28480705+MichaIng@users.noreply.github.com>
|
||||
- MichaIng <micha@dietpi.com>
|
||||
- Michael Gapczynski <GapczynskiM@gmail.com>
|
||||
- Michael Göhler <somebody.here@gmx.de>
|
||||
- Michael Jobst <mjobst+github@tecratech.de>
|
||||
- Michael Jobst <mjobst@necls.com>
|
||||
- Michael Kuhn <michael@ikkoku.de>
|
||||
- Michael Letzgus <www@chronos.michael-letzgus.de>
|
||||
- Michael Roitzsch <reactorcontrol@icloud.com>
|
||||
|
|
@ -218,15 +235,18 @@ Nextcloud is written by:
|
|||
- Mitar <mitar.git@tnode.com>
|
||||
- Mohammed Abdellatif <m.latief@gmail.com>
|
||||
- Morris Jobke <hey@morrisjobke.de>
|
||||
- Nazar Mokrynskyi <nazar@mokrynskyi.com>
|
||||
- Nick Sweeting <git@sweeting.me>
|
||||
- Nicolai Ehemann <en@enlightened.de>
|
||||
- Nicolas Grekas <nicolas.grekas@gmail.com>
|
||||
- Nicolas SIMIDE <2083596+dems54@users.noreply.github.com>
|
||||
- Nils <git@to.nilsschnabel.de>
|
||||
- Nils Wittenbrink <nilswittenbrink@web.de>
|
||||
- Nina Pypchenko <22447785+nina-py@users.noreply.github.com>
|
||||
- Nmz <nemesiz@nmz.lt>
|
||||
- Noveen Sachdeva <noveen.sachdeva@research.iiit.ac.in>
|
||||
- Ole Ostergaard <ole.c.ostergaard@gmail.com>
|
||||
- Ole Ostergaard <ole.ostergaard@knime.com>
|
||||
- Oliver Gasser <oliver.gasser@gmail.com>
|
||||
- Oliver Kohl D.Sc. <oliver@kohl.bz>
|
||||
- Oliver Wegner <void1976@gmail.com>
|
||||
- Olivier Paroz <github@oparoz.com>
|
||||
|
|
@ -250,6 +270,7 @@ Nextcloud is written by:
|
|||
- Piotr Mrowczynski <mrow4a@yahoo.com>
|
||||
- Piotr Mrówczyński <mrow4a@yahoo.com>
|
||||
- Qingping Hou <dave2008713@gmail.com>
|
||||
- Raghu Nayyar <hey@raghunayyar.com>
|
||||
- Ralph Krimmel <rkrimme1@gwdg.de>
|
||||
- Ramiro Aparicio <rapariciog@gmail.com>
|
||||
- Randolph Carter <RandolphCarter@fantasymail.de>
|
||||
|
|
@ -264,7 +285,6 @@ Nextcloud is written by:
|
|||
- Robin Appelman <robin@icewind.nl>
|
||||
- Robin McCorkell <robin@mccorkell.me.uk>
|
||||
- Robin Müller <coder-hugo@users.noreply.github.com>
|
||||
- Robin Windey <ro.windey@gmail.com>
|
||||
- Roeland Jago Douma <roeland@famdouma.nl>
|
||||
- Roger Szabo <roger.szabo@web.de>
|
||||
- Roland Tapken <roland@bitarbeiter.net>
|
||||
|
|
@ -278,6 +298,7 @@ Nextcloud is written by:
|
|||
- SA <stephen@mthosting.net>
|
||||
- Sam Bull <aa6bs0@sambull.org>
|
||||
- Sam Tuke <mail@samtuke.com>
|
||||
- Samuel <faust64@gmail.com>
|
||||
- Samuel CHEMLA <chemla.samuel@gmail.com>
|
||||
- Sander Ruitenbeek <s.ruitenbeek@getgoing.nl>
|
||||
- Sander Ruitenbeek <sander@grids.be>
|
||||
|
|
@ -288,6 +309,7 @@ Nextcloud is written by:
|
|||
- Scott Dutton <scott@exussum.co.uk>
|
||||
- Scott Shambarger <devel@shambarger.net>
|
||||
- Sean Comeau <sean@ftlnetworks.ca>
|
||||
- Sean Molenaar <sean@seanmolenaar.eu>
|
||||
- Sebastian Döll <sebastian.doell@libasys.de>
|
||||
- Sebastian Steinmetz <462714+steiny2k@users.noreply.github.com>
|
||||
- Sebastian Steinmetz <me@sebastiansteinmetz.ch>
|
||||
|
|
@ -314,6 +336,7 @@ Nextcloud is written by:
|
|||
- Stephen Cuppett <steve@cuppett.com>
|
||||
- Steven Bühner <buehner@me.com>
|
||||
- Sujith H <sharidasan@owncloud.com>
|
||||
- Sujith Haridasan <Sujith_Haridasan@mentor.com>
|
||||
- Sujith Haridasan <sujith.h@gmail.com>
|
||||
- Sven Strickroth <email@cs-ware.de>
|
||||
- Sylvia van Os <sylvia@hackerchick.me>
|
||||
|
|
@ -336,7 +359,9 @@ Nextcloud is written by:
|
|||
- Tobia De Koninck <tobia@ledfan.be>
|
||||
- Tobias Kaminsky <tobias@kaminsky.me>
|
||||
- Tobias Perschon <tobias@perschon.at>
|
||||
- Tom Grant <TomG736@users.noreply.github.com>
|
||||
- Tom Needham <tom@owncloud.com>
|
||||
- Tomasz Grobelny <tomasz@grobelny.net>
|
||||
- Tomasz Paluszkiewicz <tomasz.paluszkiewicz@gmail.com>
|
||||
- Tor Lillqvist <tml@collabora.com>
|
||||
- Unknown <anpz.asutp@gmail.com>
|
||||
|
|
@ -353,6 +378,7 @@ Nextcloud is written by:
|
|||
- William Pain <pain.william@gmail.com>
|
||||
- Xheni Myrtaj <myrtajxheni@gmail.com>
|
||||
- Xuanwo <xuanwo@yunify.com>
|
||||
- acsfer <carlos@reendex.com>
|
||||
- adrien <adrien.waksberg@believedigital.com>
|
||||
- aler9 <46489434+aler9@users.noreply.github.com>
|
||||
- alexweirig <alex.weirig@technolink.lu>
|
||||
|
|
@ -363,13 +389,14 @@ Nextcloud is written by:
|
|||
- brad2014 <brad2014@users.noreply.github.com>
|
||||
- brumsel <brumsel@losecatcher.de>
|
||||
- call-me-matt <nextcloud@matthiasheinisch.de>
|
||||
- castillo92 <37965565+castillo92@users.noreply.github.com>
|
||||
- cetra3 <peter@parashift.com.au>
|
||||
- cmeh <cmeh@users.noreply.github.com>
|
||||
- comradekingu <epost@anotheragency.no>
|
||||
- dartcafe <github@dartcafe.de>
|
||||
- davidgumberg <davidnoizgumberg@gmail.com>
|
||||
- davitol <dtoledo@solidgear.es>
|
||||
- derkostka <sebastian.kostka@gmail.com>
|
||||
- dems54 <2083596+dems54@users.noreply.github.com>
|
||||
- duritong <peter.meier+github@immerda.ch>
|
||||
- eduardo <eduardo@vnexu.net>
|
||||
- eleith <online+github@eleith.com>
|
||||
|
|
@ -397,7 +424,6 @@ Nextcloud is written by:
|
|||
- lynn-stephenson <lynn.stephenson@protonmail.com>
|
||||
- macjohnny <estebanmarin@gmx.ch>
|
||||
- marco44 <cousinmarc@gmail.com>
|
||||
- martin-rueegg <martin.rueegg@metaworx.ch>
|
||||
- martin.mattel@diemattels.at <martin.mattel@diemattels.at>
|
||||
- martink-p <47943787+martink-p@users.noreply.github.com>
|
||||
- matt <34400929+call-me-matt@users.noreply.github.com>
|
||||
|
|
@ -405,13 +431,18 @@ Nextcloud is written by:
|
|||
- michaelletzgus <michaelletzgus@users.noreply.github.com>
|
||||
- michag86 <micha_g@arcor.de>
|
||||
- mmccarn <mmccarn-github@mmsionline.us>
|
||||
- nacho <nacho@ownyourbits.com>
|
||||
- nhirokinet <nhirokinet@nhiroki.net>
|
||||
- nik gaffney <nik@fo.am>
|
||||
- nishiki <nishiki@yaegashi.fr>
|
||||
- noiob <8197071+noiob@users.noreply.github.com>
|
||||
- noveens <noveen.sachdeva@research.iiit.ac.in>
|
||||
- npmbuildbot[bot] "npmbuildbot[bot]@users.noreply.github.com"
|
||||
- onehappycat <one.happy.cat@gmx.com>
|
||||
- oparoz <owncloud@interfasys.ch>
|
||||
- phisch <git@philippschaffrath.de>
|
||||
- rakekniven <mark.ziegler@rakekniven.de>
|
||||
- robottod <83244577+robottod@users.noreply.github.com>
|
||||
- root "root@oc.(none)"
|
||||
- root <root@localhost.localdomain>
|
||||
- rubo77 <github@r.z11.de>
|
||||
|
|
@ -420,9 +451,12 @@ Nextcloud is written by:
|
|||
- scolebrook <scolebrook@mac.com>
|
||||
- shkdee <louis.traynard@m4x.org>
|
||||
- simonspa <1677436+simonspa@users.noreply.github.com>
|
||||
- ste101 <stephan_bauer@gmx.de>
|
||||
- sualko <klaus@jsxc.org>
|
||||
- szaimen <szaimen@e.mail.de>
|
||||
- tbartenstein <tbartenstein@users.noreply.github.com>
|
||||
- tbelau666 <thomas.belau@gmx.de>
|
||||
- tgrant <tom.grant760@gmail.com>
|
||||
- timm2k <timm2k@gmx.de>
|
||||
- tux-rampage <tux-rampage@users.noreply.github.com>
|
||||
- v1r0x <vinzenz.rosenkranz@gmail.com>
|
||||
|
|
|
|||
6
Makefile
6
Makefile
|
|
@ -30,6 +30,8 @@ lint-fix-watch:
|
|||
clean:
|
||||
rm -rf apps/accessibility/js/
|
||||
rm -rf apps/comments/js/
|
||||
rm -rf apps/dashboard/js/
|
||||
rm -rf apps/dav/js/
|
||||
rm -rf apps/files/js/dist/
|
||||
rm -rf apps/files_sharing/js/dist/
|
||||
rm -rf apps/files_trashbin/js/
|
||||
|
|
@ -40,12 +42,15 @@ clean:
|
|||
rm -rf apps/twofactor_backupcodes/js
|
||||
rm -rf apps/updatenotification/js/updatenotification.*
|
||||
rm -rf apps/user_status/js/
|
||||
rm -rf apps/weather_status/js/
|
||||
rm -rf apps/workflowengine/js/
|
||||
rm -rf core/js/dist
|
||||
|
||||
clean-git: clean
|
||||
git checkout -- apps/accessibility/js/
|
||||
git checkout -- apps/comments/js/
|
||||
git checkout -- apps/dashboard/js/
|
||||
git checkout -- apps/dav/js/
|
||||
git checkout -- apps/files/js/dist/
|
||||
git checkout -- apps/files_sharing/js/dist/
|
||||
git checkout -- apps/files_trashbin/js/
|
||||
|
|
@ -56,5 +61,6 @@ clean-git: clean
|
|||
git checkout -- apps/twofactor_backupcodes/js
|
||||
git checkout -- apps/updatenotification/js/updatenotification.*
|
||||
git checkout -- apps/user_status/js/
|
||||
git checkout -- apps/weather_status/js/
|
||||
git checkout -- apps/workflowengine/js/
|
||||
git checkout -- core/js/dist
|
||||
|
|
|
|||
12
README.md
12
README.md
|
|
@ -62,7 +62,7 @@ Otherwise, git checkouts can be handled the same as release archives, by using t
|
|||
|
||||
We are moving more and more towards using Vue.js in the frontend, starting with Settings. For building the code on changes, use these terminal commands in the root folder:
|
||||
|
||||
``` bash
|
||||
```bash
|
||||
# install dependencies
|
||||
make dev-setup
|
||||
|
||||
|
|
@ -76,30 +76,30 @@ make watch-js
|
|||
make build-js-production
|
||||
```
|
||||
|
||||
#### Commiting changes
|
||||
#### Committing changes
|
||||
|
||||
**When making changes, also commit the compiled files!**
|
||||
|
||||
We still use Handlebars templates some places in Files and Settings. We will replace these step-by-step with Vue.js, but in the meantime you need to compile them separately.
|
||||
|
||||
If you don’t have Handlebars installed yet, you can do it with this terminal command:
|
||||
```
|
||||
```bash
|
||||
sudo npm install -g handlebars
|
||||
```
|
||||
|
||||
Then inside the root folder of your local Nextcloud development installation, run this command in the terminal every time you changed a `.handlebars` file to compile it:
|
||||
```
|
||||
```bash
|
||||
./build/compile-handlebars-templates.sh
|
||||
```
|
||||
|
||||
Before checking in JS changes, make sure to also build for production:
|
||||
```
|
||||
```bash
|
||||
make build-js-production
|
||||
```
|
||||
Then add the compiled files for committing.
|
||||
|
||||
To save some time, to only rebuild for a specific app, use the following and replace the module with the app name:
|
||||
```
|
||||
```bash
|
||||
MODULE=user_status make build-js-production
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<name>Accessibility</name>
|
||||
<summary>Accessibility options for nextcloud</summary>
|
||||
<description><![CDATA[Provides multiple accessibilities options to ease your use of Nextcloud]]></description>
|
||||
<version>1.7.0</version>
|
||||
<version>1.9.0</version>
|
||||
<licence>agpl</licence>
|
||||
<author>John Molakvoæ</author>
|
||||
<namespace>Accessibility</namespace>
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
<bugs>https://github.com/nextcloud/server/issues</bugs>
|
||||
|
||||
<dependencies>
|
||||
<nextcloud min-version="22" max-version="22"/>
|
||||
<nextcloud min-version="23" max-version="23"/>
|
||||
</dependencies>
|
||||
|
||||
<repair-steps>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
*
|
||||
* @author Alexey Pyltsyn <lex61rus@gmail.com>
|
||||
* @author Christoph Wurst <christoph@winzerhof-wurst.at>
|
||||
* @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
|
||||
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||||
* @author Julius Härtl <jus@bitgrid.net>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
|
|
@ -16,14 +16,13 @@
|
|||
*
|
||||
* 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
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
return [
|
||||
'routes' => [
|
||||
['name' => 'accessibility#getCss', 'url' => '/css/user-{md5}', 'verb' => 'GET'],
|
||||
|
|
|
|||
18
apps/accessibility/composer/composer.lock
generated
Normal file
18
apps/accessibility/composer/composer.lock
generated
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"_readme": [
|
||||
"This file locks the dependencies of your project to a known state",
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "d751713988987e9331980363e24189ce",
|
||||
"packages": [],
|
||||
"packages-dev": [],
|
||||
"aliases": [],
|
||||
"minimum-stability": "stable",
|
||||
"stability-flags": [],
|
||||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": [],
|
||||
"platform-dev": [],
|
||||
"plugin-api-version": "2.1.0"
|
||||
}
|
||||
|
|
@ -42,30 +42,75 @@ namespace Composer\Autoload;
|
|||
*/
|
||||
class ClassLoader
|
||||
{
|
||||
/** @var ?string */
|
||||
private $vendorDir;
|
||||
|
||||
// PSR-4
|
||||
/**
|
||||
* @var array[]
|
||||
* @psalm-var array<string, array<string, int>>
|
||||
*/
|
||||
private $prefixLengthsPsr4 = array();
|
||||
/**
|
||||
* @var array[]
|
||||
* @psalm-var array<string, array<int, string>>
|
||||
*/
|
||||
private $prefixDirsPsr4 = array();
|
||||
/**
|
||||
* @var array[]
|
||||
* @psalm-var array<string, string>
|
||||
*/
|
||||
private $fallbackDirsPsr4 = array();
|
||||
|
||||
// PSR-0
|
||||
/**
|
||||
* @var array[]
|
||||
* @psalm-var array<string, array<string, string[]>>
|
||||
*/
|
||||
private $prefixesPsr0 = array();
|
||||
/**
|
||||
* @var array[]
|
||||
* @psalm-var array<string, string>
|
||||
*/
|
||||
private $fallbackDirsPsr0 = array();
|
||||
|
||||
/** @var bool */
|
||||
private $useIncludePath = false;
|
||||
|
||||
/**
|
||||
* @var string[]
|
||||
* @psalm-var array<string, string>
|
||||
*/
|
||||
private $classMap = array();
|
||||
|
||||
/** @var bool */
|
||||
private $classMapAuthoritative = false;
|
||||
|
||||
/**
|
||||
* @var bool[]
|
||||
* @psalm-var array<string, bool>
|
||||
*/
|
||||
private $missingClasses = array();
|
||||
|
||||
/** @var ?string */
|
||||
private $apcuPrefix;
|
||||
|
||||
/**
|
||||
* @var self[]
|
||||
*/
|
||||
private static $registeredLoaders = array();
|
||||
|
||||
/**
|
||||
* @param ?string $vendorDir
|
||||
*/
|
||||
public function __construct($vendorDir = null)
|
||||
{
|
||||
$this->vendorDir = $vendorDir;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public function getPrefixes()
|
||||
{
|
||||
if (!empty($this->prefixesPsr0)) {
|
||||
|
|
@ -75,28 +120,47 @@ class ClassLoader
|
|||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array[]
|
||||
* @psalm-return array<string, array<int, string>>
|
||||
*/
|
||||
public function getPrefixesPsr4()
|
||||
{
|
||||
return $this->prefixDirsPsr4;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array[]
|
||||
* @psalm-return array<string, string>
|
||||
*/
|
||||
public function getFallbackDirs()
|
||||
{
|
||||
return $this->fallbackDirsPsr0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array[]
|
||||
* @psalm-return array<string, string>
|
||||
*/
|
||||
public function getFallbackDirsPsr4()
|
||||
{
|
||||
return $this->fallbackDirsPsr4;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[] Array of classname => path
|
||||
* @psalm-var array<string, string>
|
||||
*/
|
||||
public function getClassMap()
|
||||
{
|
||||
return $this->classMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $classMap Class to filename map
|
||||
* @param string[] $classMap Class to filename map
|
||||
* @psalm-param array<string, string> $classMap
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function addClassMap(array $classMap)
|
||||
{
|
||||
|
|
@ -111,9 +175,11 @@ class ClassLoader
|
|||
* Registers a set of PSR-0 directories for a given prefix, either
|
||||
* appending or prepending to the ones previously set for this prefix.
|
||||
*
|
||||
* @param string $prefix The prefix
|
||||
* @param array|string $paths The PSR-0 root directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
* @param string $prefix The prefix
|
||||
* @param string[]|string $paths The PSR-0 root directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function add($prefix, $paths, $prepend = false)
|
||||
{
|
||||
|
|
@ -156,11 +222,13 @@ class ClassLoader
|
|||
* Registers a set of PSR-4 directories for a given namespace, either
|
||||
* appending or prepending to the ones previously set for this namespace.
|
||||
*
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param array|string $paths The PSR-4 base directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param string[]|string $paths The PSR-4 base directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function addPsr4($prefix, $paths, $prepend = false)
|
||||
{
|
||||
|
|
@ -204,8 +272,10 @@ class ClassLoader
|
|||
* Registers a set of PSR-0 directories for a given prefix,
|
||||
* replacing any others previously set for this prefix.
|
||||
*
|
||||
* @param string $prefix The prefix
|
||||
* @param array|string $paths The PSR-0 base directories
|
||||
* @param string $prefix The prefix
|
||||
* @param string[]|string $paths The PSR-0 base directories
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function set($prefix, $paths)
|
||||
{
|
||||
|
|
@ -220,10 +290,12 @@ class ClassLoader
|
|||
* Registers a set of PSR-4 directories for a given namespace,
|
||||
* replacing any others previously set for this namespace.
|
||||
*
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param array|string $paths The PSR-4 base directories
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param string[]|string $paths The PSR-4 base directories
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setPsr4($prefix, $paths)
|
||||
{
|
||||
|
|
@ -243,6 +315,8 @@ class ClassLoader
|
|||
* Turns on searching the include path for class files.
|
||||
*
|
||||
* @param bool $useIncludePath
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setUseIncludePath($useIncludePath)
|
||||
{
|
||||
|
|
@ -265,6 +339,8 @@ class ClassLoader
|
|||
* that have not been registered with the class map.
|
||||
*
|
||||
* @param bool $classMapAuthoritative
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setClassMapAuthoritative($classMapAuthoritative)
|
||||
{
|
||||
|
|
@ -285,6 +361,8 @@ class ClassLoader
|
|||
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
||||
*
|
||||
* @param string|null $apcuPrefix
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setApcuPrefix($apcuPrefix)
|
||||
{
|
||||
|
|
@ -305,6 +383,8 @@ class ClassLoader
|
|||
* Registers this instance as an autoloader.
|
||||
*
|
||||
* @param bool $prepend Whether to prepend the autoloader or not
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register($prepend = false)
|
||||
{
|
||||
|
|
@ -324,6 +404,8 @@ class ClassLoader
|
|||
|
||||
/**
|
||||
* Unregisters this instance as an autoloader.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function unregister()
|
||||
{
|
||||
|
|
@ -338,7 +420,7 @@ class ClassLoader
|
|||
* Loads the given class or interface.
|
||||
*
|
||||
* @param string $class The name of the class
|
||||
* @return bool|null True if loaded, null otherwise
|
||||
* @return true|null True if loaded, null otherwise
|
||||
*/
|
||||
public function loadClass($class)
|
||||
{
|
||||
|
|
@ -347,6 +429,8 @@ class ClassLoader
|
|||
|
||||
return true;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -401,6 +485,11 @@ class ClassLoader
|
|||
return self::$registeredLoaders;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $class
|
||||
* @param string $ext
|
||||
* @return string|false
|
||||
*/
|
||||
private function findFileWithExtension($class, $ext)
|
||||
{
|
||||
// PSR-4 lookup
|
||||
|
|
@ -472,6 +561,10 @@ class ClassLoader
|
|||
* Scope isolated include.
|
||||
*
|
||||
* Prevents access to $this/self from included files.
|
||||
*
|
||||
* @param string $file
|
||||
* @return void
|
||||
* @private
|
||||
*/
|
||||
function includeFile($file)
|
||||
{
|
||||
|
|
|
|||
337
apps/accessibility/composer/composer/InstalledVersions.php
Normal file
337
apps/accessibility/composer/composer/InstalledVersions.php
Normal file
|
|
@ -0,0 +1,337 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Composer.
|
||||
*
|
||||
* (c) Nils Adermann <naderman@naderman.de>
|
||||
* Jordi Boggiano <j.boggiano@seld.be>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Composer;
|
||||
|
||||
use Composer\Autoload\ClassLoader;
|
||||
use Composer\Semver\VersionParser;
|
||||
|
||||
/**
|
||||
* This class is copied in every Composer installed project and available to all
|
||||
*
|
||||
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
|
||||
*
|
||||
* To require its presence, you can require `composer-runtime-api ^2.0`
|
||||
*/
|
||||
class InstalledVersions
|
||||
{
|
||||
private static $installed;
|
||||
private static $canGetVendors;
|
||||
private static $installedByVendor = array();
|
||||
|
||||
/**
|
||||
* Returns a list of all package names which are present, either by being installed, replaced or provided
|
||||
*
|
||||
* @return string[]
|
||||
* @psalm-return list<string>
|
||||
*/
|
||||
public static function getInstalledPackages()
|
||||
{
|
||||
$packages = array();
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
$packages[] = array_keys($installed['versions']);
|
||||
}
|
||||
|
||||
if (1 === \count($packages)) {
|
||||
return $packages[0];
|
||||
}
|
||||
|
||||
return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a list of all package names with a specific type e.g. 'library'
|
||||
*
|
||||
* @param string $type
|
||||
* @return string[]
|
||||
* @psalm-return list<string>
|
||||
*/
|
||||
public static function getInstalledPackagesByType($type)
|
||||
{
|
||||
$packagesByType = array();
|
||||
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
foreach ($installed['versions'] as $name => $package) {
|
||||
if (isset($package['type']) && $package['type'] === $type) {
|
||||
$packagesByType[] = $name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $packagesByType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether the given package is installed
|
||||
*
|
||||
* This also returns true if the package name is provided or replaced by another package
|
||||
*
|
||||
* @param string $packageName
|
||||
* @param bool $includeDevRequirements
|
||||
* @return bool
|
||||
*/
|
||||
public static function isInstalled($packageName, $includeDevRequirements = true)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (isset($installed['versions'][$packageName])) {
|
||||
return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether the given package satisfies a version constraint
|
||||
*
|
||||
* e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call:
|
||||
*
|
||||
* Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3')
|
||||
*
|
||||
* @param VersionParser $parser Install composer/semver to have access to this class and functionality
|
||||
* @param string $packageName
|
||||
* @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
|
||||
* @return bool
|
||||
*/
|
||||
public static function satisfies(VersionParser $parser, $packageName, $constraint)
|
||||
{
|
||||
$constraint = $parser->parseConstraints($constraint);
|
||||
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
|
||||
|
||||
return $provided->matches($constraint);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a version constraint representing all the range(s) which are installed for a given package
|
||||
*
|
||||
* It is easier to use this via isInstalled() with the $constraint argument if you need to check
|
||||
* whether a given version of a package is installed, and not just whether it exists
|
||||
*
|
||||
* @param string $packageName
|
||||
* @return string Version constraint usable with composer/semver
|
||||
*/
|
||||
public static function getVersionRanges($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$ranges = array();
|
||||
if (isset($installed['versions'][$packageName]['pretty_version'])) {
|
||||
$ranges[] = $installed['versions'][$packageName]['pretty_version'];
|
||||
}
|
||||
if (array_key_exists('aliases', $installed['versions'][$packageName])) {
|
||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
|
||||
}
|
||||
if (array_key_exists('replaced', $installed['versions'][$packageName])) {
|
||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
|
||||
}
|
||||
if (array_key_exists('provided', $installed['versions'][$packageName])) {
|
||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
|
||||
}
|
||||
|
||||
return implode(' || ', $ranges);
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $packageName
|
||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
|
||||
*/
|
||||
public static function getVersion($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($installed['versions'][$packageName]['version'])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $installed['versions'][$packageName]['version'];
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $packageName
|
||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
|
||||
*/
|
||||
public static function getPrettyVersion($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($installed['versions'][$packageName]['pretty_version'])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $installed['versions'][$packageName]['pretty_version'];
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $packageName
|
||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
|
||||
*/
|
||||
public static function getReference($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($installed['versions'][$packageName]['reference'])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $installed['versions'][$packageName]['reference'];
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $packageName
|
||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
|
||||
*/
|
||||
public static function getInstallPath($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
* @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
|
||||
*/
|
||||
public static function getRootPackage()
|
||||
{
|
||||
$installed = self::getInstalled();
|
||||
|
||||
return $installed[0]['root'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the raw installed.php data for custom implementations
|
||||
*
|
||||
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
|
||||
* @return array[]
|
||||
* @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
|
||||
*/
|
||||
public static function getRawData()
|
||||
{
|
||||
@trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
|
||||
|
||||
if (null === self::$installed) {
|
||||
// only require the installed.php file if this file is loaded from its dumped location,
|
||||
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
|
||||
if (substr(__DIR__, -8, 1) !== 'C') {
|
||||
self::$installed = include __DIR__ . '/installed.php';
|
||||
} else {
|
||||
self::$installed = array();
|
||||
}
|
||||
}
|
||||
|
||||
return self::$installed;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the raw data of all installed.php which are currently loaded for custom implementations
|
||||
*
|
||||
* @return array[]
|
||||
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
|
||||
*/
|
||||
public static function getAllRawData()
|
||||
{
|
||||
return self::getInstalled();
|
||||
}
|
||||
|
||||
/**
|
||||
* Lets you reload the static array from another file
|
||||
*
|
||||
* This is only useful for complex integrations in which a project needs to use
|
||||
* this class but then also needs to execute another project's autoloader in process,
|
||||
* and wants to ensure both projects have access to their version of installed.php.
|
||||
*
|
||||
* A typical case would be PHPUnit, where it would need to make sure it reads all
|
||||
* the data it needs from this class, then call reload() with
|
||||
* `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure
|
||||
* the project in which it runs can then also use this class safely, without
|
||||
* interference between PHPUnit's dependencies and the project's dependencies.
|
||||
*
|
||||
* @param array[] $data A vendor/composer/installed.php data set
|
||||
* @return void
|
||||
*
|
||||
* @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
|
||||
*/
|
||||
public static function reload($data)
|
||||
{
|
||||
self::$installed = $data;
|
||||
self::$installedByVendor = array();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array[]
|
||||
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
|
||||
*/
|
||||
private static function getInstalled()
|
||||
{
|
||||
if (null === self::$canGetVendors) {
|
||||
self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
|
||||
}
|
||||
|
||||
$installed = array();
|
||||
|
||||
if (self::$canGetVendors) {
|
||||
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
|
||||
if (isset(self::$installedByVendor[$vendorDir])) {
|
||||
$installed[] = self::$installedByVendor[$vendorDir];
|
||||
} elseif (is_file($vendorDir.'/composer/installed.php')) {
|
||||
$installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
|
||||
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
|
||||
self::$installed = $installed[count($installed) - 1];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (null === self::$installed) {
|
||||
// only require the installed.php file if this file is loaded from its dumped location,
|
||||
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
|
||||
if (substr(__DIR__, -8, 1) !== 'C') {
|
||||
self::$installed = require __DIR__ . '/installed.php';
|
||||
} else {
|
||||
self::$installed = array();
|
||||
}
|
||||
}
|
||||
$installed[] = self::$installed;
|
||||
|
||||
return $installed;
|
||||
}
|
||||
}
|
||||
5
apps/accessibility/composer/composer/installed.json
Normal file
5
apps/accessibility/composer/composer/installed.json
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"packages": [],
|
||||
"dev": false,
|
||||
"dev-package-names": []
|
||||
}
|
||||
23
apps/accessibility/composer/composer/installed.php
Normal file
23
apps/accessibility/composer/composer/installed.php
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<?php return array(
|
||||
'root' => array(
|
||||
'pretty_version' => 'dev-master',
|
||||
'version' => 'dev-master',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../',
|
||||
'aliases' => array(),
|
||||
'reference' => '7239b3d560b52ed604484a0a549dd5805e3f21e4',
|
||||
'name' => '__root__',
|
||||
'dev' => false,
|
||||
),
|
||||
'versions' => array(
|
||||
'__root__' => array(
|
||||
'pretty_version' => 'dev-master',
|
||||
'version' => 'dev-master',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../',
|
||||
'aliases' => array(),
|
||||
'reference' => '7239b3d560b52ed604484a0a549dd5805e3f21e4',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
),
|
||||
);
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,7 +1,7 @@
|
|||
OC.L10N.register(
|
||||
"accessibility",
|
||||
{
|
||||
"Dark theme" : "Активиране на тъмна тема",
|
||||
"Dark theme" : "Tъмна Tема",
|
||||
"Enable dark theme" : "Активиране на тъмна тема",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Тъмна тема, която облекчава очите ви, като намалява яркостта. Все още е в процес на разработка, затова, моля, докладвайте за всички проблеми, които откриете.",
|
||||
"High contrast mode" : "Висок контраст",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{ "translations": {
|
||||
"Dark theme" : "Активиране на тъмна тема",
|
||||
"Dark theme" : "Tъмна Tема",
|
||||
"Enable dark theme" : "Активиране на тъмна тема",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Тъмна тема, която облекчава очите ви, като намалява яркостта. Все още е в процес на разработка, затова, моля, докладвайте за всички проблеми, които откриете.",
|
||||
"High contrast mode" : "Висок контраст",
|
||||
|
|
|
|||
19
apps/accessibility/l10n/bn_BD.js
Normal file
19
apps/accessibility/l10n/bn_BD.js
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
OC.L10N.register(
|
||||
"accessibility",
|
||||
{
|
||||
"Dark theme" : "অন্ধকার থিম",
|
||||
"Enable dark theme" : "অন্ধকার থিম সক্ষম করুন",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "সামগ্রিক আলোকসজ্জা এবং উজ্জ্বলতা হ্রাস করে আপনার চোখকে সহজ করার জন্য একটি অন্ধকার থিম। এটা এখনও উন্নয়ন অধীনে, তাই কোনো সমস্যা আপনি খুঁজে পেতে পারেন রিপোর্ট করুন। ",
|
||||
"High contrast mode" : "উচ্চ বিপরীতে মোড ",
|
||||
"Enable high contrast mode" : "উচ্চতর বিপরীতে মোড সক্ষম করুন",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "আপনার নেভিগেশন সহজ করতে একটি উচ্চ বিপরীতে মোড। ভিজ্যুয়াল মান হ্রাস পাবে তবে স্বচ্ছতা বাড়ানো হবে। ",
|
||||
"Dyslexia font" : "ডিসলেক্সিয়া হরফ",
|
||||
"Enable dyslexia font" : "ডিসলেক্সিয়া হরফ সক্ষম করুন",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "ওপেনডাইলেক্সিক হ'ল ফ্রি টাইপফেস / হরফ ডিজাইলেসিয়া দ্বারা সৃষ্ট কিছু সাধারণ পাঠ্য ত্রুটি প্রশমিত করার জন্য ডিজাইন করা। ",
|
||||
"Accessibility" : "অ্যাক্সেসযোগ্যতা",
|
||||
"Accessibility options for nextcloud" : "নেক্সটক্লাউডের জন্য অ্যাক্সেসযোগ্যতার বিকল্পগুলি",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "নেক্সটক্লাউডের আপনার ব্যবহার সহজ করার জন্য একাধিক অ্যাক্সেসিবিলিটি বিকল্প সরবরাহ করে",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "সর্বজনীন অ্যাক্সেস আমাদের জন্য খুব গুরুত্বপূর্ণ। আমরা ওয়েব স্ট্যান্ডার্ডগুলি অনুসরণ করি এবং মাউস ছাড়াই এবং স্ক্রিনড্রেডারের মতো সহায়ক সফ্টওয়্যার ছাড়াও সবকিছুকে ব্যবহারযোগ্য করে তুলতে পরীক্ষা করে দেখি। আমরা এএএ স্তরে এমনকি উচ্চতর বিপরীতে থিম সহ, এএ স্তরের {নির্দেশিকা} ওয়েব সামগ্রী অ্যাক্সেসিবিলিটি নির্দেশিকা {লিনএন্ড} 2.1 এর সাথে অনুগত হতে লক্ষ্য করি।",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "আপনি যদি কোনও সমস্যা খুঁজে পান তবে তাদেরকে আমাদের ইস্যু ট্র্যাকার {লিনএন্ড} এ প্রতিবেদন করতে দ্বিধা করবেন না} এবং আপনি যদি এতে জড়িত থাকতে চান তবে আসুন {ডিজাইনটিয়াম} আমাদের ডিজাইন দল {লিনএন্ড} এ যোগদান করুন"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
17
apps/accessibility/l10n/bn_BD.json
Normal file
17
apps/accessibility/l10n/bn_BD.json
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{ "translations": {
|
||||
"Dark theme" : "অন্ধকার থিম",
|
||||
"Enable dark theme" : "অন্ধকার থিম সক্ষম করুন",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "সামগ্রিক আলোকসজ্জা এবং উজ্জ্বলতা হ্রাস করে আপনার চোখকে সহজ করার জন্য একটি অন্ধকার থিম। এটা এখনও উন্নয়ন অধীনে, তাই কোনো সমস্যা আপনি খুঁজে পেতে পারেন রিপোর্ট করুন। ",
|
||||
"High contrast mode" : "উচ্চ বিপরীতে মোড ",
|
||||
"Enable high contrast mode" : "উচ্চতর বিপরীতে মোড সক্ষম করুন",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "আপনার নেভিগেশন সহজ করতে একটি উচ্চ বিপরীতে মোড। ভিজ্যুয়াল মান হ্রাস পাবে তবে স্বচ্ছতা বাড়ানো হবে। ",
|
||||
"Dyslexia font" : "ডিসলেক্সিয়া হরফ",
|
||||
"Enable dyslexia font" : "ডিসলেক্সিয়া হরফ সক্ষম করুন",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "ওপেনডাইলেক্সিক হ'ল ফ্রি টাইপফেস / হরফ ডিজাইলেসিয়া দ্বারা সৃষ্ট কিছু সাধারণ পাঠ্য ত্রুটি প্রশমিত করার জন্য ডিজাইন করা। ",
|
||||
"Accessibility" : "অ্যাক্সেসযোগ্যতা",
|
||||
"Accessibility options for nextcloud" : "নেক্সটক্লাউডের জন্য অ্যাক্সেসযোগ্যতার বিকল্পগুলি",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "নেক্সটক্লাউডের আপনার ব্যবহার সহজ করার জন্য একাধিক অ্যাক্সেসিবিলিটি বিকল্প সরবরাহ করে",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "সর্বজনীন অ্যাক্সেস আমাদের জন্য খুব গুরুত্বপূর্ণ। আমরা ওয়েব স্ট্যান্ডার্ডগুলি অনুসরণ করি এবং মাউস ছাড়াই এবং স্ক্রিনড্রেডারের মতো সহায়ক সফ্টওয়্যার ছাড়াও সবকিছুকে ব্যবহারযোগ্য করে তুলতে পরীক্ষা করে দেখি। আমরা এএএ স্তরে এমনকি উচ্চতর বিপরীতে থিম সহ, এএ স্তরের {নির্দেশিকা} ওয়েব সামগ্রী অ্যাক্সেসিবিলিটি নির্দেশিকা {লিনএন্ড} 2.1 এর সাথে অনুগত হতে লক্ষ্য করি।",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "আপনি যদি কোনও সমস্যা খুঁজে পান তবে তাদেরকে আমাদের ইস্যু ট্র্যাকার {লিনএন্ড} এ প্রতিবেদন করতে দ্বিধা করবেন না} এবং আপনি যদি এতে জড়িত থাকতে চান তবে আসুন {ডিজাইনটিয়াম} আমাদের ডিজাইন দল {লিনএন্ড} এ যোগদান করুন"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
|
|
@ -2,18 +2,18 @@ OC.L10N.register(
|
|||
"accessibility",
|
||||
{
|
||||
"Dark theme" : "Tmavý motiv vzhledu",
|
||||
"Enable dark theme" : "Zapnout tmavý motiv vzhledu",
|
||||
"Enable dark theme" : "Používat tmavý motiv vzhledu",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tmavý motiv vzhledu pro ulevení vašim očím snížením celkové svítivosti a jasu. Jeho vývoj zatím ještě není zcela dokončen, proto prosíme hlaste jakékoli problémy, se kterými se setkáte.",
|
||||
"High contrast mode" : "Režim s vysokým kontrastem",
|
||||
"Enable high contrast mode" : "Zapnout režim s vysokým kontrastem",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Režim s vysokým kontrastem pro usnadnění orientace při pohybu po aplikaci. Vizuální kvalita bude snížena, zato zřetelnost se zlepší.",
|
||||
"Dyslexia font" : "Písmo pro dyslektiky",
|
||||
"Enable dyslexia font" : "Použít písmo pro dyslektiky",
|
||||
"Enable dyslexia font" : "Používat písmo pro dyslektiky",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic je bezplatné písmo (font) navržené tak, aby odpomáhalo od některých běžných chybování při čtení, způsobených dyslexií.",
|
||||
"Accessibility" : "Zpřístupnění",
|
||||
"Accessibility options for nextcloud" : "Předvolby v Nexcloud pro zpřístupnění",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Poskytuje vícero možností zpřístupnění pro usnadnění používání Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Přístupnost pro všechny je pro nás velmi důležitá. Splňujeme webové standardy a zajišťujeme, aby všechno bylo použitelné i bez myši a s asistenčním software, jako například čtečkami obrazovky. Máme za cíl být v souladu s {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 na úrovni AA, při použití motivu vzhledu s vysokým kontrastem dokonce na úrovni AAA.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Pokud naleznete jakékoli problémy, neváhejte s jejich nahlášením do {issuetracker}našeho systému pro správu hlášení {linkend}. A pokud se chcete zapojit, přidejte se k {designteam}týmu našich designérů{linkend}!"
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Poskytuje vícero možností pro zpřístupnění a tím usnadnění používání Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Přístupnost pro všechny je pro nás velmi důležitá. Splňujeme webové standardy a zajišťujeme, aby všechno bylo použitelné i bez myši a s asistenčním software, jako například čtečkami obrazovky. Máme za cíl být v souladu s doporučeními {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 na úrovni AA, při použití motivu vzhledu s vysokým kontrastem dokonce na úrovni AAA.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Pokud naleznete jakékoli problémy, neváhejte s jejich nahlášením do {issuetracker}našeho systému pro správu hlášení{linkend}. A pokud se chcete zapojit, přidejte se k {designteam}týmu našich designérů{linkend}!"
|
||||
},
|
||||
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
{ "translations": {
|
||||
"Dark theme" : "Tmavý motiv vzhledu",
|
||||
"Enable dark theme" : "Zapnout tmavý motiv vzhledu",
|
||||
"Enable dark theme" : "Používat tmavý motiv vzhledu",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tmavý motiv vzhledu pro ulevení vašim očím snížením celkové svítivosti a jasu. Jeho vývoj zatím ještě není zcela dokončen, proto prosíme hlaste jakékoli problémy, se kterými se setkáte.",
|
||||
"High contrast mode" : "Režim s vysokým kontrastem",
|
||||
"Enable high contrast mode" : "Zapnout režim s vysokým kontrastem",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Režim s vysokým kontrastem pro usnadnění orientace při pohybu po aplikaci. Vizuální kvalita bude snížena, zato zřetelnost se zlepší.",
|
||||
"Dyslexia font" : "Písmo pro dyslektiky",
|
||||
"Enable dyslexia font" : "Použít písmo pro dyslektiky",
|
||||
"Enable dyslexia font" : "Používat písmo pro dyslektiky",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic je bezplatné písmo (font) navržené tak, aby odpomáhalo od některých běžných chybování při čtení, způsobených dyslexií.",
|
||||
"Accessibility" : "Zpřístupnění",
|
||||
"Accessibility options for nextcloud" : "Předvolby v Nexcloud pro zpřístupnění",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Poskytuje vícero možností zpřístupnění pro usnadnění používání Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Přístupnost pro všechny je pro nás velmi důležitá. Splňujeme webové standardy a zajišťujeme, aby všechno bylo použitelné i bez myši a s asistenčním software, jako například čtečkami obrazovky. Máme za cíl být v souladu s {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 na úrovni AA, při použití motivu vzhledu s vysokým kontrastem dokonce na úrovni AAA.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Pokud naleznete jakékoli problémy, neváhejte s jejich nahlášením do {issuetracker}našeho systému pro správu hlášení {linkend}. A pokud se chcete zapojit, přidejte se k {designteam}týmu našich designérů{linkend}!"
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Poskytuje vícero možností pro zpřístupnění a tím usnadnění používání Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Přístupnost pro všechny je pro nás velmi důležitá. Splňujeme webové standardy a zajišťujeme, aby všechno bylo použitelné i bez myši a s asistenčním software, jako například čtečkami obrazovky. Máme za cíl být v souladu s doporučeními {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 na úrovni AA, při použití motivu vzhledu s vysokým kontrastem dokonce na úrovni AAA.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Pokud naleznete jakékoli problémy, neváhejte s jejich nahlášením do {issuetracker}našeho systému pro správu hlášení{linkend}. A pokud se chcete zapojit, přidejte se k {designteam}týmu našich designérů{linkend}!"
|
||||
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@ OC.L10N.register(
|
|||
{
|
||||
"Dark theme" : "Tema oscuro",
|
||||
"Enable dark theme" : "Activar tema oscuro",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tema oscuro para facilitar la navegación reduciendo el brillo y la luminosidad. Aún se encuentra en desarrollo, así que por favor, comunique cualquier problema que encuentre.",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tema oscuro para facilitar la navegación, reduciendo el brillo y la luminosidad. Aún se encuentra en desarrollo, así que, por favor, comunique cualquier problema que encuentre.",
|
||||
"High contrast mode" : "Modo de alto contraste",
|
||||
"Enable high contrast mode" : "Activar modo de alto contraste",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Un modo de alto contraste para facilitar la navegación. Se reducirá la calidad visual pero se aumentará la claridad.",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ "translations": {
|
||||
"Dark theme" : "Tema oscuro",
|
||||
"Enable dark theme" : "Activar tema oscuro",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tema oscuro para facilitar la navegación reduciendo el brillo y la luminosidad. Aún se encuentra en desarrollo, así que por favor, comunique cualquier problema que encuentre.",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tema oscuro para facilitar la navegación, reduciendo el brillo y la luminosidad. Aún se encuentra en desarrollo, así que, por favor, comunique cualquier problema que encuentre.",
|
||||
"High contrast mode" : "Modo de alto contraste",
|
||||
"Enable high contrast mode" : "Activar modo de alto contraste",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Un modo de alto contraste para facilitar la navegación. Se reducirá la calidad visual pero se aumentará la claridad.",
|
||||
|
|
|
|||
|
|
@ -6,10 +6,14 @@ OC.L10N.register(
|
|||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Un tema oscuro para ayudar a tus ojos al reducir el brillo y luminosidad en general. Todavía está bajo desarrollo, así que por favor reporta cualquier problema que pudieras encontrar.",
|
||||
"High contrast mode" : "Modo de alto contraste",
|
||||
"Enable high contrast mode" : "Habilitar modo de alto contraste",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Modo de alto contraste para facilitar tu navegación. La calidad visual puede ser menor pero incrementa la claridad.",
|
||||
"Dyslexia font" : "Fuente para dislexia",
|
||||
"Enable dyslexia font" : "Habilitar fuente para dislexia",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es una tipografía/fuente diseñada para mitigar algunos de los errores comunes de lectura causados por dislexia.",
|
||||
"Accessibility" : "Accesibilidad",
|
||||
"Accessibility options for nextcloud" : "Opciones de accesibilidad para nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Provee múltiples opciones de accesibilidad para facilitar su uso de Nextcloud"
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Provee múltiples opciones de accesibilidad para facilitar tu uso de Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "El acceso universal es muy importante para nosotros. Seguimos los estándares web y verificamos que todo sea utilizable inclusive sin ratón, y con software de asistencia como lectores de pantalla. Buscamos cumplir con las {guidelines}Guías de Accesibilidad de Contenido Web{linkend} 2.1 sobre nivel AA, incluso sobre nivel AAA para el tema de alto contraste.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Si encuentras cualquier problema, no dudes en reportarlo en {issuetracker}nuestra lista de errores{linkend}. Y si deseas involucrarte, ¡únete a {designteam}nuestro equipo de diseño{linkend}!"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
|
|
|||
|
|
@ -4,10 +4,14 @@
|
|||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Un tema oscuro para ayudar a tus ojos al reducir el brillo y luminosidad en general. Todavía está bajo desarrollo, así que por favor reporta cualquier problema que pudieras encontrar.",
|
||||
"High contrast mode" : "Modo de alto contraste",
|
||||
"Enable high contrast mode" : "Habilitar modo de alto contraste",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Modo de alto contraste para facilitar tu navegación. La calidad visual puede ser menor pero incrementa la claridad.",
|
||||
"Dyslexia font" : "Fuente para dislexia",
|
||||
"Enable dyslexia font" : "Habilitar fuente para dislexia",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic es una tipografía/fuente diseñada para mitigar algunos de los errores comunes de lectura causados por dislexia.",
|
||||
"Accessibility" : "Accesibilidad",
|
||||
"Accessibility options for nextcloud" : "Opciones de accesibilidad para nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Provee múltiples opciones de accesibilidad para facilitar su uso de Nextcloud"
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Provee múltiples opciones de accesibilidad para facilitar tu uso de Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "El acceso universal es muy importante para nosotros. Seguimos los estándares web y verificamos que todo sea utilizable inclusive sin ratón, y con software de asistencia como lectores de pantalla. Buscamos cumplir con las {guidelines}Guías de Accesibilidad de Contenido Web{linkend} 2.1 sobre nivel AA, incluso sobre nivel AAA para el tema de alto contraste.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Si encuentras cualquier problema, no dudes en reportarlo en {issuetracker}nuestra lista de errores{linkend}. Y si deseas involucrarte, ¡únete a {designteam}nuestro equipo de diseño{linkend}!"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
|
|
@ -3,10 +3,12 @@ OC.L10N.register(
|
|||
{
|
||||
"Dark theme" : "Tume teema",
|
||||
"Enable dark theme" : "Luba tume teema",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tume teema vähedab koormust sinu silmadele, vähendades ekraani eredust. See funktsionaalsus on hetkel arendamisel, palun andke sellega seotud probleemidest meile teada.",
|
||||
"High contrast mode" : "Kõrge kontrastsusega režiim",
|
||||
"Enable high contrast mode" : "Lubage kõrge kontrastsusega režiim.",
|
||||
"Dyslexia font" : "Düsleksia font",
|
||||
"Enable dyslexia font" : "Luba düsleksia font",
|
||||
"Accessibility" : "Ligipääsetavus"
|
||||
"Accessibility" : "Ligipääsetavus",
|
||||
"Accessibility options for nextcloud" : "Ligipääsetavuse valikud Nextcloudis"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
{ "translations": {
|
||||
"Dark theme" : "Tume teema",
|
||||
"Enable dark theme" : "Luba tume teema",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tume teema vähedab koormust sinu silmadele, vähendades ekraani eredust. See funktsionaalsus on hetkel arendamisel, palun andke sellega seotud probleemidest meile teada.",
|
||||
"High contrast mode" : "Kõrge kontrastsusega režiim",
|
||||
"Enable high contrast mode" : "Lubage kõrge kontrastsusega režiim.",
|
||||
"Dyslexia font" : "Düsleksia font",
|
||||
"Enable dyslexia font" : "Luba düsleksia font",
|
||||
"Accessibility" : "Ligipääsetavus"
|
||||
"Accessibility" : "Ligipääsetavus",
|
||||
"Accessibility options for nextcloud" : "Ligipääsetavuse valikud Nextcloudis"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
|
|
@ -3,17 +3,17 @@ OC.L10N.register(
|
|||
{
|
||||
"Dark theme" : "Gai iluna",
|
||||
"Enable dark theme" : "Gaitu gai iluna",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Arindu begietako kaltea gai ilunaz argitasuna eta distira murriztuz. Garapenean dagoen aukera da, beraz aurkitu zenezakeen edozein arazoren berri eman.",
|
||||
"High contrast mode" : "Kontraste altuko modua",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Arindu begietako kaltea gai ilunaz argitasuna eta distira murriztuz. Garapenean dagoen aukera da, beraz, eman aurkitu zenezakeen edozein arazoren berri mesedez.",
|
||||
"High contrast mode" : "Kontraste handiko modua",
|
||||
"Enable high contrast mode" : "Gaitu kontraste handiko modua",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Kontraste altuko modua zuri nabigazioa errazteko. Kalitate bisuala murriztuko da baina argitasuna handiagotu.",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Kontraste handiko modua zuri nabigazioa errazteko. Kalitate bisuala murriztuko da baina argitasuna handiagotu.",
|
||||
"Dyslexia font" : "Dislexia letra-tipoa",
|
||||
"Enable dyslexia font" : "Gaitu dislexia letra-tipoa",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic letra-tipo librea da dislexiak eragindako ohiko irakurketa akats batzuk leuntzeko diseinatua.",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic letra-tipo librea da, dislexiak eragindako ohiko irakurketa akats batzuk leuntzeko diseinatua.",
|
||||
"Accessibility" : "Erabilerraztasuna",
|
||||
"Accessibility options for nextcloud" : "Erabilerraztasun aukerak nextcloudentzat",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Nextcloud-en erabilera errazteko hainbat aukera eskaintzen ditu.",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Sarbide unibertsala oso garrantzitsua da guretzat. Web estadandarrak jarraitu eta sagu gabeko erabiltasuna egiaztatzen ditugu, pantaila-irakurle moduko software laguntzaileak barne. Helburu bezala jartzen dugu {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 AA mailan betetzea, kontraste altuko modua AAA mailaraino lortuz.",
|
||||
"Accessibility options for nextcloud" : "Erabilerraztasun aukerak Nextcloudentzat",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Nextclouden erabilera errazteko hainbat aukera eskaintzen ditu.",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Sarbide unibertsala izatea oso garrantzitsua da guretzat. Web estadandarrak jarraitu eta guztia sagurik gabe erabili ahal izatea bermatzen dugu, pantaila-irakurle moduko software laguntzaileak barne. Helburu bezala jartzen dugu {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 AA mailan betetzea, kontraste altuko modua AAA mailaraino betez.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Arazorik aurkitzen baduzu, bidali ezazu lasai {issuetracker}gure arazo-kontrolatzailera{linkend}. Eta parte hartu nahi baduzu, elkartu zaitez gurekin {designteam}gure diseinu taldera{linkend}!"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
{ "translations": {
|
||||
"Dark theme" : "Gai iluna",
|
||||
"Enable dark theme" : "Gaitu gai iluna",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Arindu begietako kaltea gai ilunaz argitasuna eta distira murriztuz. Garapenean dagoen aukera da, beraz aurkitu zenezakeen edozein arazoren berri eman.",
|
||||
"High contrast mode" : "Kontraste altuko modua",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Arindu begietako kaltea gai ilunaz argitasuna eta distira murriztuz. Garapenean dagoen aukera da, beraz, eman aurkitu zenezakeen edozein arazoren berri mesedez.",
|
||||
"High contrast mode" : "Kontraste handiko modua",
|
||||
"Enable high contrast mode" : "Gaitu kontraste handiko modua",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Kontraste altuko modua zuri nabigazioa errazteko. Kalitate bisuala murriztuko da baina argitasuna handiagotu.",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Kontraste handiko modua zuri nabigazioa errazteko. Kalitate bisuala murriztuko da baina argitasuna handiagotu.",
|
||||
"Dyslexia font" : "Dislexia letra-tipoa",
|
||||
"Enable dyslexia font" : "Gaitu dislexia letra-tipoa",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic letra-tipo librea da dislexiak eragindako ohiko irakurketa akats batzuk leuntzeko diseinatua.",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic letra-tipo librea da, dislexiak eragindako ohiko irakurketa akats batzuk leuntzeko diseinatua.",
|
||||
"Accessibility" : "Erabilerraztasuna",
|
||||
"Accessibility options for nextcloud" : "Erabilerraztasun aukerak nextcloudentzat",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Nextcloud-en erabilera errazteko hainbat aukera eskaintzen ditu.",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Sarbide unibertsala oso garrantzitsua da guretzat. Web estadandarrak jarraitu eta sagu gabeko erabiltasuna egiaztatzen ditugu, pantaila-irakurle moduko software laguntzaileak barne. Helburu bezala jartzen dugu {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 AA mailan betetzea, kontraste altuko modua AAA mailaraino lortuz.",
|
||||
"Accessibility options for nextcloud" : "Erabilerraztasun aukerak Nextcloudentzat",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Nextclouden erabilera errazteko hainbat aukera eskaintzen ditu.",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Sarbide unibertsala izatea oso garrantzitsua da guretzat. Web estadandarrak jarraitu eta guztia sagurik gabe erabili ahal izatea bermatzen dugu, pantaila-irakurle moduko software laguntzaileak barne. Helburu bezala jartzen dugu {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 AA mailan betetzea, kontraste altuko modua AAA mailaraino betez.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Arazorik aurkitzen baduzu, bidali ezazu lasai {issuetracker}gure arazo-kontrolatzailera{linkend}. Eta parte hartu nahi baduzu, elkartu zaitez gurekin {designteam}gure diseinu taldera{linkend}!"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
OC.L10N.register(
|
||||
"accessibility",
|
||||
{
|
||||
"Dark theme" : "تم تاریک",
|
||||
"Enable dark theme" : "فعالسازی تم تاریک",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "تم تاریک برای با کاهش نور و نیز شفافیت برای راحتی بیشتر چشمان شما در استفاده از نکست کلود تعبیه دیده شده است و این امکان در حال توسعه می باشد،به همین دلیل هرگونه ایراد پیش آمده را گزارش دهید.",
|
||||
"Dark theme" : "زمینه تیره",
|
||||
"Enable dark theme" : "فعالسازی زمینه تیره",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "یک زمینه تیره برای راحتی چشمهای شما با کاهش رویهمرفته درخشندگی و روشنایی. این امکان هنوز در حال توسعه میباشد، بنابراین در صورت مشاهده هرگونه ایراد، آن را گزارش کنید.",
|
||||
"High contrast mode" : "حالت با کنتراست بالا",
|
||||
"Enable high contrast mode" : "فعالسازی حالت کنتراست بالا",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "یک حالت کنتراست بالا برای سهولت در پیمایش. کیفیت بصری کاهش می یابد اما وضوح افزایش می یابد.",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ "translations": {
|
||||
"Dark theme" : "تم تاریک",
|
||||
"Enable dark theme" : "فعالسازی تم تاریک",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "تم تاریک برای با کاهش نور و نیز شفافیت برای راحتی بیشتر چشمان شما در استفاده از نکست کلود تعبیه دیده شده است و این امکان در حال توسعه می باشد،به همین دلیل هرگونه ایراد پیش آمده را گزارش دهید.",
|
||||
"Dark theme" : "زمینه تیره",
|
||||
"Enable dark theme" : "فعالسازی زمینه تیره",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "یک زمینه تیره برای راحتی چشمهای شما با کاهش رویهمرفته درخشندگی و روشنایی. این امکان هنوز در حال توسعه میباشد، بنابراین در صورت مشاهده هرگونه ایراد، آن را گزارش کنید.",
|
||||
"High contrast mode" : "حالت با کنتراست بالا",
|
||||
"Enable high contrast mode" : "فعالسازی حالت کنتراست بالا",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "یک حالت کنتراست بالا برای سهولت در پیمایش. کیفیت بصری کاهش می یابد اما وضوح افزایش می یابد.",
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
OC.L10N.register(
|
||||
"accessibility",
|
||||
{
|
||||
"Dark theme" : "Tummateema",
|
||||
"Enable dark theme" : "Käytä tummaateemaa",
|
||||
"Dark theme" : "Tumma teema",
|
||||
"Enable dark theme" : "Käytä tummaa teemaa",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tumma teema helpottaa silmien rasitusta vähentämällä kokonaiskirkkautta. Teemaa kehitetään edelleen, joten ilmoitathan mahdollisesti kohtaamasi ongelmat.",
|
||||
"High contrast mode" : "Suuren kontrastin tila",
|
||||
"Enable high contrast mode" : "Käytä suuren kontrastin tilaa",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{ "translations": {
|
||||
"Dark theme" : "Tummateema",
|
||||
"Enable dark theme" : "Käytä tummaateemaa",
|
||||
"Dark theme" : "Tumma teema",
|
||||
"Enable dark theme" : "Käytä tummaa teemaa",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tumma teema helpottaa silmien rasitusta vähentämällä kokonaiskirkkautta. Teemaa kehitetään edelleen, joten ilmoitathan mahdollisesti kohtaamasi ongelmat.",
|
||||
"High contrast mode" : "Suuren kontrastin tila",
|
||||
"Enable high contrast mode" : "Käytä suuren kontrastin tilaa",
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ OC.L10N.register(
|
|||
{
|
||||
"Dark theme" : "Thème sombre",
|
||||
"Enable dark theme" : "Activer le thème sombre",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Un thème sombre pour soulager vos yeux en réduisant la luminosité et l’éclat général. Il est encore en cours de développement, veuillez donc nous signaler les problèmes que vous pourriez rencontrer.",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Un thème sombre pour soulager vos yeux en réduisant la luminosité générale. Il est encore en cours de développement, veuillez donc nous signaler les problèmes que vous pourriez rencontrer.",
|
||||
"High contrast mode" : "Thème à contraste élevé",
|
||||
"Enable high contrast mode" : "Activer le thème à contraste élevé",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Un thème au contraste élevé pour faciliter votre navigation. La qualité visuelle sera réduite, mais la clarté sera améliorée.",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ "translations": {
|
||||
"Dark theme" : "Thème sombre",
|
||||
"Enable dark theme" : "Activer le thème sombre",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Un thème sombre pour soulager vos yeux en réduisant la luminosité et l’éclat général. Il est encore en cours de développement, veuillez donc nous signaler les problèmes que vous pourriez rencontrer.",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Un thème sombre pour soulager vos yeux en réduisant la luminosité générale. Il est encore en cours de développement, veuillez donc nous signaler les problèmes que vous pourriez rencontrer.",
|
||||
"High contrast mode" : "Thème à contraste élevé",
|
||||
"Enable high contrast mode" : "Activer le thème à contraste élevé",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Un thème au contraste élevé pour faciliter votre navigation. La qualité visuelle sera réduite, mais la clarté sera améliorée.",
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ OC.L10N.register(
|
|||
"Dyslexia font" : "Font disleksia",
|
||||
"Enable dyslexia font" : "Aktifkan fon disleksia",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic adalah typeface/font gratis yang didesain untuk mengurangi kesalahan membaca oleh penderita disleksia",
|
||||
"Accessibility" : "aksesbilitas",
|
||||
"Accessibility" : "Aksesbilitas",
|
||||
"Accessibility options for nextcloud" : "Opsi aksesibilitas untuk nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Menyediakan beberapa opsi aksesibilitas untuk memudahkan Anda menggunakan Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Akses universal sangat penting bagi kami. Kami mengikuti standar web dan memeriksa agar semua dapat digunakan, bahkan saat tanpa menggunakan tetikus, dan lainnya seperti perangkat lunak pembantu pembaca layar. Kami bertujuan untuk mematuhi {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 pada tingkat AA, dengan tema kontras tinggi bahkan pada tingkat AAA.",
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
"Dyslexia font" : "Font disleksia",
|
||||
"Enable dyslexia font" : "Aktifkan fon disleksia",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic adalah typeface/font gratis yang didesain untuk mengurangi kesalahan membaca oleh penderita disleksia",
|
||||
"Accessibility" : "aksesbilitas",
|
||||
"Accessibility" : "Aksesbilitas",
|
||||
"Accessibility options for nextcloud" : "Opsi aksesibilitas untuk nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Menyediakan beberapa opsi aksesibilitas untuk memudahkan Anda menggunakan Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Akses universal sangat penting bagi kami. Kami mengikuti standar web dan memeriksa agar semua dapat digunakan, bahkan saat tanpa menggunakan tetikus, dan lainnya seperti perangkat lunak pembantu pembaca layar. Kami bertujuan untuk mematuhi {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 pada tingkat AA, dengan tema kontras tinggi bahkan pada tingkat AAA.",
|
||||
|
|
|
|||
|
|
@ -1,17 +1,19 @@
|
|||
OC.L10N.register(
|
||||
"accessibility",
|
||||
{
|
||||
"Dark theme" : "Mørkt tema",
|
||||
"Enable dark theme" : "Mogleggjere mørkt tema",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Ei mørk drakt som er mildare mot augo ved å redusera utstråling og lysstyrke. Drakta vert framleis utvikla, så sei gjerne ifrå dersom du får vanskar.",
|
||||
"High contrast mode" : "Høg kontrast modus",
|
||||
"Enable high contrast mode" : "Mogleggjere høg kontrast modus",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Høg kontrast modus gjer det enklare å navigere. Visuell kvalitet vil bli redusert, mens innhaldet vert klårare.",
|
||||
"Dyslexia font" : "Dysleksi-skrifttype",
|
||||
"Enable dyslexia font" : "Mogleggjere skrifttype for dysleksikarar ",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic er ein gratis skrifttype som er laga for å redusera nokre vanlege lesefeil som kjem av dysleksi.",
|
||||
"Accessibility" : "Tilgjenge",
|
||||
"Accessibility options for nextcloud" : "Brukarval for tilgjenge i Nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Ulike innstillingar for å gjera Nextcloud lettare å bruka for funksjonshemma",
|
||||
"High contrast theme" : "Høgkontrast-drakt",
|
||||
"A high contrast theme to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Ei drakt med høg kontrast som gjer det lettare å navigera. Den visuelle kvaliteten er redusert, men innhaldet er klårare.",
|
||||
"Web Content Accessibility Guidelines" : "Retningsliner for tilgjenge i vev-innhald",
|
||||
"our issue tracker" : "feilsporings-systemet vårt",
|
||||
"our design team" : "utformingsgruppa vår",
|
||||
"Enable" : "Slå på"
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universell tilgang er veldig viktig for oss. Vi følg vev standardar og undersøkjer at alt er mogleg å gjennomføre utan mus, og saman med hjelpeprogramvare som skjermlesar. Vi har som mål å vere i samsvar med {retningslinjene} Retningslinjer for tilgjengeleg nett innhald {lenkje} 2.1 for A-nivå, til og med for tema med høy kontrast på AAA-nivå. ",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "I tilfele du finn nokre problem, ikkje vent med å rapportere dei på {problemsøkjar} vår problemsøkjar {lenkje}. Og ønskjer du å engasjere deg, ta del i {designergruppa} designergruppa vår {lenkje}!"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
|
|
|||
|
|
@ -1,15 +1,17 @@
|
|||
{ "translations": {
|
||||
"Dark theme" : "Mørkt tema",
|
||||
"Enable dark theme" : "Mogleggjere mørkt tema",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Ei mørk drakt som er mildare mot augo ved å redusera utstråling og lysstyrke. Drakta vert framleis utvikla, så sei gjerne ifrå dersom du får vanskar.",
|
||||
"High contrast mode" : "Høg kontrast modus",
|
||||
"Enable high contrast mode" : "Mogleggjere høg kontrast modus",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Høg kontrast modus gjer det enklare å navigere. Visuell kvalitet vil bli redusert, mens innhaldet vert klårare.",
|
||||
"Dyslexia font" : "Dysleksi-skrifttype",
|
||||
"Enable dyslexia font" : "Mogleggjere skrifttype for dysleksikarar ",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic er ein gratis skrifttype som er laga for å redusera nokre vanlege lesefeil som kjem av dysleksi.",
|
||||
"Accessibility" : "Tilgjenge",
|
||||
"Accessibility options for nextcloud" : "Brukarval for tilgjenge i Nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Ulike innstillingar for å gjera Nextcloud lettare å bruka for funksjonshemma",
|
||||
"High contrast theme" : "Høgkontrast-drakt",
|
||||
"A high contrast theme to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Ei drakt med høg kontrast som gjer det lettare å navigera. Den visuelle kvaliteten er redusert, men innhaldet er klårare.",
|
||||
"Web Content Accessibility Guidelines" : "Retningsliner for tilgjenge i vev-innhald",
|
||||
"our issue tracker" : "feilsporings-systemet vårt",
|
||||
"our design team" : "utformingsgruppa vår",
|
||||
"Enable" : "Slå på"
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universell tilgang er veldig viktig for oss. Vi følg vev standardar og undersøkjer at alt er mogleg å gjennomføre utan mus, og saman med hjelpeprogramvare som skjermlesar. Vi har som mål å vere i samsvar med {retningslinjene} Retningslinjer for tilgjengeleg nett innhald {lenkje} 2.1 for A-nivå, til og med for tema med høy kontrast på AAA-nivå. ",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "I tilfele du finn nokre problem, ikkje vent med å rapportere dei på {problemsøkjar} vår problemsøkjar {lenkje}. Og ønskjer du å engasjere deg, ta del i {designergruppa} designergruppa vår {lenkje}!"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@ OC.L10N.register(
|
|||
{
|
||||
"Dark theme" : "Ciemny motyw",
|
||||
"Enable dark theme" : "Włącz ciemny motyw",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Ciemny motyw, który łagodzi zmęczenie oczu, zmniejszając ogólną jasność. Nadal jest w fazie rozwoju, więc proszę zgłaszać wszelkie zauważone błędy.",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Ciemny motyw, który łagodzi zmęczenie oczu, zmniejszając ogólną jasność. Nadal jest w fazie rozwoju, więc zgłaszaj wszelkie zauważone błędy.",
|
||||
"High contrast mode" : "Tryb wysokiego kontrastu",
|
||||
"Enable high contrast mode" : "Włącz tryb wysokiego kontrastu",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Tryb wysokiego kontrastu ułatwiający nawigację. Jakość obrazu zostanie zmniejszona, celem poprawy przejrzystości.",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ "translations": {
|
||||
"Dark theme" : "Ciemny motyw",
|
||||
"Enable dark theme" : "Włącz ciemny motyw",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Ciemny motyw, który łagodzi zmęczenie oczu, zmniejszając ogólną jasność. Nadal jest w fazie rozwoju, więc proszę zgłaszać wszelkie zauważone błędy.",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Ciemny motyw, który łagodzi zmęczenie oczu, zmniejszając ogólną jasność. Nadal jest w fazie rozwoju, więc zgłaszaj wszelkie zauważone błędy.",
|
||||
"High contrast mode" : "Tryb wysokiego kontrastu",
|
||||
"Enable high contrast mode" : "Włącz tryb wysokiego kontrastu",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Tryb wysokiego kontrastu ułatwiający nawigację. Jakość obrazu zostanie zmniejszona, celem poprawy przejrzystości.",
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ OC.L10N.register(
|
|||
"accessibility",
|
||||
{
|
||||
"Dark theme" : "Tema escuro",
|
||||
"Enable dark theme" : "Ativar tema escuro",
|
||||
"Enable dark theme" : "Enable dark theme",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Um tema escuro para aliviar os olhos, reduzindo a luminosidade e brilho geral. Ainda está em desenvolvimento, por isso, informe qualquer problema encontrado.",
|
||||
"High contrast mode" : "Modo de alto contraste",
|
||||
"Enable high contrast mode" : "Ativar modo de alto contraste",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{ "translations": {
|
||||
"Dark theme" : "Tema escuro",
|
||||
"Enable dark theme" : "Ativar tema escuro",
|
||||
"Enable dark theme" : "Enable dark theme",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Um tema escuro para aliviar os olhos, reduzindo a luminosidade e brilho geral. Ainda está em desenvolvimento, por isso, informe qualquer problema encontrado.",
|
||||
"High contrast mode" : "Modo de alto contraste",
|
||||
"Enable high contrast mode" : "Ativar modo de alto contraste",
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ OC.L10N.register(
|
|||
{
|
||||
"Dark theme" : "Tema escuro",
|
||||
"Enable dark theme" : "Ativar tema escuro",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Um tema escuro para descansar os olhos reduzindo a luminosidade e o brilho. Ainda está em desenvolvimento, pelo que tenha a gentileza de reportar quaisquer erros que encontre.",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Um tema escuro para descansar os olhos reduzindo a luminosidade e o brilho. Ainda está em desenvolvimento, pelo que por favor reporte quaisquer erros que encontre.",
|
||||
"High contrast mode" : "Modo de alto contraste",
|
||||
"Enable high contrast mode" : "Ativar modo de alto contraste",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Um modo de alto contraste para facilitar sua navegação. A qualidade visual será reduzida, mas a clareza será aumentada.",
|
||||
|
|
@ -13,7 +13,7 @@ OC.L10N.register(
|
|||
"Accessibility" : "Acessibilidade",
|
||||
"Accessibility options for nextcloud" : "Opções de acessibilidade para nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Fornece várias opções de acessibilidade para facilitar a sua utilização do Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "O acesso universal é muito importante para nós. Seguimos os padrões da web e verificamos para tornar tudo utilizável também sem mouse e software auxiliar, como leitores de tela. O nosso objetivo é estar em conformidade com as {guidelines} Diretrizes de acessibilidade para o conteúdo da Web {linkend} 2.1 no nível AA, com o tema de alto contraste, mesmo no nível AAA.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Se você encontrar algum problema, não hesite em denunciá-lo no {issuetracker} o nosso rastreador de problemas {linkend}. E se quiser participar, venha juntar-se à {designteam} a nossa equipa de design {linkend}!"
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "O acesso universal é muito importante para nós. Seguimos os padrões da web e verificamos para tornar tudo utilizável também sem rato e software auxiliar, como leitores de ecrã. O nosso objetivo é estar em conformidade com as {guidelines} Diretrizes de acessibilidade para o conteúdo da Web {linkend} 2.1 no nível AA, com o tema de alto contraste, mesmo no nível AAA.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Se você encontrar algum problema, não hesite em o reportar no {issuetracker} nosso issue tracker {linkend}. E se quiser participar, venha juntar-se à {designteam} a nossa equipa de design {linkend}!"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ "translations": {
|
||||
"Dark theme" : "Tema escuro",
|
||||
"Enable dark theme" : "Ativar tema escuro",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Um tema escuro para descansar os olhos reduzindo a luminosidade e o brilho. Ainda está em desenvolvimento, pelo que tenha a gentileza de reportar quaisquer erros que encontre.",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Um tema escuro para descansar os olhos reduzindo a luminosidade e o brilho. Ainda está em desenvolvimento, pelo que por favor reporte quaisquer erros que encontre.",
|
||||
"High contrast mode" : "Modo de alto contraste",
|
||||
"Enable high contrast mode" : "Ativar modo de alto contraste",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Um modo de alto contraste para facilitar sua navegação. A qualidade visual será reduzida, mas a clareza será aumentada.",
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
"Accessibility" : "Acessibilidade",
|
||||
"Accessibility options for nextcloud" : "Opções de acessibilidade para nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Fornece várias opções de acessibilidade para facilitar a sua utilização do Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "O acesso universal é muito importante para nós. Seguimos os padrões da web e verificamos para tornar tudo utilizável também sem mouse e software auxiliar, como leitores de tela. O nosso objetivo é estar em conformidade com as {guidelines} Diretrizes de acessibilidade para o conteúdo da Web {linkend} 2.1 no nível AA, com o tema de alto contraste, mesmo no nível AAA.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Se você encontrar algum problema, não hesite em denunciá-lo no {issuetracker} o nosso rastreador de problemas {linkend}. E se quiser participar, venha juntar-se à {designteam} a nossa equipa de design {linkend}!"
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "O acesso universal é muito importante para nós. Seguimos os padrões da web e verificamos para tornar tudo utilizável também sem rato e software auxiliar, como leitores de ecrã. O nosso objetivo é estar em conformidade com as {guidelines} Diretrizes de acessibilidade para o conteúdo da Web {linkend} 2.1 no nível AA, com o tema de alto contraste, mesmo no nível AAA.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Se você encontrar algum problema, não hesite em o reportar no {issuetracker} nosso issue tracker {linkend}. E se quiser participar, venha juntar-se à {designteam} a nossa equipa de design {linkend}!"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@ OC.L10N.register(
|
|||
{
|
||||
"Dark theme" : "Temă întunecată",
|
||||
"Enable dark theme" : "Activați tema întunecată",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Temă întunecată pentru ușurarea ochilor prin reducerea generală a luminozității. Temă în curs de dezvoltare deci vă rugăm să raportați orice problemă găsită.",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "O temă întunecată pentru ușurarea ochilor prin reducerea generală a luminozității. Temă în curs de dezvoltare deci vă rugăm să raportați orice problemă găsită.",
|
||||
"High contrast mode" : "Modul contrast puternic.",
|
||||
"Enable high contrast mode" : "Activați tema cu contrast înalt",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Un contrast puternic poate ușura utilizarea. Calitatea vizuală va fi redusă, dar claritatea va fi ridicată.",
|
||||
|
|
@ -14,6 +14,6 @@ OC.L10N.register(
|
|||
"Accessibility options for nextcloud" : "Opțiuni de accesibilitate pentru nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Vă oferă opțiuni multiple de accesibilitate pentru a simplifica utilizarea Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Accesul universal este foarte important pentru noi. Urmărim standardele web și verificăm să facem ca toate funcțiile să poată fii utilizate și fără mouse și software de asistență, cum ar fi sofware de citit ecranul. Ne propunem să fim conformi cu {guidelines} Accesibilitatea conținutului web {linkend} 2.1 la nivel AA, cu tema de contrast ridicat chiar și la nivel AAA.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Dacă găsiți probleme, nu ezitați să le raportați la {issuetracker} următorul nostru de probleme {linkend}. Și dacă doriți să vă implicați, participați la {designteam} echipa noastră de design {linkend}!"
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Dacă găsiți probleme, nu ezitați să le raportați la {issuetracker} tracker-ul nostru de probleme {linkend}. Și dacă doriți să vă implicați, participați în {designteam} echipa noastră de design {linkend}!"
|
||||
},
|
||||
"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ "translations": {
|
||||
"Dark theme" : "Temă întunecată",
|
||||
"Enable dark theme" : "Activați tema întunecată",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Temă întunecată pentru ușurarea ochilor prin reducerea generală a luminozității. Temă în curs de dezvoltare deci vă rugăm să raportați orice problemă găsită.",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "O temă întunecată pentru ușurarea ochilor prin reducerea generală a luminozității. Temă în curs de dezvoltare deci vă rugăm să raportați orice problemă găsită.",
|
||||
"High contrast mode" : "Modul contrast puternic.",
|
||||
"Enable high contrast mode" : "Activați tema cu contrast înalt",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Un contrast puternic poate ușura utilizarea. Calitatea vizuală va fi redusă, dar claritatea va fi ridicată.",
|
||||
|
|
@ -12,6 +12,6 @@
|
|||
"Accessibility options for nextcloud" : "Opțiuni de accesibilitate pentru nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Vă oferă opțiuni multiple de accesibilitate pentru a simplifica utilizarea Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Accesul universal este foarte important pentru noi. Urmărim standardele web și verificăm să facem ca toate funcțiile să poată fii utilizate și fără mouse și software de asistență, cum ar fi sofware de citit ecranul. Ne propunem să fim conformi cu {guidelines} Accesibilitatea conținutului web {linkend} 2.1 la nivel AA, cu tema de contrast ridicat chiar și la nivel AAA.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Dacă găsiți probleme, nu ezitați să le raportați la {issuetracker} următorul nostru de probleme {linkend}. Și dacă doriți să vă implicați, participați la {designteam} echipa noastră de design {linkend}!"
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Dacă găsiți probleme, nu ezitați să le raportați la {issuetracker} tracker-ul nostru de probleme {linkend}. Și dacă doriți să vă implicați, participați în {designteam} echipa noastră de design {linkend}!"
|
||||
},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"
|
||||
}
|
||||
|
|
@ -13,7 +13,7 @@ OC.L10N.register(
|
|||
"Accessibility" : "Atzessibilidade",
|
||||
"Accessibility options for nextcloud" : "Sèberos de atzessibilidade pro nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Frunit sèberos de atzessibilidade pro agiudare s'impreu tuo de Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "S'atzessu universale est de importu mannu pro nois. Sighimus is istandard de sa rete e chircamus de fàghere chi totu si potzat impreare chene cursore puru, e cun programmas de assistèntzia comente leghidores de ischermu. S'intentu nostru est de acumprire is inditos de is {lìniasghia}Lìinas ghia cuntenutos de rete{linkend} 2.1 a su livellu AA, cun su tema de cuntrastu artu a su livellu AAA.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Si agatas problemas, no istentes a ddu sinnalare a {rastradoredeproblemas}su rastradore nostru{linkend}. E si nos cheres agiudare, intra in {grupudedisegnu}su grupu de disegnu nostru{linkend}!"
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "S'atzessu universale est de importu mannu pro nois. Sighimus is istandard de sa rete e chircamus de fàghere chi totu si potzat impreare chene cursore puru, e cun programmas de assistèntzia comente leghidores de ischermu. S'intentu nostru est de acumprire is inditos de is {guidelines}Lìinas ghia cuntenutos de rete{linkend} 2.1 a su livellu AA, cun su tema de cuntrastu artu a su livellu AAA.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Si agatas problemas, no istentes a ddu sinnalare a {issuetracker}su rastradore nostru{linkend}. E si nos cheres agiudare, intra in {designteam}su grupu de disegnu nostru{linkend}!"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
"Accessibility" : "Atzessibilidade",
|
||||
"Accessibility options for nextcloud" : "Sèberos de atzessibilidade pro nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Frunit sèberos de atzessibilidade pro agiudare s'impreu tuo de Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "S'atzessu universale est de importu mannu pro nois. Sighimus is istandard de sa rete e chircamus de fàghere chi totu si potzat impreare chene cursore puru, e cun programmas de assistèntzia comente leghidores de ischermu. S'intentu nostru est de acumprire is inditos de is {lìniasghia}Lìinas ghia cuntenutos de rete{linkend} 2.1 a su livellu AA, cun su tema de cuntrastu artu a su livellu AAA.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Si agatas problemas, no istentes a ddu sinnalare a {rastradoredeproblemas}su rastradore nostru{linkend}. E si nos cheres agiudare, intra in {grupudedisegnu}su grupu de disegnu nostru{linkend}!"
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "S'atzessu universale est de importu mannu pro nois. Sighimus is istandard de sa rete e chircamus de fàghere chi totu si potzat impreare chene cursore puru, e cun programmas de assistèntzia comente leghidores de ischermu. S'intentu nostru est de acumprire is inditos de is {guidelines}Lìinas ghia cuntenutos de rete{linkend} 2.1 a su livellu AA, cun su tema de cuntrastu artu a su livellu AAA.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Si agatas problemas, no istentes a ddu sinnalare a {issuetracker}su rastradore nostru{linkend}. E si nos cheres agiudare, intra in {designteam}su grupu de disegnu nostru{linkend}!"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
|
|
@ -2,13 +2,18 @@ OC.L10N.register(
|
|||
"accessibility",
|
||||
{
|
||||
"Dark theme" : "Temë e errët",
|
||||
"Enable dark theme" : "Aktivizo temën e errët",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Një temë e errët për të lehtësuar sytë duke ulur shkëlqimin dhe ndritshmërinë e përgjithshme. Është ende në zhvillim, prandaj ju lutemi raportoni çdo çështje që mund të gjeni.",
|
||||
"High contrast mode" : "Modalitet me kontrast të lartë",
|
||||
"Enable high contrast mode" : "Aktivizoni modalitetin me kontrast të lartë",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Një modalitet me kontrast të lartë për të lehtësuar lundrimin. Cilësia vizuale do të reduktohet por qartësia do të rritet",
|
||||
"Dyslexia font" : "Fonti Dyslexia",
|
||||
"Enable dyslexia font" : "Aktivizo fontin e disleksisë",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic është një font / karakter tipografik i lirë i dizajnuar për të zbutur disa nga gabimet e zakonshme të leximit të shkaktuara nga disleksija.",
|
||||
"Accessibility" : "Aksesueshmëria",
|
||||
"Accessibility options for nextcloud" : "Opsionet e aksesueshmërisë për nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Mundëson shumë opsione të aksesueshmërisë që t'ju lehtësojë përdorimin e Nextcloud"
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Mundëson shumë opsione të aksesueshmërisë që t'ju lehtësojë përdorimin e Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Qasja universale është shumë e rëndësishme për ne. Ne ndjekim standardet e uebit dhe kontrollojmë që çdo gjë të jetë e përdorshme edhe pa miun, dhe softuerë ndihmës siç janë lexuesit e ekranit. Ne synojmë të jemi në përputhje me {udhëzimet}Udhëzimet mbi Aksesueshmërinë për Përmbajtjen në Internet{linkend} 2.1 në nivelin AA, me temën e kontrastit të lartë edhe në nivelin AAA.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Nëse gjeni ndonjë problem, mos hezitoni t'i raportoni ato në {issuetracker}gjurmuesi ynë i çështjeve{linkend}. Dhe nëse doni të përfshiheni, ejani bashkohuni me {designteam}ekipin tonë të dizajnit{linkend}!"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
|
|
|||
|
|
@ -1,12 +1,17 @@
|
|||
{ "translations": {
|
||||
"Dark theme" : "Temë e errët",
|
||||
"Enable dark theme" : "Aktivizo temën e errët",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Një temë e errët për të lehtësuar sytë duke ulur shkëlqimin dhe ndritshmërinë e përgjithshme. Është ende në zhvillim, prandaj ju lutemi raportoni çdo çështje që mund të gjeni.",
|
||||
"High contrast mode" : "Modalitet me kontrast të lartë",
|
||||
"Enable high contrast mode" : "Aktivizoni modalitetin me kontrast të lartë",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Një modalitet me kontrast të lartë për të lehtësuar lundrimin. Cilësia vizuale do të reduktohet por qartësia do të rritet",
|
||||
"Dyslexia font" : "Fonti Dyslexia",
|
||||
"Enable dyslexia font" : "Aktivizo fontin e disleksisë",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic është një font / karakter tipografik i lirë i dizajnuar për të zbutur disa nga gabimet e zakonshme të leximit të shkaktuara nga disleksija.",
|
||||
"Accessibility" : "Aksesueshmëria",
|
||||
"Accessibility options for nextcloud" : "Opsionet e aksesueshmërisë për nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Mundëson shumë opsione të aksesueshmërisë që t'ju lehtësojë përdorimin e Nextcloud"
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Mundëson shumë opsione të aksesueshmërisë që t'ju lehtësojë përdorimin e Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Qasja universale është shumë e rëndësishme për ne. Ne ndjekim standardet e uebit dhe kontrollojmë që çdo gjë të jetë e përdorshme edhe pa miun, dhe softuerë ndihmës siç janë lexuesit e ekranit. Ne synojmë të jemi në përputhje me {udhëzimet}Udhëzimet mbi Aksesueshmërinë për Përmbajtjen në Internet{linkend} 2.1 në nivelin AA, me temën e kontrastit të lartë edhe në nivelin AAA.",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Nëse gjeni ndonjë problem, mos hezitoni t'i raportoni ato në {issuetracker}gjurmuesi ynë i çështjeve{linkend}. Dhe nëse doni të përfshiheni, ejani bashkohuni me {designteam}ekipin tonë të dizajnit{linkend}!"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
|
|
@ -1,19 +1,19 @@
|
|||
OC.L10N.register(
|
||||
"accessibility",
|
||||
{
|
||||
"Dark theme" : "รูปแบบ สีเข้ม",
|
||||
"Enable dark theme" : "เปิด รูปแบบ สีเข้ม",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "รูปแบบสีเข้ม ทำให้ดวงตาของคุณสบายขึ้นโดยลดแสงส่องสว่าง และความสว่าง มันยังอยู่ระหว่างการพัฒนา, ดังนั้นโปรดรายงานปัญหาใด ๆ ที่คุณอาจจะพบ",
|
||||
"Dark theme" : "ธีมสีเข้ม",
|
||||
"Enable dark theme" : "เปิดใช้ธีมสีเข้ม",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "ธีมสีเข้มทำให้ดวงตาของคุณสบายขึ้น โดยลดแสงส่องสว่าง และความสว่างโดยรวม ซึ่งยังอยู่ระหว่างการพัฒนา ดังนั้นโปรดรายงานปัญหาใด ๆ ที่คุณอาจพบ",
|
||||
"High contrast mode" : "โหมดความคมชัดสูง",
|
||||
"Enable high contrast mode" : "เปิด โหมดความคมชัดสูง",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "โหมดความคมชัดสูง เพื่อความสะดวกในการเดินทางของคุณ คุณภาพของภาพจะลดลง แต่จะเพิ่มความคมชัด",
|
||||
"Dyslexia font" : "ฟอนต์ Dyslexia ",
|
||||
"Enable dyslexia font" : "เปิด ฟอนต์ Dyslexia",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic เป็นแบบอักษร / แบบอักษรฟรีที่ออกแบบมาเพื่อลดข้อผิดพลาดในการอ่านทั่วไป โดย dyslexia",
|
||||
"Accessibility" : "การเข้าถึง",
|
||||
"Accessibility options for nextcloud" : "ตัวเลือกการเข้าถึงสำหรับ nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "มีตัวเลือกในการเข้าถึงหลายตัว เพื่อให้ง่ายต่อการใช้งาน บน Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "การเข้าถึงสากลเป็นสิ่งสำคัญมากสำหรับเรา เราปฏิบัติตามมาตรฐานเว็บ และตรวจสอบเพื่อให้ทุกอย่างใช้งานได้โดยไม่ต้องใช้เมาส์และซอฟต์แวร์ช่วยเหลือ เช่นโปรแกรมอ่านหน้าจอ เรามุ่งมั่นที่จะปฏิบัติตาม {แนวทาง} แนวทางการเข้าถึงเนื้อหาเว็บ {linkend} 2.1 ในระดับ AA ด้วยธีมความคมชัดสูงแม้ในระดับ AAA",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "หากคุณพบปัญหาใด ๆ อย่าลังเลที่จะรายงานปัญหาเหล่านี้ใน {issuetracker} เครื่องมือติดตามปัญหาของเรา {linkend} และหากคุณต้องการมีส่วนร่วมเข้าร่วม {designteam} ทีมออกแบบของเรา {linkend}"
|
||||
"Enable high contrast mode" : "เปิดโหมดความคมชัดสูง",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "โหมดความคมชัดสูง ช่วยเพิ่มความสะดวกในการใช้งานของคุณ คุณภาพของภาพจะลดลง แต่ความคมชัดจะเพิ่มขึ้น",
|
||||
"Dyslexia font" : "ฟอนต์ภาวะเสียการอ่านเข้าใจ",
|
||||
"Enable dyslexia font" : "เปิดฟอนต์ภาวะเสียการอ่านเข้าใจ",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic เป็นแบบอักษร/ฟอนต์ฟรีที่ออกแบบมาเพื่อลดข้อผิดพลาดทั่วไปในการอ่านที่เกิดจากภาวะเสียการอ่านเข้าใจ",
|
||||
"Accessibility" : "การช่วยการเข้าถึง",
|
||||
"Accessibility options for nextcloud" : "ตัวเลือกการช่วยการเข้าถึงสำหรับ nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "มีหลายตัวเลือกในการช่วยการเข้าถึงเพื่อช่วยให้การใช้งาน Nextcloud ของคุณง่ายขึ้น",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "การเข้าถึงสากลเป็นสิ่งสำคัญมากสำหรับเรา เราปฏิบัติตามมาตรฐานเว็บและตรวจสอบเพื่อให้ทุกอย่างใช้งานได้โดยไม่ต้องใช้เมาส์และซอฟต์แวร์ช่วยเหลือ เช่น โปรแกรมอ่านหน้าจอ เรามุ่งมั่นที่จะปฏิบัติตาม{guidelines}แนวทางการเข้าถึงเนื้อหาเว็บ{linkend} 2.1 ในระดับ AA ด้วยธีมความคมชัดสูงแม้ในระดับ AAA",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "หากคุณพบปัญหาใด ๆ อย่าลังเลที่จะรายงานปัญหาเหล่านี้ใน{issuetracker}เครื่องมือติดตามปัญหาของเรา{linkend} และหากคุณต้องการมีส่วนร่วม เข้าร่วม{designteam}ทีมออกแบบของเรา{linkend}ได้เลย!"
|
||||
},
|
||||
"nplurals=1; plural=0;");
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
{ "translations": {
|
||||
"Dark theme" : "รูปแบบ สีเข้ม",
|
||||
"Enable dark theme" : "เปิด รูปแบบ สีเข้ม",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "รูปแบบสีเข้ม ทำให้ดวงตาของคุณสบายขึ้นโดยลดแสงส่องสว่าง และความสว่าง มันยังอยู่ระหว่างการพัฒนา, ดังนั้นโปรดรายงานปัญหาใด ๆ ที่คุณอาจจะพบ",
|
||||
"Dark theme" : "ธีมสีเข้ม",
|
||||
"Enable dark theme" : "เปิดใช้ธีมสีเข้ม",
|
||||
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "ธีมสีเข้มทำให้ดวงตาของคุณสบายขึ้น โดยลดแสงส่องสว่าง และความสว่างโดยรวม ซึ่งยังอยู่ระหว่างการพัฒนา ดังนั้นโปรดรายงานปัญหาใด ๆ ที่คุณอาจพบ",
|
||||
"High contrast mode" : "โหมดความคมชัดสูง",
|
||||
"Enable high contrast mode" : "เปิด โหมดความคมชัดสูง",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "โหมดความคมชัดสูง เพื่อความสะดวกในการเดินทางของคุณ คุณภาพของภาพจะลดลง แต่จะเพิ่มความคมชัด",
|
||||
"Dyslexia font" : "ฟอนต์ Dyslexia ",
|
||||
"Enable dyslexia font" : "เปิด ฟอนต์ Dyslexia",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic เป็นแบบอักษร / แบบอักษรฟรีที่ออกแบบมาเพื่อลดข้อผิดพลาดในการอ่านทั่วไป โดย dyslexia",
|
||||
"Accessibility" : "การเข้าถึง",
|
||||
"Accessibility options for nextcloud" : "ตัวเลือกการเข้าถึงสำหรับ nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "มีตัวเลือกในการเข้าถึงหลายตัว เพื่อให้ง่ายต่อการใช้งาน บน Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "การเข้าถึงสากลเป็นสิ่งสำคัญมากสำหรับเรา เราปฏิบัติตามมาตรฐานเว็บ และตรวจสอบเพื่อให้ทุกอย่างใช้งานได้โดยไม่ต้องใช้เมาส์และซอฟต์แวร์ช่วยเหลือ เช่นโปรแกรมอ่านหน้าจอ เรามุ่งมั่นที่จะปฏิบัติตาม {แนวทาง} แนวทางการเข้าถึงเนื้อหาเว็บ {linkend} 2.1 ในระดับ AA ด้วยธีมความคมชัดสูงแม้ในระดับ AAA",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "หากคุณพบปัญหาใด ๆ อย่าลังเลที่จะรายงานปัญหาเหล่านี้ใน {issuetracker} เครื่องมือติดตามปัญหาของเรา {linkend} และหากคุณต้องการมีส่วนร่วมเข้าร่วม {designteam} ทีมออกแบบของเรา {linkend}"
|
||||
"Enable high contrast mode" : "เปิดโหมดความคมชัดสูง",
|
||||
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "โหมดความคมชัดสูง ช่วยเพิ่มความสะดวกในการใช้งานของคุณ คุณภาพของภาพจะลดลง แต่ความคมชัดจะเพิ่มขึ้น",
|
||||
"Dyslexia font" : "ฟอนต์ภาวะเสียการอ่านเข้าใจ",
|
||||
"Enable dyslexia font" : "เปิดฟอนต์ภาวะเสียการอ่านเข้าใจ",
|
||||
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic เป็นแบบอักษร/ฟอนต์ฟรีที่ออกแบบมาเพื่อลดข้อผิดพลาดทั่วไปในการอ่านที่เกิดจากภาวะเสียการอ่านเข้าใจ",
|
||||
"Accessibility" : "การช่วยการเข้าถึง",
|
||||
"Accessibility options for nextcloud" : "ตัวเลือกการช่วยการเข้าถึงสำหรับ nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "มีหลายตัวเลือกในการช่วยการเข้าถึงเพื่อช่วยให้การใช้งาน Nextcloud ของคุณง่ายขึ้น",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "การเข้าถึงสากลเป็นสิ่งสำคัญมากสำหรับเรา เราปฏิบัติตามมาตรฐานเว็บและตรวจสอบเพื่อให้ทุกอย่างใช้งานได้โดยไม่ต้องใช้เมาส์และซอฟต์แวร์ช่วยเหลือ เช่น โปรแกรมอ่านหน้าจอ เรามุ่งมั่นที่จะปฏิบัติตาม{guidelines}แนวทางการเข้าถึงเนื้อหาเว็บ{linkend} 2.1 ในระดับ AA ด้วยธีมความคมชัดสูงแม้ในระดับ AAA",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "หากคุณพบปัญหาใด ๆ อย่าลังเลที่จะรายงานปัญหาเหล่านี้ใน{issuetracker}เครื่องมือติดตามปัญหาของเรา{linkend} และหากคุณต้องการมีส่วนร่วม เข้าร่วม{designteam}ทีมออกแบบของเรา{linkend}ได้เลย!"
|
||||
},"pluralForm" :"nplurals=1; plural=0;"
|
||||
}
|
||||
|
|
@ -13,7 +13,7 @@ OC.L10N.register(
|
|||
"Accessibility" : "Khả năng tiếp cận",
|
||||
"Accessibility options for nextcloud" : "Tùy chọn truy cập cho nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Cung cấp nhiều tùy chọn truy cập để dễ dàng sử dụng Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Truy cập đa dạng là rất quan trọng với chúng tôi. Chúng tôi tuân theo các tiêu chuẩn mạng và kiểm tra để khiến mọi thứ đều có thể sử dụng được ngay cả khi không có chuột, và hỗ trợ những phần mềm hỗ trợ như đọc màn hình. Chúng tôi hướng đến sự tương thích với {guidelines}Nguyên Tắc Truy Cập Cho Nội Dung Mạng{linkend} 2.1 ở cấp độ AA, với chế độ tương phản cao là AAA",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Nếu bạn tìm được bất cứ vấn đề gì, đừng ngần ngại để báo cáo chúng trên {issuetracker} hệ thống theo dõi vấn đề của chúng tôi{linkend}. Và nếu bạn muốn can thiệp, hãy gia nhập {designteam}đội ngũ thiết kế{linkend}!"
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Truy cập đa dạng là rất quan trọng với chúng tôi. Chúng tôi tuân theo các tiêu chuẩn mạng và kiểm tra để khiến mọi thứ đều có thể sử dụng được ngay cả khi không có chuột, và hỗ trợ những phần mềm hỗ trợ như đọc màn hình. Chúng tôi hướng đến sự tương thích với Nguyên Tắc Truy Cập Cho Nội Dung Mạng 2.1 ở cấp độ AA, với chế độ tương phản cao là AAA",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Nếu bạn tìm được bất cứ vấn đề gì, đừng ngần ngại để báo cáo chúng trên hệ thống theo dõi vấn đề của chúng tôi."
|
||||
},
|
||||
"nplurals=1; plural=0;");
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
"Accessibility" : "Khả năng tiếp cận",
|
||||
"Accessibility options for nextcloud" : "Tùy chọn truy cập cho nextcloud",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Cung cấp nhiều tùy chọn truy cập để dễ dàng sử dụng Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Truy cập đa dạng là rất quan trọng với chúng tôi. Chúng tôi tuân theo các tiêu chuẩn mạng và kiểm tra để khiến mọi thứ đều có thể sử dụng được ngay cả khi không có chuột, và hỗ trợ những phần mềm hỗ trợ như đọc màn hình. Chúng tôi hướng đến sự tương thích với {guidelines}Nguyên Tắc Truy Cập Cho Nội Dung Mạng{linkend} 2.1 ở cấp độ AA, với chế độ tương phản cao là AAA",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Nếu bạn tìm được bất cứ vấn đề gì, đừng ngần ngại để báo cáo chúng trên {issuetracker} hệ thống theo dõi vấn đề của chúng tôi{linkend}. Và nếu bạn muốn can thiệp, hãy gia nhập {designteam}đội ngũ thiết kế{linkend}!"
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Truy cập đa dạng là rất quan trọng với chúng tôi. Chúng tôi tuân theo các tiêu chuẩn mạng và kiểm tra để khiến mọi thứ đều có thể sử dụng được ngay cả khi không có chuột, và hỗ trợ những phần mềm hỗ trợ như đọc màn hình. Chúng tôi hướng đến sự tương thích với Nguyên Tắc Truy Cập Cho Nội Dung Mạng 2.1 ở cấp độ AA, với chế độ tương phản cao là AAA",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Nếu bạn tìm được bất cứ vấn đề gì, đừng ngần ngại để báo cáo chúng trên hệ thống theo dõi vấn đề của chúng tôi."
|
||||
},"pluralForm" :"nplurals=1; plural=0;"
|
||||
}
|
||||
|
|
@ -13,7 +13,7 @@ OC.L10N.register(
|
|||
"Accessibility" : "輔助工具",
|
||||
"Accessibility options for nextcloud" : "Nextcloud 輔助工具設定",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "提供多種 輔助工具使您更易於操作 Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "我們非常重視無障礙存取。我們遵循網路標準,並透過檢查來確保所有內容皆可在沒有滑鼠或輔助軟體(例如螢幕閱讀器)的情況下使用。我們目標是能達到 {guidelines}網頁內容可及性指引{linkend} 2。1 版的 AA 等級,加上高對比度主題甚至還能到 AAA 等級。",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "我們非常重視無障礙存取。我們遵循網路標準,並透過檢查來確保所有內容皆可在沒有滑鼠或輔助軟體(例如螢幕閱讀器)的情況下使用。我們目標是能達到 {guidelines}網頁內容可及性指引{linkend} 2.1 版的 AA 等級,加上高對比度主題甚至還能到 AAA 等級。",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : " \n如果您發現任何一個問題,請不要猶豫並請在 {issuetracker}我們的問題追蹤系統{linkend} 舉報。而如果您想參與,歡迎加入 {designteam}我們的設計團隊{linked}!"
|
||||
},
|
||||
"nplurals=1; plural=0;");
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
"Accessibility" : "輔助工具",
|
||||
"Accessibility options for nextcloud" : "Nextcloud 輔助工具設定",
|
||||
"Provides multiple accessibilities options to ease your use of Nextcloud" : "提供多種 輔助工具使您更易於操作 Nextcloud",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "我們非常重視無障礙存取。我們遵循網路標準,並透過檢查來確保所有內容皆可在沒有滑鼠或輔助軟體(例如螢幕閱讀器)的情況下使用。我們目標是能達到 {guidelines}網頁內容可及性指引{linkend} 2。1 版的 AA 等級,加上高對比度主題甚至還能到 AAA 等級。",
|
||||
"Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "我們非常重視無障礙存取。我們遵循網路標準,並透過檢查來確保所有內容皆可在沒有滑鼠或輔助軟體(例如螢幕閱讀器)的情況下使用。我們目標是能達到 {guidelines}網頁內容可及性指引{linkend} 2.1 版的 AA 等級,加上高對比度主題甚至還能到 AAA 等級。",
|
||||
"If you find any issues, don’t hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : " \n如果您發現任何一個問題,請不要猶豫並請在 {issuetracker}我們的問題追蹤系統{linkend} 舉報。而如果您想參與,歡迎加入 {designteam}我們的設計團隊{linked}!"
|
||||
},"pluralForm" :"nplurals=1; plural=0;"
|
||||
}
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
* @author Jan-Christoph Borchardt <hey@jancborchardt.net>
|
||||
* @author Janis Köhr <janis.koehr@novatec-gmbh.de>
|
||||
* @author Joas Schilling <coding@schilljs.com>
|
||||
* @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
|
||||
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
@ -19,14 +19,13 @@
|
|||
*
|
||||
* 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
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Accessibility;
|
||||
|
||||
use OCP\IL10N;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||
*
|
||||
* @author Christoph Wurst <christoph@winzerhof-wurst.at>
|
||||
* @author Joas Schilling <coding@schilljs.com>
|
||||
* @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
|
||||
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||||
* @author Julius Härtl <jus@bitgrid.net>
|
||||
* @author Roeland Jago Douma <roeland@famdouma.nl>
|
||||
*
|
||||
|
|
@ -20,14 +20,13 @@ declare(strict_types=1);
|
|||
*
|
||||
* 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
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Accessibility\AppInfo;
|
||||
|
||||
use OCA\Accessibility\Service\JSDataService;
|
||||
|
|
@ -79,6 +78,7 @@ class Application extends App implements IBootstrap {
|
|||
$hash = md5(implode('-', $userValues));
|
||||
$linkToCSS = $urlGenerator->linkToRoute(self::APP_ID . '.accessibility.getCss', ['md5' => $hash]);
|
||||
\OCP\Util::addHeader('link', ['rel' => 'stylesheet', 'media' => '(prefers-color-scheme: dark)', 'href' => $linkToCSS]);
|
||||
\OCP\Util::addScript('accessibility', 'accessibilityoca');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ declare(strict_types=1);
|
|||
* @author Christoph Wurst <christoph@winzerhof-wurst.at>
|
||||
* @author Janis Köhr <janis.koehr@novatec-gmbh.de>
|
||||
* @author Joas Schilling <coding@schilljs.com>
|
||||
* @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
|
||||
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||||
* @author Julius Härtl <jus@bitgrid.net>
|
||||
* @author Roeland Jago Douma <roeland@famdouma.nl>
|
||||
* @author Thomas Citharel <nextcloud@tcit.fr>
|
||||
|
|
@ -23,14 +23,13 @@ declare(strict_types=1);
|
|||
*
|
||||
* 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
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Accessibility\Controller;
|
||||
|
||||
use OC\Template\IconsCacher;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ declare(strict_types=1);
|
|||
* @author Christoph Wurst <christoph@winzerhof-wurst.at>
|
||||
* @author Daniel Kesselberg <mail@danielkesselberg.de>
|
||||
* @author Janis Köhr <janis.koehr@novatec-gmbh.de>
|
||||
* @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
|
||||
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||||
* @author Roeland Jago Douma <roeland@famdouma.nl>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
|
|
@ -21,14 +21,13 @@ declare(strict_types=1);
|
|||
*
|
||||
* 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
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Accessibility\Controller;
|
||||
|
||||
use OCA\Accessibility\AccessibilityProvider;
|
||||
|
|
|
|||
|
|
@ -17,14 +17,13 @@ declare(strict_types=1);
|
|||
*
|
||||
* 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
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Accessibility\Migration;
|
||||
|
||||
use OCA\Accessibility\AppInfo\Application;
|
||||
|
|
|
|||
|
|
@ -16,14 +16,13 @@ declare(strict_types=1);
|
|||
*
|
||||
* 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
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Accessibility\Service;
|
||||
|
||||
use OCA\Accessibility\AppInfo\Application;
|
||||
|
|
@ -61,6 +60,7 @@ class JSDataService extends InitialStateProvider {
|
|||
}
|
||||
|
||||
return [
|
||||
'checkMedia' => $user === null,
|
||||
'theme' => $theme,
|
||||
'highcontrast' => $highcontrast,
|
||||
];
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@
|
|||
* @copyright Copyright (c) 2019 Janis Köhr <janiskoehr@icloud.com>
|
||||
*
|
||||
* @author Christoph Wurst <christoph@winzerhof-wurst.at>
|
||||
* @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
|
||||
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||||
* @author Roeland Jago Douma <roeland@famdouma.nl>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
@ -15,22 +16,19 @@
|
|||
*
|
||||
* 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
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Accessibility\Settings;
|
||||
|
||||
use OCA\Accessibility\AccessibilityProvider;
|
||||
use OCP\AppFramework\Http\TemplateResponse;
|
||||
use OCP\AppFramework\Services\IInitialState;
|
||||
use OCP\IConfig;
|
||||
use OCP\IL10N;
|
||||
use OCP\IURLGenerator;
|
||||
use OCP\IUserSession;
|
||||
use OCP\Settings\ISettings;
|
||||
use OCP\Util;
|
||||
|
|
@ -46,12 +44,6 @@ class Personal implements ISettings {
|
|||
/** @var IUserSession */
|
||||
private $userSession;
|
||||
|
||||
/** @var IL10N */
|
||||
private $l;
|
||||
|
||||
/** @var IURLGenerator */
|
||||
private $urlGenerator;
|
||||
|
||||
/** @var AccessibilityProvider */
|
||||
private $accessibilityProvider;
|
||||
|
||||
|
|
@ -61,15 +53,11 @@ class Personal implements ISettings {
|
|||
public function __construct(string $appName,
|
||||
IConfig $config,
|
||||
IUserSession $userSession,
|
||||
IL10N $l,
|
||||
IURLGenerator $urlGenerator,
|
||||
AccessibilityProvider $accessibilityProvider,
|
||||
IInitialState $initialStateService) {
|
||||
$this->appName = $appName;
|
||||
$this->config = $config;
|
||||
$this->userSession = $userSession;
|
||||
$this->l = $l;
|
||||
$this->urlGenerator = $urlGenerator;
|
||||
$this->accessibilityProvider = $accessibilityProvider;
|
||||
$this->initialStateService = $initialStateService;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
* @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
|
||||
*
|
||||
* @author Christoph Wurst <christoph@winzerhof-wurst.at>
|
||||
* @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
|
||||
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
|
|
@ -14,14 +14,13 @@
|
|||
*
|
||||
* 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
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Accessibility\Settings;
|
||||
|
||||
use OCP\IL10N;
|
||||
|
|
|
|||
|
|
@ -24,23 +24,27 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import ItemPreview from './components/ItemPreview'
|
||||
import axios from '@nextcloud/axios'
|
||||
import { generateUrl, generateOcsUrl } from '@nextcloud/router'
|
||||
import { loadState } from '@nextcloud/initial-state'
|
||||
import axios from '@nextcloud/axios'
|
||||
import ItemPreview from './components/ItemPreview'
|
||||
|
||||
const availableConfig = loadState('accessibility', 'available-config')
|
||||
const userConfig = loadState('accessibility', 'user-config')
|
||||
|
||||
export default {
|
||||
name: 'Accessibility',
|
||||
components: { ItemPreview },
|
||||
props: {
|
||||
availableConfig: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
userConfig: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
components: {
|
||||
ItemPreview,
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
availableConfig,
|
||||
userConfig,
|
||||
}
|
||||
},
|
||||
|
||||
computed: {
|
||||
themes() {
|
||||
return this.availableConfig.themes
|
||||
|
|
@ -121,7 +125,7 @@ export default {
|
|||
try {
|
||||
const isDelete = id === ''
|
||||
await axios({
|
||||
url: generateOcsUrl('apps/accessibility/api/v1/config', 2) + type,
|
||||
url: generateOcsUrl('apps/accessibility/api/v1/config/{type}', { type }),
|
||||
method: isDelete ? 'DELETE' : 'PUT',
|
||||
data: {
|
||||
value: id,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/**
|
||||
* @copyright Copyright (c) 2020 Roeland Jago Douma <roeland@famdouma.nl>
|
||||
*
|
||||
* @author Roeland Jago Douma <roeland@famdouma.nl>
|
||||
* @author Jan C. Borchardt <hey@jancborchardt.net>
|
||||
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
|
|
@ -17,11 +17,18 @@
|
|||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
import { loadState } from '@nextcloud/initial-state'
|
||||
|
||||
OCA.Accessibility = loadState('accessibility', 'data')
|
||||
if (OCA.Accessibility.checkMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||
// Overwrite the theme for Guests based on the prefers-color-scheme
|
||||
OCA.Accessibility.theme = 'dark'
|
||||
}
|
||||
|
||||
if (OCA.Accessibility.theme !== false) {
|
||||
document.body.classList.add(`theme--${OCA.Accessibility.theme}`)
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -16,24 +16,17 @@
|
|||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
import Vue from 'vue'
|
||||
import { loadState } from '@nextcloud/initial-state'
|
||||
import App from './Accessibility.vue'
|
||||
|
||||
// bind to window
|
||||
Vue.prototype.OC = OC
|
||||
Vue.prototype.t = t
|
||||
|
||||
const availableConfig = loadState('accessibility', 'available-config')
|
||||
const userConfig = loadState('accessibility', 'user-config')
|
||||
|
||||
const View = Vue.extend(App)
|
||||
const accessibility = new View({
|
||||
propsData: {
|
||||
availableConfig,
|
||||
userConfig,
|
||||
},
|
||||
})
|
||||
const accessibility = new View()
|
||||
accessibility.$mount('#accessibility')
|
||||
|
|
|
|||
|
|
@ -1,3 +1,25 @@
|
|||
/**
|
||||
* @copyright Copyright (c) 2016 John Molakvoæ <skjnldsv@protonmail.com>
|
||||
*
|
||||
* @author John Molakvoæ <skjnldsv@protonmail.com>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
const path = require('path')
|
||||
|
||||
module.exports = {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<name>Auditing / Logging</name>
|
||||
<summary>Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.</summary>
|
||||
<description>Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.</description>
|
||||
<version>1.11.0</version>
|
||||
<version>1.13.0</version>
|
||||
<licence>agpl</licence>
|
||||
<author>Nextcloud</author>
|
||||
<namespace>AdminAudit</namespace>
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
<category>monitoring</category>
|
||||
<bugs>https://github.com/nextcloud/server/issues</bugs>
|
||||
<dependencies>
|
||||
<nextcloud min-version="22" max-version="22"/>
|
||||
<nextcloud min-version="23" max-version="23"/>
|
||||
</dependencies>
|
||||
<background-jobs>
|
||||
<job>OCA\AdminAudit\BackgroundJobs\Rotate</job>
|
||||
|
|
|
|||
18
apps/admin_audit/composer/composer.lock
generated
Normal file
18
apps/admin_audit/composer/composer.lock
generated
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"_readme": [
|
||||
"This file locks the dependencies of your project to a known state",
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "d751713988987e9331980363e24189ce",
|
||||
"packages": [],
|
||||
"packages-dev": [],
|
||||
"aliases": [],
|
||||
"minimum-stability": "stable",
|
||||
"stability-flags": [],
|
||||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": [],
|
||||
"platform-dev": [],
|
||||
"plugin-api-version": "2.1.0"
|
||||
}
|
||||
|
|
@ -42,30 +42,75 @@ namespace Composer\Autoload;
|
|||
*/
|
||||
class ClassLoader
|
||||
{
|
||||
/** @var ?string */
|
||||
private $vendorDir;
|
||||
|
||||
// PSR-4
|
||||
/**
|
||||
* @var array[]
|
||||
* @psalm-var array<string, array<string, int>>
|
||||
*/
|
||||
private $prefixLengthsPsr4 = array();
|
||||
/**
|
||||
* @var array[]
|
||||
* @psalm-var array<string, array<int, string>>
|
||||
*/
|
||||
private $prefixDirsPsr4 = array();
|
||||
/**
|
||||
* @var array[]
|
||||
* @psalm-var array<string, string>
|
||||
*/
|
||||
private $fallbackDirsPsr4 = array();
|
||||
|
||||
// PSR-0
|
||||
/**
|
||||
* @var array[]
|
||||
* @psalm-var array<string, array<string, string[]>>
|
||||
*/
|
||||
private $prefixesPsr0 = array();
|
||||
/**
|
||||
* @var array[]
|
||||
* @psalm-var array<string, string>
|
||||
*/
|
||||
private $fallbackDirsPsr0 = array();
|
||||
|
||||
/** @var bool */
|
||||
private $useIncludePath = false;
|
||||
|
||||
/**
|
||||
* @var string[]
|
||||
* @psalm-var array<string, string>
|
||||
*/
|
||||
private $classMap = array();
|
||||
|
||||
/** @var bool */
|
||||
private $classMapAuthoritative = false;
|
||||
|
||||
/**
|
||||
* @var bool[]
|
||||
* @psalm-var array<string, bool>
|
||||
*/
|
||||
private $missingClasses = array();
|
||||
|
||||
/** @var ?string */
|
||||
private $apcuPrefix;
|
||||
|
||||
/**
|
||||
* @var self[]
|
||||
*/
|
||||
private static $registeredLoaders = array();
|
||||
|
||||
/**
|
||||
* @param ?string $vendorDir
|
||||
*/
|
||||
public function __construct($vendorDir = null)
|
||||
{
|
||||
$this->vendorDir = $vendorDir;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public function getPrefixes()
|
||||
{
|
||||
if (!empty($this->prefixesPsr0)) {
|
||||
|
|
@ -75,28 +120,47 @@ class ClassLoader
|
|||
return array();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array[]
|
||||
* @psalm-return array<string, array<int, string>>
|
||||
*/
|
||||
public function getPrefixesPsr4()
|
||||
{
|
||||
return $this->prefixDirsPsr4;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array[]
|
||||
* @psalm-return array<string, string>
|
||||
*/
|
||||
public function getFallbackDirs()
|
||||
{
|
||||
return $this->fallbackDirsPsr0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array[]
|
||||
* @psalm-return array<string, string>
|
||||
*/
|
||||
public function getFallbackDirsPsr4()
|
||||
{
|
||||
return $this->fallbackDirsPsr4;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[] Array of classname => path
|
||||
* @psalm-var array<string, string>
|
||||
*/
|
||||
public function getClassMap()
|
||||
{
|
||||
return $this->classMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $classMap Class to filename map
|
||||
* @param string[] $classMap Class to filename map
|
||||
* @psalm-param array<string, string> $classMap
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function addClassMap(array $classMap)
|
||||
{
|
||||
|
|
@ -111,9 +175,11 @@ class ClassLoader
|
|||
* Registers a set of PSR-0 directories for a given prefix, either
|
||||
* appending or prepending to the ones previously set for this prefix.
|
||||
*
|
||||
* @param string $prefix The prefix
|
||||
* @param array|string $paths The PSR-0 root directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
* @param string $prefix The prefix
|
||||
* @param string[]|string $paths The PSR-0 root directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function add($prefix, $paths, $prepend = false)
|
||||
{
|
||||
|
|
@ -156,11 +222,13 @@ class ClassLoader
|
|||
* Registers a set of PSR-4 directories for a given namespace, either
|
||||
* appending or prepending to the ones previously set for this namespace.
|
||||
*
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param array|string $paths The PSR-4 base directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param string[]|string $paths The PSR-4 base directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function addPsr4($prefix, $paths, $prepend = false)
|
||||
{
|
||||
|
|
@ -204,8 +272,10 @@ class ClassLoader
|
|||
* Registers a set of PSR-0 directories for a given prefix,
|
||||
* replacing any others previously set for this prefix.
|
||||
*
|
||||
* @param string $prefix The prefix
|
||||
* @param array|string $paths The PSR-0 base directories
|
||||
* @param string $prefix The prefix
|
||||
* @param string[]|string $paths The PSR-0 base directories
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function set($prefix, $paths)
|
||||
{
|
||||
|
|
@ -220,10 +290,12 @@ class ClassLoader
|
|||
* Registers a set of PSR-4 directories for a given namespace,
|
||||
* replacing any others previously set for this namespace.
|
||||
*
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param array|string $paths The PSR-4 base directories
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param string[]|string $paths The PSR-4 base directories
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setPsr4($prefix, $paths)
|
||||
{
|
||||
|
|
@ -243,6 +315,8 @@ class ClassLoader
|
|||
* Turns on searching the include path for class files.
|
||||
*
|
||||
* @param bool $useIncludePath
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setUseIncludePath($useIncludePath)
|
||||
{
|
||||
|
|
@ -265,6 +339,8 @@ class ClassLoader
|
|||
* that have not been registered with the class map.
|
||||
*
|
||||
* @param bool $classMapAuthoritative
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setClassMapAuthoritative($classMapAuthoritative)
|
||||
{
|
||||
|
|
@ -285,6 +361,8 @@ class ClassLoader
|
|||
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
||||
*
|
||||
* @param string|null $apcuPrefix
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setApcuPrefix($apcuPrefix)
|
||||
{
|
||||
|
|
@ -305,6 +383,8 @@ class ClassLoader
|
|||
* Registers this instance as an autoloader.
|
||||
*
|
||||
* @param bool $prepend Whether to prepend the autoloader or not
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register($prepend = false)
|
||||
{
|
||||
|
|
@ -324,6 +404,8 @@ class ClassLoader
|
|||
|
||||
/**
|
||||
* Unregisters this instance as an autoloader.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function unregister()
|
||||
{
|
||||
|
|
@ -338,7 +420,7 @@ class ClassLoader
|
|||
* Loads the given class or interface.
|
||||
*
|
||||
* @param string $class The name of the class
|
||||
* @return bool|null True if loaded, null otherwise
|
||||
* @return true|null True if loaded, null otherwise
|
||||
*/
|
||||
public function loadClass($class)
|
||||
{
|
||||
|
|
@ -347,6 +429,8 @@ class ClassLoader
|
|||
|
||||
return true;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -401,6 +485,11 @@ class ClassLoader
|
|||
return self::$registeredLoaders;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $class
|
||||
* @param string $ext
|
||||
* @return string|false
|
||||
*/
|
||||
private function findFileWithExtension($class, $ext)
|
||||
{
|
||||
// PSR-4 lookup
|
||||
|
|
@ -472,6 +561,10 @@ class ClassLoader
|
|||
* Scope isolated include.
|
||||
*
|
||||
* Prevents access to $this/self from included files.
|
||||
*
|
||||
* @param string $file
|
||||
* @return void
|
||||
* @private
|
||||
*/
|
||||
function includeFile($file)
|
||||
{
|
||||
|
|
|
|||
337
apps/admin_audit/composer/composer/InstalledVersions.php
Normal file
337
apps/admin_audit/composer/composer/InstalledVersions.php
Normal file
|
|
@ -0,0 +1,337 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Composer.
|
||||
*
|
||||
* (c) Nils Adermann <naderman@naderman.de>
|
||||
* Jordi Boggiano <j.boggiano@seld.be>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Composer;
|
||||
|
||||
use Composer\Autoload\ClassLoader;
|
||||
use Composer\Semver\VersionParser;
|
||||
|
||||
/**
|
||||
* This class is copied in every Composer installed project and available to all
|
||||
*
|
||||
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
|
||||
*
|
||||
* To require its presence, you can require `composer-runtime-api ^2.0`
|
||||
*/
|
||||
class InstalledVersions
|
||||
{
|
||||
private static $installed;
|
||||
private static $canGetVendors;
|
||||
private static $installedByVendor = array();
|
||||
|
||||
/**
|
||||
* Returns a list of all package names which are present, either by being installed, replaced or provided
|
||||
*
|
||||
* @return string[]
|
||||
* @psalm-return list<string>
|
||||
*/
|
||||
public static function getInstalledPackages()
|
||||
{
|
||||
$packages = array();
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
$packages[] = array_keys($installed['versions']);
|
||||
}
|
||||
|
||||
if (1 === \count($packages)) {
|
||||
return $packages[0];
|
||||
}
|
||||
|
||||
return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a list of all package names with a specific type e.g. 'library'
|
||||
*
|
||||
* @param string $type
|
||||
* @return string[]
|
||||
* @psalm-return list<string>
|
||||
*/
|
||||
public static function getInstalledPackagesByType($type)
|
||||
{
|
||||
$packagesByType = array();
|
||||
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
foreach ($installed['versions'] as $name => $package) {
|
||||
if (isset($package['type']) && $package['type'] === $type) {
|
||||
$packagesByType[] = $name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $packagesByType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether the given package is installed
|
||||
*
|
||||
* This also returns true if the package name is provided or replaced by another package
|
||||
*
|
||||
* @param string $packageName
|
||||
* @param bool $includeDevRequirements
|
||||
* @return bool
|
||||
*/
|
||||
public static function isInstalled($packageName, $includeDevRequirements = true)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (isset($installed['versions'][$packageName])) {
|
||||
return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether the given package satisfies a version constraint
|
||||
*
|
||||
* e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call:
|
||||
*
|
||||
* Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3')
|
||||
*
|
||||
* @param VersionParser $parser Install composer/semver to have access to this class and functionality
|
||||
* @param string $packageName
|
||||
* @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
|
||||
* @return bool
|
||||
*/
|
||||
public static function satisfies(VersionParser $parser, $packageName, $constraint)
|
||||
{
|
||||
$constraint = $parser->parseConstraints($constraint);
|
||||
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
|
||||
|
||||
return $provided->matches($constraint);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a version constraint representing all the range(s) which are installed for a given package
|
||||
*
|
||||
* It is easier to use this via isInstalled() with the $constraint argument if you need to check
|
||||
* whether a given version of a package is installed, and not just whether it exists
|
||||
*
|
||||
* @param string $packageName
|
||||
* @return string Version constraint usable with composer/semver
|
||||
*/
|
||||
public static function getVersionRanges($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$ranges = array();
|
||||
if (isset($installed['versions'][$packageName]['pretty_version'])) {
|
||||
$ranges[] = $installed['versions'][$packageName]['pretty_version'];
|
||||
}
|
||||
if (array_key_exists('aliases', $installed['versions'][$packageName])) {
|
||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
|
||||
}
|
||||
if (array_key_exists('replaced', $installed['versions'][$packageName])) {
|
||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
|
||||
}
|
||||
if (array_key_exists('provided', $installed['versions'][$packageName])) {
|
||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
|
||||
}
|
||||
|
||||
return implode(' || ', $ranges);
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $packageName
|
||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
|
||||
*/
|
||||
public static function getVersion($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($installed['versions'][$packageName]['version'])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $installed['versions'][$packageName]['version'];
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $packageName
|
||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
|
||||
*/
|
||||
public static function getPrettyVersion($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($installed['versions'][$packageName]['pretty_version'])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $installed['versions'][$packageName]['pretty_version'];
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $packageName
|
||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
|
||||
*/
|
||||
public static function getReference($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($installed['versions'][$packageName]['reference'])) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $installed['versions'][$packageName]['reference'];
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $packageName
|
||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
|
||||
*/
|
||||
public static function getInstallPath($packageName)
|
||||
{
|
||||
foreach (self::getInstalled() as $installed) {
|
||||
if (!isset($installed['versions'][$packageName])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
|
||||
}
|
||||
|
||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
* @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
|
||||
*/
|
||||
public static function getRootPackage()
|
||||
{
|
||||
$installed = self::getInstalled();
|
||||
|
||||
return $installed[0]['root'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the raw installed.php data for custom implementations
|
||||
*
|
||||
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
|
||||
* @return array[]
|
||||
* @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
|
||||
*/
|
||||
public static function getRawData()
|
||||
{
|
||||
@trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
|
||||
|
||||
if (null === self::$installed) {
|
||||
// only require the installed.php file if this file is loaded from its dumped location,
|
||||
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
|
||||
if (substr(__DIR__, -8, 1) !== 'C') {
|
||||
self::$installed = include __DIR__ . '/installed.php';
|
||||
} else {
|
||||
self::$installed = array();
|
||||
}
|
||||
}
|
||||
|
||||
return self::$installed;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the raw data of all installed.php which are currently loaded for custom implementations
|
||||
*
|
||||
* @return array[]
|
||||
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
|
||||
*/
|
||||
public static function getAllRawData()
|
||||
{
|
||||
return self::getInstalled();
|
||||
}
|
||||
|
||||
/**
|
||||
* Lets you reload the static array from another file
|
||||
*
|
||||
* This is only useful for complex integrations in which a project needs to use
|
||||
* this class but then also needs to execute another project's autoloader in process,
|
||||
* and wants to ensure both projects have access to their version of installed.php.
|
||||
*
|
||||
* A typical case would be PHPUnit, where it would need to make sure it reads all
|
||||
* the data it needs from this class, then call reload() with
|
||||
* `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure
|
||||
* the project in which it runs can then also use this class safely, without
|
||||
* interference between PHPUnit's dependencies and the project's dependencies.
|
||||
*
|
||||
* @param array[] $data A vendor/composer/installed.php data set
|
||||
* @return void
|
||||
*
|
||||
* @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
|
||||
*/
|
||||
public static function reload($data)
|
||||
{
|
||||
self::$installed = $data;
|
||||
self::$installedByVendor = array();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array[]
|
||||
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
|
||||
*/
|
||||
private static function getInstalled()
|
||||
{
|
||||
if (null === self::$canGetVendors) {
|
||||
self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
|
||||
}
|
||||
|
||||
$installed = array();
|
||||
|
||||
if (self::$canGetVendors) {
|
||||
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
|
||||
if (isset(self::$installedByVendor[$vendorDir])) {
|
||||
$installed[] = self::$installedByVendor[$vendorDir];
|
||||
} elseif (is_file($vendorDir.'/composer/installed.php')) {
|
||||
$installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
|
||||
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
|
||||
self::$installed = $installed[count($installed) - 1];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (null === self::$installed) {
|
||||
// only require the installed.php file if this file is loaded from its dumped location,
|
||||
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
|
||||
if (substr(__DIR__, -8, 1) !== 'C') {
|
||||
self::$installed = require __DIR__ . '/installed.php';
|
||||
} else {
|
||||
self::$installed = array();
|
||||
}
|
||||
}
|
||||
$installed[] = self::$installed;
|
||||
|
||||
return $installed;
|
||||
}
|
||||
}
|
||||
|
|
@ -20,4 +20,5 @@ return array(
|
|||
'OCA\\AdminAudit\\Actions\\Versions' => $baseDir . '/../lib/Actions/Versions.php',
|
||||
'OCA\\AdminAudit\\AppInfo\\Application' => $baseDir . '/../lib/AppInfo/Application.php',
|
||||
'OCA\\AdminAudit\\BackgroundJobs\\Rotate' => $baseDir . '/../lib/BackgroundJobs/Rotate.php',
|
||||
'OCA\\AdminAudit\\Listener\\CriticalActionPerformedEventListener' => $baseDir . '/../lib/Listener/CriticalActionPerformedEventListener.php',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ class ComposerStaticInitAdminAudit
|
|||
'OCA\\AdminAudit\\Actions\\Versions' => __DIR__ . '/..' . '/../lib/Actions/Versions.php',
|
||||
'OCA\\AdminAudit\\AppInfo\\Application' => __DIR__ . '/..' . '/../lib/AppInfo/Application.php',
|
||||
'OCA\\AdminAudit\\BackgroundJobs\\Rotate' => __DIR__ . '/..' . '/../lib/BackgroundJobs/Rotate.php',
|
||||
'OCA\\AdminAudit\\Listener\\CriticalActionPerformedEventListener' => __DIR__ . '/..' . '/../lib/Listener/CriticalActionPerformedEventListener.php',
|
||||
);
|
||||
|
||||
public static function getInitializer(ClassLoader $loader)
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue