Compare commits

...

30 Commits

Author SHA1 Message Date
Ricki Hirner
439639d204 Add to "Reset hints" 2026-01-21 15:13:17 +01:00
Ricki Hirner
49cce6aa8f Add BackupsPage UI
- Implement BackupsPage composable with UI elements
- Add strings for backups reminder and acceptance
2026-01-21 14:56:50 +01:00
Ricki Hirner
a1997409b7 Add BackupsPage to intro UI 2026-01-21 14:25:38 +01:00
Sunik Kupfer
18649f711a DmfsTaskList refactoring (#1934)
* DmfsTaskList refactoring

Signed-off-by: Sunik Kupfer <kupfer@bitfire.at>

* Update synctools

Signed-off-by: Sunik Kupfer <kupfer@bitfire.at>

---------

Signed-off-by: Sunik Kupfer <kupfer@bitfire.at>
2026-01-21 13:17:34 +01:00
Sunik Kupfer
377a159e75 Ignore test with flaky behaviour in CI (#1936)
Signed-off-by: Sunik Kupfer <kupfer@bitfire.at>
2026-01-21 13:17:23 +01:00
Ricki Hirner
393d22f720 AGP 9.0: update Hilt, remove Kotlin Android plugin (#1935)
- Remove `android.builtInKotlin` from `gradle.properties`
- Update Hilt version to 2.59
- Remove Kotlin Android plugin from `libs.versions.toml` and build scripts
2026-01-21 11:28:40 +01:00
dependabot[bot]
5b12ecf6b6 Bump the app-dependencies group across 1 directory with 2 updates (#1933)
Bumps the app-dependencies group with 2 updates in the / directory: androidx.compose:compose-bom and [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava).


Updates `androidx.compose:compose-bom` from 2025.12.01 to 2026.01.00

Updates `dnsjava:dnsjava` from 3.6.3 to 3.6.4
- [Release notes](https://github.com/dnsjava/dnsjava/releases)
- [Changelog](https://github.com/dnsjava/dnsjava/blob/master/Changelog)
- [Commits](https://github.com/dnsjava/dnsjava/compare/v3.6.3...v3.6.4)

---
updated-dependencies:
- dependency-name: androidx.compose:compose-bom
  dependency-version: 2026.01.00
  dependency-type: direct:production
  dependency-group: app-dependencies
- dependency-name: dnsjava:dnsjava
  dependency-version: 3.6.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: app-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-20 16:34:51 +01:00
Ricki Hirner
f8f6134640 Update AGP to 9.0.0 (#1929)
* Update gradle wrapper

* Update AGP to 9.0.0 (legacy mode) and synctools (which now also uses AGP 9.0.0)
2026-01-20 12:45:58 +01:00
Ricki Hirner
0f7908da23 Remove Transifex config/scripts (#1924) 2026-01-19 10:59:34 +01:00
Weblate (bot)
40741f52e1 Translations update from Hosted Weblate (#1928)
* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (430 of 430 strings)

Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/pt_BR/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (430 of 430 strings)

Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/zh_Hans/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (430 of 430 strings)

Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/et/

* Translated using Weblate (Dutch)

Currently translated at 100.0% (430 of 430 strings)

Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/nl/

* Added translation using Weblate (Lithuanian)

* Translated using Weblate (Lithuanian)

Currently translated at 7.6% (33 of 430 strings)

Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/lt/

* Translated using Weblate (Georgian)

Currently translated at 84.6% (364 of 430 strings)

Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/ka/

---------

Co-authored-by: LucasMZ <git@lucasmz.dev>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org>
Co-authored-by: Stephan Paternotte <stephan@paternottes.net>
Co-authored-by: Vaclovas Intas <Gateway_31@protonmail.com>
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com>
2026-01-19 09:48:24 +01:00
Ricki Hirner
210a03bd1a Bump version to 4.5.8 2026-01-19 09:35:38 +01:00
Ricki Hirner
714c92b8d9 Bump version to 4.5.8-rc.2 2026-01-16 15:45:48 +01:00
Ricki Hirner
5ea937a0f9 Update dav4jvm to catch URLDecodeException when converting String to Ktor Url (#1923) 2026-01-16 15:43:54 +01:00
Ricki Hirner
126b742887 Decode data URIs of vCard 3 PHOTOs (#1921)
* Rename ResourceDownloader to ResourceRetriever (because it should support `data` URLs that don't have to be downloaded)

* Update `ResourceRetriever` to handle data URIs and HTTP/HTTPS URLs

* Handle invalid data URIs
2026-01-16 11:52:49 +01:00
Weblate (bot)
2de7e09c82 Translations update from Hosted Weblate (#1917)
* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (430 of 430 strings)

Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/pt_BR/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (430 of 430 strings)

Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/zh_Hans/

* Translated using Weblate (Estonian)

Currently translated at 100.0% (430 of 430 strings)

Translation: davx5/DAVx⁵ app strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/et/

---------

Co-authored-by: LucasMZ <git@lucasmz.dev>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org>
2026-01-14 12:03:49 +01:00
Ricki Hirner
0312f59aab Bump version to 4.5.8-rc.1 2026-01-14 12:00:05 +01:00
Weblate (bot)
b3682ded1a Translations update from Hosted Weblate (#1915)
* Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Translation: davx5/DAVx⁵ strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/

* Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (430 of 430 strings)

Translation: davx5/DAVx⁵ strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/pt_BR/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (430 of 430 strings)

Translation: davx5/DAVx⁵ strings (main)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-strings/zh_Hans/

* Translated using Weblate (Catalan)

Currently translated at 100.0% (4 of 4 strings)

Translation: davx5/DAVx⁵ app metadata (for F-Droid)
Translate-URL: https://hosted.weblate.org/projects/davx5/davx5-ose-fastlane/ca/

---------

Co-authored-by: LucasMZ <git@lucasmz.dev>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Arnau Mora <arnyminer.z@gmail.com>
Co-authored-by: Ricki Hirner <hirner@bitfire.at>
2026-01-13 16:00:16 +01:00
Weblate (bot)
529378000a Translations update from Hosted Weblate (#1913)
* Update translation files

Updated by "Cleanup translation files" add-on in Weblate.

Translation: davx5/DAVx⁵ Main Strings
Translate-URL: https://hosted.weblate.org/projects/davx5/davx-main-strings/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (430 of 430 strings)

Translation: davx5/DAVx⁵ Main Strings
Translate-URL: https://hosted.weblate.org/projects/davx5/davx-main-strings/zh_Hans/

---------

Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
2026-01-13 12:41:45 +01:00
Ricki Hirner
8644c94c34 [Backport from davx5] Remove empty fa-rIR translations 2026-01-13 12:07:08 +01:00
Ricki Hirner
5357bdefb8 Fastlane app descriptions: use fr-FR translation for French (#1912) 2026-01-12 14:43:36 +01:00
Arnau Mora
07b646e4e7 Remove r from lang names as per Fastlane requirement (#1897)
* Remove `r` from lang names as per Fastlane requirement

* Add `lang_map` to fastlane resources

Signed-off-by: Arnau Mora <arnyminerz@proton.me>

---------

Signed-off-by: Arnau Mora <arnyminerz@proton.me>
2026-01-12 14:31:09 +01:00
Sunik Kupfer
77cb3e659d Improve pagination (#1911)
* Cache paging data flow in view model

Signed-off-by: Sunik Kupfer <kupfer@bitfire.at>

* Replace let with early return

Signed-off-by: Sunik Kupfer <kupfer@bitfire.at>

* Move only-personal filtering decision to repository

Signed-off-by: Sunik Kupfer <kupfer@bitfire.at>

* Move companion object to the end of class

Signed-off-by: Sunik Kupfer <kupfer@bitfire.at>

* Use default dispatcher for account settings interaction

Signed-off-by: Sunik Kupfer <kupfer@bitfire.at>

* Add androidx prefixes

Signed-off-by: Sunik Kupfer <kupfer@bitfire.at>

* Add kdoc

Signed-off-by: Sunik Kupfer <kupfer@bitfire.at>

* Move cachedIn to use-case

Signed-off-by: Sunik Kupfer <kupfer@bitfire.at>

* Update kdoc

Signed-off-by: Sunik Kupfer <kupfer@bitfire.at>

---------

Signed-off-by: Sunik Kupfer <kupfer@bitfire.at>
2026-01-12 13:48:02 +01:00
Ricki Hirner
42d65c872e Explain clear-text traffic in network security policy (bitfireAT/davx5#760)
Allow clear-text traffic for all variants; more documentation
2026-01-12 10:43:29 +01:00
Sunik Kupfer
c3fd28f820 Return null when owner account does not exist to skip flaky test (#1908)
Return null when owner account does not exist

Signed-off-by: Sunik Kupfer <kupfer@bitfire.at>
2026-01-08 12:18:37 +01:00
Ricki Hirner
9ad98e4a16 Enable HTTP connection reuse for okhttp (#1907)
* Enable HTTP connection reuse

- Create a shared OkHttpClient instance for connection pooling
- Utilize sharedOkHttpClient.newBuilder() for new client instances

* Add test

* KDoc clarification
2026-01-06 13:28:48 +01:00
dependabot[bot]
27c1be948f Bump org.unifiedpush.android:connector from 3.1.2 to 3.2.0 in the app-dependencies group (#1906)
Bump org.unifiedpush.android:connector in the app-dependencies group

Bumps the app-dependencies group with 1 update: org.unifiedpush.android:connector.


Updates `org.unifiedpush.android:connector` from 3.1.2 to 3.2.0

---
updated-dependencies:
- dependency-name: org.unifiedpush.android:connector
  dependency-version: 3.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: app-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-05 16:50:08 +01:00
Ricki Hirner
ac7ef1a7e5 Update README and CONTRIBUTING (#1905) 2026-01-05 14:26:10 +01:00
Ricki Hirner
e0eb13f57b CodeQL: run for main branch PRs (#1904)
CodeQL: run for main branch PRs, adapt build command
2026-01-05 12:27:25 +01:00
dependabot[bot]
85c4fc76f2 Bump the app-dependencies group across 1 directory with 5 updates (#1902)
Bumps the app-dependencies group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| androidx.activity:activity-compose | `1.12.1` | `1.12.2` |
| androidx.compose:compose-bom | `2025.12.00` | `2025.12.01` |
| [com.mikepenz:aboutlibraries-compose-m3](https://github.com/mikepenz/AboutLibraries) | `13.1.0` | `13.2.1` |
| com.mikepenz.aboutlibraries.plugin.android | `13.1.0` | `13.2.1` |
| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.3.3` | `2.3.4` |



Updates `androidx.activity:activity-compose` from 1.12.1 to 1.12.2

Updates `androidx.compose:compose-bom` from 2025.12.00 to 2025.12.01

Updates `com.mikepenz:aboutlibraries-compose-m3` from 13.1.0 to 13.2.1
- [Release notes](https://github.com/mikepenz/AboutLibraries/releases)
- [Commits](https://github.com/mikepenz/AboutLibraries/compare/13.1.0...13.2.1)

Updates `com.mikepenz.aboutlibraries.plugin.android` from 13.1.0 to 13.2.1

Updates `com.google.devtools.ksp` from 2.3.3 to 2.3.4
- [Release notes](https://github.com/google/ksp/releases)
- [Commits](https://github.com/google/ksp/compare/2.3.3...2.3.4)

Updates `com.mikepenz.aboutlibraries.plugin.android` from 13.1.0 to 13.2.1

---
updated-dependencies:
- dependency-name: androidx.activity:activity-compose
  dependency-version: 1.12.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: app-dependencies
- dependency-name: androidx.compose:compose-bom
  dependency-version: 2025.12.01
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: app-dependencies
- dependency-name: com.mikepenz:aboutlibraries-compose-m3
  dependency-version: 13.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: app-dependencies
- dependency-name: com.mikepenz.aboutlibraries.plugin.android
  dependency-version: 13.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: app-dependencies
- dependency-name: com.google.devtools.ksp
  dependency-version: 2.3.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: app-dependencies
- dependency-name: com.mikepenz.aboutlibraries.plugin.android
  dependency-version: 13.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: app-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-04 12:38:52 +01:00
Ricki Hirner
6bd9422f3b [CI] Don't require build cache secrets (#1900)
* Don't require build cache secrets

* Use our labels for Dependabot PRs
2026-01-04 12:06:28 +01:00
61 changed files with 2811 additions and 2638 deletions

View File

@@ -9,6 +9,9 @@ updates:
interval: "weekly"
commit-message:
prefix: "[CI] "
labels:
- "github_actions"
- "dependencies"
groups:
ci-actions:
patterns: ["*"]
@@ -17,6 +20,8 @@ updates:
directory: "/"
schedule:
interval: "weekly"
labels: # don't create "java" label (default for gradle ecosystem)
- "dependencies"
groups:
app-dependencies:
patterns: ["*"]

View File

@@ -3,9 +3,9 @@ name: "CodeQL"
on:
push:
branches: [ main-ose ]
# pull_request:
pull_request:
# The branches below must be a subset of the branches above
# branches: [ main-ose ]
branches: [ main-ose ]
schedule:
- cron: '22 10 * * 1'
@@ -22,11 +22,6 @@ jobs:
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'java' ]
steps:
- name: Checkout repository
uses: actions/checkout@v6
@@ -43,15 +38,11 @@ jobs:
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
languages: java-kotlin
build-mode: manual # autobuild uses older JDK
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
#- name: Autobuild
# uses: github/codeql-action/autobuild@v2
- name: Build
run: ./gradlew --no-daemon app:compileOseDebugSource
- name: Build # we must not use build cache here
run: ./gradlew --no-daemon --configuration-cache app:assembleDebug
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4

View File

@@ -11,6 +11,8 @@ concurrency:
# We provide a remote gradle build cache. Take the settings from the secrets and enable
# configuration and build cache for all gradle jobs.
#
# Note: The secrets are not available for forks and Dependabot PRs.
env:
GRADLE_BUILDCACHE_URL: ${{ secrets.gradle_buildcache_url }}
GRADLE_BUILDCACHE_USERNAME: ${{ secrets.gradle_buildcache_username }}
@@ -44,9 +46,10 @@ jobs:
- name: Compile
run: ./gradlew app:compileOseDebugSource
# Cache configurations for the other jobs
# Cache configurations for the other jobs (including assemble for CodeQL)
- name: Populate configuration cache
run: |
./gradlew --dry-run app:assembleDebug
./gradlew --dry-run app:lintOseDebug
./gradlew --dry-run app:testOseDebugUnitTest
./gradlew --dry-run app:virtualOseDebugAndroidTest

View File

@@ -1,30 +0,0 @@
[main]
host = https://www.transifex.com
lang_map = ar_SA: ar, en_GB: en-rGB, fa_IR: fa-rIR, fi_FI: fi, nb_NO: nb, pt_BR: pt-rBR, sk_SK: sk, sl_SI: sl, tr_TR: tr, zh_CN: zh, zh_TW: zh-rTW
[o:bitfireAT:p:davx5:r:app]
file_filter = app/src/main/res/values-<lang>/strings.xml
source_file = app/src/main/res/values/strings.xml
source_lang = en
type = ANDROID
minimum_perc = 20
resource_name = App strings (all flavors)
# Attention: fastlane directories are like "en-us", not "en-rUS"!
[o:bitfireAT:p:davx5:r:metadata-short-description]
file_filter = fastlane/metadata/android/<lang>/short_description.txt
source_file = fastlane/metadata/android/en-US/short_description.txt
source_lang = en
type = TXT
minimum_perc = 100
resource_name = Metadata: short description
[o:bitfireAT:p:davx5:r:metadata-full-description]
file_filter = fastlane/metadata/android/<lang>/full_description.txt
source_file = fastlane/metadata/android/en-US/full_description.txt
source_lang = en
type = TXT
minimum_perc = 100
resource_name = Metadata: full description

View File

@@ -14,24 +14,11 @@ If you send us a pull request, our CLA bot will ask you to sign the
Contributor's License Agreement so that we can use your contribution.
# Copyright
# Copyright notice
Make sure that every file that contains significant work (at least every code file)
starts with the copyright header:
```
/*
* Copyright © All Contributors. See LICENSE and AUTHORS in the root directory for details.
*/
```
You can set this in Android Studio:
1. Settings / Editor / Copyright / Copyright Profiles
2. Paste the text above (without the stars).
3. Set Formatting so that the preview exactly looks like above; one blank line after the block.
4. Set this copyright profile as the default profile for the project.
5. Apply copyright: right-click in file tree / Update copyright.
starts with the copyright header. Android Studio should do so automatically because the
configuration is stored in the repository (`.idea/copyright`).
# Style guide
@@ -110,8 +97,3 @@ Test classes should be in the appropriate directory (see existing tests) and in
tested class. Tests are usually be named like `methodToBeTested_Condition()`, see
[Test apps on Android](https://developer.android.com/training/testing/).
# Authors
If you make significant contributions, feel free to add yourself to the [AUTHORS file](AUTHORS).

View File

@@ -1,9 +1,9 @@
[![Website](https://img.shields.io/website?style=flat-square&up_color=%237cb342&url=https%3A%2F%2Fwww.davx5.com)](https://www.davx5.com/)
[![F-Droid](https://img.shields.io/f-droid/v/at.bitfire.davdroid?style=flat-square)](https://f-droid.org/packages/at.bitfire.davdroid/)
[![License](https://img.shields.io/github/license/bitfireAT/davx5-ose?style=flat-square)](https://github.com/bitfireAT/davx5-ose/blob/main/LICENSE)
[![Follow @davx5app@fosstodon.org](https://img.shields.io/mastodon/follow/109598783742737223?domain=https%3A%2F%2Ffosstodon.org&style=flat-square)](https://fosstodon.org/@davx5app)
[![Development tests](https://github.com/bitfireAT/davx5-ose/actions/workflows/test-dev.yml/badge.svg)](https://github.com/bitfireAT/davx5-ose/actions/workflows/test-dev.yml)
[![Website](https://img.shields.io/website?style=flat-square&up_color=%237cb342&url=https%3A%2F%2Fwww.davx5.com)](https://www.davx5.com/)
[![License](https://img.shields.io/github/license/bitfireAT/davx5-ose?style=flat-square)](https://github.com/bitfireAT/davx5-ose/blob/main/LICENSE)
[![F-Droid](https://img.shields.io/f-droid/v/at.bitfire.davdroid?style=flat-square)](https://f-droid.org/packages/at.bitfire.davdroid/)
![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/bitfireAT/davx5-ose/total?label=GitHub%20downloads)
![DAVx⁵ logo](app/src/main/res/mipmap-xxxhdpi/ic_launcher.png)
@@ -11,8 +11,10 @@
DAVx⁵
========
Please see the [DAVx⁵ Web site](https://www.davx5.com) for
comprehensive information about DAVx⁵, including a list of services it has been tested with.
> [!IMPORTANT]
> Please see the [DAVx⁵ Web site](https://www.davx5.com) for
> comprehensive information about DAVx⁵, including a list of services it has been tested with,
> a manual and FAQ.
DAVx⁵ is licensed under the [GPLv3 License](LICENSE).

View File

@@ -6,7 +6,6 @@ plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.compose.compiler)
alias(libs.plugins.hilt)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.ksp)
alias(libs.plugins.mikepenz.aboutLibraries.android)
@@ -19,8 +18,8 @@ android {
defaultConfig {
applicationId = "at.bitfire.davdroid"
versionCode = 405080000
versionName = "4.5.8-alpha.1"
versionCode = 405080003
versionName = "4.5.8"
base.archivesName = "davx5-ose-$versionName"
@@ -159,21 +158,21 @@ dependencies {
// Jetpack Compose
implementation(libs.compose.accompanist.permissions)
implementation(platform(libs.compose.bom))
implementation(libs.compose.material3)
implementation(libs.compose.materialIconsExtended)
debugImplementation(libs.compose.ui.tooling)
implementation(libs.compose.ui.toolingPreview)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.compose.material3)
implementation(libs.androidx.compose.materialIconsExtended)
debugImplementation(libs.androidx.compose.ui.tooling)
implementation(libs.androidx.compose.ui.toolingPreview)
// Glance Widgets
implementation(libs.glance.base)
implementation(libs.glance.material)
implementation(libs.androidx.glance.base)
implementation(libs.androidx.glance.material)
// Jetpack Room
implementation(libs.room.runtime)
implementation(libs.room.base)
implementation(libs.room.paging)
ksp(libs.room.compiler)
implementation(libs.androidx.room.runtime)
implementation(libs.androidx.room.base)
implementation(libs.androidx.room.paging)
ksp(libs.androidx.room.compiler)
// own libraries
implementation(libs.bitfire.cert4android)
@@ -213,6 +212,7 @@ dependencies {
// for tests
androidTestImplementation(libs.androidx.arch.core.testing)
androidTestImplementation(libs.androidx.room.testing)
androidTestImplementation(libs.androidx.test.core)
androidTestImplementation(libs.androidx.test.junit)
androidTestImplementation(libs.androidx.test.rules)
@@ -223,7 +223,6 @@ dependencies {
androidTestImplementation(libs.kotlinx.coroutines.test)
androidTestImplementation(libs.mockk.android)
androidTestImplementation(libs.okhttp.mockwebserver)
androidTestImplementation(libs.room.testing)
testImplementation(libs.bitfire.dav4jvm)
testImplementation(libs.junit)

View File

@@ -4,7 +4,6 @@
package at.bitfire.davdroid.db
import android.security.NetworkSecurityPolicy
import androidx.test.filters.SmallTest
import at.bitfire.dav4jvm.okhttp.DavResource
import at.bitfire.dav4jvm.property.webdav.WebDAV
@@ -19,7 +18,6 @@ import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertNull
import org.junit.Assert.assertTrue
import org.junit.Assume
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -42,7 +40,6 @@ class CollectionTest {
hiltRule.inject()
httpClient = httpClientBuilder.build()
Assume.assumeTrue(NetworkSecurityPolicy.getInstance().isCleartextTrafficPermitted)
}

View File

@@ -4,7 +4,6 @@
package at.bitfire.davdroid.network
import android.security.NetworkSecurityPolicy
import dagger.hilt.android.testing.HiltAndroidRule
import dagger.hilt.android.testing.HiltAndroidTest
import io.ktor.client.request.get
@@ -17,7 +16,6 @@ import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
import org.junit.Assert.assertTrue
import org.junit.Assume
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -49,6 +47,14 @@ class HttpClientBuilderTest {
}
@Test
fun testBuild_SharesConnectionPoolAndDispatcher() {
val client1 = httpClientBuilder.get().build()
val client2 = httpClientBuilder.get().build()
assertEquals(client1.connectionPool, client2.connectionPool)
assertEquals(client1.dispatcher, client2.dispatcher)
}
@Test
fun testBuildKtor_CreatesWorkingClient() = runTest {
server.enqueue(MockResponse()
@@ -64,7 +70,6 @@ class HttpClientBuilderTest {
@Test
fun testCookies() {
Assume.assumeTrue(NetworkSecurityPolicy.getInstance().isCleartextTrafficPermitted)
val url = server.url("/test")
// set cookie for root path (/) and /test path in first response

View File

@@ -22,6 +22,7 @@ import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Assume
import org.junit.Before
import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
import org.junit.rules.TestRule
@@ -62,6 +63,7 @@ class LocalCalendarStoreTest {
}
@Ignore("Flaky in CI")
@Test
fun testUpdateAccount_updatesOwnerAccount() {
// Verify initial state (assume to skip and prevent flaky test failures)
@@ -76,7 +78,6 @@ class LocalCalendarStoreTest {
// Verify [Calendar.OWNER_ACCOUNT] of local calendar was updated
assertEquals("ChangedAccountName", getOwnerAccount())
}
@@ -96,7 +97,7 @@ class LocalCalendarStoreTest {
)
)!!.asSyncAdapter(account)
private fun getOwnerAccount(): String {
private fun getOwnerAccount(): String? {
provider.query(
calendarUri,
arrayOf(Calendars.OWNER_ACCOUNT),
@@ -104,7 +105,8 @@ class LocalCalendarStoreTest {
arrayOf(account.name),
null
)!!.use { cursor ->
cursor.moveToNext()
if (!cursor.moveToNext())
return null
return cursor.getString(0)
}
}

View File

@@ -4,7 +4,6 @@
package at.bitfire.davdroid.servicedetection
import android.security.NetworkSecurityPolicy
import at.bitfire.davdroid.db.AppDatabase
import at.bitfire.davdroid.db.Collection
import at.bitfire.davdroid.db.Service
@@ -22,7 +21,6 @@ import okhttp3.mockwebserver.MockWebServer
import okhttp3.mockwebserver.RecordedRequest
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Assume
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -70,7 +68,6 @@ class CollectionsWithoutHomeSetRefresherTest {
// build HTTP client
client = httpClientBuilder.build()
Assume.assumeTrue(NetworkSecurityPolicy.getInstance().isCleartextTrafficPermitted)
// insert test service
val serviceId = db.serviceDao().insertOrReplace(

View File

@@ -4,7 +4,6 @@
package at.bitfire.davdroid.servicedetection
import android.security.NetworkSecurityPolicy
import at.bitfire.dav4jvm.okhttp.DavResource
import at.bitfire.dav4jvm.property.carddav.CardDAV
import at.bitfire.dav4jvm.property.webdav.WebDAV
@@ -25,7 +24,6 @@ import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertNull
import org.junit.Assert.assertTrue
import org.junit.Assume
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -76,7 +74,6 @@ class DavResourceFinderTest {
client = httpClientBuilder
.authenticate(domain = null, getCredentials = { credentials })
.build()
Assume.assumeTrue(NetworkSecurityPolicy.getInstance().isCleartextTrafficPermitted)
val baseURI = URI.create("/")
finder = resourceFinderFactory.create(baseURI, credentials)

View File

@@ -4,7 +4,6 @@
package at.bitfire.davdroid.servicedetection
import android.security.NetworkSecurityPolicy
import at.bitfire.davdroid.db.AppDatabase
import at.bitfire.davdroid.db.Collection
import at.bitfire.davdroid.db.HomeSet
@@ -28,7 +27,6 @@ import okhttp3.mockwebserver.MockWebServer
import okhttp3.mockwebserver.RecordedRequest
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Assume
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -76,7 +74,6 @@ class HomeSetRefresherTest {
// build HTTP client
client = httpClientBuilder.build()
Assume.assumeTrue(NetworkSecurityPolicy.getInstance().isCleartextTrafficPermitted)
// insert test service
val serviceId = db.serviceDao().insertOrReplace(

View File

@@ -4,7 +4,6 @@
package at.bitfire.davdroid.servicedetection
import android.security.NetworkSecurityPolicy
import at.bitfire.davdroid.db.AppDatabase
import at.bitfire.davdroid.db.Collection
import at.bitfire.davdroid.db.Principal
@@ -23,7 +22,6 @@ import okhttp3.mockwebserver.MockResponse
import okhttp3.mockwebserver.MockWebServer
import okhttp3.mockwebserver.RecordedRequest
import org.junit.After
import org.junit.Assume
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -71,7 +69,6 @@ class PrincipalsRefresherTest {
// build HTTP client
client = httpClientBuilder.build()
Assume.assumeTrue(NetworkSecurityPolicy.getInstance().isCleartextTrafficPermitted)
// insert test service
val serviceId = db.serviceDao().insertOrReplace(

View File

@@ -4,7 +4,6 @@
package at.bitfire.davdroid.servicedetection
import android.security.NetworkSecurityPolicy
import at.bitfire.davdroid.db.AppDatabase
import at.bitfire.davdroid.db.Service
import at.bitfire.davdroid.network.HttpClientBuilder
@@ -17,7 +16,6 @@ import okhttp3.mockwebserver.MockWebServer
import okhttp3.mockwebserver.RecordedRequest
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Assume
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -58,7 +56,6 @@ class ServiceRefresherTest {
// build HTTP client
client = httpClientBuilder.build()
Assume.assumeTrue(NetworkSecurityPolicy.getInstance().isCleartextTrafficPermitted)
// insert test service
val serviceId = db.serviceDao().insertOrReplace(

View File

@@ -5,7 +5,6 @@
package at.bitfire.davdroid.sync
import android.accounts.Account
import at.bitfire.dav4jvm.HttpUtils.toKtorUrl
import at.bitfire.davdroid.settings.AccountSettings
import at.bitfire.davdroid.settings.Credentials
import at.bitfire.davdroid.sync.account.TestAccount
@@ -20,7 +19,6 @@ import org.junit.After
import org.junit.Assert.assertArrayEquals
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
import org.junit.Assume
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -28,7 +26,7 @@ import java.net.InetAddress
import javax.inject.Inject
@HiltAndroidTest
class ResourceDownloaderTest {
class ResourceRetrieverTest {
@get:Rule
val hiltRule = HiltAndroidRule(this)
@@ -37,7 +35,7 @@ class ResourceDownloaderTest {
lateinit var accountSettingsFactory: AccountSettings.Factory
@Inject
lateinit var resourceDownloaderFactory: ResourceDownloader.Factory
lateinit var resourceRetrieverFactory: ResourceRetriever.Factory
lateinit var account: Account
lateinit var server: MockWebServer
@@ -64,21 +62,35 @@ class ResourceDownloaderTest {
@Test
fun testDownload_ExternalDomain() = runTest {
fun testRetrieve_DataUri() = runTest {
val downloader = resourceRetrieverFactory.create(account, "example.com")
val result = downloader.retrieve("data:image/png;base64,dGVzdA==")
assertArrayEquals("test".toByteArray(), result)
}
@Test
fun testRetrieve_DataUri_Invalid() = runTest {
val downloader = resourceRetrieverFactory.create(account, "example.com")
val result = downloader.retrieve("data:;INVALID,INVALID")
assertNull(result)
}
@Test
fun testRetrieve_ExternalDomain() = runTest {
val baseUrl = server.url("/")
val localhostIp = InetAddress.getByName(baseUrl.host).hostAddress!!
// URL should be http://localhost, replace with http://127.0.0.1 to have other domain
Assume.assumeTrue(baseUrl.host == "localhost")
val baseUrlIp = baseUrl.newBuilder()
.host(InetAddress.getByName(baseUrl.host).hostAddress!!)
.host(localhostIp)
.build()
server.enqueue(MockResponse()
.setResponseCode(200)
.setBody("TEST"))
val downloader = resourceDownloaderFactory.create(account, baseUrl.host)
val result = downloader.download(baseUrlIp.toKtorUrl())
val downloader = resourceRetrieverFactory.create(account, baseUrl.host)
val result = downloader.retrieve(baseUrlIp.toString())
// authentication was NOT sent because request is not for original domain
val sentAuth = server.takeRequest().getHeader(HttpHeaders.Authorization)
@@ -89,14 +101,28 @@ class ResourceDownloaderTest {
}
@Test
fun testDownload_SameDomain() = runTest {
fun testRetrieve_FtpUrl() = runTest {
val downloader = resourceRetrieverFactory.create(account, "example.com")
val result = downloader.retrieve("ftp://example.com/photo.jpg")
assertNull(result)
}
@Test
fun testRetrieve_RelativeHttpsUrl() = runTest {
val downloader = resourceRetrieverFactory.create(account, "example.com")
val result = downloader.retrieve("https:photo.jpg")
assertNull(result)
}
@Test
fun testRetrieve_SameDomain() = runTest {
server.enqueue(MockResponse()
.setResponseCode(200)
.setBody("TEST"))
val baseUrl = server.url("/")
val downloader = resourceDownloaderFactory.create(account, baseUrl.host)
val result = downloader.download(baseUrl.toKtorUrl())
val downloader = resourceRetrieverFactory.create(account, baseUrl.host)
val result = downloader.retrieve(baseUrl.toString())
// authentication was sent
val sentAuth = server.takeRequest().getHeader(HttpHeaders.Authorization)

View File

@@ -73,6 +73,23 @@ class HttpClientBuilder @Inject constructor(
// make sure Conscrypt is available when the HttpClientBuilder class is loaded the first time
ConscryptIntegration().initialize()
}
/**
* According to [OkHttpClient] documentation, [OkHttpClient]s should be shared, which allows it to use a
* shared connection and thread pool.
*
* We need custom settings for each actual client, but we can use a shared client as a base. This also
* enables sharing resources like connection and thread pool.
*
* The shared client is available for the lifetime of the application and must not be shut down or
* closed (which is not necessary, according to its documentation).
*/
val sharedOkHttpClient = OkHttpClient.Builder()
.connectTimeout(15, TimeUnit.SECONDS)
.writeTimeout(30, TimeUnit.SECONDS)
.readTimeout(120, TimeUnit.SECONDS)
.pingInterval(45, TimeUnit.SECONDS) // avoid cancellation because of missing traffic; only works for HTTP/2
.build()
}
/**
@@ -206,12 +223,14 @@ class HttpClientBuilder @Inject constructor(
*
* However in this case the configuration of `client1` is still in `builder` and would be reused for `client2`,
* which is usually not desired.
*
* Closing/shutting down the client is not necessary.
*/
fun build(): OkHttpClient {
if (alreadyBuilt)
logger.warning("build() should only be called once; use Provider<HttpClientBuilder> instead")
val builder = OkHttpClient.Builder()
val builder = sharedOkHttpClient.newBuilder()
configureOkHttp(builder)
alreadyBuilt = true
@@ -219,8 +238,6 @@ class HttpClientBuilder @Inject constructor(
}
private fun configureOkHttp(builder: OkHttpClient.Builder) {
buildTimeouts(builder)
// don't allow redirects by default because it would break PROPFIND handling
builder.followRedirects(followRedirects)
@@ -353,19 +370,6 @@ class HttpClientBuilder @Inject constructor(
}
}
/**
* Set timeouts for the connection.
*
* **Note:** According to [android.content.AbstractThreadedSyncAdapter], when there is no network
* traffic within a minute, a sync will be cancelled.
*/
private fun buildTimeouts(builder: OkHttpClient.Builder) {
builder.connectTimeout(15, TimeUnit.SECONDS)
.writeTimeout(30, TimeUnit.SECONDS)
.readTimeout(120, TimeUnit.SECONDS)
.pingInterval(45, TimeUnit.SECONDS) // avoid cancellation because of missing traffic; only works for HTTP/2
}
// Ktor builder

View File

@@ -242,11 +242,15 @@ class DavCollectionRepository @Inject constructor(
dao.insertOrUpdateByUrl(collection)
}
fun pageByServiceAndType(serviceId: Long, @CollectionType type: String) =
dao.pageByServiceAndType(serviceId, type)
fun pagePersonalByServiceAndType(serviceId: Long, @CollectionType type: String) =
dao.pagePersonalByServiceAndType(serviceId, type)
/**
* Returns paging source to retrieve collections for given service, of given collection type and
* depending on whether they are considered personal or not (see [HomeSet.personal]).
*/
fun pageByServiceAndType(serviceId: Long, @CollectionType type: String, onlyPersonal: Boolean) =
if (onlyPersonal)
dao.pagePersonalByServiceAndType(serviceId, type)
else
dao.pageByServiceAndType(serviceId, type)
/**
* Sets the flag for whether read-only should be enforced on the local collection

View File

@@ -6,7 +6,7 @@ package at.bitfire.davdroid.resource
import androidx.core.content.contentValuesOf
import at.bitfire.ical4android.DmfsTask
import at.bitfire.ical4android.DmfsTaskList
import at.bitfire.synctools.storage.tasks.DmfsTaskList
import org.dmfs.tasks.contract.TaskContract.TaskListColumns
import org.dmfs.tasks.contract.TaskContract.Tasks
import java.util.logging.Level
@@ -43,11 +43,11 @@ class LocalTaskList (
dmfsTaskList.writeSyncState(state.toString())
}
override fun findDeleted() = dmfsTaskList.queryTasks(Tasks._DELETED, null)
override fun findDeleted() = dmfsTaskList.findTasks(Tasks._DELETED, null)
.map { LocalTask(it) }
override fun findDirty(): List<LocalTask> {
val dmfsTasks = dmfsTaskList.queryTasks(Tasks._DIRTY, null)
val dmfsTasks = dmfsTaskList.findTasks(Tasks._DIRTY, null)
for (localTask in dmfsTasks) {
try {
val task = requireNotNull(localTask.task)
@@ -64,28 +64,31 @@ class LocalTaskList (
}
override fun findByName(name: String) =
dmfsTaskList.queryTasks("${Tasks._SYNC_ID}=?", arrayOf(name))
dmfsTaskList.findTasks("${Tasks._SYNC_ID}=?", arrayOf(name))
.firstOrNull()?.let {
LocalTask(it)
}
override fun markNotDirty(flags: Int): Int {
val values = contentValuesOf(DmfsTask.COLUMN_FLAGS to flags)
return dmfsTaskList.provider.update(dmfsTaskList.tasksSyncUri(), values,
"${Tasks.LIST_ID}=? AND ${Tasks._DIRTY}=0",
arrayOf(dmfsTaskList.id.toString()))
}
override fun markNotDirty(flags: Int): Int =
dmfsTaskList.updateTasks(
contentValuesOf(DmfsTask.COLUMN_FLAGS to flags),
"${Tasks.LIST_ID}=? AND ${Tasks._DIRTY}=0",
arrayOf(dmfsTaskList.id.toString())
)
override fun removeNotDirtyMarked(flags: Int) =
dmfsTaskList.provider.delete(dmfsTaskList.tasksSyncUri(),
"${Tasks.LIST_ID}=? AND NOT ${Tasks._DIRTY} AND ${DmfsTask.COLUMN_FLAGS}=?",
arrayOf(dmfsTaskList.id.toString(), flags.toString()))
dmfsTaskList.deleteTasks(
"${Tasks.LIST_ID}=? AND NOT ${Tasks._DIRTY} AND ${DmfsTask.COLUMN_FLAGS}=?",
arrayOf(dmfsTaskList.id.toString(), flags.toString())
)
override fun forgetETags() {
val values = contentValuesOf(DmfsTask.COLUMN_ETAG to null)
dmfsTaskList.provider.update(dmfsTaskList.tasksSyncUri(), values, "${Tasks.LIST_ID}=?",
arrayOf(dmfsTaskList.id.toString()))
dmfsTaskList.updateTasks(
contentValuesOf(DmfsTask.COLUMN_ETAG to null),
"${Tasks.LIST_ID}=?",
arrayOf(dmfsTaskList.id.toString())
)
}
}

View File

@@ -6,10 +6,8 @@ package at.bitfire.davdroid.resource
import android.accounts.Account
import android.content.ContentProviderClient
import android.content.ContentUris
import android.content.ContentValues
import android.content.Context
import android.net.Uri
import androidx.core.content.contentValuesOf
import at.bitfire.davdroid.Constants
import at.bitfire.davdroid.R
@@ -17,8 +15,9 @@ import at.bitfire.davdroid.db.AppDatabase
import at.bitfire.davdroid.db.Collection
import at.bitfire.davdroid.settings.AccountSettings
import at.bitfire.davdroid.util.DavUtils.lastSegment
import at.bitfire.ical4android.DmfsTaskList
import at.bitfire.ical4android.TaskProvider
import at.bitfire.synctools.storage.tasks.DmfsTaskList
import at.bitfire.synctools.storage.tasks.DmfsTaskListProvider
import dagger.assisted.Assisted
import dagger.assisted.AssistedFactory
import dagger.assisted.AssistedInject
@@ -62,11 +61,11 @@ class LocalTaskListStore @AssistedInject constructor(
val account = Account(service.accountName, context.getString(R.string.account_type))
logger.log(Level.INFO, "Adding local task list", fromCollection)
val uri = create(account, client, providerName, fromCollection)
return LocalTaskList(DmfsTaskList.findByID(account, client, providerName, ContentUris.parseId(uri)))
val dmfsTaskList = create(account, client, providerName, fromCollection)
return LocalTaskList(dmfsTaskList)
}
private fun create(account: Account, provider: ContentProviderClient, providerName: TaskProvider.ProviderName, fromCollection: Collection): Uri {
private fun create(account: Account, client: ContentProviderClient, providerName: TaskProvider.ProviderName, fromCollection: Collection): DmfsTaskList {
// If the collection doesn't have a color, use a default color.
val collectionWithColor = if (fromCollection.color != null)
fromCollection
@@ -81,7 +80,8 @@ class LocalTaskListStore @AssistedInject constructor(
put(TaskLists.SYNC_ENABLED, 1)
put(TaskLists.VISIBLE, 1)
}
return DmfsTaskList.create(account, provider, providerName, values)
val dmfsTaskListProvider = DmfsTaskListProvider(account, client, providerName)
return dmfsTaskListProvider.createAndGetTaskList(values)
}
private fun valuesFromCollectionInfo(info: Collection, withColor: Boolean): ContentValues {
@@ -102,7 +102,7 @@ class LocalTaskListStore @AssistedInject constructor(
}
override fun getAll(account: Account, client: ContentProviderClient) =
DmfsTaskList.find(account, client, providerName, null, null)
DmfsTaskListProvider(account, client, providerName).findTaskLists()
.map { LocalTaskList(it) }
override fun update(client: ContentProviderClient, localCollection: LocalTaskList, fromCollection: Collection) {

View File

@@ -7,7 +7,6 @@ package at.bitfire.davdroid.sync
import android.accounts.Account
import android.content.ContentProviderClient
import android.text.format.Formatter
import at.bitfire.dav4jvm.ktor.toUrlOrNull
import at.bitfire.dav4jvm.okhttp.DavAddressBook
import at.bitfire.dav4jvm.okhttp.MultiResponseCallback
import at.bitfire.dav4jvm.okhttp.Response
@@ -108,7 +107,7 @@ class ContactsSyncManager @AssistedInject constructor(
@Assisted val syncFrameworkUpload: Boolean,
val dirtyVerifier: Optional<ContactDirtyVerifier>,
accountSettingsFactory: AccountSettings.Factory,
private val resourceDownloaderFactory: ResourceDownloader.Factory,
private val resourceRetrieverFactory: ResourceRetriever.Factory,
@SyncDispatcher syncDispatcher: CoroutineDispatcher
): SyncManager<LocalAddress, LocalAddressBook, DavAddressBook>(
account,
@@ -368,11 +367,10 @@ class ContactsSyncManager @AssistedInject constructor(
jCard = isJCard,
downloader = object : Contact.Downloader {
override fun download(url: String, accepts: String): ByteArray? {
// download external resource (like a photo) from an URL
val httpUrl = url.toUrlOrNull() ?: return null
val downloader = resourceDownloaderFactory.create(account, davCollection.location.host)
// retrieve external resource (like a photo) from an URL (not necessarily HTTP[S])
return runBlocking(syncDispatcher) {
downloader.download(httpUrl)
val retriever = resourceRetrieverFactory.create(account, davCollection.location.host)
retriever.retrieve(url)
}
}
}

View File

@@ -1,74 +0,0 @@
/*
* Copyright © All Contributors. See LICENSE and AUTHORS in the root directory for details.
*/
package at.bitfire.davdroid.sync
import android.accounts.Account
import at.bitfire.davdroid.network.HttpClientBuilder
import dagger.assisted.Assisted
import dagger.assisted.AssistedFactory
import dagger.assisted.AssistedInject
import io.ktor.client.request.get
import io.ktor.client.statement.bodyAsBytes
import io.ktor.http.Url
import io.ktor.http.isSuccess
import java.io.IOException
import java.util.logging.Level
import java.util.logging.Logger
import javax.inject.Provider
/**
* Downloads a separate resource that is referenced during synchronization, for instance in
* a vCard with `PHOTO:<external URL>`.
*
* The [ResourceDownloader] only sends authentication for URLs on the same domain as the
* original URL. For instance, if the vCard that references a photo is taken from
* `example.com` ([originalHost]), then [download] will send authentication
* when downloading `https://example.com/photo.jpg`, but not for `https://external-hoster.com/photo.jpg`.
*
* @param account account to build authentication from
* @param originalHost client only authenticates for the domain of this host
*/
class ResourceDownloader @AssistedInject constructor(
@Assisted private val account: Account,
@Assisted private val originalHost: String,
private val httpClientBuilder: Provider<HttpClientBuilder>,
private val logger: Logger
) {
@AssistedFactory
interface Factory {
fun create(account: Account, originalHost: String): ResourceDownloader
}
/**
* Downloads the given resource and returns it as an in-memory blob.
*
* Authentication is handled as described in [ResourceDownloader].
*
* @param url URL of the resource to download
*
* @return blob of requested resource, or `null` on error
*/
suspend fun download(url: Url): ByteArray? {
httpClientBuilder
.get()
.fromAccount(account, authDomain = originalHost) // restricts authentication to original domain
.followRedirects(true) // allow redirects
.buildKtor()
.use { httpClient ->
try {
val response = httpClient.get(url)
if (response.status.isSuccess())
return response.bodyAsBytes()
else
logger.warning("Couldn't download external resource (${response.status})")
} catch(e: IOException) {
logger.log(Level.SEVERE, "Couldn't download external resource", e)
}
}
return null
}
}

View File

@@ -0,0 +1,93 @@
/*
* Copyright © All Contributors. See LICENSE and AUTHORS in the root directory for details.
*/
package at.bitfire.davdroid.sync
import android.accounts.Account
import at.bitfire.davdroid.network.HttpClientBuilder
import at.bitfire.davdroid.util.DavUtils.toURIorNull
import dagger.assisted.Assisted
import dagger.assisted.AssistedFactory
import dagger.assisted.AssistedInject
import ezvcard.util.DataUri
import io.ktor.client.request.get
import io.ktor.client.statement.bodyAsBytes
import io.ktor.http.isSuccess
import java.util.logging.Level
import java.util.logging.Logger
import javax.inject.Provider
/**
* Downloads a separate resource that is referenced during synchronization, for instance in
* a vCard with `PHOTO:<external URL>`.
*
* The [ResourceRetriever] only sends authentication for URLs on the same domain as the
* original URL. For instance, if the vCard that references a photo is taken from
* `example.com` ([originalHost]), then [retrieve] will send authentication
* when downloading `https://example.com/photo.jpg`, but not for `https://external-hoster.com/photo.jpg`.
*
* @param account account to build authentication from
* @param originalHost client only authenticates for the domain of this host
*/
class ResourceRetriever @AssistedInject constructor(
@Assisted private val account: Account,
@Assisted private val originalHost: String,
private val httpClientBuilder: Provider<HttpClientBuilder>,
private val logger: Logger
) {
@AssistedFactory
interface Factory {
fun create(account: Account, originalHost: String): ResourceRetriever
}
/**
* Retrieves the given resource and returns it as an in-memory blob.
* Supports HTTP/HTTPS (→ will download) and data (→ will decode) URLs.
*
* Authentication is handled as described in [ResourceRetriever].
*
* @param url URL of the resource to download (`http`, `https` or `data` scheme)
*
* @return blob of requested resource, or `null` on error or when the URL scheme is not supported
*/
suspend fun retrieve(url: String): ByteArray? =
try {
when (url.toURIorNull()?.scheme?.lowercase()) {
"data" ->
DataUri.parse(url).data // may throw IllegalArgumentException
"http", "https" ->
download(url) // may throw various exceptions
else ->
null
}
} catch (e: Exception) {
logger.log(Level.SEVERE, "Couldn't retrieve resource", e)
null
}
/**
* Downloads the resource from the given HTTP/HTTPS URL.
*
* Doesn't catch any exceptions!
*/
private suspend fun download(url: String): ByteArray? =
httpClientBuilder
.get()
.fromAccount(account, authDomain = originalHost) // restricts authentication to original domain
.followRedirects(true) // allow redirects
.buildKtor()
.use { httpClient ->
val response = httpClient.get(url)
if (response.status.isSuccess())
return response.bodyAsBytes()
else {
logger.warning("Couldn't download external resource (${response.status})")
null
}
}
}

View File

@@ -20,6 +20,7 @@ import at.bitfire.davdroid.repository.PreferenceRepository
import at.bitfire.davdroid.settings.Settings
import at.bitfire.davdroid.settings.SettingsManager
import at.bitfire.davdroid.sync.TasksAppManager
import at.bitfire.davdroid.ui.intro.BackupsPage
import at.bitfire.davdroid.ui.intro.BatteryOptimizationsPageModel
import at.bitfire.davdroid.ui.intro.OpenSourcePage
import at.bitfire.davdroid.util.PermissionUtils
@@ -102,6 +103,7 @@ class AppSettingsModel @Inject constructor(
settings.remove(BatteryOptimizationsPageModel.HINT_BATTERY_OPTIMIZATIONS)
settings.remove(BatteryOptimizationsPageModel.HINT_AUTOSTART_PERMISSION)
settings.remove(TasksModel.HINT_OPENTASKS_NOT_INSTALLED)
settings.remove(BackupsPage.Model.SETTING_BACKUPS_ACCEPTED)
settings.remove(OpenSourcePage.Model.SETTING_NEXT_DONATION_POPUP)
}

View File

@@ -13,6 +13,7 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import at.bitfire.davdroid.R
import at.bitfire.davdroid.db.Collection
import at.bitfire.davdroid.di.DefaultDispatcher
import at.bitfire.davdroid.repository.AccountRepository
import at.bitfire.davdroid.repository.DavCollectionRepository
import at.bitfire.davdroid.repository.DavServiceRepository
@@ -28,6 +29,7 @@ import dagger.assisted.AssistedFactory
import dagger.assisted.AssistedInject
import dagger.hilt.android.lifecycle.HiltViewModel
import dagger.hilt.android.qualifiers.ApplicationContext
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
@@ -49,6 +51,7 @@ class AccountScreenModel @AssistedInject constructor(
private val collectionRepository: DavCollectionRepository,
@ApplicationContext val context: Context,
private val collectionSelectedUseCase: Lazy<CollectionSelectedUseCase>,
@DefaultDispatcher private val defaultDispatcher: CoroutineDispatcher,
getBindableHomesetsFromService: GetBindableHomeSetsFromServiceUseCase,
getServiceCollectionPager: GetServiceCollectionPagerUseCase,
private val logger: Logger,
@@ -89,7 +92,7 @@ class AccountScreenModel @AssistedInject constructor(
}
}
fun setShowOnlyPersonal(showOnlyPersonal: Boolean) {
viewModelScope.launch {
viewModelScope.launch(defaultDispatcher) {
accountSettings?.setShowOnlyPersonal(showOnlyPersonal)
reloadShowOnlyPersonal()
}
@@ -125,7 +128,12 @@ class AccountScreenModel @AssistedInject constructor(
serviceFlow = cardDavSvc,
dataTypes = listOf(SyncDataType.CONTACTS)
)
val addressBooks = getServiceCollectionPager(cardDavSvc, Collection.TYPE_ADDRESSBOOK, showOnlyPersonal)
val addressBooks = getServiceCollectionPager(
cardDavSvc,
Collection.TYPE_ADDRESSBOOK,
showOnlyPersonal,
viewModelScope
)
val calDavSvc = serviceRepository
.getCalDavServiceFlow(account.name)
@@ -140,8 +148,18 @@ class AccountScreenModel @AssistedInject constructor(
serviceFlow = calDavSvc,
dataTypes = listOf(SyncDataType.EVENTS, SyncDataType.TASKS)
)
val calendars = getServiceCollectionPager(calDavSvc, Collection.TYPE_CALENDAR, showOnlyPersonal)
val subscriptions = getServiceCollectionPager(calDavSvc, Collection.TYPE_WEBCAL, showOnlyPersonal)
val calendars = getServiceCollectionPager(
calDavSvc,
Collection.TYPE_CALENDAR,
showOnlyPersonal,
viewModelScope
)
val subscriptions = getServiceCollectionPager(
calDavSvc,
Collection.TYPE_WEBCAL,
showOnlyPersonal,
viewModelScope
)
var error by mutableStateOf<String?>(null)

View File

@@ -7,6 +7,7 @@ package at.bitfire.davdroid.ui.account
import androidx.paging.Pager
import androidx.paging.PagingConfig
import androidx.paging.PagingData
import androidx.paging.cachedIn
import androidx.paging.map
import at.bitfire.davdroid.db.Collection
import at.bitfire.davdroid.db.CollectionType
@@ -14,6 +15,7 @@ import at.bitfire.davdroid.db.Service
import at.bitfire.davdroid.repository.DavCollectionRepository
import at.bitfire.davdroid.settings.Settings
import at.bitfire.davdroid.settings.SettingsManager
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
@@ -32,41 +34,58 @@ class GetServiceCollectionPagerUseCase @Inject constructor(
val settings: SettingsManager
) {
companion object {
const val PAGER_SIZE = 20
}
val forceReadOnlyAddressBooksFlow = settings.getBooleanFlow(Settings.FORCE_READ_ONLY_ADDRESSBOOKS, false)
/**
* Combines multiple flows into a flow of paged collections for the given service and collection type,
* with optional filtering for personal collections only. Applies the force read-only setting for address
* book collections if enabled. The returned flow will emit new up-to-date collection paging data when
* - any of the input flows changes,
* - any of the requested collections changes in DB or
* - request matching collections are added/removed in DB.
*
* Caches in provided viewModelScope to avoid reloading on configuration changes (screen rotation etc).
*
* @param serviceFlow Flow emitting the Service which collections should be fetched (null for no service)
* @param collectionType Type of collections to fetch (address books, calendars, etc.)
* @param showOnlyPersonalFlow Flow to determine whether to show only personal collections
* @param viewModelScope ViewModelScope to cache the paging data
* @return Flow of PagingData containing the requested collections
*/
@OptIn(ExperimentalCoroutinesApi::class)
operator fun invoke(
serviceFlow: Flow<Service?>,
@CollectionType collectionType: String,
showOnlyPersonalFlow: Flow<Boolean>
showOnlyPersonalFlow: Flow<Boolean>,
viewModelScope: CoroutineScope
): Flow<PagingData<Collection>> =
combine(serviceFlow, showOnlyPersonalFlow, forceReadOnlyAddressBooksFlow) { service, onlyPersonal, forceReadOnlyAddressBooks ->
service?.let { service ->
val dataFlow = Pager(
config = PagingConfig(PAGER_SIZE),
pagingSourceFactory = {
if (onlyPersonal == true)
collectionRepository.pagePersonalByServiceAndType(service.id, collectionType)
else
collectionRepository.pageByServiceAndType(service.id, collectionType)
}
).flow
if (service == null)
return@combine flowOf(PagingData.empty())
// set "forceReadOnly" for every address book if requested
if (forceReadOnlyAddressBooks && collectionType == Collection.TYPE_ADDRESSBOOK)
dataFlow.map { pagingData ->
pagingData.map { collection ->
collection.copy(forceReadOnly = true)
}
val dataFlow = Pager(
config = PagingConfig(PAGER_SIZE),
pagingSourceFactory = {
collectionRepository.pageByServiceAndType(service.id, collectionType, onlyPersonal)
}
).flow
// set "forceReadOnly" for every address book if requested
if (forceReadOnlyAddressBooks && collectionType == Collection.TYPE_ADDRESSBOOK)
dataFlow.map { pagingData ->
pagingData.map { collection ->
collection.copy(forceReadOnly = true)
}
else
dataFlow
} ?: flowOf(PagingData.empty())
}
else
dataFlow
}.flatMapLatest { it }
// Avoids reloading by providing existing data instantly on configuration changes
.cachedIn(viewModelScope)
companion object {
const val PAGER_SIZE = 20
}
}

View File

@@ -0,0 +1,135 @@
/*
* Copyright © All Contributors. See LICENSE and AUTHORS in the root directory for details.
*/
package at.bitfire.davdroid.ui.intro
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Backup
import androidx.compose.material3.Checkbox
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
import androidx.lifecycle.ViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import at.bitfire.davdroid.R
import at.bitfire.davdroid.settings.SettingsManager
import at.bitfire.davdroid.ui.AppTheme
import at.bitfire.davdroid.ui.composable.CardWithImage
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject
class BackupsPage @Inject constructor(
val settingsManager: SettingsManager
): IntroPage() {
override fun getShowPolicy(): ShowPolicy =
if (Model.backupsAccepted(settingsManager))
ShowPolicy.DONT_SHOW
else
ShowPolicy.SHOW_ALWAYS
@Composable
override fun ComposePage() {
val model = hiltViewModel<Model>()
val accepted by model.backupsAcceptedFlow.collectAsStateWithLifecycle(false)
BackupsPage(
accepted = accepted,
updateAccepted = model::setBackupsAccepted
)
}
@HiltViewModel
class Model @Inject constructor(
private val settings: SettingsManager
): ViewModel() {
val backupsAcceptedFlow = settings.getBooleanFlow(SETTING_BACKUPS_ACCEPTED, false)
fun setBackupsAccepted(accepted: Boolean) {
settings.putBoolean(SETTING_BACKUPS_ACCEPTED, accepted)
}
companion object {
/** boolean setting (default: false) */
const val SETTING_BACKUPS_ACCEPTED = "intro_backups_accepted"
fun backupsAccepted(settingsManager: SettingsManager): Boolean =
settingsManager.getBooleanOrNull(SETTING_BACKUPS_ACCEPTED) ?: false
}
}
}
@Composable
fun BackupsPage(
accepted: Boolean,
updateAccepted: (Boolean) -> Unit
) {
Column(
modifier = Modifier
.fillMaxSize()
.verticalScroll(rememberScrollState())
.padding(8.dp)
) {
CardWithImage(
title = stringResource(R.string.intro_backups_title),
icon = Icons.Outlined.Backup,
modifier = Modifier.padding(vertical = 8.dp)
) {
Text(
text = stringResource(R.string.intro_backups_important),
modifier = Modifier.padding(bottom = 8.dp)
)
Text(
text = stringResource(R.string.intro_backups_no_versioning, stringResource(R.string.app_name)),
)
Row(
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier.padding(top = 8.dp, bottom = 16.dp)
) {
Checkbox(
checked = accepted,
onCheckedChange = updateAccepted
)
Text(
text = stringResource(R.string.intro_backups_accept),
style = MaterialTheme.typography.bodyLarge,
modifier = Modifier
.clickable { updateAccepted(!accepted) }
.padding(start = 8.dp)
)
}
}
}
}
@Preview
@Composable
fun BackupsPagePreview() {
AppTheme {
BackupsPage(
accepted = true,
updateAccepted = {}
)
}
}

View File

@@ -1,483 +1,483 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<!--common strings-->
<!--common strings-->
<string name="account_invalid">Kasutajakontot ei leidu (enam)</string>
<string name="account_title_address_book">DAVx⁵ aadressiraamat</string>
<string name="account_prefs_use_app">Palun ära muuda kasutajakontot siin! Selle asemel pruugi kasutajakontode halduseks otseselt rakendust.</string>
<string name="dialog_delete">Kustuta</string>
<string name="dialog_remove">Eemalda</string>
<string name="dialog_deny">Katkesta</string>
<string name="dialog_enable">Võta kasutusele</string>
<string name="field_required">See väli on kohustuslik</string>
<string name="help">Abiteave</string>
<string name="navigate_up">Liigu üles</string>
<string name="options_menu">Valikute menüü</string>
<string name="share">Jaga</string>
<string name="sync_started">Sünkroniseerimine algas või on tööde järjekorras</string>
<string name="database_destructive_migration_title">Andmebaas on vigane</string>
<string name="database_destructive_migration_text">Kõik kasutajakontod on kohalikust seadmest eemaldatud</string>
<string name="notification_channel_debugging">Silumine ja veaotsing</string>
<string name="notification_channel_general">Muud olulised sõnumid</string>
<string name="notification_channel_status">Väheolulised olekuteated</string>
<string name="notification_channel_sync">Sünkroniseerimine</string>
<string name="notification_channel_sync_errors">Sünkroniseerimisvead</string>
<string name="notification_channel_sync_errors_desc">Olulised vead, mis peatavad sünkroniseerimise, nagu näiteks ootamatud päringuvastused serverist</string>
<string name="notification_channel_sync_warnings">Sünkroniseerimishoiatused</string>
<string name="notification_channel_sync_warnings_desc">Vähetõsised sünkroniseerimisteated näiteks vigaste failide kohta</string>
<string name="notification_channel_sync_io_errors">Võrgu- ja sisend/väljundvead</string>
<string name="notification_channel_sync_io_errors_desc">Ühenduste aegumine ja muud sarnased probleemid (tihti ajutised)</string>
<!--IntroActivity-->
<string name="account_title_address_book">DAVx⁵ aadressiraamat</string>
<string name="account_prefs_use_app">Palun ära muuda kasutajakontot siin! Selle asemel pruugi kasutajakontode halduseks otseselt rakendust.</string>
<string name="dialog_delete">Kustuta</string>
<string name="dialog_remove">Eemalda</string>
<string name="dialog_deny">Katkesta</string>
<string name="dialog_enable">Võta kasutusele</string>
<string name="field_required">See väli on kohustuslik</string>
<string name="help">Abiteave</string>
<string name="navigate_up">Liigu üles</string>
<string name="options_menu">Valikute menüü</string>
<string name="share">Jaga</string>
<string name="sync_started">Sünkroniseerimine algas või on tööde järjekorras</string>
<string name="database_destructive_migration_title">Andmebaas on vigane</string>
<string name="database_destructive_migration_text">Kõik kasutajakontod on kohalikust seadmest eemaldatud.</string>
<string name="notification_channel_debugging">Silumine ja veaotsing</string>
<string name="notification_channel_general">Muud olulised sõnumid</string>
<string name="notification_channel_status">Väheolulised olekuteated</string>
<string name="notification_channel_sync">Sünkroniseerimine</string>
<string name="notification_channel_sync_errors">Sünkroniseerimisvead</string>
<string name="notification_channel_sync_errors_desc">Olulised vead, mis peatavad sünkroniseerimise, nagu näiteks ootamatud päringuvastused serverist</string>
<string name="notification_channel_sync_warnings">Sünkroniseerimishoiatused</string>
<string name="notification_channel_sync_warnings_desc">Vähetõsised sünkroniseerimisteated näiteks vigaste failide kohta</string>
<string name="notification_channel_sync_io_errors">Võrgu- ja sisend/väljundvead</string>
<string name="notification_channel_sync_io_errors_desc">Ühenduste aegumine ja muud sarnased probleemid (tihti ajutised)</string>
<!--IntroActivity-->
<string name="intro_slogan1">Sinu andmed. Sinu valik.</string>
<string name="intro_slogan2">Sina otsustad.</string>
<string name="intro_battery_title">Regulaarne sünkroniseerimisvälp</string>
<string name="intro_battery_text">Selleks, et sünkroniseerimine soovitud ajavahemike järel toimiks taustateenusena, vajab %s õigust töötada taustal. Vastasel juhul võib Android igal ajal sünkroniseerimise peatada.</string>
<string name="intro_battery_dont_show">Ma ei soovi kasutada regulaarset sünkroniseerimisvälpa. *</string>
<string name="intro_autostart_title">%s ühilduvus</string>
<string name="intro_autostart_text">Nutiseadme tootja poolt lisatud püsivara võib blokeerida sünkroniseerimist. Kui see sinu tegevust mõjutab, siis saad olukorra lahendada käsitsi.</string>
<string name="intro_autostart_dont_show">Ma juba kasutan nõutavaid seadistusi. Ära enam tuleta seda mulle meelde.*</string>
<string name="intro_leave_unchecked">* Kui soovid hilisemat meeldetuletust, jäta see märkimata. Lisaks saad seada muuta rakenduse seadistustest / %s.</string>
<string name="intro_more_info">Lisateave</string>
<string name="intro_tasks_jtx">jtx Board</string>
<string name="intro_tasks_jtx_info"><![CDATA[Toetab ülesannete, märkmete ja päevikute sünkroniseerimist.]]></string>
<string name="intro_tasks_title">Ülesannete tugi</string>
<string name="intro_tasks_text1">Kui sinu kasutatav server toetab ülesannete haldust, siis nende sünkroniseerimine on võimalik toetatud ülesannete rakendusega:</string>
<string name="intro_tasks_opentasks">OpenTasks</string>
<string name="intro_tasks_opentasks_info">Tundub, et arendus on lõppenud ja seega pole kasutamine enam mõistlik.</string>
<string name="intro_tasks_tasks_org">Tasks.org</string>
<string name="intro_tasks_tasks_org_info"><![CDATA[Mõned funktsionaalsused <a href="https://www.davx5.com/faq/tasks/advanced-task-features">pole toetatud</a>.]]></string>
<string name="intro_tasks_no_app_store">Rakendustepoodi pole saadaval</string>
<string name="intro_tasks_dont_show">Ma ei vaja ülesannete tuge.*</string>
<string name="intro_open_source_title">Avatud lähtekoodiga tarkvara</string>
<string name="intro_open_source_text">Me oleme rõõmsad, et kasutad avatud lähtekoodil põhinevat rakendust %s. Selle arendus, hooldus ja kasutajatugi nõuavad märgatavat tööd. Palun kaalu erinevaid võimalusi osalemiseks või rahalist toetamist. Me hindaksime seda väga!</string>
<string name="intro_open_source_details">Võimalused kaastööks või rahaliseks toetamiseks</string>
<string name="intro_open_source_dont_show">Ära näita seda uuesti</string>
<plurals name="intro_open_source_dont_show_months">
<item quantity="one">%d kuu jooksul</item>
<item quantity="other">%d kuu jooksul</item>
</plurals>
<string name="intro_next">Järgmine</string>
<!--PermissionsActivity-->
<string name="intro_slogan2">Sina otsustad.</string>
<string name="intro_battery_title">Regulaarne sünkroniseerimisvälp</string>
<string name="intro_battery_text">Selleks, et sünkroniseerimine soovitud ajavahemike järel toimiks taustateenusena, vajab %s õigust töötada taustal. Vastasel juhul võib Android igal ajal sünkroniseerimise peatada.</string>
<string name="intro_battery_dont_show">Ma ei soovi kasutada regulaarset sünkroniseerimisvälpa. *</string>
<string name="intro_autostart_title">%s ühilduvus</string>
<string name="intro_autostart_text">Nutiseadme tootja poolt lisatud püsivara võib blokeerida sünkroniseerimist. Kui see sinu tegevust mõjutab, siis saad olukorra lahendada käsitsi.</string>
<string name="intro_autostart_dont_show">Ma juba kasutan nõutavaid seadistusi. Ära enam tuleta seda mulle meelde.*</string>
<string name="intro_leave_unchecked">* Kui soovid hilisemat meeldetuletust, jäta see märkimata. Lisaks saad seada muuta rakenduse seadistustest / %s.</string>
<string name="intro_more_info">Lisateave</string>
<string name="intro_tasks_jtx">jtx Board</string>
<string name="intro_tasks_jtx_info"><![CDATA[Toetab ülesannete, märkmete ja päevikute sünkroniseerimist.]]></string>
<string name="intro_tasks_title">Ülesannete tugi</string>
<string name="intro_tasks_text1">Kui sinu kasutatav server toetab ülesannete haldust, siis nende sünkroniseerimine on võimalik toetatud ülesannete rakendusega:</string>
<string name="intro_tasks_opentasks">OpenTasks</string>
<string name="intro_tasks_opentasks_info">Tundub, et arendus on lõppenud ja seega pole kasutamine enam mõistlik.</string>
<string name="intro_tasks_tasks_org">Tasks.org</string>
<string name="intro_tasks_tasks_org_info"><![CDATA[Mõned funktsionaalsused <a href="https://www.davx5.com/faq/tasks/advanced-task-features">pole toetatud</a>.]]></string>
<string name="intro_tasks_no_app_store">Rakendustepoodi pole saadaval</string>
<string name="intro_tasks_dont_show">Ma ei vaja ülesannete tuge.*</string>
<string name="intro_open_source_title">Avatud lähtekoodiga tarkvara</string>
<string name="intro_open_source_text">Me oleme rõõmsad, et kasutad avatud lähtekoodil põhinevat rakendust %s. Selle arendus, hooldus ja kasutajatugi nõuavad märgatavat tööd. Palun kaalu erinevaid võimalusi osalemiseks või rahalist toetamist. Me hindaksime seda väga!</string>
<string name="intro_open_source_details">Võimalused kaastööks või rahaliseks toetamiseks</string>
<string name="intro_open_source_dont_show">Ära näita seda uuesti</string>
<plurals name="intro_open_source_dont_show_months">
<item quantity="one">%d kuu jooksul</item>
<item quantity="other">%d kuu jooksul</item>
</plurals>
<string name="intro_next">Järgmine</string>
<!--PermissionsActivity-->
<string name="permissions_title">Õigused</string>
<string name="permissions_text">%s vajab korralikuks toimimiseks õigusi.</string>
<string name="permissions_all_title">Kõik alljärgnev</string>
<string name="permissions_all_status_off">Kasuta seda valikut kõikide funktsionaalsuste sisselülitamiseks (soovitatav)</string>
<string name="permissions_all_status_on">Rakenduse õigused on olemas</string>
<string name="permissions_contacts_title">Kontaktide õigused</string>
<string name="permissions_contacts_status_off">Kontaktide sünkroniseerimine puudub (pole soovitatud)</string>
<string name="permissions_contacts_status_on">Kontaktide sünkroniseerimine on võimalik</string>
<string name="permissions_calendar_title">Kalendri õigused</string>
<string name="permissions_calendar_status_off">Kalendri sünkroniseerimine puudub (pole soovitatud)</string>
<string name="permissions_calendar_status_on">Kalendri sünkroniseerimine on võimalik</string>
<string name="permissions_notification_title">Teavituste õigused</string>
<string name="permissions_notification_status_off">Teavitused pole kasutusel (pole soovitatav)</string>
<string name="permissions_notification_status_on">Teavitused on kasutusel</string>
<string name="permissions_jtx_title">Õigused - jtx Board</string>
<string name="permissions_opentasks_title">Õigused - OpenTasks</string>
<string name="permissions_tasksorg_title">Ülesannete õigused</string>
<string name="permissions_tasks_status_off">Ülesannete sünkroniseerimine puudub</string>
<string name="permissions_tasks_status_on">Ülesannete sünkroniseerimine on võimalik</string>
<string name="permissions_autoreset_title">Säilita õigused</string>
<string name="permissions_autoreset_status_off">Õigusi võib muuta automaatselt (pole soovitatud)</string>
<string name="permissions_autoreset_status_on">Õigused ei saa olema automaatselt muudetud</string>
<string name="permissions_autoreset_instruction">Klõpsi Õigused ja eemalda valik „Eemalda load, kui rakendust ei kasutata“</string>
<string name="permissions_app_settings_hint">Kui muutmine ei toimi, siis kasuta rakenduse õiguste seadistusi.</string>
<string name="permissions_app_settings">Rakenduse seadistused</string>
<!--WifiPermissionsActivity-->
<string name="permissions_text">%s vajab korralikuks toimimiseks õigusi.</string>
<string name="permissions_all_title">Kõik alljärgnev</string>
<string name="permissions_all_status_off">Kasuta seda valikut kõikide funktsionaalsuste sisselülitamiseks (soovitatav)</string>
<string name="permissions_all_status_on">Rakenduse õigused on olemas</string>
<string name="permissions_contacts_title">Kontaktide õigused</string>
<string name="permissions_contacts_status_off">Kontaktide sünkroniseerimine puudub (pole soovitatud)</string>
<string name="permissions_contacts_status_on">Kontaktide sünkroniseerimine on võimalik</string>
<string name="permissions_calendar_title">Kalendri õigused</string>
<string name="permissions_calendar_status_off">Kalendri sünkroniseerimine puudub (pole soovitatud)</string>
<string name="permissions_calendar_status_on">Kalendri sünkroniseerimine on võimalik</string>
<string name="permissions_notification_title">Teavituste õigused</string>
<string name="permissions_notification_status_off">Teavitused pole kasutusel (pole soovitatav)</string>
<string name="permissions_notification_status_on">Teavitused on kasutusel</string>
<string name="permissions_jtx_title">Õigused - jtx Board</string>
<string name="permissions_opentasks_title">Õigused - OpenTasks</string>
<string name="permissions_tasksorg_title">Ülesannete õigused</string>
<string name="permissions_tasks_status_off">Ülesannete sünkroniseerimine puudub</string>
<string name="permissions_tasks_status_on">Ülesannete sünkroniseerimine on võimalik</string>
<string name="permissions_autoreset_title">Säilita õigused</string>
<string name="permissions_autoreset_status_off">Õigusi võib muuta automaatselt (pole soovitatud)</string>
<string name="permissions_autoreset_status_on">Õigused ei saa olema automaatselt muudetud</string>
<string name="permissions_autoreset_instruction">Klõpsi Õigused ja eemalda valik „Eemalda load, kui rakendust ei kasutata“</string>
<string name="permissions_app_settings_hint">Kui muutmine ei toimi, siis kasuta rakenduse õiguste seadistusi.</string>
<string name="permissions_app_settings">Rakenduse seadistused</string>
<!--WifiPermissionsActivity-->
<string name="wifi_permissions_label">WiFi SSID õigused</string>
<string name="wifi_permissions_intro">Selleks, et toimiks ligipääs hetkel kasutatavale WiFi võrgunimele (SSID), peavad olema täidetud järgnevad tingimused:</string>
<string name="wifi_permissions_location_permission">Õigused täpse asukoha tuvastamiseks</string>
<string name="wifi_permissions_location_permission_on">Õigused asukoha tuvastamiseks on olemas</string>
<string name="wifi_permissions_location_permission_off">Õigused asukoha tuvastamiseks on keelatud</string>
<string name="wifi_permissions_background_location_permission">Õigused asukoha tuvastamiseks taustal</string>
<string name="wifi_permissions_background_location_permission_label">Luba alati</string>
<string name="wifi_permissions_background_location_permission_on">Asukohaõigused on: %s</string>
<string name="wifi_permissions_background_location_permission_off">Asukohaõiguseid pole: %s</string>
<string name="wifi_permissions_background_location_disclaimer">%s kasutab asukohaandmeid (vaid WiFi SSID võrgutunnust) vaid sünkroniseerimise tagamiseks konkreetse WiFi-võrgu piires. See kehtib ka siis, kui sünkroniseerimine on seadistatud töötama taustal.</string>
<string name="wifi_permissions_background_location_disclaimer2">Kõik asukohaandmed (vaid WiFi SSId võrgutunnus) on kasutusel kohalikus nutiseadmes ega saadeta mitte kuhugile mujale.</string>
<string name="wifi_permissions_location_enabled">Asukohateenus on alati kasutusel</string>
<string name="wifi_permissions_location_enabled_on">Asukohateenus on lubatud</string>
<string name="wifi_permissions_location_enabled_off">Asukohateenus pole lubatud</string>
<!--AboutActivity-->
<string name="wifi_permissions_intro">Selleks, et toimiks ligipääs hetkel kasutatavale WiFi võrgunimele (SSID), peavad olema täidetud järgnevad tingimused:</string>
<string name="wifi_permissions_location_permission">Õigused täpse asukoha tuvastamiseks</string>
<string name="wifi_permissions_location_permission_on">Õigused asukoha tuvastamiseks on olemas</string>
<string name="wifi_permissions_location_permission_off">Õigused asukoha tuvastamiseks on keelatud</string>
<string name="wifi_permissions_background_location_permission">Õigused asukoha tuvastamiseks taustal</string>
<string name="wifi_permissions_background_location_permission_label">Luba alati</string>
<string name="wifi_permissions_background_location_permission_on">Asukohaõigused on: %s</string>
<string name="wifi_permissions_background_location_permission_off">Asukohaõiguseid pole: %s</string>
<string name="wifi_permissions_background_location_disclaimer">%s kasutab asukohaandmeid (vaid WiFi SSID võrgutunnust) vaid sünkroniseerimise tagamiseks konkreetse WiFi-võrgu piires. See kehtib ka siis, kui sünkroniseerimine on seadistatud töötama taustal.</string>
<string name="wifi_permissions_background_location_disclaimer2">Kõik asukohaandmed (vaid WiFi SSId võrgutunnus) on kasutusel kohalikus nutiseadmes ega saadeta mitte kuhugile mujale.</string>
<string name="wifi_permissions_location_enabled">Asukohateenus on alati kasutusel</string>
<string name="wifi_permissions_location_enabled_on">Asukohateenus on lubatud</string>
<string name="wifi_permissions_location_enabled_off">Asukohateenus pole lubatud</string>
<!--AboutActivity-->
<string name="about_translations">Tõlked</string>
<string name="about_libraries">Teegid</string>
<string name="about_version">Versioon %1$s (%2$d)</string>
<string name="about_copyright">© Ricki Hirner, Bernhard Stockmann (bitfire web engineering GmbH) ja kaasautorid</string>
<string name="about_license_info_no_warranty">Selle rakenduse kasutamisega EI KAASNE MITTE ÜHTEGI GARANTIID. Tegemist on vaba ja avatud tarkvaraga ning sa võid seda levitada kindlate tingimuste alusel.</string>
<!--global settings-->
<string name="about_libraries">Teegid</string>
<string name="about_version">Versioon %1$s (%2$d)</string>
<string name="about_copyright">© Ricki Hirner, Bernhard Stockmann (bitfire web engineering GmbH) ja kaasautorid</string>
<string name="about_license_info_no_warranty">Selle rakenduse kasutamisega EI KAASNE MITTE ÜHTEGI GARANTIID. Tegemist on vaba ja avatud tarkvaraga ning sa võid seda levitada kindlate tingimuste alusel.</string>
<!--global settings-->
<string name="logging_couldnt_create_file">Logifaili loomine ei õnnestunud</string>
<string name="logging_notification_text">Nüüd logime kõiki %s rakenduse tegevusi</string>
<string name="logging_notification_view_share">Vaata/jaga</string>
<string name="logging_notification_disable">Lülita välja</string>
<!--AccountsScreen-->
<string name="logging_notification_text">Nüüd logime kõiki %s rakenduse tegevusi</string>
<string name="logging_notification_view_share">Vaata/jaga</string>
<string name="logging_notification_disable">Lülita välja</string>
<!--AccountsScreen-->
<string name="navigation_drawer_subtitle">CalDAV/CardDAV sünkroniseerimise sobitaja</string>
<string name="navigation_drawer_about">Teave / litsents</string>
<string name="navigation_drawer_beta_feedback">Beetaversiooni tagasiside</string>
<string name="install_browser">Palun paigalda veebibrauser</string>
<string name="navigation_drawer_settings">Seadistused</string>
<string name="navigation_drawer_news_updates">Uudised ja uuendused</string>
<string name="navigation_drawer_tools">Tarvikud</string>
<string name="navigation_drawer_external_links">Välised lingid</string>
<string name="navigation_drawer_website">Veebisait</string>
<string name="navigation_drawer_manual">Käsiraamat</string>
<string name="navigation_drawer_faq">KKK</string>
<string name="navigation_drawer_managed">Organisatsioonide jaoks</string>
<string name="navigation_drawer_community">Kogukond</string>
<string name="navigation_drawer_support_project">Toeta projekti</string>
<string name="navigation_drawer_contribute">Osalemise viisid</string>
<string name="navigation_drawer_privacy_policy">Privaatsusreeglid</string>
<string name="account_list_welcome">Tere tulemast kasutama rakendust DAVx⁵!</string>
<string name="account_list_empty">Loo ühendus oma serveriga ja hoia kalendrid ning kontaktid sünkroniseerituna.</string>
<string name="accounts_sync_all">Sünkroniseeri kõik kasutajakontod</string>
<!--Sync warnings-->
<string name="navigation_drawer_about">Teave / litsents</string>
<string name="navigation_drawer_beta_feedback">Beetaversiooni tagasiside</string>
<string name="install_browser">Palun paigalda veebibrauser</string>
<string name="navigation_drawer_settings">Seadistused</string>
<string name="navigation_drawer_news_updates">Uudised ja uuendused</string>
<string name="navigation_drawer_tools">Tarvikud</string>
<string name="navigation_drawer_external_links">Välised lingid</string>
<string name="navigation_drawer_website">Veebisait</string>
<string name="navigation_drawer_manual">Käsiraamat</string>
<string name="navigation_drawer_faq">KKK</string>
<string name="navigation_drawer_managed">Organisatsioonide jaoks</string>
<string name="navigation_drawer_community">Kogukond</string>
<string name="navigation_drawer_support_project">Toeta projekti</string>
<string name="navigation_drawer_contribute">Osalemise viisid</string>
<string name="navigation_drawer_privacy_policy">Privaatsusreeglid</string>
<string name="account_list_welcome">Tere tulemast kasutama rakendust DAVx⁵!</string>
<string name="account_list_empty">Loo ühendus oma serveriga ja hoia kalendrid ning kontaktid sünkroniseerituna.</string>
<string name="accounts_sync_all">Sünkroniseeri kõik kasutajakontod</string>
<!--Sync warnings-->
<string name="sync_warning_no_notification_permission">Teavitused on välja lülitatud ja seega sünkroniseerimisvigade infot sa ei näe.</string>
<string name="sync_warning_no_internet">Automaatne sünkroniseerimine pole aktiivne (kontrollitud internetiühendus puudub)</string>
<string name="sync_warning_manage_connections">Halda ühendusi</string>
<string name="sync_warning_datasaver_enabled">Andmemahu piiraja on kasutusel. Taustal sünkroniseerimine võib toimida piirangutega.</string>
<string name="sync_warning_manage_datasaver">Halda andmemahu piirajat</string>
<string name="sync_warning_battery_saver_enabled">Akukasutuse piiraja on kasutusel. Taustal sünkroniseerimine võib toimida piirangutega.</string>
<string name="sync_warning_manage_battery_saver">Halda akukasutuse piirajat</string>
<string name="sync_warning_low_storage">Vaba andmeruumi napib. Android ei sünkroniseeri kohalikke muudatusi kohe, vaid järgmise regulaarse sünkroniseerimise ajal.</string>
<string name="sync_warning_manage_storage">Halda andmeruumi</string>
<string name="sync_warning_calendar_storage_disabled_title">Kalendri teenusepakkuja puudub. </string>
<string name="sync_warning_calendar_storage_disabled_description">Kas sa oled lülitanud välja süsteemse kalendri salvestusruumi rakenduse „Calendar storage“ välja?</string>
<string name="sync_warning_contacts_storage_disabled_title">Kontaktide teenusepakkuja puudub.</string>
<string name="sync_warning_contacts_storage_disabled_description">Kas sa oled lülitanud välja süsteemse kontaktide salvestusruumi rakenduse „Contacts storage“ välja?</string>
<string name="sync_warning_manage_apps">Halda rakendusi</string>
<!--RefreshCollectionsWorker-->
<string name="sync_warning_no_internet">Automaatne sünkroniseerimine pole aktiivne (kontrollitud internetiühendus puudub).</string>
<string name="sync_warning_manage_connections">Halda ühendusi</string>
<string name="sync_warning_datasaver_enabled">Andmemahu piiraja on kasutusel. Taustal sünkroniseerimine võib toimida piirangutega.</string>
<string name="sync_warning_manage_datasaver">Halda andmemahu piirajat</string>
<string name="sync_warning_battery_saver_enabled">Akukasutuse piiraja on kasutusel. Taustal sünkroniseerimine võib toimida piirangutega.</string>
<string name="sync_warning_manage_battery_saver">Halda akukasutuse piirajat</string>
<string name="sync_warning_low_storage">Vaba andmeruumi napib. Android ei sünkroniseeri kohalikke muudatusi kohe, vaid järgmise regulaarse sünkroniseerimise ajal.</string>
<string name="sync_warning_manage_storage">Halda andmeruumi</string>
<string name="sync_warning_calendar_storage_disabled_title">Kalendri teenusepakkuja puudub</string>
<string name="sync_warning_calendar_storage_disabled_description">Kas sa oled lülitanud välja süsteemse kalendri salvestusruumi rakenduse „Calendar storage“ välja?</string>
<string name="sync_warning_contacts_storage_disabled_title">Kontaktide teenusepakkuja puudub</string>
<string name="sync_warning_contacts_storage_disabled_description">Kas sa oled lülitanud välja süsteemse kontaktide salvestusruumi rakenduse „Contacts storage“ välja?</string>
<string name="sync_warning_manage_apps">Halda rakendusi</string>
<!--RefreshCollectionsWorker-->
<string name="refresh_collections_worker_refresh_failed">Teenuse tuvastamine ei õnnestunud</string>
<string name="refresh_collections_worker_refresh_couldnt_refresh">Kogumike loendi uuendamine ei õnnestunud</string>
<!--Foreground service used by WorkManager on Android <12-->
<string name="refresh_collections_worker_refresh_couldnt_refresh">Kogumike loendi uuendamine ei õnnestunud</string>
<!--Foreground service used by WorkManager on Android <12-->
<string name="foreground_service_notify_title">Töötame esiplaanil</string>
<string name="foreground_service_notify_text">See eelistus on vajalik sünkroniseerimiseks mõnedes seadmetes.</string>
<!--AppSettingsActivity-->
<string name="foreground_service_notify_text">See eelistus on vajalik sünkroniseerimiseks mõnedes seadmetes.</string>
<!--AppSettingsActivity-->
<string name="app_settings">Seadistused</string>
<string name="app_settings_debug">Silumine ja veaotsing</string>
<string name="app_settings_show_debug_info">Näita silumisteavet</string>
<string name="app_settings_show_debug_info_details">Vaata/jaga seadistuse üksikasju ja logisid</string>
<string name="app_settings_logging">Väga üksikasjalik logimine</string>
<string name="app_settings_logging_on">Logimine on kasutusel. Silumisteabe osana saad vaadata logisid.</string>
<string name="app_settings_logging_off">Logimine pole kasutusel</string>
<string name="app_settings_battery_optimization">Akukasutuse optimeerimine</string>
<string name="app_settings_battery_optimization_exempted">See rakendus ei allu akukasutuse optimeerimisele (soovitatav valik)</string>
<string name="app_settings_battery_optimization_optimized">Akukasutuse optimeerimise piirangud on kasutusel (mittesoovitatav valik)</string>
<string name="app_settings_connection">Ühendus</string>
<string name="app_settings_proxy">Proksiserveri tüüp</string>
<string-array name="app_settings_proxy_types">
<item>Süsteemi proksiserver</item>
<item>Proksiserver puudub</item>
<item>HTTP</item>
<item>SOCKS (Orboti jaoks)</item>
</string-array>
<string name="app_settings_proxy_host">Proksiserveri hostinimi</string>
<string name="app_settings_proxy_port">Proksiserveri port</string>
<string name="app_settings_security">Turvalisus</string>
<string name="app_settings_security_app_permissions">Rakenduse õigused</string>
<string name="app_settings_security_app_permissions_summary">Täpsusta sünkroniseerimiseks vajalike õigusi</string>
<string name="app_settings_distrust_system_certs">Ära usalda nutiseadme süsteemseid sertifikaate</string>
<string name="app_settings_distrust_system_certs_on">Süsteemsed ja kasutaja lisatud sertifitseerimiskeskused ei ole usaldatud</string>
<string name="app_settings_distrust_system_certs_off">Süsteemsed ja kasutaja lisatud sertifitseerimiskeskused on usaldatud (soovitatav valik)</string>
<string name="app_settings_distrust_system_certs_dialog_message">Kui see seadistus on aktiivne, siis operatsioonisüsteemis leiduvad sertifikaate ei loeta usaldusväärseteks. See tähendab, et iga kord pead sertifikaadiga käsitsi nõustuma (seda ka siis, kui server uuendab oma sertifikaate), vastasel juhul kasutajakonto seadistamine ja sünkroniseerimine ei toimi.</string>
<string name="app_settings_reset_certificates">Lähtesta (mitte)usaldatud sertifikaatide loend</string>
<string name="app_settings_reset_certificates_summary">Selle valikuga eemaldatakse kõik sinu lisatud sertifikaatide usaldusmärked</string>
<string name="app_settings_reset_certificates_success">Kõik sinu lisatud sertifikaatide usaldusmärked on eemaldatud</string>
<string name="app_settings_user_interface">Kasutajaliides</string>
<string name="app_settings_notification_settings">Teavituste seadistused</string>
<string name="app_settings_notification_settings_summary">Halda teavituskanaleid ja nende seadistusi</string>
<string name="app_settings_theme_title">Vali kujundus</string>
<string-array name="app_settings_theme_names">
<item>Süsteemi kujundus</item>
<item>Hele kujundus</item>
<item>Tume kujundus</item>
</string-array>
<string name="app_settings_reset_hints">Lähtesta vihjed</string>
<string name="app_settings_reset_hints_summary">Lülitab varem väljalülitatud vihtjete kuvamise uuesti sisse</string>
<string name="app_settings_reset_hints_success">Näitame jälle kõiki vihjeid</string>
<string name="app_settings_integration">Lõimimine</string>
<string name="app_settings_tasks_provider">Ülesannete rakendus</string>
<string name="app_settings_tasks_provider_none">Ühilduvat ülesannete rakendust ei leidu</string>
<string name="app_settings_unifiedpush">UnifiedPush (katseline)</string>
<string name="app_settings_unifiedpush_disable">Puudub (tõuketeenuseid pole)</string>
<string name="app_settings_unifiedpush_choose_distributor">Vali levitaja</string>
<string name="app_settings_unifiedpush_no_distributor">Ühtegi tõukesõnumite levitajat pole paigaldatud</string>
<string name="app_settings_unifiedpush_no_endpoint">Otspunkt on seadistamata</string>
<string name="app_settings_unifiedpush_ready">Valmis tõuketeadete vastuvõtmiseks %s vahendusel</string>
<string name="app_settings_unifiedpush_distributor_fcm">FCM (Google Play)</string>
<string name="app_settings_unifiedpush_encrypted">Tõuketeavituste sõnumid on alati krüptitud.</string>
<!--AccountScreen-->
<string name="app_settings_debug">Silumine ja veaotsing</string>
<string name="app_settings_show_debug_info">Näita silumisteavet</string>
<string name="app_settings_show_debug_info_details">Vaata/jaga seadistuse üksikasju ja logisid</string>
<string name="app_settings_logging">Väga üksikasjalik logimine</string>
<string name="app_settings_logging_on">Logimine on kasutusel. Silumisteabe osana saad vaadata logisid.</string>
<string name="app_settings_logging_off">Logimine pole kasutusel</string>
<string name="app_settings_battery_optimization">Akukasutuse optimeerimine</string>
<string name="app_settings_battery_optimization_exempted">See rakendus ei allu akukasutuse optimeerimisele (soovitatav valik)</string>
<string name="app_settings_battery_optimization_optimized">Akukasutuse optimeerimise piirangud on kasutusel (mittesoovitatav valik)</string>
<string name="app_settings_connection">Ühendus</string>
<string name="app_settings_proxy">Proksiserveri tüüp</string>
<string-array name="app_settings_proxy_types">
<item>Süsteemi proksiserver</item>
<item>Proksiserver puudub</item>
<item>HTTP</item>
<item>SOCKS (Orboti jaoks)</item>
</string-array>
<string name="app_settings_proxy_host">Proksiserveri hostinimi</string>
<string name="app_settings_proxy_port">Proksiserveri port</string>
<string name="app_settings_security">Turvalisus</string>
<string name="app_settings_security_app_permissions">Rakenduse õigused</string>
<string name="app_settings_security_app_permissions_summary">Täpsusta sünkroniseerimiseks vajalike õigusi</string>
<string name="app_settings_distrust_system_certs">Ära usalda nutiseadme süsteemseid sertifikaate</string>
<string name="app_settings_distrust_system_certs_on">Süsteemsed ja kasutaja lisatud sertifitseerimiskeskused ei ole usaldatud</string>
<string name="app_settings_distrust_system_certs_off">Süsteemsed ja kasutaja lisatud sertifitseerimiskeskused on usaldatud (soovitatav valik)</string>
<string name="app_settings_distrust_system_certs_dialog_message">Kui see seadistus on aktiivne, siis operatsioonisüsteemis leiduvad sertifikaate ei loeta usaldusväärseteks. See tähendab, et iga kord pead sertifikaadiga käsitsi nõustuma (seda ka siis, kui server uuendab oma sertifikaate), vastasel juhul kasutajakonto seadistamine ja sünkroniseerimine ei toimi.</string>
<string name="app_settings_reset_certificates">Lähtesta (mitte)usaldatud sertifikaatide loend</string>
<string name="app_settings_reset_certificates_summary">Selle valikuga eemaldatakse kõik sinu lisatud sertifikaatide usaldusmärked</string>
<string name="app_settings_reset_certificates_success">Kõik sinu lisatud sertifikaatide usaldusmärked on eemaldatud</string>
<string name="app_settings_user_interface">Kasutajaliides</string>
<string name="app_settings_notification_settings">Teavituste seadistused</string>
<string name="app_settings_notification_settings_summary">Halda teavituskanaleid ja nende seadistusi</string>
<string name="app_settings_theme_title">Vali kujundus</string>
<string-array name="app_settings_theme_names">
<item>Süsteemi kujundus</item>
<item>Hele kujundus</item>
<item>Tume kujundus</item>
</string-array>
<string name="app_settings_reset_hints">Lähtesta vihjed</string>
<string name="app_settings_reset_hints_summary">Lülitab varem väljalülitatud vihtjete kuvamise uuesti sisse</string>
<string name="app_settings_reset_hints_success">Näitame jälle kõiki vihjeid</string>
<string name="app_settings_integration">Lõimimine</string>
<string name="app_settings_tasks_provider">Ülesannete rakendus</string>
<string name="app_settings_tasks_provider_none">Ühilduvat ülesannete rakendust ei leidu</string>
<string name="app_settings_unifiedpush">UnifiedPush (katseline)</string>
<string name="app_settings_unifiedpush_disable">Puudub (tõuketeenuseid pole)</string>
<string name="app_settings_unifiedpush_choose_distributor">Vali levitaja</string>
<string name="app_settings_unifiedpush_no_distributor">Ühtegi tõukesõnumite levitajat pole paigaldatud</string>
<string name="app_settings_unifiedpush_no_endpoint">Otspunkt on seadistamata</string>
<string name="app_settings_unifiedpush_ready">Valmis tõuketeadete vastuvõtmiseks %s vahendusel</string>
<string name="app_settings_unifiedpush_distributor_fcm">FCM (Google Play)</string>
<string name="app_settings_unifiedpush_encrypted">Tõuketeavituste sõnumid on alati krüptitud.</string>
<!--AccountScreen-->
<string name="account_invalid_account">Kasutajakonto on eemaldatud</string>
<string name="account_carddav">CardDAV</string>
<string name="account_caldav">CalDAV</string>
<string name="account_webcal">Webcal</string>
<string name="account_missing_permissions">Nende kogumike sünkroniseerimiseks on vajalikud täiendavad õigused.</string>
<string name="account_manage_permissions">Halda õigusi</string>
<string name="account_synchronize_now">Sünkroniseeri nüüd</string>
<string name="account_settings">Kasutajakonto seadistused</string>
<string name="account_rename">Muuda kasutajakonto nime</string>
<string name="account_rename_new_name_description">Salvestamata kohalik teave võib vahele jääda. Peale nime muutmist palun sünkroniseeri uuesti.</string>
<string name="account_rename_new_name">Kasutajakonto uus nimi</string>
<string name="account_rename_rename">Muuda nime</string>
<string name="account_rename_exists_already">Selline nimi on juba kasutusel</string>
<string name="account_rename_couldnt_rename">Kasutajakonto nime muutmine ei õnnestunud</string>
<string name="account_delete">Kustuta kasutajakonto</string>
<string name="account_delete_confirmation_title">Kas tõesti kustutame kasutajakonto?</string>
<string name="account_delete_confirmation_text">Sellega kustutame ka kõik aadresside, kalendrite ja ülesannete kohalikud koopiad.</string>
<string name="account_synchronize_this_collection">sünkroniseeri see kogumik</string>
<string name="account_read_only">ainult lugemisõigus</string>
<string name="account_calendar">kalender</string>
<string name="account_contacts">kontaktid</string>
<string name="account_journal">päevik</string>
<string name="account_task_list">ülesanded</string>
<string name="account_only_personal">Näita vaid isiklikke</string>
<string name="account_refresh_collections">Uuenda loendit</string>
<string name="account_webcal_external_app">Webcali tellimusi on võimalik sünkroniseerida väliste rakendustega.</string>
<string name="account_no_webcal_handler_found">Webcaliga ühilduvaid rakendusi ei leidu</string>
<string name="account_install_icsx5">Paigalda ICSx⁵</string>
<!--AddAccountActivity-->
<string name="account_carddav">CardDAV</string>
<string name="account_caldav">CalDAV</string>
<string name="account_webcal">Webcal</string>
<string name="account_missing_permissions">Nende kogumike sünkroniseerimiseks on vajalikud täiendavad õigused.</string>
<string name="account_manage_permissions">Halda õigusi</string>
<string name="account_synchronize_now">Sünkroniseeri nüüd</string>
<string name="account_settings">Kasutajakonto seadistused</string>
<string name="account_rename">Muuda kasutajakonto nime</string>
<string name="account_rename_new_name_description">Salvestamata kohalik teave võib vahele jääda. Peale nime muutmist palun sünkroniseeri uuesti.</string>
<string name="account_rename_new_name">Kasutajakonto uus nimi</string>
<string name="account_rename_rename">Muuda nime</string>
<string name="account_rename_exists_already">Selline nimi on juba kasutusel</string>
<string name="account_rename_couldnt_rename">Kasutajakonto nime muutmine ei õnnestunud</string>
<string name="account_delete">Kustuta kasutajakonto</string>
<string name="account_delete_confirmation_title">Kas tõesti kustutame kasutajakonto?</string>
<string name="account_delete_confirmation_text">Sellega kustutame ka kõik aadresside, kalendrite ja ülesannete kohalikud koopiad.</string>
<string name="account_synchronize_this_collection">sünkroniseeri see kogumik</string>
<string name="account_read_only">ainult lugemisõigus</string>
<string name="account_calendar">kalender</string>
<string name="account_contacts">kontaktid</string>
<string name="account_journal">päevik</string>
<string name="account_task_list">ülesanded</string>
<string name="account_only_personal">Näita vaid isiklikke</string>
<string name="account_refresh_collections">Uuenda loendit</string>
<string name="account_webcal_external_app">Webcali tellimusi on võimalik sünkroniseerida väliste rakendustega.</string>
<string name="account_no_webcal_handler_found">Webcaliga ühilduvaid rakendusi ei leidu</string>
<string name="account_install_icsx5">Paigalda ICSx⁵</string>
<!--AddAccountActivity-->
<string name="login_title">Lisa kasutajakonto</string>
<string name="login_privacy_hint"><![CDATA[Kõik andmed liiguvad vaid sinu serveri ja sinu nutiseadme vahel. %1$s ei saada neid mitte kuhugile mujale. Lisateavet leiad <a href="%2$s">meie Privaatsusreeglitest</a>.]]></string>
<string name="login_generic_login">Üldine sisselogimine</string>
<string name="login_provider_login">Teenusepakkujakohane sisselogimine</string>
<string name="login_continue">Jätka</string>
<string name="login_login">Logi sisse</string>
<string name="login_type_email">Logi sisse e-posti aadressiga</string>
<string name="login_email_address">E-posti aadress</string>
<string name="login_email_address_error">Nõutav on korrektne e-posti aadress</string>
<string name="login_email_address_info"><![CDATA[E-posti aadressi domeeni alusel leiame alustuseks mõeldud võrguaadressi. <a href="%s">Teenused tuvastame</a> nimeserveri kirjete ning „.well-known“ tunnusaadresside abil.]]></string>
<string name="login_password">Salasõna</string>
<string name="login_password_hide">Peida salasõna</string>
<string name="login_password_show">Näita salasõna</string>
<string name="login_password_optional">Salasõna (kui on vaja)</string>
<string name="login_type_url">Logi sisse võrguaadressi ja kasutajanimega</string>
<string name="login_user_name">Kasutajanimi</string>
<string name="login_user_name_optional">Kasutajanimi (kui on vaja)</string>
<string name="login_base_url">Alustuseks mõeldud võrguaadress</string>
<string name="login_base_url_info"><![CDATA[Kontrollime alustuseks mõeldud võrguaadressi ka, aga lisaks <a href="%s">tuvastame teenuseid</a> nimeserveri kirjete ning „.well-known“ tunnusaadresside abil.]]></string>
<string name="login_select_certificate">Vali sertifikaat</string>
<string name="login_add_account">Lisa kasutajakonto</string>
<string name="login_account_name">Kasutajakonto nimi</string>
<string name="login_account_avoid_apostrophe">Ülakomade (\') kasutamine tundub mõnedes seadmetes tekitama probleeme.</string>
<string name="login_account_name_info">Kuna Android pruugib kasutajakonto nime sinu loodavate ürituste Korraldaja ehk ORGANIZER välja väärtustamiseks, siis soovitame, et sinu kasutajakonto nimi on sinu e-posti aadress. Palun arvesta, et sul ei saa olla kahte samanimelist kasutajakontot.</string>
<string name="login_account_contact_group_method">Kontaktgrupi meetod:</string>
<string name="login_account_name_required">Kasutajakonto nimi on nõutav</string>
<string name="login_account_name_already_taken">Selline nimi on juba kasutusel</string>
<string name="login_account_not_added">Kasutajakonto lisamine ei õnnestunud</string>
<string name="login_finish">Lõpeta</string>
<string name="login_type_advanced">Täiendavad sisselogimise seadistused</string>
<string name="login_no_client_certificate_optional">Kliendisertifikaat puudub (kui on vaja)</string>
<string name="login_client_certificate_selected">Kliendi sertifikaat: %s</string>
<string name="login_no_certificate_found">Kliendisertifikaati ei leidunud</string>
<string name="login_install_certificate">Paigalda sertifikaat</string>
<string name="login_fastmail">Fastmail</string>
<string name="login_fastmail_account">Fastmaili kasutajakonto</string>
<string name="login_fastmail_sign_in">Logi sisse Fastmaili kasutajakontoga</string>
<string name="login_type_google">Google\'i Kontaktid / Kalender</string>
<string name="login_google_account">Google\'i kasutajakonto</string>
<string name="login_google">Logi sisse Google\'i kasutajakontoga</string>
<string name="login_google_client_id">Klienditunnus (kui soovid lisada)</string>
<string name="login_google_client_privacy_policy"><![CDATA[%1$s teisaldab sinu Google\'i kontaktide ja kalendri andmeid vaid sünkroniseerimiseks selles seadmes. Lisateavet leiad meie <a href="%2$s">Privaatsusreeglitest</a>.]]></string>
<string name="login_google_client_limited_use"><![CDATA[%1$s järgib <a href="%2$s">Google\'i API teenuste kasutajaandmete poliitikat</a>, sealhulgas piiratud kasutuse nõudeid.]]></string>
<string name="login_oauth_couldnt_obtain_auth_code">Autoriseerimiskoodi saamine polnud võimalik</string>
<string name="login_type_nextcloud">Nextcloud</string>
<string name="login_nextcloud_login_with_nextcloud">Logi sisse Nextcloudi kontoga</string>
<string name="login_nextcloud_login_flow_text">Selle eelistusega käivitad Nextcloudi sisselogimise veebibrauseris.</string>
<string name="login_nextcloud_login_flow_server_address">Nextcloudi serveri aadress</string>
<string name="login_nextcloud_login_flow_sign_in">Logi sisse</string>
<string name="login_nextcloud_login_flow_no_login_url">Sisselogimise võrguaadressi tuvastamine polnud võimalik</string>
<string name="login_nextcloud_login_flow_no_login_data">Sisselogimisandmete tuvastamine polnud võimalik</string>
<string name="login_configuration_detection">Seadistuste tuvastamine</string>
<string name="login_querying_server">Palun oota, pärime andmeid serverist…</string>
<string name="login_no_service">Ei õnnestunud leida CalDAV või CardDAV teenust.</string>
<string name="login_no_service_info">Antud võrguaadress ei tundu olema ligipääsetav CalDAVi/CardDAVi võrguaadress ja teenuse tuvastamine ei õnnestunud.</string>
<string name="login_see_tested_services"><![CDATA[Lisateavet leidad oma teenusepakkuja juhendist ja <a href="%s">meie poolt testitud teenuste loendist</a> koos toimivate võrguaadressidega.]]></string>
<string name="login_check_credentials">Palun samuti topeltkontrolli autentimist (tavaliselt kasutajanimi ja salasõna)</string>
<string name="login_logs_available">Täiendav tehniline teade leidub logides.</string>
<string name="login_view_logs">Vaata logisid</string>
<!--AccountSettingsActivity-->
<string name="login_privacy_hint"><![CDATA[Kõik andmed liiguvad vaid sinu serveri ja sinu nutiseadme vahel. %1$s ei saada neid mitte kuhugile mujale. Lisateavet leiad <a href="%2$s">meie Privaatsusreeglitest</a>.]]></string>
<string name="login_generic_login">Üldine sisselogimine</string>
<string name="login_provider_login">Teenusepakkujakohane sisselogimine</string>
<string name="login_continue">Jätka</string>
<string name="login_login">Logi sisse</string>
<string name="login_type_email">Logi sisse e-posti aadressiga</string>
<string name="login_email_address">E-posti aadress</string>
<string name="login_email_address_error">Nõutav on korrektne e-posti aadress</string>
<string name="login_email_address_info"><![CDATA[E-posti aadressi domeeni alusel leiame alustuseks mõeldud võrguaadressi. <a href="%s">Teenused tuvastame</a> nimeserveri kirjete ning „.well-known“ tunnusaadresside abil.]]></string>
<string name="login_password">Salasõna</string>
<string name="login_password_hide">Peida salasõna</string>
<string name="login_password_show">Näita salasõna</string>
<string name="login_password_optional">Salasõna (kui on vaja)</string>
<string name="login_type_url">Logi sisse võrguaadressi ja kasutajanimega</string>
<string name="login_user_name">Kasutajanimi</string>
<string name="login_user_name_optional">Kasutajanimi (kui on vaja)</string>
<string name="login_base_url">Alustuseks mõeldud võrguaadress</string>
<string name="login_base_url_info"><![CDATA[Kontrollime alustuseks mõeldud võrguaadressi ka, aga lisaks <a href="%s">tuvastame teenuseid</a> nimeserveri kirjete ning „.well-known“ tunnusaadresside abil.]]></string>
<string name="login_select_certificate">Vali sertifikaat</string>
<string name="login_add_account">Lisa kasutajakonto</string>
<string name="login_account_name">Kasutajakonto nimi</string>
<string name="login_account_avoid_apostrophe">Ülakomade (\') kasutamine tundub mõnedes seadmetes tekitama probleeme.</string>
<string name="login_account_name_info">Kuna Android pruugib kasutajakonto nime sinu loodavate ürituste Korraldaja ehk ORGANIZER välja väärtustamiseks, siis soovitame, et sinu kasutajakonto nimi on sinu e-posti aadress. Palun arvesta, et sul ei saa olla kahte samanimelist kasutajakontot.</string>
<string name="login_account_contact_group_method">Kontaktgrupi meetod:</string>
<string name="login_account_name_required">Kasutajakonto nimi on nõutav</string>
<string name="login_account_name_already_taken">Selline nimi on juba kasutusel</string>
<string name="login_account_not_added">Kasutajakonto lisamine ei õnnestunud</string>
<string name="login_finish">Lõpeta</string>
<string name="login_type_advanced">Täiendavad sisselogimise seadistused</string>
<string name="login_no_client_certificate_optional">Kliendisertifikaat puudub (kui on vaja)</string>
<string name="login_client_certificate_selected">Kliendi sertifikaat: %s</string>
<string name="login_no_certificate_found">Kliendisertifikaati ei leidunud</string>
<string name="login_install_certificate">Paigalda sertifikaat</string>
<string name="login_fastmail">Fastmail</string>
<string name="login_fastmail_account">Fastmaili kasutajakonto</string>
<string name="login_fastmail_sign_in">Logi sisse Fastmaili kasutajakontoga</string>
<string name="login_type_google">Google\'i Kontaktid / Kalender</string>
<string name="login_google_account">Google\'i kasutajakonto</string>
<string name="login_google">Logi sisse Google\'i kasutajakontoga</string>
<string name="login_google_client_id">Klienditunnus (kui soovid lisada)</string>
<string name="login_google_client_privacy_policy"><![CDATA[%1$s teisaldab sinu Google\'i kontaktide ja kalendri andmeid vaid sünkroniseerimiseks selles seadmes. Lisateavet leiad meie <a href="%2$s">Privaatsusreeglitest</a>.]]></string>
<string name="login_google_client_limited_use"><![CDATA[%1$s järgib <a href="%2$s">Google\'i API teenuste kasutajaandmete poliitikat</a>, sealhulgas piiratud kasutuse nõudeid.]]></string>
<string name="login_oauth_couldnt_obtain_auth_code">Autoriseerimiskoodi saamine polnud võimalik</string>
<string name="login_type_nextcloud">Nextcloud</string>
<string name="login_nextcloud_login_with_nextcloud">Logi sisse Nextcloudi kontoga</string>
<string name="login_nextcloud_login_flow_text">Selle eelistusega käivitad Nextcloudi sisselogimise veebibrauseris.</string>
<string name="login_nextcloud_login_flow_server_address">Nextcloudi serveri aadress</string>
<string name="login_nextcloud_login_flow_sign_in">Logi sisse</string>
<string name="login_nextcloud_login_flow_no_login_url">Sisselogimise võrguaadressi tuvastamine polnud võimalik</string>
<string name="login_nextcloud_login_flow_no_login_data">Sisselogimisandmete tuvastamine polnud võimalik</string>
<string name="login_configuration_detection">Seadistuste tuvastamine</string>
<string name="login_querying_server">Palun oota, pärime andmeid serverist…</string>
<string name="login_no_service">Ei õnnestunud leida CalDAV või CardDAV teenust.</string>
<string name="login_no_service_info">Antud võrguaadress ei tundu olema ligipääsetav CalDAVi/CardDAVi võrguaadress ja teenuse tuvastamine ei õnnestunud.</string>
<string name="login_see_tested_services"><![CDATA[Lisateavet leidad oma teenusepakkuja juhendist ja <a href="%s">meie poolt testitud teenuste loendist</a> koos toimivate võrguaadressidega.]]></string>
<string name="login_check_credentials">Palun samuti topeltkontrolli autentimist (tavaliselt kasutajanimi ja salasõna).</string>
<string name="login_logs_available">Täiendav tehniline teade leidub logides.</string>
<string name="login_view_logs">Vaata logisid</string>
<!--AccountSettingsActivity-->
<string name="settings_sync">Sünkroniseerimine</string>
<string name="settings_sync_interval_contacts">Kontaktide sünkroniseerimise välp</string>
<string name="settings_sync_summary_manually">Vaid käsitsi</string>
<string name="settings_sync_summary_periodically" tools:ignore="PluralsCandidate">Iga %d minuti järel + kohalikud muudatused koheselt</string>
<string name="settings_sync_interval_calendars">Kalendrite sünkroniseerimise välp</string>
<string name="settings_sync_interval_tasks">Ülesannete sünkroniseerimise välp</string>
<string-array name="settings_sync_interval_names">
<item>Vaid käsitsi</item>
<item>Iga 15 minuti järel</item>
<item>Iga 30 minuti järel</item>
<item>Kord tunnis</item>
<item>Iga 2 tunni järel</item>
<item>Iga 4 tunni järel</item>
<item>Kord päevas</item>
</string-array>
<string name="settings_sync_wifi_only">Sünkroniseeri vaid WiFi ühendusega</string>
<string name="settings_sync_wifi_only_on">Sünkroniseerimine on lubatud vaid WiFi ühendusega</string>
<string name="settings_sync_wifi_only_off">Ühenduse liik pole oluline</string>
<string name="settings_sync_wifi_only_ssids">WiFi SSID piirangud</string>
<string name="settings_sync_wifi_only_ssids_on">Sünkroniseeri vaid %s võrgus</string>
<string name="settings_sync_wifi_only_ssids_off">Kasuta kõiki WiFi ühendusi</string>
<string name="settings_sync_wifi_only_ssids_message">Lubatud WiFi võrgunimede (SSID) komadega eraldatud loend (kui jätad tühjaks on kõik lubatud)</string>
<string name="settings_sync_wifi_only_ssids_permissions_required">WiFi SSID piirang vajab täiendavat saedistamist</string>
<string name="settings_sync_wifi_only_ssids_permissions_action">Halda</string>
<string name="settings_ignore_vpns">VPNi kasutamine eeldab, et võrguühendus toimib</string>
<string name="settings_ignore_vpns_on">VPN ilma toimiva ja kontrollitud internetiühenduseta pole piisav sünkroniseerimiseks (soovitatud)</string>
<string name="settings_ignore_vpns_off">VPN ilma toimiva ja kontrollitud internetiühenduseta on sünkroniseerimiseks piisav</string>
<string name="settings_authentication">Autentimine</string>
<string name="settings_username">Kasutajanimi</string>
<string name="settings_password">Salasõna või rakenduse salasõna</string>
<string name="settings_app_password_hint"><![CDATA[<a href="%1$s">Rakenduse salasõna</a> kasutamine peaks olema esimene eelistus.]]></string>
<string name="settings_new_password">Uus salasõna</string>
<string name="settings_password_summary">Uuenda salasõna vastavalt oma serveri juhendile.</string>
<string name="settings_reauthorize_oauth">Autoriseeri uuesti (OAuth)</string>
<string name="settings_reauthorize_oauth_summary">Kasuta olukorras, kus ligipääs on tühistatud</string>
<string name="settings_reauthorize_oauth_success">Autoriseerimine õnnestus</string>
<string name="settings_certificate_alias">Kliendi sertifikaat</string>
<string name="settings_certificate_alias_empty">Sertifikaati pole saadaval või paigaldatud</string>
<string name="settings_certificate_install">Paigalda sertifikaat</string>
<string name="settings_caldav">CalDAV</string>
<string name="settings_sync_time_range_past">Möödunud sündmuste ajapiir</string>
<string name="settings_sync_time_range_past_none">Kõik sündmused kuuluvad sünkroniseerimisele</string>
<plurals name="settings_sync_time_range_past_days">
<item quantity="one">Eira enam kui üks päev vanu sündmuseid</item>
<item quantity="other">Eira enam kui %d päeva vanu sündmuseid</item>
</plurals>
<string name="settings_sync_time_range_past_message">Sündmused, mis on vanemad, kui siin märgitud päevade arv, jäävad sünkroniseerimata (võib olla ka 0). Kõikide sündmuste sünkroniseerimiseks jäta tühjaks.</string>
<string name="settings_default_alarm">Vaikimisi meeldetuletus</string>
<plurals name="settings_default_alarm_on">
<item quantity="one">Vaikimisi meeldetuletus üks minutit enne sündmust</item>
<item quantity="other">Vaikimisi meeldetuletus %d minutit enne sündmust</item>
</plurals>
<string name="settings_default_alarm_off">Vaikimisi meeldetuletused puuduvad</string>
<string name="settings_default_alarm_message">Eelistus määrab, kas kasutame vaikimisi meeldetuletust sündmuste puhul, kus eraldi meeldetuletus on seadistamata. Aktiveerimiseks sisesta vaikimisi meeldetuletuse aeg minutites. Väljalülitamiseks jäta tühjaks.</string>
<string name="settings_manage_calendar_colors">Halda kalendrivärve</string>
<string name="settings_manage_calendar_colors_on">Kalendri värvid lähtestatakse igal sünkroniseerimisel</string>
<string name="settings_manage_calendar_colors_off">Muud rakendused võivad kalendrivärve seadistada</string>
<string name="settings_event_colors">Sündmuste värvide tugi</string>
<string name="settings_event_colors_on">Sündmuste värvid kuuluvad sünkroniseerimisele</string>
<string name="settings_event_colors_off">Sündmuste värvid ei kuulu sünkroniseerimisele</string>
<string name="settings_carddav">CardDAV</string>
<string name="settings_contact_group_method">Kontaktgrupi meetod</string>
<string-array name="settings_contact_group_method_entries">
<item>Grupid on eraldi vCard-kirjed</item>
<item>Grupid on kontaktikohased kategooriad</item>
</string-array>
<!--CreateAddressBookScreen, CreateCalendarScreen-->
<string name="settings_sync_interval_contacts">Kontaktide sünkroniseerimise välp</string>
<string name="settings_sync_summary_manually">Vaid käsitsi</string>
<string name="settings_sync_summary_periodically" tools:ignore="PluralsCandidate">Iga %d minuti järel + kohalikud muudatused koheselt</string>
<string name="settings_sync_interval_calendars">Kalendrite sünkroniseerimise välp</string>
<string name="settings_sync_interval_tasks">Ülesannete sünkroniseerimise välp</string>
<string-array name="settings_sync_interval_names">
<item>Vaid käsitsi</item>
<item>Iga 15 minuti järel</item>
<item>Iga 30 minuti järel</item>
<item>Kord tunnis</item>
<item>Iga 2 tunni järel</item>
<item>Iga 4 tunni järel</item>
<item>Kord päevas</item>
</string-array>
<string name="settings_sync_wifi_only">Sünkroniseeri vaid WiFi ühendusega</string>
<string name="settings_sync_wifi_only_on">Sünkroniseerimine on lubatud vaid WiFi ühendusega</string>
<string name="settings_sync_wifi_only_off">Ühenduse liik pole oluline</string>
<string name="settings_sync_wifi_only_ssids">WiFi SSID piirangud</string>
<string name="settings_sync_wifi_only_ssids_on">Sünkroniseeri vaid %s võrgus</string>
<string name="settings_sync_wifi_only_ssids_off">Kasuta kõiki WiFi ühendusi</string>
<string name="settings_sync_wifi_only_ssids_message">Lubatud WiFi võrgunimede (SSID) komadega eraldatud loend (kui jätad tühjaks on kõik lubatud)</string>
<string name="settings_sync_wifi_only_ssids_permissions_required">WiFi SSID piirang vajab täiendavat saedistamist</string>
<string name="settings_sync_wifi_only_ssids_permissions_action">Halda</string>
<string name="settings_ignore_vpns">VPNi kasutamine eeldab, et võrguühendus toimib</string>
<string name="settings_ignore_vpns_on">VPN ilma toimiva ja kontrollitud internetiühenduseta pole piisav sünkroniseerimiseks (soovitatud)</string>
<string name="settings_ignore_vpns_off">VPN ilma toimiva ja kontrollitud internetiühenduseta on sünkroniseerimiseks piisav</string>
<string name="settings_authentication">Autentimine</string>
<string name="settings_username">Kasutajanimi</string>
<string name="settings_password">Salasõna või rakenduse salasõna</string>
<string name="settings_app_password_hint"><![CDATA[<a href="%1$s">Rakenduse salasõna</a> kasutamine peaks olema esimene eelistus.]]></string>
<string name="settings_new_password">Uus salasõna</string>
<string name="settings_password_summary">Uuenda salasõna vastavalt oma serveri juhendile.</string>
<string name="settings_reauthorize_oauth">Autoriseeri uuesti (OAuth)</string>
<string name="settings_reauthorize_oauth_summary">Kasuta olukorras, kus ligipääs on tühistatud</string>
<string name="settings_reauthorize_oauth_success">Autoriseerimine õnnestus</string>
<string name="settings_certificate_alias">Kliendi sertifikaat</string>
<string name="settings_certificate_alias_empty">Sertifikaati pole saadaval või paigaldatud</string>
<string name="settings_certificate_install">Paigalda sertifikaat</string>
<string name="settings_caldav">CalDAV</string>
<string name="settings_sync_time_range_past">Möödunud sündmuste ajapiir</string>
<string name="settings_sync_time_range_past_none">Kõik sündmused kuuluvad sünkroniseerimisele</string>
<plurals name="settings_sync_time_range_past_days">
<item quantity="one">Eira enam kui üks päev vanu sündmuseid</item>
<item quantity="other">Eira enam kui %d päeva vanu sündmuseid</item>
</plurals>
<string name="settings_sync_time_range_past_message">Sündmused, mis on vanemad, kui siin märgitud päevade arv, jäävad sünkroniseerimata (võib olla ka 0). Kõikide sündmuste sünkroniseerimiseks jäta tühjaks.</string>
<string name="settings_default_alarm">Vaikimisi meeldetuletus</string>
<plurals name="settings_default_alarm_on">
<item quantity="one">Vaikimisi meeldetuletus üks minutit enne sündmust</item>
<item quantity="other">Vaikimisi meeldetuletus %d minutit enne sündmust</item>
</plurals>
<string name="settings_default_alarm_off">Vaikimisi meeldetuletused puuduvad</string>
<string name="settings_default_alarm_message">Eelistus määrab, kas kasutame vaikimisi meeldetuletust sündmuste puhul, kus eraldi meeldetuletus on seadistamata. Aktiveerimiseks sisesta vaikimisi meeldetuletuse aeg minutites. Väljalülitamiseks jäta tühjaks.</string>
<string name="settings_manage_calendar_colors">Halda kalendrivärve</string>
<string name="settings_manage_calendar_colors_on">Kalendri värvid lähtestatakse igal sünkroniseerimisel</string>
<string name="settings_manage_calendar_colors_off">Muud rakendused võivad kalendrivärve seadistada</string>
<string name="settings_event_colors">Sündmuste värvide tugi</string>
<string name="settings_event_colors_on">Sündmuste värvid kuuluvad sünkroniseerimisele</string>
<string name="settings_event_colors_off">Sündmuste värvid ei kuulu sünkroniseerimisele</string>
<string name="settings_carddav">CardDAV</string>
<string name="settings_contact_group_method">Kontaktgrupi meetod</string>
<string-array name="settings_contact_group_method_entries">
<item>Grupid on eraldi vCard-kirjed</item>
<item>Grupid on kontaktikohased kategooriad</item>
</string-array>
<!--CreateAddressBookScreen, CreateCalendarScreen-->
<string name="create_addressbook">Loo aadressiraamat</string>
<string name="create_addressbook_maybe_not_supported">See server ei pruugi toetada aadressiraamatu loomist CardDAVi ühenduse abil.</string>
<string name="create_calendar">Loo kalender</string>
<string name="create_calendar_time_zone_optional">Vaikimisi ajavöönd (kui on vaja)</string>
<string name="create_calendar_time_zone_none"></string>
<string name="create_calendar_type">Võimalikud kalendrikirjed</string>
<string name="create_calendar_type_vevent">Sündmused</string>
<string name="create_calendar_type_vtodo">Ülesanded</string>
<string name="create_calendar_type_vjournal">Märkmed / päevik</string>
<string name="create_calendar_maybe_not_supported">See server ei pruugi toetada kalendri loomist CalDAVi ühenduse abil.</string>
<string name="create_collection_color">Värv</string>
<string name="create_collection_display_name">Pealkiri</string>
<string name="create_collection_home_set">Andmeruumi asukoht</string>
<string name="create_collection_description_optional">Kirjeldus (kui on vaja)</string>
<string name="create_collection_create">Loo</string>
<!--CollectionScreen-->
<string name="create_addressbook_maybe_not_supported">See server ei pruugi toetada aadressiraamatu loomist CardDAVi ühenduse abil.</string>
<string name="create_calendar">Loo kalender</string>
<string name="create_calendar_time_zone_optional">Vaikimisi ajavöönd (kui on vaja)</string>
<string name="create_calendar_time_zone_none"></string>
<string name="create_calendar_type">Võimalikud kalendrikirjed</string>
<string name="create_calendar_type_vevent">Sündmused</string>
<string name="create_calendar_type_vtodo">Ülesanded</string>
<string name="create_calendar_type_vjournal">Märkmed / päevik</string>
<string name="create_calendar_maybe_not_supported">See server ei pruugi toetada kalendri loomist CalDAVi ühenduse abil.</string>
<string name="create_collection_color">Värv</string>
<string name="create_collection_display_name">Pealkiri</string>
<string name="create_collection_home_set">Andmeruumi asukoht</string>
<string name="create_collection_description_optional">Kirjeldus (kui on vaja)</string>
<string name="create_collection_create">Loo</string>
<!--CollectionScreen-->
<string name="collection_datatype_contacts">kontaktid</string>
<string name="collection_datatype_events">sündmust</string>
<string name="collection_datatype_tasks">ülesanded</string>
<string name="collection_delete">Kustuta kogumik</string>
<string name="collection_delete_warning">See kogumik (%s) koos oma kõikide andmetega kustutatakse nüüd jäädavalt nii serverist, kui kohalikust nutiseadmest.</string>
<string name="collection_synchronization">Sünkroniseerimine</string>
<string name="collection_synchronization_on">Sünkroniseerimine on kasutusel</string>
<string name="collection_synchronization_off">Sünkroniseerimine pole kasutusel</string>
<string name="collection_read_only">Ainult lugemisõigus</string>
<string name="collection_read_only_by_server">Ainult lugemisõigus (serveri poolt)</string>
<string name="collection_read_only_by_setting">Ainult lugemisõigus (reeglite alusel)</string>
<string name="collection_read_only_forced">Ainult lugemisõigus (ainult kohalikus nutiseadmes)</string>
<string name="collection_read_write">Lugemis- ja kirjutamisõigus</string>
<string name="collection_title">Pealkiri</string>
<string name="collection_description">Kirjeldus</string>
<string name="collection_owner">Omanik</string>
<string name="collection_push_support">Tõuketeenuse tugi</string>
<string name="collection_push_web_push">Server teavitab tõuketeenuse toe olemasolust</string>
<string name="collection_push_subscribed_at">Tellitud %1$s, aegub %2$s</string>
<string name="collection_last_sync">Viimane sünkroniseerimine (%s)</string>
<string name="collection_url">Aadress (võrguaadress)</string>
<!--debugging and DebugInfoActivity-->
<string name="collection_datatype_events">sündmust</string>
<string name="collection_datatype_tasks">ülesanded</string>
<string name="collection_delete">Kustuta kogumik</string>
<string name="collection_delete_warning">See kogumik (%s) koos oma kõikide andmetega kustutatakse nüüd jäädavalt nii serverist, kui kohalikust nutiseadmest.</string>
<string name="collection_synchronization">Sünkroniseerimine</string>
<string name="collection_synchronization_on">Sünkroniseerimine on kasutusel</string>
<string name="collection_synchronization_off">Sünkroniseerimine pole kasutusel</string>
<string name="collection_read_only">Ainult lugemisõigus</string>
<string name="collection_read_only_by_server">Ainult lugemisõigus (serveri poolt)</string>
<string name="collection_read_only_by_setting">Ainult lugemisõigus (reeglite alusel)</string>
<string name="collection_read_only_forced">Ainult lugemisõigus (ainult kohalikus nutiseadmes)</string>
<string name="collection_read_write">Lugemis- ja kirjutamisõigus</string>
<string name="collection_title">Pealkiri</string>
<string name="collection_description">Kirjeldus</string>
<string name="collection_owner">Omanik</string>
<string name="collection_push_support">Tõuketeenuse tugi</string>
<string name="collection_push_web_push">Server teavitab tõuketeenuse toe olemasolust</string>
<string name="collection_push_subscribed_at">Tellitud %1$s, aegub %2$s</string>
<string name="collection_last_sync">Viimane sünkroniseerimine (%s)</string>
<string name="collection_url">Aadress (võrguaadress)</string>
<!--debugging and DebugInfoActivity-->
<string name="debug_info_title">Silumisteave</string>
<string name="debug_info_archive_caption">ZIP-arhiivifail</string>
<string name="debug_info_archive_subtitle">Sisaldab silumisteavet ja logisid</string>
<string name="debug_info_archive_text">Tõsta arhiiv uurimiseks arvutisse, saada huvilisele e-postiga või lisa veateatele meie veahalduses.</string>
<string name="debug_info_archive_share">Jaga arhiivi</string>
<string name="debug_info_attached">Sõnumile lisatud silumisteave (eeldab, et vastuvõttev rakendus oskab manuseid käsitleda).</string>
<string name="debug_info_http_error">HTTP-viga</string>
<string name="debug_info_server_error">Serveri viga</string>
<string name="debug_info_webdav_error">WebDAVi viga</string>
<string name="debug_info_io_error">Sisend-/väljundviga</string>
<string name="debug_info_http_403_description">Server keeldus päringule vastamast.</string>
<string name="debug_info_http_404_description">Päritud andmeressurssi ei leidu (enam).</string>
<string name="debug_info_http_405_description">Server ei võimalda antud päringu tüüpi kasutada või soovitud tegevust teha.</string>
<string name="debug_info_http_5xx_description">Tekkis serveripoolne viga. Palun võta ühendust serveri haldajaga.</string>
<string name="debug_info_unexpected_error">Tekkis ootamatu viga. Lisainfot leiad silumisteabest.</string>
<string name="debug_info_view_details">Vaata üksikasju</string>
<string name="debug_info_subtitle">Silumisteave on kogutud</string>
<string name="debug_info_involved_caption">Seotud teenused ja tarvikud</string>
<string name="debug_info_involved_subtitle">Probleemi või veaga seotud teave</string>
<string name="debug_info_involved_remote">Serveris asuvad teenused ja tarvikud:</string>
<string name="debug_info_involved_local">Kohalikus nutiseadmes teenused ja tarvikud:</string>
<string name="debug_info_logs_caption">Logid</string>
<string name="debug_info_logs_subtitle">Saadaval on üksikasjalikud logid</string>
<string name="debug_info_logs_view">Vaata logisid</string>
<string name="debug_info_copy_remote_url">Kopeeri võrguaadress</string>
<string name="debug_info_view_local_resource">Uuri ressurssi</string>
<string name="debug_info_privacy_warning_title">Privaatsusteade</string>
<string name="debug_info_privacy_warning_description">Logid ja veaotsingu teave võivad sisaldada privaatset teavet. Nende andmete avalikul jagamisel palun arvesta sellega.</string>
<string name="debug_info_can_not_view_resource">Ressurssi pole võimalik näha</string>
<!--ExceptionInfoFragment-->
<string name="debug_info_archive_caption">ZIP-arhiivifail</string>
<string name="debug_info_archive_subtitle">Sisaldab silumisteavet ja logisid</string>
<string name="debug_info_archive_text">Tõsta arhiiv uurimiseks arvutisse, saada huvilisele e-postiga või lisa veateatele meie veahalduses.</string>
<string name="debug_info_archive_share">Jaga arhiivi</string>
<string name="debug_info_attached">Sõnumile lisatud silumisteave (eeldab, et vastuvõttev rakendus oskab manuseid käsitleda).</string>
<string name="debug_info_http_error">HTTP-viga</string>
<string name="debug_info_server_error">Serveri viga</string>
<string name="debug_info_webdav_error">WebDAVi viga</string>
<string name="debug_info_io_error">Sisend-/väljundviga</string>
<string name="debug_info_http_403_description">Server keeldus päringule vastamast.</string>
<string name="debug_info_http_404_description">Päritud andmeressurssi ei leidu (enam).</string>
<string name="debug_info_http_405_description">Server ei võimalda antud päringu tüüpi kasutada või soovitud tegevust teha.</string>
<string name="debug_info_http_5xx_description">Tekkis serveripoolne viga. Palun võta ühendust serveri haldajaga.</string>
<string name="debug_info_unexpected_error">Tekkis ootamatu viga. Lisainfot leiad silumisteabest.</string>
<string name="debug_info_view_details">Vaata üksikasju</string>
<string name="debug_info_subtitle">Silumisteave on kogutud</string>
<string name="debug_info_involved_caption">Seotud teenused ja tarvikud</string>
<string name="debug_info_involved_subtitle">Probleemi või veaga seotud teave</string>
<string name="debug_info_involved_remote">Serveris asuvad teenused ja tarvikud:</string>
<string name="debug_info_involved_local">Kohalikus nutiseadmes teenused ja tarvikud:</string>
<string name="debug_info_logs_caption">Logid</string>
<string name="debug_info_logs_subtitle">Saadaval on üksikasjalikud logid</string>
<string name="debug_info_logs_view">Vaata logisid</string>
<string name="debug_info_copy_remote_url">Kopeeri võrguaadress</string>
<string name="debug_info_view_local_resource">Uuri ressurssi</string>
<string name="debug_info_privacy_warning_title">Privaatsusteade</string>
<string name="debug_info_privacy_warning_description">Logid ja veaotsingu teave võivad sisaldada privaatset teavet. Nende andmete avalikul jagamisel palun arvesta sellega.</string>
<string name="debug_info_can_not_view_resource">Ressurssi pole võimalik näha</string>
<!--ExceptionInfoFragment-->
<string name="exception">Tekkis viga.</string>
<string name="exception_httpexception">Tekkis http-viga.</string>
<string name="exception_ioexception">Tekkis sisend-väljundviga.</string>
<string name="exception_show_details">Näita üksikasju</string>
<!--WebDAV accounts-->
<string name="exception_httpexception">Tekkis http-viga.</string>
<string name="exception_ioexception">Tekkis sisend-väljundviga.</string>
<string name="exception_show_details">Näita üksikasju</string>
<!--WebDAV accounts-->
<string name="webdav_mounts_title">WebDAVi haakepunktid</string>
<string name="webdav_mounts_quota_used_available">Kasutatud mahukvoot: %1$s / saadaval: %2$s</string>
<string name="webdav_mounts_share_content">Jaga sisu</string>
<string name="webdav_mounts_unmount">Eemalda haakimine</string>
<string name="webdav_add_mount_title">Lisa WebDAVi haakepunkt</string>
<string name="webdav_mounts_empty">Otseligipääs sinu failidele WebDAVi haakepunktist!</string>
<string name="webdav_add_mount_empty_more_info"><![CDATA[Vaata juhendist <a href="%1$s">kuidas WebDAVi haakepunktid toimivad</a>.]]></string>
<string name="webdav_add_mount_display_name">Kuvatav nimi</string>
<string name="webdav_add_mount_url">WebDAVi võrguaadress</string>
<string name="webdav_add_mount_url_invalid">Vigane võrguaadress</string>
<string name="webdav_add_mount_mountpoint_displayname">Haakepunkt ja kuvatav nimi</string>
<string name="webdav_add_mount_authentication">Autentimine</string>
<string name="webdav_add_mount_username">Kasutajanimi</string>
<string name="webdav_add_mount_password">Salasõna</string>
<string name="webdav_add_mount_username_optional">Kasutajanimi (kui on vaja)</string>
<string name="webdav_add_mount_password_optional">Salasõna (kui on vaja)</string>
<string name="webdav_add_mount_add">Lisa haakepunkt</string>
<string name="webdav_add_mount_no_support">Sellel võrguaadressil ei leidu WebDAVi teenust</string>
<string name="webdav_remove_mount_title">Eemalda haakepunkt</string>
<string name="webdav_remove_mount_text">Ühenduse andmed lähevad kaotsi, aga ühtegi faili ei kustutata.</string>
<string name="webdav_notification_access">Ligipääs WebDAVi failile</string>
<string name="webdav_notification_download">Laadime WebDAVi faili alla</string>
<string name="webdav_notification_upload">Laadime WebDAVi faili üles</string>
<string name="webdav_provider_root_title">WebDAVi haakepunkt</string>
<!--sync-->
<string name="webdav_mounts_quota_used_available">Kasutatud mahukvoot: %1$s / saadaval: %2$s</string>
<string name="webdav_mounts_share_content">Jaga sisu</string>
<string name="webdav_mounts_unmount">Eemalda haakimine</string>
<string name="webdav_add_mount_title">Lisa WebDAVi haakepunkt</string>
<string name="webdav_mounts_empty">Otseligipääs sinu failidele WebDAVi haakepunktist!</string>
<string name="webdav_add_mount_empty_more_info"><![CDATA[Vaata juhendist <a href="%1$s">kuidas WebDAVi haakepunktid toimivad</a>.]]></string>
<string name="webdav_add_mount_display_name">Kuvatav nimi</string>
<string name="webdav_add_mount_url">WebDAVi võrguaadress</string>
<string name="webdav_add_mount_url_invalid">Vigane võrguaadress</string>
<string name="webdav_add_mount_mountpoint_displayname">Haakepunkt ja kuvatav nimi</string>
<string name="webdav_add_mount_authentication">Autentimine</string>
<string name="webdav_add_mount_username">Kasutajanimi</string>
<string name="webdav_add_mount_password">Salasõna</string>
<string name="webdav_add_mount_username_optional">Kasutajanimi (kui on vaja)</string>
<string name="webdav_add_mount_password_optional">Salasõna (kui on vaja)</string>
<string name="webdav_add_mount_add">Lisa haakepunkt</string>
<string name="webdav_add_mount_no_support">Sellel võrguaadressil ei leidu WebDAVi teenust</string>
<string name="webdav_remove_mount_title">Eemalda haakepunkt</string>
<string name="webdav_remove_mount_text">Ühenduse andmed lähevad kaotsi, aga ühtegi faili ei kustutata.</string>
<string name="webdav_notification_access">Ligipääs WebDAVi failile</string>
<string name="webdav_notification_download">Laadime WebDAVi faili alla</string>
<string name="webdav_notification_upload">Laadime WebDAVi faili üles</string>
<string name="webdav_provider_root_title">WebDAVi haakepunkt</string>
<!--sync-->
<string name="sync_error_permissions">DAVx⁵ õigused</string>
<string name="sync_error_permissions_text">Vajalikud on täiendavad õigused</string>
<string name="sync_error_tasks_too_old">%s on liiga vana</string>
<string name="sync_error_tasks_required_version">Väikseim nõutav versioon: %1$s</string>
<string name="sync_error_authentication_failed">Autentimine ei õnnestunud (kontrolli, et kasutajanimi/salasõna oleksid õiged)</string>
<string name="sync_error_io">Võrgu- või sisend/väljundviga %s</string>
<string name="sync_error_http_dav">HTTP serveri viga %s</string>
<string name="sync_error_local_storage">Kohaliku salvestusruumi viga %s</string>
<string name="sync_error_retry_limit_reached">Pehme viga (korduspäringute arvu ülempiir on käes)</string>
<string name="sync_invalid_contact">Saime serverist vigase kontaktikirje</string>
<string name="sync_invalid_event">Saime serverist vigase sündmusekirje</string>
<string name="sync_invalid_task">Saime serverist vigase ülesandekirje</string>
<string name="sync_invalid_resources_ignoring">Eirame ühte või enamat teenust või tarvikut</string>
<string name="sync_notification_pending_push_title">Sünkroniseerimine on ootel</string>
<string name="sync_notification_pending_push_message">Serveris olevad andmed on muutunud</string>
<!--widgets-->
<string name="sync_error_permissions_text">Vajalikud on täiendavad õigused</string>
<string name="sync_error_tasks_too_old">%s on liiga vana</string>
<string name="sync_error_tasks_required_version">Väikseim nõutav versioon: %1$s</string>
<string name="sync_error_authentication_failed">Autentimine ei õnnestunud (kontrolli, et kasutajanimi/salasõna oleksid õiged)</string>
<string name="sync_error_io">Võrgu- või sisend/väljundviga %s</string>
<string name="sync_error_http_dav">HTTP serveri viga %s</string>
<string name="sync_error_local_storage">Kohaliku salvestusruumi viga %s</string>
<string name="sync_error_retry_limit_reached">Pehme viga (korduspäringute arvu ülempiir on käes)</string>
<string name="sync_invalid_contact">Saime serverist vigase kontaktikirje</string>
<string name="sync_invalid_event">Saime serverist vigase sündmusekirje</string>
<string name="sync_invalid_task">Saime serverist vigase ülesandekirje</string>
<string name="sync_invalid_resources_ignoring">Eirame ühte või enamat teenust või tarvikut</string>
<string name="sync_notification_pending_push_title">Sünkroniseerimine on ootel</string>
<string name="sync_notification_pending_push_message">Serveris olevad andmed on muutunud</string>
<!--widgets-->
<string name="widget_sync_all">Sünkroniseeri kõik</string>
<string name="widget_sync_all_accounts">Sünkroniseeri kõik kasutajakontod</string>
<string name="widget_labeled_sync_label">Sildiga sünkroniseerimisnupp</string>
<string name="widget_icon_sync_label">Ikooniga sünkroniseerimisnupp</string>
<string name="widget_sync_description">Klõpsi sünkroniseerimise käsitsi käivitamiseks.</string>
<!--cert4android-->
<string name="widget_sync_all_accounts">Sünkroniseeri kõik kasutajakontod</string>
<string name="widget_labeled_sync_label">Sildiga sünkroniseerimisnupp</string>
<string name="widget_icon_sync_label">Ikooniga sünkroniseerimisnupp</string>
<string name="widget_sync_description">Klõpsi sünkroniseerimise käsitsi käivitamiseks.</string>
<!--cert4android-->
</resources>

View File

@@ -1,21 +1,19 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<!--common strings-->
<!--common strings-->
<string name="app_name">DAVx⁵</string>
<string name="account_title_address_book">DAVx⁵ Osoitekirja</string>
<string name="address_books_authority_title">Osoitekirjat</string>
<string name="help">Apua</string>
<string name="manage_accounts">Hallitse tilejä</string>
<string name="notification_channel_debugging">Debuggaus</string>
<string name="notification_channel_general">Muut tärkeät viestit</string>
<string name="notification_channel_sync">Synkronointi</string>
<string name="notification_channel_sync_errors">Synkronoinnin virheet</string>
<string name="notification_channel_sync_errors_desc">Huomattavat virheet jotka estävät synkronoinnin kuten palvelimen odottamattomat vastaukset </string>
<string name="notification_channel_sync_warnings">Synkronoinnin varoitukset</string>
<string name="notification_channel_sync_warnings_desc">Ei-kohtalokkaat synkronoinnin ongelmat kuten tietyt virheelliset tiedostot </string>
<string name="notification_channel_sync_io_errors">Verkko ja I/O virheet</string>
<string name="notification_channel_sync_io_errors_desc">Aikakatkaisut, yhteysvirheet, yms. (usein väliaikaisia)</string>
<!--IntroActivity-->
<string name="account_title_address_book">DAVx⁵ Osoitekirja</string>
<string name="help">Apua</string>
<string name="notification_channel_debugging">Debuggaus</string>
<string name="notification_channel_general">Muut tärkeät viestit</string>
<string name="notification_channel_sync">Synkronointi</string>
<string name="notification_channel_sync_errors">Synkronoinnin virheet</string>
<string name="notification_channel_sync_errors_desc">Huomattavat virheet jotka estävät synkronoinnin kuten palvelimen odottamattomat vastaukset </string>
<string name="notification_channel_sync_warnings">Synkronoinnin varoitukset</string>
<string name="notification_channel_sync_warnings_desc">Ei-kohtalokkaat synkronoinnin ongelmat kuten tietyt virheelliset tiedostot </string>
<string name="notification_channel_sync_io_errors">Verkko ja I/O virheet</string>
<string name="notification_channel_sync_io_errors_desc">Aikakatkaisut, yhteysvirheet, yms. (usein väliaikaisia)</string>
<!--IntroActivity-->
<!--PermissionsActivity-->
<!--WifiPermissionsActivity-->
<!--AboutActivity-->
@@ -27,14 +25,14 @@
<!--AccountActivity-->
<!--AddAccountActivity-->
<string name="login_type_email">Kirjaudu sähköpostilla</string>
<string name="login_email_address">Sähköpostiosoite</string>
<string name="login_password">Salasana</string>
<string name="login_type_url">Kirjaudu verkko-osoitteella ja käyttäjänimellä</string>
<string name="login_user_name">Käyttäjänimi</string>
<!--AccountSettingsActivity-->
<string name="login_email_address">Sähköpostiosoite</string>
<string name="login_password">Salasana</string>
<string name="login_type_url">Kirjaudu verkko-osoitteella ja käyttäjänimellä</string>
<string name="login_user_name">Käyttäjänimi</string>
<!--AccountSettingsActivity-->
<string name="settings_username">Käyttäjänimi</string>
<string name="settings_password">Salasana</string>
<!--collection management-->
<string name="settings_password">Salasana</string>
<!--collection management-->
<!--debugging and DebugInfoActivity-->
<!--ExceptionInfoFragment-->
<!--sync adapters-->

View File

@@ -1,413 +1,417 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<!--common strings-->
<!--common strings-->
<string name="account_invalid">ანგარიში (აღარ) არსებობს</string>
<string name="account_title_address_book">DAVx⁵ მისამართთა წიგნაკი</string>
<string name="dialog_delete">წაშლა</string>
<string name="dialog_remove">ამოშლა</string>
<string name="dialog_deny">გაუქმება</string>
<string name="field_required">ეს ველი სავალდებულოა</string>
<string name="help">დახმარება</string>
<string name="navigate_up">ზემოთ გადასვლა</string>
<string name="options_menu">ოპციების მენიუ</string>
<string name="share">გაზიარება</string>
<string name="sync_started">სინქრონიზაცია დაიწყა/დადგა რიგში</string>
<string name="database_destructive_migration_title">მონაცემთა ბაზა კორუმპირებულია</string>
<string name="database_destructive_migration_text">ყველა ანგარიში წაშლილ იქნა ადგილობრივად.</string>
<string name="notification_channel_debugging">დებაგი</string>
<string name="notification_channel_general">სხვა მნიშვნელოვანი შეტყობინებები</string>
<string name="notification_channel_status">დაბალი პრიორიტეტის სტატუსის შეტყობინებები</string>
<string name="notification_channel_sync">სინქრონიზაცია</string>
<string name="notification_channel_sync_errors">სინქრონიზაციის შეცდომები</string>
<string name="notification_channel_sync_errors_desc">მნიშვნელოვანი შეცდომები, რომლებიც აჩერებს სინქრონიზაციას, მაგ., მოულოდნელი სერვერის პასუხები</string>
<string name="notification_channel_sync_warnings">სინქრონიზაციის გაფრთხილებები</string>
<string name="notification_channel_sync_warnings_desc">არა-ლეტალური სინქრონიზაციის პრობლემები, როგორც ზოგი არასწორი ფაილი</string>
<string name="notification_channel_sync_io_errors">ქსელის ან ჩაწერა/წაკითხვის შეცდომები</string>
<string name="notification_channel_sync_io_errors_desc">ვადის გასვლა, კავშირის პრობლემები, სხვა (ხშირად დროებითი)</string>
<!--IntroActivity-->
<string name="account_title_address_book">DAVx⁵ მისამართთა წიგნაკი</string>
<string name="dialog_delete">წაშლა</string>
<string name="dialog_remove">ამოშლა</string>
<string name="dialog_deny">გაუქმება</string>
<string name="field_required">ეს ველი სავალდებულოა</string>
<string name="help">დახმარება</string>
<string name="navigate_up">ზემოთ გადასვლა</string>
<string name="options_menu">ოპციების მენიუ</string>
<string name="share">გაზიარება</string>
<string name="sync_started">სინქრონიზაცია დაიწყა/დადგა რიგში</string>
<string name="database_destructive_migration_title">მონაცემთა ბაზა კორუმპირებულია</string>
<string name="database_destructive_migration_text">ყველა ანგარიში წაშლილ იქნა ადგილობრივად.</string>
<string name="notification_channel_debugging">დებაგი</string>
<string name="notification_channel_general">სხვა მნიშვნელოვანი შეტყობინებები</string>
<string name="notification_channel_status">დაბალი პრიორიტეტის სტატუსის შეტყობინებები</string>
<string name="notification_channel_sync">სინქრონიზაცია</string>
<string name="notification_channel_sync_errors">სინქრონიზაციის შეცდომები</string>
<string name="notification_channel_sync_errors_desc">მნიშვნელოვანი შეცდომები, რომლებიც აჩერებს სინქრონიზაციას, მაგ., მოულოდნელი სერვერის პასუხები</string>
<string name="notification_channel_sync_warnings">სინქრონიზაციის გაფრთხილებები</string>
<string name="notification_channel_sync_warnings_desc">არა-ლეტალური სინქრონიზაციის პრობლემები, როგორც ზოგი არასწორი ფაილი</string>
<string name="notification_channel_sync_io_errors">ქსელის ან ჩაწერა/წაკითხვის შეცდომები</string>
<string name="notification_channel_sync_io_errors_desc">ვადის გასვლა, კავშირის პრობლემები, სხვა (ხშირად დროებითი)</string>
<!--IntroActivity-->
<string name="intro_slogan1">თქვენი მონაცემები. თქვენი არჩევანი.</string>
<string name="intro_slogan2">აიღეთ კონტროლი.</string>
<string name="intro_battery_title">რეგულარული სინქრონიზაციის ინტერვალები</string>
<string name="intro_battery_text">რეგულარული ინტერვალი სინქრონიზაციისთვის, %s-ს უნდა ჰქონდეს უფლება გაეშვას ფონურ რეჟიმში. სხვაგვარად, Android-მა შეიძლება ნებისმიერ მომენტში შეაჩეროს სინქრონიზაცია.</string>
<string name="intro_battery_dont_show">მე არ მჭირდება რეგულარული სინქრონიზაციის ინტერვალები.*</string>
<string name="intro_autostart_title">%s თავსებადობა</string>
<string name="intro_autostart_dont_show">მე შევცვალე საჭირო პარამეტრები. აღარ შემახსენოთ.*</string>
<string name="intro_leave_unchecked">* დატოვეთ მოუნიშნელად მოგვიანებით შესახსენებლად. შეიძლება ჩამოგდებულ იქნას აპის პარამეტრებში /%s.</string>
<string name="intro_more_info">მეტი ინფორმაცია</string>
<string name="intro_tasks_jtx">jtx Board</string>
<string name="intro_tasks_jtx_info"><![CDATA[Supports sync of Tasks, Journals and Notes.]]></string>
<string name="intro_tasks_title">დავალებების მხარდაჭერა</string>
<string name="intro_tasks_text1">თუ დავალებები მხარდაჭერილია თქვენი სერვერის მიერ, მათი სინქრონიზირება შეიძლება მხარდაჭერილი დავალებათა აპით:</string>
<string name="intro_tasks_opentasks">OpenTasks</string>
<string name="intro_tasks_opentasks_info">აღარ მიმდინარეობს განვითარება - არ არის რეკომენდებული.</string>
<string name="intro_tasks_tasks_org">Tasks.org</string>
<string name="intro_tasks_no_app_store">აპების მაღაზია ხელმიუწვდომია</string>
<string name="intro_tasks_dont_show">მე არ მჭირდება დავალებების მხარდაჭერა.*</string>
<string name="intro_open_source_title">ღია კოდის პროგრამული უზრუნველყოფა</string>
<string name="intro_open_source_text">კმაყოფილები ვართ, რომ იყენებთ %s-ს, რომელიც ღია კოდის პროგრამული უზრუნველყოფაა. განვითარება და მხარდაჭერა რთული სამუშაო. გთხოვთ, გაითვალისწინოთ წილის შეტანა (მრავალი გზა არსებობს) ან ფულის ჩუქბეა. ძალიან მადლობელი ვიქნებით!</string>
<string name="intro_open_source_details">როგორ შევიტანო წვლილი/დაგეხმაროთ</string>
<!--PermissionsActivity-->
<string name="intro_slogan2">აიღეთ კონტროლი.</string>
<string name="intro_battery_title">რეგულარული სინქრონიზაციის ინტერვალები</string>
<string name="intro_battery_text">რეგულარული ინტერვალი სინქრონიზაციისთვის, %s-ს უნდა ჰქონდეს უფლება გაეშვას ფონურ რეჟიმში. სხვაგვარად, Android-მა შეიძლება ნებისმიერ მომენტში შეაჩეროს სინქრონიზაცია.</string>
<string name="intro_battery_dont_show">მე არ მჭირდება რეგულარული სინქრონიზაციის ინტერვალები.*</string>
<string name="intro_autostart_title">%s თავსებადობა</string>
<string name="intro_autostart_dont_show">მე შევცვალე საჭირო პარამეტრები. აღარ შემახსენოთ.*</string>
<string name="intro_leave_unchecked">* დატოვეთ მოუნიშნელად მოგვიანებით შესახსენებლად. შეიძლება ჩამოგდებულ იქნას აპის პარამეტრებში /%s.</string>
<string name="intro_more_info">მეტი ინფორმაცია</string>
<string name="intro_tasks_jtx">jtx Board</string>
<string name="intro_tasks_jtx_info"><![CDATA[Supports sync of Tasks, Journals and Notes.]]></string>
<string name="intro_tasks_title">დავალებების მხარდაჭერა</string>
<string name="intro_tasks_text1">თუ დავალებები მხარდაჭერილია თქვენი სერვერის მიერ, მათი სინქრონიზირება შეიძლება მხარდაჭერილი დავალებათა აპით:</string>
<string name="intro_tasks_opentasks">OpenTasks</string>
<string name="intro_tasks_opentasks_info">აღარ მიმდინარეობს განვითარება - არ არის რეკომენდებული.</string>
<string name="intro_tasks_tasks_org">Tasks.org</string>
<string name="intro_tasks_no_app_store">აპების მაღაზია ხელმიუწვდომია</string>
<string name="intro_tasks_dont_show">მე არ მჭირდება დავალებების მხარდაჭერა.*</string>
<string name="intro_open_source_title">ღია კოდის პროგრამული უზრუნველყოფა</string>
<string name="intro_open_source_text">კმაყოფილები ვართ, რომ იყენებთ %s-ს, რომელიც ღია კოდის პროგრამული უზრუნველყოფაა. განვითარება და მხარდაჭერა რთული სამუშაო. გთხოვთ, გაითვალისწინოთ წილის შეტანა (მრავალი გზა არსებობს) ან ფულის ჩუქბეა. ძალიან მადლობელი ვიქნებით!</string>
<string name="intro_open_source_details">როგორ შევიტანო წვლილი/დაგეხმაროთ</string>
<!--PermissionsActivity-->
<string name="permissions_title">უფლებები</string>
<string name="permissions_text">%s-ს სჭირდება უფლებები სწორად სამუშაოდ.</string>
<string name="permissions_all_title">ყველა ქვემოთ მოცემული</string>
<string name="permissions_all_status_off">გამოიყენეთ ეს ყველა ფუნქციის ჩასართავად (რეკომენდებული)</string>
<string name="permissions_all_status_on">ყველა უფლება დართულია</string>
<string name="permissions_contacts_title">კონტაქტების უფლებები</string>
<string name="permissions_contacts_status_off">კონტაქტის სინქრონიზაციის გარეშე (არა რეკომენდებული)</string>
<string name="permissions_contacts_status_on">კონტაქტის სინქრონიზაცია შესაძლებელია</string>
<string name="permissions_calendar_title">კალენდარის უფლებები</string>
<string name="permissions_calendar_status_off">კალენდარის სინქრონიზაციის გარეშე (არა რეკომენდებული)</string>
<string name="permissions_calendar_status_on">კალენდარის სინქრონიზაცია შესაძლებელია</string>
<string name="permissions_notification_title">შეტყობინებების უფლება</string>
<string name="permissions_notification_status_off">შეტყობინებები გათიშულია (არა რეკომენდებული)</string>
<string name="permissions_notification_status_on">შეტყობინებები ჩართლია</string>
<string name="permissions_jtx_title">jtx Board-ის უფლებები</string>
<string name="permissions_opentasks_title">OpenTasks-ის უფლებები</string>
<string name="permissions_tasksorg_title">დავალებების უფლებები</string>
<string name="permissions_tasks_status_off">დავალებების სინქრონიზაციის გარეშე</string>
<string name="permissions_tasks_status_on">დავალებების სინქრონიზაცია შესაძლებელია</string>
<string name="permissions_autoreset_title">Keep-ის უფლებები</string>
<string name="permissions_autoreset_status_off">უფლებები შეიძლება ავტომატურად ჩამოიყაროს (არა რეკომენდებული)</string>
<string name="permissions_autoreset_status_on">უფლებები ავტომატურად არ ჩამოიყრება</string>
<string name="permissions_autoreset_instruction">შეამოწმეთ უფლებები &gt; მოხსენით \"უფლებების ამოშლა, თუ აპი არ გამოიყენება\"-ს მონიშვნა</string>
<string name="permissions_app_settings_hint">თუ გადამრთველი არ მუშაობს, გამოიყენეთ აპის პარამეტრები / უფლებები.</string>
<string name="permissions_app_settings">აპის პარამეტრები</string>
<!--WifiPermissionsActivity-->
<string name="permissions_text">%s-ს სჭირდება უფლებები სწორად სამუშაოდ.</string>
<string name="permissions_all_title">ყველა ქვემოთ მოცემული</string>
<string name="permissions_all_status_off">გამოიყენეთ ეს ყველა ფუნქციის ჩასართავად (რეკომენდებული)</string>
<string name="permissions_all_status_on">ყველა უფლება დართულია</string>
<string name="permissions_contacts_title">კონტაქტების უფლებები</string>
<string name="permissions_contacts_status_off">კონტაქტის სინქრონიზაციის გარეშე (არა რეკომენდებული)</string>
<string name="permissions_contacts_status_on">კონტაქტის სინქრონიზაცია შესაძლებელია</string>
<string name="permissions_calendar_title">კალენდარის უფლებები</string>
<string name="permissions_calendar_status_off">კალენდარის სინქრონიზაციის გარეშე (არა რეკომენდებული)</string>
<string name="permissions_calendar_status_on">კალენდარის სინქრონიზაცია შესაძლებელია</string>
<string name="permissions_notification_title">შეტყობინებების უფლება</string>
<string name="permissions_notification_status_off">შეტყობინებები გათიშულია (არა რეკომენდებული)</string>
<string name="permissions_notification_status_on">შეტყობინებები ჩართლია</string>
<string name="permissions_jtx_title">jtx Board-ის უფლებები</string>
<string name="permissions_opentasks_title">OpenTasks-ის უფლებები</string>
<string name="permissions_tasksorg_title">დავალებების უფლებები</string>
<string name="permissions_tasks_status_off">დავალებების სინქრონიზაციის გარეშე</string>
<string name="permissions_tasks_status_on">დავალებების სინქრონიზაცია შესაძლებელია</string>
<string name="permissions_autoreset_title">Keep-ის უფლებები</string>
<string name="permissions_autoreset_status_off">უფლებები შეიძლება ავტომატურად ჩამოიყაროს (არა რეკომენდებული)</string>
<string name="permissions_autoreset_status_on">უფლებები ავტომატურად არ ჩამოიყრება</string>
<string name="permissions_autoreset_instruction">შეამოწმეთ უფლებები &gt; მოხსენით \"უფლებების ამოშლა, თუ აპი არ გამოიყენება\"-ს მონიშვნა</string>
<string name="permissions_app_settings_hint">თუ გადამრთველი არ მუშაობს, გამოიყენეთ აპის პარამეტრები / უფლებები.</string>
<string name="permissions_app_settings">აპის პარამეტრები</string>
<!--WifiPermissionsActivity-->
<string name="wifi_permissions_label">WiFi SSID-ს უფლებები</string>
<string name="wifi_permissions_intro">რათა მიწვდეთ მიმდინარე WiFi-ს სახელს (SSID), ეს პირობები უნდა შესრულდეს:</string>
<string name="wifi_permissions_location_permission">ზუსტი ადგილმდებარეობის უფლება</string>
<string name="wifi_permissions_location_permission_on">ადგილმდებარეობის უფლება დართულია</string>
<string name="wifi_permissions_location_permission_off">ადგილმდებარეობის უფლება უარყოფილია</string>
<string name="wifi_permissions_background_location_permission">ფონური ადგილმდებარეობის უფლება</string>
<string name="wifi_permissions_background_location_permission_label">ყოველთვის დაშვება</string>
<string name="wifi_permissions_background_location_permission_on">ადგილმდებარეობის უფლების მნიშვნელობა: %s</string>
<string name="wifi_permissions_background_location_permission_off">ადგილმდებარეობის უფლება არ არის შემდეგი: %s</string>
<string name="wifi_permissions_location_enabled">ადგილმდებარეობა ყოველთვის ჩართულია</string>
<string name="wifi_permissions_location_enabled_on">ადგილმდებარეობის სერვისი ჩართულია</string>
<string name="wifi_permissions_location_enabled_off">ადგილმდებარეობის სერვისი გათიშულია</string>
<!--AboutActivity-->
<string name="wifi_permissions_intro">რათა მიწვდეთ მიმდინარე WiFi-ს სახელს (SSID), ეს პირობები უნდა შესრულდეს:</string>
<string name="wifi_permissions_location_permission">ზუსტი ადგილმდებარეობის უფლება</string>
<string name="wifi_permissions_location_permission_on">ადგილმდებარეობის უფლება დართულია</string>
<string name="wifi_permissions_location_permission_off">ადგილმდებარეობის უფლება უარყოფილია</string>
<string name="wifi_permissions_background_location_permission">ფონური ადგილმდებარეობის უფლება</string>
<string name="wifi_permissions_background_location_permission_label">ყოველთვის დაშვება</string>
<string name="wifi_permissions_background_location_permission_on">ადგილმდებარეობის უფლების მნიშვნელობა: %s</string>
<string name="wifi_permissions_background_location_permission_off">ადგილმდებარეობის უფლება არ არის შემდეგი: %s</string>
<string name="wifi_permissions_location_enabled">ადგილმდებარეობა ყოველთვის ჩართულია</string>
<string name="wifi_permissions_location_enabled_on">ადგილმდებარეობის სერვისი ჩართულია</string>
<string name="wifi_permissions_location_enabled_off">ადგილმდებარეობის სერვისი გათიშულია</string>
<!--AboutActivity-->
<string name="about_translations">თარგმანი</string>
<string name="about_libraries">ბიბლიოთეკები</string>
<string name="about_version">ვერსია %1$s (%2$d)</string>
<string name="about_copyright">© Ricki Hirner, Bernhard Stockmann (bitfire web engineering GmbH) და მონაწილეები</string>
<string name="about_license_info_no_warranty">ამ პროგრამას არ აქვს არანაირი გარანტია. იგი არის უფასო პროგრამული უზრუნველყოფა, ხოლო თქვენ შეგეძლეიათ იგი გაავრცელოთ გარკვეული პირობების გათვალისწინებით.</string>
<!--global settings-->
<string name="about_libraries">ბიბლიოთეკები</string>
<string name="about_version">ვერსია %1$s (%2$d)</string>
<string name="about_copyright">© Ricki Hirner, Bernhard Stockmann (bitfire web engineering GmbH) და მონაწილეები</string>
<string name="about_license_info_no_warranty">ამ პროგრამას არ აქვს არანაირი გარანტია. იგი არის უფასო პროგრამული უზრუნველყოფა, ხოლო თქვენ შეგეძლეიათ იგი გაავრცელოთ გარკვეული პირობების გათვალისწინებით.</string>
<!--global settings-->
<string name="logging_couldnt_create_file">ჟურნალის ფაილი ვერ შეიქმნა</string>
<string name="logging_notification_text">აწი მიმდინარეობს ყველა %s აქტივობის ჟურნალში ჩაწერა</string>
<string name="logging_notification_view_share">ნახვა/გაზიარება</string>
<string name="logging_notification_disable">გათიშვა</string>
<!--AccountsScreen-->
<string name="logging_notification_text">აწი მიმდინარეობს ყველა %s აქტივობის ჟურნალში ჩაწერა</string>
<string name="logging_notification_view_share">ნახვა/გაზიარება</string>
<string name="logging_notification_disable">გათიშვა</string>
<!--AccountsScreen-->
<string name="navigation_drawer_subtitle">CalDAV/CardDAV სინქრონიზაციის ადაპტერი</string>
<string name="navigation_drawer_about">შესახებ / ლიცენზია</string>
<string name="navigation_drawer_beta_feedback">ბეტას უკუკავშირი</string>
<string name="install_browser">გთხოვთ, დააყენოთ ვებ ბრაუზერი</string>
<string name="navigation_drawer_settings">პარამეტრები</string>
<string name="navigation_drawer_news_updates">ახალი ამბები &amp; განახლებები</string>
<string name="navigation_drawer_tools">ხელსაწყოები</string>
<string name="navigation_drawer_external_links">გარე ბმულები</string>
<string name="navigation_drawer_website">ვებ საიტი</string>
<string name="navigation_drawer_manual">ინსტრუქცია</string>
<string name="navigation_drawer_faq">ხდკ</string>
<string name="navigation_drawer_community">საზოგადოება</string>
<string name="navigation_drawer_support_project">პროექტის მხარდაჭერა</string>
<string name="navigation_drawer_contribute">როგორ შევიტანო ღვაწლი</string>
<string name="navigation_drawer_privacy_policy">პირადულობის პოლიტიკა</string>
<string name="accounts_sync_all">ყველა ანგარიშის სინქრონიზაცია</string>
<!--Sync warnings-->
<string name="navigation_drawer_about">შესახებ / ლიცენზია</string>
<string name="navigation_drawer_beta_feedback">ბეტას უკუკავშირი</string>
<string name="install_browser">გთხოვთ, დააყენოთ ვებ ბრაუზერი</string>
<string name="navigation_drawer_settings">პარამეტრები</string>
<string name="navigation_drawer_news_updates">ახალი ამბები &amp; განახლებები</string>
<string name="navigation_drawer_tools">ხელსაწყოები</string>
<string name="navigation_drawer_external_links">გარე ბმულები</string>
<string name="navigation_drawer_website">ვებ საიტი</string>
<string name="navigation_drawer_manual">ინსტრუქცია</string>
<string name="navigation_drawer_faq">ხდკ</string>
<string name="navigation_drawer_community">საზოგადოება</string>
<string name="navigation_drawer_support_project">პროექტის მხარდაჭერა</string>
<string name="navigation_drawer_contribute">როგორ შევიტანო ღვაწლი</string>
<string name="navigation_drawer_privacy_policy">პირადულობის პოლიტიკა</string>
<string name="accounts_sync_all">ყველა ანგარიშის სინქრონიზაცია</string>
<!--Sync warnings-->
<string name="sync_warning_no_notification_permission">შეტყობინებები გათიშული. თქვენ არ მიიღებთ შეტყობინებებს სიქნრონიზაციის შეცდომების შესახებ.</string>
<string name="sync_warning_manage_connections">კავშირების მართვა</string>
<string name="sync_warning_datasaver_enabled">გააქტიურებულია მონაცემთა შემნახველი. ფონური სინქრონიზაცია შეზღუდულია.</string>
<string name="sync_warning_manage_datasaver">მონაცემთა შემნახველის მართვა</string>
<string name="sync_warning_battery_saver_enabled">გფააქტიურებულია კვების ელემენტის შემნახველი. სინქრონიზაცია შეიძლება შეზღუდულ იქნას.</string>
<string name="sync_warning_manage_battery_saver">კვების ელემენტის შემნახველის მართვა</string>
<string name="sync_warning_low_storage">მეხსიერება ცოტა დარჩა. Android არ დაასინქრონიზირებს ადგილობრივ ცვლილებებს დაუყონებლივ, ხოლო დაასინქრონიზირებს შემდეგი რეგულარული სინქრონიზაციის დროს.</string>
<string name="sync_warning_manage_storage">მეხსიერების მართვა</string>
<!--RefreshCollectionsWorker-->
<string name="sync_warning_manage_connections">კავშირების მართვა</string>
<string name="sync_warning_datasaver_enabled">გააქტიურებულია მონაცემთა შემნახველი. ფონური სინქრონიზაცია შეზღუდულია.</string>
<string name="sync_warning_manage_datasaver">მონაცემთა შემნახველის მართვა</string>
<string name="sync_warning_battery_saver_enabled">გფააქტიურებულია კვების ელემენტის შემნახველი. სინქრონიზაცია შეიძლება შეზღუდულ იქნას.</string>
<string name="sync_warning_manage_battery_saver">კვების ელემენტის შემნახველის მართვა</string>
<string name="sync_warning_low_storage">მეხსიერება ცოტა დარჩა. Android არ დაასინქრონიზირებს ადგილობრივ ცვლილებებს დაუყონებლივ, ხოლო დაასინქრონიზირებს შემდეგი რეგულარული სინქრონიზაციის დროს.</string>
<string name="sync_warning_manage_storage">მეხსიერების მართვა</string>
<!--RefreshCollectionsWorker-->
<string name="refresh_collections_worker_refresh_failed">სერვისის აღმოჩენა ჩაიშალა</string>
<string name="refresh_collections_worker_refresh_couldnt_refresh">კოლექციათა სიის განახლება ვერ მოხერხდა</string>
<!--Foreground service used by WorkManager on Android <12-->
<string name="refresh_collections_worker_refresh_couldnt_refresh">კოლექციათა სიის განახლება ვერ მოხერხდა</string>
<!--Foreground service used by WorkManager on Android <12-->
<string name="foreground_service_notify_title">მუშაობს ფონში</string>
<string name="foreground_service_notify_text">ზოგ მოწყობილობაზე, ეს საჭიროა ავტომატური სინქრონიზაციისთვის.</string>
<!--AppSettingsActivity-->
<string name="foreground_service_notify_text">ზოგ მოწყობილობაზე, ეს საჭიროა ავტომატური სინქრონიზაციისთვის.</string>
<!--AppSettingsActivity-->
<string name="app_settings">პარამეტრები</string>
<string name="app_settings_debug">დებაგი</string>
<string name="app_settings_show_debug_info">დებაგის ინფორმაციის ჩვენება</string>
<string name="app_settings_logging">დეტალური ჟურნალში ჩაწერა</string>
<string name="app_settings_logging_off">ჟურნალში ჩაწერა გათიშულია</string>
<string name="app_settings_battery_optimization">კვების ელემენტის ოპტიმიზაცია</string>
<string name="app_settings_battery_optimization_exempted">აპი გამორიცხულია (რეკომენდებულია)</string>
<string name="app_settings_battery_optimization_optimized">გამოიყენება კვების ელემენტის შეზღუდვები (არა რეკომენდებულია)</string>
<string name="app_settings_connection">კავშირი</string>
<string name="app_settings_proxy">პროქსის ტიპი</string>
<string-array name="app_settings_proxy_types">
<item>ნაგულისხმევი სისტემის მიერ</item>
<item>პროქსის გარეშე</item>
<item>HTTP3</item>
<item>SOCKS (Orbot-სთვის)</item>
</string-array>
<string name="app_settings_proxy_host">პროქსის ჰოსტის სახელი</string>
<string name="app_settings_proxy_port">პროქსის პორტი</string>
<string name="app_settings_security">უსაფრთხოება</string>
<string name="app_settings_security_app_permissions">აპის ეფლებები</string>
<string name="app_settings_security_app_permissions_summary">გადახედეთ სინქრონიზაციისთვის საჭირო ეფლებებს</string>
<string name="app_settings_distrust_system_certs">სისტემური სერთიფიკატების ნდობის გაუქმება</string>
<string name="app_settings_distrust_system_certs_on">სისტემური და მომხმარებლის მიერ დამატებული სერთიფიცირების ავტორიტეტების ნდობა არ იქნება</string>
<string name="app_settings_distrust_system_certs_off">სისტემური და მომხმარებლის მიერ დამატებული სერთიფიცირების ავტორიტეტების ნდობა იქნება (რეკომენდებული)</string>
<string name="app_settings_reset_certificates">(არა) ნდობითი სერთიფიკატების ჩამოყრა</string>
<string name="app_settings_reset_certificates_summary">ნდობის ჩამოყრა ყველა კერძო სერთიფიკატზე</string>
<string name="app_settings_reset_certificates_success">ყველა კერძო სერთიფიკატი გასუფთავდა</string>
<string name="app_settings_user_interface">მომხმარებლის ინტერფეისი</string>
<string name="app_settings_notification_settings">შეტყობინებების პარამეტრები</string>
<string name="app_settings_notification_settings_summary">შეტყობინებების არხების და პარამეტრების მართვა</string>
<string name="app_settings_theme_title">აირჩიეთ თემა</string>
<string-array name="app_settings_theme_names">
<item>სისტემის მიერ ნაგულისხმევი</item>
<item>ღია</item>
<item>მუქი</item>
</string-array>
<string name="app_settings_reset_hints">მითითებების ჩამოყრა</string>
<string name="app_settings_reset_hints_summary">თავიდან ააქტიურებს მითითებებს, რომლებიც დამალულ იქნა წარსულში</string>
<string name="app_settings_reset_hints_success">ყველა მითითება თავიდან იქნება ნაჩვენები</string>
<string name="app_settings_integration">ინტეგრაცია</string>
<string name="app_settings_tasks_provider">დავალებათა აპი</string>
<string name="app_settings_tasks_provider_none">თავსებადი დავალებათა აპი ვერ მოიძებნა</string>
<!--AccountScreen-->
<string name="app_settings_debug">დებაგი</string>
<string name="app_settings_show_debug_info">დებაგის ინფორმაციის ჩვენება</string>
<string name="app_settings_logging">დეტალური ჟურნალში ჩაწერა</string>
<string name="app_settings_logging_off">ჟურნალში ჩაწერა გათიშულია</string>
<string name="app_settings_battery_optimization">კვების ელემენტის ოპტიმიზაცია</string>
<string name="app_settings_battery_optimization_exempted">აპი გამორიცხულია (რეკომენდებულია)</string>
<string name="app_settings_battery_optimization_optimized">გამოიყენება კვების ელემენტის შეზღუდვები (არა რეკომენდებულია)</string>
<string name="app_settings_connection">კავშირი</string>
<string name="app_settings_proxy">პროქსის ტიპი</string>
<string-array name="app_settings_proxy_types">
<item>ნაგულისხმევი სისტემის მიერ</item>
<item>პროქსის გარეშე</item>
<item>HTTP3</item>
<item>SOCKS (Orbot-სთვის)</item>
</string-array>
<string name="app_settings_proxy_host">პროქსის ჰოსტის სახელი</string>
<string name="app_settings_proxy_port">პროქსის პორტი</string>
<string name="app_settings_security">უსაფრთხოება</string>
<string name="app_settings_security_app_permissions">აპის ეფლებები</string>
<string name="app_settings_security_app_permissions_summary">გადახედეთ სინქრონიზაციისთვის საჭირო ეფლებებს</string>
<string name="app_settings_distrust_system_certs">სისტემური სერთიფიკატების ნდობის გაუქმება</string>
<string name="app_settings_distrust_system_certs_on">სისტემური და მომხმარებლის მიერ დამატებული სერთიფიცირების ავტორიტეტების ნდობა არ იქნება</string>
<string name="app_settings_distrust_system_certs_off">სისტემური და მომხმარებლის მიერ დამატებული სერთიფიცირების ავტორიტეტების ნდობა იქნება (რეკომენდებული)</string>
<string name="app_settings_reset_certificates">(არა) ნდობითი სერთიფიკატების ჩამოყრა</string>
<string name="app_settings_reset_certificates_summary">ნდობის ჩამოყრა ყველა კერძო სერთიფიკატზე</string>
<string name="app_settings_reset_certificates_success">ყველა კერძო სერთიფიკატი გასუფთავდა</string>
<string name="app_settings_user_interface">მომხმარებლის ინტერფეისი</string>
<string name="app_settings_notification_settings">შეტყობინებების პარამეტრები</string>
<string name="app_settings_notification_settings_summary">შეტყობინებების არხების და პარამეტრების მართვა</string>
<string name="app_settings_theme_title">აირჩიეთ თემა</string>
<string-array name="app_settings_theme_names">
<item>სისტემის მიერ ნაგულისხმევი</item>
<item>ღია</item>
<item>მუქი</item>
</string-array>
<string name="app_settings_reset_hints">მითითებების ჩამოყრა</string>
<string name="app_settings_reset_hints_summary">თავიდან ააქტიურებს მითითებებს, რომლებიც დამალულ იქნა წარსულში</string>
<string name="app_settings_reset_hints_success">ყველა მითითება თავიდან იქნება ნაჩვენები</string>
<string name="app_settings_integration">ინტეგრაცია</string>
<string name="app_settings_tasks_provider">დავალებათა აპი</string>
<string name="app_settings_tasks_provider_none">თავსებადი დავალებათა აპი ვერ მოიძებნა</string>
<!--AccountScreen-->
<string name="account_carddav">CardDAV</string>
<string name="account_caldav">CalDAV</string>
<string name="account_webcal">Webcal</string>
<string name="account_missing_permissions">საჭიროა დამატებითი უფლებები ამ კოლექციების სინქრონიზაციისთვის.</string>
<string name="account_manage_permissions">უფლებების მართვა</string>
<string name="account_synchronize_now">ახლავე სინქრონიზირება</string>
<string name="account_settings">ანგარიშის პარამეტრები</string>
<string name="account_rename">ანგარიშის სახელის შეცვლა</string>
<string name="account_rename_new_name_description">შეუნახავი ადგილობრივი მონაცემები შეიძლება გაუქმებულ იქნას. საჭიროა თავიდან სინქრონიზირება სახელის შეცვლის შემდეგ.</string>
<string name="account_rename_new_name">ახალი ანგარიშის სახელი</string>
<string name="account_rename_rename">სახელის შეცვლა</string>
<string name="account_rename_exists_already">ანგარიშის სახელი უკვე დაკავებულია</string>
<string name="account_rename_couldnt_rename">ანგარიშის სახელის შეცვლა ვერ მოხერხდა</string>
<string name="account_delete">ანგარიშის წაშლა</string>
<string name="account_delete_confirmation_title">მართლა წაიშალოს ანგარიში?</string>
<string name="account_delete_confirmation_text">წაიშლება მისამართთა წიგნაკების, კალენდრების და დავალებათა სიების ყველა ადგილობრივი ასლი.</string>
<string name="account_synchronize_this_collection">ამ კოლექციის სინქრონიზირება</string>
<string name="account_read_only">მხოლოდ წაკითხვადი</string>
<string name="account_calendar">კალენდარი</string>
<string name="account_contacts">კონტაქტები</string>
<string name="account_journal">ჟურნალი</string>
<string name="account_task_list">დავალებები</string>
<string name="account_only_personal">მხოლოდ პირადის ჩვენება</string>
<string name="account_refresh_collections">სიის განახლება</string>
<string name="account_webcal_external_app">Webcal გამოწერები შეიძ₾ება სინქრონიზირებულ იქნას გარე აპებთან.</string>
<string name="account_no_webcal_handler_found">Webcal-თან თავსებადი აპი ვერ მოიძებნა</string>
<string name="account_install_icsx5">ICSx⁵-ს დაყენება</string>
<!--AddAccountActivity-->
<string name="account_caldav">CalDAV</string>
<string name="account_webcal">Webcal</string>
<string name="account_missing_permissions">საჭიროა დამატებითი უფლებები ამ კოლექციების სინქრონიზაციისთვის.</string>
<string name="account_manage_permissions">უფლებების მართვა</string>
<string name="account_synchronize_now">ახლავე სინქრონიზირება</string>
<string name="account_settings">ანგარიშის პარამეტრები</string>
<string name="account_rename">ანგარიშის სახელის შეცვლა</string>
<string name="account_rename_new_name_description">შეუნახავი ადგილობრივი მონაცემები შეიძლება გაუქმებულ იქნას. საჭიროა თავიდან სინქრონიზირება სახელის შეცვლის შემდეგ.</string>
<string name="account_rename_new_name">ახალი ანგარიშის სახელი</string>
<string name="account_rename_rename">სახელის შეცვლა</string>
<string name="account_rename_exists_already">ანგარიშის სახელი უკვე დაკავებულია</string>
<string name="account_rename_couldnt_rename">ანგარიშის სახელის შეცვლა ვერ მოხერხდა</string>
<string name="account_delete">ანგარიშის წაშლა</string>
<string name="account_delete_confirmation_title">მართლა წაიშალოს ანგარიში?</string>
<string name="account_delete_confirmation_text">წაიშლება მისამართთა წიგნაკების, კალენდრების და დავალებათა სიების ყველა ადგილობრივი ასლი.</string>
<string name="account_synchronize_this_collection">ამ კოლექციის სინქრონიზირება</string>
<string name="account_read_only">მხოლოდ წაკითხვადი</string>
<string name="account_calendar">კალენდარი</string>
<string name="account_contacts">კონტაქტები</string>
<string name="account_journal">ჟურნალი</string>
<string name="account_task_list">დავალებები</string>
<string name="account_only_personal">მხოლოდ პირადის ჩვენება</string>
<string name="account_refresh_collections">სიის განახლება</string>
<string name="account_webcal_external_app">Webcal გამოწერები შეიძ₾ება სინქრონიზირებულ იქნას გარე აპებთან.</string>
<string name="account_no_webcal_handler_found">Webcal-თან თავსებადი აპი ვერ მოიძებნა</string>
<string name="account_install_icsx5">ICSx⁵-ს დაყენება</string>
<!--AddAccountActivity-->
<string name="login_title">ანგარიშის დამატება</string>
<string name="login_generic_login">ზოგადი შესვლა</string>
<string name="login_provider_login">პროვაიდერის შესვლა</string>
<string name="login_continue">გაგრძელება</string>
<string name="login_login">შესვლა</string>
<string name="login_type_email">ელ. ფოსტის მისამართით შესვლა</string>
<string name="login_email_address">ელ. ფოსტის მისამართი</string>
<string name="login_email_address_error">საჭიროა სწორი ელ. ფოსტის მისამართი</string>
<string name="login_email_address_info"><![CDATA[ელ. ფოსტის დომენი გამოიყენება საბაზო URL-ად. <a href="%s">აღმოჩენილია სერვისები</a> DNS ჩანაწერების და კარგად ცნობილი URL-ების მეშვეობით.]]></string>
<string name="login_password">პაროლი</string>
<string name="login_password_hide">პაროლის დამალვა</string>
<string name="login_password_show">პაროლის ჩვენება</string>
<string name="login_type_url">URL-ით და მომხმარებლის სახელით შესვლა</string>
<string name="login_user_name">მომხმარებლის სახელი</string>
<string name="login_base_url">საბაზო URL</string>
<string name="login_base_url_info"><![CDATA[საბაზო URL-ი პირადპირ იქნება შემოწმებული, მაგრამ <a href="%s">ასევე აღმოჩენილია სერვისები</a> DNS ჩანაწერების და კარგად ცნობილი URL-ების მეშვეობით.]]></string>
<string name="login_select_certificate">სერტიფიკატის არჩევა</string>
<string name="login_add_account">ანგარიშის დამატება</string>
<string name="login_account_name">ანგარიშის სახელი</string>
<string name="login_account_avoid_apostrophe">აპოსტროფების (\') გამოყენება იწვევს პრობლემებს ზოგ მოწყობილობაზე.</string>
<string name="login_account_name_info">გამოიყენეთ თქვენი ელ. ფოსტის მსიამართი ანგარიშის სახელად, რადგან Android გამოიყენებს ანგარიშის სახელს ორგანიზატორის ველში თქვენს მიერ შექმნილ ღონისძიებებისთვის. თქვენ არ შეიძლება გქონდეთ ორი ანგარიში იგივე სახელით.</string>
<string name="login_account_contact_group_method">კონტაქტების დაჯგუფების მეთოდი:</string>
<string name="login_account_name_required">საჭიროა ანგარიშის სახელი</string>
<string name="login_account_name_already_taken">ანგარიშის სახელი უკვე დაკავებულია</string>
<string name="login_type_advanced">გაფართოებული შესვლა</string>
<string name="login_client_certificate_selected">კლიენტის სერტიფიკატი: %s</string>
<string name="login_no_certificate_found">სერტიფიკატი ვერ მოიძებნა</string>
<string name="login_install_certificate">სერტიფიკატის დაყენება</string>
<string name="login_type_google">Google კონტაქტები / კალენდარი</string>
<string name="login_google_account">Google ანგარიში</string>
<string name="login_google">Google-ით შესვლა</string>
<string name="login_google_client_id">კლიენტის ID (aრასავალდებულო)</string>
<string name="login_google_client_privacy_policy"><![CDATA[%1$sგადასცემს თქვენს Google კონტაქტებისა და კალენდარის მონაცემებს მხოლოდ სინქრონიზაციისთვის ამ მოწყობილობასთან. იხილეთ ჩვენი <a href="%2$s">პირადულობის პოლიტიკა</a> დეტალებისთვის.]]></string>
<string name="login_google_client_limited_use"><![CDATA[%1$s ექვემდებარება <a href="%2$s">Google API სერვისების მომხმარებელთა მონაცემების პოლიტიკას</a>, მათ შორის, შეზღუდული გამოყენების მოთხოვნებს.]]></string>
<string name="login_oauth_couldnt_obtain_auth_code">ავტორიზაციის კოდის მიღება ვერ მოხერხდა</string>
<string name="login_type_nextcloud">Nextcloud</string>
<string name="login_nextcloud_login_with_nextcloud">შესვლა Nextcloud-ისთ</string>
<string name="login_nextcloud_login_flow_text">ეს დაიწყებს Nextcloud-ის შესვლის პროცესს ვებ ბრაუზერში.</string>
<string name="login_nextcloud_login_flow_server_address">Nextcloud-ის სერვერის მისამართი</string>
<string name="login_nextcloud_login_flow_sign_in">შესვლა</string>
<string name="login_nextcloud_login_flow_no_login_url">შესვლის URL-ის მიღება ვერ მოხერხდა</string>
<string name="login_nextcloud_login_flow_no_login_data">შესვლის მონაცემების მიღება ვერ მოხერხდა</string>
<string name="login_configuration_detection">კონფიგურაციის აღმოჩენა</string>
<string name="login_querying_server">გთხოვთ, დაელოდოთ, მიმდინარეობს სერვერის გამოკითხვა...</string>
<string name="login_no_service">CalDAV-ის ან CardDAV-ის სერვისის მოძებნა ვერ მოხერხდა.</string>
<string name="login_no_service_info">საბაზო URL არ არის წვდომადი CalDAV/CardDAV URL და სერვერისის აღმოჩენა არ იყო წარმატებული.</string>
<string name="login_see_tested_services"><![CDATA[გთხოვთ, იხილოთ თქვენი მომსახურების მომწოდებლის ინსტრუქცია და <a href="%s">ჩვენს მიერ ტესტირებული სერვისების სია</a> და მათი საბაზო URL.]]></string>
<string name="login_check_credentials">გთხოვთ, ასევე გადაამოწმოთ აუთენტიფიკაცია (ზოგადად, მომხმარებლის სახელი დაპაროლი).</string>
<string name="login_logs_available">დამატებითი ტექნიკური ინფორმაცია ხელმისაწვდომია ჟურნალებში.</string>
<string name="login_view_logs">ჟურნალების ნახვა</string>
<!--AccountSettingsActivity-->
<string name="login_generic_login">ზოგადი შესვლა</string>
<string name="login_provider_login">პროვაიდერის შესვლა</string>
<string name="login_continue">გაგრძელება</string>
<string name="login_login">შესვლა</string>
<string name="login_type_email">ელ. ფოსტის მისამართით შესვლა</string>
<string name="login_email_address">ელ. ფოსტის მისამართი</string>
<string name="login_email_address_error">საჭიროა სწორი ელ. ფოსტის მისამართი</string>
<string name="login_email_address_info"><![CDATA[ელ. ფოსტის დომენი გამოიყენება საბაზო URL-ად. <a href="%s">აღმოჩენილია სერვისები</a> DNS ჩანაწერების და კარგად ცნობილი URL-ების მეშვეობით.]]></string>
<string name="login_password">პაროლი</string>
<string name="login_password_hide">პაროლის დამალვა</string>
<string name="login_password_show">პაროლის ჩვენება</string>
<string name="login_type_url">URL-ით და მომხმარებლის სახელით შესვლა</string>
<string name="login_user_name">მომხმარებლის სახელი</string>
<string name="login_base_url">საბაზო URL</string>
<string name="login_base_url_info"><![CDATA[საბაზო URL-ი პირადპირ იქნება შემოწმებული, მაგრამ <a href="%s">ასევე აღმოჩენილია სერვისები</a> DNS ჩანაწერების და კარგად ცნობილი URL-ების მეშვეობით.]]></string>
<string name="login_select_certificate">სერტიფიკატის არჩევა</string>
<string name="login_add_account">ანგარიშის დამატება</string>
<string name="login_account_name">ანგარიშის სახელი</string>
<string name="login_account_avoid_apostrophe">აპოსტროფების (\') გამოყენება იწვევს პრობლემებს ზოგ მოწყობილობაზე.</string>
<string name="login_account_name_info">გამოიყენეთ თქვენი ელ. ფოსტის მსიამართი ანგარიშის სახელად, რადგან Android გამოიყენებს ანგარიშის სახელს ორგანიზატორის ველში თქვენს მიერ შექმნილ ღონისძიებებისთვის. თქვენ არ შეიძლება გქონდეთ ორი ანგარიში იგივე სახელით.</string>
<string name="login_account_contact_group_method">კონტაქტების დაჯგუფების მეთოდი:</string>
<string name="login_account_name_required">საჭიროა ანგარიშის სახელი</string>
<string name="login_account_name_already_taken">ანგარიშის სახელი უკვე დაკავებულია</string>
<string name="login_type_advanced">გაფართოებული შესვლა</string>
<string name="login_client_certificate_selected">კლიენტის სერტიფიკატი: %s</string>
<string name="login_no_certificate_found">სერტიფიკატი ვერ მოიძებნა</string>
<string name="login_install_certificate">სერტიფიკატის დაყენება</string>
<string name="login_type_google">Google კონტაქტები / კალენდარი</string>
<string name="login_google_account">Google ანგარიში</string>
<string name="login_google">Google-ით შესვლა</string>
<string name="login_google_client_id">კლიენტის ID (aრასავალდებულო)</string>
<string name="login_google_client_privacy_policy"><![CDATA[%1$sგადასცემს თქვენს Google კონტაქტებისა და კალენდარის მონაცემებს მხოლოდ სინქრონიზაციისთვის ამ მოწყობილობასთან. იხილეთ ჩვენი <a href="%2$s">პირადულობის პოლიტიკა</a> დეტალებისთვის.]]></string>
<string name="login_google_client_limited_use"><![CDATA[%1$s ექვემდებარება <a href="%2$s">Google API სერვისების მომხმარებელთა მონაცემების პოლიტიკას</a>, მათ შორის, შეზღუდული გამოყენების მოთხოვნებს.]]></string>
<string name="login_oauth_couldnt_obtain_auth_code">ავტორიზაციის კოდის მიღება ვერ მოხერხდა</string>
<string name="login_type_nextcloud">Nextcloud</string>
<string name="login_nextcloud_login_with_nextcloud">შესვლა Nextcloud-ისთ</string>
<string name="login_nextcloud_login_flow_text">ეს დაიწყებს Nextcloud-ის შესვლის პროცესს ვებ ბრაუზერში.</string>
<string name="login_nextcloud_login_flow_server_address">Nextcloud-ის სერვერის მისამართი</string>
<string name="login_nextcloud_login_flow_sign_in">შესვლა</string>
<string name="login_nextcloud_login_flow_no_login_url">შესვლის URL-ის მიღება ვერ მოხერხდა</string>
<string name="login_nextcloud_login_flow_no_login_data">შესვლის მონაცემების მიღება ვერ მოხერხდა</string>
<string name="login_configuration_detection">კონფიგურაციის აღმოჩენა</string>
<string name="login_querying_server">გთხოვთ, დაელოდოთ, მიმდინარეობს სერვერის გამოკითხვა</string>
<string name="login_no_service">CalDAV-ის ან CardDAV-ის სერვისის მოძებნა ვერ მოხერხდა.</string>
<string name="login_no_service_info">საბაზო URL არ არის წვდომადი CalDAV/CardDAV URL და სერვერისის აღმოჩენა არ იყო წარმატებული.</string>
<string name="login_see_tested_services"><![CDATA[გთხოვთ, იხილოთ თქვენი მომსახურების მომწოდებლის ინსტრუქცია და <a href="%s">ჩვენს მიერ ტესტირებული სერვისების სია</a> და მათი საბაზო URL.]]></string>
<string name="login_check_credentials">გთხოვთ, ასევე გადაამოწმოთ აუთენტიფიკაცია (ზოგადად, მომხმარებლის სახელი დაპაროლი).</string>
<string name="login_logs_available">დამატებითი ტექნიკური ინფორმაცია ხელმისაწვდომია ჟურნალებში.</string>
<string name="login_view_logs">ჟურნალების ნახვა</string>
<!--AccountSettingsActivity-->
<string name="settings_sync">სინქრონიზაცია</string>
<string name="settings_sync_interval_contacts">კონტაქტების სინქრონიზაციის ინტერვალი</string>
<string name="settings_sync_summary_manually">მხოლოდ ხელით</string>
<string name="settings_sync_summary_periodically" tools:ignore="PluralsCandidate">ყოველ %d წუთში + დაუყონებლივ ადგილობრივი ცვლილებებისას</string>
<string name="settings_sync_interval_calendars">კალენდრების სინქრონიზაციის ინტერვალი</string>
<string name="settings_sync_interval_tasks">დავალებვათა სინქრონიზაციის ინტერვალი</string>
<string-array name="settings_sync_interval_names">
<item>მხოლოდ ხელით</item>
<item>ყოველ 15 წუთში</item>
<item>ყოველ 30 წუთში</item>
<item>ყოველ 1 საათში</item>
<item>ყოველ 2 საათში</item>
<item>ყოველ 4 საათში</item>
<item>ყოველდღე</item>
</string-array>
<string name="settings_sync_wifi_only">მხოლოდ WiFi-ით სინქრონიზაცია</string>
<string name="settings_sync_wifi_only_on">სინქრონიზაცია შეზღუდულია WiFi კავშირზე</string>
<string name="settings_sync_wifi_only_off">კავშირის ტიპი არ გაითვალისწინება</string>
<string name="settings_sync_wifi_only_ssids">WiFi SSID-ს შეზღუდვა</string>
<string name="settings_sync_wifi_only_ssids_on">დასინქრონიზირდება მხოლო %s-ით</string>
<string name="settings_sync_wifi_only_ssids_off">გამოიყენება ყველა WiFi კავშირი</string>
<string name="settings_sync_wifi_only_ssids_message">დაშვებული WiFi ქსელების მძიმეთი დაყოფილი სახელები (SSID) (დატოვეთ ცარიელად ყველასთვის)</string>
<string name="settings_sync_wifi_only_ssids_permissions_required">WiFi SSID-ს შეზღუდვას სჭირდება დამატებითი პარამეტრები</string>
<string name="settings_sync_wifi_only_ssids_permissions_action">მართვა</string>
<string name="settings_ignore_vpns">VPN-ს სჭირდება არსებული ინტერნეტ-კავშირი</string>
<string name="settings_ignore_vpns_on">VPN არსებული დადასტურებული ინტერნეტ-კავშირის გარეშე არ არის საკმარისი სინქრონიზაციის გასაშვებად (რეკომენდებული)</string>
<string name="settings_ignore_vpns_off">VPN არსებული დადასტურებული ინტერნეტ-კავშირის გარეშე არ არის საკმარისი სინქრონიზაციის გასაშვებად</string>
<string name="settings_authentication">აუთენტიფიკაცია</string>
<string name="settings_username">მომხმარებლის სახელი</string>
<string name="settings_new_password">ახალი პაროლი</string>
<string name="settings_password_summary">პაროლის განახლება თქვენი სერვერის მიხედვით</string>
<string name="settings_certificate_alias">კლიენტის სერთიფიკატი</string>
<string name="settings_certificate_alias_empty">სერთიფიკატი ხელმიუწვდომია ან არ არის არჩეული</string>
<string name="settings_certificate_install">სერტიფიკატის დაყენება</string>
<string name="settings_caldav">CalDAV</string>
<string name="settings_sync_time_range_past">გასული ღონისძიების დროის შეზღუდვა</string>
<string name="settings_sync_time_range_past_none">დასინქრონიზირდება ყველა ღონისძიება</string>
<plurals name="settings_sync_time_range_past_days">
<item quantity="one">ერთ დღეზე უფრო ძველი ღონისძიებები იქნება იგნორირებული</item>
<item quantity="other">%d დღეზე უფრო ძველი ღონისძიებები იქნება იგნორირებული</item>
</plurals>
<string name="settings_sync_time_range_past_message">ღონისძიებები, რომლებიც უფრო ძველია, ვიდრე დღეთა მითითებული რაოდენობა, იქნება იგნორირებული (შეიძლება იყოს 0). დატოვეთ ცარიელად ყველას სინქრონიზებისთვის.</string>
<string name="settings_default_alarm">ნაგულისხმევა შეხსენება</string>
<plurals name="settings_default_alarm_on">
<item quantity="one">ნაგულისხმევი შეხსენება ღონისძიებამდე ერთი წუთით ადრე</item>
<item quantity="other">ნაგულისხმევი შეხსენება ღონისძიებამდე %d წუთით ადრე</item>
</plurals>
<string name="settings_default_alarm_off">ნაგულისხმევი შეხსენება არ არის შექმნილი</string>
<string name="settings_default_alarm_message">თუ ნაგულისხმევი შეხსენება უნდა შეიქმნას შეხსენების გარეშე ღონისძიებებისთვის: ღონისძიებამდე წუთების სასურველი რიცხვი. დატოვეთ ცარიელად ნაგულისხმევი შეხსენებების გასათიშად.</string>
<string name="settings_manage_calendar_colors">კალენდარის ფერების მართვა</string>
<string name="settings_manage_calendar_colors_on">კალენდარის ფერები ჩამოიყრება ყოველ სინქრონიზაციაზე</string>
<string name="settings_manage_calendar_colors_off">კალენდარის ფერები შეიძლება დაყენებულ იქნას სხვა აპების მიერ</string>
<string name="settings_event_colors">ღონისძიების ფერის მხარდაჭერა</string>
<string name="settings_event_colors_on">ღონისძიების ფერები არის სინქრონიზირებული</string>
<string name="settings_event_colors_off">ღონისძიების ფერები არ არის სინქრონიზირებული</string>
<string name="settings_carddav">CardDAV</string>
<string name="settings_contact_group_method">კონტაქტების დაჯგუფების მეთოდი</string>
<string-array name="settings_contact_group_method_entries">
<item>ჯგუფები ცალკე vCard-ებია</item>
<item>ჯგუფები არის კონტაქტთა კატეგორია</item>
</string-array>
<!--CreateAddressBookScreen, CreateCalendarScreen-->
<string name="settings_sync_interval_contacts">კონტაქტების სინქრონიზაციის ინტერვალი</string>
<string name="settings_sync_summary_manually">მხოლოდ ხელით</string>
<string name="settings_sync_summary_periodically" tools:ignore="PluralsCandidate">ყოველ %d წუთში + დაუყონებლივ ადგილობრივი ცვლილებებისას</string>
<string name="settings_sync_interval_calendars">კალენდრების სინქრონიზაციის ინტერვალი</string>
<string name="settings_sync_interval_tasks">დავალებვათა სინქრონიზაციის ინტერვალი</string>
<string-array name="settings_sync_interval_names">
<item>მხოლოდ ხელით</item>
<item>ყოველ 15 წუთში</item>
<item>ყოველ 30 წუთში</item>
<item>ყოველ 1 საათში</item>
<item>ყოველ 2 საათში</item>
<item>ყოველ 4 საათში</item>
<item>ყოველდღე</item>
</string-array>
<string name="settings_sync_wifi_only">მხოლოდ WiFi-ით სინქრონიზაცია</string>
<string name="settings_sync_wifi_only_on">სინქრონიზაცია შეზღუდულია WiFi კავშირზე</string>
<string name="settings_sync_wifi_only_off">კავშირის ტიპი არ გაითვალისწინება</string>
<string name="settings_sync_wifi_only_ssids">WiFi SSID-ს შეზღუდვა</string>
<string name="settings_sync_wifi_only_ssids_on">დასინქრონიზირდება მხოლო %s-ით</string>
<string name="settings_sync_wifi_only_ssids_off">გამოიყენება ყველა WiFi კავშირი</string>
<string name="settings_sync_wifi_only_ssids_message">დაშვებული WiFi ქსელების მძიმეთი დაყოფილი სახელები (SSID) (დატოვეთ ცარიელად ყველასთვის)</string>
<string name="settings_sync_wifi_only_ssids_permissions_required">WiFi SSID-ს შეზღუდვას სჭირდება დამატებითი პარამეტრები</string>
<string name="settings_sync_wifi_only_ssids_permissions_action">მართვა</string>
<string name="settings_ignore_vpns">VPN-ს სჭირდება არსებული ინტერნეტ-კავშირი</string>
<string name="settings_ignore_vpns_on">VPN არსებული დადასტურებული ინტერნეტ-კავშირის გარეშე არ არის საკმარისი სინქრონიზაციის გასაშვებად (რეკომენდებული)</string>
<string name="settings_ignore_vpns_off">VPN არსებული დადასტურებული ინტერნეტ-კავშირის გარეშე არ არის საკმარისი სინქრონიზაციის გასაშვებად</string>
<string name="settings_authentication">აუთენტიფიკაცია</string>
<string name="settings_username">მომხმარებლის სახელი</string>
<string name="settings_new_password">ახალი პაროლი</string>
<string name="settings_password_summary">პაროლის განახლება თქვენი სერვერის მიხედვით.</string>
<string name="settings_certificate_alias">კლიენტის სერთიფიკატი</string>
<string name="settings_certificate_alias_empty">სერთიფიკატი ხელმიუწვდომია ან არ არის არჩეული</string>
<string name="settings_certificate_install">სერტიფიკატის დაყენება</string>
<string name="settings_caldav">CalDAV</string>
<string name="settings_sync_time_range_past">გასული ღონისძიების დროის შეზღუდვა</string>
<string name="settings_sync_time_range_past_none">დასინქრონიზირდება ყველა ღონისძიება</string>
<plurals name="settings_sync_time_range_past_days">
<item quantity="one">ერთ დღეზე უფრო ძველი ღონისძიებები იქნება იგნორირებული</item>
<item quantity="other">%d დღეზე უფრო ძველი ღონისძიებები იქნება იგნორირებული</item>
</plurals>
<string name="settings_sync_time_range_past_message">ღონისძიებები, რომლებიც უფრო ძველია, ვიდრე დღეთა მითითებული რაოდენობა, იქნება იგნორირებული (შეიძლება იყოს 0). დატოვეთ ცარიელად ყველას სინქრონიზებისთვის.</string>
<string name="settings_default_alarm">ნაგულისხმევა შეხსენება</string>
<plurals name="settings_default_alarm_on">
<item quantity="one">ნაგულისხმევი შეხსენება ღონისძიებამდე ერთი წუთით ადრე</item>
<item quantity="other">ნაგულისხმევი შეხსენება ღონისძიებამდე %d წუთით ადრე</item>
</plurals>
<string name="settings_default_alarm_off">ნაგულისხმევი შეხსენება არ არის შექმნილი</string>
<string name="settings_default_alarm_message">თუ ნაგულისხმევი შეხსენება უნდა შეიქმნას შეხსენების გარეშე ღონისძიებებისთვის: ღონისძიებამდე წუთების სასურველი რიცხვი. დატოვეთ ცარიელად ნაგულისხმევი შეხსენებების გასათიშად.</string>
<string name="settings_manage_calendar_colors">კალენდარის ფერების მართვა</string>
<string name="settings_manage_calendar_colors_on">კალენდარის ფერები ჩამოიყრება ყოველ სინქრონიზაციაზე</string>
<string name="settings_manage_calendar_colors_off">კალენდარის ფერები შეიძლება დაყენებულ იქნას სხვა აპების მიერ</string>
<string name="settings_event_colors">ღონისძიების ფერის მხარდაჭერა</string>
<string name="settings_event_colors_on">ღონისძიების ფერები არის სინქრონიზირებული</string>
<string name="settings_event_colors_off">ღონისძიების ფერები არ არის სინქრონიზირებული</string>
<string name="settings_carddav">CardDAV</string>
<string name="settings_contact_group_method">კონტაქტების დაჯგუფების მეთოდი</string>
<string-array name="settings_contact_group_method_entries">
<item>ჯგუფები ცალკე vCard-ებია</item>
<item>ჯგუფები არის კონტაქტთა კატეგორია</item>
</string-array>
<!--CreateAddressBookScreen, CreateCalendarScreen-->
<string name="create_addressbook">მისამართთა წიგნაკის შექმნა</string>
<string name="create_addressbook_maybe_not_supported">მისამართთა წიგნაკის შექმნა CardDAV-ით შეიძლება არ იყოს მხარდაჭერილი სერვერის მიერ.</string>
<string name="create_calendar">კალენდარის შექმნა</string>
<string name="create_calendar_time_zone_none"></string>
<string name="create_calendar_type">დაშვებული კალენდარის ჩანაწერები</string>
<string name="create_calendar_type_vevent">ღონისძიებები</string>
<string name="create_calendar_type_vtodo">დავალებები</string>
<string name="create_calendar_type_vjournal">შენიშვნები / ჟურნალი</string>
<string name="create_calendar_maybe_not_supported">კალენდრის შექმნა CalDAV-ით შეიძლება არ იყოს მხარდაჭერილი სერვერის მიერ.</string>
<string name="create_collection_color">ფერი</string>
<string name="create_collection_display_name">სათაური</string>
<string name="create_collection_home_set">მეხსიერების ადგილმდებარეობა</string>
<string name="create_collection_description_optional">აღწერა (არასავალდებულო)</string>
<string name="create_collection_create">შექმნა</string>
<!--CollectionScreen-->
<string name="create_addressbook_maybe_not_supported">მისამართთა წიგნაკის შექმნა CardDAV-ით შეიძლება არ იყოს მხარდაჭერილი სერვერის მიერ.</string>
<string name="create_calendar">კალენდარის შექმნა</string>
<string name="create_calendar_time_zone_none"></string>
<string name="create_calendar_type">დაშვებული კალენდარის ჩანაწერები</string>
<string name="create_calendar_type_vevent">ღონისძიებები</string>
<string name="create_calendar_type_vtodo">დავალებები</string>
<string name="create_calendar_type_vjournal">შენიშვნები / ჟურნალი</string>
<string name="create_calendar_maybe_not_supported">კალენდრის შექმნა CalDAV-ით შეიძლება არ იყოს მხარდაჭერილი სერვერის მიერ.</string>
<string name="create_collection_color">ფერი</string>
<string name="create_collection_display_name">სათაური</string>
<string name="create_collection_home_set">მეხსიერების ადგილმდებარეობა</string>
<string name="create_collection_description_optional">აღწერა (არასავალდებულო)</string>
<string name="create_collection_create">შექმნა</string>
<!--CollectionScreen-->
<string name="collection_datatype_contacts">კონტაქტები</string>
<string name="collection_datatype_tasks">დავალებები</string>
<string name="collection_delete">კოლექციის წაშლა</string>
<string name="collection_delete_warning">ეს კოლექცია (%s) და მისი ყველა მონაცემი სამუდამოდ წაიშლება, როგორც ადგილობრივად, ისე სერვერზეც.</string>
<string name="collection_synchronization">სინქრონიზაცია</string>
<string name="collection_synchronization_on">სინქრონიზაცია ჩართულია</string>
<string name="collection_synchronization_off">სინქრონიზაცია გამორთულია</string>
<string name="collection_read_only">მხოლოდ წაკითხვადი</string>
<string name="collection_read_only_by_server">მხოლოდ წაკითხვადი (სერვერის მიერ)</string>
<string name="collection_read_only_forced">მხოლოდ წაკითხვადი (მხოლოდ ადგილობრივად)</string>
<string name="collection_read_write">წაკითხვა/ჩაწერა</string>
<string name="collection_title">სათაური</string>
<string name="collection_description">აღწერა</string>
<string name="collection_owner">მფლობელი</string>
<string name="collection_push_support">Push-ის მხარდაჭერა</string>
<string name="collection_push_web_push">სერვერი გადმოსცემს Push-ის მხარდაჭერას</string>
<string name="collection_last_sync">ბოლო სინქრონიზაცია (%s)</string>
<string name="collection_url">მისამართი (URL)</string>
<!--debugging and DebugInfoActivity-->
<string name="collection_datatype_tasks">დავალებები</string>
<string name="collection_delete">კოლექციის წაშლა</string>
<string name="collection_delete_warning">ეს კოლექცია (%s) და მისი ყველა მონაცემი სამუდამოდ წაიშლება, როგორც ადგილობრივად, ისე სერვერზეც.</string>
<string name="collection_synchronization">სინქრონიზაცია</string>
<string name="collection_synchronization_on">სინქრონიზაცია ჩართულია</string>
<string name="collection_synchronization_off">სინქრონიზაცია გამორთულია</string>
<string name="collection_read_only">მხოლოდ წაკითხვადი</string>
<string name="collection_read_only_by_server">მხოლოდ წაკითხვადი (სერვერის მიერ)</string>
<string name="collection_read_only_forced">მხოლოდ წაკითხვადი (მხოლოდ ადგილობრივად)</string>
<string name="collection_read_write">წაკითხვა/ჩაწერა</string>
<string name="collection_title">სათაური</string>
<string name="collection_description">აღწერა</string>
<string name="collection_owner">მფლობელი</string>
<string name="collection_push_support">Push-ის მხარდაჭერა</string>
<string name="collection_push_web_push">სერვერი გადმოსცემს Push-ის მხარდაჭერას</string>
<string name="collection_last_sync">ბოლო სინქრონიზაცია (%s)</string>
<string name="collection_url">მისამართი (URL)</string>
<!--debugging and DebugInfoActivity-->
<string name="debug_info_title">დებაგის ინფო</string>
<string name="debug_info_archive_caption">ZIP არქივი</string>
<string name="debug_info_archive_subtitle">შეიცავს დებაგის ინფოს და ჟურნალებს</string>
<string name="debug_info_archive_text">გააზიარეთ არქივი მისი კომპიუტერზე გადასაგზავნად, ელ. ფოსტით გასაგზავნად ან მისი მხარდაჭერის ბილეთზე მისაბმელად.</string>
<string name="debug_info_archive_share">არქივის გაზიარება</string>
<string name="debug_info_attached">დებაგის ინფო მიბმულია ამ შეტყობინებაზე (სჭირდება მიბმის მხარდაჭერა მიმღებ აპში).</string>
<string name="debug_info_http_error">HTTP შეცდომა</string>
<string name="debug_info_server_error">სერვერის შეცდომა</string>
<string name="debug_info_webdav_error">WebDAV შეცდომა</string>
<string name="debug_info_io_error">წაკითხვა/ჩაწერის შეცდომა</string>
<string name="debug_info_view_details">დეტალების ნახვა</string>
<string name="debug_info_subtitle">დებაგის ინფო შეგროვდა</string>
<string name="debug_info_involved_caption">შესაბამისი რესურსები</string>
<string name="debug_info_involved_subtitle">დაკავშირებული პრობლემასთან</string>
<string name="debug_info_involved_remote">დაშორებული რესურსი:</string>
<string name="debug_info_involved_local">ადგილობრივი რესურსი:</string>
<string name="debug_info_logs_caption">ჟურნალები</string>
<string name="debug_info_logs_subtitle">ხელმისაწვდომია დეტალური ჟურნალები</string>
<string name="debug_info_logs_view">ჟურნალების ნახვა</string>
<!--ExceptionInfoFragment-->
<string name="debug_info_archive_caption">ZIP არქივი</string>
<string name="debug_info_archive_subtitle">შეიცავს დებაგის ინფოს და ჟურნალებს</string>
<string name="debug_info_archive_text">გააზიარეთ არქივი მისი კომპიუტერზე გადასაგზავნად, ელ. ფოსტით გასაგზავნად ან მისი მხარდაჭერის ბილეთზე მისაბმელად.</string>
<string name="debug_info_archive_share">არქივის გაზიარება</string>
<string name="debug_info_attached">დებაგის ინფო მიბმულია ამ შეტყობინებაზე (სჭირდება მიბმის მხარდაჭერა მიმღებ აპში).</string>
<string name="debug_info_http_error">HTTP შეცდომა</string>
<string name="debug_info_server_error">სერვერის შეცდომა</string>
<string name="debug_info_webdav_error">WebDAV შეცდომა</string>
<string name="debug_info_io_error">წაკითხვა/ჩაწერის შეცდომა</string>
<string name="debug_info_view_details">დეტალების ნახვა</string>
<string name="debug_info_subtitle">დებაგის ინფო შეგროვდა</string>
<string name="debug_info_involved_caption">შესაბამისი რესურსები</string>
<string name="debug_info_involved_subtitle">დაკავშირებული პრობლემასთან</string>
<string name="debug_info_involved_remote">დაშორებული რესურსი:</string>
<string name="debug_info_involved_local">ადგილობრივი რესურსი:</string>
<string name="debug_info_logs_caption">ჟურნალები</string>
<string name="debug_info_logs_subtitle">ხელმისაწვდომია დეტალური ჟურნალები</string>
<string name="debug_info_logs_view">ჟურნალების ნახვა</string>
<!--ExceptionInfoFragment-->
<string name="exception">მოხდა შეცდომა.</string>
<string name="exception_httpexception">მოხდა HTTP შეცდომა.</string>
<string name="exception_ioexception">მოხდა წაკითხვა/ჩაწერის შეცდომა.</string>
<string name="exception_show_details">დეტალების ჩვენება.</string>
<!--WebDAV accounts-->
<string name="exception_httpexception">მოხდა HTTP შეცდომა.</string>
<string name="exception_ioexception">მოხდა წაკითხვა/ჩაწერის შეცდომა.</string>
<string name="exception_show_details">დეტალების ჩვენება</string>
<!--WebDAV accounts-->
<string name="webdav_mounts_title">WebDAV-ის მიბმები</string>
<string name="webdav_mounts_quota_used_available">გამოყენებული კვოტა: %1$s / ხელმისაწვდომი: %2$s</string>
<string name="webdav_mounts_share_content">შიგთავსის გაზიარება</string>
<string name="webdav_mounts_unmount">მიბმის გათიშვა</string>
<string name="webdav_add_mount_title">WebDAV-ის მიბმის დამატება</string>
<string name="webdav_mounts_empty">პირდაპირ იქონიეთ წვდომა თქვენი ღრუბლის ფაილებზე WebDAV-ის მიბმის დამატებით!</string>
<string name="webdav_add_mount_display_name">ნაჩვენები სახელი</string>
<string name="webdav_add_mount_url">WebDAV URL</string>
<string name="webdav_add_mount_url_invalid">არასწორი URL</string>
<string name="webdav_add_mount_authentication">აუთენტიფიკაცია</string>
<string name="webdav_add_mount_username">მომხმარებლის სახელი</string>
<string name="webdav_add_mount_password">პაროლი</string>
<string name="webdav_add_mount_add">მიბმის დამატება</string>
<string name="webdav_add_mount_no_support">WebDAV სერვისი ამ URL-ზე არ არის</string>
<string name="webdav_remove_mount_title">მიბმის წერტილის ამოშლა</string>
<string name="webdav_remove_mount_text">კავშირის დეტალები დაიკარგება, მაგრამ ფაილები არ წაიშლება.</string>
<string name="webdav_notification_access">მიმდინარეობს WebDAV ფაილზე წვდომა</string>
<string name="webdav_notification_download">მიმდინარეობს WebDAV ფაილის გადმოტვირთვა</string>
<string name="webdav_notification_upload">მიმდინარეობს WebDAV ფაილის ატვირთვა</string>
<string name="webdav_provider_root_title">WebDAV-iს მიბმა</string>
<!--sync-->
<string name="webdav_mounts_quota_used_available">გამოყენებული კვოტა: %1$s / ხელმისაწვდომი: %2$s</string>
<string name="webdav_mounts_share_content">შიგთავსის გაზიარება</string>
<string name="webdav_mounts_unmount">მიბმის გათიშვა</string>
<string name="webdav_add_mount_title">WebDAV-ის მიბმის დამატება</string>
<string name="webdav_mounts_empty">პირდაპირ იქონიეთ წვდომა თქვენი ღრუბლის ფაილებზე WebDAV-ის მიბმის დამატებით!</string>
<string name="webdav_add_mount_display_name">ნაჩვენები სახელი</string>
<string name="webdav_add_mount_url">WebDAV URL</string>
<string name="webdav_add_mount_url_invalid">არასწორი URL</string>
<string name="webdav_add_mount_authentication">აუთენტიფიკაცია</string>
<string name="webdav_add_mount_username">მომხმარებლის სახელი</string>
<string name="webdav_add_mount_password">პაროლი</string>
<string name="webdav_add_mount_add">მიბმის დამატება</string>
<string name="webdav_add_mount_no_support">WebDAV სერვისი ამ URL-ზე არ არის</string>
<string name="webdav_remove_mount_title">მიბმის წერტილის ამოშლა</string>
<string name="webdav_remove_mount_text">კავშირის დეტალები დაიკარგება, მაგრამ ფაილები არ წაიშლება.</string>
<string name="webdav_notification_access">მიმდინარეობს WebDAV ფაილზე წვდომა</string>
<string name="webdav_notification_download">მიმდინარეობს WebDAV ფაილის გადმოტვირთვა</string>
<string name="webdav_notification_upload">მიმდინარეობს WebDAV ფაილის ატვირთვა</string>
<string name="webdav_provider_root_title">WebDAV-iს მიბმა</string>
<!--sync-->
<string name="sync_error_permissions">DAVx⁵-ის უფლებები</string>
<string name="sync_error_permissions_text">საჭიროა დამატებითი უფლებები</string>
<string name="sync_error_tasks_too_old">%s ნამეტანი ძველია</string>
<string name="sync_error_tasks_required_version">მინიმალური საჭირო ვერსია: %1$s</string>
<string name="sync_error_authentication_failed">აუთენტიფიკაცია ჩაიშალა (შეამოწმეთ შევლის იდენტიფიკატორები)</string>
<string name="sync_error_io">ქსელური ან ჩაწერა/წაკითხვის შეცდომა - %s</string>
<string name="sync_error_http_dav">HTTP სერვერის შეცდომა - %s</string>
<string name="sync_error_local_storage">ადგილობრივი მეხსიერების შეცდომა - %s</string>
<string name="sync_error_retry_limit_reached">რბილის შეცდომა (მიღწეულია თავიდან ცდის მაწსიმუმი)</string>
<string name="sync_invalid_contact">მიღებულია არასწორი კონტაქტი სერვერიდან</string>
<string name="sync_invalid_event">მიღებულია არასწორი ღონისძიება სერვერიდან</string>
<string name="sync_invalid_task">მიღებული არასწორი დავალება სერვერიდან</string>
<string name="sync_invalid_resources_ignoring">ერთი ან მეტი არასწორი რესურსის იგნორირება</string>
<!--widgets-->
<string name="sync_error_permissions_text">საჭიროა დამატებითი უფლებები</string>
<string name="sync_error_tasks_too_old">%s ნამეტანი ძველია</string>
<string name="sync_error_tasks_required_version">მინიმალური საჭირო ვერსია: %1$s</string>
<string name="sync_error_authentication_failed">აუთენტიფიკაცია ჩაიშალა (შეამოწმეთ შევლის იდენტიფიკატორები)</string>
<string name="sync_error_io">ქსელური ან ჩაწერა/წაკითხვის შეცდომა - %s</string>
<string name="sync_error_http_dav">HTTP სერვერის შეცდომა - %s</string>
<string name="sync_error_local_storage">ადგილობრივი მეხსიერების შეცდომა - %s</string>
<string name="sync_error_retry_limit_reached">რბილის შეცდომა (მიღწეულია თავიდან ცდის მაწსიმუმი)</string>
<string name="sync_invalid_contact">მიღებულია არასწორი კონტაქტი სერვერიდან</string>
<string name="sync_invalid_event">მიღებულია არასწორი ღონისძიება სერვერიდან</string>
<string name="sync_invalid_task">მიღებული არასწორი დავალება სერვერიდან</string>
<string name="sync_invalid_resources_ignoring">ერთი ან მეტი არასწორი რესურსის იგნორირება</string>
<!--widgets-->
<string name="widget_sync_all">ყველაფრის სინქრონიზირება</string>
<string name="widget_sync_all_accounts">ყველა ანგარიშის სინქრონიზაცია</string>
<!--cert4android-->
<string name="widget_sync_all_accounts">ყველა ანგარიშის სინქრონიზაცია</string>
<!--cert4android-->
<plurals name="intro_open_source_dont_show_months">
<item quantity="one">%d თვე</item>
<item quantity="other">%d თვე</item>
</plurals>
</resources>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="account_invalid">Paskyra ne(be)egzistuoja</string>
<string name="account_title_address_book">„DAVx⁵“ adresų knyga</string>
<string name="account_prefs_use_app">Čia nekeiskite paskyros! Vietoj to tiesiogiai naudokite programą paskyroms tvarkyti.</string>
<string name="dialog_delete">Ištrinti</string>
<string name="dialog_remove">Šalinti</string>
<string name="dialog_deny">Atšaukti</string>
<string name="dialog_enable">Įjungti</string>
<string name="field_required">Šis laukas privalomas.</string>
<string name="help">Pagalba</string>
<string name="navigate_up">Naršyti į viršų</string>
<string name="options_menu">Parinkčių meniu</string>
<string name="share">Bendrinti</string>
<string name="sync_started">Sinchronizavimas pradėtas / įtrauktas į eilę</string>
<string name="database_destructive_migration_title">Duomenų bazė sugadinta</string>
<string name="database_destructive_migration_text">Visos paskyros pašalintos vietoje.</string>
<string name="notification_channel_debugging">Derinimas</string>
<string name="notification_channel_general">Kiti svarbūs pranešimai</string>
<string name="notification_channel_status">Mažo prioriteto būsenos pranešimai</string>
<string name="notification_channel_sync">Sinchronizavimas</string>
<string name="notification_channel_sync_errors">Sinchronizavimo klaidos</string>
<string name="notification_channel_sync_errors_desc">Svarbios klaidos, kurios sustabdo sinchronizavimą, pavyzdžiui, netikėti serverio atsakymai.</string>
<string name="notification_channel_sync_warnings">Sinchronizavimo įspėjimai</string>
<string name="notification_channel_sync_warnings_desc">Ne lemtingos sinchronizavimo problemos, pvz., tam tikri netinkami failai.</string>
<string name="notification_channel_sync_io_errors">Tinklo ir įv./išv. klaidos</string>
<string name="notification_channel_sync_io_errors_desc">Baigimo laikai, ryšio problemos ir t. t. (dažnai laikinos).</string>
<string name="intro_slogan1">Jūsų duomenys. Jūsų pasirinkimas.</string>
<string name="intro_slogan2">Perimkite valdymą.</string>
<string name="intro_battery_title">Reguliarūs sinchronizavimo intervalai</string>
</resources>

View File

@@ -1,483 +1,483 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<!--common strings-->
<!--common strings-->
<string name="account_invalid">Account bestaat niet (of niet meer)</string>
<string name="account_title_address_book">DAVx⁵ Adresboek</string>
<string name="account_prefs_use_app">Verander hier niet van account! Gebruik in plaats daarvan direct de app om accounts te beheren.</string>
<string name="dialog_delete">Verwijderen</string>
<string name="dialog_remove">Verwijderen</string>
<string name="dialog_deny">Annuleren</string>
<string name="dialog_enable">Inschakelen</string>
<string name="field_required">Dit veld is verplicht</string>
<string name="help">Hulp</string>
<string name="navigate_up">Navigeer omhoog</string>
<string name="options_menu">Opties menu</string>
<string name="share">Delen</string>
<string name="sync_started">Synchronisatie begonnen/in wachtrij geplaatst</string>
<string name="database_destructive_migration_title">Database beschadigd</string>
<string name="database_destructive_migration_text">Alle accounts zijn lokaal verwijderd.</string>
<string name="notification_channel_debugging">Debuggen</string>
<string name="notification_channel_general">Andere belangrijke berichten</string>
<string name="notification_channel_status">Statusberichten met lage prioriteit</string>
<string name="notification_channel_sync">Synchroniseren</string>
<string name="notification_channel_sync_errors">Synchronisatiefouten</string>
<string name="notification_channel_sync_errors_desc">Belangrijke fouten die het synchroniseren stoppen, zoals onverwachte server antwoorden</string>
<string name="notification_channel_sync_warnings">Synchronisatie waarschuwingen</string>
<string name="notification_channel_sync_warnings_desc">Niet-fatale problemen bij het synchroniseren zoals bepaalde ongeldige bestanden</string>
<string name="notification_channel_sync_io_errors">Netwerk en I/O fouten</string>
<string name="notification_channel_sync_io_errors_desc">Timeouts, connectie problemen, etc. (vaak tijdelijk).</string>
<!--IntroActivity-->
<string name="account_title_address_book">DAVx⁵ Adresboek</string>
<string name="account_prefs_use_app">Verander hier niet van account! Gebruik in plaats daarvan direct de app om accounts te beheren.</string>
<string name="dialog_delete">Verwijderen</string>
<string name="dialog_remove">Verwijderen</string>
<string name="dialog_deny">Annuleren</string>
<string name="dialog_enable">Inschakelen</string>
<string name="field_required">Dit veld is verplicht</string>
<string name="help">Hulp</string>
<string name="navigate_up">Navigeer omhoog</string>
<string name="options_menu">Opties menu</string>
<string name="share">Delen</string>
<string name="sync_started">Synchronisatie begonnen/in wachtrij geplaatst</string>
<string name="database_destructive_migration_title">Database beschadigd</string>
<string name="database_destructive_migration_text">Alle accounts zijn lokaal verwijderd.</string>
<string name="notification_channel_debugging">Debuggen</string>
<string name="notification_channel_general">Andere belangrijke berichten</string>
<string name="notification_channel_status">Statusberichten met lage prioriteit</string>
<string name="notification_channel_sync">Synchroniseren</string>
<string name="notification_channel_sync_errors">Synchronisatiefouten</string>
<string name="notification_channel_sync_errors_desc">Belangrijke fouten die het synchroniseren stoppen, zoals onverwachte server antwoorden</string>
<string name="notification_channel_sync_warnings">Synchronisatie waarschuwingen</string>
<string name="notification_channel_sync_warnings_desc">Niet-fatale problemen bij het synchroniseren zoals bepaalde ongeldige bestanden</string>
<string name="notification_channel_sync_io_errors">Netwerk en I/O fouten</string>
<string name="notification_channel_sync_io_errors_desc">Timeouts, connectieproblemen, etc. (vaak tijdelijk)</string>
<!--IntroActivity-->
<string name="intro_slogan1">Jouw gegevens. Jouw keuze.</string>
<string name="intro_slogan2">Houd zelf de controle</string>
<string name="intro_battery_title">regelmatige sync-intervallen</string>
<string name="intro_battery_text">Om op gezette tijden te synchroniseren moet %s zonder beperking op de achtergrond kunnen draaien. Anders kan Android het synchroniseren op elk moment onderbreken.</string>
<string name="intro_battery_dont_show">Synchroniseren op gezette tijden is niet nodig.*</string>
<string name="intro_autostart_title">%s compatibiliteit</string>
<string name="intro_autostart_text">Leverancierspecifieke firmware kan de synchronisatie blokkeren. Als je hier last van hebt, kan dit alleen handmatig worden opgelost.</string>
<string name="intro_autostart_dont_show">De vereiste instellingen zijn verricht. Er aan herinneren is niet meer nodig.*</string>
<string name="intro_leave_unchecked">* Niet aanvinken om later herinnerd te worden. Kan teruggezet in app instellingen / %s.</string>
<string name="intro_more_info">Meer informatie</string>
<string name="intro_tasks_jtx">jtx Board</string>
<string name="intro_tasks_jtx_info"><![CDATA[Synchroniseert taken, agenda\'s en notities met elke geschikte CalDAV-server.]]></string>
<string name="intro_tasks_title">Ondersteunt taken</string>
<string name="intro_tasks_text1">Als de server taken ondersteunt, synchroniseert een geschikte taken-app ze:</string>
<string name="intro_tasks_opentasks">OpenTasks</string>
<string name="intro_tasks_opentasks_info">Schijnt niet meer ontwikkeld te worden - niet aanbevolen.</string>
<string name="intro_tasks_tasks_org">Tasks.org</string>
<string name="intro_tasks_tasks_org_info"><![CDATA[Enkele functies <a href="https://www.davx5.com/faq/tasks/advanced-task-features">worden niet ondersteund</a>.]]></string>
<string name="intro_tasks_no_app_store">Geen app-store beschikbaar</string>
<string name="intro_tasks_dont_show">Ik hoef geen ondersteuning van taken.*</string>
<string name="intro_open_source_title">Open-source software</string>
<string name="intro_open_source_text">We zijn blij dat de keuze valt op open source software %s. Ontwikkelen, onderhouden en ondersteunen is veel werk. Overweeg daarom bij te dragen (kan op vele manieren) of een donatie. Wij waarderen het zeer!</string>
<string name="intro_open_source_details">Hoe bijdragen/doneren</string>
<string name="intro_open_source_dont_show">Herinner me er niet aan voor</string>
<plurals name="intro_open_source_dont_show_months">
<item quantity="one">%d maand</item>
<item quantity="other">%d maanden</item>
</plurals>
<string name="intro_next">Volgende</string>
<!--PermissionsActivity-->
<string name="intro_slogan2">Neem de controle.</string>
<string name="intro_battery_title">regelmatige sync-intervallen</string>
<string name="intro_battery_text">Om op gezette tijden te synchroniseren moet %s zonder beperking op de achtergrond kunnen draaien. Anders kan Android het synchroniseren op elk moment onderbreken.</string>
<string name="intro_battery_dont_show">Synchroniseren op gezette tijden is niet nodig.*</string>
<string name="intro_autostart_title">%s compatibiliteit</string>
<string name="intro_autostart_text">Leverancierspecifieke firmware kan de synchronisatie blokkeren. Als je hier last van hebt, kan dit alleen handmatig worden opgelost.</string>
<string name="intro_autostart_dont_show">De vereiste instellingen zijn verricht. Er aan herinneren is niet meer nodig.*</string>
<string name="intro_leave_unchecked">* Niet aanvinken om later herinnerd te worden. Kan teruggezet in app instellingen / %s.</string>
<string name="intro_more_info">Meer informatie</string>
<string name="intro_tasks_jtx">jtx Board</string>
<string name="intro_tasks_jtx_info"><![CDATA[Synchroniseert taken, agenda\'s en notities met elke geschikte CalDAV-server.]]></string>
<string name="intro_tasks_title">Ondersteunt taken</string>
<string name="intro_tasks_text1">Als de server taken ondersteunt, synchroniseert een geschikte taken-app ze:</string>
<string name="intro_tasks_opentasks">OpenTasks</string>
<string name="intro_tasks_opentasks_info">Schijnt niet meer ontwikkeld te worden - niet aanbevolen.</string>
<string name="intro_tasks_tasks_org">Tasks.org</string>
<string name="intro_tasks_tasks_org_info"><![CDATA[Enkele functies <a href="https://www.davx5.com/faq/tasks/advanced-task-features">worden niet ondersteund</a>.]]></string>
<string name="intro_tasks_no_app_store">Geen app-store beschikbaar</string>
<string name="intro_tasks_dont_show">Ik hoef geen ondersteuning van taken.*</string>
<string name="intro_open_source_title">Open-source software</string>
<string name="intro_open_source_text">We zijn blij dat de keuze valt op open source software %s. Ontwikkelen, onderhouden en ondersteunen is veel werk. Overweeg daarom bij te dragen (kan op vele manieren) of een donatie. Wij waarderen het zeer!</string>
<string name="intro_open_source_details">Hoe bijdragen/doneren</string>
<string name="intro_open_source_dont_show">Herinner me er niet aan voor</string>
<plurals name="intro_open_source_dont_show_months">
<item quantity="one">%d maand</item>
<item quantity="other">%d maanden</item>
</plurals>
<string name="intro_next">Volgende</string>
<!--PermissionsActivity-->
<string name="permissions_title">Rechten toestaan</string>
<string name="permissions_text">%s heeft rechten nodig om goed te werken.</string>
<string name="permissions_all_title">Alle onderstaande</string>
<string name="permissions_all_status_off">Gebruik dit om alle functies in te schakelen (aanbevolen)</string>
<string name="permissions_all_status_on">Alle rechten toegekend</string>
<string name="permissions_contacts_title">Contacten toestaan</string>
<string name="permissions_contacts_status_off">Geen contacten synchroniseren (niet aanbevolen)</string>
<string name="permissions_contacts_status_on">Contacten synchroniseren mogelijk</string>
<string name="permissions_calendar_title">Kalender machtigingen</string>
<string name="permissions_calendar_status_off">Geen kalenders synchroniseren (niet aanbevolen)</string>
<string name="permissions_calendar_status_on"> Kalenders synchroniseren mogelijk</string>
<string name="permissions_notification_title">Toestemming voor meldingen</string>
<string name="permissions_notification_status_off">Meldingen uitgeschakeld (niet aanbevolen)</string>
<string name="permissions_notification_status_on">Meldingen ingeschakeld</string>
<string name="permissions_jtx_title">jtx Board-rechten</string>
<string name="permissions_opentasks_title">OpenTasks rechten</string>
<string name="permissions_tasksorg_title">Rechten voor taken</string>
<string name="permissions_tasks_status_off">Geen taak-sync</string>
<string name="permissions_tasks_status_on">Taak-sync mogelijk</string>
<string name="permissions_autoreset_title">Rechten behouden</string>
<string name="permissions_autoreset_status_off">Rechten kunnen automatisch worden teruggezet (niet aanbevolen)</string>
<string name="permissions_autoreset_status_on">Rechten worden niet automatisch teruggezet</string>
<string name="permissions_autoreset_instruction">Klik op App Rechten &gt; vinkje uit bij \"Rechten intrekken\"</string>
<string name="permissions_app_settings_hint">Als een schakeloptie niet werkt, gebruik dan App-info / Rechten.</string>
<string name="permissions_app_settings">App instellingen</string>
<!--WifiPermissionsActivity-->
<string name="permissions_text">%s heeft rechten nodig om goed te werken.</string>
<string name="permissions_all_title">Alle onderstaande</string>
<string name="permissions_all_status_off">Gebruik dit om alle functies in te schakelen (aanbevolen)</string>
<string name="permissions_all_status_on">Alle rechten toegekend</string>
<string name="permissions_contacts_title">Contacten toestaan</string>
<string name="permissions_contacts_status_off">Geen contacten synchroniseren (niet aanbevolen)</string>
<string name="permissions_contacts_status_on">Contacten synchroniseren mogelijk</string>
<string name="permissions_calendar_title">Kalender machtigingen</string>
<string name="permissions_calendar_status_off">Geen kalenders synchroniseren (niet aanbevolen)</string>
<string name="permissions_calendar_status_on"> Kalenders synchroniseren mogelijk</string>
<string name="permissions_notification_title">Toestemming voor meldingen</string>
<string name="permissions_notification_status_off">Meldingen uitgeschakeld (niet aanbevolen)</string>
<string name="permissions_notification_status_on">Meldingen ingeschakeld</string>
<string name="permissions_jtx_title">jtx Board-rechten</string>
<string name="permissions_opentasks_title">OpenTasks rechten</string>
<string name="permissions_tasksorg_title">Rechten voor taken</string>
<string name="permissions_tasks_status_off">Geen taak-sync</string>
<string name="permissions_tasks_status_on">Taak-sync mogelijk</string>
<string name="permissions_autoreset_title">Rechten behouden</string>
<string name="permissions_autoreset_status_off">Rechten kunnen automatisch worden teruggezet (niet aanbevolen)</string>
<string name="permissions_autoreset_status_on">Rechten worden niet automatisch teruggezet</string>
<string name="permissions_autoreset_instruction">Klik op App Rechten &gt; vinkje uit bij \"Rechten intrekken\"</string>
<string name="permissions_app_settings_hint">Als een schakeloptie niet werkt, gebruik dan App-info / Rechten.</string>
<string name="permissions_app_settings">App instellingen</string>
<!--WifiPermissionsActivity-->
<string name="wifi_permissions_label">WiFi SSID rechten</string>
<string name="wifi_permissions_intro">Voor toegang tot de huidige WiFi-naam (SSID), moet aan deze voorwaarden worden voldaan:</string>
<string name="wifi_permissions_location_permission">Recht van toegang tot exacte locatie</string>
<string name="wifi_permissions_location_permission_on">Toegang tot locatie verleend</string>
<string name="wifi_permissions_location_permission_off">Toegang tot locatie geweigerd</string>
<string name="wifi_permissions_background_location_permission">Toegang tot locatie op de achtergrond</string>
<string name="wifi_permissions_background_location_permission_label">Onbeperkt toestaan</string>
<string name="wifi_permissions_background_location_permission_on">Locatietoestemming ingesteld op: %s</string>
<string name="wifi_permissions_background_location_permission_off">Locatietoestemming niet ingesteld op: %s</string>
<string name="wifi_permissions_background_location_disclaimer">%s gebruikt locatiegegevens (alleen WiFi SSID) uitsluitend om de synchronisatie te beperken tot een specifieke WiFi SSID. Dit gebeurt zelfs als de synchronisatie op de achtergrond wordt uitgevoerd.</string>
<string name="wifi_permissions_background_location_disclaimer2">Alle locatiegegevens (alleen WiFi SSID) worden alleen lokaal gebruikt en worden nergens naartoe verzonden.</string>
<string name="wifi_permissions_location_enabled">Toegang tot locatie altijd ingeschakeld</string>
<string name="wifi_permissions_location_enabled_on">Toegang tot locatie is ingeschakeld</string>
<string name="wifi_permissions_location_enabled_off">Toegang tot locatie is uitgeschakeld</string>
<!--AboutActivity-->
<string name="wifi_permissions_intro">Voor toegang tot de huidige WiFi-naam (SSID), moet aan deze voorwaarden worden voldaan:</string>
<string name="wifi_permissions_location_permission">Recht van toegang tot exacte locatie</string>
<string name="wifi_permissions_location_permission_on">Toegang tot locatie verleend</string>
<string name="wifi_permissions_location_permission_off">Toegang tot locatie geweigerd</string>
<string name="wifi_permissions_background_location_permission">Toegang tot locatie op de achtergrond</string>
<string name="wifi_permissions_background_location_permission_label">Onbeperkt toestaan</string>
<string name="wifi_permissions_background_location_permission_on">Locatietoestemming ingesteld op: %s</string>
<string name="wifi_permissions_background_location_permission_off">Locatietoestemming niet ingesteld op: %s</string>
<string name="wifi_permissions_background_location_disclaimer">%s gebruikt locatiegegevens (alleen WiFi SSID) uitsluitend om de synchronisatie te beperken tot een specifieke WiFi SSID. Dit gebeurt zelfs als de synchronisatie op de achtergrond wordt uitgevoerd.</string>
<string name="wifi_permissions_background_location_disclaimer2">Alle locatiegegevens (alleen WiFi SSID) worden alleen lokaal gebruikt en worden nergens naartoe verzonden.</string>
<string name="wifi_permissions_location_enabled">Toegang tot locatie altijd ingeschakeld</string>
<string name="wifi_permissions_location_enabled_on">Toegang tot locatie is ingeschakeld</string>
<string name="wifi_permissions_location_enabled_off">Toegang tot locatie is uitgeschakeld</string>
<!--AboutActivity-->
<string name="about_translations">Vertalingen</string>
<string name="about_libraries">Bibliotheken</string>
<string name="about_version">Versie%1$s (%2$d)</string>
<string name="about_copyright">© Ricki Hirner, Bernhard Stockmann (bitfire web engineering GmbH) en bijdragers</string>
<string name="about_license_info_no_warranty">Dit programma wordt geleverd met ABSOLUUT GEEN GARANTIE. Het is gratis software, en mag opnieuw worden verspreid onder bepaalde voorwaarden.</string>
<!--global settings-->
<string name="about_libraries">Bibliotheken</string>
<string name="about_version">Versie%1$s (%2$d)</string>
<string name="about_copyright">© Ricki Hirner, Bernhard Stockmann (bitfire web engineering GmbH) en bijdragers</string>
<string name="about_license_info_no_warranty">Dit programma wordt geleverd met ABSOLUUT GEEN GARANTIE. Het is gratis software, en mag opnieuw worden verspreid onder bepaalde voorwaarden.</string>
<!--global settings-->
<string name="logging_couldnt_create_file">Kon geen logbestand aanmaken</string>
<string name="logging_notification_text">Logt nu alle %s activiteiten</string>
<string name="logging_notification_view_share">Bekijken/delen</string>
<string name="logging_notification_disable">Uitschakelen</string>
<!--AccountsScreen-->
<string name="logging_notification_text">Logt nu alle %s activiteiten</string>
<string name="logging_notification_view_share">Bekijken/delen</string>
<string name="logging_notification_disable">Uitschakelen</string>
<!--AccountsScreen-->
<string name="navigation_drawer_subtitle">CalDAV/CardDAV Sync adapter</string>
<string name="navigation_drawer_about">Over / Licentie</string>
<string name="navigation_drawer_beta_feedback">Beta terugkoppeling</string>
<string name="install_browser">Webbrowser is vereist</string>
<string name="navigation_drawer_settings">Instellingen</string>
<string name="navigation_drawer_news_updates">Nieuws &amp; updates</string>
<string name="navigation_drawer_tools">Gereedschap</string>
<string name="navigation_drawer_external_links">Externe links</string>
<string name="navigation_drawer_website">Website</string>
<string name="navigation_drawer_manual">Handleiding</string>
<string name="navigation_drawer_faq">FAQ</string>
<string name="navigation_drawer_managed">Voor organisaties</string>
<string name="navigation_drawer_community">Community</string>
<string name="navigation_drawer_support_project">Ondersteun het project</string>
<string name="navigation_drawer_contribute">Hoe bijdragen</string>
<string name="navigation_drawer_privacy_policy">Privacybeleid</string>
<string name="account_list_welcome">Welkom bij DAVx⁵!</string>
<string name="account_list_empty">Maak verbinding met je server en houd je agenda\'s en contactpersonen gesynchroniseerd.</string>
<string name="accounts_sync_all">Alle accounts synchroniseren</string>
<!--Sync warnings-->
<string name="sync_warning_no_notification_permission">Meldingen uitgeschakeld. U krijgt geen meldingen over synchronisatiefouten.</string>
<string name="sync_warning_no_internet">Automatische synchronisatie niet actief (geen geverifieerde internetverbinding).</string>
<string name="sync_warning_manage_connections">Verbindingen beheren</string>
<string name="sync_warning_datasaver_enabled">Gegevensbesparing ingeschakeld. Synchronisatie op de achtergrond is beperkt.</string>
<string name="sync_warning_manage_datasaver">Beheer van gegevensbesparing</string>
<string name="sync_warning_battery_saver_enabled">Batterijbesparing ingeschakeld. Synchronisatie kan beperkt zijn.</string>
<string name="sync_warning_manage_battery_saver">Batterijbesparing beheren</string>
<string name="sync_warning_low_storage">Weinig opslagruimte. Android zal lokale wijzigingen niet onmiddellijk synchroniseren, maar tijdens de volgende reguliere synchronisatie.</string>
<string name="sync_warning_manage_storage">Opslag beheren</string>
<string name="sync_warning_calendar_storage_disabled_title">Aanbieder voor Kalender ontbreekt</string>
<string name="sync_warning_calendar_storage_disabled_description">Heb je de systeemapp \"Kalenderopslag\" uitgeschakeld?</string>
<string name="sync_warning_contacts_storage_disabled_title">Aanbieder voor Contactpersonen ontbreekt</string>
<string name="sync_warning_contacts_storage_disabled_description">Heb je de systeemapp \"Contactenopslag\" uitgeschakeld?</string>
<string name="sync_warning_manage_apps">Apps beheren</string>
<!--RefreshCollectionsWorker-->
<string name="navigation_drawer_about">Over / Licentie</string>
<string name="navigation_drawer_beta_feedback">Beta terugkoppeling</string>
<string name="install_browser">Webbrowser is vereist</string>
<string name="navigation_drawer_settings">Instellingen</string>
<string name="navigation_drawer_news_updates">Nieuws &amp; updates</string>
<string name="navigation_drawer_tools">Gereedschap</string>
<string name="navigation_drawer_external_links">Externe links</string>
<string name="navigation_drawer_website">Website</string>
<string name="navigation_drawer_manual">Handleiding</string>
<string name="navigation_drawer_faq">FAQ</string>
<string name="navigation_drawer_managed">Voor organisaties</string>
<string name="navigation_drawer_community">Gemeenschap</string>
<string name="navigation_drawer_support_project">Ondersteun het project</string>
<string name="navigation_drawer_contribute">Hoe bijdragen</string>
<string name="navigation_drawer_privacy_policy">Privacybeleid</string>
<string name="account_list_welcome">Welkom bij DAVx⁵!</string>
<string name="account_list_empty">Maak verbinding met je server en houd je agenda\'s en contactpersonen gesynchroniseerd.</string>
<string name="accounts_sync_all">Alle accounts synchroniseren</string>
<!--Sync warnings-->
<string name="sync_warning_no_notification_permission">Meldingen uitgeschakeld. Je krijgt geen meldingen over synchronisatiefouten.</string>
<string name="sync_warning_no_internet">Automatische synchronisatie niet actief (geen geverifieerde internetverbinding).</string>
<string name="sync_warning_manage_connections">Verbindingen beheren</string>
<string name="sync_warning_datasaver_enabled">Gegevensbesparing ingeschakeld. Synchronisatie op de achtergrond is beperkt.</string>
<string name="sync_warning_manage_datasaver">Beheer van gegevensbesparing</string>
<string name="sync_warning_battery_saver_enabled">Batterijbesparing ingeschakeld. Synchronisatie kan beperkt zijn.</string>
<string name="sync_warning_manage_battery_saver">Batterijbesparing beheren</string>
<string name="sync_warning_low_storage">Weinig opslagruimte. Android zal lokale wijzigingen niet onmiddellijk synchroniseren, maar tijdens de volgende reguliere synchronisatie.</string>
<string name="sync_warning_manage_storage">Opslag beheren</string>
<string name="sync_warning_calendar_storage_disabled_title">Aanbieder voor Kalender ontbreekt</string>
<string name="sync_warning_calendar_storage_disabled_description">Heb je de systeemapp \"Kalenderopslag\" uitgeschakeld?</string>
<string name="sync_warning_contacts_storage_disabled_title">Aanbieder voor Contactpersonen ontbreekt</string>
<string name="sync_warning_contacts_storage_disabled_description">Heb je de systeemapp \"Contactenopslag\" uitgeschakeld?</string>
<string name="sync_warning_manage_apps">Apps beheren</string>
<!--RefreshCollectionsWorker-->
<string name="refresh_collections_worker_refresh_failed">Service herkenning is mislukt</string>
<string name="refresh_collections_worker_refresh_couldnt_refresh">De collectielijst is niet bijgewerkt</string>
<!--Foreground service used by WorkManager on Android <12-->
<string name="refresh_collections_worker_refresh_couldnt_refresh">De collectielijst is niet bijgewerkt</string>
<!--Foreground service used by WorkManager on Android <12-->
<string name="foreground_service_notify_title">Draait op de voorgrond</string>
<string name="foreground_service_notify_text">Op sommige toestellen is dit nodig voor automatische synchronisatie.</string>
<!--AppSettingsActivity-->
<string name="foreground_service_notify_text">Op sommige toestellen is dit nodig voor automatische synchronisatie.</string>
<!--AppSettingsActivity-->
<string name="app_settings">Instellingen</string>
<string name="app_settings_debug">Debuggen</string>
<string name="app_settings_show_debug_info">Debug-info</string>
<string name="app_settings_show_debug_info_details">Configuratiedetails en logbestanden bekijken/delen</string>
<string name="app_settings_logging">Uitgebreid loggen</string>
<string name="app_settings_logging_on">Loggen is actief. Je kunt de logs bekijken als onderdeel van de debug-info.</string>
<string name="app_settings_logging_off">Loggen is niet actief</string>
<string name="app_settings_battery_optimization">Batterijoptimalisatie</string>
<string name="app_settings_battery_optimization_exempted">App is vrijgesteld (aanbevolen)</string>
<string name="app_settings_battery_optimization_optimized">Batterijbeperkingen van toepassing (niet aanbevolen)</string>
<string name="app_settings_connection">Verbinding</string>
<string name="app_settings_proxy">Proxy-type</string>
<string-array name="app_settings_proxy_types">
<item>Systeem standaard</item>
<item>Geen proxy</item>
<item>HTTP</item>
<item>SOCKS (voor Orbot)</item>
</string-array>
<string name="app_settings_proxy_host">Proxy hostnaam</string>
<string name="app_settings_proxy_port">Proxy poort</string>
<string name="app_settings_security">Beveiliging</string>
<string name="app_settings_security_app_permissions">App rechten</string>
<string name="app_settings_security_app_permissions_summary">De vereiste rechten om te synchroniseren controleren</string>
<string name="app_settings_distrust_system_certs">Wantrouw systeemcertificaten</string>
<string name="app_settings_distrust_system_certs_on">Door systeem en gebruiker toegevoegde CA certificaten niet vertrouwen</string>
<string name="app_settings_distrust_system_certs_off">Door systeem en gebruiker toegevoegde CA certificaten vertrouwen (aanbevolen)</string>
<string name="app_settings_distrust_system_certs_dialog_message">Als deze instelling actief is, worden systeemcertificaten niet als betrouwbaar beschouwd. Dit betekent dat je elk certificaat handmatig moet accepteren (ook wanneer de server zijn certificaat vernieuwt) anders werken accountinstelling en synchronisatie niet.</string>
<string name="app_settings_reset_certificates">(Niet-)vertrouwde certificaten terugzetten</string>
<string name="app_settings_reset_certificates_summary">Herstelt het vertrouwen van alle aangepaste certificaten</string>
<string name="app_settings_reset_certificates_success">Alle aangepaste certificaten zijn gewist</string>
<string name="app_settings_user_interface">Gebruikersinterface</string>
<string name="app_settings_notification_settings">App-meldingen</string>
<string name="app_settings_notification_settings_summary">Meldingskanalen en hun instellingen beheren</string>
<string name="app_settings_theme_title">Thema selecteren</string>
<string-array name="app_settings_theme_names">
<item>Systeem standaard</item>
<item>Licht</item>
<item>Donker</item>
</string-array>
<string name="app_settings_reset_hints">Hints opnieuw instellen</string>
<string name="app_settings_reset_hints_summary">Hints die al gezien zijn opnieuw weergeven</string>
<string name="app_settings_reset_hints_success">Alle hints opnieuw weergeven</string>
<string name="app_settings_integration">Integratie</string>
<string name="app_settings_tasks_provider">Taken app</string>
<string name="app_settings_tasks_provider_none">Geen compatibele taken app gevonden</string>
<string name="app_settings_unifiedpush">UnifiedPush (experimenteel)</string>
<string name="app_settings_unifiedpush_disable">Geen (push uitschakelen)</string>
<string name="app_settings_unifiedpush_choose_distributor">Kies een distributeur</string>
<string name="app_settings_unifiedpush_no_distributor">Geen push distributeur geïnstalleerd</string>
<string name="app_settings_unifiedpush_no_endpoint">Geen eindpunt geconfigureerd</string>
<string name="app_settings_unifiedpush_ready">Klaar om pushberichten te ontvangen via %s</string>
<string name="app_settings_unifiedpush_distributor_fcm">FCM (Google Play)</string>
<string name="app_settings_unifiedpush_encrypted">Pushberichten zijn altijd versleuteld.</string>
<!--AccountScreen-->
<string name="app_settings_debug">Debuggen</string>
<string name="app_settings_show_debug_info">Debug-info</string>
<string name="app_settings_show_debug_info_details">Configuratiedetails en logbestanden bekijken/delen</string>
<string name="app_settings_logging">Uitgebreid loggen</string>
<string name="app_settings_logging_on">Loggen is actief. Je kunt de logs bekijken als onderdeel van de debug-info.</string>
<string name="app_settings_logging_off">Loggen is niet actief</string>
<string name="app_settings_battery_optimization">Batterijoptimalisatie</string>
<string name="app_settings_battery_optimization_exempted">App is vrijgesteld (aanbevolen)</string>
<string name="app_settings_battery_optimization_optimized">Batterijbeperkingen van toepassing (niet aanbevolen)</string>
<string name="app_settings_connection">Verbinding</string>
<string name="app_settings_proxy">Proxy-type</string>
<string-array name="app_settings_proxy_types">
<item>Systeem standaard</item>
<item>Geen proxy</item>
<item>HTTP</item>
<item>SOCKS (voor Orbot)</item>
</string-array>
<string name="app_settings_proxy_host">Proxy hostnaam</string>
<string name="app_settings_proxy_port">Proxy poort</string>
<string name="app_settings_security">Beveiliging</string>
<string name="app_settings_security_app_permissions">App rechten</string>
<string name="app_settings_security_app_permissions_summary">De vereiste rechten om te synchroniseren controleren</string>
<string name="app_settings_distrust_system_certs">Wantrouw systeemcertificaten</string>
<string name="app_settings_distrust_system_certs_on">Door systeem en gebruiker toegevoegde CA certificaten niet vertrouwen</string>
<string name="app_settings_distrust_system_certs_off">Door systeem en gebruiker toegevoegde CA certificaten vertrouwen (aanbevolen)</string>
<string name="app_settings_distrust_system_certs_dialog_message">Als deze instelling actief is, worden systeemcertificaten niet als betrouwbaar beschouwd. Dit betekent dat je elk certificaat handmatig moet accepteren (ook wanneer de server zijn certificaat vernieuwt) anders werken accountinstelling en synchronisatie niet.</string>
<string name="app_settings_reset_certificates">(Niet-)vertrouwde certificaten terugzetten</string>
<string name="app_settings_reset_certificates_summary">Herstelt het vertrouwen van alle aangepaste certificaten</string>
<string name="app_settings_reset_certificates_success">Alle aangepaste certificaten zijn gewist</string>
<string name="app_settings_user_interface">Gebruikersinterface</string>
<string name="app_settings_notification_settings">App-meldingen</string>
<string name="app_settings_notification_settings_summary">Meldingskanalen en hun instellingen beheren</string>
<string name="app_settings_theme_title">Thema selecteren</string>
<string-array name="app_settings_theme_names">
<item>Systeem standaard</item>
<item>Licht</item>
<item>Donker</item>
</string-array>
<string name="app_settings_reset_hints">Hints opnieuw instellen</string>
<string name="app_settings_reset_hints_summary">Hints die al gezien zijn opnieuw weergeven</string>
<string name="app_settings_reset_hints_success">Alle hints opnieuw weergeven</string>
<string name="app_settings_integration">Integratie</string>
<string name="app_settings_tasks_provider">Taken app</string>
<string name="app_settings_tasks_provider_none">Geen compatibele taken app gevonden</string>
<string name="app_settings_unifiedpush">UnifiedPush (experimenteel)</string>
<string name="app_settings_unifiedpush_disable">Geen (push uitschakelen)</string>
<string name="app_settings_unifiedpush_choose_distributor">Kies een distributeur</string>
<string name="app_settings_unifiedpush_no_distributor">Geen push distributeur geïnstalleerd</string>
<string name="app_settings_unifiedpush_no_endpoint">Geen eindpunt geconfigureerd</string>
<string name="app_settings_unifiedpush_ready">Klaar om pushberichten te ontvangen via %s</string>
<string name="app_settings_unifiedpush_distributor_fcm">FCM (Google Play)</string>
<string name="app_settings_unifiedpush_encrypted">Pushberichten zijn altijd versleuteld.</string>
<!--AccountScreen-->
<string name="account_invalid_account">Account is verwijderd</string>
<string name="account_carddav">CardDAV</string>
<string name="account_caldav">CalDAV</string>
<string name="account_webcal">Webcal</string>
<string name="account_missing_permissions">Er zijn extra rechten nodig om deze collecties te synchroniseren.</string>
<string name="account_manage_permissions">Machtigingen beheren</string>
<string name="account_synchronize_now">Nu synchroniseren</string>
<string name="account_settings">Account-instellingen</string>
<string name="account_rename">Accountnaam wijzigen</string>
<string name="account_rename_new_name_description">Niet opgeslagen lokale gegevens kunnen worden verwijderd. Na het hernoemen is opnieuw synchroniseren vereist.</string>
<string name="account_rename_new_name">Nieuwe accountnaam</string>
<string name="account_rename_rename">Naam wijzigen</string>
<string name="account_rename_exists_already">Accountnaam is al in gebruik</string>
<string name="account_rename_couldnt_rename">Accountnaam is niet gewijzigd</string>
<string name="account_delete">Account verwijderen</string>
<string name="account_delete_confirmation_title">Account echt verwijderen?</string>
<string name="account_delete_confirmation_text">Alle lokale kopieën van adresboeken, kalenders en takenlijsten worden verwijderd.</string>
<string name="account_synchronize_this_collection">deze collectie synchroniseren</string>
<string name="account_read_only">alleen-lezen</string>
<string name="account_calendar">kalender</string>
<string name="account_contacts">contacten</string>
<string name="account_journal">logboek</string>
<string name="account_task_list">taken</string>
<string name="account_only_personal">Alleen persoonlijk tonen</string>
<string name="account_refresh_collections">Lijst verversen</string>
<string name="account_webcal_external_app">Webcal abonnementen kunnen worden gesynchroniseerd met externe apps.</string>
<string name="account_no_webcal_handler_found">Geen Webcal-app gevonden</string>
<string name="account_install_icsx5">ICSx⁵ installeren</string>
<!--AddAccountActivity-->
<string name="account_carddav">CardDAV</string>
<string name="account_caldav">CalDAV</string>
<string name="account_webcal">Webcal</string>
<string name="account_missing_permissions">Er zijn extra rechten nodig om deze collecties te synchroniseren.</string>
<string name="account_manage_permissions">Machtigingen beheren</string>
<string name="account_synchronize_now">Nu synchroniseren</string>
<string name="account_settings">Account-instellingen</string>
<string name="account_rename">Accountnaam wijzigen</string>
<string name="account_rename_new_name_description">Niet opgeslagen lokale gegevens kunnen worden verwijderd. Na het hernoemen is opnieuw synchroniseren vereist.</string>
<string name="account_rename_new_name">Nieuwe accountnaam</string>
<string name="account_rename_rename">Naam wijzigen</string>
<string name="account_rename_exists_already">Accountnaam is al in gebruik</string>
<string name="account_rename_couldnt_rename">Accountnaam is niet gewijzigd</string>
<string name="account_delete">Account verwijderen</string>
<string name="account_delete_confirmation_title">Account echt verwijderen?</string>
<string name="account_delete_confirmation_text">Alle lokale kopieën van adresboeken, kalenders en takenlijsten worden verwijderd.</string>
<string name="account_synchronize_this_collection">deze collectie synchroniseren</string>
<string name="account_read_only">alleen-lezen</string>
<string name="account_calendar">kalender</string>
<string name="account_contacts">contacten</string>
<string name="account_journal">logboek</string>
<string name="account_task_list">taken</string>
<string name="account_only_personal">Alleen persoonlijk tonen</string>
<string name="account_refresh_collections">Lijst verversen</string>
<string name="account_webcal_external_app">Webcal abonnementen kunnen worden gesynchroniseerd met externe apps.</string>
<string name="account_no_webcal_handler_found">Geen Webcal-app gevonden</string>
<string name="account_install_icsx5">ICSx⁵ installeren</string>
<!--AddAccountActivity-->
<string name="login_title">Account toevoegen</string>
<string name="login_privacy_hint"><![CDATA[Alle gegevens worden alleen overgedragen tussen je server en je apparaat. %1$s zal ze nergens anders naartoe sturen. Zie<a href="%2$s">privacybeleid</a>.]]></string>
<string name="login_generic_login">Algemeen inloggen</string>
<string name="login_provider_login">Aanbieder-specifieke login</string>
<string name="login_continue">Ga verder</string>
<string name="login_login">Login</string>
<string name="login_type_email">Inloggen met e-mailadres</string>
<string name="login_email_address">E-mailadres</string>
<string name="login_email_address_error">Geldig e-mailadres vereist</string>
<string name="login_email_address_info"><![CDATA[Het e-maildomein wordt gebruikt als basis-URL. <a href="%s">Diensten worden ontdekt</a> met behulp van DNS-records en bekende URL\'s.]]></string>
<string name="login_password">Wachtwoord</string>
<string name="login_password_hide">Wachtwoord verbergen</string>
<string name="login_password_show">Wachtwoord tonen</string>
<string name="login_password_optional">Wachtwoord (optioneel)</string>
<string name="login_type_url">Inloggen met URL en gebruikersnaam</string>
<string name="login_user_name">Gebruikersnaam</string>
<string name="login_user_name_optional">Gebruikersnaam (optioneel)</string>
<string name="login_base_url">Basis-URL</string>
<string name="login_base_url_info"><![CDATA[De basis URL wordt direct gecontroleerd, maar <a href="%s">services worden ook ontdekt</a> met behulp van DNS records en bekende URL\'s.]]></string>
<string name="login_select_certificate">Certificaat selecteren</string>
<string name="login_add_account">Account toevoegen</string>
<string name="login_account_name">Accountnaam</string>
<string name="login_account_avoid_apostrophe">Het gebruik van apostrofs (\') lijkt problemen te veroorzaken op sommige apparaten.</string>
<string name="login_account_name_info">Gebruik het eigen e-mailadres als accountnaam, want Android gebruikt het als ORGANIZER veld voor gebeurtenissen. Twee accounts met hetzelfde adres kan niet.</string>
<string name="login_account_contact_group_method">Methode voor contact-groepen:</string>
<string name="login_account_name_required">Accountnaam verplicht</string>
<string name="login_account_name_already_taken">Accountnaam is al in gebruik</string>
<string name="login_account_not_added">Account kon niet worden toegevoegd</string>
<string name="login_finish">Afwerken</string>
<string name="login_type_advanced">Geavanceerd inloggen</string>
<string name="login_no_client_certificate_optional">Geen cliëntcertificaat (optioneel)</string>
<string name="login_client_certificate_selected">Cliëntcertificaat: %s</string>
<string name="login_no_certificate_found">Geen certificaat gevonden</string>
<string name="login_install_certificate">Certificaat installeren</string>
<string name="login_fastmail">Fastmail</string>
<string name="login_fastmail_account">Fastmail-account</string>
<string name="login_fastmail_sign_in">Inloggen met Fastmail</string>
<string name="login_type_google">Google Contacten / Kalender</string>
<string name="login_google_account">Google account</string>
<string name="login_google">Inloggen met Google</string>
<string name="login_google_client_id">Client ID (optioneel)</string>
<string name="login_google_client_privacy_policy"><![CDATA[%1$s draagt uw Google Contacten en Agenda gegevens uitsluitend over voor synchronisatie met dit apparaat. Zie ons Privacybeleid voor meer informatie. Zie ons <a href="%2$s">Privacybeleid</a> voor meer informatie.]]></string>
<string name="login_google_client_limited_use"><![CDATA[%1$s voldoet aan het <a href="%2$s">beleid voor gebruikersgegevens van Google API Services</a>, met inbegrip van de vereisten voor beperkt gebruik.]]></string>
<string name="login_oauth_couldnt_obtain_auth_code">Kon geen autorisatiecode verkrijgen</string>
<string name="login_type_nextcloud">Nextcloud</string>
<string name="login_nextcloud_login_with_nextcloud">Inloggen met Nextcloud</string>
<string name="login_nextcloud_login_flow_text">Hiermee wordt de Nextcloud Flow-aanmelding in een webbrowser gestart.</string>
<string name="login_nextcloud_login_flow_server_address">Nextcloud serveradres</string>
<string name="login_nextcloud_login_flow_sign_in">Aanmelden</string>
<string name="login_nextcloud_login_flow_no_login_url">Kan inlog-URL niet verkrijgen</string>
<string name="login_nextcloud_login_flow_no_login_data">Kan inlog-URL niet verkrijgen</string>
<string name="login_configuration_detection">Configuratie detecteren</string>
<string name="login_querying_server">Even geduld, verzoek naar server…</string>
<string name="login_no_service">Geen CalDAV- of CardDAV-service gevonden.</string>
<string name="login_no_service_info">De basis URL lijkt geen toegankelijke CalDAV/CardDAV URL te zijn en de detectie van de service was niet succesvol.</string>
<string name="login_see_tested_services"><![CDATA[Raadpleeg de handleiding van uw serviceprovider en <a href="%s">onze lijst met geteste services</a> en hun basis URL\'s.]]></string>
<string name="login_check_credentials">Controleer ook de authenticatie (meestal gebruikersnaam en wachtwoord).</string>
<string name="login_logs_available">Meer technische informatie is beschikbaar in de logboeken.</string>
<string name="login_view_logs">Details bekijken</string>
<!--AccountSettingsActivity-->
<string name="login_privacy_hint"><![CDATA[Alle gegevens worden alleen overgedragen tussen je server en je apparaat. %1$s zal ze nergens anders naartoe sturen. Zie<a href="%2$s">privacybeleid</a>.]]></string>
<string name="login_generic_login">Algemeen inloggen</string>
<string name="login_provider_login">Aanbieder-specifieke login</string>
<string name="login_continue">Ga verder</string>
<string name="login_login">Login</string>
<string name="login_type_email">Inloggen met e-mailadres</string>
<string name="login_email_address">E-mailadres</string>
<string name="login_email_address_error">Geldig e-mailadres vereist</string>
<string name="login_email_address_info"><![CDATA[Het e-maildomein wordt gebruikt als basis-URL. <a href="%s">Diensten worden ontdekt</a> met behulp van DNS-records en bekende URL\'s.]]></string>
<string name="login_password">Wachtwoord</string>
<string name="login_password_hide">Wachtwoord verbergen</string>
<string name="login_password_show">Wachtwoord tonen</string>
<string name="login_password_optional">Wachtwoord (optioneel)</string>
<string name="login_type_url">Inloggen met URL en gebruikersnaam</string>
<string name="login_user_name">Gebruikersnaam</string>
<string name="login_user_name_optional">Gebruikersnaam (optioneel)</string>
<string name="login_base_url">Basis-URL</string>
<string name="login_base_url_info"><![CDATA[De basis URL wordt direct gecontroleerd, maar <a href="%s">services worden ook ontdekt</a> met behulp van DNS records en bekende URL\'s.]]></string>
<string name="login_select_certificate">Certificaat selecteren</string>
<string name="login_add_account">Account toevoegen</string>
<string name="login_account_name">Accountnaam</string>
<string name="login_account_avoid_apostrophe">Het gebruik van apostrofs (\') lijkt problemen te veroorzaken op sommige apparaten.</string>
<string name="login_account_name_info">Gebruik het eigen e-mailadres als accountnaam, want Android gebruikt het als ORGANIZER veld voor gebeurtenissen. Twee accounts met hetzelfde adres kan niet.</string>
<string name="login_account_contact_group_method">Methode voor contact-groepen:</string>
<string name="login_account_name_required">Accountnaam verplicht</string>
<string name="login_account_name_already_taken">Accountnaam is al in gebruik</string>
<string name="login_account_not_added">Account kon niet worden toegevoegd</string>
<string name="login_finish">Afwerken</string>
<string name="login_type_advanced">Geavanceerd inloggen</string>
<string name="login_no_client_certificate_optional">Geen cliëntcertificaat (optioneel)</string>
<string name="login_client_certificate_selected">Cliëntcertificaat: %s</string>
<string name="login_no_certificate_found">Geen certificaat gevonden</string>
<string name="login_install_certificate">Certificaat installeren</string>
<string name="login_fastmail">Fastmail</string>
<string name="login_fastmail_account">Fastmail-account</string>
<string name="login_fastmail_sign_in">Inloggen met Fastmail</string>
<string name="login_type_google">Google Contacten / Kalender</string>
<string name="login_google_account">Google account</string>
<string name="login_google">Inloggen met Google</string>
<string name="login_google_client_id">Client ID (optioneel)</string>
<string name="login_google_client_privacy_policy"><![CDATA[%1$s draagt jouw Google Contacten en Agendagegevens uitsluitend over voor synchronisatie met dit apparaat. Zie ons Privacybeleid voor meer informatie. Zie ons <a href="%2$s">Privacybeleid</a> voor meer informatie.]]></string>
<string name="login_google_client_limited_use"><![CDATA[%1$s voldoet aan het <a href="%2$s">beleid voor gebruikersgegevens van Google API Services</a>, met inbegrip van de vereisten voor beperkt gebruik.]]></string>
<string name="login_oauth_couldnt_obtain_auth_code">Kon geen autorisatiecode verkrijgen</string>
<string name="login_type_nextcloud">Nextcloud</string>
<string name="login_nextcloud_login_with_nextcloud">Inloggen met Nextcloud</string>
<string name="login_nextcloud_login_flow_text">Hiermee wordt de Nextcloud Flow-aanmelding in een webbrowser gestart.</string>
<string name="login_nextcloud_login_flow_server_address">Nextcloud serveradres</string>
<string name="login_nextcloud_login_flow_sign_in">Aanmelden</string>
<string name="login_nextcloud_login_flow_no_login_url">Kan inlog-URL niet verkrijgen</string>
<string name="login_nextcloud_login_flow_no_login_data">Kan inlog-URL niet verkrijgen</string>
<string name="login_configuration_detection">Configuratie detecteren</string>
<string name="login_querying_server">Even geduld, verzoek naar server…</string>
<string name="login_no_service">Geen CalDAV- of CardDAV-service gevonden.</string>
<string name="login_no_service_info">De basis URL lijkt geen toegankelijke CalDAV/CardDAV URL te zijn en de detectie van de service was niet succesvol.</string>
<string name="login_see_tested_services"><![CDATA[Raadpleeg de handleiding van jouw serviceprovider en <a href="%s">onze lijst met geteste services</a> en hun basis URL\'s.]]></string>
<string name="login_check_credentials">Controleer ook de authenticatie (meestal gebruikersnaam en wachtwoord).</string>
<string name="login_logs_available">Meer technische informatie is beschikbaar in de logboeken.</string>
<string name="login_view_logs">Details bekijken</string>
<!--AccountSettingsActivity-->
<string name="settings_sync">Synchronisatie</string>
<string name="settings_sync_interval_contacts">Contacten synchronisatie interval</string>
<string name="settings_sync_summary_manually">Alleen handmatig</string>
<string name="settings_sync_summary_periodically" tools:ignore="PluralsCandidate">Elke %d minuten + direct bij lokale veranderingen</string>
<string name="settings_sync_interval_calendars">Kalenders synchronisatie-interval</string>
<string name="settings_sync_interval_tasks">Taken synchronisatie-interval</string>
<string-array name="settings_sync_interval_names">
<item>Handmatig </item>
<item>Elke 15 minuten </item>
<item>Elke 30 minuten</item>
<item>Elk uur</item>
<item>Elke 2 uur</item>
<item>Elke 4 uur</item>
<item>Eenmaal daags</item>
</string-array>
<string name="settings_sync_wifi_only">Synchronisatie beperken tot WiFi</string>
<string name="settings_sync_wifi_only_on">Alleen verbinden via WiFi</string>
<string name="settings_sync_wifi_only_off">Type verbinding is niet relevant</string>
<string name="settings_sync_wifi_only_ssids">Tot bepaalde WiFi-SSID beperken</string>
<string name="settings_sync_wifi_only_ssids_on">Synchronisatie alleen via %s</string>
<string name="settings_sync_wifi_only_ssids_off">Elke WiFI-SSID toestaan</string>
<string name="settings_sync_wifi_only_ssids_message">Door komma\'s gescheiden namen (SSID\'s) van toegestane WiFi-netwerken (laat leeg voor alle)</string>
<string name="settings_sync_wifi_only_ssids_permissions_required">Beperking WiFi-SSID vereist verdere instellingen</string>
<string name="settings_sync_wifi_only_ssids_permissions_action">Beheren</string>
<string name="settings_ignore_vpns">VPN vereist onderliggend internet</string>
<string name="settings_ignore_vpns_on">VPN zonder onderliggende gevalideerde internetverbinding is niet voldoende om synchronisatie uit te voeren (aanbevolen)</string>
<string name="settings_ignore_vpns_off">VPN zonder onderliggende gevalideerde internetverbinding is voldoende om synchronisatie uit te voeren</string>
<string name="settings_authentication">Authenticatie</string>
<string name="settings_username">Gebruikersnaam</string>
<string name="settings_password">Wachtwoord of app-wachtwoord</string>
<string name="settings_app_password_hint"><![CDATA[Misschien gebruik je liever een <a href="%1$s">app-wachtwoord</a>.]]></string>
<string name="settings_new_password">Nieuw wachtwoord</string>
<string name="settings_password_summary">Gebruik het zelfde wachtwoord als op de server.</string>
<string name="settings_reauthorize_oauth">Opnieuw autoriseren (OAuth)</string>
<string name="settings_reauthorize_oauth_summary">Gebruiken wanneer de toegang is ingetrokken</string>
<string name="settings_reauthorize_oauth_success">Autorisatie geslaagd</string>
<string name="settings_certificate_alias">Cliëntcertificaat</string>
<string name="settings_certificate_alias_empty">Geen certificaat beschikbaar of geselecteerd</string>
<string name="settings_certificate_install">Certificaat installeren</string>
<string name="settings_caldav">CalDAV</string>
<string name="settings_sync_time_range_past">Gebeurtenissen in verleden tijd</string>
<string name="settings_sync_time_range_past_none">Worden alle gesynchroniseerd</string>
<plurals name="settings_sync_time_range_past_days">
<item quantity="one">Afspraken ouder dan een dag worden genegeerd</item>
<item quantity="other">Ouder dan %d dagen worden genegeerd</item>
</plurals>
<string name="settings_sync_time_range_past_message">Gebeurtenissen ouder dan ingevuld aantal dagen worden genegeerd (mag 0 zijn). Veld leeg laten om alle te synchroniseren.</string>
<string name="settings_default_alarm">Standaardherinnering</string>
<plurals name="settings_default_alarm_on">
<item quantity="one">Standaardherinnering één minut voor het evenement</item>
<item quantity="other"> %d minuten voor aanvang gebeurtenis</item>
</plurals>
<string name="settings_default_alarm_off">Wordt niet aangemaakt</string>
<string name="settings_default_alarm_message">Vul het gewenste aantal minuten in. Leeg laten om herinneringen uit te schakelen.</string>
<string name="settings_manage_calendar_colors">Kalender kleuren beheren</string>
<string name="settings_manage_calendar_colors_on">Worden bij elke sync teruggezet</string>
<string name="settings_manage_calendar_colors_off">Kunnen door andere apps worden ingesteld</string>
<string name="settings_event_colors">Gebeurtenis kleuren ondersteunen</string>
<string name="settings_event_colors_on">Worden gesynchroniseerd</string>
<string name="settings_event_colors_off">Worden niet gesynchroniseerd</string>
<string name="settings_carddav">CardDAV</string>
<string name="settings_contact_group_method">Methode voor contact-groepen:</string>
<string-array name="settings_contact_group_method_entries">
<item>Groepen zijn afzonderlijke vCards</item>
<item>Groepen zijn categorieën per contact</item>
</string-array>
<!--CreateAddressBookScreen, CreateCalendarScreen-->
<string name="settings_sync_interval_contacts">Contacten synchronisatie interval</string>
<string name="settings_sync_summary_manually">Alleen handmatig</string>
<string name="settings_sync_summary_periodically" tools:ignore="PluralsCandidate">Elke %d minuten + direct bij lokale veranderingen</string>
<string name="settings_sync_interval_calendars">Kalenders synchronisatie-interval</string>
<string name="settings_sync_interval_tasks">Taken synchronisatie-interval</string>
<string-array name="settings_sync_interval_names">
<item>Handmatig </item>
<item>Elke 15 minuten </item>
<item>Elke 30 minuten</item>
<item>Elk uur</item>
<item>Elke 2 uur</item>
<item>Elke 4 uur</item>
<item>Eenmaal daags</item>
</string-array>
<string name="settings_sync_wifi_only">Synchronisatie beperken tot WiFi</string>
<string name="settings_sync_wifi_only_on">Alleen verbinden via WiFi</string>
<string name="settings_sync_wifi_only_off">Type verbinding is niet relevant</string>
<string name="settings_sync_wifi_only_ssids">Tot bepaalde WiFi-SSID beperken</string>
<string name="settings_sync_wifi_only_ssids_on">Synchronisatie alleen via %s</string>
<string name="settings_sync_wifi_only_ssids_off">Elke WiFI-SSID toestaan</string>
<string name="settings_sync_wifi_only_ssids_message">Door komma\'s gescheiden namen (SSID\'s) van toegestane WiFi-netwerken (laat leeg voor alle)</string>
<string name="settings_sync_wifi_only_ssids_permissions_required">Beperking WiFi-SSID vereist verdere instellingen</string>
<string name="settings_sync_wifi_only_ssids_permissions_action">Beheren</string>
<string name="settings_ignore_vpns">VPN vereist onderliggend internet</string>
<string name="settings_ignore_vpns_on">VPN zonder onderliggende gevalideerde internetverbinding is niet voldoende om synchronisatie uit te voeren (aanbevolen)</string>
<string name="settings_ignore_vpns_off">VPN zonder onderliggende gevalideerde internetverbinding is voldoende om synchronisatie uit te voeren</string>
<string name="settings_authentication">Authenticatie</string>
<string name="settings_username">Gebruikersnaam</string>
<string name="settings_password">Wachtwoord of app-wachtwoord</string>
<string name="settings_app_password_hint"><![CDATA[Misschien gebruik je liever een <a href="%1$s">app-wachtwoord</a>.]]></string>
<string name="settings_new_password">Nieuw wachtwoord</string>
<string name="settings_password_summary">Gebruik het zelfde wachtwoord als op de server.</string>
<string name="settings_reauthorize_oauth">Opnieuw autoriseren (OAuth)</string>
<string name="settings_reauthorize_oauth_summary">Gebruiken wanneer de toegang is ingetrokken</string>
<string name="settings_reauthorize_oauth_success">Autorisatie geslaagd</string>
<string name="settings_certificate_alias">Cliëntcertificaat</string>
<string name="settings_certificate_alias_empty">Geen certificaat beschikbaar of geselecteerd</string>
<string name="settings_certificate_install">Certificaat installeren</string>
<string name="settings_caldav">CalDAV</string>
<string name="settings_sync_time_range_past">Gebeurtenissen in verleden tijd</string>
<string name="settings_sync_time_range_past_none">Worden alle gesynchroniseerd</string>
<plurals name="settings_sync_time_range_past_days">
<item quantity="one">Afspraken ouder dan een dag worden genegeerd</item>
<item quantity="other">Ouder dan %d dagen worden genegeerd</item>
</plurals>
<string name="settings_sync_time_range_past_message">Gebeurtenissen ouder dan ingevuld aantal dagen worden genegeerd (mag 0 zijn). Veld leeg laten om alle te synchroniseren.</string>
<string name="settings_default_alarm">Standaardherinnering</string>
<plurals name="settings_default_alarm_on">
<item quantity="one">Standaardherinnering één minut voor het evenement</item>
<item quantity="other"> %d minuten voor aanvang gebeurtenis</item>
</plurals>
<string name="settings_default_alarm_off">Wordt niet aangemaakt</string>
<string name="settings_default_alarm_message">Vul het gewenste aantal minuten in. Leeg laten om herinneringen uit te schakelen.</string>
<string name="settings_manage_calendar_colors">Kalender kleuren beheren</string>
<string name="settings_manage_calendar_colors_on">Worden bij elke sync teruggezet</string>
<string name="settings_manage_calendar_colors_off">Kunnen door andere apps worden ingesteld</string>
<string name="settings_event_colors">Gebeurtenis kleuren ondersteunen</string>
<string name="settings_event_colors_on">Worden gesynchroniseerd</string>
<string name="settings_event_colors_off">Worden niet gesynchroniseerd</string>
<string name="settings_carddav">CardDAV</string>
<string name="settings_contact_group_method">Methode voor contact-groepen</string>
<string-array name="settings_contact_group_method_entries">
<item>Groepen zijn afzonderlijke vCards</item>
<item>Groepen zijn categorieën per contact</item>
</string-array>
<!--CreateAddressBookScreen, CreateCalendarScreen-->
<string name="create_addressbook">Adresboek aanmaken</string>
<string name="create_addressbook_maybe_not_supported">Het aanmaken van een adresboek via CardDAV wordt mogelijk niet ondersteund door de server.</string>
<string name="create_calendar">Kalender aanmaken</string>
<string name="create_calendar_time_zone_optional">Standaard tijdzone (optioneel)</string>
<string name="create_calendar_time_zone_none"></string>
<string name="create_calendar_type">Mogelijke kalender-items</string>
<string name="create_calendar_type_vevent">Gebeurtenissen</string>
<string name="create_calendar_type_vtodo">Taken</string>
<string name="create_calendar_type_vjournal">Notities / Dagboek</string>
<string name="create_calendar_maybe_not_supported">Het aanmaken van een kalender via CalDAV wordt mogelijk niet ondersteund door de server.</string>
<string name="create_collection_color">Kleur</string>
<string name="create_collection_display_name">Titel</string>
<string name="create_collection_home_set">Opslaglocatie</string>
<string name="create_collection_description_optional">Beschrijving (optioneel)</string>
<string name="create_collection_create">Aanmaken</string>
<!--CollectionScreen-->
<string name="create_addressbook_maybe_not_supported">Het aanmaken van een adresboek via CardDAV wordt mogelijk niet ondersteund door de server.</string>
<string name="create_calendar">Kalender aanmaken</string>
<string name="create_calendar_time_zone_optional">Standaard tijdzone (optioneel)</string>
<string name="create_calendar_time_zone_none"></string>
<string name="create_calendar_type">Mogelijke kalender-items</string>
<string name="create_calendar_type_vevent">Gebeurtenissen</string>
<string name="create_calendar_type_vtodo">Taken</string>
<string name="create_calendar_type_vjournal">Notities / Dagboek</string>
<string name="create_calendar_maybe_not_supported">Het aanmaken van een kalender via CalDAV wordt mogelijk niet ondersteund door de server.</string>
<string name="create_collection_color">Kleur</string>
<string name="create_collection_display_name">Titel</string>
<string name="create_collection_home_set">Opslaglocatie</string>
<string name="create_collection_description_optional">Beschrijving (optioneel)</string>
<string name="create_collection_create">Aanmaken</string>
<!--CollectionScreen-->
<string name="collection_datatype_contacts">contacten</string>
<string name="collection_datatype_events">gebeurtenissen</string>
<string name="collection_datatype_tasks">taken</string>
<string name="collection_delete">Collectie verwijderen</string>
<string name="collection_delete_warning">Deze collectie (%s) en alle gegevens worden permanent verwijderd, zowel lokaal als op de server.</string>
<string name="collection_synchronization">Synchroniseren</string>
<string name="collection_synchronization_on">Synchronisatie ingeschakeld</string>
<string name="collection_synchronization_off">Synchronisatie uitgeschakeld</string>
<string name="collection_read_only">Alleen-lezen</string>
<string name="collection_read_only_by_server">Alleen-lezen (door server)</string>
<string name="collection_read_only_by_setting">Alleen-lezen (volgens beleid)</string>
<string name="collection_read_only_forced">Alleen-lezen (alleen lokaal)</string>
<string name="collection_read_write">Lezen/schrijven</string>
<string name="collection_title">Titel</string>
<string name="collection_description">Beschrijving</string>
<string name="collection_owner">Eigenaar</string>
<string name="collection_push_support">Push-ondersteuning</string>
<string name="collection_push_web_push">Server adverteert Push-ondersteuning</string>
<string name="collection_push_subscribed_at">Ingeschreven op %1$s, vervalt op %2$s</string>
<string name="collection_last_sync">Laatste synchronisatie (%s)</string>
<string name="collection_url">Adres (URL)</string>
<!--debugging and DebugInfoActivity-->
<string name="collection_datatype_events">gebeurtenissen</string>
<string name="collection_datatype_tasks">taken</string>
<string name="collection_delete">Collectie verwijderen</string>
<string name="collection_delete_warning">Deze collectie (%s) en alle gegevens worden permanent verwijderd, zowel lokaal als op de server.</string>
<string name="collection_synchronization">Synchroniseren</string>
<string name="collection_synchronization_on">Synchronisatie ingeschakeld</string>
<string name="collection_synchronization_off">Synchronisatie uitgeschakeld</string>
<string name="collection_read_only">Alleen-lezen</string>
<string name="collection_read_only_by_server">Alleen-lezen (door server)</string>
<string name="collection_read_only_by_setting">Alleen-lezen (volgens beleid)</string>
<string name="collection_read_only_forced">Alleen-lezen (alleen lokaal)</string>
<string name="collection_read_write">Lezen/schrijven</string>
<string name="collection_title">Titel</string>
<string name="collection_description">Beschrijving</string>
<string name="collection_owner">Eigenaar</string>
<string name="collection_push_support">Push-ondersteuning</string>
<string name="collection_push_web_push">Server adverteert Push-ondersteuning</string>
<string name="collection_push_subscribed_at">Ingeschreven op %1$s, vervalt op %2$s</string>
<string name="collection_last_sync">Laatste synchronisatie (%s)</string>
<string name="collection_url">Adres (URL)</string>
<!--debugging and DebugInfoActivity-->
<string name="debug_info_title">Debug informatie</string>
<string name="debug_info_archive_caption">ZIP archief</string>
<string name="debug_info_archive_subtitle">Bevat debuginformatie en logbestanden</string>
<string name="debug_info_archive_text">Deel het archief om over te zetten naar een computer, per e-mail te verzenden of als bijlage bij een supportticket te voegen..</string>
<string name="debug_info_archive_share">Archief delen</string>
<string name="debug_info_attached">Debug info als bijlage bij dit bericht (vereist ondersteuning voor bijlagen van de ontvangende app).</string>
<string name="debug_info_http_error">HTTP-fout</string>
<string name="debug_info_server_error">Serverfout</string>
<string name="debug_info_webdav_error">WebDAV fout</string>
<string name="debug_info_io_error">I/O-fout</string>
<string name="debug_info_http_403_description">Het verzoek is door de server afgewezen.</string>
<string name="debug_info_http_404_description">De gevraagde bron bestaat niet (meer).</string>
<string name="debug_info_http_405_description">De server staat het gevraagde type bewerking niet toe.</string>
<string name="debug_info_http_5xx_description">Er deed zich een probleem aan de serverzijde voor. Neem contact op met uw serverondersteuning.</string>
<string name="debug_info_unexpected_error">Er is een onverwachte fout opgetreden. Bekijk foutopsporingsinformatie voor details.</string>
<string name="debug_info_view_details">Details bekijken</string>
<string name="debug_info_subtitle">Debug-info is verzameld</string>
<string name="debug_info_involved_caption">Betrokken bronnen</string>
<string name="debug_info_involved_subtitle">Gerelateerd aan het probleem</string>
<string name="debug_info_involved_remote">Externe bron:</string>
<string name="debug_info_involved_local">Lokale bron:</string>
<string name="debug_info_logs_caption">Logboeken</string>
<string name="debug_info_logs_subtitle">Uitgebreide logboeken zijn beschikbaar</string>
<string name="debug_info_logs_view">Details bekijken</string>
<string name="debug_info_copy_remote_url">URL kopiëren</string>
<string name="debug_info_view_local_resource">Bron inspecteren</string>
<string name="debug_info_privacy_warning_title">Privacyverklaring</string>
<string name="debug_info_privacy_warning_description">Logboeken en foutopsporingsgegevens kunnen privé-informatie bevatten. Houd hier rekening mee als u ze openbaar deelt.</string>
<string name="debug_info_can_not_view_resource">Kan bron niet bekijken</string>
<!--ExceptionInfoFragment-->
<string name="debug_info_archive_caption">ZIP archief</string>
<string name="debug_info_archive_subtitle">Bevat debuginformatie en logbestanden</string>
<string name="debug_info_archive_text">Deel het archief om over te zetten naar een computer, per e-mail te verzenden of als bijlage bij een supportticket te voegen..</string>
<string name="debug_info_archive_share">Archief delen</string>
<string name="debug_info_attached">Debug info als bijlage bij dit bericht (vereist ondersteuning voor bijlagen van de ontvangende app).</string>
<string name="debug_info_http_error">HTTP-fout</string>
<string name="debug_info_server_error">Serverfout</string>
<string name="debug_info_webdav_error">WebDAV fout</string>
<string name="debug_info_io_error">I/O-fout</string>
<string name="debug_info_http_403_description">Het verzoek is door de server afgewezen.</string>
<string name="debug_info_http_404_description">De gevraagde bron bestaat niet (meer).</string>
<string name="debug_info_http_405_description">De server staat het gevraagde type bewerking niet toe.</string>
<string name="debug_info_http_5xx_description">Er deed zich een probleem aan de serverzijde voor. Neem contact op met je serverondersteuning.</string>
<string name="debug_info_unexpected_error">Er is een onverwachte fout opgetreden. Bekijk foutopsporingsinformatie voor details.</string>
<string name="debug_info_view_details">Details bekijken</string>
<string name="debug_info_subtitle">Debug-info is verzameld</string>
<string name="debug_info_involved_caption">Betrokken bronnen</string>
<string name="debug_info_involved_subtitle">Gerelateerd aan het probleem</string>
<string name="debug_info_involved_remote">Externe bron:</string>
<string name="debug_info_involved_local">Lokale bron:</string>
<string name="debug_info_logs_caption">Logboeken</string>
<string name="debug_info_logs_subtitle">Uitgebreide logboeken zijn beschikbaar</string>
<string name="debug_info_logs_view">Details bekijken</string>
<string name="debug_info_copy_remote_url">URL kopiëren</string>
<string name="debug_info_view_local_resource">Bron inspecteren</string>
<string name="debug_info_privacy_warning_title">Privacyverklaring</string>
<string name="debug_info_privacy_warning_description">Logboeken en foutopsporingsgegevens kunnen privé-informatie bevatten. Houd hier rekening mee als u ze openbaar deelt.</string>
<string name="debug_info_can_not_view_resource">Kan bron niet bekijken</string>
<!--ExceptionInfoFragment-->
<string name="exception">Er is een fout opgetreden.</string>
<string name="exception_httpexception">Een HTTP-fout is opgetreden.</string>
<string name="exception_ioexception">Een I/O fout is opgetreden.</string>
<string name="exception_show_details">Details weergeven</string>
<!--WebDAV accounts-->
<string name="exception_httpexception">Een HTTP-fout is opgetreden.</string>
<string name="exception_ioexception">Een I/O fout is opgetreden.</string>
<string name="exception_show_details">Details weergeven</string>
<!--WebDAV accounts-->
<string name="webdav_mounts_title">WebDAV-koppelingen</string>
<string name="webdav_mounts_quota_used_available">Quotum gebruikt: %1$s / Beschikbaar: %2$s</string>
<string name="webdav_mounts_share_content">Inhoud delen</string>
<string name="webdav_mounts_unmount">Ontkoppelen</string>
<string name="webdav_add_mount_title">WebDAV-koppeling toevoegen</string>
<string name="webdav_mounts_empty">Verkrijg directe toegang tot cloudbestanden met een WebDAV-koppeling!</string>
<string name="webdav_add_mount_empty_more_info"><![CDATA[Zie de handleiding voor <a href="%1$s">hoe WebDAV-mounts werken</a>.]]></string>
<string name="webdav_add_mount_display_name">Weergavenaam</string>
<string name="webdav_add_mount_url">WebDAV-URL</string>
<string name="webdav_add_mount_url_invalid">Ongeldige URL</string>
<string name="webdav_add_mount_mountpoint_displayname">Koppelpunt en weergavenaam</string>
<string name="webdav_add_mount_authentication">Authenticatie</string>
<string name="webdav_add_mount_username">Gebruikersnaam</string>
<string name="webdav_add_mount_password">Wachtwoord</string>
<string name="webdav_add_mount_username_optional">Gebruikersnaam (optioneel)</string>
<string name="webdav_add_mount_password_optional">Wachtwoord (optioneel)</string>
<string name="webdav_add_mount_add">Koppeling toevoegen</string>
<string name="webdav_add_mount_no_support">Geen WebDAV-service op deze URL</string>
<string name="webdav_remove_mount_title">Verwijder het koppelpunt</string>
<string name="webdav_remove_mount_text">Verbindingsgegevens gaan verloren, maar er worden geen bestanden gewist.</string>
<string name="webdav_notification_access">WebDAV-bestand openen</string>
<string name="webdav_notification_download">WebDAV-bestand downloaden</string>
<string name="webdav_notification_upload">WebDAV-bestand uploaden</string>
<string name="webdav_provider_root_title">WebDAV-koppeling</string>
<!--sync-->
<string name="webdav_mounts_quota_used_available">Quotum gebruikt: %1$s / Beschikbaar: %2$s</string>
<string name="webdav_mounts_share_content">Inhoud delen</string>
<string name="webdav_mounts_unmount">Ontkoppelen</string>
<string name="webdav_add_mount_title">WebDAV-koppeling toevoegen</string>
<string name="webdav_mounts_empty">Verkrijg directe toegang tot cloudbestanden met een WebDAV-koppeling!</string>
<string name="webdav_add_mount_empty_more_info"><![CDATA[Zie de handleiding voor <a href="%1$s">hoe WebDAV-mounts werken</a>.]]></string>
<string name="webdav_add_mount_display_name">Weergavenaam</string>
<string name="webdav_add_mount_url">WebDAV-URL</string>
<string name="webdav_add_mount_url_invalid">Ongeldige URL</string>
<string name="webdav_add_mount_mountpoint_displayname">Koppelpunt en weergavenaam</string>
<string name="webdav_add_mount_authentication">Authenticatie</string>
<string name="webdav_add_mount_username">Gebruikersnaam</string>
<string name="webdav_add_mount_password">Wachtwoord</string>
<string name="webdav_add_mount_username_optional">Gebruikersnaam (optioneel)</string>
<string name="webdav_add_mount_password_optional">Wachtwoord (optioneel)</string>
<string name="webdav_add_mount_add">Koppeling toevoegen</string>
<string name="webdav_add_mount_no_support">Geen WebDAV-service op deze URL</string>
<string name="webdav_remove_mount_title">Verwijder het koppelpunt</string>
<string name="webdav_remove_mount_text">Verbindingsgegevens gaan verloren, maar er worden geen bestanden gewist.</string>
<string name="webdav_notification_access">WebDAV-bestand openen</string>
<string name="webdav_notification_download">WebDAV-bestand downloaden</string>
<string name="webdav_notification_upload">WebDAV-bestand uploaden</string>
<string name="webdav_provider_root_title">WebDAV-koppeling</string>
<!--sync-->
<string name="sync_error_permissions">DAVx⁵ rechten</string>
<string name="sync_error_permissions_text">Aanvullende rechten vereist</string>
<string name="sync_error_tasks_too_old">%ste oud</string>
<string name="sync_error_tasks_required_version">Minimaal vereiste versie: %1$s</string>
<string name="sync_error_authentication_failed">Verificatie mislukt (controleer aanmeldingsgegevens)</string>
<string name="sync_error_io">Netwerk of I/O error - %s</string>
<string name="sync_error_http_dav">HTTP-server fout - %s</string>
<string name="sync_error_local_storage">Lokale opslag fout - %s</string>
<string name="sync_error_retry_limit_reached">Soft error (max. aantal pogingen bereikt)</string>
<string name="sync_invalid_contact">Ongeldig contact ontvangen van server</string>
<string name="sync_invalid_event">Ongeldige gebeurtenis ontvangen van server</string>
<string name="sync_invalid_task">Ongeldige taak ontvangen van server</string>
<string name="sync_invalid_resources_ignoring">Een of meer ongeldige bronnen negeren</string>
<string name="sync_notification_pending_push_title">Synchronisatie in afwachting</string>
<string name="sync_notification_pending_push_message">De gegevens op afstand zijn veranderd</string>
<!--widgets-->
<string name="sync_error_permissions_text">Aanvullende rechten vereist</string>
<string name="sync_error_tasks_too_old">%ste oud</string>
<string name="sync_error_tasks_required_version">Minimaal vereiste versie: %1$s</string>
<string name="sync_error_authentication_failed">Verificatie mislukt (controleer aanmeldingsgegevens)</string>
<string name="sync_error_io">Netwerk of I/O error - %s</string>
<string name="sync_error_http_dav">HTTP-server fout - %s</string>
<string name="sync_error_local_storage">Lokale opslag fout - %s</string>
<string name="sync_error_retry_limit_reached">Soft error (max. aantal pogingen bereikt)</string>
<string name="sync_invalid_contact">Ongeldig contact ontvangen van server</string>
<string name="sync_invalid_event">Ongeldige gebeurtenis ontvangen van server</string>
<string name="sync_invalid_task">Ongeldige taak ontvangen van server</string>
<string name="sync_invalid_resources_ignoring">Een of meer ongeldige bronnen negeren</string>
<string name="sync_notification_pending_push_title">Synchronisatie in afwachting</string>
<string name="sync_notification_pending_push_message">De gegevens op afstand zijn veranderd</string>
<!--widgets-->
<string name="widget_sync_all">Alles synchroniseren</string>
<string name="widget_sync_all_accounts">Alle accounts synchroniseren</string>
<string name="widget_labeled_sync_label">Gelabelde synchronisatieknop</string>
<string name="widget_icon_sync_label">Pictogram synchronisatieknop</string>
<string name="widget_sync_description">Tik om de synchronisatie handmatig uit te voeren.</string>
<!--cert4android-->
<string name="widget_sync_all_accounts">Alle accounts synchroniseren</string>
<string name="widget_labeled_sync_label">Gelabelde synchronisatieknop</string>
<string name="widget_icon_sync_label">Pictogram synchronisatieknop</string>
<string name="widget_sync_description">Tik om de synchronisatie handmatig uit te voeren.</string>
<!--cert4android-->
</resources>

View File

@@ -1,484 +1,486 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<!--common strings-->
<!--common strings-->
<string name="account_invalid">A conta não existe (mais)</string>
<string name="account_title_address_book">Lista de contatos do DAVx⁵</string>
<string name="account_prefs_use_app">Não mude a conta por aqui! Em vez disso, use o app diretamente para gerenciar as contas.</string>
<string name="dialog_delete">Apagar</string>
<string name="dialog_remove">Remover</string>
<string name="dialog_deny">Cancelar</string>
<string name="dialog_enable">Ativar</string>
<string name="field_required">Este campo é necessário</string>
<string name="help">Ajuda</string>
<string name="navigate_up">Navegar para cima</string>
<string name="options_menu">Menu de opções</string>
<string name="share">Compartilhar</string>
<string name="sync_started">Sincronização foi iniciada/enfileirada</string>
<string name="database_destructive_migration_title">O banco de dados está corrompido</string>
<string name="database_destructive_migration_text">Todas as contas foram removidas localmente.</string>
<string name="notification_channel_debugging">Depuração</string>
<string name="notification_channel_general">Outras mensagens importantes</string>
<string name="notification_channel_status">Mensagens de estado de baixa prioridade</string>
<string name="notification_channel_sync">Sincronização</string>
<string name="notification_channel_sync_errors">Erros de sincronização</string>
<string name="notification_channel_sync_errors_desc">Erros importantes que interrompem a sincronização, como respostas inesperadas do servidor</string>
<string name="notification_channel_sync_warnings">Alertas de sincronização</string>
<string name="notification_channel_sync_warnings_desc">Problemas não fatais de sincronização, como certos arquivos inválidos</string>
<string name="notification_channel_sync_io_errors">Erros de E/S e de rede</string>
<string name="notification_channel_sync_io_errors_desc">Tempos limite atingidos, problemas de conexão, etc. (geralmente temporários)</string>
<!--IntroActivity-->
<string name="account_title_address_book">Lista de contatos do DAVx⁵</string>
<string name="account_prefs_use_app">Não mude a conta por aqui! Em vez disso, use o app diretamente para gerenciar as contas.</string>
<string name="dialog_delete">Apagar</string>
<string name="dialog_remove">Remover</string>
<string name="dialog_deny">Cancelar</string>
<string name="dialog_enable">Ativar</string>
<string name="field_required">Este campo é necessário</string>
<string name="help">Ajuda</string>
<string name="navigate_up">Navegar para cima</string>
<string name="options_menu">Menu de opções</string>
<string name="share">Compartilhar</string>
<string name="sync_started">Sincronização foi iniciada/enfileirada</string>
<string name="database_destructive_migration_title">O banco de dados está corrompido</string>
<string name="database_destructive_migration_text">Todas as contas foram removidas localmente.</string>
<string name="notification_channel_debugging">Depuração</string>
<string name="notification_channel_general">Outras mensagens importantes</string>
<string name="notification_channel_status">Mensagens de estado de baixa prioridade</string>
<string name="notification_channel_sync">Sincronização</string>
<string name="notification_channel_sync_errors">Erros de sincronização</string>
<string name="notification_channel_sync_errors_desc">Erros importantes que interrompem a sincronização, como respostas inesperadas do servidor</string>
<string name="notification_channel_sync_warnings">Alertas de sincronização</string>
<string name="notification_channel_sync_warnings_desc">Problemas não fatais de sincronização, como certos arquivos inválidos</string>
<string name="notification_channel_sync_io_errors">Erros de E/S e de rede</string>
<string name="notification_channel_sync_io_errors_desc">Tempos limite atingidos, problemas de conexão, etc. (geralmente temporários)</string>
<!--IntroActivity-->
<string name="intro_slogan1">Seus dados. Sua escolha.</string>
<string name="intro_slogan2">Assuma o controle.</string>
<string name="intro_battery_title">Intervalos periódicos de sincronização</string>
<string name="intro_battery_text">Para sincronizar em intervalos periódicos, o %s deve ter permissão para executar-se em segundo plano. Caso contrário, o Android pode pausar a sincronização a qualquer momento.</string>
<string name="intro_battery_dont_show">Eu não preciso de sincronização periódica.*</string>
<string name="intro_autostart_title">Compatibilidade com o %s</string>
<string name="intro_autostart_text">Firmware de fabricantes específicas podem bloquear a sincronização. Se for atingido, você pode resolver isso manualmente.</string>
<string name="intro_autostart_dont_show">Fiz as configurações necessárias. Não me lembre novamente.*</string>
<string name="intro_leave_unchecked">* Deixe desmarcado para ser lembrado depois. Pode ser reconfigurado nas configurações do app / %s</string>
<string name="intro_more_info">Mais informações</string>
<string name="intro_tasks_jtx">jtx Board</string>
<string name="intro_tasks_jtx_info"><![CDATA[Tem suporte à sincronização de tarefas, diários, e anotações.]]></string>
<string name="intro_tasks_title">Suporte a tarefas</string>
<string name="intro_tasks_text1">Se seu servidor ter suporte a tarefas, elas podem ser sincronizadas com um app de tarefas compatível:</string>
<string name="intro_tasks_opentasks">OpenTasks</string>
<string name="intro_tasks_opentasks_info">Parece não ser mais desenvolvido não é recomendado.</string>
<string name="intro_tasks_tasks_org">Tasks.org</string>
<string name="intro_tasks_tasks_org_info"><![CDATA[Não há suporte a <a href="https://www.davx5.com/faq/tasks/advanced-task-features">alguns recursos</a>.]]></string>
<string name="intro_tasks_no_app_store">Nenhuma loja de apps disponível</string>
<string name="intro_tasks_dont_show">Não preciso de suporte a tarefas.*</string>
<string name="intro_open_source_title">Software de código aberto</string>
<string name="intro_open_source_text">Estamos felizes que você usa o %s, que é software de código aberto. O desenvolvimento, a manutenção, e o suporte são um trabalho díficil. Considere contribuir (há varias formas) ou uma doação. Seria muito apreciado!</string>
<string name="intro_open_source_details">Como contribuir/doar</string>
<string name="intro_open_source_dont_show">Não me lembre por</string>
<plurals name="intro_open_source_dont_show_months">
<item quantity="one">%dmês</item>
<item quantity="many">%d de meses </item>
<item quantity="other">%d meses</item>
</plurals>
<string name="intro_next">Avançar</string>
<!--PermissionsActivity-->
<string name="intro_slogan2">Assuma o controle.</string>
<string name="intro_battery_title">Intervalos periódicos de sincronização</string>
<string name="intro_battery_text">Para sincronizar em intervalos periódicos, o %s deve ter permissão para executar-se em segundo plano. Caso contrário, o Android pode pausar a sincronização a qualquer momento.</string>
<string name="intro_battery_dont_show">Eu não preciso de sincronização periódica.*</string>
<string name="intro_autostart_title">Compatibilidade com o %s</string>
<string name="intro_autostart_text">Firmware de fabricantes específicas podem bloquear a sincronização. Se for atingido, você pode resolver isso manualmente.</string>
<string name="intro_autostart_dont_show">Fiz as configurações necessárias. Não me lembre novamente.*</string>
<string name="intro_leave_unchecked">* Deixe desmarcado para ser lembrado depois. Pode ser reconfigurado nas configurações do app / %s.</string>
<string name="intro_more_info">Mais informações</string>
<string name="intro_tasks_jtx">jtx Board</string>
<string name="intro_tasks_jtx_info"><![CDATA[Tem suporte à sincronização de tarefas, diários, e anotações.]]></string>
<string name="intro_tasks_title">Suporte a tarefas</string>
<string name="intro_tasks_text1">Se seu servidor ter suporte a tarefas, elas podem ser sincronizadas com um app de tarefas compatível:</string>
<string name="intro_tasks_opentasks">OpenTasks</string>
<string name="intro_tasks_opentasks_info">Parece não ser mais desenvolvido não é recomendado.</string>
<string name="intro_tasks_tasks_org">Tasks.org</string>
<string name="intro_tasks_tasks_org_info"><![CDATA[Não há suporte a <a href="https://www.davx5.com/faq/tasks/advanced-task-features">alguns recursos</a>.]]></string>
<string name="intro_tasks_no_app_store">Nenhuma loja de apps disponível</string>
<string name="intro_tasks_dont_show">Não preciso de suporte a tarefas.*</string>
<string name="intro_open_source_title">Software de código aberto</string>
<string name="intro_open_source_text">Estamos felizes que você usa o %s, que é software de código aberto. O desenvolvimento, a manutenção, e o suporte são um trabalho díficil. Considere contribuir (há varias formas) ou uma doação. Seria muito apreciado!</string>
<string name="intro_open_source_details">Como contribuir/doar</string>
<string name="intro_open_source_dont_show">Não me lembre por</string>
<plurals name="intro_open_source_dont_show_months">
<item quantity="one">%d mês</item>
<item quantity="many">%d de meses</item>
<item quantity="other">%d meses</item>
</plurals>
<string name="intro_next">Avançar</string>
<!--PermissionsActivity-->
<string name="permissions_title">Permissões</string>
<string name="permissions_text">O %s requer permissões para funcionar corretamente.</string>
<string name="permissions_all_title">Todas as abaixo</string>
<string name="permissions_all_status_off">Use isso para ativar todos os recursos (recomendado)</string>
<string name="permissions_all_status_on">Todas as permissões foram concedidas</string>
<string name="permissions_contacts_title">Permissões de contatos</string>
<string name="permissions_contacts_status_off">Sem sincronização dos contatos (não é recomendado)</string>
<string name="permissions_contacts_status_on">A sincronização dos contatos é possível</string>
<string name="permissions_calendar_title">Permissões de calendário</string>
<string name="permissions_calendar_status_off">Sem sincronização do calendário (não é recomendado)</string>
<string name="permissions_calendar_status_on">A sincronização do calendário é possível</string>
<string name="permissions_notification_title">Permissão de notificação</string>
<string name="permissions_notification_status_off">Notificações desativadas (não é recomendado)</string>
<string name="permissions_notification_status_on">Notificações ativadas</string>
<string name="permissions_jtx_title">Permissões do jtx Board</string>
<string name="permissions_opentasks_title">Permissões do OpenTasks</string>
<string name="permissions_tasksorg_title">Permissões do Tasks</string>
<string name="permissions_tasks_status_off">Sem sincronização de tarefas</string>
<string name="permissions_tasks_status_on">A sincronização de tarefas é possível</string>
<string name="permissions_autoreset_title">Manter permissões</string>
<string name="permissions_autoreset_status_off">As permissões podem ser reconfiguradas automaticamente (não é recomendado)</string>
<string name="permissions_autoreset_status_on">As permissões não serão reconfiguradas automaticamente</string>
<string name="permissions_autoreset_instruction">Clique em Permissões &gt; desmarque \"Gerenciar o app fora do uso\"</string>
<string name="permissions_app_settings_hint">Se uma opção não funciona, use as configurações do app / Permissões.</string>
<string name="permissions_app_settings">Configurações do app</string>
<!--WifiPermissionsActivity-->
<string name="permissions_text">O %s requer permissões para funcionar corretamente.</string>
<string name="permissions_all_title">Todas as abaixo</string>
<string name="permissions_all_status_off">Use isso para ativar todos os recursos (recomendado)</string>
<string name="permissions_all_status_on">Todas as permissões foram concedidas</string>
<string name="permissions_contacts_title">Permissões de contatos</string>
<string name="permissions_contacts_status_off">Sem sincronização dos contatos (não é recomendado)</string>
<string name="permissions_contacts_status_on">A sincronização dos contatos é possível</string>
<string name="permissions_calendar_title">Permissões de calendário</string>
<string name="permissions_calendar_status_off">Sem sincronização do calendário (não é recomendado)</string>
<string name="permissions_calendar_status_on">A sincronização do calendário é possível</string>
<string name="permissions_notification_title">Permissão de notificação</string>
<string name="permissions_notification_status_off">Notificações desativadas (não é recomendado)</string>
<string name="permissions_notification_status_on">Notificações ativadas</string>
<string name="permissions_jtx_title">Permissões do jtx Board</string>
<string name="permissions_opentasks_title">Permissões do OpenTasks</string>
<string name="permissions_tasksorg_title">Permissões do Tasks</string>
<string name="permissions_tasks_status_off">Sem sincronização de tarefas</string>
<string name="permissions_tasks_status_on">A sincronização de tarefas é possível</string>
<string name="permissions_autoreset_title">Manter permissões</string>
<string name="permissions_autoreset_status_off">As permissões podem ser reconfiguradas automaticamente (não é recomendado)</string>
<string name="permissions_autoreset_status_on">As permissões não serão reconfiguradas automaticamente</string>
<string name="permissions_autoreset_instruction">Clique em Permissões &gt; desmarque \"Gerenciar o app fora do uso\"</string>
<string name="permissions_app_settings_hint">Se uma opção não funciona, use as configurações do app / Permissões.</string>
<string name="permissions_app_settings">Configurações do app</string>
<!--WifiPermissionsActivity-->
<string name="wifi_permissions_label">Permissões de SSID do Wi-Fi</string>
<string name="wifi_permissions_intro">Para poder acessar o nome da rede Wi-Fi atual (o SSID), essas condições devem ser cumpridas:</string>
<string name="wifi_permissions_location_permission">Permissão de localização precisa</string>
<string name="wifi_permissions_location_permission_on">A permissão de localização foi concedida</string>
<string name="wifi_permissions_location_permission_off">A permissão de localização foi negada</string>
<string name="wifi_permissions_background_location_permission">Permissão de localização em segundo plano</string>
<string name="wifi_permissions_background_location_permission_label">Permitir o tempo todo</string>
<string name="wifi_permissions_background_location_permission_on">A permissão de localização está configurada para: %s</string>
<string name="wifi_permissions_background_location_permission_off">A permissão de localização não está configurada para: %s</string>
<string name="wifi_permissions_background_location_disclaimer">O %s usa dados de localização (somente o SSID do Wi-Fi) para restringir a sincronização para somente um SSID de Wi-Fi. Isso pode acontecer até mesmo quando a sincronização está sendo executada em segundo plano.</string>
<string name="wifi_permissions_background_location_disclaimer2">Todos os dados de localização (que são somente o SSID do Wi-Fi) são usados apenas localmente e não são enviados para quaisquer lugares.</string>
<string name="wifi_permissions_location_enabled">Localização sempre ativada</string>
<string name="wifi_permissions_location_enabled_on">O serviço de localização está ativado</string>
<string name="wifi_permissions_location_enabled_off">O serviço de localização está desativado</string>
<!--AboutActivity-->
<string name="wifi_permissions_intro">Para poder acessar o nome da rede Wi-Fi atual (o SSID), essas condições devem ser cumpridas:</string>
<string name="wifi_permissions_location_permission">Permissão de localização precisa</string>
<string name="wifi_permissions_location_permission_on">A permissão de localização foi concedida</string>
<string name="wifi_permissions_location_permission_off">A permissão de localização foi negada</string>
<string name="wifi_permissions_background_location_permission">Permissão de localização em segundo plano</string>
<string name="wifi_permissions_background_location_permission_label">Permitir o tempo todo</string>
<string name="wifi_permissions_background_location_permission_on">A permissão de localização está configurada para: %s</string>
<string name="wifi_permissions_background_location_permission_off">A permissão de localização não está configurada para: %s</string>
<string name="wifi_permissions_background_location_disclaimer">O %s usa dados de localização (somente o SSID do Wi-Fi) para restringir a sincronização para somente um SSID de Wi-Fi. Isso pode acontecer até mesmo quando a sincronização está sendo executada em segundo plano.</string>
<string name="wifi_permissions_background_location_disclaimer2">Todos os dados de localização (que são somente o SSID do Wi-Fi) são usados apenas localmente e não são enviados para quaisquer lugares.</string>
<string name="wifi_permissions_location_enabled">Localização sempre ativada</string>
<string name="wifi_permissions_location_enabled_on">O serviço de localização está ativado</string>
<string name="wifi_permissions_location_enabled_off">O serviço de localização está desativado</string>
<!--AboutActivity-->
<string name="about_translations">Traduções</string>
<string name="about_libraries">Bibliotecas</string>
<string name="about_version">Versão %1$s (%2$d)</string>
<string name="about_copyright">© Ricki Hirner, Bernhard Stockmann (bitfire web engineering GmbH) e contribuidores</string>
<string name="about_license_info_no_warranty">Este programa é distribuído SEM QUALQUER GARANTIA. É software livre e pode ser redistribuído sob algumas condições.</string>
<!--global settings-->
<string name="about_libraries">Bibliotecas</string>
<string name="about_version">Versão %1$s (%2$d)</string>
<string name="about_copyright">© Ricki Hirner, Bernhard Stockmann (bitfire web engineering GmbH) e contribuidores</string>
<string name="about_license_info_no_warranty">Este programa é distribuído SEM QUALQUER GARANTIA. É software livre e pode ser redistribuído sob algumas condições.</string>
<!--global settings-->
<string name="logging_couldnt_create_file">Não foi possível criar o arquivo de registros</string>
<string name="logging_notification_text">Agora registrando todas as atividades do %s</string>
<string name="logging_notification_view_share">Visualizar/compartilhar</string>
<string name="logging_notification_disable">Desativar</string>
<!--AccountsScreen-->
<string name="logging_notification_text">Agora registrando todas as atividades do %s</string>
<string name="logging_notification_view_share">Visualizar/compartilhar</string>
<string name="logging_notification_disable">Desativar</string>
<!--AccountsScreen-->
<string name="navigation_drawer_subtitle">Adaptador de sincronização do CalDAV/CardDAV</string>
<string name="navigation_drawer_about">Sobre / Licença</string>
<string name="navigation_drawer_beta_feedback">Retorno da beta</string>
<string name="install_browser">Instale um navegador da web</string>
<string name="navigation_drawer_settings">Configurações</string>
<string name="navigation_drawer_news_updates">Novidades e atualizações</string>
<string name="navigation_drawer_tools">Ferramentas</string>
<string name="navigation_drawer_external_links">Links externos</string>
<string name="navigation_drawer_website">Site</string>
<string name="navigation_drawer_manual">Manual</string>
<string name="navigation_drawer_faq">Perguntas frequentes</string>
<string name="navigation_drawer_managed">Para organizações</string>
<string name="navigation_drawer_community">Comunidade</string>
<string name="navigation_drawer_support_project">Apoie o projeto</string>
<string name="navigation_drawer_contribute">Como contribuir</string>
<string name="navigation_drawer_privacy_policy">Política de privacidade</string>
<string name="account_list_welcome">Boas-vindas ao DAVx⁵!</string>
<string name="account_list_empty">Conecte-se ao seu servidor e mantenha seus calendários e contatos sincronizados.</string>
<string name="accounts_sync_all">Sincronizar todas as contas</string>
<!--Sync warnings-->
<string name="navigation_drawer_about">Sobre / Licença</string>
<string name="navigation_drawer_beta_feedback">Retorno da beta</string>
<string name="install_browser">Instale um navegador da web</string>
<string name="navigation_drawer_settings">Configurações</string>
<string name="navigation_drawer_news_updates">Novidades e atualizações</string>
<string name="navigation_drawer_tools">Ferramentas</string>
<string name="navigation_drawer_external_links">Links externos</string>
<string name="navigation_drawer_website">Site</string>
<string name="navigation_drawer_manual">Manual</string>
<string name="navigation_drawer_faq">Perguntas frequentes</string>
<string name="navigation_drawer_managed">Para organizações</string>
<string name="navigation_drawer_community">Comunidade</string>
<string name="navigation_drawer_support_project">Apoie o projeto</string>
<string name="navigation_drawer_contribute">Como contribuir</string>
<string name="navigation_drawer_privacy_policy">Política de privacidade</string>
<string name="account_list_welcome">Boas-vindas ao DAVx⁵!</string>
<string name="account_list_empty">Conecte-se ao seu servidor e mantenha seus calendários e contatos sincronizados.</string>
<string name="accounts_sync_all">Sincronizar todas as contas</string>
<!--Sync warnings-->
<string name="sync_warning_no_notification_permission">As notificações estão desativadas. Você não será notificado sobre erros de sincronização.</string>
<string name="sync_warning_no_internet">A sincronização automática não está ativa (sem conexão verificada à internet).</string>
<string name="sync_warning_manage_connections">Gerenciar conexões</string>
<string name="sync_warning_datasaver_enabled">A economia de dados está ativada. A sincronização em segundo plano está restrita.</string>
<string name="sync_warning_manage_datasaver">Gerenciar economia de dados</string>
<string name="sync_warning_battery_saver_enabled">A economia de bateria está ativada. A sincronização pode ser restrita.</string>
<string name="sync_warning_manage_battery_saver">Gerenciar economia de bateria</string>
<string name="sync_warning_low_storage">Há pouco espaço de armazenamento. O Android não sincronizará alterações locais imediatamente, mas sim na próxima sincronização periódica.</string>
<string name="sync_warning_manage_storage">Gerenciar armazenamento</string>
<string name="sync_warning_calendar_storage_disabled_title">O provedor de calendários está ausente</string>
<string name="sync_warning_calendar_storage_disabled_description">Você desativou o app do sistema chamado \"Armazenamento de calendários\"?</string>
<string name="sync_warning_contacts_storage_disabled_title">O provedor de contatos está ausente</string>
<string name="sync_warning_contacts_storage_disabled_description">Você desativou o app do sistema chamado \"Armazenamento de contatos\"?</string>
<string name="sync_warning_manage_apps">Gerenciar apps</string>
<!--RefreshCollectionsWorker-->
<string name="sync_warning_no_internet">A sincronização automática não está ativa (sem conexão verificada à internet).</string>
<string name="sync_warning_manage_connections">Gerenciar conexões</string>
<string name="sync_warning_datasaver_enabled">A economia de dados está ativada. A sincronização em segundo plano está restrita.</string>
<string name="sync_warning_manage_datasaver">Gerenciar economia de dados</string>
<string name="sync_warning_battery_saver_enabled">A economia de bateria está ativada. A sincronização pode ser restrita.</string>
<string name="sync_warning_manage_battery_saver">Gerenciar economia de bateria</string>
<string name="sync_warning_low_storage">Há pouco espaço de armazenamento. O Android não sincronizará alterações locais imediatamente, mas sim na próxima sincronização periódica.</string>
<string name="sync_warning_manage_storage">Gerenciar armazenamento</string>
<string name="sync_warning_calendar_storage_disabled_title">O provedor de calendários está ausente</string>
<string name="sync_warning_calendar_storage_disabled_description">Você desativou o app do sistema chamado \"Armazenamento de calendários\"?</string>
<string name="sync_warning_contacts_storage_disabled_title">O provedor de contatos está ausente</string>
<string name="sync_warning_contacts_storage_disabled_description">Você desativou o app do sistema chamado \"Armazenamento de contatos\"?</string>
<string name="sync_warning_manage_apps">Gerenciar apps</string>
<!--RefreshCollectionsWorker-->
<string name="refresh_collections_worker_refresh_failed">A detecção de serviço falhou</string>
<string name="refresh_collections_worker_refresh_couldnt_refresh">Não foi possível recarregar a lista de coleções</string>
<!--Foreground service used by WorkManager on Android <12-->
<string name="refresh_collections_worker_refresh_couldnt_refresh">Não foi possível recarregar a lista de conjuntos</string>
<!--Foreground service used by WorkManager on Android <12-->
<string name="foreground_service_notify_title">Executando em primeiro plano</string>
<string name="foreground_service_notify_text">Em alguns dispositivos, isto é necessário para a sincronização automática.</string>
<!--AppSettingsActivity-->
<string name="foreground_service_notify_text">Em alguns dispositivos, isto é necessário para a sincronização automática.</string>
<!--AppSettingsActivity-->
<string name="app_settings">Configurações</string>
<string name="app_settings_debug">Depuração</string>
<string name="app_settings_show_debug_info">Mostrar informações de depuração</string>
<string name="app_settings_show_debug_info_details">Visualizar/compartilhar registros e detalhes da configuração</string>
<string name="app_settings_logging">Registro verboso</string>
<string name="app_settings_logging_on">A coleta de registro está ativa. Você pode visualizar os registros nas informações de depuração.</string>
<string name="app_settings_logging_off">A coleta de registros está desativada</string>
<string name="app_settings_battery_optimization">Otimização de bateria</string>
<string name="app_settings_battery_optimization_exempted">O app está isento (recomendado)</string>
<string name="app_settings_battery_optimization_optimized">O app não está isento (não recomendado)</string>
<string name="app_settings_connection">Conexão</string>
<string name="app_settings_proxy">Tipo da proxy</string>
<string-array name="app_settings_proxy_types">
<item>Padrão do sistema</item>
<item>Sem proxy</item>
<item>HTTP</item>
<item>SOCKS (pro Orbot)</item>
</string-array>
<string name="app_settings_proxy_host">Nome do servidor da proxy</string>
<string name="app_settings_proxy_port">Porta da proxy</string>
<string name="app_settings_security">Segurança</string>
<string name="app_settings_security_app_permissions">Permissões do app</string>
<string name="app_settings_security_app_permissions_summary">Revise as permissões necessárias para a sincronização</string>
<string name="app_settings_distrust_system_certs">Desconfiar dos certificados do sistema</string>
<string name="app_settings_distrust_system_certs_on">ACs do sistema e adicionadas pelo usuário não serão confiadas</string>
<string name="app_settings_distrust_system_certs_off">ACs do sistema e adicionadas pelo usuário serão confiadas (recomendado)</string>
<string name="app_settings_distrust_system_certs_dialog_message">Se essa configuração está ativa, os certificados do sistema não são tratados como confiáveis. Isso significa que você terá que manualmente aceitar cada certificado (e também quando o servidor renova o seu certificado) ou a configuração da conta e a sincronização não funcionarão.</string>
<string name="app_settings_reset_certificates">Reconfigurar certificados</string>
<string name="app_settings_reset_certificates_summary">Reconfigura a confiança de todos os certificados personalizados</string>
<string name="app_settings_reset_certificates_success">Todos os certificados personalizados foram limpos</string>
<string name="app_settings_user_interface">Interface do usuário</string>
<string name="app_settings_notification_settings">Configurações de notificações</string>
<string name="app_settings_notification_settings_summary">Gerencie canais de notificação e suas configurações</string>
<string name="app_settings_theme_title">Escolher tema</string>
<string-array name="app_settings_theme_names">
<item>Padrão do sistema</item>
<item>Claro</item>
<item>Escuro</item>
</string-array>
<string name="app_settings_reset_hints">Reconfigurar dicas</string>
<string name="app_settings_reset_hints_summary">Reativa as dicas que foram ignoradas anteriormente</string>
<string name="app_settings_reset_hints_success">Todas as dicas serão mostradas novamente</string>
<string name="app_settings_integration">Integração</string>
<string name="app_settings_tasks_provider">App de tarefas</string>
<string name="app_settings_tasks_provider_none">Nenhum app compatível de tarefas encontrado</string>
<string name="app_settings_unifiedpush">UnifiedPush (experimental)</string>
<string name="app_settings_unifiedpush_disable">Nenhum (desativar push)</string>
<string name="app_settings_unifiedpush_choose_distributor">Escolha um distribuidor</string>
<string name="app_settings_unifiedpush_no_distributor">Nenhum distribuidor de push instalado</string>
<string name="app_settings_unifiedpush_no_endpoint">Nenhum servidor configurado</string>
<string name="app_settings_unifiedpush_ready">Pronto para receber mensagens push pelo %s</string>
<string name="app_settings_unifiedpush_distributor_fcm">FCM (Google Play)</string>
<string name="app_settings_unifiedpush_encrypted">As mensagens push são sempre criptografadas.</string>
<!--AccountScreen-->
<string name="app_settings_debug">Depuração</string>
<string name="app_settings_show_debug_info">Mostrar informações de depuração</string>
<string name="app_settings_show_debug_info_details">Visualizar/compartilhar registros e detalhes da configuração</string>
<string name="app_settings_logging">Registro verboso</string>
<string name="app_settings_logging_on">A coleta de registro está ativa. Você pode visualizar os registros nas informações de depuração.</string>
<string name="app_settings_logging_off">A coleta de registros está desativada</string>
<string name="app_settings_battery_optimization">Otimização de bateria</string>
<string name="app_settings_battery_optimization_exempted">O app está isento (recomendado)</string>
<string name="app_settings_battery_optimization_optimized">O app não está isento (não recomendado)</string>
<string name="app_settings_connection">Conexão</string>
<string name="app_settings_proxy">Tipo da proxy</string>
<string-array name="app_settings_proxy_types">
<item>Padrão do sistema</item>
<item>Sem proxy</item>
<item>HTTP</item>
<item>SOCKS (pro Orbot)</item>
</string-array>
<string name="app_settings_proxy_host">Nome do servidor da proxy</string>
<string name="app_settings_proxy_port">Porta da proxy</string>
<string name="app_settings_security">Segurança</string>
<string name="app_settings_security_app_permissions">Permissões do app</string>
<string name="app_settings_security_app_permissions_summary">Revise as permissões necessárias para a sincronização</string>
<string name="app_settings_distrust_system_certs">Desconfiar dos certificados do sistema</string>
<string name="app_settings_distrust_system_certs_on">ACs do sistema e adicionadas pelo usuário não serão confiadas</string>
<string name="app_settings_distrust_system_certs_off">ACs do sistema e adicionadas pelo usuário serão confiadas (recomendado)</string>
<string name="app_settings_distrust_system_certs_dialog_message">Se essa configuração está ativa, os certificados do sistema não são tratados como confiáveis. Isso significa que você terá que manualmente aceitar cada certificado (e também quando o servidor renova o seu certificado) ou a configuração da conta e a sincronização não funcionarão.</string>
<string name="app_settings_reset_certificates">Reconfigurar certificados</string>
<string name="app_settings_reset_certificates_summary">Reconfigura a confiança de todos os certificados personalizados</string>
<string name="app_settings_reset_certificates_success">Todos os certificados personalizados foram limpos</string>
<string name="app_settings_user_interface">Interface do usuário</string>
<string name="app_settings_notification_settings">Configurações de notificações</string>
<string name="app_settings_notification_settings_summary">Gerencie canais de notificação e suas configurações</string>
<string name="app_settings_theme_title">Escolher tema</string>
<string-array name="app_settings_theme_names">
<item>Padrão do sistema</item>
<item>Claro</item>
<item>Escuro</item>
</string-array>
<string name="app_settings_reset_hints">Reconfigurar dicas</string>
<string name="app_settings_reset_hints_summary">Reativa as dicas que foram ignoradas anteriormente</string>
<string name="app_settings_reset_hints_success">Todas as dicas serão mostradas novamente</string>
<string name="app_settings_integration">Integração</string>
<string name="app_settings_tasks_provider">App de tarefas</string>
<string name="app_settings_tasks_provider_none">Nenhum app compatível de tarefas encontrado</string>
<string name="app_settings_unifiedpush">UnifiedPush (experimental)</string>
<string name="app_settings_unifiedpush_disable">Nenhum (desativar push)</string>
<string name="app_settings_unifiedpush_choose_distributor">Escolha um distribuidor</string>
<string name="app_settings_unifiedpush_no_distributor">Nenhum distribuidor de push instalado</string>
<string name="app_settings_unifiedpush_no_endpoint">Nenhum servidor configurado</string>
<string name="app_settings_unifiedpush_ready">Pronto para receber mensagens push pelo %s</string>
<string name="app_settings_unifiedpush_distributor_fcm">FCM (Google Play)</string>
<string name="app_settings_unifiedpush_encrypted">As mensagens push são sempre criptografadas.</string>
<!--AccountScreen-->
<string name="account_invalid_account">A conta foi removida</string>
<string name="account_carddav">CardDAV</string>
<string name="account_caldav">CalDAV</string>
<string name="account_webcal">Webcal</string>
<string name="account_missing_permissions">São necessárias permissões adicionais para sincronizar essas coleções.</string>
<string name="account_manage_permissions">Gerenciar permissões</string>
<string name="account_synchronize_now">Sincronizar agora</string>
<string name="account_settings">Configurações da conta</string>
<string name="account_rename">Renomear conta</string>
<string name="account_rename_new_name_description">Dados locais que não foram salvos podem ser ignorados. Uma nova sincronização é necessária após uma renomeação.</string>
<string name="account_rename_new_name">Nome novo da conta</string>
<string name="account_rename_rename">Renomear</string>
<string name="account_rename_exists_already">O nome da conta já foi utilizado</string>
<string name="account_rename_couldnt_rename">Não foi possível renomear a conta</string>
<string name="account_delete">Apagar conta</string>
<string name="account_delete_confirmation_title">Realmente apagar a conta?</string>
<string name="account_delete_confirmation_text">Todas as cópias locais das listas de contatos, calendários e listas de tarefas serão apagadas.</string>
<string name="account_synchronize_this_collection">sincronizar esta coleção</string>
<string name="account_read_only">somente leitura</string>
<string name="account_calendar">calendário</string>
<string name="account_contacts">contatos</string>
<string name="account_journal">diário</string>
<string name="account_task_list">tarefas</string>
<string name="account_only_personal">Mostrar somente pessoais</string>
<string name="account_refresh_collections">Recarregar lista</string>
<string name="account_webcal_external_app">Inscrições de Webcal podem ser sincronizadas com apps externos.</string>
<string name="account_no_webcal_handler_found">Nenhum app compatível com Webcal encontrado</string>
<string name="account_install_icsx5">Instalar ICSx⁵</string>
<!--AddAccountActivity-->
<string name="account_carddav">CardDAV</string>
<string name="account_caldav">CalDAV</string>
<string name="account_webcal">Webcal</string>
<string name="account_missing_permissions">São necessárias permissões adicionais para sincronizar esses conjuntos.</string>
<string name="account_manage_permissions">Gerenciar permissões</string>
<string name="account_synchronize_now">Sincronizar agora</string>
<string name="account_settings">Configurações da conta</string>
<string name="account_rename">Renomear conta</string>
<string name="account_rename_new_name_description">Dados locais que não foram salvos podem ser ignorados. Uma nova sincronização é necessária após uma renomeação.</string>
<string name="account_rename_new_name">Nome novo da conta</string>
<string name="account_rename_rename">Renomear</string>
<string name="account_rename_exists_already">O nome da conta já foi utilizado</string>
<string name="account_rename_couldnt_rename">Não foi possível renomear a conta</string>
<string name="account_delete">Apagar conta</string>
<string name="account_delete_confirmation_title">Realmente apagar a conta?</string>
<string name="account_delete_confirmation_text">Todas as cópias locais das listas de contatos, calendários e listas de tarefas serão apagadas.</string>
<string name="account_synchronize_this_collection">sincronizar este conjunto</string>
<string name="account_read_only">somente leitura</string>
<string name="account_calendar">calendário</string>
<string name="account_contacts">contatos</string>
<string name="account_journal">diário</string>
<string name="account_task_list">tarefas</string>
<string name="account_only_personal">Mostrar somente pessoais</string>
<string name="account_refresh_collections">Recarregar lista</string>
<string name="account_webcal_external_app">Inscrições de Webcal podem ser sincronizadas com apps externos.</string>
<string name="account_no_webcal_handler_found">Nenhum app compatível com Webcal encontrado</string>
<string name="account_install_icsx5">Instalar ICSx⁵</string>
<!--AddAccountActivity-->
<string name="login_title">Adicionar conta</string>
<string name="login_privacy_hint"><![CDATA[Todos os dados serão transferidos apenas entre o servidor e o seu dispositivo. O %1$s não enviará eles para qualquer outro lugar. Leia a <a href="%2$s">política de privacidade</a>.]]></string>
<string name="login_generic_login">Autenticação genérica</string>
<string name="login_provider_login">Autenticação específica ao provedor </string>
<string name="login_continue">Continuar</string>
<string name="login_login">Entrar</string>
<string name="login_type_email">Entrar com endereço de e-mail</string>
<string name="login_email_address">Endereço de e-mail</string>
<string name="login_email_address_error">Um endereço de e-mail válido é necessário</string>
<string name="login_email_address_info"><![CDATA[O domínio do e-mail é usado como o URL base. <a href="%s">Os serviços são descobertos</a> usando registros de DNS e URLs well-known.]]></string>
<string name="login_password">Senha</string>
<string name="login_password_hide">Ocultar senha</string>
<string name="login_password_show">Mostrar senha</string>
<string name="login_password_optional">Senha (opcional)</string>
<string name="login_type_url">Entrar com URL e nome de usuário</string>
<string name="login_user_name">Nome do usuário</string>
<string name="login_user_name_optional">Nome do usuário (opcional)</string>
<string name="login_base_url">URL base</string>
<string name="login_base_url_info"><![CDATA[O URL base será conferido diretamente, mas os <a href="%s">serviços também são descobertos</a>usando registros de DNS e URLs well-known.]]></string>
<string name="login_select_certificate">Selecionar certificado</string>
<string name="login_add_account">Adicionar conta</string>
<string name="login_account_name">Nome da conta</string>
<string name="login_account_avoid_apostrophe">O uso de apóstrofos (\') pode causar problemas em alguns dispositivos.</string>
<string name="login_account_name_info">Use o seu endereço de e-mail como o nome da conta pois o Android usará o nome como o campo ORGANIZER pata os eventos que cria. Você não pode ter duas contas com o mesmo nome.</string>
<string name="login_account_contact_group_method">Método de agrupamento de contatos:</string>
<string name="login_account_name_required">O nome da conta é necessário</string>
<string name="login_account_name_already_taken">O nome da conta já foi utilizado</string>
<string name="login_account_not_added">A conta não pôde ser adicionada</string>
<string name="login_finish">Concluir</string>
<string name="login_type_advanced">Autenticação avançada</string>
<string name="login_no_client_certificate_optional">Sem certificado de cliente (opcional)</string>
<string name="login_client_certificate_selected">Certificado de cliente: %s</string>
<string name="login_no_certificate_found">Nenhum certificado encontrado</string>
<string name="login_install_certificate">Instalar certificado</string>
<string name="login_fastmail">Fastmail</string>
<string name="login_fastmail_account">Conta do Fastmail</string>
<string name="login_fastmail_sign_in">Entrar com Fastmail</string>
<string name="login_type_google">Google Contatos / Agenda</string>
<string name="login_google_account">Conta do Google</string>
<string name="login_google">Entrar com Google</string>
<string name="login_google_client_id">ID do cliente (opcional)</string>
<string name="login_google_client_privacy_policy"><![CDATA[O%1$stransfere os seus contatos e calendário do Google apenas para a sincronização com o dispositivo. Veja a nossa <a href="%2$s">política de privacidade</a> para detalhes.]]></string>
<string name="login_google_client_limited_use"><![CDATA[O %1$s age de acordo com a <a href="%2$s">Política de Dados de Usuário dos Google API Services</a>, incluindo os requisitos de Uso Limitado.]]></string>
<string name="login_oauth_couldnt_obtain_auth_code">Não foi possível obter o código de autorização</string>
<string name="login_type_nextcloud">Nextcloud</string>
<string name="login_nextcloud_login_with_nextcloud">Entrar com Nextcloud</string>
<string name="login_nextcloud_login_flow_text">Isso iniciará o processo de autenticação do Nextcloud num navegador da web.</string>
<string name="login_nextcloud_login_flow_server_address">Endereço do servidor do Nextcloud</string>
<string name="login_nextcloud_login_flow_sign_in">Entrar</string>
<string name="login_nextcloud_login_flow_no_login_url">Não foi possível obter a URL de autenticação</string>
<string name="login_nextcloud_login_flow_no_login_data">Não foi possível obter os dados de autenticação</string>
<string name="login_configuration_detection">Detecção de configuração</string>
<string name="login_querying_server">Aguarde, consultando o servidor…</string>
<string name="login_no_service">Não foi possível encontrar o serviço de CalDAV ou CardDAV.</string>
<string name="login_no_service_info">O URL base não parece ser um URL acessível de CalDAV/CardDAV e a detecção de serviço não foi bem-sucedida.</string>
<string name="login_see_tested_services"><![CDATA[Veja o manual do seu provedor de serviço e a <a href="%s">nossa lista de serviços testados</a> e seus URLs base.]]></string>
<string name="login_check_credentials">Certifique-se da autenticação (normalmente nome de usuário e senha).</string>
<string name="login_logs_available">Mais informações técnicas estão disponíveis nos registros.</string>
<string name="login_view_logs">Visualizar registros</string>
<!--AccountSettingsActivity-->
<string name="login_privacy_hint"><![CDATA[Todos os dados serão transferidos apenas entre o servidor e o seu dispositivo. O %1$s não enviará eles para qualquer outro lugar. Leia a <a href="%2$s">política de privacidade</a>.]]></string>
<string name="login_generic_login">Autenticação genérica</string>
<string name="login_provider_login">Autenticação específica ao provedor </string>
<string name="login_continue">Continuar</string>
<string name="login_login">Entrar</string>
<string name="login_type_email">Entrar com endereço de e-mail</string>
<string name="login_email_address">Endereço de e-mail</string>
<string name="login_email_address_error">Um endereço de e-mail válido é necessário</string>
<string name="login_email_address_info"><![CDATA[O domínio do e-mail é usado como o URL base. <a href="%s">Os serviços são descobertos</a> usando registros de DNS e URLs well-known.]]></string>
<string name="login_password">Senha</string>
<string name="login_password_hide">Ocultar senha</string>
<string name="login_password_show">Mostrar senha</string>
<string name="login_password_optional">Senha (opcional)</string>
<string name="login_type_url">Entrar com URL e nome de usuário</string>
<string name="login_user_name">Nome do usuário</string>
<string name="login_user_name_optional">Nome do usuário (opcional)</string>
<string name="login_base_url">URL base</string>
<string name="login_base_url_info"><![CDATA[O URL base será conferido diretamente, mas os <a href="%s">serviços também são descobertos</a>usando registros de DNS e URLs well-known.]]></string>
<string name="login_select_certificate">Selecionar certificado</string>
<string name="login_add_account">Adicionar conta</string>
<string name="login_account_name">Nome da conta</string>
<string name="login_account_avoid_apostrophe">O uso de apóstrofos (\') pode causar problemas em alguns dispositivos.</string>
<string name="login_account_name_info">Use o seu endereço de e-mail como o nome da conta pois o Android usará o nome como o campo ORGANIZER pata os eventos que cria. Você não pode ter duas contas com o mesmo nome.</string>
<string name="login_account_contact_group_method">Método de agrupamento de contatos:</string>
<string name="login_account_name_required">O nome da conta é necessário</string>
<string name="login_account_name_already_taken">O nome da conta já foi utilizado</string>
<string name="login_account_not_added">A conta não pôde ser adicionada</string>
<string name="login_finish">Concluir</string>
<string name="login_type_advanced">Autenticação avançada</string>
<string name="login_no_client_certificate_optional">Sem certificado de cliente (opcional)</string>
<string name="login_client_certificate_selected">Certificado de cliente: %s</string>
<string name="login_no_certificate_found">Nenhum certificado encontrado</string>
<string name="login_install_certificate">Instalar certificado</string>
<string name="login_fastmail">Fastmail</string>
<string name="login_fastmail_account">Conta do Fastmail</string>
<string name="login_fastmail_sign_in">Entrar com Fastmail</string>
<string name="login_type_google">Google Contatos / Agenda</string>
<string name="login_google_account">Conta do Google</string>
<string name="login_google">Entrar com Google</string>
<string name="login_google_client_id">ID do cliente (opcional)</string>
<string name="login_google_client_privacy_policy"><![CDATA[O %1$s transfere os seus contatos e calendário do Google apenas para a sincronização com o dispositivo. Veja a nossa <a href="%2$s">política de privacidade</a> para detalhes.]]></string>
<string name="login_google_client_limited_use"><![CDATA[O %1$s age de acordo com a <a href="%2$s">Política de Dados de Usuário dos Google API Services</a>, incluindo os requisitos de Uso Limitado.]]></string>
<string name="login_oauth_couldnt_obtain_auth_code">Não foi possível obter o código de autorização</string>
<string name="login_type_nextcloud">Nextcloud</string>
<string name="login_nextcloud_login_with_nextcloud">Entrar com Nextcloud</string>
<string name="login_nextcloud_login_flow_text">Isso iniciará o processo de autenticação do Nextcloud num navegador da web.</string>
<string name="login_nextcloud_login_flow_server_address">Endereço do servidor do Nextcloud</string>
<string name="login_nextcloud_login_flow_sign_in">Entrar</string>
<string name="login_nextcloud_login_flow_no_login_url">Não foi possível obter a URL de autenticação</string>
<string name="login_nextcloud_login_flow_no_login_data">Não foi possível obter os dados de autenticação</string>
<string name="login_configuration_detection">Detecção de configuração</string>
<string name="login_querying_server">Aguarde, consultando o servidor…</string>
<string name="login_no_service">Não foi possível encontrar o serviço de CalDAV ou CardDAV.</string>
<string name="login_no_service_info">O URL base não parece ser um URL acessível de CalDAV/CardDAV e a detecção de serviço não foi bem-sucedida.</string>
<string name="login_see_tested_services"><![CDATA[Veja o manual do seu provedor de serviço e a <a href="%s">nossa lista de serviços testados</a> e seus URLs base.]]></string>
<string name="login_check_credentials">Certifique-se da autenticação (normalmente nome de usuário e senha).</string>
<string name="login_logs_available">Mais informações técnicas estão disponíveis nos registros.</string>
<string name="login_view_logs">Visualizar registros</string>
<!--AccountSettingsActivity-->
<string name="settings_sync">Sincronização</string>
<string name="settings_sync_interval_contacts">Intervalo de sincronização dos contatos</string>
<string name="settings_sync_summary_manually">Apenas manualmente</string>
<string name="settings_sync_summary_periodically" tools:ignore="PluralsCandidate">A cada %d minutos e imediatamente em alterações locais</string>
<string name="settings_sync_interval_calendars">Intervalo de sincronização dos calendários</string>
<string name="settings_sync_interval_tasks">Intervalo de sincronização das tarefas</string>
<string-array name="settings_sync_interval_names">
<item>Apenas manualmente</item>
<item>A cada 15 minutos</item>
<item>A cada 30 minutos</item>
<item>A cada hora</item>
<item>A cada 2 horas</item>
<item>A cada 4 horas</item>
<item>Todo dia</item>
</string-array>
<string name="settings_sync_wifi_only">Sincronizar apenas por Wi-Fi</string>
<string name="settings_sync_wifi_only_on">A sincronização está restrita a apenas conexões de Wi-Fi</string>
<string name="settings_sync_wifi_only_off">O tipo de conexão não está sendo considerado</string>
<string name="settings_sync_wifi_only_ssids">Restrição de SSID do Wi-Fi</string>
<string name="settings_sync_wifi_only_ssids_on">Sincronizará apenas em %s</string>
<string name="settings_sync_wifi_only_ssids_off">Todas as conexões Wi-Fi serão utilizadas</string>
<string name="settings_sync_wifi_only_ssids_message">Nomes das redes Wi-Fi permitidas (SSIDs) separados por vírgulas (deixe em branco para todas)</string>
<string name="settings_sync_wifi_only_ssids_permissions_required">A restrição de SSID de Wi-Fi requer configuração adicional</string>
<string name="settings_sync_wifi_only_ssids_permissions_action">Gerenciar</string>
<string name="settings_ignore_vpns">Exigir conexão base verificada para VPNs</string>
<string name="settings_ignore_vpns_on">Uma VPN sem conexão base verificada não é suficiente para executar a sincronização (recomendado)</string>
<string name="settings_ignore_vpns_off">Uma VPN sem conexão base verificada é suficiente para executar a sincronização</string>
<string name="settings_authentication">Autenticação</string>
<string name="settings_username">Nome do usuário</string>
<string name="settings_password">Senha ou senha de app</string>
<string name="settings_app_password_hint"><![CDATA[Você pode preferir usar uma <a href="%1$s">senha de app</a>.]]></string>
<string name="settings_new_password">Senha nova</string>
<string name="settings_password_summary">Atualize a senha de acordo com o seu servidor.</string>
<string name="settings_reauthorize_oauth">Autorizar novamente (OAuth)</string>
<string name="settings_reauthorize_oauth_summary">Use caso o acesso for revogado</string>
<string name="settings_reauthorize_oauth_success">A autorização foi bem-sucedida</string>
<string name="settings_certificate_alias">Certificado de cliente</string>
<string name="settings_certificate_alias_empty">Nenhum certificado disponível ou selecionado</string>
<string name="settings_certificate_install">Instalar certificado</string>
<string name="settings_caldav">CalDAV</string>
<string name="settings_sync_time_range_past">Limite de tempo para eventos passados</string>
<string name="settings_sync_time_range_past_none">Todos os eventos serão sincronizados</string>
<plurals name="settings_sync_time_range_past_days">
<item quantity="one">Eventos que ocorreram a mais de um dia atrás serão ignorados</item>
<item quantity="many">Eventos que ocorreram a mais de %d de dias atrás serão ignorados</item>
<item quantity="other">Eventos que ocorreram a mais de %d dias atrás serão ignorados</item>
</plurals>
<string name="settings_sync_time_range_past_message">Os eventos que ocorreram antes desse número de dias serão ignorados (pode ser 0). Deixe em branco para sincronizar todos os eventos.</string>
<string name="settings_default_alarm">Lembrete padrão</string>
<plurals name="settings_default_alarm_on">
<item quantity="one">Lembrete padrão um minuto antes do evento</item>
<item quantity="many">Lembrete padrão %d de minutos antes do evento</item>
<item quantity="other">Lembrete padrão %d minutos antes do evento</item>
</plurals>
<string name="settings_default_alarm_off">Nenhum lembrete padrão será criado</string>
<string name="settings_default_alarm_message">Se lembretes padrão devem ser criados para eventos sem um: o número de minutos desejado antes do evento. Deixe em branco para desativar os lembretes padrão. </string>
<string name="settings_manage_calendar_colors">Gerenciar cores do calendários</string>
<string name="settings_manage_calendar_colors_on">As cores dos calendários serão reconfiguradas a cada sincronização</string>
<string name="settings_manage_calendar_colors_off">As cores dos calendários podem ser configuradas por outros apps</string>
<string name="settings_event_colors">Suporte a cores de eventos</string>
<string name="settings_event_colors_on">As cores de eventos serão sincronizadas</string>
<string name="settings_event_colors_off">As cores dos eventos não serão sincronizadas</string>
<string name="settings_carddav">CardDAV</string>
<string name="settings_contact_group_method">Método de agrupamento dos contatos</string>
<string-array name="settings_contact_group_method_entries">
<item>Os grupos são vCards separados</item>
<item>Os grupos são categorias por contato</item>
</string-array>
<!--CreateAddressBookScreen, CreateCalendarScreen-->
<string name="settings_sync_interval_contacts">Intervalo de sincronização dos contatos</string>
<string name="settings_sync_summary_manually">Apenas manualmente</string>
<string name="settings_sync_summary_periodically" tools:ignore="PluralsCandidate">A cada %d minutos e imediatamente em alterações locais</string>
<string name="settings_sync_interval_calendars">Intervalo de sincronização dos calendários</string>
<string name="settings_sync_interval_tasks">Intervalo de sincronização das tarefas</string>
<string-array name="settings_sync_interval_names">
<item>Apenas manualmente</item>
<item>A cada 15 minutos</item>
<item>A cada 30 minutos</item>
<item>A cada hora</item>
<item>A cada 2 horas</item>
<item>A cada 4 horas</item>
<item>Todo dia</item>
</string-array>
<string name="settings_sync_wifi_only">Sincronizar apenas por Wi-Fi</string>
<string name="settings_sync_wifi_only_on">A sincronização está restrita a apenas conexões de Wi-Fi</string>
<string name="settings_sync_wifi_only_off">O tipo de conexão não está sendo considerado</string>
<string name="settings_sync_wifi_only_ssids">Restrição de SSID do Wi-Fi</string>
<string name="settings_sync_wifi_only_ssids_on">Sincronizará apenas em %s</string>
<string name="settings_sync_wifi_only_ssids_off">Todas as conexões Wi-Fi serão utilizadas</string>
<string name="settings_sync_wifi_only_ssids_message">Nomes das redes Wi-Fi permitidas (SSIDs) separados por vírgulas (deixe em branco para todas)</string>
<string name="settings_sync_wifi_only_ssids_permissions_required">A restrição de SSID de Wi-Fi requer configuração adicional</string>
<string name="settings_sync_wifi_only_ssids_permissions_action">Gerenciar</string>
<string name="settings_ignore_vpns">Exigir conexão base verificada para VPNs</string>
<string name="settings_ignore_vpns_on">Uma VPN sem conexão base verificada não é suficiente para executar a sincronização (recomendado)</string>
<string name="settings_ignore_vpns_off">Uma VPN sem conexão base verificada é suficiente para executar a sincronização</string>
<string name="settings_authentication">Autenticação</string>
<string name="settings_username">Nome do usuário</string>
<string name="settings_password">Senha ou senha de app</string>
<string name="settings_app_password_hint"><![CDATA[Você pode preferir usar uma <a href="%1$s">senha de app</a>.]]></string>
<string name="settings_new_password">Senha nova</string>
<string name="settings_password_summary">Atualize a senha de acordo com o seu servidor.</string>
<string name="settings_reauthorize_oauth">Autorizar novamente (OAuth)</string>
<string name="settings_reauthorize_oauth_summary">Use caso o acesso for revogado</string>
<string name="settings_reauthorize_oauth_success">A autorização foi bem-sucedida</string>
<string name="settings_certificate_alias">Certificado de cliente</string>
<string name="settings_certificate_alias_empty">Nenhum certificado disponível ou selecionado</string>
<string name="settings_certificate_install">Instalar certificado</string>
<string name="settings_caldav">CalDAV</string>
<string name="settings_sync_time_range_past">Limite de tempo para eventos passados</string>
<string name="settings_sync_time_range_past_none">Todos os eventos serão sincronizados</string>
<plurals name="settings_sync_time_range_past_days">
<item quantity="one">Eventos que ocorreram a mais de %d dia atrás serão ignorados</item>
<item quantity="many">Eventos que ocorreram a mais de %d de dias atrás serão ignorados</item>
<item quantity="other">Eventos que ocorreram a mais de %d dias atrás serão ignorados</item>
</plurals>
<string name="settings_sync_time_range_past_message">Os eventos que ocorreram antes desse número de dias serão ignorados (pode ser 0). Deixe em branco para sincronizar todos os eventos.</string>
<string name="settings_default_alarm">Lembrete padrão</string>
<plurals name="settings_default_alarm_on">
<item quantity="one">Lembrete padrão %d minuto antes do evento</item>
<item quantity="many">Lembrete padrão %d de minutos antes do evento</item>
<item quantity="other">Lembrete padrão %d minutos antes do evento</item>
</plurals>
<string name="settings_default_alarm_off">Nenhum lembrete padrão será criado</string>
<string name="settings_default_alarm_message">Se lembretes padrão devem ser criados para eventos sem um: o número de minutos desejado antes do evento. Deixe em branco para desativar os lembretes padrão. </string>
<string name="settings_manage_calendar_colors">Gerenciar cores do calendários</string>
<string name="settings_manage_calendar_colors_on">As cores dos calendários serão reconfiguradas a cada sincronização</string>
<string name="settings_manage_calendar_colors_off">As cores dos calendários podem ser configuradas por outros apps</string>
<string name="settings_event_colors">Suporte a cores de eventos</string>
<string name="settings_event_colors_on">As cores de eventos serão sincronizadas</string>
<string name="settings_event_colors_off">As cores dos eventos não serão sincronizadas</string>
<string name="settings_carddav">CardDAV</string>
<string name="settings_contact_group_method">Método de agrupamento dos contatos</string>
<string-array name="settings_contact_group_method_entries">
<item>Os grupos são vCards separados</item>
<item>Os grupos são categorias por contato</item>
</string-array>
<!--CreateAddressBookScreen, CreateCalendarScreen-->
<string name="create_addressbook">Criar lista de contatos</string>
<string name="create_addressbook_maybe_not_supported">A criação de listas de contatos pelo CardDAV pode não ser suportada pelo servidor.</string>
<string name="create_calendar">Criar calendário</string>
<string name="create_calendar_time_zone_optional">Fuso horário padrão (opcional)</string>
<string name="create_calendar_time_zone_none"></string>
<string name="create_calendar_type">Possíveis itens do calendário</string>
<string name="create_calendar_type_vevent">Eventos</string>
<string name="create_calendar_type_vtodo">Tarefas</string>
<string name="create_calendar_type_vjournal">Anotações / diário</string>
<string name="create_calendar_maybe_not_supported">A criação de calendários pelo CalDAV pode não ser suportada pelo servidor.</string>
<string name="create_collection_color">Cor</string>
<string name="create_collection_display_name">Título</string>
<string name="create_collection_home_set">Localização de armazenamento</string>
<string name="create_collection_description_optional">Descrição (opcional)</string>
<string name="create_collection_create">Criar</string>
<!--CollectionScreen-->
<string name="create_addressbook_maybe_not_supported">A criação de listas de contatos pelo CardDAV pode não ser suportada pelo servidor.</string>
<string name="create_calendar">Criar calendário</string>
<string name="create_calendar_time_zone_optional">Fuso horário padrão (opcional)</string>
<string name="create_calendar_time_zone_none"></string>
<string name="create_calendar_type">Possíveis itens do calendário</string>
<string name="create_calendar_type_vevent">Eventos</string>
<string name="create_calendar_type_vtodo">Tarefas</string>
<string name="create_calendar_type_vjournal">Anotações / diário</string>
<string name="create_calendar_maybe_not_supported">A criação de calendários pelo CalDAV pode não ser suportada pelo servidor.</string>
<string name="create_collection_color">Cor</string>
<string name="create_collection_display_name">Título</string>
<string name="create_collection_home_set">Localização de armazenamento</string>
<string name="create_collection_description_optional">Descrição (opcional)</string>
<string name="create_collection_create">Criar</string>
<!--CollectionScreen-->
<string name="collection_datatype_contacts">contatos</string>
<string name="collection_datatype_events">eventos</string>
<string name="collection_datatype_tasks">tarefas</string>
<string name="collection_delete">Apagar coleção</string>
<string name="collection_delete_warning">Esta coleção (%s) e todos os seus dados serão removidos para sempre, tanto localmente como no servidor.</string>
<string name="collection_synchronization">Sincronização</string>
<string name="collection_synchronization_on">A sincronização está ativada</string>
<string name="collection_synchronization_off">A sincronização está desativada</string>
<string name="collection_read_only">Somente leitura</string>
<string name="collection_read_only_by_server">Somente leitura (pelo servidor)</string>
<string name="collection_read_only_by_setting">Somente leitura (pela política)</string>
<string name="collection_read_only_forced">Somente leitura (apenas localmente)</string>
<string name="collection_read_write">Ler/gravar</string>
<string name="collection_title">Título</string>
<string name="collection_description">Descrição</string>
<string name="collection_owner">Proprietário</string>
<string name="collection_push_support">Suporte a push</string>
<string name="collection_push_web_push">O servidor anuncia suporte a push</string>
<string name="collection_push_subscribed_at">Inscrito em %1$s, vence às %2$s</string>
<string name="collection_last_sync">Última sincronização (%s)</string>
<string name="collection_url">Endereço (URL)</string>
<!--debugging and DebugInfoActivity-->
<string name="collection_datatype_events">eventos</string>
<string name="collection_datatype_tasks">tarefas</string>
<string name="collection_delete">Apagar conjunto</string>
<string name="collection_delete_warning">Este conjunto (%s) e todos os seus dados serão removidos para sempre, tanto localmente como no servidor.</string>
<string name="collection_synchronization">Sincronização</string>
<string name="collection_synchronization_on">A sincronização está ativada</string>
<string name="collection_synchronization_off">A sincronização está desativada</string>
<string name="collection_read_only">Somente leitura</string>
<string name="collection_read_only_by_server">Somente leitura (pelo servidor)</string>
<string name="collection_read_only_by_setting">Somente leitura (pela política)</string>
<string name="collection_read_only_forced">Somente leitura (apenas localmente)</string>
<string name="collection_read_write">Ler/gravar</string>
<string name="collection_title">Título</string>
<string name="collection_description">Descrição</string>
<string name="collection_owner">Proprietário</string>
<string name="collection_push_support">Suporte a push</string>
<string name="collection_push_web_push">O servidor anuncia suporte a push</string>
<string name="collection_push_subscribed_at">Inscrito em %1$s, vence às %2$s</string>
<string name="collection_last_sync">Última sincronização (%s)</string>
<string name="collection_url">Endereço (URL)</string>
<!--debugging and DebugInfoActivity-->
<string name="debug_info_title">Informações de depuração</string>
<string name="debug_info_archive_caption">Arquivo ZIP</string>
<string name="debug_info_archive_subtitle">Contém informações de depuração e registros</string>
<string name="debug_info_archive_text">Compartilhe o arquivo para transferi-lo para um computador, ou envie-o por e-mail, anexando ele a um ticket de suporte.</string>
<string name="debug_info_archive_share">Compartilhar arquivo</string>
<string name="debug_info_attached">Informações de depuração anexadas à mensagem (requer suporte a anexos no app destinatário)</string>
<string name="debug_info_http_error">Erro de HTTP</string>
<string name="debug_info_server_error">Erro do servidor</string>
<string name="debug_info_webdav_error">Erro de WebDAV</string>
<string name="debug_info_io_error">Erro de E/S</string>
<string name="debug_info_http_403_description">A solicitação foi negada pelo servidor.</string>
<string name="debug_info_http_404_description">O recurso solicitado não existe (mais).</string>
<string name="debug_info_http_405_description">O servidor não permite o tipo de operação solicitada.</string>
<string name="debug_info_http_5xx_description">Ocorreu um problema no lado do servidor. Contate o suporte do seu servidor.</string>
<string name="debug_info_unexpected_error">Ocorreu um erro inesperado. Visualize as informações de depuração para detalhes.</string>
<string name="debug_info_view_details">Visualizar detalhes</string>
<string name="debug_info_subtitle">As informações de depuração foram coletadas</string>
<string name="debug_info_involved_caption">Recursos envolvidos</string>
<string name="debug_info_involved_subtitle">Relacionados ao problema</string>
<string name="debug_info_involved_remote">Recurso remoto:</string>
<string name="debug_info_involved_local">Recurso local:</string>
<string name="debug_info_logs_caption">Registros</string>
<string name="debug_info_logs_subtitle">Registros verbosos estão disponíveis</string>
<string name="debug_info_logs_view">Visualizar registros</string>
<string name="debug_info_copy_remote_url">Copiar URL</string>
<string name="debug_info_view_local_resource">Inspecionar recurso</string>
<string name="debug_info_privacy_warning_title">Comunicado de privacidade</string>
<string name="debug_info_privacy_warning_description">Os registros e as informações de depuração podem conter informações privadas. Tenha isso em mente ao compartilhá-os publicamente.</string>
<string name="debug_info_can_not_view_resource">Não é possível visualizar o recurso</string>
<!--ExceptionInfoFragment-->
<string name="debug_info_archive_caption">Arquivo ZIP</string>
<string name="debug_info_archive_subtitle">Contém informações de depuração e registros</string>
<string name="debug_info_archive_text">Compartilhe o arquivo para transferi-lo para um computador, ou envie-o por e-mail, anexando ele a um ticket de suporte.</string>
<string name="debug_info_archive_share">Compartilhar arquivo</string>
<string name="debug_info_attached">Informações de depuração anexadas à mensagem (requer suporte a anexos no app destinatário).</string>
<string name="debug_info_http_error">Erro de HTTP</string>
<string name="debug_info_server_error">Erro do servidor</string>
<string name="debug_info_webdav_error">Erro de WebDAV</string>
<string name="debug_info_io_error">Erro de E/S</string>
<string name="debug_info_http_403_description">A solicitação foi negada pelo servidor.</string>
<string name="debug_info_http_404_description">O recurso solicitado não existe (mais).</string>
<string name="debug_info_http_405_description">O servidor não permite o tipo de operação solicitada.</string>
<string name="debug_info_http_5xx_description">Ocorreu um problema no lado do servidor. Contate o suporte do seu servidor.</string>
<string name="debug_info_unexpected_error">Ocorreu um erro inesperado. Visualize as informações de depuração para detalhes.</string>
<string name="debug_info_view_details">Visualizar detalhes</string>
<string name="debug_info_subtitle">As informações de depuração foram coletadas</string>
<string name="debug_info_involved_caption">Recursos envolvidos</string>
<string name="debug_info_involved_subtitle">Relacionados ao problema</string>
<string name="debug_info_involved_remote">Recurso remoto:</string>
<string name="debug_info_involved_local">Recurso local:</string>
<string name="debug_info_logs_caption">Registros</string>
<string name="debug_info_logs_subtitle">Registros verbosos estão disponíveis</string>
<string name="debug_info_logs_view">Visualizar registros</string>
<string name="debug_info_copy_remote_url">Copiar URL</string>
<string name="debug_info_view_local_resource">Inspecionar recurso</string>
<string name="debug_info_privacy_warning_title">Comunicado de privacidade</string>
<string name="debug_info_privacy_warning_description">Os registros e as informações de depuração podem conter informações privadas. Tenha isso em mente ao compartilhá-os publicamente.</string>
<string name="debug_info_can_not_view_resource">Não é possível visualizar o recurso</string>
<!--ExceptionInfoFragment-->
<string name="exception">Ocorreu um erro.</string>
<string name="exception_httpexception">Ocorreu um erro de HTTP.</string>
<string name="exception_ioexception">Ocorreu um erro de E/S.</string>
<string name="exception_show_details">Mostrar detalhes</string>
<!--WebDAV accounts-->
<string name="exception_httpexception">Ocorreu um erro de HTTP.</string>
<string name="exception_ioexception">Ocorreu um erro de E/S.</string>
<string name="exception_show_details">Mostrar detalhes</string>
<!--WebDAV accounts-->
<string name="webdav_mounts_title">Montagens WebDAV</string>
<string name="webdav_mounts_quota_used_available">Cota utilizada: %1$s / disponível: %2$s</string>
<string name="webdav_mounts_share_content">Compartilhar conteúdo</string>
<string name="webdav_mounts_unmount">Desmontar</string>
<string name="webdav_add_mount_title">Adicionar montagem WebDAV</string>
<string name="webdav_mounts_empty">Acesse diretamente seus arquivos da nuvem adicionando uma montagem WebDAV!</string>
<string name="webdav_add_mount_empty_more_info"><![CDATA[Veja o manual para saber <a href="%1$s">como as montagens WebDAV funcionam</a>.]]></string>
<string name="webdav_add_mount_display_name">Nome de exibição</string>
<string name="webdav_add_mount_url">URL do WebDAV</string>
<string name="webdav_add_mount_url_invalid">URL inválido</string>
<string name="webdav_add_mount_mountpoint_displayname">Ponto de montagem e nome de exibição</string>
<string name="webdav_add_mount_authentication">Autenticação</string>
<string name="webdav_add_mount_username">Nome do usuário</string>
<string name="webdav_add_mount_password">Senha</string>
<string name="webdav_add_mount_username_optional">Nome do usuário (opcional)</string>
<string name="webdav_add_mount_password_optional">Senha (opcional)</string>
<string name="webdav_add_mount_add">Adicionar montagem</string>
<string name="webdav_add_mount_no_support">Nenhum serviço de WebDAV neste URL</string>
<string name="webdav_remove_mount_title">Remover ponto de montagem</string>
<string name="webdav_remove_mount_text">Os detalhes da conexão serão perdidos, mas nenhum arquivo será apagado.</string>
<string name="webdav_notification_access">Acessando arquivo do WebDAV</string>
<string name="webdav_notification_download">Baixando arquivo do WebDAV</string>
<string name="webdav_notification_upload">Enviando arquivo do WebDAV</string>
<string name="webdav_provider_root_title">Montagem WebDAV</string>
<!--sync-->
<string name="webdav_mounts_quota_used_available">Cota utilizada: %1$s / disponível: %2$s</string>
<string name="webdav_mounts_share_content">Compartilhar conteúdo</string>
<string name="webdav_mounts_unmount">Desmontar</string>
<string name="webdav_add_mount_title">Adicionar montagem WebDAV</string>
<string name="webdav_mounts_empty">Acesse diretamente seus arquivos da nuvem adicionando uma montagem WebDAV!</string>
<string name="webdav_add_mount_empty_more_info"><![CDATA[Veja o manual para saber <a href="%1$s">como as montagens WebDAV funcionam</a>.]]></string>
<string name="webdav_add_mount_display_name">Nome de exibição</string>
<string name="webdav_add_mount_url">URL do WebDAV</string>
<string name="webdav_add_mount_url_invalid">URL inválido</string>
<string name="webdav_add_mount_mountpoint_displayname">Ponto de montagem e nome de exibição</string>
<string name="webdav_add_mount_authentication">Autenticação</string>
<string name="webdav_add_mount_username">Nome do usuário</string>
<string name="webdav_add_mount_password">Senha</string>
<string name="webdav_add_mount_username_optional">Nome do usuário (opcional)</string>
<string name="webdav_add_mount_password_optional">Senha (opcional)</string>
<string name="webdav_add_mount_add">Adicionar montagem</string>
<string name="webdav_add_mount_no_support">Nenhum serviço de WebDAV neste URL</string>
<string name="webdav_remove_mount_title">Remover ponto de montagem</string>
<string name="webdav_remove_mount_text">Os detalhes da conexão serão perdidos, mas nenhum arquivo será apagado.</string>
<string name="webdav_notification_access">Acessando arquivo do WebDAV</string>
<string name="webdav_notification_download">Baixando arquivo do WebDAV</string>
<string name="webdav_notification_upload">Enviando arquivo do WebDAV</string>
<string name="webdav_provider_root_title">Montagem WebDAV</string>
<!--sync-->
<string name="sync_error_permissions">Permissões do DAVx⁵</string>
<string name="sync_error_permissions_text">São necessárias permissões adicionais</string>
<string name="sync_error_tasks_too_old">%s é muito antigo</string>
<string name="sync_error_tasks_required_version">Versão mínima necessária: %1$s</string>
<string name="sync_error_authentication_failed">Falha na autenticação (certifique-se das credenciais)</string>
<string name="sync_error_io">Erro de rede ou E/S %s</string>
<string name="sync_error_http_dav">Erro do servidor de HTTP %s</string>
<string name="sync_error_local_storage">Erro do armazenamento local %s</string>
<string name="sync_error_retry_limit_reached">Erro suave (número máximo de tentativas atingido)</string>
<string name="sync_invalid_contact">Contato inválido foi recebido do servidor</string>
<string name="sync_invalid_event">Evento inválido foi recebido do servidor</string>
<string name="sync_invalid_task">Tarefa inválida foi recebida do servidor</string>
<string name="sync_invalid_resources_ignoring">Ignorando um ou mais recursos inválidos</string>
<string name="sync_notification_pending_push_title">Sincronização pendente</string>
<string name="sync_notification_pending_push_message">Os dados remotos mudaram</string>
<!--widgets-->
<string name="sync_error_permissions_text">São necessárias permissões adicionais</string>
<string name="sync_error_tasks_too_old">%s é muito antigo</string>
<string name="sync_error_tasks_required_version">Versão mínima necessária: %1$s</string>
<string name="sync_error_authentication_failed">Falha na autenticação (certifique-se das credenciais)</string>
<string name="sync_error_io">Erro de rede ou E/S %s</string>
<string name="sync_error_http_dav">Erro do servidor de HTTP %s</string>
<string name="sync_error_local_storage">Erro do armazenamento local %s</string>
<string name="sync_error_retry_limit_reached">Erro suave (número máximo de tentativas atingido)</string>
<string name="sync_invalid_contact">Contato inválido foi recebido do servidor</string>
<string name="sync_invalid_event">Evento inválido foi recebido do servidor</string>
<string name="sync_invalid_task">Tarefa inválida foi recebida do servidor</string>
<string name="sync_invalid_resources_ignoring">Ignorando um ou mais recursos inválidos</string>
<string name="sync_notification_pending_push_title">Sincronização pendente</string>
<string name="sync_notification_pending_push_message">Os dados remotos mudaram</string>
<!--widgets-->
<string name="widget_sync_all">Sincronizar tudo</string>
<string name="widget_sync_all_accounts">Sincronizar todas as contas</string>
<string name="widget_sync_description">Toque para executar a sincronização manualmente.</string>
<!--cert4android-->
<string name="widget_sync_all_accounts">Sincronizar todas as contas</string>
<string name="widget_sync_description">Toque para executar a sincronização manualmente.</string>
<!--cert4android-->
<string name="widget_labeled_sync_label">Botão de sincronização rotulado</string>
<string name="widget_icon_sync_label">Ícone de sincronização</string>
</resources>

View File

@@ -1,480 +1,480 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<!--common strings-->
<!--common strings-->
<string name="account_invalid">账户(已)不存在</string>
<string name="account_title_address_book">DAVx⁵ 通讯录</string>
<string name="account_prefs_use_app">别在这里更改账户!请直接使用应用管理账户。</string>
<string name="dialog_delete">删除</string>
<string name="dialog_remove">删除</string>
<string name="dialog_deny">取消</string>
<string name="dialog_enable">启用</string>
<string name="field_required">此字段是必填项</string>
<string name="help">帮助</string>
<string name="navigate_up">向上导航</string>
<string name="options_menu">选项菜单</string>
<string name="share">分享</string>
<string name="sync_started">同步已启动/已加入队列</string>
<string name="database_destructive_migration_title">数据库损坏</string>
<string name="database_destructive_migration_text">所有帐户已在本地删除。</string>
<string name="notification_channel_debugging">调试</string>
<string name="notification_channel_general">其它重要消息</string>
<string name="notification_channel_status">低优先级状态消息</string>
<string name="notification_channel_sync">同步</string>
<string name="notification_channel_sync_errors">同步错误</string>
<string name="notification_channel_sync_errors_desc">导致同步停止的重要错误,如异常的服务器响应</string>
<string name="notification_channel_sync_warnings">同步警告</string>
<string name="notification_channel_sync_warnings_desc">不重要的同步问题,如某文件无效</string>
<string name="notification_channel_sync_io_errors">网络或 I/O 错误</string>
<string name="notification_channel_sync_io_errors_desc">超时、连接异常等问题(通常是临时错误)</string>
<!--IntroActivity-->
<string name="account_title_address_book">DAVx⁵ 通讯录</string>
<string name="account_prefs_use_app">别在这里更改账户!请直接使用应用管理账户。</string>
<string name="dialog_delete">删除</string>
<string name="dialog_remove">删除</string>
<string name="dialog_deny">取消</string>
<string name="dialog_enable">启用</string>
<string name="field_required">此字段是必填项</string>
<string name="help">帮助</string>
<string name="navigate_up">向上导航</string>
<string name="options_menu">选项菜单</string>
<string name="share">分享</string>
<string name="sync_started">同步已启动/已加入队列</string>
<string name="database_destructive_migration_title">数据库损坏</string>
<string name="database_destructive_migration_text">所有帐户已在本地删除。</string>
<string name="notification_channel_debugging">调试</string>
<string name="notification_channel_general">其它重要消息</string>
<string name="notification_channel_status">低优先级状态消息</string>
<string name="notification_channel_sync">同步</string>
<string name="notification_channel_sync_errors">同步错误</string>
<string name="notification_channel_sync_errors_desc">导致同步停止的重要错误,如异常的服务器响应</string>
<string name="notification_channel_sync_warnings">同步警告</string>
<string name="notification_channel_sync_warnings_desc">不重要的同步问题,如某文件无效</string>
<string name="notification_channel_sync_io_errors">网络或 I/O 错误</string>
<string name="notification_channel_sync_io_errors_desc">超时、连接异常等问题(通常是临时错误)</string>
<!--IntroActivity-->
<string name="intro_slogan1">您的数据。您的选择。</string>
<string name="intro_slogan2">获得控制。</string>
<string name="intro_battery_title">定期同步间隔</string>
<string name="intro_battery_text">为了定期进行同步,必须允许%s在后台运行。否则Android可能会随时暂停同步。</string>
<string name="intro_battery_dont_show">我不需要定期的同步。*</string>
<string name="intro_autostart_title">%s兼容性</string>
<string name="intro_autostart_text">特定厂商的固件可能会阻止同步。如果你受到影响,你只能手动解决这一问题。</string>
<string name="intro_autostart_dont_show">我已完成所需的设置。不再提醒我。*</string>
<string name="intro_leave_unchecked">*取消选中以供稍后提醒。可以在应用设置中重置/%s。</string>
<string name="intro_more_info">更多信息</string>
<string name="intro_tasks_jtx">jtx Board</string>
<string name="intro_tasks_jtx_info"><![CDATA[支持任务、日记和笔记同步]]></string>
<string name="intro_tasks_title">任务支持</string>
<string name="intro_tasks_text1">如果你的服务器支持任务,它们可以通过一个受支持的任务应用进行同步:</string>
<string name="intro_tasks_opentasks">OpenTasks </string>
<string name="intro_tasks_opentasks_info">似乎已不再开发 — 不推荐</string>
<string name="intro_tasks_tasks_org">Tasks.org</string>
<string name="intro_tasks_tasks_org_info"><![CDATA[某些功能 <a href="https://www.davx5.com/faq/tasks/advanced-task-features">不被支持</a>。]]></string>
<string name="intro_tasks_no_app_store">没有可用的应用商店</string>
<string name="intro_tasks_dont_show">我不需要任务支持。*</string>
<string name="intro_open_source_title">开源软件</string>
<string name="intro_open_source_text">我们很高兴您使用 %s 开源软件。开发、维护和支持是艰苦的工作。请考虑通过多种方式提供贡献或捐款。不胜感激!</string>
<string name="intro_open_source_details">如何贡献或捐款</string>
<string name="intro_open_source_dont_show">不要提醒时长</string>
<plurals name="intro_open_source_dont_show_months">
<item quantity="other">%d 个月</item>
</plurals>
<string name="intro_next">继续</string>
<!--PermissionsActivity-->
<string name="intro_slogan2">尽在掌握</string>
<string name="intro_battery_title">定期同步间隔</string>
<string name="intro_battery_text">为了定期进行同步,必须允许%s在后台运行。否则Android可能会随时暂停同步。</string>
<string name="intro_battery_dont_show">我不需要定期的同步。*</string>
<string name="intro_autostart_title">%s兼容性</string>
<string name="intro_autostart_text">特定厂商的固件可能会阻止同步。如果你受到影响,你只能手动解决这一问题。</string>
<string name="intro_autostart_dont_show">我已完成所需的设置。不再提醒我。*</string>
<string name="intro_leave_unchecked">*取消选中以供稍后提醒。可以在应用设置中重置/%s。</string>
<string name="intro_more_info">更多信息</string>
<string name="intro_tasks_jtx">jtx Board</string>
<string name="intro_tasks_jtx_info"><![CDATA[支持任务、日记和笔记同步]]></string>
<string name="intro_tasks_title">任务支持</string>
<string name="intro_tasks_text1">如果你的服务器支持任务,它们可以通过一个受支持的任务应用进行同步:</string>
<string name="intro_tasks_opentasks">OpenTasks </string>
<string name="intro_tasks_opentasks_info">似乎已不再开发 — 不推荐</string>
<string name="intro_tasks_tasks_org">Tasks.org</string>
<string name="intro_tasks_tasks_org_info"><![CDATA[某些功能 <a href="https://www.davx5.com/faq/tasks/advanced-task-features">不被支持</a>。]]></string>
<string name="intro_tasks_no_app_store">没有可用的应用商店</string>
<string name="intro_tasks_dont_show">我不需要任务支持。*</string>
<string name="intro_open_source_title">开源软件</string>
<string name="intro_open_source_text">我们很高兴您使用 %s 开源软件。开发、维护和支持是艰苦的工作。请考虑通过多种方式提供贡献或捐款。不胜感激!</string>
<string name="intro_open_source_details">如何贡献或捐款</string>
<string name="intro_open_source_dont_show">不要提醒时长</string>
<plurals name="intro_open_source_dont_show_months">
<item quantity="other">%d 个月</item>
</plurals>
<string name="intro_next">继续</string>
<!--PermissionsActivity-->
<string name="permissions_title">权限</string>
<string name="permissions_text">%s需要权限才能正常工作</string>
<string name="permissions_all_title">以下所有</string>
<string name="permissions_all_status_off">使用它来启用所有特性 (推荐)</string>
<string name="permissions_all_status_on">已授予全部权限</string>
<string name="permissions_contacts_title">联系人权限</string>
<string name="permissions_contacts_status_off">无联系人同步(不推荐)</string>
<string name="permissions_contacts_status_on">可同步联系人</string>
<string name="permissions_calendar_title">日历权限</string>
<string name="permissions_calendar_status_off">无日历同步(不推荐)</string>
<string name="permissions_calendar_status_on">可同步日历</string>
<string name="permissions_notification_title">通知权限</string>
<string name="permissions_notification_status_off">已禁用通知(不推荐)</string>
<string name="permissions_notification_status_on">已启用通知</string>
<string name="permissions_jtx_title">jtx Board 权限</string>
<string name="permissions_opentasks_title">OpenTasks权限</string>
<string name="permissions_tasksorg_title">Tasks权限</string>
<string name="permissions_tasks_status_off">无任务同步</string>
<string name="permissions_tasks_status_on">可同步任务</string>
<string name="permissions_autoreset_title">保留权限</string>
<string name="permissions_autoreset_status_off">权限可能被自动重置(不推荐)</string>
<string name="permissions_autoreset_status_on">权限不会被自动重置</string>
<string name="permissions_autoreset_instruction">点击权限 &gt; 取消选择 “移除权限,如果应用未使用”</string>
<string name="permissions_app_settings_hint">如果切换没有正常工作,请使用应用程序设置/权限</string>
<string name="permissions_app_settings">应用设置</string>
<!--WifiPermissionsActivity-->
<string name="permissions_text">%s 需要权限才能正常工作</string>
<string name="permissions_all_title">以下所有</string>
<string name="permissions_all_status_off">使用它来启用所有特性 (推荐)</string>
<string name="permissions_all_status_on">已授予全部权限</string>
<string name="permissions_contacts_title">联系人权限</string>
<string name="permissions_contacts_status_off">无联系人同步(不推荐)</string>
<string name="permissions_contacts_status_on">可同步联系人</string>
<string name="permissions_calendar_title">日历权限</string>
<string name="permissions_calendar_status_off">无日历同步(不推荐)</string>
<string name="permissions_calendar_status_on">可同步日历</string>
<string name="permissions_notification_title">通知权限</string>
<string name="permissions_notification_status_off">已禁用通知(不推荐)</string>
<string name="permissions_notification_status_on">已启用通知</string>
<string name="permissions_jtx_title">jtx Board 权限</string>
<string name="permissions_opentasks_title">OpenTasks权限</string>
<string name="permissions_tasksorg_title">Tasks权限</string>
<string name="permissions_tasks_status_off">无任务同步</string>
<string name="permissions_tasks_status_on">可同步任务</string>
<string name="permissions_autoreset_title">保留权限</string>
<string name="permissions_autoreset_status_off">权限可能被自动重置(不推荐)</string>
<string name="permissions_autoreset_status_on">权限不会被自动重置</string>
<string name="permissions_autoreset_instruction">点击权限 &gt; 取消选择 “移除权限,如果应用未使用”</string>
<string name="permissions_app_settings_hint">如果切换没有正常工作,请使用应用程序设置/权限</string>
<string name="permissions_app_settings">应用设置</string>
<!--WifiPermissionsActivity-->
<string name="wifi_permissions_label">WiFi SSID权限</string>
<string name="wifi_permissions_intro">要访问当前的WiFi名称(SSID),必须满足以下条件: </string>
<string name="wifi_permissions_location_permission">精确位置权限</string>
<string name="wifi_permissions_location_permission_on">已授予位置权限</string>
<string name="wifi_permissions_location_permission_off">位置权限被拒</string>
<string name="wifi_permissions_background_location_permission">后台位置权限</string>
<string name="wifi_permissions_background_location_permission_label">始终允许</string>
<string name="wifi_permissions_background_location_permission_on">位置权限已设为:%s</string>
<string name="wifi_permissions_background_location_permission_off">位置权限未设为:%s</string>
<string name="wifi_permissions_background_location_disclaimer">%s 使用位置数据 (仅 WiFi SSID) 的目的只是为了将同步限制到特定的 WiFi SSID。即使当同步在后台运行时这也会发生。</string>
<string name="wifi_permissions_background_location_disclaimer2">所有位置数据(仅 WiFi SSID)只在本地使用,不会被发送到任何地方。</string>
<string name="wifi_permissions_location_enabled">始终允许定位</string>
<string name="wifi_permissions_location_enabled_on">位置服务已启用</string>
<string name="wifi_permissions_location_enabled_off">位置服务已禁用</string>
<!--AboutActivity-->
<string name="wifi_permissions_intro">要访问当前的WiFi名称(SSID),必须满足以下条件: </string>
<string name="wifi_permissions_location_permission">精确位置权限</string>
<string name="wifi_permissions_location_permission_on">已授予位置权限</string>
<string name="wifi_permissions_location_permission_off">位置权限被拒</string>
<string name="wifi_permissions_background_location_permission">后台位置权限</string>
<string name="wifi_permissions_background_location_permission_label">始终允许</string>
<string name="wifi_permissions_background_location_permission_on">位置权限已设为:%s</string>
<string name="wifi_permissions_background_location_permission_off">位置权限未设为:%s</string>
<string name="wifi_permissions_background_location_disclaimer">%s 使用位置数据 (仅 WiFi SSID) 的目的只是为了将同步限制到特定的 WiFi SSID。即使当同步在后台运行时这也会发生。</string>
<string name="wifi_permissions_background_location_disclaimer2">所有位置数据(仅 WiFi SSID)只在本地使用,不会被发送到任何地方。</string>
<string name="wifi_permissions_location_enabled">始终允许定位</string>
<string name="wifi_permissions_location_enabled_on">位置服务已启用</string>
<string name="wifi_permissions_location_enabled_off">位置服务已禁用</string>
<!--AboutActivity-->
<string name="about_translations">翻译</string>
<string name="about_libraries">程序库</string>
<string name="about_version">版本 %1$s (%2$d)</string>
<string name="about_copyright">©Ricki Hirner, Bernhard Stockmann (bitfire web engineering GmbH) 及贡献者</string>
<string name="about_license_info_no_warranty">本程序不附带任何担保。这是一款自由软件,你可以有条件地传播它。</string>
<!--global settings-->
<string name="about_libraries">程序库</string>
<string name="about_version">版本 %1$s (%2$d)</string>
<string name="about_copyright">©Ricki Hirner, Bernhard Stockmann (bitfire web engineering GmbH) 及贡献者</string>
<string name="about_license_info_no_warranty">本程序不附带任何担保。这是一款自由软件,你可以有条件地传播它。</string>
<!--global settings-->
<string name="logging_couldnt_create_file">无法创建日志文件</string>
<string name="logging_notification_text">正记录%s的所有活动</string>
<string name="logging_notification_view_share">查看/分享</string>
<string name="logging_notification_disable">禁用</string>
<!--AccountsScreen-->
<string name="logging_notification_text">正记录%s的所有活动</string>
<string name="logging_notification_view_share">查看/分享</string>
<string name="logging_notification_disable">禁用</string>
<!--AccountsScreen-->
<string name="navigation_drawer_subtitle">CalDAV/CardDAV 同步器</string>
<string name="navigation_drawer_about">关于 / 许可</string>
<string name="navigation_drawer_beta_feedback">测试版反馈</string>
<string name="install_browser">请安装网页浏览器</string>
<string name="navigation_drawer_settings">设置</string>
<string name="navigation_drawer_news_updates">最新消息</string>
<string name="navigation_drawer_tools">工具</string>
<string name="navigation_drawer_external_links">外部链接</string>
<string name="navigation_drawer_website">应用网站</string>
<string name="navigation_drawer_manual">手册</string>
<string name="navigation_drawer_faq">常见问题</string>
<string name="navigation_drawer_managed">面向机构</string>
<string name="navigation_drawer_community">社区</string>
<string name="navigation_drawer_support_project">支持项目</string>
<string name="navigation_drawer_contribute">如何作贡献</string>
<string name="navigation_drawer_privacy_policy">隐私政策</string>
<string name="account_list_welcome">欢迎来到 DAVx⁵</string>
<string name="account_list_empty">连接到你的服务器,保持日历和联系人同步</string>
<string name="accounts_sync_all">同步所有账户</string>
<!--Sync warnings-->
<string name="navigation_drawer_about">关于 / 许可</string>
<string name="navigation_drawer_beta_feedback">测试版反馈</string>
<string name="install_browser">请安装网页浏览器</string>
<string name="navigation_drawer_settings">设置</string>
<string name="navigation_drawer_news_updates">最新消息</string>
<string name="navigation_drawer_tools">工具</string>
<string name="navigation_drawer_external_links">外部链接</string>
<string name="navigation_drawer_website">应用网站</string>
<string name="navigation_drawer_manual">手册</string>
<string name="navigation_drawer_faq">常见问题</string>
<string name="navigation_drawer_managed">面向机构</string>
<string name="navigation_drawer_community">社区</string>
<string name="navigation_drawer_support_project">支持项目</string>
<string name="navigation_drawer_contribute">如何作贡献</string>
<string name="navigation_drawer_privacy_policy">隐私政策</string>
<string name="account_list_welcome">欢迎来到 DAVx⁵</string>
<string name="account_list_empty">连接到你的服务器,保持日历和联系人同步</string>
<string name="accounts_sync_all">同步所有账户</string>
<!--Sync warnings-->
<string name="sync_warning_no_notification_permission">已禁用通知。你将不会收到同步出错的通知</string>
<string name="sync_warning_no_internet">自动同步不活跃(无已验证的互联网连接)</string>
<string name="sync_warning_manage_connections">管理连接</string>
<string name="sync_warning_datasaver_enabled">启用了流量节省程序。后台同步受限</string>
<string name="sync_warning_manage_datasaver">管理流量节省程序</string>
<string name="sync_warning_battery_saver_enabled">启用了节电程序。同步可能受限。</string>
<string name="sync_warning_manage_battery_saver">管理节电程序</string>
<string name="sync_warning_low_storage">低存储空间。Android 不会立即同步本地更改,但会在下次定期同步时进行</string>
<string name="sync_warning_manage_storage">管理存储</string>
<string name="sync_warning_calendar_storage_disabled_title">缺少日历程序</string>
<string name="sync_warning_calendar_storage_disabled_description">你禁用了“日历存储”系统应用吗?</string>
<string name="sync_warning_contacts_storage_disabled_title">缺少联系人程序</string>
<string name="sync_warning_contacts_storage_disabled_description">你禁用了“联系人存储”系统应用吗?</string>
<string name="sync_warning_manage_apps">管理应用</string>
<!--RefreshCollectionsWorker-->
<string name="sync_warning_no_internet">自动同步不活跃(无已验证的互联网连接)</string>
<string name="sync_warning_manage_connections">管理连接</string>
<string name="sync_warning_datasaver_enabled">启用了流量节省程序。后台同步受限</string>
<string name="sync_warning_manage_datasaver">管理流量节省程序</string>
<string name="sync_warning_battery_saver_enabled">启用了节电程序。同步可能受限。</string>
<string name="sync_warning_manage_battery_saver">管理节电程序</string>
<string name="sync_warning_low_storage">低存储空间。Android 不会立即同步本地更改,但会在下次定期同步时进行</string>
<string name="sync_warning_manage_storage">管理存储</string>
<string name="sync_warning_calendar_storage_disabled_title">缺少日历程序</string>
<string name="sync_warning_calendar_storage_disabled_description">你禁用了“日历存储”系统应用吗?</string>
<string name="sync_warning_contacts_storage_disabled_title">缺少联系人程序</string>
<string name="sync_warning_contacts_storage_disabled_description">你禁用了“联系人存储”系统应用吗?</string>
<string name="sync_warning_manage_apps">管理应用</string>
<!--RefreshCollectionsWorker-->
<string name="refresh_collections_worker_refresh_failed">服务配置检测失败</string>
<string name="refresh_collections_worker_refresh_couldnt_refresh">无法刷新集合列表</string>
<!--Foreground service used by WorkManager on Android <12-->
<string name="refresh_collections_worker_refresh_couldnt_refresh">无法刷新集合列表</string>
<!--Foreground service used by WorkManager on Android <12-->
<string name="foreground_service_notify_title">运行于前台</string>
<string name="foreground_service_notify_text">在某些设备上,这是自动同步所必需的。 </string>
<!--AppSettingsActivity-->
<string name="foreground_service_notify_text">在某些设备上,这是自动同步所必需的。 </string>
<!--AppSettingsActivity-->
<string name="app_settings">设置</string>
<string name="app_settings_debug">调试</string>
<string name="app_settings_show_debug_info">显示调试信息</string>
<string name="app_settings_show_debug_info_details">查看/分享配置详情和日志</string>
<string name="app_settings_logging">记录完整日志</string>
<string name="app_settings_logging_on">日志记录处于活跃状态。你可以将日志作为调试信息的一部分来查看</string>
<string name="app_settings_logging_off">日志记录已禁用</string>
<string name="app_settings_battery_optimization">电池优化</string>
<string name="app_settings_battery_optimization_exempted">排除本应用(推荐)</string>
<string name="app_settings_battery_optimization_optimized">施加电池限制(不推荐)</string>
<string name="app_settings_connection">连接</string>
<string name="app_settings_proxy">代理类型</string>
<string-array name="app_settings_proxy_types">
<item>系统默认</item>
<item>无代理</item>
<item>HTTP</item>
<item>SOCKS (用于 Orbot)</item>
</string-array>
<string name="app_settings_proxy_host">代理主机名称</string>
<string name="app_settings_proxy_port">代理端口</string>
<string name="app_settings_security">安全</string>
<string name="app_settings_security_app_permissions">应用权限</string>
<string name="app_settings_security_app_permissions_summary">查看同步所需权限</string>
<string name="app_settings_distrust_system_certs">不信任系统证书</string>
<string name="app_settings_distrust_system_certs_on">系统和用户增加的发布者不会被信任</string>
<string name="app_settings_distrust_system_certs_off">系统和用户增加的发布者会被信任(推荐)</string>
<string name="app_settings_distrust_system_certs_dialog_message">如果此设置处于开启状态,系统证书不会被认为是可信的。这表示你必须手动接受每一个证书(服务器更新其证书时也必须加以确认)或账户设置,且同步不会工作。</string>
<string name="app_settings_reset_certificates">重设证书信任状态</string>
<string name="app_settings_reset_certificates_summary">重设所有自定义证书的信任状态</string>
<string name="app_settings_reset_certificates_success">所有自定义证书已清除</string>
<string name="app_settings_user_interface">用户界面</string>
<string name="app_settings_notification_settings">通知设置</string>
<string name="app_settings_notification_settings_summary">管理通知渠道等设置</string>
<string name="app_settings_theme_title">选择主题</string>
<string-array name="app_settings_theme_names">
<item>系统默认</item>
<item>浅色</item>
<item>深色</item>
</string-array>
<string name="app_settings_reset_hints">重设提示</string>
<string name="app_settings_reset_hints_summary">重新显示之前忽略过的提示</string>
<string name="app_settings_reset_hints_success">所有提示将会再次显示</string>
<string name="app_settings_integration">集成</string>
<string name="app_settings_tasks_provider">Tasks 应用</string>
<string name="app_settings_tasks_provider_none">未找到兼容的任务应用</string>
<string name="app_settings_unifiedpush">UnifiedPush (实验性)</string>
<string name="app_settings_unifiedpush_disable">无(停用推送)</string>
<string name="app_settings_unifiedpush_choose_distributor">选择分发程序</string>
<string name="app_settings_unifiedpush_no_distributor">未安装推送分发程序</string>
<string name="app_settings_unifiedpush_no_endpoint">未配置端点</string>
<string name="app_settings_unifiedpush_ready">准备好通过 %s 接收推送消息</string>
<string name="app_settings_unifiedpush_distributor_fcm">FCM (Google Play)</string>
<string name="app_settings_unifiedpush_encrypted">推送消息始终是加密的</string>
<!--AccountScreen-->
<string name="app_settings_debug">调试</string>
<string name="app_settings_show_debug_info">显示调试信息</string>
<string name="app_settings_show_debug_info_details">查看/分享配置详情和日志</string>
<string name="app_settings_logging">记录完整日志</string>
<string name="app_settings_logging_on">日志记录处于活跃状态。你可以将日志作为调试信息的一部分来查看</string>
<string name="app_settings_logging_off">日志记录已禁用</string>
<string name="app_settings_battery_optimization">电池优化</string>
<string name="app_settings_battery_optimization_exempted">排除本应用(推荐)</string>
<string name="app_settings_battery_optimization_optimized">施加电池限制(不推荐)</string>
<string name="app_settings_connection">连接</string>
<string name="app_settings_proxy">代理类型</string>
<string-array name="app_settings_proxy_types">
<item>系统默认</item>
<item>无代理</item>
<item>HTTP</item>
<item>SOCKS (用于 Orbot)</item>
</string-array>
<string name="app_settings_proxy_host">代理主机名称</string>
<string name="app_settings_proxy_port">代理端口</string>
<string name="app_settings_security">安全</string>
<string name="app_settings_security_app_permissions">应用权限</string>
<string name="app_settings_security_app_permissions_summary">查看同步所需权限</string>
<string name="app_settings_distrust_system_certs">不信任系统证书</string>
<string name="app_settings_distrust_system_certs_on">系统和用户增加的发布者不会被信任</string>
<string name="app_settings_distrust_system_certs_off">系统和用户增加的发布者会被信任(推荐)</string>
<string name="app_settings_distrust_system_certs_dialog_message">如果此设置处于开启状态,系统证书不会被认为是可信的。这表示你必须手动接受每一个证书(服务器更新其证书时也必须加以确认)或账户设置,且同步不会工作。</string>
<string name="app_settings_reset_certificates">重设证书信任状态</string>
<string name="app_settings_reset_certificates_summary">重设所有自定义证书的信任状态</string>
<string name="app_settings_reset_certificates_success">所有自定义证书已清除</string>
<string name="app_settings_user_interface">用户界面</string>
<string name="app_settings_notification_settings">通知设置</string>
<string name="app_settings_notification_settings_summary">管理通知渠道等设置</string>
<string name="app_settings_theme_title">选择主题</string>
<string-array name="app_settings_theme_names">
<item>系统默认</item>
<item>浅色</item>
<item>深色</item>
</string-array>
<string name="app_settings_reset_hints">重设提示</string>
<string name="app_settings_reset_hints_summary">重新显示之前忽略过的提示</string>
<string name="app_settings_reset_hints_success">所有提示将会再次显示</string>
<string name="app_settings_integration">集成</string>
<string name="app_settings_tasks_provider">Tasks 应用</string>
<string name="app_settings_tasks_provider_none">未找到兼容的任务应用</string>
<string name="app_settings_unifiedpush">UnifiedPush (实验性)</string>
<string name="app_settings_unifiedpush_disable">无(停用推送)</string>
<string name="app_settings_unifiedpush_choose_distributor">选择分发程序</string>
<string name="app_settings_unifiedpush_no_distributor">未安装推送分发程序</string>
<string name="app_settings_unifiedpush_no_endpoint">未配置端点</string>
<string name="app_settings_unifiedpush_ready">准备好通过 %s 接收推送消息</string>
<string name="app_settings_unifiedpush_distributor_fcm">FCM (Google Play)</string>
<string name="app_settings_unifiedpush_encrypted">推送消息始终是加密的</string>
<!--AccountScreen-->
<string name="account_invalid_account">账户已被删除</string>
<string name="account_carddav">CardDAV</string>
<string name="account_caldav">CalDAV</string>
<string name="account_webcal">Webcal</string>
<string name="account_missing_permissions">需要额外权限来同步这些集合</string>
<string name="account_manage_permissions">管理权限</string>
<string name="account_synchronize_now"> 立即同步</string>
<string name="account_settings">账户设置</string>
<string name="account_rename">重命名账户</string>
<string name="account_rename_new_name_description">未保存的本地数据可能会消失。重命名后需要重新同步。</string>
<string name="account_rename_new_name">新账户名</string>
<string name="account_rename_rename">重命名</string>
<string name="account_rename_exists_already">账户名已被占用</string>
<string name="account_rename_couldnt_rename">无法重命名账户</string>
<string name="account_delete">删除账户</string>
<string name="account_delete_confirmation_title">真的要删除账户吗?</string>
<string name="account_delete_confirmation_text">所有通讯录、日历和任务列表的本机存储将被删除。</string>
<string name="account_synchronize_this_collection">同步该集合</string>
<string name="account_read_only">只读</string>
<string name="account_calendar">日历</string>
<string name="account_contacts">联系人</string>
<string name="account_journal">日记</string>
<string name="account_task_list">任务</string>
<string name="account_only_personal">只显示个人</string>
<string name="account_refresh_collections">刷新列表</string>
<string name="account_webcal_external_app">可以用外部应用来同步 Webcal 订阅</string>
<string name="account_no_webcal_handler_found">找不到支持 Webcal 的应用</string>
<string name="account_install_icsx5">安装 ICSx⁵</string>
<!--AddAccountActivity-->
<string name="account_carddav">CardDAV</string>
<string name="account_caldav">CalDAV</string>
<string name="account_webcal">Webcal</string>
<string name="account_missing_permissions">需要额外权限来同步这些集合</string>
<string name="account_manage_permissions">管理权限</string>
<string name="account_synchronize_now"> 立即同步</string>
<string name="account_settings">账户设置</string>
<string name="account_rename">重命名账户</string>
<string name="account_rename_new_name_description">未保存的本地数据可能会消失。重命名后需要重新同步。</string>
<string name="account_rename_new_name">新账户名</string>
<string name="account_rename_rename">重命名</string>
<string name="account_rename_exists_already">账户名已被占用</string>
<string name="account_rename_couldnt_rename">无法重命名账户</string>
<string name="account_delete">删除账户</string>
<string name="account_delete_confirmation_title">真的要删除账户吗?</string>
<string name="account_delete_confirmation_text">所有通讯录、日历和任务列表的本机存储将被删除。</string>
<string name="account_synchronize_this_collection">同步该集合</string>
<string name="account_read_only">只读</string>
<string name="account_calendar">日历</string>
<string name="account_contacts">联系人</string>
<string name="account_journal">日记</string>
<string name="account_task_list">任务</string>
<string name="account_only_personal">只显示个人</string>
<string name="account_refresh_collections">刷新列表</string>
<string name="account_webcal_external_app">可以用外部应用来同步 Webcal 订阅</string>
<string name="account_no_webcal_handler_found">找不到支持 Webcal 的应用</string>
<string name="account_install_icsx5">安装 ICSx⁵</string>
<!--AddAccountActivity-->
<string name="login_title">增加账户</string>
<string name="login_privacy_hint"><![CDATA[所有数据只会在你的服务器和设备之间传输。%1$s不会把它们发送到任何其他地方。 参见 <a href="%2$s">隐私政策</a>。]]></string>
<string name="login_generic_login">常规登录</string>
<string name="login_provider_login">特定服务商的登录</string>
<string name="login_continue">继续</string>
<string name="login_login">登录</string>
<string name="login_type_email">使用邮箱地址登录</string>
<string name="login_email_address">Email 地址</string>
<string name="login_email_address_error">请输入有效 Email 地址</string>
<string name="login_email_address_info"><![CDATA[该邮件域被用作基URL。<a href="%s">服务发现</a> 通过 DNS 记录和已知URLs 进行。]]></string>
<string name="login_password">密码</string>
<string name="login_password_hide">隐藏密码</string>
<string name="login_password_show">显示密码</string>
<string name="login_password_optional">密码(可选)</string>
<string name="login_type_url">使用 URL 和用户名登录</string>
<string name="login_user_name">用户名</string>
<string name="login_user_name_optional">用户名(可选)</string>
<string name="login_base_url">根地址</string>
<string name="login_base_url_info"><![CDATA[此基URL将被直接检查但 <a href="%s">服务发现也将</a>使用 DNS 记录 和已知 URLs 进行。]]></string>
<string name="login_select_certificate">选择证书</string>
<string name="login_add_account">增加账户</string>
<string name="login_account_name">账户显示名</string>
<string name="login_account_avoid_apostrophe">使用撇号(\')似乎会在一些设备上造成问题</string>
<string name="login_account_name_info">请使用你的邮箱地址作为帐户名,因为 Android 会将你创建的日历事件的创建者项设置为帐户名。你不能拥有多个帐户名相同的账户。</string>
<string name="login_account_contact_group_method">联系人分组方式</string>
<string name="login_account_name_required">请输入账户名</string>
<string name="login_account_name_already_taken">账户名已被占用</string>
<string name="login_account_not_added">无法添加账户</string>
<string name="login_finish">完成</string>
<string name="login_type_advanced">高级登录</string>
<string name="login_no_client_certificate_optional">无客户端证书(可选)</string>
<string name="login_client_certificate_selected">客户端证书:%s</string>
<string name="login_no_certificate_found">没有找到证书</string>
<string name="login_install_certificate">安装证书</string>
<string name="login_fastmail">Fastmail</string>
<string name="login_fastmail_account">Fastmail 账户</string>
<string name="login_fastmail_sign_in">使用 Fastmail 登录</string>
<string name="login_type_google">Google 联系人/日历</string>
<string name="login_google_account">Google 账户</string>
<string name="login_google">使用 Google 账户登录</string>
<string name="login_google_client_id">Client ID (可选)</string>
<string name="login_google_client_privacy_policy"><![CDATA[%1$s传输你的 Google 联系人和日历数据的目的仅是为了与此设备同步。详情见我们的 <a href="%2$s">隐私政策</a> 。]]></string>
<string name="login_google_client_limited_use"><![CDATA[%1$s遵守 <a href="%2$s">Google API 服务用户数据政策</a>,包括有限使用的要求。]]></string>
<string name="login_oauth_couldnt_obtain_auth_code">无法获得身份验证码</string>
<string name="login_type_nextcloud">Nextcloud</string>
<string name="login_nextcloud_login_with_nextcloud">用 Nextcloud 登录</string>
<string name="login_nextcloud_login_flow_text">这会在网页浏览器中开启 Nextcloud 登录流程</string>
<string name="login_nextcloud_login_flow_server_address">Nextcloud 服务器地址</string>
<string name="login_nextcloud_login_flow_sign_in">登录</string>
<string name="login_nextcloud_login_flow_no_login_url">无法获取登录 URL</string>
<string name="login_nextcloud_login_flow_no_login_data">无法获得登陆数据</string>
<string name="login_configuration_detection">正在配置</string>
<string name="login_querying_server">正在与服务器通信,请稍等…</string>
<string name="login_no_service">找不到 CalDAV 或 CardDAV 服务。</string>
<string name="login_no_service_info">基URL似乎不是可访问的CalDAV/CardDAV URL 且服务检测不成功。</string>
<string name="login_see_tested_services"><![CDATA[请查看服务供应商手册和 <a href="%s">我们的已测试服务列表</a> 及它们的基础 URLs.]]></string>
<string name="login_check_credentials">也请仔细核查身份验证数据(通常是用户名和密码)。</string>
<string name="login_logs_available">可以在日志中看到进一步的技术信息</string>
<string name="login_view_logs">查看日志</string>
<!--AccountSettingsActivity-->
<string name="login_privacy_hint"><![CDATA[所有数据只会在你的服务器和设备之间传输。%1$s不会把它们发送到任何其他地方。 参见 <a href="%2$s">隐私政策</a>。]]></string>
<string name="login_generic_login">常规登录</string>
<string name="login_provider_login">特定服务商的登录</string>
<string name="login_continue">继续</string>
<string name="login_login">登录</string>
<string name="login_type_email">使用邮箱地址登录</string>
<string name="login_email_address">Email 地址</string>
<string name="login_email_address_error">请输入有效 Email 地址</string>
<string name="login_email_address_info"><![CDATA[该邮件域被用作基URL。<a href="%s">服务发现</a> 通过 DNS 记录和已知URLs 进行。]]></string>
<string name="login_password">密码</string>
<string name="login_password_hide">隐藏密码</string>
<string name="login_password_show">显示密码</string>
<string name="login_password_optional">密码(可选)</string>
<string name="login_type_url">使用 URL 和用户名登录</string>
<string name="login_user_name">用户名</string>
<string name="login_user_name_optional">用户名(可选)</string>
<string name="login_base_url">根地址</string>
<string name="login_base_url_info"><![CDATA[此基URL将被直接检查但 <a href="%s">服务发现也将</a>使用 DNS 记录 和已知 URLs 进行。]]></string>
<string name="login_select_certificate">选择证书</string>
<string name="login_add_account">增加账户</string>
<string name="login_account_name">账户显示名</string>
<string name="login_account_avoid_apostrophe">使用撇号(\')似乎会在一些设备上造成问题</string>
<string name="login_account_name_info">请使用你的邮箱地址作为帐户名,因为 Android 会将你创建的日历事件的创建者项设置为帐户名。你不能拥有多个帐户名相同的账户。</string>
<string name="login_account_contact_group_method">联系人分组方式</string>
<string name="login_account_name_required">请输入账户名</string>
<string name="login_account_name_already_taken">账户名已被占用</string>
<string name="login_account_not_added">无法添加账户</string>
<string name="login_finish">完成</string>
<string name="login_type_advanced">高级登录</string>
<string name="login_no_client_certificate_optional">无客户端证书(可选)</string>
<string name="login_client_certificate_selected">客户端证书:%s</string>
<string name="login_no_certificate_found">没有找到证书</string>
<string name="login_install_certificate">安装证书</string>
<string name="login_fastmail">Fastmail</string>
<string name="login_fastmail_account">Fastmail 账户</string>
<string name="login_fastmail_sign_in">使用 Fastmail 登录</string>
<string name="login_type_google">Google 联系人/日历</string>
<string name="login_google_account">Google 账户</string>
<string name="login_google">使用 Google 账户登录</string>
<string name="login_google_client_id">Client ID (可选)</string>
<string name="login_google_client_privacy_policy"><![CDATA[%1$s传输你的 Google 联系人和日历数据的目的仅是为了与此设备同步。详情见我们的 <a href="%2$s">隐私政策</a> 。]]></string>
<string name="login_google_client_limited_use"><![CDATA[%1$s遵守 <a href="%2$s">Google API 服务用户数据政策</a>,包括有限使用的要求。]]></string>
<string name="login_oauth_couldnt_obtain_auth_code">无法获得身份验证码</string>
<string name="login_type_nextcloud">Nextcloud</string>
<string name="login_nextcloud_login_with_nextcloud">用 Nextcloud 登录</string>
<string name="login_nextcloud_login_flow_text">这会在网页浏览器中开启 Nextcloud 登录流程</string>
<string name="login_nextcloud_login_flow_server_address">Nextcloud 服务器地址</string>
<string name="login_nextcloud_login_flow_sign_in">登录</string>
<string name="login_nextcloud_login_flow_no_login_url">无法获取登录 URL</string>
<string name="login_nextcloud_login_flow_no_login_data">无法获得登陆数据</string>
<string name="login_configuration_detection">正在配置</string>
<string name="login_querying_server">正在与服务器通信,请稍等…</string>
<string name="login_no_service">找不到 CalDAV 或 CardDAV 服务。</string>
<string name="login_no_service_info">基URL似乎不是可访问的CalDAV/CardDAV URL 且服务检测不成功。</string>
<string name="login_see_tested_services"><![CDATA[请查看服务供应商手册和 <a href="%s">我们的已测试服务列表</a> 及它们的基础 URLs.]]></string>
<string name="login_check_credentials">也请仔细核查身份验证数据(通常是用户名和密码)。</string>
<string name="login_logs_available">可以在日志中看到进一步的技术信息</string>
<string name="login_view_logs">查看日志</string>
<!--AccountSettingsActivity-->
<string name="settings_sync">同步</string>
<string name="settings_sync_interval_contacts">通讯录自动同步间隔</string>
<string name="settings_sync_summary_manually">手动同步</string>
<string name="settings_sync_summary_periodically" tools:ignore="PluralsCandidate">每 %d 分钟或本地修改后</string>
<string name="settings_sync_interval_calendars">日历自动同步间隔</string>
<string name="settings_sync_interval_tasks">任务自动同步间隔</string>
<string-array name="settings_sync_interval_names">
<item>手动同步</item>
<item>每 15 分钟</item>
<item>每 30 分钟</item>
<item>每小时</item>
<item>每 2 小时</item>
<item>每 4 小时</item>
<item>每天一次</item>
</string-array>
<string name="settings_sync_wifi_only">只在 WiFi 下同步</string>
<string name="settings_sync_wifi_only_on">同步只在 WiFi 连接下进行</string>
<string name="settings_sync_wifi_only_off">同步不受数据连接类型限制</string>
<string name="settings_sync_wifi_only_ssids">WiFi SSID 限制</string>
<string name="settings_sync_wifi_only_ssids_on">只使用 %s 网络同步</string>
<string name="settings_sync_wifi_only_ssids_off">任意 WiFi 网络均可同步</string>
<string name="settings_sync_wifi_only_ssids_message">请用半角逗号分隔允许同步的 WiFi 网络名SSID留空则允许任意网络</string>
<string name="settings_sync_wifi_only_ssids_permissions_required">WiFi SSID 限制需要进一步设置</string>
<string name="settings_sync_wifi_only_ssids_permissions_action">管理</string>
<string name="settings_ignore_vpns">VPN 需要底层互联网</string>
<string name="settings_ignore_vpns_on">没有底层验证的互联网连接的 VPN 不足以运行同步(推荐选项)</string>
<string name="settings_ignore_vpns_off">没有底层验证的互联网连接的 VPN 足以运行同步了</string>
<string name="settings_authentication">认证</string>
<string name="settings_username">用户名</string>
<string name="settings_password">密码或应用密码</string>
<string name="settings_app_password_hint"><![CDATA[你可能偏好使用 <a href="%1$s">应用密码</a>.]]></string>
<string name="settings_new_password">新密码</string>
<string name="settings_password_summary">修改服务器密码</string>
<string name="settings_reauthorize_oauth">再次授权 (OAuth)</string>
<string name="settings_reauthorize_oauth_summary">当访问权被撤销时使用</string>
<string name="settings_reauthorize_oauth_success">授权成功</string>
<string name="settings_certificate_alias">客户端证书</string>
<string name="settings_certificate_alias_empty">无证书可用或未选择证书</string>
<string name="settings_certificate_install">安装证书</string>
<string name="settings_caldav">CalDAV</string>
<string name="settings_sync_time_range_past">旧日程时间限制</string>
<string name="settings_sync_time_range_past_none">同步所有日程</string>
<plurals name="settings_sync_time_range_past_days">
<item quantity="other">%d 天前的日程不会被同步</item>
</plurals>
<string name="settings_sync_time_range_past_message">超过这个数字的天数的旧日程将会被忽略(可以为 0。留空则同步所有日程。</string>
<string name="settings_default_alarm">默认提醒</string>
<plurals name="settings_default_alarm_on">
<item quantity="other">默认事件开始前 %d 分钟提醒</item>
</plurals>
<string name="settings_default_alarm_off">默认提醒未创建</string>
<string name="settings_default_alarm_message">当没有提醒的事件需增加默认提醒时,事件开始前多少分钟触发提醒。留空以禁用默认提醒。</string>
<string name="settings_manage_calendar_colors">管理日历颜色</string>
<string name="settings_manage_calendar_colors_on">日历的颜色会在每次同步时被重置 </string>
<string name="settings_manage_calendar_colors_off">日历的颜色可以由其他应用程序设置 </string>
<string name="settings_event_colors">事件日历颜色支持</string>
<string name="settings_event_colors_on">事件颜色已同步</string>
<string name="settings_event_colors_off">事件颜色未同步</string>
<string name="settings_carddav">CardDAV</string>
<string name="settings_contact_group_method">联系人分组方式</string>
<string-array name="settings_contact_group_method_entries">
<item>按 VCard 文件分组</item>
<item>按联系人分类分组</item>
</string-array>
<!--CreateAddressBookScreen, CreateCalendarScreen-->
<string name="settings_sync_interval_contacts">通讯录自动同步间隔</string>
<string name="settings_sync_summary_manually">手动同步</string>
<string name="settings_sync_summary_periodically" tools:ignore="PluralsCandidate">每 %d 分钟或本地修改后</string>
<string name="settings_sync_interval_calendars">日历自动同步间隔</string>
<string name="settings_sync_interval_tasks">任务自动同步间隔</string>
<string-array name="settings_sync_interval_names">
<item>手动同步</item>
<item>每 15 分钟</item>
<item>每 30 分钟</item>
<item>每小时</item>
<item>每 2 小时</item>
<item>每 4 小时</item>
<item>每天一次</item>
</string-array>
<string name="settings_sync_wifi_only">只在 WiFi 下同步</string>
<string name="settings_sync_wifi_only_on">同步只在 WiFi 连接下进行</string>
<string name="settings_sync_wifi_only_off">同步不受数据连接类型限制</string>
<string name="settings_sync_wifi_only_ssids">WiFi SSID 限制</string>
<string name="settings_sync_wifi_only_ssids_on">只使用 %s 网络同步</string>
<string name="settings_sync_wifi_only_ssids_off">任意 WiFi 网络均可同步</string>
<string name="settings_sync_wifi_only_ssids_message">请用半角逗号分隔允许同步的 WiFi 网络名SSID留空则允许任意网络</string>
<string name="settings_sync_wifi_only_ssids_permissions_required">WiFi SSID 限制需要进一步设置</string>
<string name="settings_sync_wifi_only_ssids_permissions_action">管理</string>
<string name="settings_ignore_vpns">VPN 需要底层互联网</string>
<string name="settings_ignore_vpns_on">没有底层验证的互联网连接的 VPN 不足以运行同步(推荐选项)</string>
<string name="settings_ignore_vpns_off">没有底层验证的互联网连接的 VPN 足以运行同步了</string>
<string name="settings_authentication">认证</string>
<string name="settings_username">用户名</string>
<string name="settings_password">密码或应用密码</string>
<string name="settings_app_password_hint"><![CDATA[你可能偏好使用 <a href="%1$s">应用密码</a>.]]></string>
<string name="settings_new_password">新密码</string>
<string name="settings_password_summary">更新服务器密码</string>
<string name="settings_reauthorize_oauth">再次授权 (OAuth)</string>
<string name="settings_reauthorize_oauth_summary">当访问权被撤销时使用</string>
<string name="settings_reauthorize_oauth_success">授权成功</string>
<string name="settings_certificate_alias">客户端证书</string>
<string name="settings_certificate_alias_empty">无证书可用或未选择证书</string>
<string name="settings_certificate_install">安装证书</string>
<string name="settings_caldav">CalDAV</string>
<string name="settings_sync_time_range_past">旧日程时间限制</string>
<string name="settings_sync_time_range_past_none">同步所有日程</string>
<plurals name="settings_sync_time_range_past_days">
<item quantity="other">%d 天前的日程不会被同步</item>
</plurals>
<string name="settings_sync_time_range_past_message">超过这个数字的天数的旧日程将会被忽略(可以为 0。留空则同步所有日程。</string>
<string name="settings_default_alarm">默认提醒</string>
<plurals name="settings_default_alarm_on">
<item quantity="other">默认事件开始前 %d 分钟提醒</item>
</plurals>
<string name="settings_default_alarm_off">默认提醒未创建</string>
<string name="settings_default_alarm_message">当没有提醒的事件需增加默认提醒时,事件开始前多少分钟触发提醒。留空以禁用默认提醒。</string>
<string name="settings_manage_calendar_colors">管理日历颜色</string>
<string name="settings_manage_calendar_colors_on">日历的颜色会在每次同步时被重置 </string>
<string name="settings_manage_calendar_colors_off">日历的颜色可以由其他应用程序设置 </string>
<string name="settings_event_colors">事件日历颜色支持</string>
<string name="settings_event_colors_on">事件颜色已同步</string>
<string name="settings_event_colors_off">事件颜色未同步</string>
<string name="settings_carddav">CardDAV</string>
<string name="settings_contact_group_method">联系人分组方式</string>
<string-array name="settings_contact_group_method_entries">
<item>按 VCard 文件分组</item>
<item>按联系人分类分组</item>
</string-array>
<!--CreateAddressBookScreen, CreateCalendarScreen-->
<string name="create_addressbook">创建通讯录</string>
<string name="create_addressbook_maybe_not_supported">服务器可能不支持通过 CalDAV 创建通讯录</string>
<string name="create_calendar">创建日历</string>
<string name="create_calendar_time_zone_optional">默认时区(可选)</string>
<string name="create_calendar_time_zone_none"></string>
<string name="create_calendar_type">可能使用的日历类型</string>
<string name="create_calendar_type_vevent">事件</string>
<string name="create_calendar_type_vtodo">任务</string>
<string name="create_calendar_type_vjournal">笔记 / 日志</string>
<string name="create_calendar_maybe_not_supported">服务器可能不支持通过 CalDAV 创建日历</string>
<string name="create_collection_color">颜色</string>
<string name="create_collection_display_name">标题</string>
<string name="create_collection_home_set">存储位置</string>
<string name="create_collection_description_optional">描述(可选)</string>
<string name="create_collection_create">创建</string>
<!--CollectionScreen-->
<string name="create_addressbook_maybe_not_supported">服务器可能不支持通过 CalDAV 创建通讯录</string>
<string name="create_calendar">创建日历</string>
<string name="create_calendar_time_zone_optional">默认时区(可选)</string>
<string name="create_calendar_time_zone_none"></string>
<string name="create_calendar_type">可能使用的日历类型</string>
<string name="create_calendar_type_vevent">事件</string>
<string name="create_calendar_type_vtodo">任务</string>
<string name="create_calendar_type_vjournal">笔记 / 日志</string>
<string name="create_calendar_maybe_not_supported">服务器可能不支持通过 CalDAV 创建日历</string>
<string name="create_collection_color">颜色</string>
<string name="create_collection_display_name">标题</string>
<string name="create_collection_home_set">存储位置</string>
<string name="create_collection_description_optional">描述(可选)</string>
<string name="create_collection_create">创建</string>
<!--CollectionScreen-->
<string name="collection_datatype_contacts">联系人</string>
<string name="collection_datatype_events">活动</string>
<string name="collection_datatype_tasks">任务</string>
<string name="collection_delete">删除集合</string>
<string name="collection_delete_warning">此集合(%s)及其所有数据将从本地和服务器被永久删除</string>
<string name="collection_synchronization">同步</string>
<string name="collection_synchronization_on">同步已启用</string>
<string name="collection_synchronization_off">已停用同步</string>
<string name="collection_read_only">只读</string>
<string name="collection_read_only_by_server">只读(服务器)</string>
<string name="collection_read_only_by_setting">只读(设置决定)</string>
<string name="collection_read_only_forced">只读 (仅本地)</string>
<string name="collection_read_write">读/写</string>
<string name="collection_title">标题</string>
<string name="collection_description">描述</string>
<string name="collection_owner">所有者</string>
<string name="collection_push_support">推送支持</string>
<string name="collection_push_web_push">服务器宣告推送支持</string>
<string name="collection_push_subscribed_at">订阅于 %1$s过期于 %2$s</string>
<string name="collection_last_sync">上次同步(%s)</string>
<string name="collection_url">地址(URL)</string>
<!--debugging and DebugInfoActivity-->
<string name="collection_datatype_events">活动</string>
<string name="collection_datatype_tasks">任务</string>
<string name="collection_delete">删除集合</string>
<string name="collection_delete_warning">此集合(%s)及其所有数据将从本地和服务器被永久删除</string>
<string name="collection_synchronization">同步</string>
<string name="collection_synchronization_on">同步已启用</string>
<string name="collection_synchronization_off">已停用同步</string>
<string name="collection_read_only">只读</string>
<string name="collection_read_only_by_server">只读(服务器)</string>
<string name="collection_read_only_by_setting">只读(设置决定)</string>
<string name="collection_read_only_forced">只读 (仅本地)</string>
<string name="collection_read_write">读/写</string>
<string name="collection_title">标题</string>
<string name="collection_description">描述</string>
<string name="collection_owner">所有者</string>
<string name="collection_push_support">推送支持</string>
<string name="collection_push_web_push">服务器宣告推送支持</string>
<string name="collection_push_subscribed_at">订阅于 %1$s过期于 %2$s</string>
<string name="collection_last_sync">上次同步(%s)</string>
<string name="collection_url">地址(URL)</string>
<!--debugging and DebugInfoActivity-->
<string name="debug_info_title">调试信息</string>
<string name="debug_info_archive_caption">ZIP 压缩文件</string>
<string name="debug_info_archive_subtitle">包含调试信息和日志</string>
<string name="debug_info_archive_text">共享压缩文件以将其传输到计算机上,通过电子邮件发送或将其附加到支持请求。</string>
<string name="debug_info_archive_share">分享压缩文件</string>
<string name="debug_info_attached">已附加调试信息到此消息(需要接收应用支持附件功能)</string>
<string name="debug_info_http_error">HTTP错误</string>
<string name="debug_info_server_error">服务器错误</string>
<string name="debug_info_webdav_error">WebDAV错误</string>
<string name="debug_info_io_error">I/O错误</string>
<string name="debug_info_http_403_description">服务器拒绝了该请求</string>
<string name="debug_info_http_404_description">所请求的资源(不再存在)不存在。</string>
<string name="debug_info_http_405_description">服务器不允许请求的操作类型。</string>
<string name="debug_info_http_5xx_description">发生服务器端问题。 请联系您的服务器支持</string>
<string name="debug_info_unexpected_error">发生意外错误。详情见调试信息。</string>
<string name="debug_info_view_details">查看细节</string>
<string name="debug_info_subtitle">已收集调试信息</string>
<string name="debug_info_involved_caption">所涉资源</string>
<string name="debug_info_involved_subtitle">与此问题有关</string>
<string name="debug_info_involved_remote">远程资源:</string>
<string name="debug_info_involved_local">本地资源:</string>
<string name="debug_info_logs_caption">日志</string>
<string name="debug_info_logs_subtitle">详细日志可用</string>
<string name="debug_info_logs_view">查看日志</string>
<string name="debug_info_copy_remote_url">复制 URL</string>
<string name="debug_info_view_local_resource">查看资源</string>
<string name="debug_info_privacy_warning_title">隐私声明</string>
<string name="debug_info_privacy_warning_description">日志和调试信息可能包含私密信息。公开分享时请意识到这一点</string>
<string name="debug_info_can_not_view_resource">无法查看资源</string>
<!--ExceptionInfoFragment-->
<string name="debug_info_archive_caption">ZIP 压缩文件</string>
<string name="debug_info_archive_subtitle">包含调试信息和日志</string>
<string name="debug_info_archive_text">共享压缩文件以将其传输到计算机上,通过电子邮件发送或将其附加到支持请求。</string>
<string name="debug_info_archive_share">分享压缩文件</string>
<string name="debug_info_attached">已附加调试信息到此消息(需要接收应用支持附件功能)</string>
<string name="debug_info_http_error">HTTP错误</string>
<string name="debug_info_server_error">服务器错误</string>
<string name="debug_info_webdav_error">WebDAV错误</string>
<string name="debug_info_io_error">I/O错误</string>
<string name="debug_info_http_403_description">服务器拒绝了该请求</string>
<string name="debug_info_http_404_description">所请求的资源(不再存在)不存在。</string>
<string name="debug_info_http_405_description">服务器不允许请求的操作类型。</string>
<string name="debug_info_http_5xx_description">发生服务器端问题。 请联系您的服务器支持人员</string>
<string name="debug_info_unexpected_error">发生意外错误。详情见调试信息。</string>
<string name="debug_info_view_details">查看细节</string>
<string name="debug_info_subtitle">已收集调试信息</string>
<string name="debug_info_involved_caption">所涉资源</string>
<string name="debug_info_involved_subtitle">与此问题有关</string>
<string name="debug_info_involved_remote">远程资源:</string>
<string name="debug_info_involved_local">本地资源:</string>
<string name="debug_info_logs_caption">日志</string>
<string name="debug_info_logs_subtitle">详细日志可用</string>
<string name="debug_info_logs_view">查看日志</string>
<string name="debug_info_copy_remote_url">复制 URL</string>
<string name="debug_info_view_local_resource">查看资源</string>
<string name="debug_info_privacy_warning_title">隐私声明</string>
<string name="debug_info_privacy_warning_description">日志和调试信息可能包含私密信息。公开分享时请意识到这一点</string>
<string name="debug_info_can_not_view_resource">无法查看资源</string>
<!--ExceptionInfoFragment-->
<string name="exception">出现错误</string>
<string name="exception_httpexception">出现 HTTP 错误</string>
<string name="exception_ioexception">出现 I/O 错误</string>
<string name="exception_show_details">显示详情</string>
<!--WebDAV accounts-->
<string name="exception_httpexception">出现 HTTP 错误</string>
<string name="exception_ioexception">出现 I/O 错误</string>
<string name="exception_show_details">显示详情</string>
<!--WebDAV accounts-->
<string name="webdav_mounts_title">WebDAV 文件系统</string>
<string name="webdav_mounts_quota_used_available">已用配额:%1$s/可用容量:%2$s</string>
<string name="webdav_mounts_share_content">分享内容</string>
<string name="webdav_mounts_unmount">解除挂载</string>
<string name="webdav_add_mount_title">添加 WebDAV 文件系统</string>
<string name="webdav_mounts_empty">通过添加 WebDAV 挂载直接访问您的云文件!</string>
<string name="webdav_add_mount_empty_more_info"><![CDATA[查看手册了解 <a href="%1$s">WebDAV 挂载如何工作</a>.]]></string>
<string name="webdav_add_mount_display_name">展示名称</string>
<string name="webdav_add_mount_url">WebDAV URL</string>
<string name="webdav_add_mount_url_invalid">无效 URL</string>
<string name="webdav_add_mount_mountpoint_displayname">挂载点和显示名称</string>
<string name="webdav_add_mount_authentication">认证</string>
<string name="webdav_add_mount_username">用户名</string>
<string name="webdav_add_mount_password">密码</string>
<string name="webdav_add_mount_username_optional">用户名(可选)</string>
<string name="webdav_add_mount_password_optional">密码(可选)</string>
<string name="webdav_add_mount_add">添加 WebDAV 网址</string>
<string name="webdav_add_mount_no_support">此 URL 无 WebDAV 服务</string>
<string name="webdav_remove_mount_title">删除装载点</string>
<string name="webdav_remove_mount_text">将丢失连接详情,但不会删除文件</string>
<string name="webdav_notification_access">正在访问 WebDAV 文件</string>
<string name="webdav_notification_download">正在下载 WebDAV 文件</string>
<string name="webdav_notification_upload">正在上传 WebDAV 文件</string>
<string name="webdav_provider_root_title">WebDAV 文件系统</string>
<!--sync-->
<string name="webdav_mounts_quota_used_available">已用配额:%1$s/可用容量:%2$s</string>
<string name="webdav_mounts_share_content">分享内容</string>
<string name="webdav_mounts_unmount">解除挂载</string>
<string name="webdav_add_mount_title">添加 WebDAV 文件系统</string>
<string name="webdav_mounts_empty">通过添加 WebDAV 挂载直接访问您的云文件!</string>
<string name="webdav_add_mount_empty_more_info"><![CDATA[查看手册了解 <a href="%1$s">WebDAV 挂载如何工作</a>.]]></string>
<string name="webdav_add_mount_display_name">展示名称</string>
<string name="webdav_add_mount_url">WebDAV URL</string>
<string name="webdav_add_mount_url_invalid">无效 URL</string>
<string name="webdav_add_mount_mountpoint_displayname">挂载点和显示名称</string>
<string name="webdav_add_mount_authentication">认证</string>
<string name="webdav_add_mount_username">用户名</string>
<string name="webdav_add_mount_password">密码</string>
<string name="webdav_add_mount_username_optional">用户名(可选)</string>
<string name="webdav_add_mount_password_optional">密码(可选)</string>
<string name="webdav_add_mount_add">添加 WebDAV 网址</string>
<string name="webdav_add_mount_no_support">此 URL 无 WebDAV 服务</string>
<string name="webdav_remove_mount_title">删除装载点</string>
<string name="webdav_remove_mount_text">将丢失连接详情,但不会删除文件</string>
<string name="webdav_notification_access">正在访问 WebDAV 文件</string>
<string name="webdav_notification_download">正在下载 WebDAV 文件</string>
<string name="webdav_notification_upload">正在上传 WebDAV 文件</string>
<string name="webdav_provider_root_title">WebDAV 文件系统</string>
<!--sync-->
<string name="sync_error_permissions">DAVx⁵ 权限</string>
<string name="sync_error_permissions_text">需要额外权限</string>
<string name="sync_error_tasks_too_old">%s太旧</string>
<string name="sync_error_tasks_required_version">最低要求版本: %1$s</string>
<string name="sync_error_authentication_failed">认证失败(请检查登录凭据,如用户名密码)</string>
<string name="sync_error_io">网络或 I/O 错误 %s</string>
<string name="sync_error_http_dav">HTTP 服务器错误 %s</string>
<string name="sync_error_local_storage">本地存储错误 %s</string>
<string name="sync_error_retry_limit_reached">软错误(达到最大重试次数)</string>
<string name="sync_invalid_contact">从服务器收到无效的通讯录</string>
<string name="sync_invalid_event">从服务器收到无效的日历事件</string>
<string name="sync_invalid_task">从服务器收到无效的任务项</string>
<string name="sync_invalid_resources_ignoring">正在忽略若干无效资源</string>
<string name="sync_notification_pending_push_title">待同步</string>
<string name="sync_notification_pending_push_message">远程数据已更改</string>
<!--widgets-->
<string name="sync_error_permissions_text">需要额外权限</string>
<string name="sync_error_tasks_too_old">%s太旧</string>
<string name="sync_error_tasks_required_version">最低要求版本: %1$s</string>
<string name="sync_error_authentication_failed">认证失败(请检查登录凭据,如用户名密码)</string>
<string name="sync_error_io">网络或 I/O 错误 %s</string>
<string name="sync_error_http_dav">HTTP 服务器错误 %s</string>
<string name="sync_error_local_storage">本地存储错误 %s</string>
<string name="sync_error_retry_limit_reached">软错误(达到最大重试次数)</string>
<string name="sync_invalid_contact">从服务器收到无效的通讯录</string>
<string name="sync_invalid_event">从服务器收到无效的日历事件</string>
<string name="sync_invalid_task">从服务器收到无效的任务项</string>
<string name="sync_invalid_resources_ignoring">正在忽略若干无效资源</string>
<string name="sync_notification_pending_push_title">待同步</string>
<string name="sync_notification_pending_push_message">远程数据已更改</string>
<!--widgets-->
<string name="widget_sync_all">同步所有</string>
<string name="widget_sync_all_accounts">同步所有账户</string>
<string name="widget_labeled_sync_label">带标签的同步按钮</string>
<string name="widget_icon_sync_label">同步按钮图标</string>
<string name="widget_sync_description">轻按手动运行同步</string>
<!--cert4android-->
<string name="widget_sync_all_accounts">同步所有账户</string>
<string name="widget_labeled_sync_label">带标签的同步按钮</string>
<string name="widget_icon_sync_label">同步按钮图标</string>
<string name="widget_sync_description">轻按手动运行同步</string>
<!--cert4android-->
</resources>

View File

@@ -58,6 +58,10 @@
<string name="intro_tasks_tasks_org_info"><![CDATA[Some features <a href="https://www.davx5.com/faq/tasks/advanced-task-features">are not supported</a>.]]></string>
<string name="intro_tasks_no_app_store">No app store available</string>
<string name="intro_tasks_dont_show">I don\'t need tasks support.*</string>
<string name="intro_backups_title">Backups reminder</string>
<string name="intro_backups_important">It\'s important to back up your data (including contacts and calendars) regularly to prevent potential data loss.</string>
<string name="intro_backups_no_versioning">%s synchronizes changes and deletions but does NOT function as a backup tool or provide version history.</string>
<string name="intro_backups_accept">I already have a backup solution in place or I don\'t need one.</string>
<string name="intro_open_source_title">Open-source software</string>
<string name="intro_open_source_text">We\'re happy that you use %s, which is open-source software. Development, maintenance and support are hard work. Please consider contributing (there are many ways) or a donation. It would be highly appreciated!</string>
<string name="intro_open_source_details">How to contribute/donate</string>

View File

@@ -1,9 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright © All Contributors. See LICENSE and AUTHORS in the root directory for details.
-->
<network-security-config xmlns:tools="http://schemas.android.com/tools">
<base-config cleartextTrafficPermitted="true" tools:ignore="InsecureBaseConfiguration">
<!-- We need cleartext traffic because users
1. can use `http://` WebDAV servers (usually in the LAN),
2. can use a HTTP/SOCKS/Tor proxy without encryption (usually, but not necessarily on localhost). -->
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<!-- Trust system certificates. -->
<certificates src="system"/>
<!-- Trust CA certificates which have been installed by the user. -->
<certificates src="user" tools:ignore="AcceptsUserCertificates" />
</trust-anchors>
</base-config>
<!-- If cleartextTrafficPermitted would be "false", we would need to put the following into
src/debug/xml/network_security_config.xml to allow cleartext traffic for instrumented tests
(mock webserver on localhost):
<domain-config cleartextTrafficPermitted="true">
<domain>localhost</domain>
<domain>127.0.0.1</domain>
<domain>[::1]</domain>
</domain-config>
-->
</network-security-config>

View File

@@ -7,6 +7,7 @@ package at.bitfire.davdroid.ui.intro
import javax.inject.Inject
class OseIntroPageFactory @Inject constructor(
backupsPage: BackupsPage,
batteryOptimizationsPage: BatteryOptimizationsPage,
openSourcePage: OpenSourcePage,
permissionsIntroPage: PermissionsIntroPage,
@@ -18,6 +19,7 @@ class OseIntroPageFactory @Inject constructor(
tasksIntroPage,
permissionsIntroPage,
batteryOptimizationsPage,
backupsPage,
openSourcePage
)

View File

@@ -6,7 +6,6 @@ plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.compose.compiler) apply false
alias(libs.plugins.hilt) apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.ksp) apply false
alias(libs.plugins.mikepenz.aboutLibraries.android) apply false

View File

@@ -0,0 +1 @@
DAVx⁵

View File

@@ -0,0 +1 @@
https://www.youtube.com/watch?v=fqsK7VCX_fM

View File

@@ -1,5 +0,0 @@
DAVx⁵ is a CalDAV/CardDAV management and synchronisation app for Android which natively integrates with Android calendar/contact apps.
Use it with your own server or with a trusted host to keep your contacts, events and tasks under your control.
For more information and a list of tested servers/services, have a look at the Web site.

View File

@@ -1 +0,0 @@
CalDAV/CardDAV Synchronisation and Client

View File

@@ -1,5 +0,0 @@
DAVx⁵ est une application de gestion et synchronisation CalDAV/CardDAV sous Android compatible avec les application de contact et les calendriers Android.
Utilisez-la avec votre serveur personnel ou un hôte de confiance pour garder vos contacts, événements et tâches sous contrôle.
Pour plus d'information et pour consulter la liste des serveurs/services testés consultez le site web.

View File

@@ -1 +0,0 @@
Synchronisation et Client CalDAV/CardDAV

View File

@@ -1,5 +0,0 @@
DAVx⁵ est une application de gestion et synchronisation CalDAV/CardDAV sous Android compatible avec les application de contact et les calendriers Android.
Utilisez-la avec votre serveur personnel ou un hôte de confiance pour garder vos contacts, événements et tâches sous contrôle.
Pour plus d'information et pour consulter la liste des serveurs/services testés consultez le site web.

View File

@@ -1 +0,0 @@
Synchronisation et Client CalDAV/CardDAV

View File

@@ -1,5 +1,5 @@
DAVx⁵ est une application de gestion et de synchronisation CalDAV / CardDAV pour Android qui s'intègre de manière native aux applications de calendrier / contact Android.
DAVx⁵ est une application de gestion et synchronisation CalDAV/CardDAV sous Android compatible avec les application de contact et les calendriers Android.
Utilisez-le avec votre propre serveur ou avec un hébergeur de confiance pour garder vos contacts, événements et tâches sous votre contrôle.
Utilisez-la avec votre serveur personnel ou un hôte de confiance pour garder vos contacts, événements et tâches sous contrôle.
Pour plus d'informations et une liste des serveurs / services testés, consultez le site Web.
Pour plus d'information et pour consulter la liste des serveurs/services testés consultez le site web.

View File

@@ -1 +1 @@
Synchronisation et client CalDAV / CardDAV
Synchronisation et Client CalDAV/CardDAV

View File

@@ -1,5 +0,0 @@
DAVx⁵ 是一個 CalDAV/CardDAV 管理與同步工具,在 Android 設備上運行,並集合了 Android 内置的行事曆和聯絡人APP。
在您自己的伺服器上,或者在可信任的管理服務上保管你的聯絡人,事項和任務。
您可以在網際網絡上獲取更多詳細資料,它含有一個經過測試成功的服務和伺服器清單。

View File

@@ -1 +0,0 @@
CalDAV/CardDAV 同步服務和客戶端

View File

@@ -10,6 +10,9 @@ org.gradle.parallel=true
# Android
android.useAndroidX=true
# Compatibility with AGP 9.0.0
android.newDsl=false
# It's recommended to add these settings to your $GRADLE_USER_HOME/gradle.properties:
# org.gradle.configuration-cache=true

View File

@@ -1,9 +1,9 @@
# Comments apply to next line
[versions]
android-agp = "8.13.2"
android-agp = "9.0.0"
android-desugaring = "2.1.5"
androidx-activityCompose = "1.12.1"
androidx-activityCompose = "1.12.2"
androidx-appcompat = "1.7.1"
androidx-arch = "2.2.0"
androidx-browser = "1.9.0"
@@ -19,27 +19,27 @@ androidx-test-rules = "1.7.0"
androidx-test-junit = "1.3.0"
androidx-work = "2.11.0"
bitfire-cert4android = "42d883e958"
bitfire-dav4jvm = "57321c95ad"
bitfire-synctools = "42e82f4769"
bitfire-dav4jvm = "acf8e4ef9b"
bitfire-synctools = "25b92ef99a"
compose-accompanist = "0.37.3"
compose-bom = "2025.12.00"
compose-bom = "2026.01.00"
conscrypt = "2.5.3"
dnsjava = "3.6.3"
dnsjava = "3.6.4"
glance = "1.1.1"
guava = "33.5.0-android"
hilt = "2.57.2"
hilt = "2.59"
# keep in sync with ksp version
kotlin = "2.2.21"
kotlinx-coroutines = "1.10.2"
ksp = "2.3.3"
ksp = "2.3.4"
ktor = "3.3.3"
mikepenz-aboutLibraries = "13.1.0"
mikepenz-aboutLibraries = "13.2.1"
mockk = "1.14.7"
okhttp = "5.3.2"
openid-appauth = "0.11.1"
robolectric = "4.16"
room = "2.8.4"
unifiedpush = "3.1.2"
unifiedpush = "3.2.0"
unifiedpush-fcm = "3.0.0"
# Other libraries, especially ical4j, require Apache Commons. Some recent versions of Apache
@@ -55,7 +55,14 @@ androidx-activityCompose = { module = "androidx.activity:activity-compose", vers
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx-appcompat" }
androidx-arch-core-testing = { module = "androidx.arch.core:core-testing", version.ref = "androidx-arch" }
androidx-browser = { module = "androidx.browser:browser", version.ref = "androidx-browser" }
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" }
androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3" }
androidx-compose-materialIconsExtended = { module = "androidx.compose.material:material-icons-extended" }
androidx-compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
androidx-compose-ui-toolingPreview = { module = "androidx.compose.ui:ui-tooling-preview" }
androidx-core = { module = "androidx.core:core-ktx", version.ref = "androidx-core" }
androidx-glance-base = { module = "androidx.glance:glance-appwidget", version.ref = "glance" }
androidx-glance-material = { module = "androidx.glance:glance-material", version.ref = "glance" }
androidx-hilt-compiler = { module = "androidx.hilt:hilt-compiler", version.ref = "androidx-hilt" }
androidx-hilt-navigation-compose = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "androidx-hilt" }
androidx-hilt-work = { module = "androidx.hilt:hilt-work", version.ref = "androidx-hilt" }
@@ -65,6 +72,11 @@ androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-
androidx-paging = { module = "androidx.paging:paging-runtime-ktx", version.ref = "androidx-paging" }
androidx-paging-compose = { module = "androidx.paging:paging-compose", version.ref = "androidx-paging" }
androidx-preference = { module = "androidx.preference:preference-ktx", version.ref = "androidx-preference" }
androidx-room-base = { module = "androidx.room:room-ktx", version.ref = "room" }
androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" }
androidx-room-paging = { module = "androidx.room:room-paging", version.ref = "room" }
androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" }
androidx-room-testing = { module = "androidx.room:room-testing", version.ref = "room" }
androidx-security = { module = "androidx.security:security-crypto", version.ref = "androidx-security" }
androidx-test-core = { module = "androidx.test:core-ktx", version.ref = "androidx-test-core" }
androidx-test-runner = { module = "androidx.test:runner", version.ref = "androidx-test-runner" }
@@ -78,15 +90,8 @@ bitfire-synctools = { module = "com.github.bitfireAT:synctools", version.ref = "
commons-codec = { module = "commons-codec:commons-codec", version.ref = "commons-codec" }
commons-lang = { module = "org.apache.commons:commons-lang3", version.ref = "commons-lang" }
compose-accompanist-permissions = { module = "com.google.accompanist:accompanist-permissions", version.ref = "compose-accompanist" }
compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" }
compose-material3 = { group = "androidx.compose.material3", name = "material3" }
compose-materialIconsExtended = { module = "androidx.compose.material:material-icons-extended" }
compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
compose-ui-toolingPreview = { module = "androidx.compose.ui:ui-tooling-preview" }
conscrypt = { module = "org.conscrypt:conscrypt-android", version.ref = "conscrypt" }
dnsjava = { module = "dnsjava:dnsjava", version.ref = "dnsjava" }
glance-base = { module = "androidx.glance:glance-appwidget", version.ref = "glance" }
glance-material = { module = "androidx.glance:glance-material", version.ref = "glance" }
guava = { module = "com.google.guava:guava", version.ref = "guava" }
hilt-android-base = { module = "com.google.dagger:hilt-android", version.ref = "hilt" }
hilt-android-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hilt" }
@@ -108,11 +113,6 @@ okhttp-logging = { module = "com.squareup.okhttp3:logging-interceptor", version.
okhttp-mockwebserver = { module = "com.squareup.okhttp3:mockwebserver", version.ref = "okhttp" }
openid-appauth = { module = "net.openid:appauth", version.ref = "openid-appauth" }
robolectric = { module = "org.robolectric:robolectric", version.ref = "robolectric" }
room-base = { module = "androidx.room:room-ktx", version.ref = "room" }
room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" }
room-paging = { module = "androidx.room:room-paging", version.ref = "room" }
room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" }
room-testing = { module = "androidx.room:room-testing", version.ref = "room" }
unifiedpush = { module = "org.unifiedpush.android:connector", version.ref = "unifiedpush" }
unifiedpush-fcm = { module = "org.unifiedpush.android:embedded-fcm-distributor", version.ref = "unifiedpush-fcm" }
@@ -120,7 +120,6 @@ unifiedpush-fcm = { module = "org.unifiedpush.android:embedded-fcm-distributor",
android-application = { id = "com.android.application", version.ref = "android-agp" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
mikepenz-aboutLibraries-android = { id = "com.mikepenz.aboutlibraries.plugin.android", version.ref = "mikepenz-aboutLibraries" }

View File

Binary file not shown.

View File

@@ -1,10 +1,6 @@
#
# Copyright <20> All Contributors. See LICENSE and AUTHORS in the root directory for details.
#
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME

11
gradlew vendored
View File

@@ -1,7 +1,7 @@
#!/bin/sh
#
# Copyright © 2015-2021 the original authors.
# Copyright © 2015 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -86,8 +86,7 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
' "$PWD" ) || exit
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
@@ -115,7 +114,7 @@ case "$( uname )" in #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
CLASSPATH="\\\"\\\""
# Determine the Java command to use to start the JVM.
@@ -206,7 +205,7 @@ fi
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
@@ -214,7 +213,7 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
"$@"
# Stop when "xargs" is not available.

4
gradlew.bat vendored
View File

@@ -70,11 +70,11 @@ goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
set CLASSPATH=
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
:end
@rem End local scope for the variables with windows NT shell

View File

@@ -1,17 +0,0 @@
#!/bin/sh
export TX_TOKEN=`awk '/token *=/ { print $3; }' <$HOME/.transifexrc`
cd `pwd $0`/..
tx pull -a -f --use-git-timestamps
if find app/src -type d -name 'values-*_*' -exec false '{}' +
then
echo "No values-XX_RR directory found, good"
else
echo "Found values-XX_RR directory, update .tx/config mappings to values-XX-rRR!"
exit 1
fi
curl -H "Authorization: Bearer $TX_TOKEN" 'https://rest.api.transifex.com/team_memberships?filter\[organization\]=o:bitfireAT&filter\[team\]=o:bitfireAT:t:davx5-team' \
| scripts/rewrite-translators.rb >app/src/main/assets/translators.json

View File

@@ -1,24 +0,0 @@
#!/usr/bin/ruby
require 'json'
contributors = {}
transifex = JSON.parse(STDIN.read, :symbolize_names => true)
for t in transifex[:data]
raise unless t[:type] == 'team_memberships'
#next unless t[:attributes][:role] == 'translator'
rel = t[:relationships]
lang = rel[:language][:data][:id].delete_prefix('l:')
user = rel[:user][:data][:id].delete_prefix('u:')
next if user == 'bitfire'
contributors[lang] = [] if contributors[lang].nil?
contributors[lang] << user
end
contributors.transform_values! { |u| u.sort }
puts contributors.sort.to_h.to_json

View File

@@ -1,3 +1,7 @@
/*
* Copyright © All Contributors. See LICENSE and AUTHORS in the root directory for details.
*/
pluginManagement {
repositories {
google()
@@ -20,10 +24,11 @@ dependencyResolutionManagement {
}
// use remote build cache, if configured
if (System.getenv("GRADLE_BUILDCACHE_URL") != null) {
val buildCacheUrl = System.getenv("GRADLE_BUILDCACHE_URL")
if (!buildCacheUrl.isNullOrEmpty()) {
buildCache {
remote<HttpBuildCache> {
url = uri(System.getenv("GRADLE_BUILDCACHE_URL"))
url = uri(buildCacheUrl)
credentials {
username = System.getenv("GRADLE_BUILDCACHE_USERNAME")
password = System.getenv("GRADLE_BUILDCACHE_PASSWORD")