Compare commits

..

5 Commits

Author SHA1 Message Date
Salvatore Martire b3d95d60af feat: detect N+1 setupForPath calls and setup parent instead [skip ci]
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-13 12:16:53 +01:00
Salvatore Martire 828cd544ac fix: mark paths as set up even if no mounts inside
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-13 12:13:11 +01:00
Salvatore Martire eabf571982 fix: get mount from memory if already setup
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-13 12:11:43 +01:00
Salvatore Martire 7a5379cd13 fix: check if path is set up earlier
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-13 12:09:35 +01:00
Salvatore Martire 4987175abb fix: avoid recomputing list of mounts by provider
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-12 14:04:47 +01:00
3298 changed files with 41168 additions and 49466 deletions
+3 -3
View File
@@ -24,7 +24,7 @@ package.json @nextcloud/server-dependabot @next
package-lock.json @nextcloud/server-dependabot
# App maintainers
/apps/admin_audit/appinfo/info.xml @luka-nextcloud @samin-z
/apps/admin_audit/appinfo/info.xml @luka-nextcloud @blizzz
/apps/cloud_federation_api/appinfo/info.xml @nfebe @mejo-
/apps/comments/appinfo/info.xml @edward-ly @sorbaugh
/apps/contactsinteraction/appinfo/info.xml @kesselb @SebastianKrupinski
@@ -46,12 +46,12 @@ package-lock.json @nextcloud/server-dependabot
/apps/files_versions/appinfo/info.xml @artonge @icewind1991
/apps/oauth2/appinfo/info.xml @julien-nc @ChristophWurst
/apps/provisioning_api/appinfo/info.xml @provokateurin @nickvergessen
/apps/settings/appinfo/info.xml @hweihwang @sorbaugh
/apps/settings/appinfo/info.xml @JuliaKirschenheuter @sorbaugh
/apps/sharebymail/appinfo/info.xml @Altahrim @skjnldsv
/apps/systemtags/appinfo/info.xml @Antreesy @marcelklehr
/apps/theming/appinfo/info.xml @skjnldsv @juliusknorr
/apps/twofactor_backupcodes/appinfo/info.xml @miaulalala @ChristophWurst
/apps/updatenotification/appinfo/info.xml @enjeck @sorbaugh
/apps/updatenotification/appinfo/info.xml @JuliaKirschenheuter @sorbaugh
/apps/user_ldap/appinfo/info.xml @come-nc @blizzz
/apps/user_status/appinfo/info.xml @Antreesy @nickvergessen
/apps/weather_status/appinfo/info.xml @julien-nc @juliusknorr
+1 -1
View File
@@ -73,7 +73,7 @@ body:
options:
- "32"
- "33"
- "34 (master)"
- "master"
validations:
required: true
- type: dropdown
+43
View File
@@ -165,3 +165,46 @@ updates:
# no major updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major"]
# Composer dependencies for linting and testing
- package-ecosystem: composer
target-branch: stable31
directories:
- "/"
- "/build/integration"
- "/vendor-bin/cs-fixer"
- "/vendor-bin/openapi-extractor"
- "/vendor-bin/phpunit"
- "/vendor-bin/psalm"
schedule:
interval: weekly
day: saturday
time: "04:00"
timezone: Europe/Paris
labels:
- "3. to review"
- "feature: dependencies"
ignore:
# only patch updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
# frontend dependencies
- package-ecosystem: npm
target-branch: stable31
directory: "/"
schedule:
interval: weekly
day: saturday
time: "04:00"
timezone: Europe/Paris
open-pull-requests-limit: 20
labels:
- "3. to review"
- "feature: dependencies"
# Disable automatic rebasing because without a build CI will likely fail anyway
rebase-strategy: "disabled"
ignore:
# no major updates on stable branches
- dependency-name: "*"
update-types: ["version-update:semver-major"]
-4
View File
@@ -23,7 +23,3 @@
- [ ] [Backports requested](https://github.com/nextcloud/backportbot/#usage) where applicable (ex: critical bugfixes)
- [ ] [Labels added](https://github.com/nextcloud/server/labels) where applicable (ex: bug/enhancement, `3. to review`, feature component)
- [ ] [Milestone added](https://github.com/nextcloud/server/milestones) for target branch/version (ex: 32.x for `stable32`)
## AI (if applicable)
- [ ] The content of this PR was partly or fully generated using AI
-45
View File
@@ -1,45 +0,0 @@
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: Auto-label bug reports
on:
issues:
types: [opened]
jobs:
add-version-label:
if: contains(github.event.issue.title, '[Bug]')
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Extract version number and apply label
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
script: |
const body = context.payload.issue.body || '';
const normalizedBody = body.replace(/\r\n?/g, '\n');
let label = '';
// Extract Nextcloud Server version number from a block like:
// ### Nextcloud Server version
// 32
const versionMatch = normalizedBody.match(/### Nextcloud Server version\s*\n+([0-9]{1,3})\b/);
let nextcloudVersion = null;
if (versionMatch) {
nextcloudVersion = parseInt(versionMatch[1], 10);
label = nextcloudVersion + '-feedback';
}
if (label) {
try {
await github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: [label]
});
} catch (error) {
core.setFailed(`Failed to add label "${label}": ${error.message || error}`);
}
}
+2 -2
View File
@@ -37,13 +37,13 @@ jobs:
persist-credentials: false
- name: Initialize CodeQL
uses: github/codeql-action/init@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4.32.4
uses: github/codeql-action/init@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v4.32.0
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql-config.yml
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@89a39a4e59826350b863aa6b6252a07ad50cf83e # v4.32.4
uses: github/codeql-action/analyze@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v4.32.0
with:
category: "/language:${{matrix.language}}"
+14 -3
View File
@@ -41,6 +41,12 @@ jobs:
PUPPETEER_SKIP_DOWNLOAD: true
steps:
- name: Disabled on forks
if: ${{ github.event.pull_request.head.repo.full_name != github.repository }}
run: |
echo 'Can not run cypress on forks'
exit 1
- name: Checkout server
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
@@ -165,11 +171,15 @@ jobs:
run: ./node_modules/cypress/bin/cypress install
- name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
uses: cypress-io/github-action@bc22e01685c56e89e7813fd8e26f33dc47f87e15 # v7.1.5
uses: cypress-io/github-action@0f330ebf0d60f87608ed72f1d6232e5644aa3171 # v7.1.1
with:
# We already installed the dependencies in the init job
install: false
component: ${{ matrix.containers == 'component' }}
group: ${{ matrix.use-cypress-cloud && matrix.containers == 'component' && 'Run component' || matrix.use-cypress-cloud && 'Run E2E' || '' }}
# cypress env
ci-build-id: ${{ matrix.use-cypress-cloud && format('{0}-{1}', github.sha, github.run_number) || '' }}
tag: ${{ matrix.use-cypress-cloud && github.event_name || '' }}
env:
# Needs to be prefixed with CYPRESS_
CYPRESS_BRANCH: ${{ env.BRANCH }}
@@ -178,13 +188,14 @@ jobs:
# Needed for some specific code workarounds
TESTING: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
SPLIT: ${{ matrix.total-containers }}
SPLIT_INDEX: ${{ matrix.containers == 'component' && 0 || matrix.containers }}
SPLIT_RANDOM_SEED: ${{ github.run_id }}
SETUP_TESTING: ${{ matrix.containers == 'setup' && 'true' || '' }}
- name: Upload snapshots and videos
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
if: always()
with:
name: snapshots_${{ matrix.containers }}
@@ -207,7 +218,7 @@ jobs:
run: docker exec nextcloud-e2e-test-server_${{ env.APP_NAME }} tar -cvjf - data > data.tar
- name: Upload data archive
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
if: failure() && matrix.containers != 'component'
with:
name: nc_data_${{ matrix.containers }}
+1 -1
View File
@@ -71,7 +71,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Python
uses: LizardByte/actions/actions/setup_python@70bb8d394d1c92f6113aeec6ae9cc959a5763d15 # v2026.227.200013
uses: LizardByte/actions/actions/setup_python@09a6e10dc8175f2933c20bdf35fde0a193a9c00e # v2026.129.194351
with:
python-version: '2.7'
-3
View File
@@ -44,9 +44,6 @@ jobs:
lint:
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.src != 'false'
name: php-cs
steps:
+3 -3
View File
@@ -63,7 +63,7 @@ jobs:
ref: ${{ github.event.pull_request.head.ref }}
- name: Run before measurements
uses: nextcloud/profiler@6a74c915048285b35b8e1cd96c0835a635945044
uses: nextcloud/profiler@6801ee10fc80f10b444388fb6ca9b36ad8a2ea83
with:
run: |
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
@@ -85,7 +85,7 @@ jobs:
- name: Run after measurements
id: compare
uses: nextcloud/profiler@6a74c915048285b35b8e1cd96c0835a635945044
uses: nextcloud/profiler@6801ee10fc80f10b444388fb6ca9b36ad8a2ea83
with:
run: |
curl -s -X PROPFIND -u test:test http://localhost:8080/remote.php/dav/files/test
@@ -99,7 +99,7 @@ jobs:
- name: Upload profiles
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
with:
name: profiles
path: |
+1 -1
View File
@@ -56,4 +56,4 @@ jobs:
- name: PHPUnit
uses: docker://ghcr.io/nextcloud/continuous-integration-php8.4-32bit:latest
with:
args: /bin/sh -c "composer run test -- --exclude-group PRIMARY-azure --exclude-group PRIMARY-s3 --exclude-group PRIMARY-swift --exclude-group Memcached --exclude-group Redis --exclude-group RoutingWeirdness"
args: /bin/sh -c "composer run test -- --exclude-group PRIMARY-azure,PRIMARY-s3,PRIMARY-swift,Memcached,Redis,RoutingWeirdness"
+6 -8
View File
@@ -21,11 +21,6 @@ jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-versions: [ '8.2' ]
name: rector-apply
steps:
@@ -36,10 +31,14 @@ jobs:
persist-credentials: false
ref: ${{ github.event.repository.default_branch }}
- name: Set up php${{ matrix.php-versions }}
- name: Get php version
id: versions
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
- name: Set up php${{ steps.versions.outputs.php-min }}
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
with:
php-version: ${{ matrix.php-versions }}
php-version: ${{ steps.versions.outputs.php-min }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
ini-file: development
@@ -50,7 +49,6 @@ jobs:
run: |
composer remove nextcloud/ocp --dev --no-scripts
composer i
git restore lib/composer/composer
- name: Rector
run: composer run rector
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
issues: write
steps:
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v9
- uses: actions/stale@997185467fa4f803885201cee163a9f38240193d # v9
with:
repo-token: ${{ secrets.COMMAND_BOT_PAT }}
stale-issue-message: >
+89 -91
View File
@@ -9,8 +9,6 @@ on:
- main
- master
- stable*
# Push runs are intentionally kept because the security analysis job
# below also runs on push; the other analysis jobs are PR-only.
paths:
- '.github/workflows/static-code-analysis.yml'
- '**.php'
@@ -23,53 +21,10 @@ concurrency:
cancel-in-progress: true
jobs:
changes:
runs-on: ubuntu-latest-low
outputs:
src: ${{ steps.changes.outputs.src }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- '3rdparty/**'
- '**/appinfo/**'
- '**/lib/**'
- '**/templates/**'
- 'vendor/**'
- 'vendor-bin/**'
- 'composer.json'
- 'composer.lock'
- '**.php'
static-code-analysis:
name: ${{ matrix.name }}
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.src != 'false' && github.event_name == 'pull_request' && github.repository_owner != 'nextcloud-gmbh' }}
strategy:
fail-fast: false
matrix:
include:
- name: Psalm
command: composer run psalm -- --threads=1 --monochrome --no-progress --output-format=github --update-baseline
check_baseline_diff: true
- name: Psalm OCP
command: composer run psalm:ocp -- --threads=1 --monochrome --no-progress --output-format=github --update-baseline
check_baseline_diff: true
- name: Psalm NCU
command: composer run psalm:ncu -- --threads=1 --monochrome --no-progress --output-format=github
check_baseline_diff: false
- name: Psalm strict
command: composer run psalm:strict -- --threads=1 --monochrome --no-progress --output-format=github
check_baseline_diff: false
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
@@ -88,32 +43,20 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Get Composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Cache Composer dependencies
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-php-8.2-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-php-8.2-composer-
- name: Composer install
run: composer i
- name: Run analysis
run: ${{ matrix.command }}
- name: Psalm
run: composer run psalm -- --threads=1 --monochrome --no-progress --output-format=github --update-baseline
- name: Show potential changes in Psalm baseline
if: ${{ always() && matrix.check_baseline_diff }}
if: always()
run: git diff --exit-code -- . ':!lib/composer'
static-code-analysis-security:
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.src != 'false' && github.repository_owner != 'nextcloud-gmbh' }}
if: ${{ github.repository_owner != 'nextcloud-gmbh' }}
permissions:
security-events: write
@@ -133,17 +76,6 @@ jobs:
extensions: ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
- name: Get Composer cache directory
id: composer-cache-security
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Cache Composer dependencies
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: ${{ steps.composer-cache-security.outputs.dir }}
key: ${{ runner.os }}-php-8.2-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-php-8.2-composer-
- name: Composer install
run: composer i
@@ -156,27 +88,93 @@ jobs:
- name: Upload Security Analysis results to GitHub
if: always()
uses: github/codeql-action/upload-sarif@89a39a4e59826350b863aa6b6252a07ad50cf83e # v3
uses: github/codeql-action/upload-sarif@b20883b0cd1f46c72ae0ba6d1090936928f9fa30 # v3
with:
sarif_file: results.sarif
summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, static-code-analysis, static-code-analysis-security]
static-code-analysis-ocp:
runs-on: ubuntu-latest
if: always()
name: static-code-analysis-summary
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Summary status
run: |
if ${{ needs.changes.outputs.src != 'false' && (
needs.static-code-analysis-security.result != 'success' ||
(github.event_name == 'pull_request' &&
needs.static-code-analysis.result != 'success')
) }}; then
exit 1
fi
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm:ocp -- --threads=1 --monochrome --no-progress --output-format=github --update-baseline
- name: Show potential changes in Psalm baseline
if: always()
run: git diff --exit-code -- . ':!lib/composer'
static-code-analysis-ncu:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
timeout-minutes: 5
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm:ncu -- --threads=1 --monochrome --no-progress --output-format=github
static-code-analysis-strict:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'push' && github.repository_owner != 'nextcloud-gmbh' }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
submodules: true
- name: Set up php
uses: shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 #v2.36.0
with:
php-version: '8.2'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Composer install
run: composer i
- name: Psalm
run: composer run psalm:strict -- --threads=1 --monochrome --no-progress --output-format=github
+6 -3
View File
@@ -129,10 +129,11 @@
## Rule: Map /remote* --> /remote.php* including the query string
##
## Context:
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Is this even used anymore? Seems a relic from <NC12
##
RewriteRule ^remote/(.*) remote.php [L]
RewriteRule ^remote/(.*) remote.php [QSA,L]
##
## Rule: Prevent access to non-public files
@@ -147,19 +148,21 @@
## - Intentionally excludes URIs used for HTTPS certificate verifications
## - RFC 8555 / ACME HTTP Challenges (acme-challenge)
## - File-based Validations (pki-validation)
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Sometimes we are using `/index.php` and other times `index.php` as our replacement URI; this may be incorrect
##
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [L]
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
##
## Rule: Map the ocm-provider handling to our main frontend controller (/index.php)
##
## Context:
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
## - XXX: Sometimes we are using `/index.php` and other times `index.php` as our replacement URI; this may be incorrect
##
RewriteRule ^ocm-provider/?$ index.php [L]
RewriteRule ^ocm-provider/?$ index.php [QSA,L]
##
## Rule: Prevent access to more non-public files
-35
View File
@@ -4,7 +4,6 @@
# Global exclude
.editorconfig
.envrc
.git
.git-blame-ignore-revs
.gitattributes
@@ -12,44 +11,12 @@
.gitignore
.gitmodules
.idea
.jshint
.jshintrc
.l10nignore
.mailmap
.nextcloudignore
.noopenapi
.npmignore
.php-cs-fixer*
.pre-commit-config.yaml
.tag
.tx
CHANGELOG.md
CODE_OF_CONDUCT.md
COPYING-README
DESIGN.md
Makefile
README.md
SECURITY.md
codecov.yml
cs-fixer
csfixer
custom.d.ts
cypress
cypress.config.ts
eslint.config.js
flake.lock
flake.nix
openapi-extractor
phpunit
psalm
psalm*.xml
rector
stylelint.config.js
tests
tsconfig.json
vite.config.ts
vitest.config.ts
window.d.ts
# Server specific
/.devcontainer
@@ -60,5 +27,3 @@ window.d.ts
/config/config.php
/contribute
/data
/openapi.json
/vendor-bin
-7
View File
@@ -1,7 +0,0 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "নিরীক্ষা",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "নেক্সটক্লাউডের নিরীক্ষামূলক সক্ষমতা প্রদান করে যেমন লগিং ফাইল অ্যাক্সেস বা অন্য কোনো জরুরী পদক্ষেপসমূহ"
},
"nplurals=2; plural=(n != 1);");
-5
View File
@@ -1,5 +0,0 @@
{ "translations": {
"Auditing / Logging" : "নিরীক্ষা",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "নেক্সটক্লাউডের নিরীক্ষামূলক সক্ষমতা প্রদান করে যেমন লগিং ফাইল অ্যাক্সেস বা অন্য কোনো জরুরী পদক্ষেপসমূহ"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
-7
View File
@@ -1,7 +0,0 @@
OC.L10N.register(
"admin_audit",
{
"Auditing / Logging" : "Аудит / Лог",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Nextcloud-д файл нэвтрэлт болон мэдрэмтгий үйлдлүүдийг бүртгэх зэрэг лог хөтлөх чадварыг олгодог."
},
"nplurals=2; plural=(n != 1);");
-5
View File
@@ -1,5 +0,0 @@
{ "translations": {
"Auditing / Logging" : "Аудит / Лог",
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Nextcloud-д файл нэвтрэлт болон мэдрэмтгий үйлдлүүдийг бүртгэх зэрэг лог хөтлөх чадварыг олгодог."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
-8
View File
@@ -1,8 +0,0 @@
OC.L10N.register(
"cloud_federation_api",
{
"Cloud Federation API" : "Cloud Federation API",
"Enable clouds to communicate with each other and exchange data" : "Үүлнүүдийг хоорондоо холбогдож өгөгдөл солилцох боломжтой болгох",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API нь янз бүрийн Nextcloud инстанцуудад хоорондоо харилцах болон өгөгдөл солилцох боломжийг олгодог."
},
"nplurals=2; plural=(n != 1);");
-6
View File
@@ -1,6 +0,0 @@
{ "translations": {
"Cloud Federation API" : "Cloud Federation API",
"Enable clouds to communicate with each other and exchange data" : "Үүлнүүдийг хоорондоо холбогдож өгөгдөл солилцох боломжтой болгох",
"The Cloud Federation API enables various Nextcloud instances to communicate with each other and to exchange data." : "Cloud Federation API нь янз бүрийн Nextcloud инстанцуудад хоорондоо харилцах болон өгөгдөл солилцох боломжийг олгодог."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+1 -1
View File
@@ -32,6 +32,6 @@ OC.L10N.register(
"Comment deleted" : "Kommentar gelöscht",
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"Write a comment …" : "Einen Kommentar schreiben …"
"Write a comment …" : "Einen Kommentar schreiben …"
},
"nplurals=2; plural=(n != 1);");
+1 -1
View File
@@ -30,6 +30,6 @@
"Comment deleted" : "Kommentar gelöscht",
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"Write a comment …" : "Einen Kommentar schreiben …"
"Write a comment …" : "Einen Kommentar schreiben …"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+1 -1
View File
@@ -32,6 +32,6 @@ OC.L10N.register(
"Comment deleted" : "Kommentar gelöscht",
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"Write a comment …" : "Einen Kommentar schreiben …"
"Write a comment …" : "Schreiben Sie einen Kommentar …"
},
"nplurals=2; plural=(n != 1);");
+1 -1
View File
@@ -30,6 +30,6 @@
"Comment deleted" : "Kommentar gelöscht",
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
"Write a comment …" : "Einen Kommentar schreiben …"
"Write a comment …" : "Schreiben Sie einen Kommentar …"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+1 -9
View File
@@ -10,28 +10,20 @@ OC.L10N.register(
"{author} commented on {file}" : "{author} pakomentavo {file}",
"<strong>Comments</strong> for files" : "Failų <strong>komentarai</strong>",
"Files" : "Failai",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Buvote paminėtas „{file}“, komentare, kuris buvo parašytas iš paskyros, kuri vėliau buvo ištrinta.",
"{user} mentioned you in a comment on \"{file}\"" : "{user} minėjo jus \"{file}\" komentare",
"Files app plugin to add comments to files" : "Failų programėlės įskiepis, skirtas prie failų pridėti komentarus",
"Edit comment" : "Taisyti komentarą",
"Delete comment" : "Ištrinti komentarą",
"Cancel edit" : "Atsisakyti taisymo",
"New comment" : "Naujas komentaras",
"Write a comment …" : "Rašyti komentarą ...",
"Post comment" : "Paskelbti komentarą",
"@ for mentions, : for emoji, / for smart picker" : "@ paminėjimams, : jaustukams, / išmaniajam rinkikliui",
"Could not reload comments" : "Nepavyko įkelti komentarų iš naujo",
"Failed to mark comments as read" : "Nepavyko pažymėti komentarų kaip perskaitytų",
"Unable to load the comments list" : "Nepavyko įkelti komentarų sąrašo",
"No comments yet, start the conversation!" : "Komentarų kol kas nėra, pradėkite pokalbį!",
"No more messages" : "Daugiau jokių pranešimų",
"Retry" : "Bandyti dar kartą",
"_1 new comment_::_{unread} new comments_" : ["1 neskaitytas komentaras","{unread} neskaityti komentarai","{unread} neskaitytų komentarų","{unread} neskaitytas komentaras"],
"Comment" : "Komentaras",
"An error occurred while trying to edit the comment" : "Bandant taisyti komentarą, įvyko klaida",
"Comment deleted" : "Komentaras ištrintas",
"An error occurred while trying to delete the comment" : "Bandant ištrinti komentarą, įvyko klaida",
"An error occurred while trying to create the comment" : "Bandant sukurti komentarą, įvyko klaida",
"Write a comment …" : "Rašyti komentarą..."
"An error occurred while trying to create the comment" : "Bandant sukurti komentarą, įvyko klaida"
},
"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");
+1 -9
View File
@@ -8,28 +8,20 @@
"{author} commented on {file}" : "{author} pakomentavo {file}",
"<strong>Comments</strong> for files" : "Failų <strong>komentarai</strong>",
"Files" : "Failai",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Buvote paminėtas „{file}“, komentare, kuris buvo parašytas iš paskyros, kuri vėliau buvo ištrinta.",
"{user} mentioned you in a comment on \"{file}\"" : "{user} minėjo jus \"{file}\" komentare",
"Files app plugin to add comments to files" : "Failų programėlės įskiepis, skirtas prie failų pridėti komentarus",
"Edit comment" : "Taisyti komentarą",
"Delete comment" : "Ištrinti komentarą",
"Cancel edit" : "Atsisakyti taisymo",
"New comment" : "Naujas komentaras",
"Write a comment …" : "Rašyti komentarą ...",
"Post comment" : "Paskelbti komentarą",
"@ for mentions, : for emoji, / for smart picker" : "@ paminėjimams, : jaustukams, / išmaniajam rinkikliui",
"Could not reload comments" : "Nepavyko įkelti komentarų iš naujo",
"Failed to mark comments as read" : "Nepavyko pažymėti komentarų kaip perskaitytų",
"Unable to load the comments list" : "Nepavyko įkelti komentarų sąrašo",
"No comments yet, start the conversation!" : "Komentarų kol kas nėra, pradėkite pokalbį!",
"No more messages" : "Daugiau jokių pranešimų",
"Retry" : "Bandyti dar kartą",
"_1 new comment_::_{unread} new comments_" : ["1 neskaitytas komentaras","{unread} neskaityti komentarai","{unread} neskaitytų komentarų","{unread} neskaitytas komentaras"],
"Comment" : "Komentaras",
"An error occurred while trying to edit the comment" : "Bandant taisyti komentarą, įvyko klaida",
"Comment deleted" : "Komentaras ištrintas",
"An error occurred while trying to delete the comment" : "Bandant ištrinti komentarą, įvyko klaida",
"An error occurred while trying to create the comment" : "Bandant sukurti komentarą, įvyko klaida",
"Write a comment …" : "Rašyti komentarą..."
"An error occurred while trying to create the comment" : "Bandant sukurti komentarą, įvyko klaida"
},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
}
-37
View File
@@ -1,37 +0,0 @@
OC.L10N.register(
"comments",
{
"Comments" : "Сэтгэгдэл",
"You commented" : "Та сэтгэгдэл бичсэн байна",
"{author} commented" : "{author} сэтгэгдэл бичсэн",
"You commented on %1$s" : "Та %1$s нийтлэл дээр сэтгэгдэл бичсэн байна",
"You commented on {file}" : "Та {file} сэтгэгдэл бичсэн байна",
"%1$s commented on %2$s" : "%1$s нь %2$s-д сэтгэгдэл бичсэн",
"{author} commented on {file}" : "{author} нь {file}-д сэтгэгдэл бичсэн",
"<strong>Comments</strong> for files" : "Файлууд дахь<strong>Сэтгэгдэлүүд</strong>",
"Files" : "Файлууд",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Та \"{file}\" дээр, устгагдсан акаунтын сэтгэгдэлд дурдагдсан байна",
"{user} mentioned you in a comment on \"{file}\"" : "{user} таныг \"{file}\" дээрх сэтгэгдэлд дурдсан",
"Files app plugin to add comments to files" : "Файлд сэтгэгдэл нэмэх Файлын апп плагин",
"Edit comment" : "Сэтгэгдэл засах",
"Delete comment" : "Сэтгэгдэл устгах",
"Cancel edit" : "Засварлахыг болих",
"New comment" : "Шинэ сэтгэгдэл",
"Write a comment …" : "Сэтгэгдэл бичих …",
"Post comment" : "Сэтгэгдэл илгээх",
"@ for mentions, : for emoji, / for smart picker" : "@ дурдахад, : эможид, / ухаалаг сонгогчид",
"Could not reload comments" : "Сэтгэгдлүүдийг дахин ачаалж чадсангүй",
"Failed to mark comments as read" : "Сэтгэгдлүүдийг уншсан гэж тэмдэглэж чадсангүй",
"Unable to load the comments list" : "Сэтгэгдлүүдийн жагсаалтыг ачаалж чадсангүй",
"No comments yet, start the conversation!" : "Сэтгэгдэл байхгүй байна",
"No more messages" : "Илүү мессеж байхгүй",
"Retry" : "Дахин оролдох",
"_1 new comment_::_{unread} new comments_" : ["1 шинэ сэтгэгдэл","{unread} шинэ сэтгэгдэл"],
"Comment" : "Сэтгэгдэл",
"An error occurred while trying to edit the comment" : "Сэтгэгдэл засварлах үед алдаа гарлаа",
"Comment deleted" : "Сэтгэгдэл устгагдсан",
"An error occurred while trying to delete the comment" : "Сэтгэгдэл устгах үед алдаа гарлаа",
"An error occurred while trying to create the comment" : "Сэтгэгдэл үүсгэх үед алдаа гарлаа",
"Write a comment …" : "Сэтгэгдэл бичих …"
},
"nplurals=2; plural=(n != 1);");
-35
View File
@@ -1,35 +0,0 @@
{ "translations": {
"Comments" : "Сэтгэгдэл",
"You commented" : "Та сэтгэгдэл бичсэн байна",
"{author} commented" : "{author} сэтгэгдэл бичсэн",
"You commented on %1$s" : "Та %1$s нийтлэл дээр сэтгэгдэл бичсэн байна",
"You commented on {file}" : "Та {file} сэтгэгдэл бичсэн байна",
"%1$s commented on %2$s" : "%1$s нь %2$s-д сэтгэгдэл бичсэн",
"{author} commented on {file}" : "{author} нь {file}-д сэтгэгдэл бичсэн",
"<strong>Comments</strong> for files" : "Файлууд дахь<strong>Сэтгэгдэлүүд</strong>",
"Files" : "Файлууд",
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Та \"{file}\" дээр, устгагдсан акаунтын сэтгэгдэлд дурдагдсан байна",
"{user} mentioned you in a comment on \"{file}\"" : "{user} таныг \"{file}\" дээрх сэтгэгдэлд дурдсан",
"Files app plugin to add comments to files" : "Файлд сэтгэгдэл нэмэх Файлын апп плагин",
"Edit comment" : "Сэтгэгдэл засах",
"Delete comment" : "Сэтгэгдэл устгах",
"Cancel edit" : "Засварлахыг болих",
"New comment" : "Шинэ сэтгэгдэл",
"Write a comment …" : "Сэтгэгдэл бичих …",
"Post comment" : "Сэтгэгдэл илгээх",
"@ for mentions, : for emoji, / for smart picker" : "@ дурдахад, : эможид, / ухаалаг сонгогчид",
"Could not reload comments" : "Сэтгэгдлүүдийг дахин ачаалж чадсангүй",
"Failed to mark comments as read" : "Сэтгэгдлүүдийг уншсан гэж тэмдэглэж чадсангүй",
"Unable to load the comments list" : "Сэтгэгдлүүдийн жагсаалтыг ачаалж чадсангүй",
"No comments yet, start the conversation!" : "Сэтгэгдэл байхгүй байна",
"No more messages" : "Илүү мессеж байхгүй",
"Retry" : "Дахин оролдох",
"_1 new comment_::_{unread} new comments_" : ["1 шинэ сэтгэгдэл","{unread} шинэ сэтгэгдэл"],
"Comment" : "Сэтгэгдэл",
"An error occurred while trying to edit the comment" : "Сэтгэгдэл засварлах үед алдаа гарлаа",
"Comment deleted" : "Сэтгэгдэл устгагдсан",
"An error occurred while trying to delete the comment" : "Сэтгэгдэл устгах үед алдаа гарлаа",
"An error occurred while trying to create the comment" : "Сэтгэгдэл үүсгэх үед алдаа гарлаа",
"Write a comment …" : "Сэтгэгдэл бичих …"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+1 -1
View File
@@ -23,7 +23,7 @@ OC.L10N.register(
"Could not reload comments" : "Kon reactie niet opnieuw laden",
"Failed to mark comments as read" : "Kon reacties niet als gelezen markeren",
"Unable to load the comments list" : "Kan reactielijst niet laden",
"No comments yet, start the conversation!" : "Nog geen reacties, start het gesprek!",
"No comments yet, start the conversation!" : "Nog geen reacties, start de discussie!",
"No more messages" : "Geen berichten meer",
"Retry" : "Opnieuw proberen",
"_1 new comment_::_{unread} new comments_" : ["1 nieuwe reactie","{unread} nieuwe reacties"],
+1 -1
View File
@@ -21,7 +21,7 @@
"Could not reload comments" : "Kon reactie niet opnieuw laden",
"Failed to mark comments as read" : "Kon reacties niet als gelezen markeren",
"Unable to load the comments list" : "Kan reactielijst niet laden",
"No comments yet, start the conversation!" : "Nog geen reacties, start het gesprek!",
"No comments yet, start the conversation!" : "Nog geen reacties, start de discussie!",
"No more messages" : "Geen berichten meer",
"Retry" : "Opnieuw proberen",
"_1 new comment_::_{unread} new comments_" : ["1 nieuwe reactie","{unread} nieuwe reacties"],
-1
View File
@@ -17,7 +17,6 @@ OC.L10N.register(
"Delete comment" : "Zmazať komentár",
"Cancel edit" : "Zrušiť upravovanie",
"New comment" : "Nový komentár",
"Write a comment …" : "Napísať komentár ...",
"Post comment" : "Odoslať komentár",
"@ for mentions, : for emoji, / for smart picker" : "@ pre spomienky, : pre emotikony, / pre inteligentný výber",
"Could not reload comments" : "Nepodarilo sa obnoviť komentáre",
-1
View File
@@ -15,7 +15,6 @@
"Delete comment" : "Zmazať komentár",
"Cancel edit" : "Zrušiť upravovanie",
"New comment" : "Nový komentár",
"Write a comment …" : "Napísať komentár ...",
"Post comment" : "Odoslať komentár",
"@ for mentions, : for emoji, / for smart picker" : "@ pre spomienky, : pre emotikony, / pre inteligentný výber",
"Could not reload comments" : "Nepodarilo sa obnoviť komentáre",
@@ -9,7 +9,6 @@ import CommentProcessingSvg from '@mdi/svg/svg/comment-processing.svg?raw'
import { getSidebar } from '@nextcloud/files'
import { n, t } from '@nextcloud/l10n'
import logger from '../logger.js'
import { isUsingActivityIntegration } from '../utils/activity.js'
export const action: IFileAction = {
id: 'comments-unread',
@@ -39,13 +38,7 @@ export const action: IFileAction = {
try {
const sidebar = getSidebar()
const sidebarTabId = isUsingActivityIntegration() ? 'activity' : 'comments'
if (sidebar.isOpen && sidebar.node?.source === nodes[0].source) {
logger.debug('Sidebar already open for this node, just activating comments tab')
sidebar.setActiveTab(sidebarTabId)
return null
}
sidebar.open(nodes[0], sidebarTabId)
sidebar.open(nodes[0], 'comments')
return null
} catch (error) {
logger.error('Error while opening sidebar', { error })
+3 -3
View File
@@ -1,4 +1,4 @@
/*!
/**
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
@@ -6,18 +6,18 @@
import MessageReplyText from '@mdi/svg/svg/message-reply-text.svg?raw'
import { getCSPNonce } from '@nextcloud/auth'
import { registerSidebarTab } from '@nextcloud/files'
import { loadState } from '@nextcloud/initial-state'
import { t } from '@nextcloud/l10n'
import wrap from '@vue/web-component-wrapper'
import { createPinia, PiniaVuePlugin } from 'pinia'
import Vue from 'vue'
import { registerCommentsPlugins } from './comments-activity-tab.ts'
import { isUsingActivityIntegration } from './utils/activity.ts'
__webpack_nonce__ = getCSPNonce()
const tagName = 'comments_files-sidebar-tab'
if (isUsingActivityIntegration()) {
if (loadState('comments', 'activityEnabled', false) && OCA?.Activity?.registerSidebarAction !== undefined) {
// Do not mount own tab but mount into activity
window.addEventListener('DOMContentLoaded', function() {
registerCommentsPlugins()
-13
View File
@@ -1,13 +0,0 @@
/*!
* SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import { loadState } from '@nextcloud/initial-state'
/**
* Check if the comments app is using the Activity app integration for the sidebar.
*/
export function isUsingActivityIntegration() {
return loadState('comments', 'activityEnabled', false) && window.OCA?.Activity?.registerSidebarAction !== undefined
}
+1 -3
View File
@@ -2,8 +2,6 @@ OC.L10N.register(
"contactsinteraction",
{
"Recently contacted" : "Paskiausiai susisiekta",
"Contacts Interaction" : "Sąveika su adresatais",
"Manages interaction between accounts and contacts" : "Tvarko sąveiką tarp paskyrų ir kontaktų",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Rinkti duomenis apie klientų ir kontaktų sąveiką ir pateikti adresų knygą duomenims"
"Contacts Interaction" : "Sąveika su adresatais"
},
"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");
+1 -3
View File
@@ -1,7 +1,5 @@
{ "translations": {
"Recently contacted" : "Paskiausiai susisiekta",
"Contacts Interaction" : "Sąveika su adresatais",
"Manages interaction between accounts and contacts" : "Tvarko sąveiką tarp paskyrų ir kontaktų",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Rinkti duomenis apie klientų ir kontaktų sąveiką ir pateikti adresų knygą duomenims"
"Contacts Interaction" : "Sąveika su adresatais"
},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
}
-9
View File
@@ -1,9 +0,0 @@
OC.L10N.register(
"contactsinteraction",
{
"Recently contacted" : "Саяхан холбоо барьсан",
"Contacts Interaction" : "Харилцагчийн харилцан үйлдэл",
"Manages interaction between accounts and contacts" : "Бүртгэл ба харилцагчдын хоорондын харилцааг удирддаг",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Бүртгэл болон харилцагчдын харилцан үйлчлэлийн өгөгдлийг цуглуулж, тэдгээр өгөгдлийн хаягийн дэвтрийг хангана"
},
"nplurals=2; plural=(n != 1);");
-7
View File
@@ -1,7 +0,0 @@
{ "translations": {
"Recently contacted" : "Саяхан холбоо барьсан",
"Contacts Interaction" : "Харилцагчийн харилцан үйлдэл",
"Manages interaction between accounts and contacts" : "Бүртгэл ба харилцагчдын хоорондын харилцааг удирддаг",
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Бүртгэл болон харилцагчдын харилцан үйлчлэлийн өгөгдлийг цуглуулж, тэдгээр өгөгдлийн хаягийн дэвтрийг хангана"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -1
View File
@@ -22,6 +22,7 @@ OC.L10N.register(
"Weather service" : "خدمة الطقس",
"Weather data from Met.no" : "بيانات الطقس من Met.no",
"geocoding with Nominatim" : "الترميز الجغرافي مع Nominatim",
"elevation data from OpenTopoData" : "بيانات التقييم من OpenTopoData"
"elevation data from OpenTopoData" : "بيانات التقييم من OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "للحفاظ على خصوصيتك، يتم استدعاء بيانات حالة الطقس عبر خادم NextCloud الخاص بك نيابه عنك، وبالتالي فإن خدمة حالة الطقس لا تشارك معلوماتك الشخصية."
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");
+2 -1
View File
@@ -20,6 +20,7 @@
"Weather service" : "خدمة الطقس",
"Weather data from Met.no" : "بيانات الطقس من Met.no",
"geocoding with Nominatim" : "الترميز الجغرافي مع Nominatim",
"elevation data from OpenTopoData" : "بيانات التقييم من OpenTopoData"
"elevation data from OpenTopoData" : "بيانات التقييم من OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "للحفاظ على خصوصيتك، يتم استدعاء بيانات حالة الطقس عبر خادم NextCloud الخاص بك نيابه عنك، وبالتالي فإن خدمة حالة الطقس لا تشارك معلوماتك الشخصية."
},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+2 -1
View File
@@ -20,6 +20,7 @@ OC.L10N.register(
"Weather service" : "Serviciu del clima",
"Weather data from Met.no" : "datos del clima de Met.no",
"geocoding with Nominatim" : "xeocodificación con Nominatim",
"elevation data from OpenTopoData" : "datos d'elevaciones d'OpenTopoData"
"elevation data from OpenTopoData" : "datos d'elevaciones d'OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Pa la to privacidá, los datos del clima solicítense dende esta instancia de Nextcloud y, polo tanto, el serviciu del clima no recibe nenguna información personal."
},
"nplurals=2; plural=(n != 1);");
+2 -1
View File
@@ -18,6 +18,7 @@
"Weather service" : "Serviciu del clima",
"Weather data from Met.no" : "datos del clima de Met.no",
"geocoding with Nominatim" : "xeocodificación con Nominatim",
"elevation data from OpenTopoData" : "datos d'elevaciones d'OpenTopoData"
"elevation data from OpenTopoData" : "datos d'elevaciones d'OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Pa la to privacidá, los datos del clima solicítense dende esta instancia de Nextcloud y, polo tanto, el serviciu del clima no recibe nenguna información personal."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -1
View File
@@ -19,6 +19,7 @@ OC.L10N.register(
"Weather service" : "Метеорологична услуга",
"Weather data from Met.no" : "Данни за времето от Met.no",
"geocoding with Nominatim" : "геокодиране с Nominatim",
"elevation data from OpenTopoData" : " кота данни от OpenTopoData"
"elevation data from OpenTopoData" : " кота данни от OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "За вашата поверителност данните за времето се изискват от Nextcloud сървъра ви от ваше име, така че метеорологичната служба не получава лична информация."
},
"nplurals=2; plural=(n != 1);");
+2 -1
View File
@@ -17,6 +17,7 @@
"Weather service" : "Метеорологична услуга",
"Weather data from Met.no" : "Данни за времето от Met.no",
"geocoding with Nominatim" : "геокодиране с Nominatim",
"elevation data from OpenTopoData" : " кота данни от OpenTopoData"
"elevation data from OpenTopoData" : " кота данни от OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "За вашата поверителност данните за времето се изискват от Nextcloud сървъра ви от ваше име, така че метеорологичната служба не получава лична информация."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -1
View File
@@ -22,6 +22,7 @@ OC.L10N.register(
"Weather service" : "Servei meteorològic",
"Weather data from Met.no" : "Dades meteorològiques de Met.no",
"geocoding with Nominatim" : "codis geogràfics amb Nominatim",
"elevation data from OpenTopoData" : "dades d'altitud d'OpenTopoData"
"elevation data from OpenTopoData" : "dades d'altitud d'OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Per a la vostra privadesa, les dades meteorològiques les sol·licita el servidor del Nextcloud en nom vostre perquè el servei meteorològic no rebi cap informació personal."
},
"nplurals=2; plural=(n != 1);");
+2 -1
View File
@@ -20,6 +20,7 @@
"Weather service" : "Servei meteorològic",
"Weather data from Met.no" : "Dades meteorològiques de Met.no",
"geocoding with Nominatim" : "codis geogràfics amb Nominatim",
"elevation data from OpenTopoData" : "dades d'altitud d'OpenTopoData"
"elevation data from OpenTopoData" : "dades d'altitud d'OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Per a la vostra privadesa, les dades meteorològiques les sol·licita el servidor del Nextcloud en nom vostre perquè el servei meteorològic no rebi cap informació personal."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -1
View File
@@ -23,6 +23,7 @@ OC.L10N.register(
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Vaše soukromí je chráněno tím, že komunikaci se službou předpovědi počasí zprostředkovává vámi využívaný {productName} server. Díky tomu služba, která tyto údaje poskytuje, neobdrží z vašeho počítače žádné osobní údaje.",
"Weather data from Met.no" : "Údaje o počasí z Met.no",
"geocoding with Nominatim" : "z popisu polohy na souřadnice převáděno službou Nominatim",
"elevation data from OpenTopoData" : "data o nadmořských výškách z OpenTopoData"
"elevation data from OpenTopoData" : "data o nadmořských výškách z OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Vaše soukromí je chráněno tím, že komunikaci se službou předpovědi počasí zprostředkovává vámi využívaný Nextcloud server. Díky tomu služba, která tyto údaje poskytuje, neobdrží z vašeho počítače žádné osobní údaje."
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");
+2 -1
View File
@@ -21,6 +21,7 @@
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Vaše soukromí je chráněno tím, že komunikaci se službou předpovědi počasí zprostředkovává vámi využívaný {productName} server. Díky tomu služba, která tyto údaje poskytuje, neobdrží z vašeho počítače žádné osobní údaje.",
"Weather data from Met.no" : "Údaje o počasí z Met.no",
"geocoding with Nominatim" : "z popisu polohy na souřadnice převáděno službou Nominatim",
"elevation data from OpenTopoData" : "data o nadmořských výškách z OpenTopoData"
"elevation data from OpenTopoData" : "data o nadmořských výškách z OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Vaše soukromí je chráněno tím, že komunikaci se službou předpovědi počasí zprostředkovává vámi využívaný Nextcloud server. Díky tomu služba, která tyto údaje poskytuje, neobdrží z vašeho počítače žádné osobní údaje."
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
}
+2 -1
View File
@@ -23,6 +23,7 @@ OC.L10N.register(
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Af hensyn til dit privatliv anmoder din {productName} server om vejrdata på dine vegne, så vejrtjenesten ikke modtager personlige oplysninger.",
"Weather data from Met.no" : "Vejr-data leveres af Met.no",
"geocoding with Nominatim" : "Geocoding med Nominatim",
"elevation data from OpenTopoData" : "Højde-data fra OpenTopoData"
"elevation data from OpenTopoData" : "Højde-data fra OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Af hensyn til dit privatliv, er det din Nextcloud-server der henter vejr-data og udbyderen modtager således ingen oplysninger om dig."
},
"nplurals=2; plural=(n != 1);");
+2 -1
View File
@@ -21,6 +21,7 @@
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Af hensyn til dit privatliv anmoder din {productName} server om vejrdata på dine vegne, så vejrtjenesten ikke modtager personlige oplysninger.",
"Weather data from Met.no" : "Vejr-data leveres af Met.no",
"geocoding with Nominatim" : "Geocoding med Nominatim",
"elevation data from OpenTopoData" : "Højde-data fra OpenTopoData"
"elevation data from OpenTopoData" : "Højde-data fra OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Af hensyn til dit privatliv, er det din Nextcloud-server der henter vejr-data og udbyderen modtager således ingen oplysninger om dig."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -1
View File
@@ -23,6 +23,7 @@ OC.L10N.register(
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Zu deinem Datenschutz werden die Wetterdaten von deinem {productName}-Server für dich angefordert, so dass der Wetterdienst keine persönlichen Informationen erhält.",
"Weather data from Met.no" : "Wetterdaten von Met.no",
"geocoding with Nominatim" : "Geokodierung mit Nominatim",
"elevation data from OpenTopoData" : "Höhendaten von OpenTopoData"
"elevation data from OpenTopoData" : "Höhendaten von OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Zu deinem Datenschutz werden die Wetterdaten von deinem Nextcloud-Server für dich angefordert, so dass der Wetterdienst keine persönlichen Informationen erhält."
},
"nplurals=2; plural=(n != 1);");
+2 -1
View File
@@ -21,6 +21,7 @@
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Zu deinem Datenschutz werden die Wetterdaten von deinem {productName}-Server für dich angefordert, so dass der Wetterdienst keine persönlichen Informationen erhält.",
"Weather data from Met.no" : "Wetterdaten von Met.no",
"geocoding with Nominatim" : "Geokodierung mit Nominatim",
"elevation data from OpenTopoData" : "Höhendaten von OpenTopoData"
"elevation data from OpenTopoData" : "Höhendaten von OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Zu deinem Datenschutz werden die Wetterdaten von deinem Nextcloud-Server für dich angefordert, so dass der Wetterdienst keine persönlichen Informationen erhält."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -1
View File
@@ -23,6 +23,7 @@ OC.L10N.register(
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Zu Ihrem Datenschutz werden die Wetterdaten von Ihrem {productName}-Server für Sie angefordert, so dass der Wetterdienst keine persönlichen Informationen erhält.",
"Weather data from Met.no" : "Wetterdaten von Met.no",
"geocoding with Nominatim" : "Geokodierung mit Nominatim",
"elevation data from OpenTopoData" : "Höhendaten von OpenTopoData"
"elevation data from OpenTopoData" : "Höhendaten von OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Zu Ihrem Datenschutz werden die Wetterdaten von Ihrem Nextcloud-Server für Sie angefordert, so dass der Wetterdienst keine persönlichen Informationen erhält."
},
"nplurals=2; plural=(n != 1);");
+2 -1
View File
@@ -21,6 +21,7 @@
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Zu Ihrem Datenschutz werden die Wetterdaten von Ihrem {productName}-Server für Sie angefordert, so dass der Wetterdienst keine persönlichen Informationen erhält.",
"Weather data from Met.no" : "Wetterdaten von Met.no",
"geocoding with Nominatim" : "Geokodierung mit Nominatim",
"elevation data from OpenTopoData" : "Höhendaten von OpenTopoData"
"elevation data from OpenTopoData" : "Höhendaten von OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Zu Ihrem Datenschutz werden die Wetterdaten von Ihrem Nextcloud-Server für Sie angefordert, so dass der Wetterdienst keine persönlichen Informationen erhält."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -1
View File
@@ -23,6 +23,7 @@ OC.L10N.register(
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Για το απόρρητό σας, τα δεδομένα καιρού ζητούνται από τον διακομιστή {productName} εκ μέρους σας, ώστε η υπηρεσία καιρού να μην λαμβάνει προσωπικές πληροφορίες.",
"Weather data from Met.no" : "Δεδομένα καιρού από το Met.no",
"geocoding with Nominatim" : "γεωκωδικοποίηση με Nominatim",
"elevation data from OpenTopoData" : "δεδομένα υψομέτρου από OpenTopoData"
"elevation data from OpenTopoData" : "δεδομένα υψομέτρου από OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Για το απόρρητό σας, τα δεδομένα καιρού ζητούνται από τον διακομιστή Nextcloud για λογαριασμό σας, ώστε η υπηρεσία καιρού να μην λαμβάνει προσωπικά στοιχεία."
},
"nplurals=2; plural=(n != 1);");
+2 -1
View File
@@ -21,6 +21,7 @@
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Για το απόρρητό σας, τα δεδομένα καιρού ζητούνται από τον διακομιστή {productName} εκ μέρους σας, ώστε η υπηρεσία καιρού να μην λαμβάνει προσωπικές πληροφορίες.",
"Weather data from Met.no" : "Δεδομένα καιρού από το Met.no",
"geocoding with Nominatim" : "γεωκωδικοποίηση με Nominatim",
"elevation data from OpenTopoData" : "δεδομένα υψομέτρου από OpenTopoData"
"elevation data from OpenTopoData" : "δεδομένα υψομέτρου από OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Για το απόρρητό σας, τα δεδομένα καιρού ζητούνται από τον διακομιστή Nextcloud για λογαριασμό σας, ώστε η υπηρεσία καιρού να μην λαμβάνει προσωπικά στοιχεία."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -1
View File
@@ -23,6 +23,7 @@ OC.L10N.register(
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information.",
"Weather data from Met.no" : "Weather data from Met.no",
"geocoding with Nominatim" : "geocoding with Nominatim",
"elevation data from OpenTopoData" : "elevation data from OpenTopoData"
"elevation data from OpenTopoData" : "elevation data from OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information."
},
"nplurals=2; plural=(n != 1);");
+2 -1
View File
@@ -21,6 +21,7 @@
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information.",
"Weather data from Met.no" : "Weather data from Met.no",
"geocoding with Nominatim" : "geocoding with Nominatim",
"elevation data from OpenTopoData" : "elevation data from OpenTopoData"
"elevation data from OpenTopoData" : "elevation data from OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -1
View File
@@ -23,6 +23,7 @@ OC.L10N.register(
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Para su privacidad, los datos meteorológicos son solicitados por su servidor {productName} en su nombre, de tal forma que el servicio no reciba información personal.",
"Weather data from Met.no" : "Datos meteorológicos de Met.no",
"geocoding with Nominatim" : "geocoding con Nominatim",
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData"
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Para su privacidad, los datos meteorológicos son solicitados por su servidor Nextcloud en su nombre, de tal forma que el servicio no reciba información personal."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
+2 -1
View File
@@ -21,6 +21,7 @@
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Para su privacidad, los datos meteorológicos son solicitados por su servidor {productName} en su nombre, de tal forma que el servicio no reciba información personal.",
"Weather data from Met.no" : "Datos meteorológicos de Met.no",
"geocoding with Nominatim" : "geocoding con Nominatim",
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData"
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Para su privacidad, los datos meteorológicos son solicitados por su servidor Nextcloud en su nombre, de tal forma que el servicio no reciba información personal."
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}
+2 -1
View File
@@ -19,6 +19,7 @@ OC.L10N.register(
"Weather service" : "Servicio meteorológico",
"Weather data from Met.no" : "Datos meteorológicos de Met.no",
"geocoding with Nominatim" : "geocoding con Nominatim",
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData"
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Por privacidad, los datos meteorológicos son solicitados por tu servidor Nextcloud en tu nombre de tal forma que el servicio no recibe información personal."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
+2 -1
View File
@@ -17,6 +17,7 @@
"Weather service" : "Servicio meteorológico",
"Weather data from Met.no" : "Datos meteorológicos de Met.no",
"geocoding with Nominatim" : "geocoding con Nominatim",
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData"
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Por privacidad, los datos meteorológicos son solicitados por tu servidor Nextcloud en tu nombre de tal forma que el servicio no recibe información personal."
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}
+2 -1
View File
@@ -20,6 +20,7 @@ OC.L10N.register(
"Weather service" : "Servicio metereológico",
"Weather data from Met.no" : "Datos meteorológicos de Met.no",
"geocoding with Nominatim" : "geocoding con Nominatim",
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData"
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Por privacidad, los datos meteorológicos son solicitados por tu servidor Nextcloud en tu nombre de tal forma que el servicio no recibe información personal."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
+2 -1
View File
@@ -18,6 +18,7 @@
"Weather service" : "Servicio metereológico",
"Weather data from Met.no" : "Datos meteorológicos de Met.no",
"geocoding with Nominatim" : "geocoding con Nominatim",
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData"
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Por privacidad, los datos meteorológicos son solicitados por tu servidor Nextcloud en tu nombre de tal forma que el servicio no recibe información personal."
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}
+2 -1
View File
@@ -23,6 +23,7 @@ OC.L10N.register(
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Sinu privaatsuse huvides küsib su nimel ilmaandmeid {productName}i server, nii et ilmateenistus ei saa sinu kohta isiklikku teavet.",
"Weather data from Met.no" : "Met.no ilmaennustus",
"geocoding with Nominatim" : "geoprogrammeerimine Nominatimiga",
"elevation data from OpenTopoData" : "kõrgusandmed OpenTopoDatast"
"elevation data from OpenTopoData" : "kõrgusandmed OpenTopoDatast",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Sinu privaatsuse huvides küsib su nimel ilmaandmeid Nextcloudi server, nii et ilmateenistus ei saa isiklikku teavet."
},
"nplurals=2; plural=(n != 1);");
+2 -1
View File
@@ -21,6 +21,7 @@
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Sinu privaatsuse huvides küsib su nimel ilmaandmeid {productName}i server, nii et ilmateenistus ei saa sinu kohta isiklikku teavet.",
"Weather data from Met.no" : "Met.no ilmaennustus",
"geocoding with Nominatim" : "geoprogrammeerimine Nominatimiga",
"elevation data from OpenTopoData" : "kõrgusandmed OpenTopoDatast"
"elevation data from OpenTopoData" : "kõrgusandmed OpenTopoDatast",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Sinu privaatsuse huvides küsib su nimel ilmaandmeid Nextcloudi server, nii et ilmateenistus ei saa isiklikku teavet."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -1
View File
@@ -23,6 +23,7 @@ OC.L10N.register(
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Zure pribatutasunerako, eguraldiaren datuak zure {productName}zerbitzariak eskatzen ditu zure izenean, beraz, meteorologia zerbitzuak ez du informazio pertsonalik jasotzen.",
"Weather data from Met.no" : "Met.no-ko eguraldiaren datuak",
"geocoding with Nominatim" : "geokodetzea Nominatim-ekin",
"elevation data from OpenTopoData" : "altitude datuak OpenTopoData-tik"
"elevation data from OpenTopoData" : "altitude datuak OpenTopoData-tik",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Zure pribatutasunaren mesedetan, eguraldiaren datuak Nextcloud zerbitzariak eskatzen ditu zure izenean, eguraldi zerbitzuak informazio pertsonalik ez jasotzeko."
},
"nplurals=2; plural=(n != 1);");
+2 -1
View File
@@ -21,6 +21,7 @@
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Zure pribatutasunerako, eguraldiaren datuak zure {productName}zerbitzariak eskatzen ditu zure izenean, beraz, meteorologia zerbitzuak ez du informazio pertsonalik jasotzen.",
"Weather data from Met.no" : "Met.no-ko eguraldiaren datuak",
"geocoding with Nominatim" : "geokodetzea Nominatim-ekin",
"elevation data from OpenTopoData" : "altitude datuak OpenTopoData-tik"
"elevation data from OpenTopoData" : "altitude datuak OpenTopoData-tik",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Zure pribatutasunaren mesedetan, eguraldiaren datuak Nextcloud zerbitzariak eskatzen ditu zure izenean, eguraldi zerbitzuak informazio pertsonalik ez jasotzeko."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -1
View File
@@ -22,6 +22,7 @@ OC.L10N.register(
"Weather service" : "خدمت هواشناسی",
"Weather data from Met.no" : "اطلاعات هواشناسی از Met.no",
"geocoding with Nominatim" : "کدگذاری جغرافیایی با Nominatim",
"elevation data from OpenTopoData" : "داده‌های ارتفاع از OpenTopoData"
"elevation data from OpenTopoData" : "داده‌های ارتفاع از OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "برای محرمانگیتان، داده‌های آب و هوا از طرف کارساز نکست‌کلودتان درخواست می‌شود تا خدمت آب و هوا هیچ اطّلاعات شخصی‌ای دریافت نکند."
},
"nplurals=2; plural=(n > 1);");
+2 -1
View File
@@ -20,6 +20,7 @@
"Weather service" : "خدمت هواشناسی",
"Weather data from Met.no" : "اطلاعات هواشناسی از Met.no",
"geocoding with Nominatim" : "کدگذاری جغرافیایی با Nominatim",
"elevation data from OpenTopoData" : "داده‌های ارتفاع از OpenTopoData"
"elevation data from OpenTopoData" : "داده‌های ارتفاع از OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "برای محرمانگیتان، داده‌های آب و هوا از طرف کارساز نکست‌کلودتان درخواست می‌شود تا خدمت آب و هوا هیچ اطّلاعات شخصی‌ای دریافت نکند."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
}
+2 -1
View File
@@ -19,6 +19,7 @@ OC.L10N.register(
"Weather service" : "Sääpalvelu",
"Weather data from Met.no" : "Säätiedot tarjoaa Met.no",
"geocoding with Nominatim" : "geokoodauksen Nominatim",
"elevation data from OpenTopoData" : "korkeustiedot OpenTopoData"
"elevation data from OpenTopoData" : "korkeustiedot OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Yksityisyytesi vuoksi Nextcloud-palvelin hakee säätiedot, joten sääpalvelulle ei lähetetä henkilökohtaisia tietojasi."
},
"nplurals=2; plural=(n != 1);");
+2 -1
View File
@@ -17,6 +17,7 @@
"Weather service" : "Sääpalvelu",
"Weather data from Met.no" : "Säätiedot tarjoaa Met.no",
"geocoding with Nominatim" : "geokoodauksen Nominatim",
"elevation data from OpenTopoData" : "korkeustiedot OpenTopoData"
"elevation data from OpenTopoData" : "korkeustiedot OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Yksityisyytesi vuoksi Nextcloud-palvelin hakee säätiedot, joten sääpalvelulle ei lähetetä henkilökohtaisia tietojasi."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -1
View File
@@ -23,6 +23,7 @@ OC.L10N.register(
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Afin de protéger votre vie privée, les données météorologiques sont demandées par votre serveur {productName} à votre place afin que le service météo ne reçoive aucune information personnelle.",
"Weather data from Met.no" : "Données météo fournies par Met.no",
"geocoding with Nominatim" : "Géocodage avec Nominatim",
"elevation data from OpenTopoData" : "Données daltitude provenant dOpenTopoData"
"elevation data from OpenTopoData" : "Données daltitude provenant dOpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Afin de protéger votre vie privée, les données météorologiques sont demandées par votre serveur Nextcloud à votre place afin que le service météo ne reçoive aucune information personnelle."
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
+2 -1
View File
@@ -21,6 +21,7 @@
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Afin de protéger votre vie privée, les données météorologiques sont demandées par votre serveur {productName} à votre place afin que le service météo ne reçoive aucune information personnelle.",
"Weather data from Met.no" : "Données météo fournies par Met.no",
"geocoding with Nominatim" : "Géocodage avec Nominatim",
"elevation data from OpenTopoData" : "Données daltitude provenant dOpenTopoData"
"elevation data from OpenTopoData" : "Données daltitude provenant dOpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Afin de protéger votre vie privée, les données météorologiques sont demandées par votre serveur Nextcloud à votre place afin que le service météo ne reçoive aucune information personnelle."
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}
+2 -1
View File
@@ -23,6 +23,7 @@ OC.L10N.register(
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Ar mhaithe le do phríobháideacht, iarrann do fhreastalaí {productName} na sonraí aimsire ar do shon agus mar sin ní fhaigheann an tseirbhís aimsire aon fhaisnéis phearsanta.",
"Weather data from Met.no" : "Sonraí aimsire ó Met.no",
"geocoding with Nominatim" : "geochódú le Nominatim",
"elevation data from OpenTopoData" : "sonraí ardaithe ó OpenTopoData"
"elevation data from OpenTopoData" : "sonraí ardaithe ó OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Ar mhaithe le do phríobháideachas, iarrann do fhreastalaí Nextcloud na sonraí aimsire ar do shon agus mar sin ní fhaigheann an tseirbhís aimsire aon fhaisnéis phearsanta."
},
"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);");
+2 -1
View File
@@ -21,6 +21,7 @@
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Ar mhaithe le do phríobháideacht, iarrann do fhreastalaí {productName} na sonraí aimsire ar do shon agus mar sin ní fhaigheann an tseirbhís aimsire aon fhaisnéis phearsanta.",
"Weather data from Met.no" : "Sonraí aimsire ó Met.no",
"geocoding with Nominatim" : "geochódú le Nominatim",
"elevation data from OpenTopoData" : "sonraí ardaithe ó OpenTopoData"
"elevation data from OpenTopoData" : "sonraí ardaithe ó OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Ar mhaithe le do phríobháideachas, iarrann do fhreastalaí Nextcloud na sonraí aimsire ar do shon agus mar sin ní fhaigheann an tseirbhís aimsire aon fhaisnéis phearsanta."
},"pluralForm" :"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);"
}
+2 -1
View File
@@ -23,6 +23,7 @@ OC.L10N.register(
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Para a súa privacidade, o servidor de {productName} solicita os datos meteorolóxicos no seu nome para que o servizo meteorolóxico non reciba información persoal.",
"Weather data from Met.no" : "Datos meteorolóxicos de Met.no",
"geocoding with Nominatim" : "xeocodificación con Nominatim",
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData"
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Para a súa privacidade, o servidor de Nextcloud solicita os datos meteorolóxicos no seu nome para que o servizo meteorolóxico non reciba información persoal."
},
"nplurals=2; plural=(n != 1);");
+2 -1
View File
@@ -21,6 +21,7 @@
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Para a súa privacidade, o servidor de {productName} solicita os datos meteorolóxicos no seu nome para que o servizo meteorolóxico non reciba información persoal.",
"Weather data from Met.no" : "Datos meteorolóxicos de Met.no",
"geocoding with Nominatim" : "xeocodificación con Nominatim",
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData"
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Para a súa privacidade, o servidor de Nextcloud solicita os datos meteorolóxicos no seu nome para que o servizo meteorolóxico non reciba información persoal."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -1
View File
@@ -18,6 +18,7 @@ OC.L10N.register(
"Weather service" : "שירות מזג אוויר",
"Weather data from Met.no" : "נתוני מזג אוויר מ- Met.no",
"geocoding with Nominatim" : "קידוד גיאוגרפי עם Nominatim",
"elevation data from OpenTopoData" : "נתוני גובה מ- OpenTopoData"
"elevation data from OpenTopoData" : "נתוני גובה מ- OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "למען פרטיותך, נתוני מזג האוויר מתבקשים על ידי שרת Nextcloud עבורך, כך ששירות מזג האוויר אינו מקבל מידע אישי."
},
"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;");
+2 -1
View File
@@ -16,6 +16,7 @@
"Weather service" : "שירות מזג אוויר",
"Weather data from Met.no" : "נתוני מזג אוויר מ- Met.no",
"geocoding with Nominatim" : "קידוד גיאוגרפי עם Nominatim",
"elevation data from OpenTopoData" : "נתוני גובה מ- OpenTopoData"
"elevation data from OpenTopoData" : "נתוני גובה מ- OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "למען פרטיותך, נתוני מזג האוויר מתבקשים על ידי שרת Nextcloud עבורך, כך ששירות מזג האוויר אינו מקבל מידע אישי."
},"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"
}
+2 -1
View File
@@ -23,6 +23,7 @@ OC.L10N.register(
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Radi vaše privatnosti, podatke o vremenu u vaše ime dohvaća vaš {productName} poslužitelj, tako da vremenska usluga ne prima nikakve osobne podatke.",
"Weather data from Met.no" : "Podaci o vremenskoj prognozi iz Met.no",
"geocoding with Nominatim" : "geokodiranje uz Nominatim",
"elevation data from OpenTopoData" : "podaci o nadmorskoj visini iz OpenTopoData"
"elevation data from OpenTopoData" : "podaci o nadmorskoj visini iz OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Radi zaštite vaše privatnosti, podatke o vremenskoj prognozi zahtijeva vaš Nextcloud poslužitelj u vaše ime kako davatelj vremenske prognoze ne bi primio vaše osobne podatke."
},
"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
+2 -1
View File
@@ -21,6 +21,7 @@
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Radi vaše privatnosti, podatke o vremenu u vaše ime dohvaća vaš {productName} poslužitelj, tako da vremenska usluga ne prima nikakve osobne podatke.",
"Weather data from Met.no" : "Podaci o vremenskoj prognozi iz Met.no",
"geocoding with Nominatim" : "geokodiranje uz Nominatim",
"elevation data from OpenTopoData" : "podaci o nadmorskoj visini iz OpenTopoData"
"elevation data from OpenTopoData" : "podaci o nadmorskoj visini iz OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Radi zaštite vaše privatnosti, podatke o vremenskoj prognozi zahtijeva vaš Nextcloud poslužitelj u vaše ime kako davatelj vremenske prognoze ne bi primio vaše osobne podatke."
},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
}
+2 -1
View File
@@ -23,6 +23,7 @@ OC.L10N.register(
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Az adatvédelem érdekében az információt a {productName}-kiszolgáló kéri le az Ön nevében, így az Ön személyes adatai nem kerülnek az időjárási adatok szolgáltatójához.",
"Weather data from Met.no" : "Időjárási adatok a Met.no-tól",
"geocoding with Nominatim" : "geokódolás a Nominatimmal",
"elevation data from OpenTopoData" : "magassági adatok az OpenTopoDatától"
"elevation data from OpenTopoData" : "magassági adatok az OpenTopoDatától",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Az adatvédelem érdekében az információt a Nextcloud kiszolgáló kéri le az Ön nevében, így az Ön személyes adatai nem kerülnek az időjárási adatok szolgáltatójához."
},
"nplurals=2; plural=(n != 1);");
+2 -1
View File
@@ -21,6 +21,7 @@
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Az adatvédelem érdekében az információt a {productName}-kiszolgáló kéri le az Ön nevében, így az Ön személyes adatai nem kerülnek az időjárási adatok szolgáltatójához.",
"Weather data from Met.no" : "Időjárási adatok a Met.no-tól",
"geocoding with Nominatim" : "geokódolás a Nominatimmal",
"elevation data from OpenTopoData" : "magassági adatok az OpenTopoDatától"
"elevation data from OpenTopoData" : "magassági adatok az OpenTopoDatától",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Az adatvédelem érdekében az információt a Nextcloud kiszolgáló kéri le az Ön nevében, így az Ön személyes adatai nem kerülnek az időjárási adatok szolgáltatójához."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
+2 -1
View File
@@ -23,6 +23,7 @@ OC.L10N.register(
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Demi privasi Anda, data cuaca diminta oleh server {productName} Anda atas nama Anda sehingga layanan cuaca tidak menerima informasi pribadi apa pun.",
"Weather data from Met.no" : "Data cuaca dari Met.no",
"geocoding with Nominatim" : "Secara khusus, dengan geocoding",
"elevation data from OpenTopoData" : "data ketinggian dari OpenTopoData"
"elevation data from OpenTopoData" : "data ketinggian dari OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Untuk privasi Anda, data cuaca diminta oleh server Nextcloud Anda atas nama Anda sehingga layanan cuaca tidak menerima informasi pribadi."
},
"nplurals=1; plural=0;");
+2 -1
View File
@@ -21,6 +21,7 @@
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Demi privasi Anda, data cuaca diminta oleh server {productName} Anda atas nama Anda sehingga layanan cuaca tidak menerima informasi pribadi apa pun.",
"Weather data from Met.no" : "Data cuaca dari Met.no",
"geocoding with Nominatim" : "Secara khusus, dengan geocoding",
"elevation data from OpenTopoData" : "data ketinggian dari OpenTopoData"
"elevation data from OpenTopoData" : "data ketinggian dari OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Untuk privasi Anda, data cuaca diminta oleh server Nextcloud Anda atas nama Anda sehingga layanan cuaca tidak menerima informasi pribadi."
},"pluralForm" :"nplurals=1; plural=0;"
}
+2 -1
View File
@@ -23,6 +23,7 @@ OC.L10N.register(
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Til að vernda friðhelgi þína, eru veðurgögn sótt af {productName}-þjóninum fyrir þína hönd, þannig að veðurþjónustan fær engin persónuleg gögn.",
"Weather data from Met.no" : "Veðurgögn frá Met.no",
"geocoding with Nominatim" : "staðsetningarkóðun með Nominatim",
"elevation data from OpenTopoData" : "hæðargögn frá OpenTopoData"
"elevation data from OpenTopoData" : "hæðargögn frá OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Til að vernda friðhelgi þína, eru veðurgögn sótt af Nextcloud-þjóninum fyrir þína hönd, þannig að veðurþjónustan fær engin persónuleg gögn."
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
+2 -1
View File
@@ -21,6 +21,7 @@
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Til að vernda friðhelgi þína, eru veðurgögn sótt af {productName}-þjóninum fyrir þína hönd, þannig að veðurþjónustan fær engin persónuleg gögn.",
"Weather data from Met.no" : "Veðurgögn frá Met.no",
"geocoding with Nominatim" : "staðsetningarkóðun með Nominatim",
"elevation data from OpenTopoData" : "hæðargögn frá OpenTopoData"
"elevation data from OpenTopoData" : "hæðargögn frá OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Til að vernda friðhelgi þína, eru veðurgögn sótt af Nextcloud-þjóninum fyrir þína hönd, þannig að veðurþjónustan fær engin persónuleg gögn."
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
}
+2 -1
View File
@@ -23,6 +23,7 @@ OC.L10N.register(
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Per la tua riservatezza, i dati meteorologici sono richiesti dal tuo server {productName} per tuo conto, per cui il servizio meteo non riceve informazioni personali.",
"Weather data from Met.no" : "Dati meteo da Met.no",
"geocoding with Nominatim" : "geocodifica conh Nominatim",
"elevation data from OpenTopoData" : "dati di elevazione da OpenTopoData"
"elevation data from OpenTopoData" : "dati di elevazione da OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Per la tua riservatezza, i dati meteorologici sono richiesti dal tuo server Nextcloud per tuo conto, per cui il servizio meteo non riceve informazioni personali."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
+2 -1
View File
@@ -21,6 +21,7 @@
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Per la tua riservatezza, i dati meteorologici sono richiesti dal tuo server {productName} per tuo conto, per cui il servizio meteo non riceve informazioni personali.",
"Weather data from Met.no" : "Dati meteo da Met.no",
"geocoding with Nominatim" : "geocodifica conh Nominatim",
"elevation data from OpenTopoData" : "dati di elevazione da OpenTopoData"
"elevation data from OpenTopoData" : "dati di elevazione da OpenTopoData",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Per la tua riservatezza, i dati meteorologici sono richiesti dal tuo server Nextcloud per tuo conto, per cui il servizio meteo non riceve informazioni personali."
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}
+2 -1
View File
@@ -23,6 +23,7 @@ OC.L10N.register(
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "プライバシー保護のため、気象データはユーザに代わって{productName}サーバーによって要求されるため気象サービスが個人情報を受け取ることはありません。",
"Weather data from Met.no" : "気象データ提供元は Met.no",
"geocoding with Nominatim" : "Nominatim でジオコーディング",
"elevation data from OpenTopoData" : "標高データ提供元は OpenTopoData です"
"elevation data from OpenTopoData" : "標高データ提供元は OpenTopoData です",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "あなたのプライバシーを保護するため、あなたに変わって Nextcloud サーバーが気象データをウェザーサービスに要求します。そのため、ウェザーサービスはあなたの個人情報を受け取ることはありません。"
},
"nplurals=1; plural=0;");
+2 -1
View File
@@ -21,6 +21,7 @@
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "プライバシー保護のため、気象データはユーザに代わって{productName}サーバーによって要求されるため気象サービスが個人情報を受け取ることはありません。",
"Weather data from Met.no" : "気象データ提供元は Met.no",
"geocoding with Nominatim" : "Nominatim でジオコーディング",
"elevation data from OpenTopoData" : "標高データ提供元は OpenTopoData です"
"elevation data from OpenTopoData" : "標高データ提供元は OpenTopoData です",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "あなたのプライバシーを保護するため、あなたに変わって Nextcloud サーバーが気象データをウェザーサービスに要求します。そのため、ウェザーサービスはあなたの個人情報を受け取ることはありません。"
},"pluralForm" :"nplurals=1; plural=0;"
}
+2 -1
View File
@@ -16,6 +16,7 @@ OC.L10N.register(
"Customize" : "პერსონალიზაცია",
"Edit widgets" : "ვიჯეტების დაედითება",
"Weather service" : "ამინდის სერვისი",
"Weather data from Met.no" : "ამინდის პროგნოზი Met.no-დან"
"Weather data from Met.no" : "ამინდის პროგნოზი Met.no-დან",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "თქვენი კონფენდენციალურობისთვის, ამინდზე ინფორმაცია მოთხოვნილია ჩვენი Nextcloud-ის სერვერის მიერ, ამჟამად ამინდის სერვისები თქვენს პირად ინფორმაციას არ მიიღებენ."
},
"nplurals=2; plural=(n!=1);");
+2 -1
View File
@@ -14,6 +14,7 @@
"Customize" : "პერსონალიზაცია",
"Edit widgets" : "ვიჯეტების დაედითება",
"Weather service" : "ამინდის სერვისი",
"Weather data from Met.no" : "ამინდის პროგნოზი Met.no-დან"
"Weather data from Met.no" : "ამინდის პროგნოზი Met.no-დან",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "თქვენი კონფენდენციალურობისთვის, ამინდზე ინფორმაცია მოთხოვნილია ჩვენი Nextcloud-ის სერვერის მიერ, ამჟამად ამინდის სერვისები თქვენს პირად ინფორმაციას არ მიიღებენ."
},"pluralForm" :"nplurals=2; plural=(n!=1);"
}
+2 -1
View File
@@ -18,6 +18,7 @@ OC.L10N.register(
"Weather service" : "날씨 서비스",
"Weather data from Met.no" : "Met.no의 날씨 데이터",
"geocoding with Nominatim" : "Nominatim으로 지오 코딩",
"elevation data from OpenTopoData" : "OpenTopoData의 고도 데이터"
"elevation data from OpenTopoData" : "OpenTopoData의 고도 데이터",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "개인정보 보호를 위해 사용자를 대신해 Nextcloud 서버에서 요청하므로 개인정보를 수신하지 않습니다."
},
"nplurals=1; plural=0;");
+2 -1
View File
@@ -16,6 +16,7 @@
"Weather service" : "날씨 서비스",
"Weather data from Met.no" : "Met.no의 날씨 데이터",
"geocoding with Nominatim" : "Nominatim으로 지오 코딩",
"elevation data from OpenTopoData" : "OpenTopoData의 고도 데이터"
"elevation data from OpenTopoData" : "OpenTopoData의 고도 데이터",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "개인정보 보호를 위해 사용자를 대신해 Nextcloud 서버에서 요청하므로 개인정보를 수신하지 않습니다."
},"pluralForm" :"nplurals=1; plural=0;"
}

Some files were not shown because too many files have changed in this diff Show More