Compare commits
5 commits
main
...
message-ba
Author | SHA1 | Date | |
---|---|---|---|
|
2b215059cc | ||
|
5cd0c0bed7 | ||
|
c6f414813e | ||
|
1a828e505e | ||
|
6841896f92 |
126 changed files with 965 additions and 5759 deletions
|
@ -1,21 +0,0 @@
|
|||
image: "registry.gitlab.e.foundation/e/os/docker-android-apps-cicd:latest"
|
||||
|
||||
stages:
|
||||
- build
|
||||
|
||||
before_script:
|
||||
- export GRADLE_USER_HOME=$(pwd)/.gradle
|
||||
- chmod +x ./gradlew
|
||||
|
||||
cache:
|
||||
key: ${CI_PROJECT_ID}
|
||||
paths:
|
||||
- .gradle/
|
||||
|
||||
buildRelease:
|
||||
stage: build
|
||||
script:
|
||||
- ./gradlew assembleFdroid
|
||||
artifacts:
|
||||
paths:
|
||||
- app/build/outputs/apk/fdroid/release
|
28
README.md
28
README.md
|
@ -2,8 +2,32 @@
|
|||
This is the Android app for [ntfy](https://github.com/binwiederhier/ntfy) ([ntfy.sh](https://ntfy.sh)). You can find the app in [F-Droid](https://f-droid.org/packages/io.heckel.ntfy/) or the [Play Store](https://play.google.com/store/apps/details?id=io.heckel.ntfy),
|
||||
or as .apk files on the [releases page](https://github.com/binwiederhier/ntfy-android/releases).
|
||||
|
||||
## Build
|
||||
For up-to-date building instructions, please see the [official docs](https://docs.ntfy.sh/develop/#android-app).
|
||||
# Build
|
||||
|
||||
## Building without Firebase (F-Droid flavor)
|
||||
Without Firebase, you may want to still change the default `app_base_url` in [strings.xml](https://github.com/binwiederhier/ntfy-android/blob/main/app/src/main/res/values/strings.xml)
|
||||
if you're self-hosting the server. Then run:
|
||||
```
|
||||
# To build an unsigned .apk (app/build/outputs/apk/fdroid/*.apk)
|
||||
./gradlew assembleFdroidRelease
|
||||
|
||||
# To build a bundle .aab (app/fdroid/release/*.aab)
|
||||
./gradlew bundleFdroidRelease
|
||||
```
|
||||
|
||||
## Building with Firebase (FCM, Google Play flavor)
|
||||
To build your own version with Firebase, you must:
|
||||
* Create a Firebase/FCM account
|
||||
* Place your account file at `app/google-services.json`
|
||||
* And change `app_base_url` in [strings.xml](https://github.com/binwiederhier/ntfy-android/blob/main/app/src/main/res/values/strings.xml)
|
||||
* Then run:
|
||||
```
|
||||
# To build an unsigned .apk (app/build/outputs/apk/play/*.apk)
|
||||
./gradlew assemblePlayRelease
|
||||
|
||||
# To build a bundle .aab (app/play/release/*.aab)
|
||||
./gradlew bundlePlayRelease
|
||||
```
|
||||
|
||||
## Translations
|
||||
We're using [Weblate](https://hosted.weblate.org/projects/ntfy/) to translate the ntfy Android app. We'd love your participation.
|
||||
|
|
|
@ -10,12 +10,12 @@ android {
|
|||
compileSdkVersion 33
|
||||
|
||||
defaultConfig {
|
||||
applicationId "foundation.e.ntfy"
|
||||
minSdkVersion 23
|
||||
applicationId "io.heckel.ntfy"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 33
|
||||
|
||||
versionCode 33
|
||||
versionName "1.17.0"
|
||||
versionCode 29
|
||||
versionName "1.15.0"
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
|
||||
|
@ -27,10 +27,6 @@ android {
|
|||
}
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
viewBinding = true
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled true
|
||||
|
@ -48,12 +44,10 @@ android {
|
|||
play {
|
||||
buildConfigField 'boolean', 'FIREBASE_AVAILABLE', 'true'
|
||||
buildConfigField 'boolean', 'RATE_APP_AVAILABLE', 'true'
|
||||
buildConfigField 'boolean', 'INSTALL_PACKAGES_AVAILABLE', 'false'
|
||||
}
|
||||
fdroid {
|
||||
buildConfigField 'boolean', 'FIREBASE_AVAILABLE', 'false'
|
||||
buildConfigField 'boolean', 'RATE_APP_AVAILABLE', 'false'
|
||||
buildConfigField 'boolean', 'INSTALL_PACKAGES_AVAILABLE', 'true'
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -68,47 +62,29 @@ android {
|
|||
'-Xjvm-default=all-compatibility' // https://stackoverflow.com/a/71234042/1440785
|
||||
]
|
||||
}
|
||||
namespace "io.heckel.ntfy"
|
||||
}
|
||||
|
||||
// Disables GoogleServices tasks for F-Droid variant
|
||||
android.applicationVariants.all { variant ->
|
||||
def shouldProcessGoogleServices = variant.flavorName == "play"
|
||||
def googleTask = tasks.findByName("process${variant.name.capitalize()}GoogleServices")
|
||||
googleTask.enabled = shouldProcessGoogleServices
|
||||
}
|
||||
|
||||
// Strips out REQUEST_INSTALL_PACKAGES permission for Google Play variant
|
||||
android.applicationVariants.all { variant ->
|
||||
def shouldStripInstallPermission = variant.flavorName == "play"
|
||||
if (shouldStripInstallPermission) {
|
||||
variant.outputs.each { output ->
|
||||
def processManifest = output.getProcessManifestProvider().get()
|
||||
processManifest.doLast { task ->
|
||||
def outputDir = task.getMultiApkManifestOutputDirectory().get().asFile
|
||||
def manifestOutFile = file("$outputDir/AndroidManifest.xml")
|
||||
def newFileContents = manifestOutFile.collect { s -> s.contains("android.permission.REQUEST_INSTALL_PACKAGES") ? "" : s }.join("\n")
|
||||
manifestOutFile.write(newFileContents, 'UTF-8')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// AndroidX, The Basics
|
||||
implementation "androidx.appcompat:appcompat:1.6.1"
|
||||
implementation "androidx.core:core-ktx:1.10.1"
|
||||
implementation "androidx.appcompat:appcompat:1.5.1"
|
||||
implementation "androidx.core:core-ktx:1.9.0"
|
||||
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
|
||||
implementation "androidx.activity:activity-ktx:1.7.1"
|
||||
implementation "androidx.fragment:fragment-ktx:1.5.7"
|
||||
implementation "androidx.work:work-runtime-ktx:2.8.1"
|
||||
implementation "androidx.activity:activity-ktx:1.6.1"
|
||||
implementation "androidx.fragment:fragment-ktx:1.5.4"
|
||||
implementation "androidx.work:work-runtime-ktx:2.7.1"
|
||||
implementation 'androidx.preference:preference-ktx:1.2.0'
|
||||
|
||||
// JSON serialization
|
||||
implementation 'com.google.code.gson:gson:2.10'
|
||||
|
||||
// Room (SQLite)
|
||||
def room_version = "2.5.1"
|
||||
def room_version = "2.4.3"
|
||||
implementation "androidx.room:room-ktx:$room_version"
|
||||
kapt "androidx.room:room-compiler:$room_version"
|
||||
|
||||
|
@ -116,23 +92,21 @@ dependencies {
|
|||
implementation 'com.squareup.okhttp3:okhttp:4.10.0'
|
||||
|
||||
// Firebase, sigh ... (only Google Play)
|
||||
playImplementation 'com.google.firebase:firebase-messaging:23.1.2'
|
||||
playImplementation 'com.google.firebase:firebase-messaging:23.1.0'
|
||||
|
||||
// RecyclerView
|
||||
implementation "androidx.recyclerview:recyclerview:1.3.0"
|
||||
implementation "androidx.recyclerview:recyclerview:1.3.0-rc01"
|
||||
|
||||
// Swipe down to refresh
|
||||
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
|
||||
|
||||
// Material design
|
||||
implementation "com.google.android.material:material:1.9.0"
|
||||
implementation "com.google.android.material:material:1.6.1"
|
||||
|
||||
// LiveData
|
||||
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.6.1"
|
||||
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.5.1"
|
||||
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
||||
|
||||
// Image viewer
|
||||
implementation 'com.github.stfalcon-studio:StfalconImageViewer:v1.0.1'
|
||||
|
||||
implementation 'foundation.e:elib:0.0.1-alpha11'
|
||||
}
|
||||
|
|
|
@ -1,356 +0,0 @@
|
|||
{
|
||||
"formatVersion": 1,
|
||||
"database": {
|
||||
"version": 13,
|
||||
"identityHash": "44fc291d937fdf02b9bc2d0abb10d2e0",
|
||||
"entities": [
|
||||
{
|
||||
"tableName": "Subscription",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER NOT NULL, `baseUrl` TEXT NOT NULL, `topic` TEXT NOT NULL, `instant` INTEGER NOT NULL, `mutedUntil` INTEGER NOT NULL, `minPriority` INTEGER NOT NULL, `autoDelete` INTEGER NOT NULL, `insistent` INTEGER NOT NULL, `lastNotificationId` TEXT, `icon` TEXT, `upAppId` TEXT, `upConnectorToken` TEXT, `displayName` TEXT, `dedicatedChannels` INTEGER NOT NULL, PRIMARY KEY(`id`))",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "baseUrl",
|
||||
"columnName": "baseUrl",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "topic",
|
||||
"columnName": "topic",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "instant",
|
||||
"columnName": "instant",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "mutedUntil",
|
||||
"columnName": "mutedUntil",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "minPriority",
|
||||
"columnName": "minPriority",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "autoDelete",
|
||||
"columnName": "autoDelete",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "insistent",
|
||||
"columnName": "insistent",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "lastNotificationId",
|
||||
"columnName": "lastNotificationId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "icon",
|
||||
"columnName": "icon",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "upAppId",
|
||||
"columnName": "upAppId",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "upConnectorToken",
|
||||
"columnName": "upConnectorToken",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "displayName",
|
||||
"columnName": "displayName",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "dedicatedChannels",
|
||||
"columnName": "dedicatedChannels",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"columnNames": [
|
||||
"id"
|
||||
],
|
||||
"autoGenerate": false
|
||||
},
|
||||
"indices": [
|
||||
{
|
||||
"name": "index_Subscription_baseUrl_topic",
|
||||
"unique": true,
|
||||
"columnNames": [
|
||||
"baseUrl",
|
||||
"topic"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_Subscription_baseUrl_topic` ON `${TABLE_NAME}` (`baseUrl`, `topic`)"
|
||||
},
|
||||
{
|
||||
"name": "index_Subscription_upConnectorToken",
|
||||
"unique": true,
|
||||
"columnNames": [
|
||||
"upConnectorToken"
|
||||
],
|
||||
"orders": [],
|
||||
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_Subscription_upConnectorToken` ON `${TABLE_NAME}` (`upConnectorToken`)"
|
||||
}
|
||||
],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"tableName": "Notification",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `subscriptionId` INTEGER NOT NULL, `timestamp` INTEGER NOT NULL, `title` TEXT NOT NULL, `message` TEXT NOT NULL, `encoding` TEXT NOT NULL, `notificationId` INTEGER NOT NULL, `priority` INTEGER NOT NULL DEFAULT 3, `tags` TEXT NOT NULL, `click` TEXT NOT NULL, `actions` TEXT, `deleted` INTEGER NOT NULL, `icon_url` TEXT, `icon_contentUri` TEXT, `attachment_name` TEXT, `attachment_type` TEXT, `attachment_size` INTEGER, `attachment_expires` INTEGER, `attachment_url` TEXT, `attachment_contentUri` TEXT, `attachment_progress` INTEGER, PRIMARY KEY(`id`, `subscriptionId`))",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "subscriptionId",
|
||||
"columnName": "subscriptionId",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "timestamp",
|
||||
"columnName": "timestamp",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "title",
|
||||
"columnName": "title",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "message",
|
||||
"columnName": "message",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "encoding",
|
||||
"columnName": "encoding",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "notificationId",
|
||||
"columnName": "notificationId",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "priority",
|
||||
"columnName": "priority",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true,
|
||||
"defaultValue": "3"
|
||||
},
|
||||
{
|
||||
"fieldPath": "tags",
|
||||
"columnName": "tags",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "click",
|
||||
"columnName": "click",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "actions",
|
||||
"columnName": "actions",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "deleted",
|
||||
"columnName": "deleted",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "icon.url",
|
||||
"columnName": "icon_url",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "icon.contentUri",
|
||||
"columnName": "icon_contentUri",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "attachment.name",
|
||||
"columnName": "attachment_name",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "attachment.type",
|
||||
"columnName": "attachment_type",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "attachment.size",
|
||||
"columnName": "attachment_size",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "attachment.expires",
|
||||
"columnName": "attachment_expires",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "attachment.url",
|
||||
"columnName": "attachment_url",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "attachment.contentUri",
|
||||
"columnName": "attachment_contentUri",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
},
|
||||
{
|
||||
"fieldPath": "attachment.progress",
|
||||
"columnName": "attachment_progress",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": false
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"columnNames": [
|
||||
"id",
|
||||
"subscriptionId"
|
||||
],
|
||||
"autoGenerate": false
|
||||
},
|
||||
"indices": [],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"tableName": "User",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`baseUrl` TEXT NOT NULL, `username` TEXT NOT NULL, `password` TEXT NOT NULL, PRIMARY KEY(`baseUrl`))",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "baseUrl",
|
||||
"columnName": "baseUrl",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "username",
|
||||
"columnName": "username",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "password",
|
||||
"columnName": "password",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"columnNames": [
|
||||
"baseUrl"
|
||||
],
|
||||
"autoGenerate": false
|
||||
},
|
||||
"indices": [],
|
||||
"foreignKeys": []
|
||||
},
|
||||
{
|
||||
"tableName": "Log",
|
||||
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `timestamp` INTEGER NOT NULL, `tag` TEXT NOT NULL, `level` INTEGER NOT NULL, `message` TEXT NOT NULL, `exception` TEXT)",
|
||||
"fields": [
|
||||
{
|
||||
"fieldPath": "id",
|
||||
"columnName": "id",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "timestamp",
|
||||
"columnName": "timestamp",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "tag",
|
||||
"columnName": "tag",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "level",
|
||||
"columnName": "level",
|
||||
"affinity": "INTEGER",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "message",
|
||||
"columnName": "message",
|
||||
"affinity": "TEXT",
|
||||
"notNull": true
|
||||
},
|
||||
{
|
||||
"fieldPath": "exception",
|
||||
"columnName": "exception",
|
||||
"affinity": "TEXT",
|
||||
"notNull": false
|
||||
}
|
||||
],
|
||||
"primaryKey": {
|
||||
"columnNames": [
|
||||
"id"
|
||||
],
|
||||
"autoGenerate": true
|
||||
},
|
||||
"indices": [],
|
||||
"foreignKeys": []
|
||||
}
|
||||
],
|
||||
"views": [],
|
||||
"setupQueries": [
|
||||
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
|
||||
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '44fc291d937fdf02b9bc2d0abb10d2e0')"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,6 +1,5 @@
|
|||
package io.heckel.ntfy.firebase
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
class FirebaseMessenger {
|
||||
fun subscribe(topic: String) {
|
||||
// Dummy to keep F-Droid flavor happy
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
package="io.heckel.ntfy">
|
||||
<!-- Permissions -->
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/> <!-- For instant delivery foregrounds service -->
|
||||
|
@ -9,23 +8,15 @@
|
|||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> <!-- To restart service on reboot -->
|
||||
<uses-permission android:name="android.permission.VIBRATE"/> <!-- Incoming notifications should be able to vibrate the phone -->
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="28"/> <!-- Only required on SDK <= 28 -->
|
||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/> <!-- To install packages downloaded through ntfy; craazyy! -->
|
||||
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM"/> <!-- To reschedule the websocket retry -->
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> <!-- As of Android 13, we need to ask for permission to post notifications -->
|
||||
|
||||
<!--
|
||||
Permission REQUEST_INSTALL_PACKAGES (F-Droid only!):
|
||||
- Permission is used to install .apk files that were received as attachments
|
||||
- Google rejected the permission for ntfy, so this permission is STRIPPED OUT by the build process
|
||||
for the Google Play variant of the app.
|
||||
-->
|
||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
|
||||
|
||||
<application
|
||||
android:name=".app.Application"
|
||||
android:allowBackup="true"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:persistent="true"
|
||||
android:roundIcon="@mipmap/ic_launcher"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme"
|
||||
|
@ -36,10 +27,10 @@
|
|||
<activity
|
||||
android:name=".ui.MainActivity"
|
||||
android:label="@string/app_name"
|
||||
android:excludeFromRecents="true"
|
||||
android:exported="true">
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
|
@ -47,6 +38,7 @@
|
|||
<activity
|
||||
android:name=".ui.DetailActivity"
|
||||
android:parentActivityName=".ui.MainActivity"
|
||||
android:windowSoftInputMode="adjustResize"
|
||||
android:exported="true">
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
|
@ -143,13 +135,6 @@
|
|||
android:exported="false">
|
||||
</receiver>
|
||||
|
||||
<!-- Broadcast receiver for when the notification is swiped away (currently only to cancel the insistent sound) -->
|
||||
<receiver
|
||||
android:name=".msg.NotificationService$DeleteBroadcastReceiver"
|
||||
android:enabled="true"
|
||||
android:exported="false">
|
||||
</receiver>
|
||||
|
||||
<!-- Firebase messaging (note that this is empty in the F-Droid flavor) -->
|
||||
<service
|
||||
android:name=".firebase.FirebaseService"
|
||||
|
@ -176,25 +161,5 @@
|
|||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/file_paths"/>
|
||||
</provider>
|
||||
|
||||
<activity
|
||||
android:name=".ui.MainSettingsActivity"
|
||||
android:theme="@style/PreferenceTheme"/>
|
||||
|
||||
<activity-alias
|
||||
android:name=".ui.SettingsActivityLink"
|
||||
android:exported="true"
|
||||
android:label="@string/eos_settings_title"
|
||||
android:targetActivity=".ui.MainSettingsActivity">
|
||||
<intent-filter>
|
||||
<action android:name="com.android.settings.action.EXTRA_SETTINGS" />
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
android:name="com.android.settings.category"
|
||||
android:value="com.android.settings.category.device" />
|
||||
<meta-data
|
||||
android:name="com.android.settings.icon"
|
||||
android:resource="@drawable/ic_notification" />
|
||||
</activity-alias>
|
||||
</application>
|
||||
</manifest>
|
||||
|
|
|
@ -1,10 +1,16 @@
|
|||
package io.heckel.ntfy.app
|
||||
|
||||
import android.app.Application
|
||||
import android.content.Context
|
||||
import io.heckel.ntfy.db.Database
|
||||
import io.heckel.ntfy.db.Repository
|
||||
import io.heckel.ntfy.util.Log
|
||||
|
||||
class Application : Application() {
|
||||
private val database by lazy {
|
||||
Log.init(this) // What a hack, but this is super early and used everywhere
|
||||
Database.getInstance(this)
|
||||
}
|
||||
val repository by lazy {
|
||||
val repository = Repository.getInstance(applicationContext)
|
||||
if (repository.getRecordLogs()) {
|
||||
|
|
|
@ -5,11 +5,9 @@ import android.net.Uri
|
|||
import com.google.gson.Gson
|
||||
import com.google.gson.GsonBuilder
|
||||
import com.google.gson.stream.JsonReader
|
||||
import io.heckel.ntfy.R
|
||||
import io.heckel.ntfy.app.Application
|
||||
import io.heckel.ntfy.db.Icon
|
||||
import io.heckel.ntfy.db.Repository
|
||||
import io.heckel.ntfy.firebase.FirebaseMessenger
|
||||
import io.heckel.ntfy.msg.NotificationService
|
||||
import io.heckel.ntfy.util.Log
|
||||
import io.heckel.ntfy.util.topicUrl
|
||||
import java.io.InputStreamReader
|
||||
|
@ -18,8 +16,6 @@ class Backuper(val context: Context) {
|
|||
private val gson = Gson()
|
||||
private val resolver = context.applicationContext.contentResolver
|
||||
private val repository = (context.applicationContext as Application).repository
|
||||
private val messenger = FirebaseMessenger()
|
||||
private val notifier = NotificationService(context)
|
||||
|
||||
suspend fun backup(uri: Uri, withSettings: Boolean = true, withSubscriptions: Boolean = true, withUsers: Boolean = true) {
|
||||
Log.d(TAG, "Backing up settings to file $uri")
|
||||
|
@ -90,40 +86,24 @@ class Backuper(val context: Context) {
|
|||
|
||||
private suspend fun applySubscriptions(subscriptions: List<Subscription>?) {
|
||||
if (subscriptions == null) {
|
||||
return
|
||||
return;
|
||||
}
|
||||
val appBaseUrl = context.getString(R.string.app_base_url)
|
||||
subscriptions.forEach { s ->
|
||||
try {
|
||||
// Add to database
|
||||
val subscription = io.heckel.ntfy.db.Subscription(
|
||||
repository.addSubscription(io.heckel.ntfy.db.Subscription(
|
||||
id = s.id,
|
||||
baseUrl = s.baseUrl,
|
||||
topic = s.topic,
|
||||
instant = s.instant,
|
||||
dedicatedChannels = s.dedicatedChannels,
|
||||
mutedUntil = s.mutedUntil,
|
||||
minPriority = s.minPriority ?: Repository.MIN_PRIORITY_USE_GLOBAL,
|
||||
autoDelete = s.autoDelete ?: Repository.AUTO_DELETE_USE_GLOBAL,
|
||||
insistent = s.insistent ?: Repository.INSISTENT_MAX_PRIORITY_USE_GLOBAL,
|
||||
lastNotificationId = s.lastNotificationId,
|
||||
icon = s.icon,
|
||||
upAppId = s.upAppId,
|
||||
upConnectorToken = s.upConnectorToken,
|
||||
displayName = s.displayName,
|
||||
)
|
||||
repository.addSubscription(subscription)
|
||||
|
||||
// Subscribe to Firebase topics
|
||||
if (s.baseUrl == appBaseUrl) {
|
||||
messenger.subscribe(s.topic)
|
||||
}
|
||||
|
||||
// Create dedicated channels
|
||||
if (s.dedicatedChannels) {
|
||||
notifier.createSubscriptionNotificationChannels(subscription)
|
||||
// TODO Backup/restore individual notification channel settings
|
||||
}
|
||||
))
|
||||
} catch (e: Exception) {
|
||||
Log.w(TAG, "Unable to restore subscription ${s.id} (${topicUrl(s.baseUrl, s.topic)}): ${e.message}. Ignoring.", e)
|
||||
}
|
||||
|
@ -132,7 +112,7 @@ class Backuper(val context: Context) {
|
|||
|
||||
private suspend fun applyNotifications(notifications: List<Notification>?) {
|
||||
if (notifications == null) {
|
||||
return
|
||||
return;
|
||||
}
|
||||
notifications.forEach { n ->
|
||||
try {
|
||||
|
@ -201,7 +181,7 @@ class Backuper(val context: Context) {
|
|||
|
||||
private suspend fun applyUsers(users: List<User>?) {
|
||||
if (users == null) {
|
||||
return
|
||||
return;
|
||||
}
|
||||
users.forEach { u ->
|
||||
try {
|
||||
|
@ -249,11 +229,9 @@ class Backuper(val context: Context) {
|
|||
baseUrl = s.baseUrl,
|
||||
topic = s.topic,
|
||||
instant = s.instant,
|
||||
dedicatedChannels = s.dedicatedChannels,
|
||||
mutedUntil = s.mutedUntil,
|
||||
minPriority = s.minPriority,
|
||||
autoDelete = s.autoDelete,
|
||||
insistent = s.insistent,
|
||||
lastNotificationId = s.lastNotificationId,
|
||||
icon = s.icon,
|
||||
upAppId = s.upAppId,
|
||||
|
@ -368,11 +346,9 @@ data class Subscription(
|
|||
val baseUrl: String,
|
||||
val topic: String,
|
||||
val instant: Boolean,
|
||||
val dedicatedChannels: Boolean,
|
||||
val mutedUntil: Long,
|
||||
val minPriority: Int?,
|
||||
val autoDelete: Long?,
|
||||
val insistent: Int?,
|
||||
val lastNotificationId: String?,
|
||||
val icon: String?,
|
||||
val upAppId: String?,
|
||||
|
|
|
@ -18,54 +18,18 @@ data class Subscription(
|
|||
@ColumnInfo(name = "mutedUntil") val mutedUntil: Long,
|
||||
@ColumnInfo(name = "minPriority") val minPriority: Int,
|
||||
@ColumnInfo(name = "autoDelete") val autoDelete: Long, // Seconds
|
||||
@ColumnInfo(name = "insistent") val insistent: Int, // Ring constantly for max priority notifications (-1 = use global, 0 = off, 1 = on)
|
||||
@ColumnInfo(name = "lastNotificationId") val lastNotificationId: String?, // Used for polling, with since=<id>
|
||||
@ColumnInfo(name = "icon") val icon: String?, // content://-URI (or later other identifier)
|
||||
@ColumnInfo(name = "upAppId") val upAppId: String?, // UnifiedPush application package name
|
||||
@ColumnInfo(name = "upConnectorToken") val upConnectorToken: String?, // UnifiedPush connector token
|
||||
@ColumnInfo(name = "displayName") val displayName: String?,
|
||||
@ColumnInfo(name = "dedicatedChannels") val dedicatedChannels: Boolean,
|
||||
@Ignore val totalCount: Int = 0, // Total notifications
|
||||
@Ignore val newCount: Int = 0, // New notifications
|
||||
@Ignore val lastActive: Long = 0, // Unix timestamp
|
||||
@Ignore val state: ConnectionState = ConnectionState.NOT_APPLICABLE
|
||||
) {
|
||||
constructor(
|
||||
id: Long,
|
||||
baseUrl: String,
|
||||
topic: String,
|
||||
instant: Boolean,
|
||||
mutedUntil: Long,
|
||||
minPriority: Int,
|
||||
autoDelete: Long,
|
||||
insistent: Int,
|
||||
lastNotificationId: String,
|
||||
icon: String,
|
||||
upAppId: String,
|
||||
upConnectorToken: String,
|
||||
displayName: String?,
|
||||
dedicatedChannels: Boolean
|
||||
) :
|
||||
this(
|
||||
id,
|
||||
baseUrl,
|
||||
topic,
|
||||
instant,
|
||||
mutedUntil,
|
||||
minPriority,
|
||||
autoDelete,
|
||||
insistent,
|
||||
lastNotificationId,
|
||||
icon,
|
||||
upAppId,
|
||||
upConnectorToken,
|
||||
displayName,
|
||||
dedicatedChannels,
|
||||
totalCount = 0,
|
||||
newCount = 0,
|
||||
lastActive = 0,
|
||||
state = ConnectionState.NOT_APPLICABLE
|
||||
)
|
||||
constructor(id: Long, baseUrl: String, topic: String, instant: Boolean, mutedUntil: Long, minPriority: Int, autoDelete: Long, lastNotificationId: String, icon: String, upAppId: String, upConnectorToken: String, displayName: String?) :
|
||||
this(id, baseUrl, topic, instant, mutedUntil, minPriority, autoDelete, lastNotificationId, icon, upAppId, upConnectorToken, displayName, 0, 0, 0, ConnectionState.NOT_APPLICABLE)
|
||||
}
|
||||
|
||||
enum class ConnectionState {
|
||||
|
@ -80,13 +44,11 @@ data class SubscriptionWithMetadata(
|
|||
val mutedUntil: Long,
|
||||
val autoDelete: Long,
|
||||
val minPriority: Int,
|
||||
val insistent: Int,
|
||||
val lastNotificationId: String?,
|
||||
val icon: String?,
|
||||
val upAppId: String?,
|
||||
val upConnectorToken: String?,
|
||||
val displayName: String?,
|
||||
val dedicatedChannels: Boolean,
|
||||
val totalCount: Int,
|
||||
val newCount: Int,
|
||||
val lastActive: Long
|
||||
|
@ -196,7 +158,7 @@ data class LogEntry(
|
|||
this(0, timestamp, tag, level, message, exception)
|
||||
}
|
||||
|
||||
@androidx.room.Database(entities = [Subscription::class, Notification::class, User::class, LogEntry::class], version = 13)
|
||||
@androidx.room.Database(entities = [Subscription::class, Notification::class, User::class, LogEntry::class], version = 12)
|
||||
@TypeConverters(Converters::class)
|
||||
abstract class Database : RoomDatabase() {
|
||||
abstract fun subscriptionDao(): SubscriptionDao
|
||||
|
@ -223,7 +185,6 @@ abstract class Database : RoomDatabase() {
|
|||
.addMigrations(MIGRATION_9_10)
|
||||
.addMigrations(MIGRATION_10_11)
|
||||
.addMigrations(MIGRATION_11_12)
|
||||
.addMigrations(MIGRATION_12_13)
|
||||
.fallbackToDestructiveMigration()
|
||||
.build()
|
||||
this.instance = instance
|
||||
|
@ -322,13 +283,6 @@ abstract class Database : RoomDatabase() {
|
|||
db.execSQL("ALTER TABLE Notification ADD COLUMN icon_contentUri TEXT")
|
||||
}
|
||||
}
|
||||
|
||||
private val MIGRATION_12_13 = object : Migration(12, 13) {
|
||||
override fun migrate(db: SupportSQLiteDatabase) {
|
||||
db.execSQL("ALTER TABLE Subscription ADD COLUMN insistent INTEGER NOT NULL DEFAULT (-1)") // = Repository.INSISTENT_MAX_PRIORITY_USE_GLOBAL
|
||||
db.execSQL("ALTER TABLE Subscription ADD COLUMN dedicatedChannels INTEGER NOT NULL DEFAULT (0)")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -336,7 +290,7 @@ abstract class Database : RoomDatabase() {
|
|||
interface SubscriptionDao {
|
||||
@Query("""
|
||||
SELECT
|
||||
s.id, s.baseUrl, s.topic, s.instant, s.mutedUntil, s.minPriority, s.autoDelete, s.insistent, s.lastNotificationId, s.icon, s.upAppId, s.upConnectorToken, s.displayName, s.dedicatedChannels,
|
||||
s.id, s.baseUrl, s.topic, s.instant, s.mutedUntil, s.minPriority, s.autoDelete, s.lastNotificationId, s.icon, s.upAppId, s.upConnectorToken, s.displayName,
|
||||
COUNT(n.id) totalCount,
|
||||
COUNT(CASE n.notificationId WHEN 0 THEN NULL ELSE n.id END) newCount,
|
||||
IFNULL(MAX(n.timestamp),0) AS lastActive
|
||||
|
@ -349,7 +303,7 @@ interface SubscriptionDao {
|
|||
|
||||
@Query("""
|
||||
SELECT
|
||||
s.id, s.baseUrl, s.topic, s.instant, s.mutedUntil, s.minPriority, s.autoDelete, s.insistent, s.lastNotificationId, s.icon, s.upAppId, s.upConnectorToken, s.displayName, s.dedicatedChannels,
|
||||
s.id, s.baseUrl, s.topic, s.instant, s.mutedUntil, s.minPriority, s.autoDelete, s.lastNotificationId, s.icon, s.upAppId, s.upConnectorToken, s.displayName,
|
||||
COUNT(n.id) totalCount,
|
||||
COUNT(CASE n.notificationId WHEN 0 THEN NULL ELSE n.id END) newCount,
|
||||
IFNULL(MAX(n.timestamp),0) AS lastActive
|
||||
|
@ -362,7 +316,7 @@ interface SubscriptionDao {
|
|||
|
||||
@Query("""
|
||||
SELECT
|
||||
s.id, s.baseUrl, s.topic, s.instant, s.mutedUntil, s.minPriority, s.autoDelete, s.insistent, s.lastNotificationId, s.icon, s.upAppId, s.upConnectorToken, s.displayName, s.dedicatedChannels,
|
||||
s.id, s.baseUrl, s.topic, s.instant, s.mutedUntil, s.minPriority, s.autoDelete, s.lastNotificationId, s.icon, s.upAppId, s.upConnectorToken, s.displayName,
|
||||
COUNT(n.id) totalCount,
|
||||
COUNT(CASE n.notificationId WHEN 0 THEN NULL ELSE n.id END) newCount,
|
||||
IFNULL(MAX(n.timestamp),0) AS lastActive
|
||||
|
@ -375,7 +329,7 @@ interface SubscriptionDao {
|
|||
|
||||
@Query("""
|
||||
SELECT
|
||||
s.id, s.baseUrl, s.topic, s.instant, s.mutedUntil, s.minPriority, s.autoDelete, s.insistent, s.lastNotificationId, s.icon, s.upAppId, s.upConnectorToken, s.displayName, s.dedicatedChannels,
|
||||
s.id, s.baseUrl, s.topic, s.instant, s.mutedUntil, s.minPriority, s.autoDelete, s.lastNotificationId, s.icon, s.upAppId, s.upConnectorToken, s.displayName,
|
||||
COUNT(n.id) totalCount,
|
||||
COUNT(CASE n.notificationId WHEN 0 THEN NULL ELSE n.id END) newCount,
|
||||
IFNULL(MAX(n.timestamp),0) AS lastActive
|
||||
|
@ -388,7 +342,7 @@ interface SubscriptionDao {
|
|||
|
||||
@Query("""
|
||||
SELECT
|
||||
s.id, s.baseUrl, s.topic, s.instant, s.mutedUntil, s.minPriority, s.autoDelete, s.insistent, s.lastNotificationId, s.icon, s.upAppId, s.upConnectorToken, s.displayName, s.dedicatedChannels,
|
||||
s.id, s.baseUrl, s.topic, s.instant, s.mutedUntil, s.minPriority, s.autoDelete, s.lastNotificationId, s.icon, s.upAppId, s.upConnectorToken, s.displayName,
|
||||
COUNT(n.id) totalCount,
|
||||
COUNT(CASE n.notificationId WHEN 0 THEN NULL ELSE n.id END) newCount,
|
||||
IFNULL(MAX(n.timestamp),0) AS lastActive
|
||||
|
|
|
@ -2,7 +2,6 @@ package io.heckel.ntfy.db
|
|||
|
||||
import android.content.Context
|
||||
import android.content.SharedPreferences
|
||||
import android.media.MediaPlayer
|
||||
import android.os.Build
|
||||
import androidx.annotation.WorkerThread
|
||||
import androidx.appcompat.app.AppCompatDelegate
|
||||
|
@ -19,10 +18,7 @@ class Repository(private val sharedPrefs: SharedPreferences, private val databas
|
|||
|
||||
private val connectionStates = ConcurrentHashMap<Long, ConnectionState>()
|
||||
private val connectionStatesLiveData = MutableLiveData(connectionStates)
|
||||
|
||||
// TODO Move these into an ApplicationState singleton
|
||||
val detailViewSubscriptionId = AtomicLong(0L) // Omg, what a hack ...
|
||||
val mediaPlayer = MediaPlayer()
|
||||
|
||||
init {
|
||||
Log.d(TAG, "Created $this")
|
||||
|
@ -292,26 +288,6 @@ class Repository(private val sharedPrefs: SharedPreferences, private val databas
|
|||
.apply()
|
||||
}
|
||||
|
||||
fun getUnifiedPushEnabled(): Boolean {
|
||||
return sharedPrefs.getBoolean(SHARED_PREFS_UNIFIEDPUSH_ENABLED, true) // Enabled by default
|
||||
}
|
||||
|
||||
fun setUnifiedPushEnabled(enabled: Boolean) {
|
||||
sharedPrefs.edit()
|
||||
.putBoolean(SHARED_PREFS_UNIFIEDPUSH_ENABLED, enabled)
|
||||
.apply()
|
||||
}
|
||||
|
||||
fun getInsistentMaxPriorityEnabled(): Boolean {
|
||||
return sharedPrefs.getBoolean(SHARED_PREFS_INSISTENT_MAX_PRIORITY_ENABLED, false) // Disabled by default
|
||||
}
|
||||
|
||||
fun setInsistentMaxPriorityEnabled(enabled: Boolean) {
|
||||
sharedPrefs.edit()
|
||||
.putBoolean(SHARED_PREFS_INSISTENT_MAX_PRIORITY_ENABLED, enabled)
|
||||
.apply()
|
||||
}
|
||||
|
||||
fun getRecordLogs(): Boolean {
|
||||
return sharedPrefs.getBoolean(SHARED_PREFS_RECORD_LOGS_ENABLED, false) // Disabled by default
|
||||
}
|
||||
|
@ -409,11 +385,9 @@ class Repository(private val sharedPrefs: SharedPreferences, private val databas
|
|||
baseUrl = s.baseUrl,
|
||||
topic = s.topic,
|
||||
instant = s.instant,
|
||||
dedicatedChannels = s.dedicatedChannels,
|
||||
mutedUntil = s.mutedUntil,
|
||||
minPriority = s.minPriority,
|
||||
autoDelete = s.autoDelete,
|
||||
insistent = s.insistent,
|
||||
lastNotificationId = s.lastNotificationId,
|
||||
icon = s.icon,
|
||||
upAppId = s.upAppId,
|
||||
|
@ -436,11 +410,9 @@ class Repository(private val sharedPrefs: SharedPreferences, private val databas
|
|||
baseUrl = s.baseUrl,
|
||||
topic = s.topic,
|
||||
instant = s.instant,
|
||||
dedicatedChannels = s.dedicatedChannels,
|
||||
mutedUntil = s.mutedUntil,
|
||||
minPriority = s.minPriority,
|
||||
autoDelete = s.autoDelete,
|
||||
insistent = s.insistent,
|
||||
lastNotificationId = s.lastNotificationId,
|
||||
icon = s.icon,
|
||||
upAppId = s.upAppId,
|
||||
|
@ -487,8 +459,6 @@ class Repository(private val sharedPrefs: SharedPreferences, private val databas
|
|||
const val SHARED_PREFS_CONNECTION_PROTOCOL = "ConnectionProtocol"
|
||||
const val SHARED_PREFS_DARK_MODE = "DarkMode"
|
||||
const val SHARED_PREFS_BROADCAST_ENABLED = "BroadcastEnabled"
|
||||
const val SHARED_PREFS_UNIFIEDPUSH_ENABLED = "UnifiedPushEnabled"
|
||||
const val SHARED_PREFS_INSISTENT_MAX_PRIORITY_ENABLED = "InsistentMaxPriority"
|
||||
const val SHARED_PREFS_RECORD_LOGS_ENABLED = "RecordLogs"
|
||||
const val SHARED_PREFS_BATTERY_OPTIMIZATIONS_REMIND_TIME = "BatteryOptimizationsRemindTime"
|
||||
const val SHARED_PREFS_WEBSOCKET_REMIND_TIME = "JsonStreamRemindTime" // "Use WebSocket" banner (used to be JSON stream deprecation banner)
|
||||
|
@ -520,9 +490,6 @@ class Repository(private val sharedPrefs: SharedPreferences, private val databas
|
|||
const val AUTO_DELETE_THREE_MONTHS_SECONDS = 90 * ONE_DAY_SECONDS
|
||||
const val AUTO_DELETE_DEFAULT_SECONDS = AUTO_DELETE_ONE_MONTH_SECONDS
|
||||
|
||||
const val INSISTENT_MAX_PRIORITY_USE_GLOBAL = -1 // Values must match values.xml
|
||||
const val INSISTENT_MAX_PRIORITY_ENABLED = 1 // 0 = Disabled (but not needed in code)
|
||||
|
||||
const val CONNECTION_PROTOCOL_JSONHTTP = "jsonhttp"
|
||||
const val CONNECTION_PROTOCOL_WS = "ws"
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ class ApiService {
|
|||
user: User? = null,
|
||||
message: String,
|
||||
title: String = "",
|
||||
priority: Int = PRIORITY_DEFAULT,
|
||||
priority: Int = 3,
|
||||
tags: List<String> = emptyList(),
|
||||
delay: String = "",
|
||||
body: RequestBody? = null,
|
||||
|
@ -45,7 +45,7 @@ class ApiService {
|
|||
) {
|
||||
val url = topicUrl(baseUrl, topic)
|
||||
val query = mutableListOf<String>()
|
||||
if (priority in ALL_PRIORITIES) {
|
||||
if (priority in 1..5) {
|
||||
query.add("priority=$priority")
|
||||
}
|
||||
if (tags.isNotEmpty()) {
|
||||
|
@ -95,7 +95,7 @@ class ApiService {
|
|||
throw Exception("Unexpected response ${response.code} when polling topic $url")
|
||||
}
|
||||
val body = response.body?.string()?.trim()
|
||||
if (body.isNullOrEmpty()) return emptyList()
|
||||
if (body == null || body.isEmpty()) return emptyList()
|
||||
val notifications = body.lines().mapNotNull { line ->
|
||||
parser.parse(line, subscriptionId = subscriptionId, notificationId = 0) // No notification when we poll
|
||||
}
|
||||
|
@ -108,7 +108,6 @@ class ApiService {
|
|||
fun subscribe(
|
||||
baseUrl: String,
|
||||
topics: String,
|
||||
unifiedPushTopics: String,
|
||||
since: String?,
|
||||
user: User?,
|
||||
notify: (topic: String, Notification) -> Unit,
|
||||
|
@ -117,7 +116,7 @@ class ApiService {
|
|||
val sinceVal = since ?: "all"
|
||||
val url = topicUrlJson(baseUrl, topics, sinceVal)
|
||||
Log.d(TAG, "Opening subscription connection to $url")
|
||||
val request = requestBuilder(url, user, unifiedPushTopics).build()
|
||||
val request = requestBuilder(url, user).build()
|
||||
val call = subscriberClient.newCall(request)
|
||||
call.enqueue(object : Callback {
|
||||
override fun onResponse(call: Call, response: Response) {
|
||||
|
@ -167,7 +166,7 @@ class ApiService {
|
|||
}
|
||||
|
||||
class UnauthorizedException(val user: User?) : Exception()
|
||||
class EntityTooLargeException : Exception()
|
||||
class EntityTooLargeException() : Exception()
|
||||
|
||||
companion object {
|
||||
val USER_AGENT = "ntfy/${BuildConfig.VERSION_NAME} (${BuildConfig.FLAVOR}; Android ${Build.VERSION.RELEASE}; SDK ${Build.VERSION.SDK_INT})"
|
||||
|
@ -179,16 +178,13 @@ class ApiService {
|
|||
const val EVENT_KEEPALIVE = "keepalive"
|
||||
const val EVENT_POLL_REQUEST = "poll_request"
|
||||
|
||||
fun requestBuilder(url: String, user: User?, unifiedPushTopics: String? = null): Request.Builder {
|
||||
fun requestBuilder(url: String, user: User?): Request.Builder {
|
||||
val builder = Request.Builder()
|
||||
.url(url)
|
||||
.addHeader("User-Agent", USER_AGENT)
|
||||
if (user != null) {
|
||||
builder.addHeader("Authorization", Credentials.basic(user.username, user.password, UTF_8))
|
||||
}
|
||||
if (unifiedPushTopics != null) {
|
||||
builder.addHeader("Rate-Topics", unifiedPushTopics)
|
||||
}
|
||||
return builder
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ import io.heckel.ntfy.util.Log
|
|||
* Download attachment in the background via WorkManager
|
||||
*
|
||||
* The indirection via WorkManager is required since this code may be executed
|
||||
* in a doze state and Internet may not be available. It's also best practice, apparently.
|
||||
* in a doze state and Internet may not be available. It's also best practice apparently.
|
||||
*/
|
||||
object DownloadManager {
|
||||
private const val TAG = "NtfyDownloadManager"
|
||||
|
|
|
@ -19,7 +19,7 @@ class NotificationDispatcher(val context: Context, val repository: Repository) {
|
|||
private val distributor = Distributor(context)
|
||||
|
||||
fun init() {
|
||||
notifier.createDefaultNotificationChannels()
|
||||
notifier.createNotificationChannels()
|
||||
}
|
||||
|
||||
fun dispatch(subscription: Subscription, notification: Notification) {
|
||||
|
|
|
@ -50,7 +50,7 @@ class NotificationParser {
|
|||
)
|
||||
}
|
||||
} else null
|
||||
val icon: Icon? = if (message.icon != null && message.icon != "") Icon(url = message.icon) else null
|
||||
val icon: Icon? = if (message.icon != null) Icon(url = message.icon) else null
|
||||
val notification = Notification(
|
||||
id = message.id,
|
||||
subscriptionId = subscriptionId,
|
||||
|
|
|
@ -5,8 +5,6 @@ import android.content.ActivityNotFoundException
|
|||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.media.AudioAttributes
|
||||
import android.media.AudioManager
|
||||
import android.media.RingtoneManager
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
|
@ -23,9 +21,9 @@ import io.heckel.ntfy.ui.MainActivity
|
|||
import io.heckel.ntfy.util.*
|
||||
import java.util.*
|
||||
|
||||
|
||||
class NotificationService(val context: Context) {
|
||||
private val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
|
||||
private val repository = Repository.getInstance(context)
|
||||
|
||||
fun display(subscription: Subscription, notification: Notification) {
|
||||
Log.d(TAG, "Displaying notification $notification")
|
||||
|
@ -53,56 +51,27 @@ class NotificationService(val context: Context) {
|
|||
|
||||
fun cancel(notificationId: Int) {
|
||||
if (notificationId != 0) {
|
||||
Log.d(TAG, "Cancelling notification $notificationId")
|
||||
Log.d(TAG, "Cancelling notification ${notificationId}")
|
||||
notificationManager.cancel(notificationId)
|
||||
}
|
||||
}
|
||||
|
||||
fun createDefaultNotificationChannels() {
|
||||
maybeCreateNotificationGroup(DEFAULT_GROUP, context.getString(R.string.channel_notifications_group_default_name))
|
||||
ALL_PRIORITIES.forEach { priority -> maybeCreateNotificationChannel(DEFAULT_GROUP, priority) }
|
||||
}
|
||||
|
||||
fun createSubscriptionNotificationChannels(subscription: Subscription) {
|
||||
val groupId = subscriptionGroupId(subscription)
|
||||
maybeCreateNotificationGroup(groupId, subscriptionGroupName(subscription))
|
||||
ALL_PRIORITIES.forEach { priority -> maybeCreateNotificationChannel(groupId, priority) }
|
||||
}
|
||||
|
||||
fun deleteSubscriptionNotificationChannels(subscription: Subscription) {
|
||||
val groupId = subscriptionGroupId(subscription)
|
||||
ALL_PRIORITIES.forEach { priority -> maybeDeleteNotificationChannel(groupId, priority) }
|
||||
maybeDeleteNotificationGroup(groupId)
|
||||
}
|
||||
|
||||
fun channelsSupported(): Boolean {
|
||||
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
|
||||
}
|
||||
|
||||
private fun subscriptionGroupId(subscription: Subscription): String {
|
||||
return SUBSCRIPTION_GROUP_PREFIX + subscription.id.toString()
|
||||
}
|
||||
|
||||
private fun subscriptionGroupName(subscription: Subscription): String {
|
||||
return subscription.displayName ?: subscriptionTopicShortUrl(subscription)
|
||||
fun createNotificationChannels() {
|
||||
(1..5).forEach { priority -> maybeCreateNotificationChannel(priority) }
|
||||
}
|
||||
|
||||
private fun displayInternal(subscription: Subscription, notification: Notification, update: Boolean = false) {
|
||||
val title = formatTitle(subscription, notification)
|
||||
val groupId = if (subscription.dedicatedChannels) subscriptionGroupId(subscription) else DEFAULT_GROUP
|
||||
val channelId = toChannelId(groupId, notification.priority)
|
||||
val insistent = notification.priority == PRIORITY_MAX &&
|
||||
(repository.getInsistentMaxPriorityEnabled() || subscription.insistent == Repository.INSISTENT_MAX_PRIORITY_ENABLED)
|
||||
val channelId = toChannelId(notification.priority)
|
||||
val builder = NotificationCompat.Builder(context, channelId)
|
||||
.setSmallIcon(R.drawable.ic_notification)
|
||||
.setColor(ContextCompat.getColor(context, Colors.notificationIcon(context)))
|
||||
.setColor(ContextCompat.getColor(context, Colors.notificationIcon))
|
||||
.setContentTitle(title)
|
||||
.setOnlyAlertOnce(true) // Do not vibrate or play sound if already showing (updates!)
|
||||
.setAutoCancel(true) // Cancel when notification is clicked
|
||||
setStyleAndText(builder, subscription, notification) // Preview picture or big text style
|
||||
setClickAction(builder, subscription, notification)
|
||||
maybeSetDeleteIntent(builder, insistent)
|
||||
maybeSetSound(builder, insistent, update)
|
||||
maybeSetSound(builder, update)
|
||||
maybeSetProgress(builder, notification)
|
||||
maybeAddOpenAction(builder, notification)
|
||||
maybeAddBrowseAction(builder, notification)
|
||||
|
@ -110,26 +79,12 @@ class NotificationService(val context: Context) {
|
|||
maybeAddCancelAction(builder, notification)
|
||||
maybeAddUserActions(builder, notification)
|
||||
|
||||
maybeCreateNotificationGroup(groupId, subscriptionGroupName(subscription))
|
||||
maybeCreateNotificationChannel(groupId, notification.priority)
|
||||
maybePlayInsistentSound(groupId, insistent)
|
||||
|
||||
maybeCreateNotificationChannel(notification.priority)
|
||||
notificationManager.notify(notification.notificationId, builder.build())
|
||||
}
|
||||
|
||||
private fun maybeSetDeleteIntent(builder: NotificationCompat.Builder, insistent: Boolean) {
|
||||
if (!insistent) {
|
||||
return
|
||||
}
|
||||
val intent = Intent(context, DeleteBroadcastReceiver::class.java)
|
||||
val pendingIntent = PendingIntent.getBroadcast(context, Random().nextInt(), intent, PendingIntent.FLAG_IMMUTABLE)
|
||||
builder.setDeleteIntent(pendingIntent)
|
||||
}
|
||||
|
||||
private fun maybeSetSound(builder: NotificationCompat.Builder, insistent: Boolean, update: Boolean) {
|
||||
// Note that the sound setting is ignored in Android => O (26) in favor of notification channels
|
||||
val hasSound = !update && !insistent
|
||||
if (hasSound) {
|
||||
private fun maybeSetSound(builder: NotificationCompat.Builder, update: Boolean) {
|
||||
if (!update) {
|
||||
val defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)
|
||||
builder.setSound(defaultSoundUri)
|
||||
} else {
|
||||
|
@ -211,9 +166,6 @@ class NotificationService(val context: Context) {
|
|||
}
|
||||
|
||||
private fun maybeAddOpenAction(builder: NotificationCompat.Builder, notification: Notification) {
|
||||
if (!canOpenAttachment(notification.attachment)) {
|
||||
return
|
||||
}
|
||||
if (notification.attachment?.contentUri != null) {
|
||||
val contentUri = Uri.parse(notification.attachment.contentUri)
|
||||
val intent = Intent(Intent.ACTION_VIEW, contentUri).apply {
|
||||
|
@ -345,18 +297,6 @@ class NotificationService(val context: Context) {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Receives a broadcast when a notification is swiped away. This is currently
|
||||
* only called for notifications with an insistent sound.
|
||||
*/
|
||||
class DeleteBroadcastReceiver : BroadcastReceiver() {
|
||||
override fun onReceive(context: Context, intent: Intent) {
|
||||
Log.d(TAG, "Media player: Stopping insistent ring")
|
||||
val mediaPlayer = Repository.getInstance(context).mediaPlayer
|
||||
mediaPlayer.stop()
|
||||
}
|
||||
}
|
||||
|
||||
private fun detailActivityIntent(subscription: Subscription): PendingIntent? {
|
||||
val intent = Intent(context, DetailActivity::class.java).apply {
|
||||
putExtra(MainActivity.EXTRA_SUBSCRIPTION_ID, subscription.id)
|
||||
|
@ -368,21 +308,20 @@ class NotificationService(val context: Context) {
|
|||
}
|
||||
return TaskStackBuilder.create(context).run {
|
||||
addNextIntentWithParentStack(intent) // Add the intent, which inflates the back stack
|
||||
getPendingIntent(Random().nextInt(), PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) // Get the PendingIntent containing the entire back stack
|
||||
getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE) // Get the PendingIntent containing the entire back stack
|
||||
}
|
||||
}
|
||||
|
||||
private fun maybeCreateNotificationChannel(group: String, priority: Int) {
|
||||
if (channelsSupported()) {
|
||||
private fun maybeCreateNotificationChannel(priority: Int) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
// Note: To change a notification channel, you must delete the old one and create a new one!
|
||||
|
||||
val channelId = toChannelId(group, priority)
|
||||
val pause = 300L
|
||||
val channel = when (priority) {
|
||||
PRIORITY_MIN -> NotificationChannel(channelId, context.getString(R.string.channel_notifications_min_name), NotificationManager.IMPORTANCE_MIN)
|
||||
PRIORITY_LOW -> NotificationChannel(channelId, context.getString(R.string.channel_notifications_low_name), NotificationManager.IMPORTANCE_LOW)
|
||||
PRIORITY_HIGH -> {
|
||||
val channel = NotificationChannel(channelId, context.getString(R.string.channel_notifications_high_name), NotificationManager.IMPORTANCE_HIGH)
|
||||
1 -> NotificationChannel(CHANNEL_ID_MIN, context.getString(R.string.channel_notifications_min_name), NotificationManager.IMPORTANCE_MIN)
|
||||
2 -> NotificationChannel(CHANNEL_ID_LOW, context.getString(R.string.channel_notifications_low_name), NotificationManager.IMPORTANCE_LOW)
|
||||
4 -> {
|
||||
val channel = NotificationChannel(CHANNEL_ID_HIGH, context.getString(R.string.channel_notifications_high_name), NotificationManager.IMPORTANCE_HIGH)
|
||||
channel.enableVibration(true)
|
||||
channel.vibrationPattern = longArrayOf(
|
||||
pause, 100, pause, 100, pause, 100,
|
||||
|
@ -390,11 +329,10 @@ class NotificationService(val context: Context) {
|
|||
)
|
||||
channel
|
||||
}
|
||||
PRIORITY_MAX -> {
|
||||
val channel = NotificationChannel(channelId, context.getString(R.string.channel_notifications_max_name), NotificationManager.IMPORTANCE_HIGH) // IMPORTANCE_MAX does not exist
|
||||
5 -> {
|
||||
val channel = NotificationChannel(CHANNEL_ID_MAX, context.getString(R.string.channel_notifications_max_name), NotificationManager.IMPORTANCE_HIGH) // IMPORTANCE_MAX does not exist
|
||||
channel.enableLights(true)
|
||||
channel.enableVibration(true)
|
||||
channel.setBypassDnd(true)
|
||||
channel.vibrationPattern = longArrayOf(
|
||||
pause, 100, pause, 100, pause, 100,
|
||||
pause, 2000,
|
||||
|
@ -405,71 +343,19 @@ class NotificationService(val context: Context) {
|
|||
)
|
||||
channel
|
||||
}
|
||||
else -> NotificationChannel(channelId, context.getString(R.string.channel_notifications_default_name), NotificationManager.IMPORTANCE_DEFAULT)
|
||||
else -> NotificationChannel(CHANNEL_ID_DEFAULT, context.getString(R.string.channel_notifications_default_name), NotificationManager.IMPORTANCE_DEFAULT)
|
||||
}
|
||||
channel.group = group
|
||||
notificationManager.createNotificationChannel(channel)
|
||||
}
|
||||
}
|
||||
|
||||
private fun maybeDeleteNotificationChannel(group: String, priority: Int) {
|
||||
if (channelsSupported()) {
|
||||
notificationManager.deleteNotificationChannel(toChannelId(group, priority))
|
||||
}
|
||||
}
|
||||
|
||||
private fun maybeCreateNotificationGroup(id: String, name: String) {
|
||||
if (channelsSupported()) {
|
||||
notificationManager.createNotificationChannelGroup(NotificationChannelGroup(id, name))
|
||||
}
|
||||
}
|
||||
|
||||
private fun maybeDeleteNotificationGroup(id: String) {
|
||||
if (channelsSupported()) {
|
||||
notificationManager.deleteNotificationChannelGroup(id)
|
||||
}
|
||||
}
|
||||
|
||||
private fun toChannelId(groupId: String, priority: Int): String {
|
||||
private fun toChannelId(priority: Int): String {
|
||||
return when (priority) {
|
||||
PRIORITY_MIN -> groupId + GROUP_SUFFIX_PRIORITY_MIN
|
||||
PRIORITY_LOW -> groupId + GROUP_SUFFIX_PRIORITY_LOW
|
||||
PRIORITY_HIGH -> groupId + GROUP_SUFFIX_PRIORITY_HIGH
|
||||
PRIORITY_MAX -> groupId + GROUP_SUFFIX_PRIORITY_MAX
|
||||
else -> groupId + GROUP_SUFFIX_PRIORITY_DEFAULT
|
||||
}
|
||||
}
|
||||
|
||||
private fun maybePlayInsistentSound(groupId: String, insistent: Boolean) {
|
||||
if (!insistent) {
|
||||
return
|
||||
}
|
||||
try {
|
||||
val mediaPlayer = repository.mediaPlayer
|
||||
val audioManager = context.getSystemService(Context.AUDIO_SERVICE) as AudioManager
|
||||
if (audioManager.getStreamVolume(AudioManager.STREAM_ALARM) != 0) {
|
||||
Log.d(TAG, "Media player: Playing insistent alarm on alarm channel")
|
||||
mediaPlayer.reset()
|
||||
mediaPlayer.setDataSource(context, getInsistentSound(groupId))
|
||||
mediaPlayer.setAudioAttributes(AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_ALARM).build())
|
||||
mediaPlayer.isLooping = true
|
||||
mediaPlayer.prepare()
|
||||
mediaPlayer.start()
|
||||
} else {
|
||||
Log.d(TAG, "Media player: Alarm volume is 0; not playing insistent alarm")
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Log.w(TAG, "Media player: Failed to play insistent alarm", e)
|
||||
}
|
||||
}
|
||||
|
||||
private fun getInsistentSound(groupId: String): Uri {
|
||||
return if (channelsSupported()) {
|
||||
val channelId = toChannelId(groupId, PRIORITY_MAX)
|
||||
val channel = notificationManager.getNotificationChannel(channelId)
|
||||
channel.sound
|
||||
} else {
|
||||
RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)
|
||||
1 -> CHANNEL_ID_MIN
|
||||
2 -> CHANNEL_ID_LOW
|
||||
4 -> CHANNEL_ID_HIGH
|
||||
5 -> CHANNEL_ID_MAX
|
||||
else -> CHANNEL_ID_DEFAULT
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -529,13 +415,11 @@ class NotificationService(val context: Context) {
|
|||
|
||||
private const val TAG = "NtfyNotifService"
|
||||
|
||||
private const val DEFAULT_GROUP = "ntfy"
|
||||
private const val SUBSCRIPTION_GROUP_PREFIX = "ntfy-subscription-"
|
||||
private const val GROUP_SUFFIX_PRIORITY_MIN = "-min"
|
||||
private const val GROUP_SUFFIX_PRIORITY_LOW = "-low"
|
||||
private const val GROUP_SUFFIX_PRIORITY_DEFAULT = ""
|
||||
private const val GROUP_SUFFIX_PRIORITY_HIGH = "-high"
|
||||
private const val GROUP_SUFFIX_PRIORITY_MAX = "-max"
|
||||
private const val CHANNEL_ID_MIN = "ntfy-min"
|
||||
private const val CHANNEL_ID_LOW = "ntfy-low"
|
||||
private const val CHANNEL_ID_DEFAULT = "ntfy"
|
||||
private const val CHANNEL_ID_HIGH = "ntfy-high"
|
||||
private const val CHANNEL_ID_MAX = "ntfy-max"
|
||||
|
||||
private const val VIEW_ACTION_EXTRA_URL = "url"
|
||||
private const val VIEW_ACTION_EXTRA_NOTIFICATION_ID = "notificationId"
|
||||
|
|
|
@ -8,6 +8,5 @@ interface Connection {
|
|||
|
||||
data class ConnectionId(
|
||||
val baseUrl: String,
|
||||
val topicsToSubscriptionIds: Map<String, Long>,
|
||||
val topicIsUnifiedPush: Map<String, Boolean>
|
||||
val topicsToSubscriptionIds: Map<String, Long>
|
||||
)
|
||||
|
|
|
@ -21,10 +21,8 @@ class JsonConnection(
|
|||
) : Connection {
|
||||
private val baseUrl = connectionId.baseUrl
|
||||
private val topicsToSubscriptionIds = connectionId.topicsToSubscriptionIds
|
||||
private val topicIsUnifiedPush = connectionId.topicIsUnifiedPush
|
||||
private val subscriptionIds = topicsToSubscriptionIds.values
|
||||
private val topicsStr = topicsToSubscriptionIds.keys.joinToString(separator = ",")
|
||||
private val unifiedPushTopicsStr = topicIsUnifiedPush.filter { entry -> entry.value }.keys.joinToString(separator = ",")
|
||||
private val url = topicUrl(baseUrl, topicsStr)
|
||||
|
||||
private var since: String? = sinceId
|
||||
|
@ -58,7 +56,7 @@ class JsonConnection(
|
|||
// Call /json subscribe endpoint and loop until the call fails, is canceled,
|
||||
// or the job or service are cancelled/stopped
|
||||
try {
|
||||
call = api.subscribe(baseUrl, topicsStr, unifiedPushTopicsStr, since, user, notify, fail)
|
||||
call = api.subscribe(baseUrl, topicsStr, since, user, notify, fail)
|
||||
while (!failed.get() && !call.isCanceled() && isActive && serviceActive()) {
|
||||
stateChangeListener(subscriptionIds, ConnectionState.CONNECTED)
|
||||
Log.d(TAG,"[$url] Connection is active (failed=$failed, callCanceled=${call.isCanceled()}, jobActive=$isActive, serviceStarted=${serviceActive()}")
|
||||
|
|
|
@ -10,18 +10,17 @@ import android.os.PowerManager
|
|||
import android.os.SystemClock
|
||||
import androidx.core.app.NotificationCompat
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.preference.PreferenceManager
|
||||
import io.heckel.ntfy.BuildConfig
|
||||
import io.heckel.ntfy.R
|
||||
import io.heckel.ntfy.app.Application
|
||||
import io.heckel.ntfy.db.ConnectionState
|
||||
import io.heckel.ntfy.db.Repository
|
||||
import io.heckel.ntfy.db.Subscription
|
||||
import io.heckel.ntfy.util.Log
|
||||
import io.heckel.ntfy.msg.ApiService
|
||||
import io.heckel.ntfy.msg.NotificationDispatcher
|
||||
import io.heckel.ntfy.ui.Colors
|
||||
import io.heckel.ntfy.ui.MainActivity
|
||||
import io.heckel.ntfy.util.Log
|
||||
import io.heckel.ntfy.util.topicUrl
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
|
@ -89,16 +88,23 @@ class SubscriberService : Service() {
|
|||
|
||||
Log.init(this) // Init logs in all entry points
|
||||
Log.d(TAG, "Subscriber service has been created")
|
||||
|
||||
val title = getString(R.string.channel_subscriber_notification_title)
|
||||
val text = if (BuildConfig.FIREBASE_AVAILABLE) {
|
||||
getString(R.string.channel_subscriber_notification_instant_text)
|
||||
} else {
|
||||
getString(R.string.channel_subscriber_notification_noinstant_text)
|
||||
}
|
||||
notificationManager = createNotificationChannel()
|
||||
serviceNotification = createNotification(title, text)
|
||||
|
||||
startForeground(NOTIFICATION_SERVICE_ID, serviceNotification)
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
Log.d(TAG, "Subscriber service has been destroyed")
|
||||
stopService()
|
||||
val preferenceKey = getString(R.string.eos_preference_key_is_enabled)
|
||||
if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean(preferenceKey, false)) {
|
||||
sendBroadcast(Intent(this, AutoRestartReceiver::class.java))
|
||||
}
|
||||
|
||||
sendBroadcast(Intent(this, AutoRestartReceiver::class.java)) // Restart it if necessary!
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
|
@ -132,6 +138,7 @@ class SubscriberService : Service() {
|
|||
}
|
||||
}
|
||||
wakeLock = null
|
||||
stopForeground(true)
|
||||
stopSelf()
|
||||
} catch (e: Exception) {
|
||||
Log.d(TAG, "Service stopped without being started: ${e.message}")
|
||||
|
@ -165,8 +172,8 @@ class SubscriberService : Service() {
|
|||
.filter { s -> s.instant }
|
||||
val activeConnectionIds = connections.keys().toList().toSet()
|
||||
val desiredConnectionIds = instantSubscriptions // Set<ConnectionId>
|
||||
.groupBy { s -> ConnectionId(s.baseUrl, emptyMap(), emptyMap()) }
|
||||
.map { entry -> entry.key.copy(topicsToSubscriptionIds = entry.value.associate { s -> s.topic to s.id }, topicIsUnifiedPush = entry.value.associate { s -> s.topic to (s.upConnectorToken != null) }) }
|
||||
.groupBy { s -> ConnectionId(s.baseUrl, emptyMap()) }
|
||||
.map { entry -> entry.key.copy(topicsToSubscriptionIds = entry.value.associate { s -> s.topic to s.id }) }
|
||||
.toSet()
|
||||
val newConnectionIds = desiredConnectionIds.subtract(activeConnectionIds)
|
||||
val obsoleteConnectionIds = activeConnectionIds.subtract(desiredConnectionIds)
|
||||
|
@ -193,7 +200,7 @@ class SubscriberService : Service() {
|
|||
// retrieve old messages. This is important, so we don't download attachments from old messages.
|
||||
|
||||
val since = sinceByBaseUrl[connectionId.baseUrl] ?: "none"
|
||||
val serviceActive = { isServiceStarted }
|
||||
val serviceActive = { -> isServiceStarted }
|
||||
val user = repository.getUser(connectionId.baseUrl)
|
||||
val connection = if (repository.getConnectionProtocol() == Repository.CONNECTION_PROTOCOL_WS) {
|
||||
val alarmManager = getSystemService(ALARM_SERVICE) as AlarmManager
|
||||
|
@ -284,13 +291,12 @@ class SubscriberService : Service() {
|
|||
}
|
||||
return NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID)
|
||||
.setSmallIcon(R.drawable.ic_notification_instant)
|
||||
.setColor(ContextCompat.getColor(this, Colors.notificationIcon(this)))
|
||||
.setColor(ContextCompat.getColor(this, Colors.notificationIcon))
|
||||
.setContentTitle(title)
|
||||
.setContentText(text)
|
||||
.setContentIntent(pendingIntent)
|
||||
.setSound(null)
|
||||
.setShowWhen(false) // Don't show date/time
|
||||
.setOngoing(true) // Starting SDK 33 / Android 13, foreground notifications can be swiped away
|
||||
.setGroup(NOTIFICATION_GROUP_ID) // Do not group with other notifications
|
||||
.build()
|
||||
}
|
||||
|
@ -303,11 +309,11 @@ class SubscriberService : Service() {
|
|||
override fun onTaskRemoved(rootIntent: Intent) {
|
||||
val restartServiceIntent = Intent(applicationContext, SubscriberService::class.java).also {
|
||||
it.setPackage(packageName)
|
||||
}
|
||||
val restartServicePendingIntent: PendingIntent = PendingIntent.getService(this, 1, restartServiceIntent, PendingIntent.FLAG_ONE_SHOT or PendingIntent.FLAG_IMMUTABLE)
|
||||
applicationContext.getSystemService(Context.ALARM_SERVICE)
|
||||
val alarmService: AlarmManager = applicationContext.getSystemService(Context.ALARM_SERVICE) as AlarmManager
|
||||
alarmService.set(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime() + 1000, restartServicePendingIntent)
|
||||
};
|
||||
val restartServicePendingIntent: PendingIntent = PendingIntent.getService(this, 1, restartServiceIntent, PendingIntent.FLAG_ONE_SHOT or PendingIntent.FLAG_IMMUTABLE);
|
||||
applicationContext.getSystemService(Context.ALARM_SERVICE);
|
||||
val alarmService: AlarmManager = applicationContext.getSystemService(Context.ALARM_SERVICE) as AlarmManager;
|
||||
alarmService.set(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime() + 1000, restartServicePendingIntent);
|
||||
}
|
||||
|
||||
/* This re-starts the service on reboot; see manifest */
|
||||
|
|
|
@ -2,11 +2,10 @@ package io.heckel.ntfy.service
|
|||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import androidx.preference.PreferenceManager
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.work.*
|
||||
import io.heckel.ntfy.app.Application
|
||||
import io.heckel.ntfy.util.Log
|
||||
import io.heckel.ntfy.R
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
|
@ -44,17 +43,11 @@ class SubscriberServiceManager(private val context: Context) {
|
|||
Log.d(TAG, "ServiceStartWorker: Failed, no application found (work ID: ${id})")
|
||||
return Result.failure()
|
||||
}
|
||||
|
||||
withContext(Dispatchers.IO) {
|
||||
val app = context.applicationContext as Application
|
||||
val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(app)
|
||||
val preferenceKey = context.getString(R.string.eos_preference_key_is_enabled)
|
||||
val action = if (sharedPreferences.getBoolean(preferenceKey, false)) {
|
||||
SubscriberService.Action.START
|
||||
} else {
|
||||
SubscriberService.Action.STOP
|
||||
}
|
||||
|
||||
val subscriptionIdsWithInstantStatus = app.repository.getSubscriptionIdsWithInstantStatus()
|
||||
val instantSubscriptions = subscriptionIdsWithInstantStatus.toList().filter { (_, instant) -> instant }.size
|
||||
val action = if (instantSubscriptions > 0) SubscriberService.Action.START else SubscriberService.Action.STOP
|
||||
val serviceState = SubscriberService.readServiceState(context)
|
||||
if (serviceState == SubscriberService.ServiceState.STOPPED && action == SubscriberService.Action.STOP) {
|
||||
return@withContext Result.success()
|
||||
|
@ -62,7 +55,7 @@ class SubscriberServiceManager(private val context: Context) {
|
|||
Log.d(TAG, "ServiceStartWorker: Starting foreground service with action $action (work ID: ${id})")
|
||||
Intent(context, SubscriberService::class.java).also {
|
||||
it.action = action.name
|
||||
context.startService(it)
|
||||
ContextCompat.startForegroundService(context, it)
|
||||
}
|
||||
}
|
||||
return Result.success()
|
||||
|
|
|
@ -56,10 +56,8 @@ class WsConnection(
|
|||
private val since = AtomicReference<String?>(sinceId)
|
||||
private val baseUrl = connectionId.baseUrl
|
||||
private val topicsToSubscriptionIds = connectionId.topicsToSubscriptionIds
|
||||
private val topicIsUnifiedPush = connectionId.topicIsUnifiedPush
|
||||
private val subscriptionIds = topicsToSubscriptionIds.values
|
||||
private val topicsStr = topicsToSubscriptionIds.keys.joinToString(separator = ",")
|
||||
private val unifiedPushTopicsStr = topicIsUnifiedPush.filter { entry -> entry.value }.keys.joinToString(separator = ",")
|
||||
private val shortUrl = topicShortUrl(baseUrl, topicsStr)
|
||||
|
||||
init {
|
||||
|
@ -80,7 +78,7 @@ class WsConnection(
|
|||
val sinceId = since.get()
|
||||
val sinceVal = sinceId ?: "all"
|
||||
val urlWithSince = topicUrlWs(baseUrl, topicsStr, sinceVal)
|
||||
val request = requestBuilder(urlWithSince, user, unifiedPushTopicsStr).build()
|
||||
val request = requestBuilder(urlWithSince, user).build()
|
||||
Log.d(TAG, "$shortUrl (gid=$globalId): Opening $urlWithSince with listener ID $nextListenerId ...")
|
||||
webSocket = client.newWebSocket(request, Listener(nextListenerId))
|
||||
}
|
||||
|
|
|
@ -5,6 +5,8 @@ import android.app.AlertDialog
|
|||
import android.app.Dialog
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
import android.text.Editable
|
||||
import android.text.TextWatcher
|
||||
import android.view.View
|
||||
import android.view.WindowManager
|
||||
import android.view.inputmethod.InputMethodManager
|
||||
|
|
|
@ -8,10 +8,7 @@ import io.heckel.ntfy.util.isDarkThemeOn
|
|||
class Colors {
|
||||
companion object {
|
||||
const val refreshProgressIndicator = R.color.teal
|
||||
|
||||
fun notificationIcon(context: Context): Int {
|
||||
return if (isDarkThemeOn(context)) R.color.teal_light else R.color.teal
|
||||
}
|
||||
const val notificationIcon = R.color.teal
|
||||
|
||||
fun itemSelectedBackground(context: Context): Int {
|
||||
return if (isDarkThemeOn(context)) R.color.black_800b else R.color.gray_400
|
||||
|
|
|
@ -7,13 +7,13 @@ import android.content.Context
|
|||
import android.content.Intent
|
||||
import android.content.Intent.ACTION_VIEW
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.text.Html
|
||||
import android.view.ActionMode
|
||||
import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.widget.Button
|
||||
import android.widget.TextView
|
||||
import android.widget.Toast
|
||||
import androidx.activity.viewModels
|
||||
|
@ -24,6 +24,7 @@ import androidx.recyclerview.widget.ItemTouchHelper
|
|||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import com.google.android.material.textfield.TextInputEditText
|
||||
import io.heckel.ntfy.BuildConfig
|
||||
import io.heckel.ntfy.R
|
||||
import io.heckel.ntfy.app.Application
|
||||
|
@ -111,11 +112,9 @@ class DetailActivity : AppCompatActivity(), ActionMode.Callback, NotificationFra
|
|||
baseUrl = baseUrl,
|
||||
topic = topic,
|
||||
instant = instant,
|
||||
dedicatedChannels = false,
|
||||
mutedUntil = 0,
|
||||
minPriority = Repository.MIN_PRIORITY_USE_GLOBAL,
|
||||
autoDelete = Repository.AUTO_DELETE_USE_GLOBAL,
|
||||
insistent = Repository.INSISTENT_MAX_PRIORITY_USE_GLOBAL,
|
||||
lastNotificationId = null,
|
||||
icon = null,
|
||||
upAppId = null,
|
||||
|
@ -181,12 +180,40 @@ class DetailActivity : AppCompatActivity(), ActionMode.Callback, NotificationFra
|
|||
howToExample.linksClickable = true
|
||||
|
||||
val howToText = getString(R.string.detail_how_to_example, topicUrl)
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
|
||||
howToExample.text = Html.fromHtml(howToText, Html.FROM_HTML_MODE_LEGACY)
|
||||
} else {
|
||||
howToExample.text = Html.fromHtml(howToText)
|
||||
}
|
||||
|
||||
// Message bar
|
||||
val messageText: TextInputEditText = findViewById(R.id.detail_message_box)
|
||||
val messageSendButton: Button = findViewById(R.id.detail_message_send_button)
|
||||
|
||||
messageSendButton.setOnClickListener {
|
||||
lifecycleScope.launch(Dispatchers.IO) {
|
||||
val message = messageText.text.toString()
|
||||
if (message.isNotEmpty()) {
|
||||
try {
|
||||
api.publish(subscriptionBaseUrl, subscriptionTopic, message = message)
|
||||
messageText.text?.clear()
|
||||
} catch (e: Exception) {
|
||||
runOnUiThread {
|
||||
Toast
|
||||
.makeText(this@DetailActivity, getString(R.string.detail_test_message_error, e.message), Toast.LENGTH_LONG)
|
||||
.show()
|
||||
}
|
||||
}
|
||||
} else {
|
||||
runOnUiThread {
|
||||
Toast
|
||||
.makeText(this@DetailActivity, getString(R.string.detail_message_bar_empty_message), Toast.LENGTH_LONG)
|
||||
.show()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Swipe to refresh
|
||||
mainListContainer = findViewById(R.id.detail_notification_list_container)
|
||||
mainListContainer.setOnRefreshListener { refresh() }
|
||||
|
@ -244,7 +271,7 @@ class DetailActivity : AppCompatActivity(), ActionMode.Callback, NotificationFra
|
|||
adapter.registerAdapterDataObserver(object : RecyclerView.AdapterDataObserver() {
|
||||
override fun onItemRangeInserted(positionStart: Int, itemCount: Int) {
|
||||
if (positionStart == 0) {
|
||||
Log.d(TAG, "$itemCount item(s) inserted at 0, scrolling to the top")
|
||||
Log.d(TAG, "$itemCount item(s) inserted at $positionStart, scrolling to the top")
|
||||
mainList.scrollToPosition(positionStart)
|
||||
}
|
||||
}
|
||||
|
@ -257,13 +284,6 @@ class DetailActivity : AppCompatActivity(), ActionMode.Callback, NotificationFra
|
|||
|
||||
// Mark this subscription as "open" so we don't receive notifications for it
|
||||
repository.detailViewSubscriptionId.set(subscriptionId)
|
||||
|
||||
// Stop insistent playback (if running, otherwise it'll throw)
|
||||
try {
|
||||
repository.mediaPlayer.stop()
|
||||
} catch (_: Exception) {
|
||||
// Ignore errors
|
||||
}
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
|
@ -581,7 +601,7 @@ class DetailActivity : AppCompatActivity(), ActionMode.Callback, NotificationFra
|
|||
dialog.setOnShowListener {
|
||||
dialog
|
||||
.getButton(AlertDialog.BUTTON_POSITIVE)
|
||||
.dangerButton(this)
|
||||
.setTextAppearance(R.style.DangerText)
|
||||
}
|
||||
dialog.show()
|
||||
}
|
||||
|
@ -619,7 +639,7 @@ class DetailActivity : AppCompatActivity(), ActionMode.Callback, NotificationFra
|
|||
dialog.setOnShowListener {
|
||||
dialog
|
||||
.getButton(AlertDialog.BUTTON_POSITIVE)
|
||||
.dangerButton(this)
|
||||
.setTextAppearance(R.style.DangerText)
|
||||
}
|
||||
dialog.show()
|
||||
}
|
||||
|
@ -629,7 +649,7 @@ class DetailActivity : AppCompatActivity(), ActionMode.Callback, NotificationFra
|
|||
handleActionModeClick(notification)
|
||||
} else if (notification.click != "") {
|
||||
try {
|
||||
startActivity(Intent(ACTION_VIEW, Uri.parse(notification.click)))
|
||||
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(notification.click)))
|
||||
} catch (e: Exception) {
|
||||
Log.w(TAG, "Cannot open click URL", e)
|
||||
runOnUiThread {
|
||||
|
@ -730,7 +750,7 @@ class DetailActivity : AppCompatActivity(), ActionMode.Callback, NotificationFra
|
|||
dialog.setOnShowListener {
|
||||
dialog
|
||||
.getButton(AlertDialog.BUTTON_POSITIVE)
|
||||
.dangerButton(this)
|
||||
.setTextAppearance(R.style.DangerText)
|
||||
}
|
||||
dialog.show()
|
||||
}
|
||||
|
|
|
@ -27,16 +27,14 @@ import com.google.android.material.button.MaterialButton
|
|||
import com.stfalcon.imageviewer.StfalconImageViewer
|
||||
import io.heckel.ntfy.R
|
||||
import io.heckel.ntfy.db.*
|
||||
import io.heckel.ntfy.msg.DownloadAttachmentWorker
|
||||
import io.heckel.ntfy.msg.DownloadManager
|
||||
import io.heckel.ntfy.msg.DownloadAttachmentWorker
|
||||
import io.heckel.ntfy.msg.DownloadType
|
||||
import io.heckel.ntfy.msg.NotificationService
|
||||
import io.heckel.ntfy.msg.NotificationService.Companion.ACTION_VIEW
|
||||
import io.heckel.ntfy.util.*
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.*
|
||||
|
||||
|
||||
class DetailAdapter(private val activity: Activity, private val lifecycleScope: CoroutineScope, private val repository: Repository, private val onClick: (Notification) -> Unit, private val onLongClick: (Notification) -> Unit) :
|
||||
ListAdapter<Notification, DetailAdapter.DetailViewHolder>(TopicDiffCallback) {
|
||||
|
@ -145,22 +143,22 @@ class DetailAdapter(private val activity: Activity, private val lifecycleScope:
|
|||
|
||||
private fun renderPriority(context: Context, notification: Notification) {
|
||||
when (notification.priority) {
|
||||
PRIORITY_MIN -> {
|
||||
1 -> {
|
||||
priorityImageView.visibility = View.VISIBLE
|
||||
priorityImageView.setImageDrawable(ContextCompat.getDrawable(context, R.drawable.ic_priority_1_24dp))
|
||||
}
|
||||
PRIORITY_LOW -> {
|
||||
2 -> {
|
||||
priorityImageView.visibility = View.VISIBLE
|
||||
priorityImageView.setImageDrawable(ContextCompat.getDrawable(context, R.drawable.ic_priority_2_24dp))
|
||||
}
|
||||
PRIORITY_DEFAULT -> {
|
||||
3 -> {
|
||||
priorityImageView.visibility = View.GONE
|
||||
}
|
||||
PRIORITY_HIGH -> {
|
||||
4 -> {
|
||||
priorityImageView.visibility = View.VISIBLE
|
||||
priorityImageView.setImageDrawable(ContextCompat.getDrawable(context, R.drawable.ic_priority_4_24dp))
|
||||
}
|
||||
PRIORITY_MAX -> {
|
||||
5 -> {
|
||||
priorityImageView.visibility = View.VISIBLE
|
||||
priorityImageView.setImageDrawable(ContextCompat.getDrawable(context, R.drawable.ic_priority_5_24dp))
|
||||
}
|
||||
|
@ -175,9 +173,8 @@ class DetailAdapter(private val activity: Activity, private val lifecycleScope:
|
|||
}
|
||||
val attachment = notification.attachment
|
||||
val image = attachment.contentUri != null && supportedImage(attachment.type) && previewableImage(attachmentFileStat)
|
||||
val bitmap = if (image) attachment.contentUri?.readBitmapFromUriOrNull(context) else null
|
||||
maybeRenderAttachmentImage(context, bitmap)
|
||||
maybeRenderAttachmentBox(context, notification, attachment, attachmentFileStat, bitmap)
|
||||
maybeRenderAttachmentImage(context, attachment, image)
|
||||
maybeRenderAttachmentBox(context, notification, attachment, attachmentFileStat, image)
|
||||
}
|
||||
|
||||
private fun maybeRenderIcon(context: Context, notification: Notification, iconStat: FileInfo?) {
|
||||
|
@ -206,7 +203,7 @@ class DetailAdapter(private val activity: Activity, private val lifecycleScope:
|
|||
}
|
||||
|
||||
private fun maybeRenderActions(context: Context, notification: Notification) {
|
||||
if (!notification.actions.isNullOrEmpty()) {
|
||||
if (notification.actions != null && notification.actions.isNotEmpty()) {
|
||||
actionsWrapperView.visibility = View.VISIBLE
|
||||
val actionsCount = Math.min(notification.actions.size, 3) // per documentation, only 3 actions are available
|
||||
for (i in 0 until actionsCount) {
|
||||
|
@ -222,7 +219,7 @@ class DetailAdapter(private val activity: Activity, private val lifecycleScope:
|
|||
|
||||
private fun resetCardButtons() {
|
||||
// clear any previously created dynamic buttons
|
||||
actionsFlow.allViews.forEach { actionsFlow.removeView(it) }
|
||||
actionsFlow.allViews.forEach { it -> actionsFlow.removeView(it) }
|
||||
actionsWrapperView.removeAllViews()
|
||||
actionsWrapperView.addView(actionsFlow)
|
||||
}
|
||||
|
@ -241,8 +238,8 @@ class DetailAdapter(private val activity: Activity, private val lifecycleScope:
|
|||
return button
|
||||
}
|
||||
|
||||
private fun maybeRenderAttachmentBox(context: Context, notification: Notification, attachment: Attachment, attachmentFileStat: FileInfo?, bitmap: Bitmap?) {
|
||||
if (bitmap != null) {
|
||||
private fun maybeRenderAttachmentBox(context: Context, notification: Notification, attachment: Attachment, attachmentFileStat: FileInfo?, image: Boolean) {
|
||||
if (image) {
|
||||
attachmentBoxView.visibility = View.GONE
|
||||
return
|
||||
}
|
||||
|
@ -351,12 +348,13 @@ class DetailAdapter(private val activity: Activity, private val lifecycleScope:
|
|||
}
|
||||
}
|
||||
|
||||
private fun maybeRenderAttachmentImage(context: Context, bitmap: Bitmap?) {
|
||||
if (bitmap == null) {
|
||||
private fun maybeRenderAttachmentImage(context: Context, attachment: Attachment, image: Boolean) {
|
||||
if (!image) {
|
||||
attachmentImageView.visibility = View.GONE
|
||||
return
|
||||
}
|
||||
try {
|
||||
val bitmap = attachment.contentUri?.readBitmapFromUri(context) ?: throw Exception("uri empty")
|
||||
attachmentImageView.setImageBitmap(bitmap)
|
||||
attachmentImageView.setOnClickListener {
|
||||
val loadImage = { view: ImageView, image: Bitmap -> view.setImageBitmap(image) }
|
||||
|
@ -373,12 +371,6 @@ class DetailAdapter(private val activity: Activity, private val lifecycleScope:
|
|||
}
|
||||
|
||||
private fun openFile(context: Context, attachment: Attachment): Boolean {
|
||||
if (!canOpenAttachment(attachment)) {
|
||||
Toast
|
||||
.makeText(context, context.getString(R.string.detail_item_cannot_open_apk), Toast.LENGTH_LONG)
|
||||
.show()
|
||||
return true
|
||||
}
|
||||
Log.d(TAG, "Opening file ${attachment.contentUri}")
|
||||
try {
|
||||
val contentUri = Uri.parse(attachment.contentUri)
|
||||
|
|
|
@ -4,10 +4,8 @@ import android.content.ContentResolver
|
|||
import android.content.ClipData
|
||||
import android.content.ClipboardManager
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.provider.Settings
|
||||
import android.text.TextUtils
|
||||
import android.widget.Toast
|
||||
import androidx.activity.result.ActivityResultLauncher
|
||||
|
@ -23,7 +21,6 @@ import io.heckel.ntfy.R
|
|||
import io.heckel.ntfy.db.Repository
|
||||
import io.heckel.ntfy.db.Subscription
|
||||
import io.heckel.ntfy.msg.DownloadAttachmentWorker
|
||||
import io.heckel.ntfy.msg.NotificationService
|
||||
import io.heckel.ntfy.service.SubscriberServiceManager
|
||||
import io.heckel.ntfy.util.*
|
||||
import kotlinx.coroutines.*
|
||||
|
@ -38,7 +35,6 @@ class DetailSettingsActivity : AppCompatActivity() {
|
|||
private lateinit var repository: Repository
|
||||
private lateinit var serviceManager: SubscriberServiceManager
|
||||
private lateinit var settingsFragment: SettingsFragment
|
||||
private lateinit var notificationService: NotificationService
|
||||
private var subscriptionId: Long = 0
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
|
@ -49,7 +45,6 @@ class DetailSettingsActivity : AppCompatActivity() {
|
|||
|
||||
repository = Repository.getInstance(this)
|
||||
serviceManager = SubscriberServiceManager(this)
|
||||
notificationService = NotificationService(this)
|
||||
subscriptionId = intent.getLongExtra(DetailActivity.EXTRA_SUBSCRIPTION_ID, 0)
|
||||
|
||||
if (savedInstanceState == null) {
|
||||
|
@ -80,11 +75,9 @@ class DetailSettingsActivity : AppCompatActivity() {
|
|||
private lateinit var resolver: ContentResolver
|
||||
private lateinit var repository: Repository
|
||||
private lateinit var serviceManager: SubscriberServiceManager
|
||||
private lateinit var notificationService: NotificationService
|
||||
private lateinit var subscription: Subscription
|
||||
|
||||
private lateinit var iconSetPref: Preference
|
||||
private lateinit var openChannelsPref: Preference
|
||||
private lateinit var iconSetLauncher: ActivityResultLauncher<String>
|
||||
private lateinit var iconRemovePref: Preference
|
||||
|
||||
|
@ -94,7 +87,6 @@ class DetailSettingsActivity : AppCompatActivity() {
|
|||
// Dependencies (Fragments need a default constructor)
|
||||
repository = Repository.getInstance(requireActivity())
|
||||
serviceManager = SubscriberServiceManager(requireActivity())
|
||||
notificationService = NotificationService(requireActivity())
|
||||
resolver = requireContext().applicationContext.contentResolver
|
||||
|
||||
// Create result launcher for custom icon (must be created in onCreatePreferences() directly)
|
||||
|
@ -118,18 +110,14 @@ class DetailSettingsActivity : AppCompatActivity() {
|
|||
loadMutedUntilPref()
|
||||
loadMinPriorityPref()
|
||||
loadAutoDeletePref()
|
||||
loadInsistentMaxPriorityPref()
|
||||
loadIconSetPref()
|
||||
loadIconRemovePref()
|
||||
if (notificationService.channelsSupported()) {
|
||||
loadDedicatedChannelsPrefs()
|
||||
loadOpenChannelsPrefs()
|
||||
}
|
||||
} else {
|
||||
val notificationsHeaderId = context?.getString(R.string.detail_settings_notifications_header_key) ?: return
|
||||
val notificationsHeader: PreferenceCategory? = findPreference(notificationsHeaderId)
|
||||
notificationsHeader?.isVisible = false
|
||||
}
|
||||
|
||||
loadDisplayNamePref()
|
||||
loadTopicUrlPref()
|
||||
}
|
||||
|
@ -157,48 +145,6 @@ class DetailSettingsActivity : AppCompatActivity() {
|
|||
}
|
||||
}
|
||||
|
||||
private fun loadDedicatedChannelsPrefs() {
|
||||
val prefId = context?.getString(R.string.detail_settings_notifications_dedicated_channels_key) ?: return
|
||||
val pref: SwitchPreference? = findPreference(prefId)
|
||||
pref?.isVisible = true
|
||||
pref?.isChecked = subscription.dedicatedChannels
|
||||
pref?.preferenceDataStore = object : PreferenceDataStore() {
|
||||
override fun putBoolean(key: String?, value: Boolean) {
|
||||
save(subscription.copy(dedicatedChannels = value))
|
||||
if (value) {
|
||||
notificationService.createSubscriptionNotificationChannels(subscription)
|
||||
} else {
|
||||
notificationService.deleteSubscriptionNotificationChannels(subscription)
|
||||
}
|
||||
openChannelsPref.isVisible = value
|
||||
}
|
||||
override fun getBoolean(key: String?, defValue: Boolean): Boolean {
|
||||
return subscription.dedicatedChannels
|
||||
}
|
||||
}
|
||||
pref?.summaryProvider = Preference.SummaryProvider<SwitchPreference> { preference ->
|
||||
if (preference.isChecked) {
|
||||
getString(R.string.detail_settings_notifications_dedicated_channels_summary_on)
|
||||
} else {
|
||||
getString(R.string.detail_settings_notifications_dedicated_channels_summary_off)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun loadOpenChannelsPrefs() {
|
||||
val prefId = context?.getString(R.string.detail_settings_notifications_open_channels_key) ?: return
|
||||
openChannelsPref = findPreference(prefId) ?: return
|
||||
openChannelsPref.isVisible = subscription.dedicatedChannels
|
||||
openChannelsPref.preferenceDataStore = object : PreferenceDataStore() { } // Dummy store to protect from accidentally overwriting
|
||||
openChannelsPref.onPreferenceClickListener = Preference.OnPreferenceClickListener { _ ->
|
||||
val settingsIntent = Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS)
|
||||
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
.putExtra(Settings.EXTRA_APP_PACKAGE, requireContext().applicationContext.packageName)
|
||||
startActivity(settingsIntent);
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
private fun loadMutedUntilPref() {
|
||||
val prefId = context?.getString(R.string.detail_settings_notifications_muted_until_key) ?: return
|
||||
val pref: ListPreference? = findPreference(prefId)
|
||||
|
@ -229,8 +175,9 @@ class DetailSettingsActivity : AppCompatActivity() {
|
|||
return subscription.mutedUntil.toString()
|
||||
}
|
||||
}
|
||||
pref?.summaryProvider = Preference.SummaryProvider<ListPreference> {
|
||||
when (val mutedUntilValue = subscription.mutedUntil) {
|
||||
pref?.summaryProvider = Preference.SummaryProvider<ListPreference> { _ ->
|
||||
val mutedUntilValue = subscription.mutedUntil
|
||||
when (mutedUntilValue) {
|
||||
Repository.MUTED_UNTIL_SHOW_ALL -> getString(R.string.settings_notifications_muted_until_show_all)
|
||||
Repository.MUTED_UNTIL_FOREVER -> getString(R.string.settings_notifications_muted_until_forever)
|
||||
else -> {
|
||||
|
@ -262,8 +209,8 @@ class DetailSettingsActivity : AppCompatActivity() {
|
|||
value = repository.getMinPriority()
|
||||
}
|
||||
val summary = when (value) {
|
||||
PRIORITY_MIN -> getString(R.string.settings_notifications_min_priority_summary_any)
|
||||
PRIORITY_MAX -> getString(R.string.settings_notifications_min_priority_summary_max)
|
||||
1 -> getString(R.string.settings_notifications_min_priority_summary_any)
|
||||
5 -> getString(R.string.settings_notifications_min_priority_summary_max)
|
||||
else -> {
|
||||
val minPriorityString = toPriorityString(requireContext(), value)
|
||||
getString(R.string.settings_notifications_min_priority_summary_x_or_higher, value, minPriorityString)
|
||||
|
@ -290,7 +237,7 @@ class DetailSettingsActivity : AppCompatActivity() {
|
|||
pref?.summaryProvider = Preference.SummaryProvider<ListPreference> { preference ->
|
||||
var seconds = preference.value.toLongOrNull() ?: Repository.AUTO_DELETE_USE_GLOBAL
|
||||
val global = seconds == Repository.AUTO_DELETE_USE_GLOBAL
|
||||
if (global) {
|
||||
if (seconds == Repository.AUTO_DELETE_USE_GLOBAL) {
|
||||
seconds = repository.getAutoDeleteSeconds()
|
||||
}
|
||||
val summary = when (seconds) {
|
||||
|
@ -306,39 +253,12 @@ class DetailSettingsActivity : AppCompatActivity() {
|
|||
}
|
||||
}
|
||||
|
||||
private fun loadInsistentMaxPriorityPref() {
|
||||
val prefId = context?.getString(R.string.detail_settings_notifications_insistent_max_priority_key) ?: return
|
||||
val pref: ListPreference? = findPreference(prefId)
|
||||
pref?.isVisible = true
|
||||
pref?.value = subscription.insistent.toString()
|
||||
pref?.preferenceDataStore = object : PreferenceDataStore() {
|
||||
override fun putString(key: String?, value: String?) {
|
||||
val intValue = value?.toIntOrNull() ?:return
|
||||
save(subscription.copy(insistent = intValue))
|
||||
}
|
||||
override fun getString(key: String?, defValue: String?): String {
|
||||
return subscription.insistent.toString()
|
||||
}
|
||||
}
|
||||
pref?.summaryProvider = Preference.SummaryProvider<ListPreference> { preference ->
|
||||
val value = preference.value.toIntOrNull() ?: Repository.INSISTENT_MAX_PRIORITY_USE_GLOBAL
|
||||
val global = value == Repository.INSISTENT_MAX_PRIORITY_USE_GLOBAL
|
||||
val enabled = if (global) repository.getInsistentMaxPriorityEnabled() else value == Repository.INSISTENT_MAX_PRIORITY_ENABLED
|
||||
val summary = if (enabled) {
|
||||
getString(R.string.settings_notifications_insistent_max_priority_summary_enabled)
|
||||
} else {
|
||||
getString(R.string.settings_notifications_insistent_max_priority_summary_disabled)
|
||||
}
|
||||
maybeAppendGlobal(summary, global)
|
||||
}
|
||||
}
|
||||
|
||||
private fun loadIconSetPref() {
|
||||
val prefId = context?.getString(R.string.detail_settings_appearance_icon_set_key) ?: return
|
||||
iconSetPref = findPreference(prefId) ?: return
|
||||
iconSetPref.isVisible = subscription.icon == null
|
||||
iconSetPref.preferenceDataStore = object : PreferenceDataStore() { } // Dummy store to protect from accidentally overwriting
|
||||
iconSetPref.onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
||||
iconSetPref.onPreferenceClickListener = Preference.OnPreferenceClickListener { _ ->
|
||||
iconSetLauncher.launch("image/*")
|
||||
true
|
||||
}
|
||||
|
@ -349,7 +269,7 @@ class DetailSettingsActivity : AppCompatActivity() {
|
|||
iconRemovePref = findPreference(prefId) ?: return
|
||||
iconRemovePref.isVisible = subscription.icon != null
|
||||
iconRemovePref.preferenceDataStore = object : PreferenceDataStore() { } // Dummy store to protect from accidentally overwriting
|
||||
iconRemovePref.onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
||||
iconRemovePref.onPreferenceClickListener = Preference.OnPreferenceClickListener { _ ->
|
||||
iconRemovePref.isVisible = false
|
||||
iconSetPref.isVisible = true
|
||||
deleteIcon(subscription.icon)
|
||||
|
@ -376,17 +296,16 @@ class DetailSettingsActivity : AppCompatActivity() {
|
|||
pref?.dialogMessage = getString(R.string.detail_settings_appearance_display_name_message, topicShortUrl(subscription.baseUrl, subscription.topic))
|
||||
pref?.preferenceDataStore = object : PreferenceDataStore() {
|
||||
override fun putString(key: String?, value: String?) {
|
||||
val displayName = if (value != "") value else null
|
||||
val displayName: String? = if (value == "") {
|
||||
null
|
||||
} else {
|
||||
value
|
||||
}
|
||||
val newSubscription = subscription.copy(displayName = displayName)
|
||||
save(newSubscription)
|
||||
// Update activity title
|
||||
activity?.runOnUiThread {
|
||||
activity?.title = displayName(newSubscription)
|
||||
}
|
||||
// Update dedicated notification channel
|
||||
if (newSubscription.dedicatedChannels) {
|
||||
notificationService.createSubscriptionNotificationChannels(newSubscription)
|
||||
}
|
||||
}
|
||||
override fun getString(key: String?, defValue: String?): String {
|
||||
return subscription.displayName ?: ""
|
||||
|
|
|
@ -35,6 +35,7 @@ import io.heckel.ntfy.app.Application
|
|||
import io.heckel.ntfy.db.Repository
|
||||
import io.heckel.ntfy.db.Subscription
|
||||
import io.heckel.ntfy.firebase.FirebaseMessenger
|
||||
import io.heckel.ntfy.util.Log
|
||||
import io.heckel.ntfy.msg.ApiService
|
||||
import io.heckel.ntfy.msg.DownloadManager
|
||||
import io.heckel.ntfy.msg.DownloadType
|
||||
|
@ -47,6 +48,7 @@ import io.heckel.ntfy.work.PollWorker
|
|||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
import java.security.SecureRandom
|
||||
import java.util.*
|
||||
import java.util.concurrent.TimeUnit
|
||||
import kotlin.random.Random
|
||||
|
@ -397,10 +399,6 @@ class MainActivity : AppCompatActivity(), ActionMode.Callback, AddFragment.Subsc
|
|||
}
|
||||
true
|
||||
}
|
||||
R.id.main_menu_donate -> {
|
||||
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(getString(R.string.main_menu_donate_url))))
|
||||
true
|
||||
}
|
||||
R.id.main_menu_docs -> {
|
||||
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(getString(R.string.main_menu_docs_url))))
|
||||
true
|
||||
|
@ -450,11 +448,9 @@ class MainActivity : AppCompatActivity(), ActionMode.Callback, AddFragment.Subsc
|
|||
baseUrl = baseUrl,
|
||||
topic = topic,
|
||||
instant = instant,
|
||||
dedicatedChannels = false,
|
||||
mutedUntil = 0,
|
||||
minPriority = Repository.MIN_PRIORITY_USE_GLOBAL,
|
||||
autoDelete = Repository.AUTO_DELETE_USE_GLOBAL,
|
||||
insistent = Repository.INSISTENT_MAX_PRIORITY_USE_GLOBAL,
|
||||
lastNotificationId = null,
|
||||
icon = null,
|
||||
upAppId = null,
|
||||
|
@ -622,7 +618,7 @@ class MainActivity : AppCompatActivity(), ActionMode.Callback, AddFragment.Subsc
|
|||
dialog.setOnShowListener {
|
||||
dialog
|
||||
.getButton(AlertDialog.BUTTON_POSITIVE)
|
||||
.dangerButton(this)
|
||||
.setTextAppearance(R.style.DangerText)
|
||||
}
|
||||
dialog.show()
|
||||
}
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
package io.heckel.ntfy.ui
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.BitmapFactory
|
||||
import android.graphics.Color
|
||||
import android.net.Uri
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
|
@ -15,8 +17,10 @@ import io.heckel.ntfy.R
|
|||
import io.heckel.ntfy.db.ConnectionState
|
||||
import io.heckel.ntfy.db.Repository
|
||||
import io.heckel.ntfy.db.Subscription
|
||||
import io.heckel.ntfy.util.displayName
|
||||
import io.heckel.ntfy.msg.NotificationService
|
||||
import io.heckel.ntfy.util.Log
|
||||
import io.heckel.ntfy.util.readBitmapFromUriOrNull
|
||||
import io.heckel.ntfy.util.displayName
|
||||
import java.text.DateFormat
|
||||
import java.util.*
|
||||
|
||||
|
@ -96,8 +100,6 @@ class MainAdapter(private val repository: Repository, private val onClick: (Subs
|
|||
val showMutedUntilIcon = !showMutedForeverIcon && (subscription.mutedUntil > 1L || globalMutedUntil > 1L) && !isUnifiedPush
|
||||
if (subscription.icon != null) {
|
||||
imageView.setImageBitmap(subscription.icon.readBitmapFromUriOrNull(context))
|
||||
} else {
|
||||
imageView.setImageResource(R.drawable.ic_sms_gray_24dp)
|
||||
}
|
||||
nameView.text = displayName(subscription)
|
||||
statusView.text = statusMessage
|
||||
|
@ -117,7 +119,7 @@ class MainAdapter(private val repository: Repository, private val onClick: (Subs
|
|||
if (selected.contains(subscription.id)) {
|
||||
itemView.setBackgroundResource(Colors.itemSelectedBackground(context))
|
||||
} else {
|
||||
itemView.setBackgroundColor(Color.TRANSPARENT)
|
||||
itemView.setBackgroundColor(Color.TRANSPARENT);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,71 +0,0 @@
|
|||
package io.heckel.ntfy.ui
|
||||
|
||||
import android.content.res.Configuration
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.view.WindowInsetsController
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import io.heckel.ntfy.R
|
||||
import io.heckel.ntfy.databinding.MainSettingsActivityBinding
|
||||
|
||||
class MainSettingsActivity : AppCompatActivity() {
|
||||
|
||||
private lateinit var mBinding: MainSettingsActivityBinding
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.R)
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
mBinding = MainSettingsActivityBinding.inflate(layoutInflater)
|
||||
setContentView(mBinding.root)
|
||||
|
||||
setupToolbar()
|
||||
setSystemBarsAppearance()
|
||||
showPreferencesFragment()
|
||||
}
|
||||
|
||||
private fun setupToolbar() {
|
||||
mBinding.toolbar.setNavigationOnClickListener {
|
||||
onBackPressedDispatcher.onBackPressed()
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.R)
|
||||
private fun setSystemBarsAppearance() {
|
||||
val insetsController = window.insetsController ?: return
|
||||
|
||||
val isLightMode = isSystemInLightMode()
|
||||
if (isLightMode) {
|
||||
insetsController.setSystemBarsAppearance(
|
||||
WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS,
|
||||
WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS
|
||||
)
|
||||
insetsController.setSystemBarsAppearance(
|
||||
WindowInsetsController.APPEARANCE_LIGHT_NAVIGATION_BARS,
|
||||
WindowInsetsController.APPEARANCE_LIGHT_NAVIGATION_BARS
|
||||
)
|
||||
} else {
|
||||
insetsController.setSystemBarsAppearance(
|
||||
0,
|
||||
WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS
|
||||
)
|
||||
insetsController.setSystemBarsAppearance(
|
||||
0,
|
||||
WindowInsetsController.APPEARANCE_LIGHT_NAVIGATION_BARS
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun isSystemInLightMode(): Boolean {
|
||||
val nightModeFlags = resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK
|
||||
return nightModeFlags != Configuration.UI_MODE_NIGHT_YES
|
||||
}
|
||||
|
||||
private fun showPreferencesFragment() {
|
||||
supportFragmentManager
|
||||
.beginTransaction()
|
||||
.replace(R.id.fragment_container, PreferencesFragment())
|
||||
.commit()
|
||||
}
|
||||
}
|
|
@ -8,8 +8,10 @@ import androidx.lifecycle.ViewModelProvider
|
|||
import androidx.lifecycle.viewModelScope
|
||||
import io.heckel.ntfy.db.*
|
||||
import io.heckel.ntfy.up.Distributor
|
||||
import io.heckel.ntfy.util.Log
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlin.collections.List
|
||||
|
||||
class SubscriptionsViewModel(private val repository: Repository) : ViewModel() {
|
||||
fun list(): LiveData<List<Subscription>> {
|
||||
|
|
|
@ -8,6 +8,7 @@ import android.widget.RadioButton
|
|||
import androidx.fragment.app.DialogFragment
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import io.heckel.ntfy.R
|
||||
import io.heckel.ntfy.db.Database
|
||||
import io.heckel.ntfy.db.Repository
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.delay
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
package io.heckel.ntfy.ui
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.view.Menu
|
||||
import android.view.MenuInflater
|
||||
import android.view.MenuItem
|
||||
import android.widget.Toolbar
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import androidx.preference.SwitchPreferenceCompat
|
||||
import io.heckel.ntfy.R
|
||||
import io.heckel.ntfy.service.SubscriberService
|
||||
import io.heckel.ntfy.util.Log
|
||||
|
||||
class PreferencesFragment : PreferenceFragmentCompat() {
|
||||
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
setPreferencesFromResource(R.xml.settings_preferences, rootKey)
|
||||
|
||||
val preference: SwitchPreferenceCompat? =
|
||||
findPreference(getString(R.string.eos_preference_key_is_enabled))
|
||||
|
||||
preference?.setOnPreferenceChangeListener { _, newValue ->
|
||||
val isChecked = newValue as Boolean
|
||||
val intent = Intent(context, SubscriberService::class.java)
|
||||
intent.action = if (isChecked) {
|
||||
SubscriberService.Action.START.name
|
||||
} else {
|
||||
SubscriberService.Action.STOP.name
|
||||
}
|
||||
|
||||
requireContext().startService(intent)
|
||||
true
|
||||
}
|
||||
}
|
||||
}
|
|
@ -191,8 +191,8 @@ class SettingsActivity : AppCompatActivity(), PreferenceFragmentCompat.OnPrefere
|
|||
}
|
||||
minPriority?.summaryProvider = Preference.SummaryProvider<ListPreference> { pref ->
|
||||
when (val minPriorityValue = pref.value.toIntOrNull() ?: 1) { // 1/low means all priorities
|
||||
PRIORITY_MIN -> getString(R.string.settings_notifications_min_priority_summary_any)
|
||||
PRIORITY_MAX -> getString(R.string.settings_notifications_min_priority_summary_max)
|
||||
1 -> getString(R.string.settings_notifications_min_priority_summary_any)
|
||||
5 -> getString(R.string.settings_notifications_min_priority_summary_max)
|
||||
else -> {
|
||||
val minPriorityString = toPriorityString(requireContext(), minPriorityValue)
|
||||
getString(R.string.settings_notifications_min_priority_summary_x_or_higher, minPriorityValue, minPriorityString)
|
||||
|
@ -200,26 +200,6 @@ class SettingsActivity : AppCompatActivity(), PreferenceFragmentCompat.OnPrefere
|
|||
}
|
||||
}
|
||||
|
||||
// Keep alerting for max priority
|
||||
val insistentMaxPriorityPrefId = context?.getString(R.string.settings_notifications_insistent_max_priority_key) ?: return
|
||||
val insistentMaxPriority: SwitchPreference? = findPreference(insistentMaxPriorityPrefId)
|
||||
insistentMaxPriority?.isChecked = repository.getInsistentMaxPriorityEnabled()
|
||||
insistentMaxPriority?.preferenceDataStore = object : PreferenceDataStore() {
|
||||
override fun putBoolean(key: String?, value: Boolean) {
|
||||
repository.setInsistentMaxPriorityEnabled(value)
|
||||
}
|
||||
override fun getBoolean(key: String?, defValue: Boolean): Boolean {
|
||||
return repository.getInsistentMaxPriorityEnabled()
|
||||
}
|
||||
}
|
||||
insistentMaxPriority?.summaryProvider = Preference.SummaryProvider<SwitchPreference> { pref ->
|
||||
if (pref.isChecked) {
|
||||
getString(R.string.settings_notifications_insistent_max_priority_summary_enabled)
|
||||
} else {
|
||||
getString(R.string.settings_notifications_insistent_max_priority_summary_disabled)
|
||||
}
|
||||
}
|
||||
|
||||
// Channel settings
|
||||
val channelPrefsPrefId = context?.getString(R.string.settings_notifications_channel_prefs_key) ?: return
|
||||
val channelPrefs: Preference? = findPreference(channelPrefsPrefId)
|
||||
|
@ -364,26 +344,6 @@ class SettingsActivity : AppCompatActivity(), PreferenceFragmentCompat.OnPrefere
|
|||
}
|
||||
}
|
||||
|
||||
// Enable UnifiedPush
|
||||
val unifiedPushEnabledPrefId = context?.getString(R.string.settings_advanced_unifiedpush_key) ?: return
|
||||
val unifiedPushEnabled: SwitchPreference? = findPreference(unifiedPushEnabledPrefId)
|
||||
unifiedPushEnabled?.isChecked = repository.getUnifiedPushEnabled()
|
||||
unifiedPushEnabled?.preferenceDataStore = object : PreferenceDataStore() {
|
||||
override fun putBoolean(key: String?, value: Boolean) {
|
||||
repository.setUnifiedPushEnabled(value)
|
||||
}
|
||||
override fun getBoolean(key: String?, defValue: Boolean): Boolean {
|
||||
return repository.getUnifiedPushEnabled()
|
||||
}
|
||||
}
|
||||
unifiedPushEnabled?.summaryProvider = Preference.SummaryProvider<SwitchPreference> { pref ->
|
||||
if (pref.isChecked) {
|
||||
getString(R.string.settings_advanced_unifiedpush_summary_enabled)
|
||||
} else {
|
||||
getString(R.string.settings_advanced_unifiedpush_summary_disabled)
|
||||
}
|
||||
}
|
||||
|
||||
// Export logs
|
||||
val exportLogsPrefId = context?.getString(R.string.settings_advanced_export_logs_key) ?: return
|
||||
val exportLogs: ListPreference? = findPreference(exportLogsPrefId)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package io.heckel.ntfy.ui
|
||||
|
||||
import android.content.Intent
|
||||
import android.graphics.BitmapFactory
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.os.Parcelable
|
||||
|
@ -87,16 +88,8 @@ class ShareActivity : AppCompatActivity() {
|
|||
errorImage = findViewById(R.id.share_error_image)
|
||||
errorImage.visibility = View.GONE
|
||||
|
||||
val textWatcher = object : TextWatcher {
|
||||
override fun afterTextChanged(s: Editable?) {
|
||||
validateInput()
|
||||
}
|
||||
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
|
||||
// Nothing
|
||||
}
|
||||
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
|
||||
// Nothing
|
||||
}
|
||||
val textWatcher = AfterChangedTextWatcher {
|
||||
validateInput()
|
||||
}
|
||||
contentText.addTextChangedListener(textWatcher)
|
||||
topicText.addTextChangedListener(textWatcher)
|
||||
|
@ -294,7 +287,7 @@ class ShareActivity : AppCompatActivity() {
|
|||
.show()
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
val errorMessage = if (e is ApiService.UnauthorizedException) {
|
||||
val message = if (e is ApiService.UnauthorizedException) {
|
||||
if (e.user != null) {
|
||||
getString(R.string.detail_test_message_error_unauthorized_user, e.user.username)
|
||||
} else {
|
||||
|
@ -307,7 +300,7 @@ class ShareActivity : AppCompatActivity() {
|
|||
}
|
||||
runOnUiThread {
|
||||
progress.visibility = View.GONE
|
||||
errorText.text = errorMessage
|
||||
errorText.text = message
|
||||
errorImage.visibility = View.VISIBLE
|
||||
errorText.visibility = View.VISIBLE
|
||||
}
|
||||
|
|
|
@ -3,17 +3,19 @@ package io.heckel.ntfy.ui
|
|||
import android.app.AlertDialog
|
||||
import android.app.Dialog
|
||||
import android.content.Context
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.text.Editable
|
||||
import android.text.TextWatcher
|
||||
import android.view.View
|
||||
import android.view.WindowManager
|
||||
import android.widget.Button
|
||||
import android.widget.TextView
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import com.google.android.material.textfield.TextInputEditText
|
||||
import io.heckel.ntfy.R
|
||||
import io.heckel.ntfy.db.User
|
||||
import io.heckel.ntfy.util.AfterChangedTextWatcher
|
||||
import io.heckel.ntfy.util.dangerButton
|
||||
import io.heckel.ntfy.util.validUrl
|
||||
|
||||
class UserFragment : DialogFragment() {
|
||||
|
@ -96,14 +98,28 @@ class UserFragment : DialogFragment() {
|
|||
|
||||
// Delete button should be red
|
||||
if (user != null) {
|
||||
dialog
|
||||
.getButton(AlertDialog.BUTTON_NEUTRAL)
|
||||
.dangerButton(requireContext())
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
dialog
|
||||
.getButton(AlertDialog.BUTTON_NEUTRAL)
|
||||
.setTextAppearance(R.style.DangerText)
|
||||
} else {
|
||||
dialog
|
||||
.getButton(AlertDialog.BUTTON_NEUTRAL)
|
||||
.setTextColor(ContextCompat.getColor(requireContext(), Colors.dangerText(requireContext())))
|
||||
}
|
||||
}
|
||||
|
||||
// Validate input when typing
|
||||
val textWatcher = AfterChangedTextWatcher {
|
||||
validateInput()
|
||||
val textWatcher = object : TextWatcher {
|
||||
override fun afterTextChanged(s: Editable?) {
|
||||
validateInput()
|
||||
}
|
||||
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
|
||||
// Nothing
|
||||
}
|
||||
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
|
||||
// Nothing
|
||||
}
|
||||
}
|
||||
baseUrlView.addTextChangedListener(textWatcher)
|
||||
usernameView.addTextChangedListener(textWatcher)
|
||||
|
@ -124,7 +140,7 @@ class UserFragment : DialogFragment() {
|
|||
}
|
||||
|
||||
// Show keyboard when the dialog is shown (see https://stackoverflow.com/a/19573049/1440785)
|
||||
dialog.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE)
|
||||
dialog.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
|
||||
|
||||
return dialog
|
||||
}
|
||||
|
|
|
@ -10,10 +10,12 @@ import io.heckel.ntfy.service.SubscriberServiceManager
|
|||
import io.heckel.ntfy.util.*
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.sync.Mutex
|
||||
import kotlinx.coroutines.sync.withLock
|
||||
import java.util.*
|
||||
import kotlin.random.Random
|
||||
|
||||
/**
|
||||
* This is the UnifiedPush broadcast receiver to handle the distributor actions REGISTER and UNREGISTER.
|
||||
|
@ -38,11 +40,6 @@ class BroadcastReceiver : android.content.BroadcastReceiver() {
|
|||
val repository = app.repository
|
||||
val distributor = Distributor(app)
|
||||
Log.d(TAG, "REGISTER received for app $appId (connectorToken=$connectorToken)")
|
||||
if (!repository.getUnifiedPushEnabled()) {
|
||||
Log.w(TAG, "Refusing registration because 'EnableUP' is disabled")
|
||||
distributor.sendRegistrationFailed(appId, connectorToken, "UnifiedPush is disabled in ntfy")
|
||||
return
|
||||
}
|
||||
if (appId.isBlank()) {
|
||||
Log.w(TAG, "Refusing registration: Empty application")
|
||||
distributor.sendRegistrationFailed(appId, connectorToken, "Empty application string")
|
||||
|
@ -75,11 +72,9 @@ class BroadcastReceiver : android.content.BroadcastReceiver() {
|
|||
baseUrl = baseUrl,
|
||||
topic = topic,
|
||||
instant = true, // No Firebase, always instant!
|
||||
dedicatedChannels = false,
|
||||
mutedUntil = 0,
|
||||
minPriority = Repository.MIN_PRIORITY_USE_GLOBAL,
|
||||
autoDelete = Repository.AUTO_DELETE_USE_GLOBAL,
|
||||
insistent = Repository.INSISTENT_MAX_PRIORITY_USE_GLOBAL,
|
||||
lastNotificationId = null,
|
||||
icon = null,
|
||||
upAppId = appId,
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
package io.heckel.ntfy.util
|
||||
|
||||
const val ANDROID_APP_MIME_TYPE = "application/vnd.android.package-archive"
|
||||
|
||||
const val PRIORITY_MIN = 1
|
||||
const val PRIORITY_LOW = 2
|
||||
const val PRIORITY_DEFAULT = 3
|
||||
const val PRIORITY_HIGH = 4
|
||||
const val PRIORITY_MAX = 5
|
||||
|
||||
val ALL_PRIORITIES = listOf(PRIORITY_MIN, PRIORITY_LOW, PRIORITY_DEFAULT, PRIORITY_HIGH, PRIORITY_MAX)
|
|
@ -22,16 +22,12 @@ import android.util.Base64
|
|||
import android.util.TypedValue
|
||||
import android.view.View
|
||||
import android.view.Window
|
||||
import android.widget.Button
|
||||
import android.widget.ImageView
|
||||
import android.widget.Toast
|
||||
import androidx.appcompat.app.AppCompatDelegate
|
||||
import androidx.core.content.ContextCompat
|
||||
import io.heckel.ntfy.BuildConfig
|
||||
import io.heckel.ntfy.R
|
||||
import io.heckel.ntfy.db.*
|
||||
import io.heckel.ntfy.msg.MESSAGE_ENCODING_BASE64
|
||||
import io.heckel.ntfy.ui.Colors
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.delay
|
||||
|
@ -60,12 +56,8 @@ fun topicUrlAuth(baseUrl: String, topic: String) = "${topicUrl(baseUrl, topic)}/
|
|||
fun topicUrlJsonPoll(baseUrl: String, topic: String, since: String) = "${topicUrl(baseUrl, topic)}/json?poll=1&since=$since"
|
||||
fun topicShortUrl(baseUrl: String, topic: String) = shortUrl(topicUrl(baseUrl, topic))
|
||||
|
||||
fun subscriptionTopicShortUrl(subscription: Subscription) : String {
|
||||
return topicShortUrl(subscription.baseUrl, subscription.topic)
|
||||
}
|
||||
|
||||
fun displayName(subscription: Subscription) : String {
|
||||
return subscription.displayName ?: subscriptionTopicShortUrl(subscription)
|
||||
return subscription.displayName ?: topicShortUrl(subscription.baseUrl, subscription.topic)
|
||||
}
|
||||
|
||||
fun shortUrl(url: String) = url
|
||||
|
@ -99,16 +91,17 @@ fun formatDateShort(timestampSecs: Long): String {
|
|||
}
|
||||
|
||||
fun toPriority(priority: Int?): Int {
|
||||
return if (priority != null && ALL_PRIORITIES.contains(priority)) priority else PRIORITY_DEFAULT
|
||||
if (priority != null && (1..5).contains(priority)) return priority
|
||||
else return 3
|
||||
}
|
||||
|
||||
fun toPriorityString(context: Context, priority: Int): String {
|
||||
return when (priority) {
|
||||
PRIORITY_MIN -> context.getString(R.string.settings_notifications_priority_min)
|
||||
PRIORITY_LOW -> context.getString(R.string.settings_notifications_priority_low)
|
||||
PRIORITY_DEFAULT -> context.getString(R.string.settings_notifications_priority_default)
|
||||
PRIORITY_HIGH -> context.getString(R.string.settings_notifications_priority_high)
|
||||
PRIORITY_MAX -> context.getString(R.string.settings_notifications_priority_max)
|
||||
1 -> context.getString(R.string.settings_notifications_priority_min)
|
||||
2 -> context.getString(R.string.settings_notifications_priority_low)
|
||||
3 -> context.getString(R.string.settings_notifications_priority_default)
|
||||
4 -> context.getString(R.string.settings_notifications_priority_high)
|
||||
5 -> context.getString(R.string.settings_notifications_priority_max)
|
||||
else -> context.getString(R.string.settings_notifications_priority_default)
|
||||
}
|
||||
}
|
||||
|
@ -224,6 +217,16 @@ fun maybeAppendActionErrors(message: String, notification: Notification): String
|
|||
}
|
||||
}
|
||||
|
||||
// Checks in the most horrible way if a content URI exists; I couldn't find a better way
|
||||
fun fileExists(context: Context, contentUri: String?): Boolean {
|
||||
return try {
|
||||
fileStat(context, Uri.parse(contentUri)) // Throws if the file does not exist
|
||||
true
|
||||
} catch (_: Exception) {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
// Queries the filename of a content URI
|
||||
fun fileName(context: Context, contentUri: String?, fallbackName: String): String {
|
||||
return try {
|
||||
|
@ -325,7 +328,7 @@ fun mimeTypeToIconResource(mimeType: String?): Int {
|
|||
R.drawable.ic_file_video_orange_24dp
|
||||
} else if (mimeType?.startsWith("audio/") == true) {
|
||||
R.drawable.ic_file_audio_purple_24dp
|
||||
} else if (mimeType == ANDROID_APP_MIME_TYPE) {
|
||||
} else if (mimeType == "application/vnd.android.package-archive") {
|
||||
R.drawable.ic_file_app_gray_24dp
|
||||
} else {
|
||||
R.drawable.ic_file_document_blue_24dp
|
||||
|
@ -336,15 +339,6 @@ fun supportedImage(mimeType: String?): Boolean {
|
|||
return listOf("image/jpeg", "image/png").contains(mimeType)
|
||||
}
|
||||
|
||||
// Google Play doesn't allow us to install received .apk files anymore.
|
||||
// See https://github.com/binwiederhier/ntfy/issues/531
|
||||
fun canOpenAttachment(attachment: Attachment?): Boolean {
|
||||
if (attachment?.type == ANDROID_APP_MIME_TYPE && !BuildConfig.INSTALL_PACKAGES_AVAILABLE) {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
// Check if battery optimization is enabled, see https://stackoverflow.com/a/49098293/1440785
|
||||
fun isIgnoringBatteryOptimizations(context: Context): Boolean {
|
||||
val powerManager = context.applicationContext.getSystemService(Context.POWER_SERVICE) as PowerManager
|
||||
|
@ -425,16 +419,11 @@ fun View.ripple(scope: CoroutineScope) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
fun Uri.readBitmapFromUri(context: Context): Bitmap {
|
||||
val resolver = context.applicationContext.contentResolver
|
||||
val bitmapStream = resolver.openInputStream(this)
|
||||
val bitmap = BitmapFactory.decodeStream(bitmapStream)
|
||||
if (bitmap.byteCount > 100 * 1024 * 1024) {
|
||||
// If the Bitmap is too large to be rendered (100 MB), it will throw a RuntimeException downstream.
|
||||
// This workaround throws a catchable exception instead. See issue #474. From https://stackoverflow.com/a/53334563/1440785
|
||||
throw Exception("Bitmap too large to draw on Canvas (${bitmap.byteCount} bytes)")
|
||||
}
|
||||
return bitmap
|
||||
return BitmapFactory.decodeStream(bitmapStream)
|
||||
}
|
||||
|
||||
fun String.readBitmapFromUri(context: Context): Bitmap {
|
||||
|
@ -496,16 +485,3 @@ fun String.sha256(): String {
|
|||
val digest = md.digest(this.toByteArray())
|
||||
return digest.fold("") { str, it -> str + "%02x".format(it) }
|
||||
}
|
||||
|
||||
fun Button.dangerButton(context: Context) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
setTextAppearance(R.style.DangerText)
|
||||
} else {
|
||||
setTextColor(ContextCompat.getColor(context, Colors.dangerText(context)))
|
||||
}
|
||||
}
|
||||
|
||||
fun Long.nullIfZero(): Long? {
|
||||
return if (this == 0L) return null else this
|
||||
}
|
||||
|
||||
|
|
5
app/src/main/res/drawable/ic_edittext_background.xml
Normal file
5
app/src/main/res/drawable/ic_edittext_background.xml
Normal file
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/white"/>
|
||||
<corners android:radius="5dp"/>
|
||||
</shape>
|
|
@ -1,31 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="50dp"
|
||||
android:height="50dp"
|
||||
android:viewportWidth="50"
|
||||
android:viewportHeight="50">
|
||||
<path
|
||||
android:pathData="m7.8399,6.35c-3.58,0 -6.6469,2.817 -6.6469,6.3983v0.003l0.0351,27.8668 -0.8991,6.6347 12.2261,-3.248L42.9487,44.0049c3.58,0 6.6469,-2.8208 6.6469,-6.4022v-24.8545c0,-3.5803 -3.0652,-6.3967 -6.6438,-6.3983h-0.0031zM7.8399,10.8662h35.1088,0.0031c1.2579,0.0013 2.1277,0.9164 2.1277,1.8821v24.8544c0,0.9666 -0.8714,1.8821 -2.1307,1.8821L11.8924,39.4849l-6.2114,1.8768 0.0633,-0.366 -0.0343,-28.2473c0,-0.9665 0.8706,-1.8821 2.13,-1.8821z"
|
||||
android:strokeWidth="0.754022"
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="m11.5278,32.0849l0,-3.346l7.0363,-3.721q0.3397,-0.1732 0.6551,-0.2596 0.3397,-0.1153 0.6066,-0.1732 0.2912,-0.0288 0.5823,-0.0576l0,-0.2308q-0.2912,-0.0288 -0.5823,-0.1153 -0.2669,-0.0576 -0.6066,-0.1443 -0.3154,-0.1153 -0.6551,-0.2884l-7.0363,-3.721l0,-3.3749l10.8699,5.9132l0,3.6056z"
|
||||
android:strokeWidth="0.525121"
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="m10.9661,15.6112l0,4.8516l7.3742,3.9002c0.0157,0.0077 0.0305,0.0128 0.0461,0.0204 -0.0157,0.0077 -0.0305,0.0128 -0.0461,0.0204l-7.3742,3.9002l0,4.8267l0.7961,-0.4333 11.1995,-6.0969l0,-4.463zM12.0931,17.6933 L21.8346,22.9981l0,2.7446l-9.7414,5.2999l0,-1.8679l6.6912,-3.5416 0.0084,-0.0051c0.1961,-0.0992 0.3826,-0.1724 0.5531,-0.2191l0.0127,0l0.0167,-0.0051c0.2034,-0.0691 0.3777,-0.1209 0.5279,-0.1545l1.0684,-0.1046l0,-1.4644l-0.5154,-0.0497c-0.1632,-0.0153 -0.3288,-0.0505 -0.4944,-0.0997l-0.0167,-0.0051 -0.0167,-0.0051c-0.1632,-0.0352 -0.3552,-0.0811 -0.5656,-0.1344 -0.1802,-0.0668 -0.3706,-0.1479 -0.5698,-0.2492l-0.0084,-0.0051 -6.6912,-3.5416z"
|
||||
android:strokeWidth="0.525121"
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="m26.7503,30.9206l11.6118,0l0,3.1388L26.7503,34.0594Z"
|
||||
android:strokeWidth="0.525121"
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="m26.1875,30.2775l0,0.6427 0,3.7845l12.7371,0l0,-4.4272zM27.3113,31.563l10.4896,0l0,1.8515l-10.4896,0z"
|
||||
android:strokeWidth="0.525121"
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:strokeColor="#00000000"/>
|
||||
</vector>
|
|
@ -1,31 +1,31 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="22dp"
|
||||
android:height="22dp"
|
||||
android:width="50dp"
|
||||
android:height="50dp"
|
||||
android:viewportWidth="50"
|
||||
android:viewportHeight="50">
|
||||
<path
|
||||
android:pathData="m7.8399,6.35c-3.58,0 -6.6469,2.817 -6.6469,6.3983v0.003l0.0351,27.8668 -0.8991,6.6347 12.2261,-3.248L42.9487,44.0049c3.58,0 6.6469,-2.8208 6.6469,-6.4022v-24.8545c0,-3.5803 -3.0652,-6.3967 -6.6438,-6.3983h-0.0031zM7.8399,10.8662h35.1088,0.0031c1.2579,0.0013 2.1277,0.9164 2.1277,1.8821v24.8544c0,0.9666 -0.8714,1.8821 -2.1307,1.8821L11.8924,39.4849l-6.2114,1.8768 0.0633,-0.366 -0.0343,-28.2473c0,-0.9665 0.8706,-1.8821 2.13,-1.8821z"
|
||||
android:strokeWidth="0.754022"
|
||||
android:fillColor="?android:attr/colorControlNormal"
|
||||
android:fillColor="#338574"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="m11.5278,32.0849l0,-3.346l7.0363,-3.721q0.3397,-0.1732 0.6551,-0.2596 0.3397,-0.1153 0.6066,-0.1732 0.2912,-0.0288 0.5823,-0.0576l0,-0.2308q-0.2912,-0.0288 -0.5823,-0.1153 -0.2669,-0.0576 -0.6066,-0.1443 -0.3154,-0.1153 -0.6551,-0.2884l-7.0363,-3.721l0,-3.3749l10.8699,5.9132l0,3.6056z"
|
||||
android:strokeWidth="0.525121"
|
||||
android:fillColor="?android:attr/colorControlNormal"
|
||||
android:fillColor="#338574"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="m10.9661,15.6112l0,4.8516l7.3742,3.9002c0.0157,0.0077 0.0305,0.0128 0.0461,0.0204 -0.0157,0.0077 -0.0305,0.0128 -0.0461,0.0204l-7.3742,3.9002l0,4.8267l0.7961,-0.4333 11.1995,-6.0969l0,-4.463zM12.0931,17.6933 L21.8346,22.9981l0,2.7446l-9.7414,5.2999l0,-1.8679l6.6912,-3.5416 0.0084,-0.0051c0.1961,-0.0992 0.3826,-0.1724 0.5531,-0.2191l0.0127,0l0.0167,-0.0051c0.2034,-0.0691 0.3777,-0.1209 0.5279,-0.1545l1.0684,-0.1046l0,-1.4644l-0.5154,-0.0497c-0.1632,-0.0153 -0.3288,-0.0505 -0.4944,-0.0997l-0.0167,-0.0051 -0.0167,-0.0051c-0.1632,-0.0352 -0.3552,-0.0811 -0.5656,-0.1344 -0.1802,-0.0668 -0.3706,-0.1479 -0.5698,-0.2492l-0.0084,-0.0051 -6.6912,-3.5416z"
|
||||
android:strokeWidth="0.525121"
|
||||
android:fillColor="?android:attr/colorControlNormal"
|
||||
android:fillColor="#338574"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="m26.7503,30.9206l11.6118,0l0,3.1388L26.7503,34.0594Z"
|
||||
android:strokeWidth="0.525121"
|
||||
android:fillColor="?android:attr/colorControlNormal"
|
||||
android:fillColor="#338574"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="m26.1875,30.2775l0,0.6427 0,3.7845l12.7371,0l0,-4.4272zM27.3113,31.563l10.4896,0l0,1.8515l-10.4896,0z"
|
||||
android:strokeWidth="0.525121"
|
||||
android:fillColor="?android:attr/colorControlNormal"
|
||||
android:fillColor="#338574"
|
||||
android:strokeColor="#00000000"/>
|
||||
</vector>
|
||||
|
|
|
@ -6,21 +6,21 @@
|
|||
<path
|
||||
android:pathData="M7.8398,6.35C4.2598,6.35 1.1932,9.1672 1.1932,12.7486L1.1932,12.7512L1.2283,40.6182L0.3292,47.2529L12.5553,44.0051L35.9384,44.0051L36.5848,39.4849L11.8923,39.4849L5.6808,41.3618L5.7444,40.9954L5.7097,12.7486C5.7097,11.7821 6.5805,10.866 7.8398,10.866L42.9488,10.866L42.9519,10.866C44.2097,10.8673 45.0794,11.7828 45.0794,12.7486L45.0794,25.7395L49.5954,25.7395L49.5954,12.7481C49.5954,9.1677 46.5305,6.3517 42.9519,6.35L42.9488,6.35L7.8398,6.35zM49.5954,31.4735C45.6685,38.326 43.7215,41.7259 42.4176,44.0051L42.9488,44.0051C46.5288,44.0051 49.5954,41.1842 49.5954,37.6029L49.5954,31.4735z"
|
||||
android:strokeWidth="2.84985"
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:fillColor="#338574"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="m11.5278,32.0849l0,-3.346l7.0363,-3.721q0.3397,-0.1732 0.6551,-0.2596 0.3397,-0.1153 0.6066,-0.1732 0.2912,-0.0288 0.5823,-0.0576l0,-0.2308q-0.2912,-0.0288 -0.5823,-0.1153 -0.2669,-0.0576 -0.6066,-0.1443 -0.3154,-0.1153 -0.6551,-0.2884l-7.0363,-3.721l0,-3.3749l10.8699,5.9132l0,3.6056z"
|
||||
android:strokeWidth="0.525121"
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:fillColor="#338574"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="m10.9661,15.6112l0,4.8516l7.3742,3.9002c0.0157,0.0077 0.0305,0.0128 0.0461,0.0204 -0.0157,0.0077 -0.0305,0.0128 -0.0461,0.0204l-7.3742,3.9002l0,4.8267l0.7961,-0.4333 11.1995,-6.0969l0,-4.463zM12.0931,17.6933 L21.8346,22.9981l0,2.7446l-9.7414,5.2999l0,-1.8679l6.6912,-3.5416 0.0084,-0.0051c0.1961,-0.0992 0.3826,-0.1724 0.5531,-0.2191l0.0127,0l0.0167,-0.0051c0.2034,-0.0691 0.3777,-0.1209 0.5279,-0.1545l1.0684,-0.1046l0,-1.4644l-0.5154,-0.0497c-0.1632,-0.0153 -0.3288,-0.0505 -0.4944,-0.0997l-0.0167,-0.0051 -0.0167,-0.0051c-0.1632,-0.0352 -0.3552,-0.0811 -0.5656,-0.1344 -0.1802,-0.0668 -0.3706,-0.1479 -0.5698,-0.2492l-0.0084,-0.0051 -6.6912,-3.5416z"
|
||||
android:strokeWidth="0.525121"
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:fillColor="#338574"
|
||||
android:strokeColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="m41.6796,15.3498c-4.1394,7.2567 -7.8235,13.7146 -10.2159,17.9374h8.5829l-1.8531,12.962c1.2024,-2.1043 3.8969,-6.8095 10.2878,-17.9601h-8.6543z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:fillColor="#338574"
|
||||
android:strokeColor="#00000000"/>
|
||||
</vector>
|
||||
|
|
|
@ -11,8 +11,7 @@
|
|||
style="@style/CardViewBackground"
|
||||
android:id="@+id/detail_notification_list_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone">
|
||||
android:visibility="gone" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" android:layout_height="0dp" app:layout_constraintBottom_toTopOf="@id/detail_message_bar" app:layout_constraintVertical_bias="0.0">
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/detail_notification_list"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -26,51 +25,120 @@
|
|||
app:layoutManager="LinearLayoutManager"/>
|
||||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
||||
|
||||
<LinearLayout
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/detail_no_notifications" app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent">
|
||||
<ImageView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" app:srcCompat="@drawable/ic_sms_gray_48dp"
|
||||
android:id="@+id/detail_no_notifications_image"/>
|
||||
<TextView
|
||||
android:id="@+id/detail_no_notifications_text"
|
||||
android:text="@string/detail_no_notifications_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
|
||||
android:padding="10dp" android:gravity="center_horizontal"
|
||||
android:paddingStart="50dp" android:paddingEnd="50dp"/>
|
||||
<TextView
|
||||
android:text="@string/detail_how_to_intro"
|
||||
android:layout_height="0dp"
|
||||
android:id="@+id/detail_no_notifications"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent" android:visibility="visible" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toTopOf="@id/detail_message_bar" app:layout_constraintVertical_bias="1.0">
|
||||
<LinearLayout
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/detail_how_to_intro"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginStart="50dp"
|
||||
android:layout_marginEnd="50dp"/>
|
||||
<TextView
|
||||
android:text="@string/detail_how_to_example"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/detail_how_to_example"
|
||||
android:layout_marginTop="7dp"
|
||||
android:layout_marginStart="50dp"
|
||||
android:layout_marginEnd="50dp"/>
|
||||
<TextView
|
||||
android:text="@string/detail_how_to_link"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/detail_how_to_link"
|
||||
android:layout_marginTop="7dp"
|
||||
android:layout_marginStart="50dp"
|
||||
android:layout_marginEnd="50dp"
|
||||
android:linksClickable="true"
|
||||
android:autoLink="web"/>
|
||||
</LinearLayout>
|
||||
android:id="@+id/detail_no_notifications_inner" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent">
|
||||
<ImageView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" app:srcCompat="@drawable/ic_sms_gray_48dp"
|
||||
android:id="@+id/detail_no_notifications_image"/>
|
||||
<TextView
|
||||
android:id="@+id/detail_no_notifications_text"
|
||||
android:text="@string/detail_no_notifications_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
|
||||
android:padding="10dp" android:gravity="center_horizontal"
|
||||
android:paddingStart="50dp" android:paddingEnd="50dp"/>
|
||||
<TextView
|
||||
android:text="@string/detail_how_to_intro"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/detail_how_to_intro"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginStart="50dp"
|
||||
android:layout_marginEnd="50dp"/>
|
||||
<TextView
|
||||
android:text="@string/detail_how_to_example"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/detail_how_to_example"
|
||||
android:layout_marginTop="7dp"
|
||||
android:layout_marginStart="50dp"
|
||||
android:layout_marginEnd="50dp"/>
|
||||
<TextView
|
||||
android:text="@string/detail_how_to_link"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/detail_how_to_link"
|
||||
android:layout_marginTop="7dp"
|
||||
android:layout_marginStart="50dp"
|
||||
android:layout_marginEnd="50dp"
|
||||
android:linksClickable="true"
|
||||
android:autoLink="web"/>
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
style="@style/MessageBarBackground"
|
||||
android:layout_height="64dp"
|
||||
android:layout_width="match_parent"
|
||||
android:id="@+id/detail_message_bar"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintVertical_weight="1"
|
||||
app:layout_constraintTop_toBottomOf="@+id/detail_no_notifications"
|
||||
app:layout_constraintVertical_bias="1.0"
|
||||
android:elevation="10dp"
|
||||
>
|
||||
<androidx.cardview.widget.CardView
|
||||
style="@style/CardView"
|
||||
android:id="@+id/detail_message_box_layout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="52dp"
|
||||
android:layout_marginStart="7dp"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:padding="7dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/detail_message_send_button"
|
||||
android:outlineAmbientShadowColor="@color/gray_600"
|
||||
android:outlineSpotShadowColor="@color/gray_600"
|
||||
app:cardCornerRadius="5dp"
|
||||
app:cardElevation="1dp"
|
||||
app:cardMaxElevation="1dp"
|
||||
app:cardPreventCornerOverlap="true"
|
||||
app:cardUseCompatPadding="true">
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:id="@+id/detail_message_box"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:inputType="text"
|
||||
style="@style/MessageInputText"
|
||||
android:padding="8dp"
|
||||
android:background="@drawable/ic_edittext_background"
|
||||
android:hint="@string/detail_message_bar_hint"
|
||||
/>
|
||||
|
||||
</androidx.cardview.widget.CardView>
|
||||
<com.google.android.material.button.MaterialButton
|
||||
style="@style/Widget.MaterialComponents.Button.Icon"
|
||||
android:id="@+id/detail_message_send_button"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
app:cornerRadius="30dp"
|
||||
android:insetTop="0dp"
|
||||
android:insetBottom="0dp"
|
||||
android:insetLeft="0dp"
|
||||
android:insetRight="0dp"
|
||||
app:icon="@drawable/ic_send_white_24dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/detail_message_box_layout"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:layout_marginEnd="7dp"
|
||||
android:layout_marginBottom="2dp" android:layout_marginTop="3dp"/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
|
@ -1,49 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:orientation="vertical"
|
||||
android:fitsSystemWindows="true"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fitsSystemWindows="true">
|
||||
|
||||
<com.google.android.material.appbar.CollapsingToolbarLayout
|
||||
android:id="@+id/collapsing_toolbar"
|
||||
style="?attr/collapsingToolbarLayoutLargeStyle"
|
||||
android:background="@color/e_background"
|
||||
android:layout_width="match_parent"
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"
|
||||
android:layout_height="?attr/collapsingToolbarLayoutLargeSize">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
app:navigationIcon="@drawable/e_ic_back"
|
||||
app:title="@string/eos_settings_title"
|
||||
android:id="@+id/toolbar"
|
||||
android:background="@color/e_background"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
app:layout_collapseMode="pin" />
|
||||
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fragment_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"/>
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
</LinearLayout>
|
|
@ -8,6 +8,5 @@
|
|||
<item android:id="@+id/main_menu_settings" android:title="@string/main_menu_settings_title"/>
|
||||
<item android:id="@+id/main_menu_docs" android:title="@string/main_menu_docs_title"/>
|
||||
<item android:id="@+id/main_menu_rate" android:title="@string/main_menu_rate_title"/>
|
||||
<item android:id="@+id/main_menu_donate" android:title="@string/main_menu_donate_title"/>
|
||||
<item android:id="@+id/main_menu_report_bug" android:title="@string/main_menu_report_bug_title"/>
|
||||
</menu>
|
||||
|
|
|
@ -2,12 +2,4 @@
|
|||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@mipmap/ic_launcher_background"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<monochrome>
|
||||
<inset
|
||||
android:drawable="@drawable/ic_launcher_monochrome"
|
||||
android:insetLeft="30%"
|
||||
android:insetTop="30%"
|
||||
android:insetRight="30%"
|
||||
android:insetBottom="30%"/>
|
||||
</monochrome>
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -2,12 +2,4 @@
|
|||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@mipmap/ic_launcher_background"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<monochrome>
|
||||
<inset
|
||||
android:drawable="@drawable/ic_launcher_monochrome"
|
||||
android:insetLeft="30%"
|
||||
android:insetTop="30%"
|
||||
android:insetRight="30%"
|
||||
android:insetBottom="30%"/>
|
||||
</monochrome>
|
||||
</adaptive-icon>
|
||||
</adaptive-icon>
|
|
@ -1,71 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_notifications_low_name">أولوية منخفضة</string>
|
||||
<string name="channel_notifications_max_name">الأولوية القصوى</string>
|
||||
<string name="channel_notifications_min_name">الحد الأدنى للأولوية</string>
|
||||
<string name="channel_notifications_low_name">إشعارات (أولوية منخفضة)</string>
|
||||
<string name="channel_notifications_max_name">إشعارات (أعلى أولوية)</string>
|
||||
<string name="channel_notifications_min_name">إشعارات (أدني أولوية)</string>
|
||||
<string name="channel_subscriber_notification_title">الإستماع (إلتقاط) الإشعارات الواردة</string>
|
||||
<string name="channel_notifications_default_name">الأولوية الافتراضية</string>
|
||||
<string name="channel_notifications_default_name">إشعارات (أولوية طبيعية)</string>
|
||||
<string name="channel_subscriber_service_name">خدمة الاشتراك</string>
|
||||
<string name="channel_notifications_high_name">أولوية عليا</string>
|
||||
<string name="channel_notifications_group_default_name">افتراضي</string>
|
||||
<string name="add_dialog_topic_name_hint">اسم الموضوع، على سبيل المثال phil_alerts</string>
|
||||
<string name="add_dialog_use_another_server">استخدم خادمًا آخر</string>
|
||||
<string name="add_dialog_button_cancel">إلغاء</string>
|
||||
<string name="add_dialog_button_subscribe">اشترك</string>
|
||||
<string name="add_dialog_button_back">العودة</string>
|
||||
<string name="add_dialog_button_login">لِج</string>
|
||||
<string name="add_dialog_error_connection_failed">فشل الاتصال: %1$s</string>
|
||||
<string name="detail_clear_dialog_permanently_delete">الحذف بشكل نهائي</string>
|
||||
<string name="detail_clear_dialog_cancel">إلغاء</string>
|
||||
<string name="detail_delete_dialog_cancel">إلغاء</string>
|
||||
<string name="detail_instant_delivery_disabled">التسليم الفوري مُعطَّل</string>
|
||||
<string name="detail_item_menu_cancel">إلغاء التنزيل</string>
|
||||
<string name="detail_item_menu_save_file">حفظ الملف</string>
|
||||
<string name="detail_item_menu_copy_url">إنسخ الرابط</string>
|
||||
<string name="detail_item_menu_copy_contents_copied">تم نسخ الإشعار إلى الحافظة</string>
|
||||
<string name="user_dialog_button_save">حفظ</string>
|
||||
<string name="add_dialog_base_urls_dropdown_choose">اختر عنوان URL للخدمة</string>
|
||||
<string name="add_dialog_login_title">تسجيل الدخول مطلوب</string>
|
||||
<string name="detail_copied_to_clipboard_message">تم نسخه إلى الحافظة</string>
|
||||
<string name="detail_instant_delivery_enabled">التسليم الفوري مُفعَّل</string>
|
||||
<string name="channel_subscriber_notification_instant_text">مشترِك في الإستلام الفوري للمواضيع</string>
|
||||
<string name="add_dialog_login_username_hint">إسم المستخدم</string>
|
||||
<string name="add_dialog_login_new_user">مستخدم جديد</string>
|
||||
<string name="add_dialog_login_password_hint">كلمة المرور</string>
|
||||
<string name="detail_how_to_example">مثال (باستخدام curl): <br/> <tt> $ curl -d \"أهلًا\" %1$s </tt></string>
|
||||
<string name="detail_item_snack_deleted">تم حذف الإشعار</string>
|
||||
<string name="detail_item_snack_undo">إلغاء</string>
|
||||
<string name="detail_item_menu_copy_contents">نسخ الإشعار</string>
|
||||
<string name="detail_item_tags">الوسوم: %1$s</string>
|
||||
<string name="detail_test_message_error">لا يمكن إرسال رسالة: %1$s</string>
|
||||
<string name="detail_no_notifications_text">لم تتلق بعد أية إشعارات حول هذا الموضوع.</string>
|
||||
<string name="detail_delete_dialog_permanently_delete">الحذف بشكل نهائي</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">تم الاشتراك في المواضيع</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">مشترك في موضوعين</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_three">مشترك في ثلاثة مواضيع</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_six">مشترك في ستة مواضيع</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_four">مشترك في أربعة مواضيع</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_five">مشترك في خمسة مواضيع</string>
|
||||
<string name="main_menu_settings_title">الإعدادات</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_one">مشترك في موضوع واحد</string>
|
||||
<string name="main_menu_rate_title">قيم البرنامج ⭐</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">تم الاشتراك في 2 موضوع فوري</string>
|
||||
<string name="refresh_message_result">تم استلام %1$d اشعار(ات)</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">مشترك في %1$d موضوع</string>
|
||||
<string name="main_menu_notifications_enabled">الاشعارات مفعلة</string>
|
||||
<string name="main_menu_notifications_disabled_forever">الاشعارات مكتومة</string>
|
||||
<string name="channel_subscriber_notification_instant_text_six">تم الاشتراك في 6 مواضيع فورية</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">تم الاشتراك في 3 مواضيع فورية</string>
|
||||
<string name="channel_subscriber_notification_instant_text_five">تم الاشتراك في 5 مواضيع فورية</string>
|
||||
<string name="main_menu_notifications_disabled_until">الاشعارات مكتومة حتي %1$s</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">تم الاشتراك في %1$d مواضيع فورية</string>
|
||||
<string name="main_menu_report_bug_title">التبليغ عن خطأ</string>
|
||||
<string name="main_action_bar_title">المواضيع المسجلة</string>
|
||||
<string name="main_action_mode_menu_unsubscribe">الغاء الاشتراك</string>
|
||||
<string name="main_menu_docs_title">اقرا المراجع</string>
|
||||
<string name="refresh_message_no_results">كل شئ محدث لاخر تحديث</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">تم الاشتراك في 1 موضوع فوري</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">تم الاشتراك في 4 مواضيع فورية</string>
|
||||
<string name="main_menu_donate_title">تبرع 💸</string>
|
||||
<string name="settings_title">اﻹعدادات</string>
|
||||
<string name="channel_notifications_high_name">إشعارات (أولوية عالية)</string>
|
||||
</resources>
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_notifications_low_name">Нисък приоритет</string>
|
||||
<string name="channel_notifications_default_name">Подразбиран приоритет</string>
|
||||
<string name="channel_notifications_high_name">Висок приоритет</string>
|
||||
<string name="channel_notifications_max_name">Най-висок приоритет</string>
|
||||
<string name="channel_notifications_low_name">Известия (нисък приоритет)</string>
|
||||
<string name="channel_notifications_default_name">Известия (подразбиран приоритет)</string>
|
||||
<string name="channel_notifications_high_name">Известия (висок приоритет)</string>
|
||||
<string name="channel_notifications_max_name">Известия (максимален приоритет)</string>
|
||||
<string name="channel_subscriber_service_name">Абонаментна услуга</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Има абонамент за теми с незабавно доставяне</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">Има абонамент за три теми с незабавно доставяне</string>
|
||||
|
@ -51,7 +51,7 @@
|
|||
\nПаролите са премахнати, но не са изброени тук.</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_empty">Не са променени никакви теми/имена на хостове. Абонирани ли сте\?</string>
|
||||
<string name="user_dialog_description_add">Тук можете да добавите потребител. Всички теми на сървъра ще използват този потребител.</string>
|
||||
<string name="channel_notifications_min_name">Най-нисък приоритет</string>
|
||||
<string name="channel_notifications_min_name">Известия (минимален приоритет)</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Има абонамент за тема с незабавно доставяне</string>
|
||||
<string name="notification_dialog_muted_forever_toast_message">Известията са заглушени</string>
|
||||
<string name="channel_subscriber_notification_title">Очаква входящи известия</string>
|
||||
|
@ -63,8 +63,8 @@
|
|||
<string name="main_menu_notifications_disabled_until">Известията са заглушени до %1$s</string>
|
||||
<string name="detail_menu_notifications_disabled_until">Известията са заглушени до %1$s</string>
|
||||
<string name="main_how_to_intro">Докоснете бутона с +, за да създадете тема или да се абонирате. След това ще получавате известия на устройството си, след като изпратите съобщения чрез метода PUT или POST.</string>
|
||||
<string name="detail_how_to_intro">За да изпратите известия в тази тема направете заявка чрез методите PUT или POST към адреса й.</string>
|
||||
<string name="detail_no_notifications_text">Липсват известия в темата</string>
|
||||
<string name="detail_how_to_intro">За да изпратите известия в тази тема, просто изпратете PUT или POST към адреса й.</string>
|
||||
<string name="detail_no_notifications_text">В момента в темата няма известия</string>
|
||||
<string name="settings_general_default_base_url_message">За да използвате по подразбиране собствен сървър при абониране за нови теми и/или споделяне на теми, въведете адрес на сървъра.</string>
|
||||
<string name="notification_dialog_muted_until_toast_message">Известията са заглушени до %1$s</string>
|
||||
<string name="settings_advanced_export_logs_summary">Дневниците се копират в междинната памет или се изпращат към nopaste.net (собственост на автора на ntfy). Имената на хостовете и темите могат да бъдат цензурирани, но съдържанието на известията никога.</string>
|
||||
|
@ -80,7 +80,7 @@
|
|||
<string name="main_action_mode_delete_dialog_permanently_delete">Премахване</string>
|
||||
<string name="main_item_status_unified_push">%1$s (UnifiedPush)</string>
|
||||
<string name="main_item_status_reconnecting">свързване…</string>
|
||||
<string name="main_no_subscriptions_text">Липсват абонаменти</string>
|
||||
<string name="main_no_subscriptions_text">В момента няма абонаменти</string>
|
||||
<string name="main_unified_push_toast">Този абонамент се управлява от %1$s чрез UnifiedPush</string>
|
||||
<string name="add_dialog_button_cancel">Отказ</string>
|
||||
<string name="add_dialog_button_subscribe">Абониране</string>
|
||||
|
@ -142,12 +142,12 @@
|
|||
\n%3$s</string>
|
||||
<string name="settings_title">Настройки</string>
|
||||
<string name="settings_notifications_header">Известия</string>
|
||||
<string name="settings_notifications_min_priority_title">Най-нисък приоритет</string>
|
||||
<string name="settings_notifications_min_priority_title">Mинимален приоритет</string>
|
||||
<string name="settings_notifications_min_priority_min">Всички</string>
|
||||
<string name="settings_notifications_min_priority_low">Нисък приоритет и по-висок</string>
|
||||
<string name="settings_notifications_min_priority_default">Подразбиран приоритет и по-висок</string>
|
||||
<string name="settings_notifications_min_priority_high">Висок приоритет и по-висок</string>
|
||||
<string name="settings_notifications_min_priority_max">Само най-висок приоритет</string>
|
||||
<string name="settings_notifications_min_priority_max">Само максимален приоритет</string>
|
||||
<string name="settings_notifications_min_priority_summary_max">Показват се известията с приоритет 5 (най-висок)</string>
|
||||
<string name="settings_notifications_min_priority_summary_any">Показват се всички известия</string>
|
||||
<string name="settings_notifications_auto_delete_never">Никога</string>
|
||||
|
@ -237,7 +237,7 @@
|
|||
<string name="notification_popup_file_download_failed">%1$s
|
||||
\nФайл: %2$s, неуспешно изтеглен</string>
|
||||
<string name="settings_notifications_auto_download_title">Изтегляне на прикачени файлове</string>
|
||||
<string name="settings_notifications_auto_delete_title">Автоматично премахване</string>
|
||||
<string name="settings_notifications_auto_delete_title">Премахване на известия</string>
|
||||
<string name="settings_notifications_auto_download_summary_always">Прикачените файлове се изтеглят автоматично</string>
|
||||
<string name="settings_notifications_auto_download_summary_never">Прикачените файлове не се изтеглят автоматично</string>
|
||||
<string name="settings_notifications_auto_download_summary_smaller_than_x">Прикачените файлове до %1$s се изтеглят автоматично</string>
|
||||
|
@ -293,10 +293,10 @@
|
|||
<string name="detail_item_download_info_download_failed_expires_x">грешка при изтегляне, валидността изтича на %1$s</string>
|
||||
<string name="share_content_image_error">Изображението не може да бъде отворено: %1$s</string>
|
||||
<string name="share_content_file_error">Информацията за файла не може да бъде прочетена: %1$s</string>
|
||||
<string name="settings_notifications_priority_min">най-нисък</string>
|
||||
<string name="settings_notifications_priority_min">минимален</string>
|
||||
<string name="settings_notifications_priority_low">нисък</string>
|
||||
<string name="settings_notifications_priority_default">подразбиран</string>
|
||||
<string name="settings_notifications_priority_max">най-висок</string>
|
||||
<string name="settings_notifications_priority_max">максимален</string>
|
||||
<string name="settings_notifications_priority_high">висок</string>
|
||||
<string name="detail_deep_link_subscribed_toast_message">Абонирани сте за темата %1$s</string>
|
||||
<string name="settings_notifications_channel_prefs_summary">Отмяна на „Не безпокойте“, звуци и т.н.</string>
|
||||
|
@ -327,20 +327,4 @@
|
|||
<string name="detail_settings_about_header">Относно</string>
|
||||
<string name="detail_settings_about_topic_url_title">Адрес на темата</string>
|
||||
<string name="detail_settings_about_topic_url_copied_to_clipboard_message">Копирано в междинната памет</string>
|
||||
<string name="main_menu_donate_title">Даряване 💸</string>
|
||||
<string name="detail_item_cannot_open_apk">Ntfy не може да инсталира получени приложения. Вместо това изтеглете чрез браузъра. За подробности вижте дефект №531.</string>
|
||||
<string name="channel_notifications_group_default_name">Подразбирани</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Потребителски настройки за известия</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Използва потребителски настройки за този абонамент</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Продължително сигнализиране за най-високия приоритет</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Известията с най-висок приоритет сигнализират веднъж</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Настройки на известията</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Продължително сигнализиране</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Отмяна на „Не безпокойте“, звуци и т.н.</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Единично сигнализиране</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Подразбирани настройки (отмяна на „Не безпокойте“, звуци и т.н.)</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Известията с най-висок приоритет сигнализират, докато не бъдат затворени</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy ще работи като дистрибутор на UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_title">Включване на UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy няма да работи като дистрибутор на UnifiedPush</string>
|
||||
</resources>
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_notifications_low_name">কম গুরুত্ব</string>
|
||||
<string name="channel_notifications_min_name">সর্বনিম্ন গুরুত্ব</string>
|
||||
<string name="channel_notifications_default_name">স্বাভাবিক গুরুত্ব</string>
|
||||
<string name="channel_notifications_max_name">সর্বোচ্চ্য গুরুত্ব</string>
|
||||
<string name="channel_notifications_group_default_name">স্বাভাবিক</string>
|
||||
<string name="channel_notifications_high_name">বেশি গুরুত্ব</string>
|
||||
<string name="channel_subscriber_notification_title">আগত নোটিফিকেশন এর জন্য অপেক্ষা করা হচ্ছে</string>
|
||||
<string name="channel_subscriber_notification_instant_text">তাত্ক্ষণিক পাওয়া বিষয়গুলোতে যোগ দেওয়া হয়েছে</string>
|
||||
</resources>
|
|
@ -1,346 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_notifications_min_name">Prioritat mínima</string>
|
||||
<string name="channel_notifications_low_name">Prioritat baixa</string>
|
||||
<string name="channel_notifications_default_name">Prioritat per defecte</string>
|
||||
<string name="channel_notifications_high_name">Prioritat alta</string>
|
||||
<string name="channel_notifications_max_name">Prioritat màxima</string>
|
||||
<string name="channel_notifications_min_name">Notificacions (prioritat min)</string>
|
||||
<string name="channel_notifications_low_name">Notificacions (prioritat min)</string>
|
||||
<string name="channel_notifications_default_name">Notificacions (prioritat defecte)</string>
|
||||
<string name="channel_notifications_high_name">Notificacions (alta prioritat)</string>
|
||||
<string name="channel_notifications_max_name">Notificacions (prioritat màx)</string>
|
||||
<string name="channel_subscriber_service_name">Servei Subscripció</string>
|
||||
<string name="main_menu_donate_title">Donar 💸</string>
|
||||
<string name="main_item_status_reconnecting">reconnectant…</string>
|
||||
<string name="channel_subscriber_notification_title">Escoltant notificacions entrants</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Subscrit per entrega instantània de temes</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Subscrit per entrega instantània d\'un tema</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Subscrit per dues entregues instantànies de temes</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">Subscrit per tres entregues instantànies de temes</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">Subscrit per quatre entregues instantànies de temes</string>
|
||||
<string name="channel_subscriber_notification_instant_text_five">Subscrit per cinc entregues instantànies de temes</string>
|
||||
<string name="channel_subscriber_notification_instant_text_six">Subscrit per sis entregues instantànies de temes</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">Subscrit per %1$d entregues instantànies de temes</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">Subscrit als temes</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_one">Subscrit a un tema</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">Subscrit a dos temes</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_three">Subscrit a tres temes</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_six">Subscrit a sis temes</string>
|
||||
<string name="main_action_mode_delete_dialog_permanently_delete">Eliminat permanentment</string>
|
||||
<string name="main_action_mode_delete_dialog_cancel">Cancel·lar</string>
|
||||
<string name="main_item_status_text_one">%1$d notificació</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">Subscrit a %1$d temes</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_four">Subscrit a quatre temes</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_five">Subscrit a cinc temes</string>
|
||||
<string name="refresh_message_result">%1$d notificacions rebudes</string>
|
||||
<string name="refresh_message_no_results">Tot està actualitzat</string>
|
||||
<string name="refresh_message_error">No es poden actualitzar %1$d subscripciones
|
||||
\n
|
||||
\n%2$s</string>
|
||||
<string name="refresh_message_error_one">No s\'ha pogut actualitzar la subscripció: %1$s</string>
|
||||
<string name="main_action_bar_title">Temes subscrits</string>
|
||||
<string name="main_menu_notifications_enabled">Notificacions activades</string>
|
||||
<string name="main_menu_notifications_disabled_forever">Notificacions silenciades</string>
|
||||
<string name="main_menu_notifications_disabled_until">Notificacions silenciades fins: %1$s</string>
|
||||
<string name="main_menu_settings_title">Ajustos</string>
|
||||
<string name="main_menu_report_bug_title">Reportar un problema</string>
|
||||
<string name="main_menu_docs_title">Llegir la documentació</string>
|
||||
<string name="main_menu_rate_title">Valora la aplicació ⭐</string>
|
||||
<string name="main_action_mode_menu_unsubscribe">Donar-se de baixa</string>
|
||||
<string name="main_action_mode_delete_dialog_message">Donar-se de baixa del tema(es) seleccionat(s) permanentment i eliminar totes les notificacions\?</string>
|
||||
<string name="main_item_status_text_not_one">%1$d notificacions</string>
|
||||
<string name="channel_notifications_group_default_name">Per defecte</string>
|
||||
<string name="main_item_date_yesterday">ahir</string>
|
||||
<string name="main_add_button_description">Afegir subscripció</string>
|
||||
<string name="main_how_to_intro">Prem + per crear o subscriure\'t a un tema. Després rebràs notificacions al teu dispositiu quan enviïs missatges mitjançant PUT o POST.</string>
|
||||
<string name="main_no_subscriptions_text">Sembla que encara no tens cap subscripció.</string>
|
||||
<string name="main_banner_battery_text">L\'optimització de la bateria hauria de ser desactivada per tal d\'evitar problemes amb l\'entrega de notificacions.</string>
|
||||
<string name="main_banner_websocket_button_dismiss">Descartar</string>
|
||||
<string name="detail_test_message_error_unauthorized_anon">No es pot enviar el missatge: No es permeten publicacions anònimes.</string>
|
||||
<string name="detail_instant_delivery_disabled">Entrega instantània desactivada</string>
|
||||
<string name="detail_item_menu_copy_contents">Copiar la notificació</string>
|
||||
<string name="detail_item_menu_copy_contents_copied">Notificació copiada al porta-retalls</string>
|
||||
<string name="detail_menu_test">Enviar notificació de prova</string>
|
||||
<string name="notification_dialog_save">Guardar</string>
|
||||
<string name="main_banner_battery_button_remind_later">Preguntar més endavant</string>
|
||||
<string name="main_banner_battery_button_dismiss">Descartar</string>
|
||||
<string name="main_banner_battery_button_fix_now">Arreglar ara</string>
|
||||
<string name="main_banner_websocket_button_remind_later">Preguntar més endavant</string>
|
||||
<string name="add_dialog_button_back">Enrere</string>
|
||||
<string name="add_dialog_title">Subscriure\'s a un tema</string>
|
||||
<string name="detail_deep_link_subscribed_toast_message">Subscrit al tema %1$s</string>
|
||||
<string name="detail_item_tags">Etiquetes: %1$s</string>
|
||||
<string name="detail_test_message_error_too_large">No es pot enviar el missatge: L\'adjunt és massa gran.</string>
|
||||
<string name="detail_item_snack_undo">Desfer</string>
|
||||
<string name="detail_item_menu_delete">Elimina arxiu</string>
|
||||
<string name="detail_item_menu_download">Descarrega l\'arxiu</string>
|
||||
<string name="detail_item_menu_cancel">Cancel·la la descàrrega</string>
|
||||
<string name="detail_item_menu_copy_url">Copiar la URL</string>
|
||||
<string name="detail_item_menu_copy_url_copied">URL copiada al porta-retalls</string>
|
||||
<string name="detail_item_cannot_open_url">No es pot obrir la URL: %1$s</string>
|
||||
<string name="detail_item_cannot_save">No es pot guardar l\'adjunt: %1$s</string>
|
||||
<string name="detail_item_cannot_delete">No es pot eliminar l\'adjunt: %1$s</string>
|
||||
<string name="detail_action_mode_menu_delete">Eliminar</string>
|
||||
<string name="detail_action_mode_delete_dialog_permanently_delete">Eliminar definitivament</string>
|
||||
<string name="detail_action_mode_delete_dialog_cancel">Cancel·lar</string>
|
||||
<string name="detail_settings_title">Configuració de la subscripció</string>
|
||||
<string name="share_title">Compartir</string>
|
||||
<string name="share_menu_send">Compartir</string>
|
||||
<string name="share_content_image_error">No es pot llegir la imatge: %1$s</string>
|
||||
<string name="share_content_image_text">S\'ha compartit una imatge amb tu</string>
|
||||
<string name="share_content_file_text">S\'ha compartit un arxiu amb tu</string>
|
||||
<string name="share_content_file_error">No es pot llegir la informació de l\'arxiu: %1$s</string>
|
||||
<string name="share_topic_title">Compartir amb</string>
|
||||
<string name="share_successful">Missatge publicat</string>
|
||||
<string name="detail_test_title">Test: Pots definir un títol.</string>
|
||||
<string name="detail_test_message">Això es una notificació de prova de l\'aplicació per Android de ntfy. Té un nivell de prioritat %1$d. Si n\'envies una altra, pot ser diferent.</string>
|
||||
<string name="detail_test_message_error">No es pot enviar el missatge: %1$s</string>
|
||||
<string name="detail_test_message_error_unauthorized_user">No es pot enviar el missatge: L\'usuari \"%1$s\" no està autoritzat.</string>
|
||||
<string name="detail_copied_to_clipboard_message">Copiat al porta-retalls</string>
|
||||
<string name="detail_item_snack_deleted">Notificació eliminada</string>
|
||||
<string name="detail_item_menu_open">Obre arxiu</string>
|
||||
<string name="detail_item_menu_save_file">Guardar l\'arxiu</string>
|
||||
<string name="detail_item_cannot_download">No es pot obrir o descarregar l\'adjunt. L\'enllaç ha caducat i no es pot trobar un arxiu local.</string>
|
||||
<string name="detail_item_download_failed">No s\'ha pogut descarregar l\'adjunt: %1$s</string>
|
||||
<string name="detail_item_download_info_not_downloaded">no descarregat</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expired">no descarregat, enllaç caducat</string>
|
||||
<string name="detail_item_download_info_downloading_x_percent">%1$d%% descarregat</string>
|
||||
<string name="detail_item_download_info_deleted">eliminat</string>
|
||||
<string name="detail_item_download_info_deleted_expired">eliminat, enllaç caducat</string>
|
||||
<string name="add_dialog_topic_name_hint">Nom del tema, p. ex. alertes_josep</string>
|
||||
<string name="add_dialog_base_urls_dropdown_clear">Esborra URL de servei</string>
|
||||
<string name="detail_no_notifications_text">Encara no has rebut cap notificació en aquest tema.</string>
|
||||
<string name="detail_how_to_intro">Per enviar notificacions en aquest tema, fes PUT o POST a la URL del tema.</string>
|
||||
<string name="detail_how_to_example">Exemple (usant curl):<br/><tt>$ curl -d \"Hola\" %1$s</tt></string>
|
||||
<string name="main_unified_push_toast">Aquesta subscripció és gestionada per %1$s via UnifiedPush</string>
|
||||
<string name="main_how_to_link">Instruccions detallades disponibles a ntfy.sh i a la documentació.</string>
|
||||
<string name="main_banner_websocket_text">WebSockets és el mètode recomanat per connectar-te al teu servidor. Pot millorar el rendiment de la bateria, però pot requerir <a href="https://ntfy.sh/docs/config/#nginxapache2caddy">configuració addicional al teu proxy</a>. Aquesta opció pot ser habil·litada a Configuració.</string>
|
||||
<string name="main_banner_websocket_button_enable_now">Activar ara</string>
|
||||
<string name="add_dialog_description_below">Els temes poden no estar protegits per contrasenya, tria un nom difícil d\'endevinar. Un cop subscrit podràs publicar notificacions PUT/POST.</string>
|
||||
<string name="add_dialog_use_another_server">Usar un altre servidor</string>
|
||||
<string name="add_dialog_use_another_server_description">Introdueix URLs a sota per subscriure\'t a temes d\'altres servidors.</string>
|
||||
<string name="add_dialog_instant_delivery_description">Assegura que els missatges s\'entreguin immediatament, fins i tot amb el dispositiu inactiu.</string>
|
||||
<string name="add_dialog_button_cancel">Cancel·lar</string>
|
||||
<string name="add_dialog_instant_delivery">Entrega instantània en mode Descans</string>
|
||||
<string name="add_dialog_foreground_description">L\'entrega instantània sempre està activada per a amfitrions diferents de %1$s.</string>
|
||||
<string name="add_dialog_button_subscribe">Subscriure</string>
|
||||
<string name="add_dialog_button_login">Entrar</string>
|
||||
<string name="add_dialog_error_connection_failed">Connexió fallida: %1$s</string>
|
||||
<string name="add_dialog_login_title">Inici de sessió necessari</string>
|
||||
<string name="add_dialog_login_description">Aquest tema necessita que iniciïs sessió. Introdueix nom d\'usuari i contrasenya.</string>
|
||||
<string name="add_dialog_login_username_hint">Nom d\'usuari</string>
|
||||
<string name="add_dialog_login_password_hint">Contrasenya</string>
|
||||
<string name="add_dialog_login_error_not_authorized">Inici de sessió fallit. L\'usuari %1$s no està autoritzat.</string>
|
||||
<string name="add_dialog_login_new_user">Nou usuari</string>
|
||||
<string name="add_dialog_base_urls_dropdown_choose">Tria URL de servei</string>
|
||||
<string name="detail_how_to_link">Instruccions detallades disponibles a ntfy.sh i a la documentació.</string>
|
||||
<string name="detail_clear_dialog_message">Vols esborrar totes les notificacions d\'aquest tema\?</string>
|
||||
<string name="detail_clear_dialog_permanently_delete">Eliminar definitivament</string>
|
||||
<string name="detail_clear_dialog_cancel">Cancel·lar</string>
|
||||
<string name="detail_delete_dialog_message">Vols eliminar la subscripció a aquest tema i totes les notificacions\?</string>
|
||||
<string name="detail_delete_dialog_permanently_delete">Eliminar definitivament</string>
|
||||
<string name="detail_delete_dialog_cancel">Cancel·lar</string>
|
||||
<string name="detail_instant_delivery_enabled">Entrega instantània activada</string>
|
||||
<string name="detail_item_saved_successfully">Guardat amb el nom \"%1$s\" a la carpeta \"Downloads\"</string>
|
||||
<string name="detail_item_cannot_open">No es pot obrir l\'adjunt: %1$s</string>
|
||||
<string name="detail_item_cannot_open_not_found">No es pot obrir l\'adjunt: L\'arxiu pot haver estat eliminat, o potser cap aplicació instal·lada el pot obrir.</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expires_x">no descarregat, caduca al %1$s</string>
|
||||
<string name="detail_item_download_info_deleted_expires_x">eliminat, l\'enllaç caduca al %1$s</string>
|
||||
<string name="detail_item_download_info_download_failed_expires_x">descàrrega fallida, l\'enllaç caduca el %1$s</string>
|
||||
<string name="detail_menu_disable_instant">Desactivar entrega instantània</string>
|
||||
<string name="detail_menu_copy_url">Copiar adreça del tema</string>
|
||||
<string name="detail_item_download_info_download_failed">descàrrega fallida</string>
|
||||
<string name="detail_menu_notifications_enabled">Notificacions activades</string>
|
||||
<string name="detail_menu_clear">Eliminar totes les notificacions</string>
|
||||
<string name="detail_menu_settings">Configuració de la subscripció</string>
|
||||
<string name="detail_item_download_info_download_failed_expired">descàrrega fallida, enllaç caducat</string>
|
||||
<string name="detail_menu_notifications_disabled_forever">Notificacions silenciades</string>
|
||||
<string name="share_suggested_topics">Temes suggerits</string>
|
||||
<string name="notification_dialog_title">Silenciar notificacions</string>
|
||||
<string name="detail_menu_notifications_disabled_until">Notificacions silenciades fins %1$s</string>
|
||||
<string name="notification_dialog_cancel">Cancel·lar</string>
|
||||
<string name="detail_menu_enable_instant">Activar entrega instantània</string>
|
||||
<string name="detail_item_cannot_open_apk">Les aplicacions ja no poden ser instal·lades. Descarrega-les a través del navegador. Pots trobar més detalls a #531.</string>
|
||||
<string name="detail_menu_unsubscribe">Eliminar subscripció</string>
|
||||
<string name="detail_action_mode_menu_copy">Copiar</string>
|
||||
<string name="detail_action_mode_delete_dialog_message">Eliminar definitivament la notificació\?</string>
|
||||
<string name="share_content_title">Vista prèvia del missatge</string>
|
||||
<string name="share_content_text_hint">Afegeix contingut per compartir aquí</string>
|
||||
<string name="notification_dialog_enabled_toast_message">Notificacions reactivades</string>
|
||||
<string name="notification_dialog_muted_forever_toast_message">Notificacions silenciades</string>
|
||||
<string name="notification_dialog_muted_until_toast_message">Notificacions silenciades fins a %1$s</string>
|
||||
<string name="notification_dialog_show_all">Mostrar totes les notificacions</string>
|
||||
<string name="notification_dialog_30min">30 minuts</string>
|
||||
<string name="notification_dialog_1h">1 hora</string>
|
||||
<string name="notification_dialog_2h">2 hores</string>
|
||||
<string name="notification_dialog_8h">8 hores</string>
|
||||
<string name="notification_dialog_tomorrow">Fins demà</string>
|
||||
<string name="notification_dialog_forever">Fins que es reactivi</string>
|
||||
<string name="settings_notifications_header">Notificacions</string>
|
||||
<string name="settings_notifications_min_priority_title">Prioritat mínima</string>
|
||||
<string name="settings_notifications_min_priority_summary_any">Mostrant totes les notificacions</string>
|
||||
<string name="settings_notifications_min_priority_summary_x_or_higher">Mostrar notificacions de prioritat %1$d (%2$s) o superior</string>
|
||||
<string name="settings_notifications_min_priority_summary_max">Mostrar notificacions si la prioritat és 5 (màxima)</string>
|
||||
<string name="settings_notifications_priority_low">baixa</string>
|
||||
<string name="settings_notifications_priority_default">normal</string>
|
||||
<string name="settings_notifications_priority_high">alta</string>
|
||||
<string name="settings_notifications_priority_min">mín</string>
|
||||
<string name="settings_notifications_priority_max">màx</string>
|
||||
<string name="settings_notifications_channel_prefs_title">Configuració de canal</string>
|
||||
<string name="settings_notifications_channel_prefs_summary">Sobreescriure No Molestar, sons, etc.</string>
|
||||
<string name="settings_notifications_auto_download_title">Descarregar adjunts</string>
|
||||
<string name="settings_notifications_auto_download_summary_always">Descarregar automàticament tots els adjunts</string>
|
||||
<string name="settings_notifications_auto_download_summary_smaller_than_x">Descarregar automàticament adjunts fins a %1$s</string>
|
||||
<string name="settings_notifications_auto_download_never">No descarregar mai res automàticament</string>
|
||||
<string name="settings_notifications_auto_download_always">Descarregar automàticament tot</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_week">Eliminar automàticament les notificacions al cap d\'una setmana</string>
|
||||
<string name="settings_notifications_auto_delete_one_day">Al cap d\'un dia</string>
|
||||
<string name="settings_notifications_auto_delete_never">Mai</string>
|
||||
<string name="settings_notifications_auto_delete_three_days">Al cap de 3 dies</string>
|
||||
<string name="settings_notifications_auto_delete_one_week">Al cap d\'una setmana</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Mantenir alertes per prioritat màxima</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Alertar contínuament de les notificacions de prioritat màxima fins que es descartin</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Alertar un sol cop per notificacions de prioritat màxima</string>
|
||||
<string name="settings_general_default_base_url_title">Servidor predeterminat</string>
|
||||
<string name="settings_general_default_base_url_message">Introdueix la URL base del teu servidor per usar-lo com a predeterminat a l\'hora de subscriure\'t a nous temes o compartir a temes.</string>
|
||||
<string name="settings_general_default_base_url_default_summary">%1$s (predeterminat)</string>
|
||||
<string name="settings_general_users_title">Gestionar usuaris</string>
|
||||
<string name="settings_general_users_prefs_user_add">Afegir usuaris</string>
|
||||
<string name="settings_general_users_prefs_user_add_title">Afegir nou usuari</string>
|
||||
<string name="settings_general_users_prefs_user_add_summary">Crear nou usuari per a un nou servidor</string>
|
||||
<string name="settings_general_dark_mode_summary_system">Usant el predeterminat del sistema</string>
|
||||
<string name="settings_general_dark_mode_summary_light">Mode clar activat</string>
|
||||
<string name="settings_general_dark_mode_summary_dark">Mode fosc activat. Que ets un vampir\?</string>
|
||||
<string name="settings_general_dark_mode_entry_system">Usar predeterminat del sistema</string>
|
||||
<string name="settings_backup_restore_backup_summary">Exportar configuració, notificacions i usuaris</string>
|
||||
<string name="settings_backup_restore_restore_title">Recuperar des d\'arxiu</string>
|
||||
<string name="settings_backup_restore_restore_summary">Importar configuració, notificacions i usuaris</string>
|
||||
<string name="settings_general_dark_mode_entry_light">Mode clar</string>
|
||||
<string name="settings_backup_restore_restore_failed">Recuperació fallida: %1$s</string>
|
||||
<string name="settings_advanced_header">Avançat</string>
|
||||
<string name="settings_advanced_broadcast_title">Publicar missatges</string>
|
||||
<string name="settings_advanced_broadcast_summary_enabled">Les aplicacions poden rebre notificacions d\'entrada com a missatges</string>
|
||||
<string name="settings_advanced_record_logs_summary_enabled">Gravant (fins a 1000 entrades) al dispositiu…</string>
|
||||
<string name="settings_advanced_export_logs_title">Copiar/carregar registres</string>
|
||||
<string name="settings_advanced_export_logs_summary">Copiar registres al porta-retalls, o carregar-los a nopaste.net (propietat de l\'autor de ntfy). Els noms de host i els temes poden ser censurats, les notificacions mai.</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_original">Copiar al porta-retalls</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_scrubbed">Copiar al porta-retalls (censurat)</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Usant configuració predeterminada (sons, sobreescriure No Molestar, etc.)</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Configuració de notificacions</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Sobreescriure No Molestar, sons, etc.</string>
|
||||
<string name="detail_settings_appearance_icon_error_saving">No s\'ha pogut guardar la icona: %1$s</string>
|
||||
<string name="detail_settings_appearance_display_name_title">Nom</string>
|
||||
<string name="detail_settings_appearance_display_name_message">Tria un nom personalitzat per a aquesta subscripció. Deixa en blanc per usar el predeterminat (%1$s).</string>
|
||||
<string name="detail_settings_appearance_display_name_default_summary">%1$s (predeterminat)</string>
|
||||
<string name="detail_settings_global_setting_title">Usar configuració global</string>
|
||||
<string name="detail_settings_global_setting_suffix">usant configuració global</string>
|
||||
<string name="detail_settings_about_topic_url_title">URL del tema</string>
|
||||
<string name="detail_settings_about_topic_url_copied_to_clipboard_message">Copiat al porta-retalls</string>
|
||||
<string name="user_dialog_title_add">Afegir usuari</string>
|
||||
<string name="user_dialog_description_edit">Pots editar el nom d\'usuari o la contrasenya de l\'usuari seleccionat, o eliminar-lo.</string>
|
||||
<string name="user_dialog_base_url_hint">URL de servei</string>
|
||||
<string name="main_item_status_unified_push">%1$s (UnifiedPush)</string>
|
||||
<string name="settings_notifications_auto_delete_one_month">Al cap d\'un mes</string>
|
||||
<string name="settings_general_users_prefs_title">Usuaris</string>
|
||||
<string name="settings_general_users_prefs_user_not_used">No usat per cap tema</string>
|
||||
<string name="settings_general_dark_mode_title">Mode fosc</string>
|
||||
<string name="settings_advanced_connection_protocol_title">Protocol de connexió</string>
|
||||
<string name="notification_popup_file_downloading">Descarregant %1$s, %2$d%%
|
||||
\n%3$s</string>
|
||||
<string name="settings_title">Configuració</string>
|
||||
<string name="settings_notifications_muted_until_show_all">Mostrant totes les notificacions</string>
|
||||
<string name="settings_notifications_muted_until_forever">Notificacions silenciades fins que es reactivin</string>
|
||||
<string name="settings_notifications_muted_until_x">Notificacions silenciades fins %1$s</string>
|
||||
<string name="settings_notifications_min_priority_min">Qualsevol prioritat</string>
|
||||
<string name="settings_notifications_min_priority_low">Prioritat baixa i superiors</string>
|
||||
<string name="settings_notifications_min_priority_max">Només prioritat màxima</string>
|
||||
<string name="settings_advanced_unifiedpush_title">Activar UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy actuarà com a distribuidor de UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy no actuarà com a distribuidor de UnifiedPush</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">Activar registre per poder compartir-lo més endavant per resoldre problemes.</string>
|
||||
<string name="settings_advanced_clear_logs_title">Eliminar registres</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_scrubbed">Carregar i copiar enllaç (censurat)</string>
|
||||
<string name="settings_advanced_clear_logs_summary">Eliminar registres i tornar a començar</string>
|
||||
<string name="settings_advanced_clear_logs_deleted_toast">Registres eliminats</string>
|
||||
<string name="settings_advanced_export_logs_copied_logs">Registres copiats al porta-retalls</string>
|
||||
<string name="settings_advanced_export_logs_uploading">Carregant registre…</string>
|
||||
<string name="settings_advanced_export_logs_copied_url">Registres carregats i URL copiada</string>
|
||||
<string name="settings_advanced_export_logs_error_uploading">Ha fallat la càrrega de registres: %1$s</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_jsonhttp">Usa un flux JSON a través d\'HTTP per tal de connectar-te al servidor. Aquest mètode és robust, però pot consumir molta bateria.</string>
|
||||
<string name="settings_about_version_title">Versió</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_ws">Usa WebSockets per connectar al servidor. Aquest és el mètode recomanat, però pot necessitar configuració addicional al teu proxy.</string>
|
||||
<string name="settings_about_version_format">ntfy %1$s (%2$s)</string>
|
||||
<string name="detail_settings_notifications_instant_title">Entrega instantània</string>
|
||||
<string name="detail_settings_notifications_instant_summary_on">Les notificacions s\'entreguen instantàniament. Requereix d\'un servei en primer pla i consumeix molta bateria.</string>
|
||||
<string name="detail_settings_notifications_instant_summary_off">Les notificacions s\'entreguen usant FireBase. L\'entrega es pot retardar, però consumeix menys bateria.</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Configuració personalitzada de notificacions</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Usant configuració personalitzada en aquesta subscripció</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Mantenir alertes</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Alertar un sol cop</string>
|
||||
<string name="detail_settings_appearance_icon_set_title">Icona de subscripció</string>
|
||||
<string name="detail_settings_about_header">Quant a</string>
|
||||
<string name="detail_settings_appearance_icon_remove_title">Icona de subscripció (prem per eliminar)</string>
|
||||
<string name="user_dialog_title_edit">Editar usuari</string>
|
||||
<string name="user_dialog_description_add">Pots afegir un usuari aquí. Tots els temes del servidor usaran aquest usuari.</string>
|
||||
<string name="user_dialog_username_hint">Nom d\'usuari</string>
|
||||
<string name="user_dialog_button_cancel">Cancel·lar</string>
|
||||
<string name="notification_popup_action_open">Obrir</string>
|
||||
<string name="notification_popup_action_browse">Explorar</string>
|
||||
<string name="notification_popup_action_download">Descarregar</string>
|
||||
<string name="notification_popup_action_cancel">Cancel·lar</string>
|
||||
<string name="notification_popup_file">%1$s
|
||||
\nArxiu: %2$s</string>
|
||||
<string name="notification_popup_file_download_successful">%1$s
|
||||
\nArxiu: %2$s, descarregat</string>
|
||||
<string name="notification_popup_file_download_failed">%1$s
|
||||
\nArxiu: %2$s, descàrrega fallida</string>
|
||||
<string name="notification_popup_user_action_failed">%1$s fallida: %2$s</string>
|
||||
<string name="settings_notifications_muted_until_title">Silenciar notificacions</string>
|
||||
<string name="settings_notifications_min_priority_default">Prioritat normal i superiors</string>
|
||||
<string name="settings_notifications_min_priority_high">Prioritat alta i superiors</string>
|
||||
<string name="settings_notifications_auto_download_100k">Si inferior a 100 kB</string>
|
||||
<string name="settings_notifications_auto_download_500k">Si inferior a 500 kB</string>
|
||||
<string name="settings_notifications_auto_download_1m">Si inferior a 1 MB</string>
|
||||
<string name="settings_notifications_auto_download_5m">Si inferior a 5 MB</string>
|
||||
<string name="settings_notifications_auto_download_10m">Si inferior a 10 MB</string>
|
||||
<string name="settings_notifications_auto_download_50m">Si inferior a 50 MB</string>
|
||||
<string name="settings_notifications_auto_delete_title">Eliminar notificacions</string>
|
||||
<string name="settings_notifications_auto_delete_summary_never">No eliminar mai les notificacions automàticament</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_day">Eliminar les notificacions automàticament al cap d\'un dia</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_days">Eliminar automàticament les notificacions al cap de tres dies</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_month">Eliminar automàticament les notificacions al cap d\'un mes</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_months">Eliminar automàticament les notificacions al cap de 3 mesos</string>
|
||||
<string name="settings_notifications_auto_delete_three_months">Al cap de 3 mesos</string>
|
||||
<string name="settings_general_header">General</string>
|
||||
<string name="settings_general_users_summary">Afegir/eliminar usuaris a temes protegits</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_one">Usat pel tema %1$s</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_many">Usat pels temes %1$s</string>
|
||||
<string name="settings_general_dark_mode_entry_dark">Mode fosc</string>
|
||||
<string name="settings_backup_restore_header">Còpia de seguretat & Restauració</string>
|
||||
<string name="settings_backup_restore_backup_title">Fer còpia de seguretat en arxiu</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything">Tot</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything_no_users">Tot, excepte usuaris</string>
|
||||
<string name="settings_backup_restore_backup_entry_settings_only">Només configuració</string>
|
||||
<string name="settings_backup_restore_backup_successful">Còpia de seguretat creada</string>
|
||||
<string name="settings_backup_restore_backup_failed">Còpia de seguretat fallida: %1$s</string>
|
||||
<string name="settings_backup_restore_restore_successful">Recuperació exitosa</string>
|
||||
<string name="settings_advanced_broadcast_summary_disabled">Les aplicacions no poden rebre notificacions com a missatges</string>
|
||||
<string name="settings_advanced_record_logs_title">Gravar registres</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_text">Aquest temes/noms de host han estat reemplaçats per noms de fruites, per tal que els puguis compartir tranquil·lament:
|
||||
\n
|
||||
\n%1$s
|
||||
\n
|
||||
\nLes contrasenyes s\'han descartat, però no es mostren.</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_empty">Cap tema/nom de host ha estat censurat. Potser no tens cap subscripció\?</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_button_ok">D\'acord</string>
|
||||
<string name="settings_about_version_copied_to_clipboard_message">Copiat al porta-retalls</string>
|
||||
<string name="detail_settings_appearance_header">Apariència</string>
|
||||
<string name="detail_settings_appearance_icon_set_summary">Triar una icona per mostrar a les notificacions</string>
|
||||
<string name="detail_settings_appearance_icon_remove_summary">Icona mostrada a notificacions d\'aquest tema</string>
|
||||
<string name="user_dialog_password_hint_add">Contrasenya</string>
|
||||
<string name="user_dialog_password_hint_edit">Contrasenya (no canvia si es deixa en blanc)</string>
|
||||
<string name="user_dialog_button_add">Afegir usuari</string>
|
||||
<string name="settings_notifications_auto_download_summary_never">Mai descarregar automàticament els adjunts</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_jsonhttp">Flux JSON a través d\'HTTP</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_ws">WebSockets</string>
|
||||
<string name="settings_about_header">Quant a</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_original">Carregar i copiar enllaç</string>
|
||||
<string name="user_dialog_button_delete">Eliminar usuari</string>
|
||||
<string name="user_dialog_button_save">Guardar</string>
|
||||
</resources>
|
|
@ -22,8 +22,8 @@
|
|||
\n%2$s</string>
|
||||
<string name="main_action_bar_title">Odebíraná témata</string>
|
||||
<string name="main_menu_notifications_enabled">Oznámení zapnuta</string>
|
||||
<string name="channel_notifications_default_name">Výchozí priorita</string>
|
||||
<string name="channel_notifications_high_name">Vysoká priorita</string>
|
||||
<string name="channel_notifications_default_name">Oznámení (výchozí priorita)</string>
|
||||
<string name="channel_notifications_high_name">Oznámení (vysoká priorita)</string>
|
||||
<string name="main_menu_notifications_disabled_until">Oznámení ztlumena do %1$s</string>
|
||||
<string name="main_menu_settings_title">Nastavení</string>
|
||||
<string name="main_menu_docs_title">Přečíst dokumentaci</string>
|
||||
|
@ -255,9 +255,9 @@
|
|||
<string name="detail_menu_test">Odeslat testovací oznámení</string>
|
||||
<string name="detail_menu_clear">Vymazat všechna oznámení</string>
|
||||
<string name="settings_notifications_muted_until_forever">Oznámení ztlumena až do obnovení</string>
|
||||
<string name="channel_notifications_low_name">Malá priorita</string>
|
||||
<string name="channel_notifications_min_name">Nejnižší priorita</string>
|
||||
<string name="channel_notifications_max_name">Nejvyšší priorita</string>
|
||||
<string name="channel_notifications_low_name">Oznámení (malá priorita)</string>
|
||||
<string name="channel_notifications_min_name">Oznámení (nejnižší priorita)</string>
|
||||
<string name="channel_notifications_max_name">Oznámení (nejvyšší priorita)</string>
|
||||
<string name="detail_menu_copy_url">Kopírovat adresu tématu</string>
|
||||
<string name="detail_settings_title">Nastavení odběru</string>
|
||||
<string name="detail_action_mode_delete_dialog_cancel">Zrušit</string>
|
||||
|
@ -327,20 +327,4 @@
|
|||
<string name="main_banner_websocket_button_enable_now">Povolit nyní</string>
|
||||
<string name="main_banner_websocket_text">WebSockets jsou doporučenou metodou připojení k vašemu serveru, která může zlepšit zvýšit výdrž baterie, ale může vyžadovat <a href="https://ntfy.sh/docs/config/#nginxapache2caddy">další konfiguraci v proxy serveru</a>. Metodu připojení lze přepnout v Nastavení.</string>
|
||||
<string name="add_dialog_base_urls_dropdown_choose">Zvolit URL služby</string>
|
||||
<string name="main_menu_donate_title">Přispět 💸</string>
|
||||
<string name="detail_item_cannot_open_apk">Aplikace již nelze nainstalovat. Místo toho stahujte přes prohlížeč. Podrobnosti naleznete v issue #531.</string>
|
||||
<string name="channel_notifications_group_default_name">Výchozí</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Upozornění s nejvyšší prioritou pouze jednou</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Používání vlastních nastavení pro tento odběr</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Konfigurace nastavení oznámení</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Stále upozorňovat</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Upozornit pouze jednou</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Vlastní nastavení oznámení</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Zachovat upozornění na nejvyšší prioritu</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Oznámení s maximální prioritou nepřetržitě upozorňují až do odvolání</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Použití výchozího nastavení (zvuky, vlastní nastavení funkce Nerušit, atd.)</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Vlastní nastavení funkce Nerušit (DND), zvuky, atd.</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy bude fungovat jako distributor UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_title">Povolit UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy nebude fungovat jako distributor UnifiedPush</string>
|
||||
</resources>
|
|
@ -1,6 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_notifications_high_name">Blaenoriaeth uchel</string>
|
||||
<string name="channel_notifications_min_name">Blaenoriaeth lleiaf</string>
|
||||
<string name="channel_notifications_low_name">Blaenoriaeth isel</string>
|
||||
</resources>
|
||||
<resources></resources>
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_subscriber_notification_instant_text">Abonnerer på emner med øjeblikkelig levering</string>
|
||||
<string name="channel_notifications_max_name">Maks. prioritet</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Abonnerer på to emner om øjeblikkelig levering</string>
|
||||
<string name="channel_notifications_group_default_name">standard</string>
|
||||
<string name="channel_subscriber_notification_instant_text_six">Abonnerer på seks emner med øjeblikkelig levering</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">Abonnerer på tre emner med øjeblikkelig levering</string>
|
||||
<string name="channel_subscriber_service_name">Abonnementsservice</string>
|
||||
<string name="channel_subscriber_notification_instant_text_five">Abonnerer på fem emner med øjeblikkelig levering</string>
|
||||
<string name="channel_notifications_default_name">Standardprioritet</string>
|
||||
<string name="channel_notifications_min_name">Minimum prioritet</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">Abonnerer på %1$d emner med øjeblikkelig levering</string>
|
||||
<string name="channel_notifications_low_name">Lav prioritet</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">Abonnerer på emner</string>
|
||||
<string name="channel_subscriber_notification_title">Lytter efter indgående notifikationer</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Abonnerer på et emne med øjeblikkelig levering</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">Abonnerer på fire emner med øjeblikkelig levering</string>
|
||||
<string name="channel_notifications_high_name">Høj prioritet</string>
|
||||
</resources>
|
|
@ -1,11 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_notifications_low_name">Niedrige Priorität</string>
|
||||
<string name="channel_notifications_default_name">Normale Priorität</string>
|
||||
<string name="channel_notifications_high_name">Hohe Priorität</string>
|
||||
<string name="channel_notifications_max_name">Höchste Priorität</string>
|
||||
<string name="channel_notifications_low_name">Benachrichtigungen (niedrige Priorität)</string>
|
||||
<string name="channel_notifications_default_name">Benachrichtigungen (normale Priorität)</string>
|
||||
<string name="channel_notifications_high_name">Benachrichtigungen (hohe Priorität)</string>
|
||||
<string name="channel_notifications_max_name">Benachrichtigungen (max. Priorität)</string>
|
||||
<string name="channel_subscriber_service_name">Abo Service</string>
|
||||
<string name="channel_notifications_min_name">Min. Priorität</string>
|
||||
<string name="channel_notifications_min_name">Benachrichtigungen (min. Priorität)</string>
|
||||
<string name="channel_subscriber_notification_title">Warte auf Benachrichtigungen</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Ein Sofortnachrichten-Thema abonniert</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Zwei Sofortnachrichten-Themen abonniert</string>
|
||||
|
@ -309,7 +309,7 @@
|
|||
<string name="detail_settings_appearance_header">Darstellung</string>
|
||||
<string name="detail_settings_appearance_icon_set_title">Abo-Icon</string>
|
||||
<string name="detail_settings_appearance_icon_set_summary">Ein Icon zur Darstellung in Benachrichtigungen auswählen</string>
|
||||
<string name="detail_settings_appearance_icon_remove_title">Abo-Icon (entfernen durch Antippen)</string>
|
||||
<string name="detail_settings_appearance_icon_remove_title">Abo-Icon (entfernen durch antippen)</string>
|
||||
<string name="detail_settings_appearance_icon_error_saving">Kann Icon nicht speichern: %1$s</string>
|
||||
<string name="detail_settings_global_setting_title">Globale Einstellung verwenden</string>
|
||||
<string name="detail_settings_global_setting_suffix">globale Einstellung</string>
|
||||
|
@ -323,26 +323,8 @@
|
|||
<string name="add_dialog_base_urls_dropdown_clear">Service-URL löschen</string>
|
||||
<string name="detail_settings_appearance_display_name_default_summary">%1$s (Standard)</string>
|
||||
<string name="detail_settings_appearance_display_name_title">Anzeigename</string>
|
||||
<string name="detail_settings_appearance_display_name_message">Gib einen eigenen Anzeigenamen für dieses Abo an. Leer lassen für den Standardwert (%1$s).</string>
|
||||
<string name="detail_settings_appearance_display_name_message">Gib einen eigenen Anzeigenamen für diese Abo an. Leer lassen für den Standardwert (%1$s).</string>
|
||||
<string name="detail_settings_about_topic_url_title">Themen-URL</string>
|
||||
<string name="detail_settings_about_header">Über</string>
|
||||
<string name="detail_settings_about_topic_url_copied_to_clipboard_message">In Zwischenablage kopiert</string>
|
||||
<string name="main_menu_donate_title">Spenden 💸</string>
|
||||
<string name="detail_item_cannot_open_apk">Apps können nicht mehr installiert werden. Bitte stattdessen über einen Browser herunterladen. Details siehe Issue #531.</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Verwende eigene Einstellungen für dieses Thema</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Beanchrichtigungseinstellungen konfigurieren</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Durchgehend alarmieren</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Nur einmal alarmieren</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Bei höchster Priorität dauerhaft alarmieren</string>
|
||||
<string name="channel_notifications_group_default_name">Standard</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Benachrichtigungen mit höchster Priorität alarmieren nur einmal</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Benachrichtigungen mit höchster Priorität alarmieren dauerhaft bis sie bestätigt werden</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Eigene Benachrichtigungseinstellungen</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Verwende Standardeinstellungen (Töne, Übergehen von \"Nicht Stören\" etc.)</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">„Bitte nicht stören“ unterbrechen, Töne, etc.</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy arbeitet nicht als UnifiedPush-Distributor</string>
|
||||
<string name="settings_advanced_unifiedpush_title">UnifiedPush aktivieren</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy arbeitet als UnifiedPush-Distributor</string>
|
||||
<string name="eos_settings_enable_title">Den Verteiler aktivieren</string>
|
||||
<string name="eos_settings_enable_description">Es ermöglicht Drittanbieteranwendungen, UnifiedPush-Benachrichtigungen zu empfangen</string>
|
||||
</resources>
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="main_menu_settings_title">Ρυθμίσεις</string>
|
||||
<string name="channel_notifications_max_name">Μέγιστη προτεραιότητα</string>
|
||||
<string name="channel_notifications_max_name">Ειδοποιήσεις (μέγιστη προτεραιότητα)</string>
|
||||
<string name="channel_subscriber_notification_title">Ακρόαση για εισερχόμενες ειδοποιήσεις</string>
|
||||
<string name="main_menu_report_bug_title">Αναφέρετε ένα σφάλμα</string>
|
||||
<string name="main_menu_rate_title">Βαθμολογήστε την εφαρμογή ⭐</string>
|
||||
|
@ -13,15 +13,15 @@
|
|||
<string name="main_item_status_unified_push">%1$s (UnifiedPush)</string>
|
||||
<string name="main_item_date_yesterday">εχθές</string>
|
||||
<string name="main_add_button_description">Προσθήκη συνδρομής</string>
|
||||
<string name="channel_notifications_min_name">Ελάχιστη προτεραιότητα</string>
|
||||
<string name="channel_notifications_low_name">Χαμηλή προτεραιότητα</string>
|
||||
<string name="channel_notifications_min_name">Ειδοποιήσεις (χαμηλότερη προτεραιότητα)</string>
|
||||
<string name="channel_notifications_low_name">Ειδοποιήσεις (χαμηλή προτεραιότητα)</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Έχει γίνει εγγραφή σε θέματα άμεσης παράδοσης</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Έχει γίνει εγγραφή σε δύο θέματα άμεσης παράδοσης</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">Έχει γίνει εγγραφή σε %1$d θέματα άμεσης παράδοσης</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">Έχει γίνει εγγραφή σε δύο θέματα</string>
|
||||
<string name="channel_notifications_high_name">Υψηλή προτεραιότητα</string>
|
||||
<string name="channel_notifications_high_name">Ειδοποιήσεις (υψηλή προτεραιότητα)</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">Έχει γίνει εγγραφή σε τέσσερα θέματα άμεσης παράδοσης</string>
|
||||
<string name="channel_notifications_default_name">Προκαθορισμένη προτεραιότητα</string>
|
||||
<string name="channel_notifications_default_name">Ειδοποιήσεις (προκαθορισμένη προτεραιότητα)</string>
|
||||
<string name="channel_subscriber_notification_instant_text_five">Έχει γίνει εγγραφή σε πέντε θέματα άμεσης παράδοσης</string>
|
||||
<string name="channel_subscriber_service_name">Συνδρομητική υπηρεσία</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_three">Έχει γίνει εγγραφή σε τρία θέματα</string>
|
||||
|
@ -55,30 +55,4 @@
|
|||
<string name="main_banner_battery_button_remind_later">Ερώτηση αργότερα</string>
|
||||
<string name="main_banner_battery_button_dismiss">Απόρριψη</string>
|
||||
<string name="main_banner_battery_button_fix_now">Διορθώστε τώρα</string>
|
||||
<string name="channel_notifications_group_default_name">Προκαθορισμένο</string>
|
||||
<string name="add_dialog_description_below">Τα θέματα μπορεί να μην προστατεύονται από κωδικό, οπότε επιλέξτε ένα όνομα που να είναι δύσκολο να μαντευτεί. Όταν εγγραφείτε, θα μπορείτε να κάνετε PUT/POST ειδοποιήσεις.</string>
|
||||
<string name="add_dialog_topic_name_hint">Όνομα θέματος</string>
|
||||
<string name="add_dialog_use_another_server">Χρήση άλλου server/εξυπηρετητή</string>
|
||||
<string name="add_dialog_title">Εγγραφή σε ειδοποίηση</string>
|
||||
<string name="main_menu_donate_title">Κάντε δωρεά</string>
|
||||
<string name="main_banner_websocket_text">Η μετάβαση σε WebSockets είναι ο συνιστώμενος τρόπος σύνδεσης με τον διακομιστή σας και μπορεί να βελτιώσει τη διάρκεια ζωής της μπαταρίας, αλλά μπορεί να απαιτεί <a href="https://ntfy.sh/docs/config/#nginxapache2caddy">πρόσθετες ρυθμίσεις στο διακομιστή μεσολάβησης</a>. Αυτό μπορεί να ενεργοποιηθεί στις Ρυθμίσεις.</string>
|
||||
<string name="add_dialog_login_password_hint">Κωδικός πρόσβασης</string>
|
||||
<string name="add_dialog_login_error_not_authorized">Η σύνδεση απέτυχε. Ο χρήστης %1$s δεν είναι εξουσιοδοτημένος.</string>
|
||||
<string name="add_dialog_foreground_description">Η άμεση παράδοση είναι πάντα ενεργή για χρήστες εκτός από τον/την %1$s.</string>
|
||||
<string name="add_dialog_login_new_user">Νέος χρήστης</string>
|
||||
<string name="add_dialog_login_title">Απαιτείται σύνδεση</string>
|
||||
<string name="main_banner_websocket_button_remind_later">Ρωτήστε αργότερα</string>
|
||||
<string name="add_dialog_instant_delivery_description">Εξασφαλίζει την άμεση παράδοση των μηνυμάτων, ακόμη και αν η συσκευή είναι ανενεργή.</string>
|
||||
<string name="main_banner_websocket_button_enable_now">Ενεργοποίηση τώρα</string>
|
||||
<string name="add_dialog_use_another_server_description">Εισάγετε τις παρακάτω διευθύνσεις URL υπηρεσιών για να εγγραφείτε σε θέματα από άλλους διακομιστές.</string>
|
||||
<string name="add_dialog_button_cancel">Ακύρωση</string>
|
||||
<string name="add_dialog_error_connection_failed">Η σύνδεση απέτυχε: %1$s</string>
|
||||
<string name="add_dialog_button_subscribe">Εγγραφή</string>
|
||||
<string name="add_dialog_button_login">Σύνδεση</string>
|
||||
<string name="add_dialog_login_username_hint">Όνομα χρήστη</string>
|
||||
<string name="add_dialog_base_urls_dropdown_choose">Επιλέξτε URL υπηρεσίας</string>
|
||||
<string name="add_dialog_instant_delivery">Άμεση παράδοση σε κατάσταση doze</string>
|
||||
<string name="add_dialog_login_description">Αυτό το θέμα απαιτεί να συνδεθείτε. Παρακαλώ πληκτρολογήστε ένα όνομα χρήστη και έναν κωδικό πρόσβασης.</string>
|
||||
<string name="main_banner_websocket_button_dismiss">Απορρίψτε το</string>
|
||||
<string name="add_dialog_button_back">Πίσω</string>
|
||||
</resources>
|
|
@ -1,2 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
|
@ -1,11 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_notifications_min_name">Prioridad mínima</string>
|
||||
<string name="channel_notifications_min_name">Notificaciones (prioridad mínima)</string>
|
||||
<string name="detail_item_menu_copy_url">Copiar URL</string>
|
||||
<string name="notification_popup_action_open">Abrir</string>
|
||||
<string name="channel_notifications_low_name">Prioridad baja</string>
|
||||
<string name="channel_notifications_default_name">Prioridad predeterminada</string>
|
||||
<string name="channel_notifications_max_name">Prioridad máxima</string>
|
||||
<string name="channel_notifications_low_name">Notificaciones (prioridad baja)</string>
|
||||
<string name="channel_notifications_default_name">Notificaciones (prioridad por defecto)</string>
|
||||
<string name="channel_notifications_max_name">Notificaciones (prioridad máxima)</string>
|
||||
<string name="channel_subscriber_service_name">Servicio de Suscripciones</string>
|
||||
<string name="channel_subscriber_notification_title">Escuchando por notificaciones entrantes</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Suscrito a un tópico de entrega instantánea</string>
|
||||
|
@ -221,7 +221,7 @@
|
|||
<string name="user_dialog_button_add">Añadir usuario</string>
|
||||
<string name="user_dialog_button_cancel">Cancelar</string>
|
||||
<string name="user_dialog_button_save">Guardar</string>
|
||||
<string name="channel_notifications_high_name">Prioridad alta</string>
|
||||
<string name="channel_notifications_high_name">Notificaciones (prioridad alta)</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Suscrito a tópicos de entrega instantánea</string>
|
||||
<string name="main_item_status_unified_push">%1$s (UnifiedPush)</string>
|
||||
<string name="add_dialog_use_another_server_description">Introduzca las URL de servicio para suscribirse a los tópicos de otros servidores.</string>
|
||||
|
@ -327,22 +327,4 @@
|
|||
<string name="add_dialog_base_urls_dropdown_clear">Borrar la URL del servicio</string>
|
||||
<string name="main_banner_websocket_text">Cambiar a WebSockets es la forma recomendada para conectarse a su servidor, y podría mejorar la vida de la batería, pero puede requerir <a href="https://ntfy.sh/docs/config/#nginxapache2caddy">configuración adicional en su proxy</a>. Esto se puede cambiar en la Configuración.</string>
|
||||
<string name="main_banner_websocket_button_enable_now">Habilitar ahora</string>
|
||||
<string name="main_menu_donate_title">Donar 💸</string>
|
||||
<string name="detail_item_cannot_open_apk">Las aplicaciones ya no se pueden instalar desde ntfy. Descárguelas a través del navegador. Consulte el issue #531 para obtener más información.</string>
|
||||
<string name="channel_notifications_group_default_name">Predeterminado</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Mantener alertas para la máxima prioridad</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Las notificaciones de prioridad máxima alertan continuamente hasta que se descartan</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Las notificaciones de prioridad máxima solo alertan una vez</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Ignorar No Molestar (DND), sonidos, etc.</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Seguir alertando</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Configuración de notificaciones personalizadas</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Alertar solo una vez</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Utilizando configuración personalizada para esta suscripción</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Utilizando configuración predeterminada (sonidos, no molestar, etc.)</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Configuración de la notificación</string>
|
||||
<string name="settings_advanced_unifiedpush_title">Activar UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy actuará como distribuidor UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy no actuará como distribuidor UnifiedPush</string>
|
||||
<string name="eos_settings_enable_title">Habilitar el distribuidor</string>
|
||||
<string name="eos_settings_enable_description">Permite a las aplicaciones de terceros recibir notificaciones de UnifiedPush</string>
|
||||
</resources>
|
|
@ -1,42 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_notifications_min_name">اولویت اصلی</string>
|
||||
<string name="channel_notifications_default_name">اولویت پیش تعریف</string>
|
||||
<string name="channel_notifications_low_name">اولویت پایین</string>
|
||||
<string name="channel_notifications_group_default_name">پیش تعریف</string>
|
||||
<string name="channel_subscriber_notification_instant_text">عضویت یافته در تحویل فوری اطلاعیه ها</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">عضویت یافته در تحویل یک موضوع</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">عضویت یافته در دریافت سه موضوع</string>
|
||||
<string name="channel_subscriber_notification_instant_text_five">عضویت یافته در دریافت پنج موضوع</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">عضویت یافته در دریافت %1$d موضوع</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">عضویت یافته در موضوعات</string>
|
||||
<string name="main_menu_settings_title">تنظیمات</string>
|
||||
<string name="main_menu_report_bug_title">گزارش یک نقص فنی</string>
|
||||
<string name="main_menu_docs_title">مطالعه مستندات</string>
|
||||
<string name="main_menu_rate_title">رتبه دهی به اپ ⭐</string>
|
||||
<string name="main_menu_donate_title">حمایت مالی 💸</string>
|
||||
<string name="main_item_status_text_one">%1$d اطلاعیه</string>
|
||||
<string name="main_item_status_text_not_one">%1$d اطلاعیه</string>
|
||||
<string name="main_item_status_reconnecting">در حال اتصال دوباره …</string>
|
||||
<string name="main_item_date_yesterday">دیروز</string>
|
||||
<string name="main_no_subscriptions_text">به نظر می رسد شما هنوز هیچ عضویتی ندارید.</string>
|
||||
<string name="channel_notifications_high_name">اولویت بالا</string>
|
||||
<string name="channel_notifications_max_name">بالاترین اولویت</string>
|
||||
<string name="channel_subscriber_service_name">آبونمان دریافت خدمات</string>
|
||||
<string name="channel_subscriber_notification_title">گوش به زنگ دریافت اطلاعیه</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">عضویت یافته در دریافت دو موضوع</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">عضویت یافته در دریافت چهار موضوع</string>
|
||||
<string name="channel_subscriber_notification_instant_text_six">عضویت یافته در دریافت شش موضوع</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_one">عضویت یافته در یک موضوع</string>
|
||||
<string name="refresh_message_result">%1$d اطلاعیه دریافت شد</string>
|
||||
<string name="refresh_message_no_results">همه چیز بروزآوری شده است</string>
|
||||
<string name="refresh_message_error_one">بروزآوری آبونمان %1$s ناموفق بود</string>
|
||||
<string name="main_menu_notifications_enabled">ارسال اطلاعیه در</string>
|
||||
<string name="main_menu_notifications_disabled_forever">اطلاعیه ها بی صدا شده اند</string>
|
||||
<string name="main_menu_notifications_disabled_until">اطلاعیه ها تا %1$s بی صدا شده اند</string>
|
||||
<string name="main_action_mode_menu_unsubscribe">لغو اشتراک</string>
|
||||
<string name="main_action_mode_delete_dialog_message">از سرفصل های انتخاب شده لغو عضویت و همه اطلاعیه ها را برای همیشه پاک کن؟</string>
|
||||
<string name="main_action_mode_delete_dialog_permanently_delete">حذف برای همیشه</string>
|
||||
<string name="main_action_mode_delete_dialog_cancel">لغو</string>
|
||||
<string name="main_add_button_description">افزون اشتراک</string>
|
||||
</resources>
|
|
@ -1,346 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="user_dialog_button_add">Lisää käyttäjä</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything_no_users">Kaikki, paitsi käyttäjät</string>
|
||||
<string name="add_dialog_login_password_hint">Salasana</string>
|
||||
<string name="add_dialog_login_error_not_authorized">Kirjautuminen epäonnistui %1$s ei oikeuksia.</string>
|
||||
<string name="settings_general_header">Pääkäyttäjä</string>
|
||||
<string name="add_dialog_foreground_description">Välitön toimitus on aina päällä muille palvelimille kuin %1$s.</string>
|
||||
<string name="detail_clear_dialog_message">Poistetaanko kaikki tämän topikin ilmoitukset \?</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Tilattu välittömään topikkiin</string>
|
||||
<string name="detail_settings_appearance_display_name_title">Näytön nimi</string>
|
||||
<string name="detail_item_menu_copy_url_copied">URL kopioitu leikkelepöydälle</string>
|
||||
<string name="detail_item_snack_deleted">Ilmoitus poistettu</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_original">Kopioi leikkelepöydälle</string>
|
||||
<string name="settings_advanced_broadcast_summary_disabled">Sovellukset eivät voi vastaanottaa ilmoituksia ja lähetyksiä</string>
|
||||
<string name="detail_menu_clear">Poista kaikki ilmoitukset</string>
|
||||
<string name="channel_notifications_max_name">Maksimi tärkeys</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_empty">Aiheita/isäntänimiä ei ole muokattu. Ehkä sinulla ei ole topikkeja\?</string>
|
||||
<string name="add_dialog_login_new_user">Uusi käyttäjä</string>
|
||||
<string name="user_dialog_description_add">Kaikki tietyn palvelimen topikit käyttävät tätä käyttäjää.</string>
|
||||
<string name="share_content_text_hint">Lisää jaettavaksi täällä</string>
|
||||
<string name="settings_backup_restore_backup_title">Varmuuskopioi tiedostoon</string>
|
||||
<string name="share_successful">Viesti julkaistu</string>
|
||||
<string name="settings_advanced_clear_logs_title">Tyhjennä logit</string>
|
||||
<string name="settings_general_users_title">Hallitse käyttäjiä</string>
|
||||
<string name="add_dialog_login_title">Kirjautuminen tarvitaan</string>
|
||||
<string name="settings_notifications_priority_min">min</string>
|
||||
<string name="settings_notifications_auto_delete_summary_never">Älä koskaan poista automaattisesti ilmoituksia</string>
|
||||
<string name="notification_popup_file_download_successful">%1$s
|
||||
\nTiedosto: %2$s, ladattu</string>
|
||||
<string name="notification_popup_action_browse">Julkaise</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Jatka hälyttämistä</string>
|
||||
<string name="settings_advanced_broadcast_title">Lähetä viestejä</string>
|
||||
<string name="main_menu_rate_title">Äänestä aplikaatiota</string>
|
||||
<string name="detail_item_cannot_delete">Ei voida poistaa liitettä %1$s</string>
|
||||
<string name="settings_backup_restore_backup_summary">Vie asetukset, ilmoitukset ja käyttäjät</string>
|
||||
<string name="notification_popup_file_downloading">Lataa %1$s, %2$d%%
|
||||
\n%3$s</string>
|
||||
<string name="main_item_status_text_not_one">%1$d Huomautusta</string>
|
||||
<string name="user_dialog_description_edit">Voit muokata valitun käyttäjän käyttäjätunnusta/salasanaa tai poistaa sen.</string>
|
||||
<string name="notification_dialog_show_all">Näytä kaikki ilmoitukset</string>
|
||||
<string name="settings_notifications_min_priority_min">Kaikki tärkeydet</string>
|
||||
<string name="notification_dialog_30min">30 minuuttia</string>
|
||||
<string name="detail_item_menu_delete">Poista tiedosto</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Tilattu kahteen välittömään topikkiin</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Tee hälytys vain kerran</string>
|
||||
<string name="settings_notifications_auto_download_never">Älä koskaan lataa automaattisesti mitään</string>
|
||||
<string name="notification_popup_user_action_failed">%1$s epäonnistunut: %2$s</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_scrubbed">Tallenna ja kopioi linkki (sensuroitu)</string>
|
||||
<string name="refresh_message_result">%1$d ilmoitusta vastaanotettu</string>
|
||||
<string name="notification_dialog_1h">1 tunti</string>
|
||||
<string name="detail_settings_notifications_instant_title">Välitön lähetys</string>
|
||||
<string name="notification_dialog_forever">Jatkamiseen asti</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_week">Poista ilmoitukset viikon jälkeen</string>
|
||||
<string name="settings_advanced_export_logs_error_uploading">Ei voida tallentaa logia: %1$s</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expires_x">Ei ladattu, vanhentunut %1$s</string>
|
||||
<string name="detail_no_notifications_text">Et ole vielä saanut yhtään ilmoitusta tästä topikista.</string>
|
||||
<string name="detail_item_cannot_open_url">Ei voida avata URL: %1$s</string>
|
||||
<string name="settings_notifications_min_priority_title">Pienin prioriteetti</string>
|
||||
<string name="share_menu_send">Jaa</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">Tilattu kahteen topikkiin</string>
|
||||
<string name="detail_settings_title">Tilausasetukset</string>
|
||||
<string name="detail_item_saved_successfully">Tallennettu nimellä %1$s lataukset kansioon</string>
|
||||
<string name="settings_notifications_auto_delete_one_month">jälkeen kolmenkymmenen päivän</string>
|
||||
<string name="channel_notifications_group_default_name">Oletus</string>
|
||||
<string name="detail_menu_test">Lähetä testi ilmoitus</string>
|
||||
<string name="settings_notifications_priority_high">korkea</string>
|
||||
<string name="main_no_subscriptions_text">Näyttää siltä, että sinulla ei ole vielä tilauksia.</string>
|
||||
<string name="settings_general_users_prefs_user_add_title">Lisää uusi käyttäjä</string>
|
||||
<string name="detail_menu_disable_instant">Poista välittömät ilmoitukset käytöstä</string>
|
||||
<string name="detail_action_mode_delete_dialog_cancel">Peruuta</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">Tilattu %1$d topikkiin</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_original">Tallenna ja kopioi linkki</string>
|
||||
<string name="main_banner_battery_button_fix_now">Korjaa nyt</string>
|
||||
<string name="detail_item_download_info_not_downloaded">Ei ladattu</string>
|
||||
<string name="user_dialog_button_save">Tallenna</string>
|
||||
<string name="detail_delete_dialog_cancel">Peruuta</string>
|
||||
<string name="settings_about_version_copied_to_clipboard_message">Kopioitu leikkelepöydälle</string>
|
||||
<string name="notification_popup_action_download">Lataa</string>
|
||||
<string name="detail_item_cannot_download">Liitettä ei voi avata tai ladata. Linkki vanhentui, eikä paikallista tiedostoa löytynyt.</string>
|
||||
<string name="main_menu_notifications_enabled">Huomautukset päällä</string>
|
||||
<string name="settings_general_dark_mode_summary_system">Käytä järjestelmän oletusta</string>
|
||||
<string name="main_menu_notifications_disabled_forever">Hiljennetyt huomautukset</string>
|
||||
<string name="detail_item_menu_download">Lataa tiedosto</string>
|
||||
<string name="channel_subscriber_notification_instant_text_six">Tilattu kuuteen välittömään topikkiin</string>
|
||||
<string name="main_banner_websocket_button_remind_later">Kysy myöhemmin</string>
|
||||
<string name="detail_item_menu_copy_contents_copied">Ilmoitus kopioitu leikkelepöydälle</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_one">Käytetty topikissa %1$s</string>
|
||||
<string name="detail_settings_appearance_header">Ulkoasu</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_month">Poista ilmoitukset kuukauden jälkeen</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">Tilattu kolmeen välittömään topikkiin</string>
|
||||
<string name="channel_subscriber_service_name">Tilaus palvelu</string>
|
||||
<string name="channel_subscriber_notification_instant_text_five">Tilattu viiteen välittömään topikkiin</string>
|
||||
<string name="settings_general_users_prefs_user_add">Lisää käyttäjiä</string>
|
||||
<string name="settings_notifications_auto_delete_three_months">jälkeen kolmen kuukauden</string>
|
||||
<string name="main_add_button_description">Lisää tilaus</string>
|
||||
<string name="notification_dialog_muted_forever_toast_message">Ilmoitukset hiljennetty</string>
|
||||
<string name="settings_notifications_muted_until_show_all">Näytä kaikki ilmoitukset</string>
|
||||
<string name="notification_popup_file_download_failed">%1$s
|
||||
\ntiedosto: %2$s, lataus virhe</string>
|
||||
<string name="main_action_mode_delete_dialog_permanently_delete">Poista pysyvästi</string>
|
||||
<string name="settings_notifications_auto_delete_three_days">Jälkeen kolmen päivän</string>
|
||||
<string name="settings_general_dark_mode_summary_light">Vaalea tila päälle</string>
|
||||
<string name="detail_item_cannot_open">Ei voida avata liitettä %1$s</string>
|
||||
<string name="settings_notifications_auto_download_5m">Jos tiedoston koko on alle 5 MB</string>
|
||||
<string name="settings_general_dark_mode_entry_light">Vaalea tila</string>
|
||||
<string name="detail_item_cannot_open_not_found">Liitettä ei voi avata: Tiedosto on ehkä poistettu tai mikään asennettu sovellus ei voi avata tiedostoa.</string>
|
||||
<string name="settings_general_dark_mode_title">Tumma tila</string>
|
||||
<string name="detail_item_download_failed">Ei voida ladata tiedostoa: %1$s</string>
|
||||
<string name="settings_about_version_title">Versio</string>
|
||||
<string name="channel_notifications_default_name">Oletus tärkeys</string>
|
||||
<string name="detail_item_download_info_download_failed">Lataus epäonnistunut</string>
|
||||
<string name="detail_settings_about_topic_url_copied_to_clipboard_message">Kopoitu leikkelepöydälle</string>
|
||||
<string name="settings_notifications_min_priority_high">Korkea prioriteetti ja sen ylittävät</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Tärkeimmät ilmoitukset hälyttävät vain kerran</string>
|
||||
<string name="add_dialog_description_below">Topikit eivät ole salasanasuojattuja, joten valitse nimi, jota on vaikea arvata. Kun olet tilannut, voit käyttää PUT/POST ilmoituksia.</string>
|
||||
<string name="settings_backup_restore_header">Varmuuskopioi & palauta</string>
|
||||
<string name="main_item_status_reconnecting">Uudelleen yhdistää …</string>
|
||||
<string name="detail_delete_dialog_message">Lopetetaanko tämän aiheen tilaus ja poistetaanko kaikki saamasi ilmoitukset\?</string>
|
||||
<string name="settings_title">Asetukset</string>
|
||||
<string name="settings_general_dark_mode_entry_dark">Tumma tila</string>
|
||||
<string name="share_content_file_error">Tiedostoa ei voi lukea info: %1$s</string>
|
||||
<string name="add_dialog_instant_delivery_description">Varmistaa, että viestit toimitetaan välittömästi, vaikka laite olisi passiivinen.</string>
|
||||
<string name="detail_action_mode_menu_delete">Poista</string>
|
||||
<string name="main_menu_notifications_disabled_until">Huomautukset hiljennetty %1$s saakka</string>
|
||||
<string name="detail_item_download_info_deleted_expires_x">Poistettu, linkki vanhentuu %1$s</string>
|
||||
<string name="main_banner_websocket_button_enable_now">Ota käyttöön</string>
|
||||
<string name="main_item_date_yesterday">Eilen</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Mukautettujen asetusten käyttäminen tälle tilaukselle</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy ei toimi UnifiedPush-jakelijana</string>
|
||||
<string name="detail_settings_global_setting_suffix">Käytetään globaalia asetusta</string>
|
||||
<string name="detail_clear_dialog_permanently_delete">Poista pysyvästi</string>
|
||||
<string name="main_banner_battery_button_remind_later">Kysy myöhemmin</string>
|
||||
<string name="channel_notifications_min_name">Pieni tärkeys</string>
|
||||
<string name="notification_popup_action_open">Auki</string>
|
||||
<string name="detail_item_menu_open">Avaa tiedosto</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Tärkeimmät ilmoitukset hälyttävät jatkuvasti, kunnes ne hylätään</string>
|
||||
<string name="main_how_to_link">Yksityiskohtaiset ohjeet löytyvät osoitteesta ntfy.sh .</string>
|
||||
<string name="settings_notifications_channel_prefs_summary">Älä häiritse tila (DND) äänet, jne.</string>
|
||||
<string name="settings_general_users_prefs_user_not_used">Ei käytetty missään topikissa</string>
|
||||
<string name="detail_how_to_link">Yksityiskohtaiset ohjeet ovat saatavilla osoitteessa ntfy.sh ja dokumenteissa.</string>
|
||||
<string name="settings_notifications_muted_until_title">Hiljennetyt ilmoitukset</string>
|
||||
<string name="detail_test_message_error">Ei voida lähettää: %1$s</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_four">Tilattu neljään topikkiin</string>
|
||||
<string name="settings_general_default_base_url_default_summary">%1$s (oletus)</string>
|
||||
<string name="detail_instant_delivery_enabled">Välitön lähetys päällä</string>
|
||||
<string name="notification_dialog_2h">2 tuntia</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything">Kaikki</string>
|
||||
<string name="settings_general_users_summary">Lisää/poista käyttäjiä suojatuille topikeille</string>
|
||||
<string name="add_dialog_use_another_server_description">Syötä palvelun URL-osoitte alle tilataksesi topikkeja muilta palvelimilta.</string>
|
||||
<string name="settings_notifications_auto_delete_one_day">Jälkeen yhden päivän</string>
|
||||
<string name="settings_general_dark_mode_summary_dark">Tumma tila päällä. Oletko vampyyri \?</string>
|
||||
<string name="settings_general_users_prefs_user_add_summary">Lisää uusi käyttäjä uudelle palvelimelle</string>
|
||||
<string name="settings_general_dark_mode_entry_system">Käytä oletusasetusta</string>
|
||||
<string name="notification_dialog_save">Tallenna</string>
|
||||
<string name="user_dialog_base_url_hint">Palvelun URL</string>
|
||||
<string name="detail_item_download_info_download_failed_expires_x">Lataus epäonnistunut, linkki vanhentunut %1$s</string>
|
||||
<string name="settings_notifications_priority_max">max</string>
|
||||
<string name="user_dialog_password_hint_add">Salasana</string>
|
||||
<string name="settings_notifications_min_priority_summary_any">Näytä kaikki ilmoitukset</string>
|
||||
<string name="main_unified_push_toast">%1$s hallinnoi tätä tilausta UnifiedPushin kautta</string>
|
||||
<string name="detail_item_menu_copy_contents">Kopioi ilmoitus</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">Tilattu %1$d välittömään topikkiin</string>
|
||||
<string name="detail_menu_enable_instant">Ota välittömät ilmoitukset käyttöön</string>
|
||||
<string name="settings_advanced_export_logs_summary">Kopioi lokit leikepöydälle tai lataa osoitteeseen nopaste.net (omistaja ntfy). Isäntänimet ja aiheet voidaan sensuroida, ilmoituksia ei koskaan tehdä.</string>
|
||||
<string name="detail_action_mode_delete_dialog_permanently_delete">Poista pysyvästi</string>
|
||||
<string name="notification_dialog_enabled_toast_message">Jatka ilmoituksia</string>
|
||||
<string name="main_menu_report_bug_title">Raportoi bugista</string>
|
||||
<string name="add_dialog_button_cancel">Peruuta</string>
|
||||
<string name="settings_notifications_min_priority_summary_max">Näytä ilmoitukset jos tärkeys on 5 (max)</string>
|
||||
<string name="settings_advanced_broadcast_summary_enabled">Sovellukset voivat vastaanottaa saapuvia ilmoituksia ja lähetyksiä</string>
|
||||
<string name="notification_dialog_tomorrow">Huomiseen saakka</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Määritä ilmoitusasetukset</string>
|
||||
<string name="add_dialog_topic_name_hint">Topikin nimi, esimerkiksi pentin_hälytykset</string>
|
||||
<string name="channel_notifications_low_name">Matala tärkeys</string>
|
||||
<string name="settings_notifications_auto_download_title">Lataa liitteet</string>
|
||||
<string name="user_dialog_button_delete">Poista käyttäjä</string>
|
||||
<string name="add_dialog_error_connection_failed">Yhteys epäonnistui: %1$s</string>
|
||||
<string name="detail_menu_notifications_disabled_forever">Ilmoitukset hiljennetty</string>
|
||||
<string name="share_content_image_text">Kanssasi jaettiin kuva</string>
|
||||
<string name="main_banner_websocket_text">WebSocketsiin vaihtaminen on suositeltu tapa muodostaa yhteys palvelimeesi, ja se voi parantaa akun käyttöikää, mutta saattaa edellyttää <a href="https://ntfy.sh/docs/config/#nginxapache2caddy">additional config in your proxy</a>. Tämän voi vaihtaa asetuksista.</string>
|
||||
<string name="settings_notifications_channel_prefs_title">Kanavan asetukset</string>
|
||||
<string name="settings_notifications_auto_download_50m">Jos tiedoston koko on alle 50 MB</string>
|
||||
<string name="detail_clear_dialog_cancel">Peruuta</string>
|
||||
<string name="main_action_mode_delete_dialog_cancel">Peruuta</string>
|
||||
<string name="settings_notifications_min_priority_default">Oletus prioriteetin ja sen ylittävät</string>
|
||||
<string name="detail_test_message_error_unauthorized_anon">Viestiä ei voi lähettää: Nimetöntä lähetystä ei sallita.</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_ws">WebSocketit</string>
|
||||
<string name="detail_copied_to_clipboard_message">Kopioitu leikepöydälle</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">Tilattu topikkiin</string>
|
||||
<string name="detail_action_mode_menu_copy">Kopioi</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_jsonhttp">JSON stream yli HTTP</string>
|
||||
<string name="user_dialog_title_add">Lisää käyttäjä</string>
|
||||
<string name="detail_item_download_info_deleted">Poistettu</string>
|
||||
<string name="add_dialog_button_subscribe">Tilaa</string>
|
||||
<string name="settings_advanced_clear_logs_deleted_toast">Logit poistettu</string>
|
||||
<string name="detail_item_download_info_downloading_x_percent">%1$d%% ladattu</string>
|
||||
<string name="user_dialog_button_cancel">Peruuta</string>
|
||||
<string name="add_dialog_button_login">Kirjaudu</string>
|
||||
<string name="settings_backup_restore_restore_summary">Tuo asetukset, ilmoitukset ja käyttäjät</string>
|
||||
<string name="channel_subscriber_notification_title">Kuuntelee sisääntulevia viestejä</string>
|
||||
<string name="detail_how_to_intro">Jos haluat lähettää ilmoituksia tähän topikkiin, lähetä PUT tai POST topikin URL-osoitteeseen.</string>
|
||||
<string name="settings_general_users_prefs_title">Käyttäjät</string>
|
||||
<string name="detail_item_cannot_open_apk">Sovelluksia ei voi enää asentaa. Lataa sen sijaan selaimen kautta. Katso numero #531 saadaksesi lisätietoja.</string>
|
||||
<string name="settings_advanced_clear_logs_summary">Poista aiemmin tallennetut lokit ja aloita alusta</string>
|
||||
<string name="refresh_message_error_one">Ei voitu päivittää: %1$s</string>
|
||||
<string name="add_dialog_login_username_hint">Käyttäjänimi</string>
|
||||
<string name="detail_settings_about_header">-</string>
|
||||
<string name="settings_advanced_export_logs_uploading">Tallenna logi …</string>
|
||||
<string name="detail_item_menu_copy_url">Kopioi URL</string>
|
||||
<string name="detail_menu_notifications_disabled_until">Ilmoitukset hiljennetty %1$s asti</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_text">Nämä aiheet/isäntänimet korvattiin hedelmien nimillä, joten voit jakaa lokin huoletta:
|
||||
\n
|
||||
\n%1$s
|
||||
\n
|
||||
\nSalasanat on poistettu, ja niitä ei ole listattu tässä.</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy toimii UnifiedPush-jakelijana</string>
|
||||
<string name="add_dialog_use_another_server">Käytä eri palvelinta</string>
|
||||
<string name="settings_notifications_priority_default">oletus</string>
|
||||
<string name="settings_notifications_auto_download_100k">Jos tiedoston koko on alle 100 kB</string>
|
||||
<string name="add_dialog_base_urls_dropdown_choose">Valitse palvelimen URL</string>
|
||||
<string name="add_dialog_instant_delivery">Välitön toimitus torkkutilassa</string>
|
||||
<string name="settings_notifications_auto_delete_title">Poista ilmoitukset</string>
|
||||
<string name="detail_delete_dialog_permanently_delete">Poista pysyvästi</string>
|
||||
<string name="share_content_title">Viestin esikatselu</string>
|
||||
<string name="settings_notifications_auto_download_500k">Jos tiedoston koko on alle 500 kB</string>
|
||||
<string name="settings_general_default_base_url_title">Oletuspalvelin</string>
|
||||
<string name="settings_notifications_muted_until_x">Ilmoitukset mykistetty, %1$s saakka</string>
|
||||
<string name="main_banner_battery_text">Akun optimoinnin tulee olla pois päältä ilmoitusten toimitusongelmien välttämiseksi.</string>
|
||||
<string name="settings_advanced_unifiedpush_title">Ota käyttöön UnifiedPush</string>
|
||||
<string name="settings_general_default_base_url_message">Anna palvelimesi juurikansio URL, jotta voit käyttää omaa palvelintasi oletuksena uusien topikkien tilaamisessa ja/tai aiheiden jakamisessa.</string>
|
||||
<string name="user_dialog_password_hint_edit">Salasana (ei voi muuttaa, jos jätetään tyhjäksi)</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">Ota logaus käyttöön, jotta voit jakaa lokit myöhemmin diagnosoidaksesi ongelmia.</string>
|
||||
<string name="main_action_mode_delete_dialog_message">Lopetetaanko valittujen aiheiden tilaus ja poistetaanko kaikki ilmoitukset pysyvästi \?</string>
|
||||
<string name="notification_dialog_muted_until_toast_message">Ilmoituset hiljennetty %1$s asti</string>
|
||||
<string name="share_title">Jaa</string>
|
||||
<string name="refresh_message_error">Ei voitu päivittää %1$d tilausta
|
||||
\n
|
||||
\n%2$s</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_jsonhttp">Käytä JSON HTTP:n kautta muodostaaksesi yhteyden palvelimeen. Tämä menetelmä on testattu, mutta se voi kuluttaa enemmän akkua.</string>
|
||||
<string name="settings_advanced_export_logs_copied_logs">Logit kopioitu leikkelepöydälle</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_six">Tilattu kuuteen topikkiin</string>
|
||||
<string name="detail_settings_notifications_instant_summary_on">Ilmoitukset toimitetaan välittömästi. kuluttaa enemmän akkua.</string>
|
||||
<string name="detail_test_title">Testi: Voit asettaa otsikon, jos haluat.</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_ws">Käytä WebSocketsia yhteyden muodostamiseen palvelimeen. Tämä on suositeltu tapa, mutta se voi vaatia lisämäärityksiä välityspalvelimessasi.</string>
|
||||
<string name="settings_notifications_auto_download_summary_smaller_than_x">Lataa automaattisesti liitteet %1$s saakka</string>
|
||||
<string name="settings_notifications_auto_download_10m">Jos tiedoston koko on alle 10 MB</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_button_ok">OK</string>
|
||||
<string name="settings_advanced_connection_protocol_title">Yhteys protokolla</string>
|
||||
<string name="notification_popup_action_cancel">Peruuta</string>
|
||||
<string name="settings_backup_restore_restore_title">Palauta tiedostosta</string>
|
||||
<string name="share_content_image_error">Kuvaa ei voi lukea %1$s</string>
|
||||
<string name="notification_dialog_cancel">Peruuta</string>
|
||||
<string name="main_banner_battery_button_dismiss">Hylkää</string>
|
||||
<string name="detail_menu_copy_url">Kopioi topikin osoite</string>
|
||||
<string name="settings_notifications_min_priority_low">Matalan prioriteetin ylittävät</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Mukautetut ilmoitusasetukset</string>
|
||||
<string name="main_menu_settings_title">Asetukset</string>
|
||||
<string name="share_topic_title">Jaettu</string>
|
||||
<string name="detail_settings_appearance_icon_set_summary">Aseta kuvake, joka näytetään ilmoituksissa</string>
|
||||
<string name="main_how_to_intro">Napsauta + luodaksesi topikin tai tilataksesi sen. Tämän jälkeen saat ilmoituksia laitteellesi, kun lähetät viestejä PUT- tai POST-yhteydellä.</string>
|
||||
<string name="main_action_bar_title">Tilatut topikit</string>
|
||||
<string name="detail_menu_notifications_enabled">Ilmoitukset päälle</string>
|
||||
<string name="settings_backup_restore_backup_entry_settings_only">Vain asetukset</string>
|
||||
<string name="detail_item_cannot_save">Ei voida tallentaa liitettä: %1$s</string>
|
||||
<string name="detail_item_snack_undo">Kumoa</string>
|
||||
<string name="settings_backup_restore_backup_successful">Varmuuskopio luotu</string>
|
||||
<string name="detail_settings_appearance_display_name_default_summary">%1$s (oletus)</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_three">Tilattu kolmeen topikkiin</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_five">Tilattu viiteen topikkiin</string>
|
||||
<string name="main_action_mode_menu_unsubscribe">Lopeta tilaus</string>
|
||||
<string name="add_dialog_login_description">Tämä topikki vaatii kirjautumisen. Kirjoita käyttäjätunnus ja salasana.</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_many">Käytetty topikeissa %1$s</string>
|
||||
<string name="detail_settings_global_setting_title">Käytä globaalia asetusta</string>
|
||||
<string name="settings_notifications_auto_download_summary_never">Älä koskaan lataa automaattisesti liitteitä</string>
|
||||
<string name="detail_item_download_info_deleted_expired">Poistettu, linkki vanhentunut</string>
|
||||
<string name="detail_item_menu_save_file">Tallenna tiedosto</string>
|
||||
<string name="main_menu_docs_title">Lue dokumentaatiota</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_day">Poista ilmoitukset yhden päivän jälkeen</string>
|
||||
<string name="refresh_message_no_results">Kaikki päivitetty</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expired">Ei ladattu, linkki vanhentunut</string>
|
||||
<string name="settings_advanced_record_logs_summary_enabled">Logaus (jopa 1 000 merkintää) laitteeseen…</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_days">Poista ilmoitukset 3 päivän jälkeen</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Tilattu yhteen välittömään topikkiin</string>
|
||||
<string name="share_content_file_text">Tedoston on jaettu sinulle</string>
|
||||
<string name="main_banner_websocket_button_dismiss">Hylkää</string>
|
||||
<string name="add_dialog_base_urls_dropdown_clear">Poista palvelimen URL</string>
|
||||
<string name="detail_action_mode_delete_dialog_message">Poista valitut tilaukset välittömästi \?</string>
|
||||
<string name="detail_settings_about_topic_url_title">Topikin URL</string>
|
||||
<string name="add_dialog_title">Liity topikkin</string>
|
||||
<string name="add_dialog_button_back">Takaisin</string>
|
||||
<string name="settings_advanced_header">Kehittyneet</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_months">Poista ilmoitukset kolmen kuukauden jälkeen</string>
|
||||
<string name="notification_popup_file">%1$s
|
||||
\nTiedosto: %2$s</string>
|
||||
<string name="settings_notifications_muted_until_forever">Ilmoitukset mykistetty, kunnes niitä jatketaan</string>
|
||||
<string name="detail_how_to_example">Esimerkki (käytä curl):<br/><tt>$ curl -d \"Hei\" %1$s</tt></string>
|
||||
<string name="detail_settings_appearance_icon_set_title">Kuvake</string>
|
||||
<string name="detail_instant_delivery_disabled">Välitön lähetys pois</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">Tilattu neljään välittömään topikkiin</string>
|
||||
<string name="settings_notifications_auto_download_1m">Jos tiedoston koko on alle 1 MB</string>
|
||||
<string name="detail_item_download_info_download_failed_expired">Lataus epäonnistunut, linkki vanhentunut</string>
|
||||
<string name="detail_settings_notifications_instant_summary_off">Ilmoitukset toimitetaan Firebasella. Toimitus saattaa viivästyä, mutta kuluttaa vähemmän akkua.</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Älä häiritse (DND) ohitus, äänet jne.</string>
|
||||
<string name="detail_test_message_error_unauthorized_user">Viestiä ei voi lähettää: Käyttäjällä \"%1$s\" ei ole oikeuksia.</string>
|
||||
<string name="notification_dialog_title">Hiljennetyt ilmoitukset</string>
|
||||
<string name="settings_notifications_min_priority_summary_x_or_higher">Näytä ilmoitukset jos täkeys on %1$d (%2$s) tai enemmän</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_scrubbed">Kopioi leikkelepöydälle (sensuroitu)</string>
|
||||
<string name="settings_advanced_export_logs_copied_url">Logit tallennettu ja URL kopioitu</string>
|
||||
<string name="settings_advanced_export_logs_title">Kopioi/tallenna logit</string>
|
||||
<string name="detail_settings_appearance_icon_remove_summary">Tämän topikin ilmoituksissa näkyvä kuvake</string>
|
||||
<string name="settings_backup_restore_backup_failed">Varmuuskopio epäonnistunut: %1$s</string>
|
||||
<string name="detail_test_message_error_too_large">Viestiä ei voi lähettää: Liite on liian suuri.</string>
|
||||
<string name="settings_notifications_priority_low">matala</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_one">Tilattu yhteen topikkiin</string>
|
||||
<string name="settings_about_version_format">ntfy %1$s (%2$s)</string>
|
||||
<string name="settings_notifications_auto_download_summary_always">Lataa automaattisesti liitteet</string>
|
||||
<string name="user_dialog_title_edit">Muokkaa käyttäjää</string>
|
||||
<string name="settings_backup_restore_restore_successful">Palautus onnistui</string>
|
||||
<string name="settings_notifications_auto_delete_one_week">jälkeen seitsemän päivän</string>
|
||||
<string name="settings_backup_restore_restore_failed">Palautus epäonnistui: %1$s</string>
|
||||
<string name="settings_notifications_header">Ilmoitukset</string>
|
||||
<string name="detail_test_message">Tämä on testi-ilmoitus ntfy Android -sovelluksesta. Sillä on prioriteettitaso %1$d. Jos lähetät toisen, se voi näyttää erilaiselta.</string>
|
||||
<string name="detail_settings_appearance_icon_remove_title">Kuvake (napauta poistaaksesi)</string>
|
||||
<string name="share_suggested_topics">Ehdotetut topikit</string>
|
||||
<string name="detail_settings_appearance_display_name_message">Aseta tälle topikille mukautettu näyttönimi. Jätä tyhjäksi oletuksena (%1$s).</string>
|
||||
<string name="detail_settings_appearance_icon_error_saving">Ei voida tallentaa kuvaketta %1$s</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Oletusasetusten käyttäminen (äänet, Älä häiritse -tilan ohitus jne.)</string>
|
||||
<string name="detail_item_menu_cancel">Peruuta lataus</string>
|
||||
<string name="channel_notifications_high_name">Korkea tärkeys</string>
|
||||
<string name="settings_advanced_record_logs_title">Nauhoitetut logit</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Pidä hälytykset korkeimmalla tasolla</string>
|
||||
<string name="settings_notifications_min_priority_max">Vain maksimi ja ylittävät</string>
|
||||
<string name="settings_about_header">About</string>
|
||||
<string name="main_menu_donate_title">Lahjoita 💸</string>
|
||||
<string name="notification_dialog_8h">8 tuntia</string>
|
||||
<string name="detail_deep_link_subscribed_toast_message">Topikki %1$s tilattu</string>
|
||||
<string name="user_dialog_username_hint">Käyttäjätunnus</string>
|
||||
<string name="detail_menu_unsubscribe">Lopeta tilaus</string>
|
||||
<string name="settings_notifications_auto_download_always">Lataa automaattisesti kaikki</string>
|
||||
<string name="detail_menu_settings">Tilauksien asetukset</string>
|
||||
<string name="settings_notifications_auto_delete_never">Ei koskaan</string>
|
||||
<string name="main_item_status_unified_push">%1$s (Yleis Push)</string>
|
||||
<string name="detail_item_tags">Tagit %1$s</string>
|
||||
<string name="main_item_status_text_one">%1$d Huomautus</string>
|
||||
</resources>
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_notifications_low_name">Priorité basse</string>
|
||||
<string name="channel_notifications_default_name">Priorité par défaut</string>
|
||||
<string name="channel_notifications_low_name">Notifications (priorité basse)</string>
|
||||
<string name="channel_notifications_default_name">Notifications (priorité normale)</string>
|
||||
<string name="channel_subscriber_service_name">Abonnement</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Abonné à deux sujets à réception instantanée</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">Abonné à quatre sujets à réception instantanée</string>
|
||||
|
@ -19,11 +19,11 @@
|
|||
<string name="main_item_date_yesterday">hier</string>
|
||||
<string name="main_add_button_description">Ajout d\'abonnement</string>
|
||||
<string name="main_how_to_link">Des instructions détaillées sont disponible sur ntfy.sh et dans la documentation.</string>
|
||||
<string name="main_banner_battery_text">L\'optimisation de la batterie devrait être désactivée pour l\'application afin d\'éviter des problèmes de réception de notifications.</string>
|
||||
<string name="main_banner_battery_text">L\'optimisation de la pile devrait être désactivée pour l\'application afin d\'éviter des problèmes de réception de notifications.</string>
|
||||
<string name="main_banner_websocket_button_remind_later">Demander plus tard</string>
|
||||
<string name="main_banner_websocket_button_dismiss">Ignorer</string>
|
||||
<string name="add_dialog_topic_name_hint">Nom de sujet, ex. : phils_alerts</string>
|
||||
<string name="add_dialog_instant_delivery">Réception instantanée en mode économie d\'énergie</string>
|
||||
<string name="add_dialog_instant_delivery">Livraison instantanée en mode somnolence</string>
|
||||
<string name="add_dialog_button_cancel">Annuler</string>
|
||||
<string name="add_dialog_button_subscribe">Abonner</string>
|
||||
<string name="add_dialog_button_back">Retour</string>
|
||||
|
@ -53,9 +53,9 @@
|
|||
<string name="detail_action_mode_delete_dialog_permanently_delete">Supprimer définitivement</string>
|
||||
<string name="detail_action_mode_delete_dialog_message">Supprimer définitivement la ou les notification(s) sélectionnée(s) \?</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Abonné à un sujet à réception instantanée</string>
|
||||
<string name="channel_notifications_max_name">Priorité maximale</string>
|
||||
<string name="channel_notifications_min_name">Priorité minimale</string>
|
||||
<string name="channel_notifications_high_name">Priorité élevée</string>
|
||||
<string name="channel_notifications_max_name">Notifications (priorité maximale)</string>
|
||||
<string name="channel_notifications_min_name">Notifications (priorité minimale)</string>
|
||||
<string name="channel_notifications_high_name">Notifications (priorité élevée)</string>
|
||||
<string name="channel_subscriber_notification_title">Écoute les notifications entrantes</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Abonné aux sujets à réception instantanée</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">Abonné à trois sujets à réception instantanée</string>
|
||||
|
@ -105,7 +105,7 @@
|
|||
<string name="detail_test_message">Ceci est une notification de test depuis l\'application Android ntfy. Elle a une priorité de niveau %1$d. Si vous en envoyez une autre, elle pourrait avoir un apparence différente.</string>
|
||||
<string name="detail_test_message_error_unauthorized_anon">Incapable d\'envoyer le message : La publication anonyme est interdite.</string>
|
||||
<string name="detail_test_message_error_unauthorized_user">Incapable d\'envoyer le message : L\'utilisateur \"%1$s\" n\'est pas autorisé.</string>
|
||||
<string name="detail_test_message_error_too_large">Impossible d\'envoyer le message : La pièce jointe est trop lourde.</string>
|
||||
<string name="detail_test_message_error_too_large">Incapable d\'envoyer le message : La pièce jointe est trop large.</string>
|
||||
<string name="detail_instant_delivery_enabled">Livraison instantanée active</string>
|
||||
<string name="detail_item_snack_deleted">Notification supprimée</string>
|
||||
<string name="detail_item_menu_copy_url_copied">L\'URL a été copiée dans le presse-papier</string>
|
||||
|
@ -269,7 +269,7 @@
|
|||
<string name="settings_notifications_priority_min">min</string>
|
||||
<string name="settings_general_users_prefs_title">Utilisateurs</string>
|
||||
<string name="settings_general_dark_mode_summary_system">Utilisé le thème système</string>
|
||||
<string name="settings_notifications_min_priority_summary_any">Affichage de toutes les notifications</string>
|
||||
<string name="settings_notifications_min_priority_summary_any">Toutes les notifications</string>
|
||||
<string name="settings_notifications_priority_default">défaut</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_days">Supprimer automatiquement les notifications après 3 jours</string>
|
||||
<string name="settings_notifications_auto_delete_one_day">Après un jour</string>
|
||||
|
@ -299,7 +299,7 @@
|
|||
\n
|
||||
\nLes mots de passe sont nettoyés, mais ne sont pas listés ici.</string>
|
||||
<string name="detail_deep_link_subscribed_toast_message">Abonné au sujet %1$s</string>
|
||||
<string name="settings_notifications_channel_prefs_summary">Ignorer « ne pas déranger », sons, etc.</string>
|
||||
<string name="settings_notifications_channel_prefs_summary">Ignorer Ne pas déranger (DND), sons, etc.</string>
|
||||
<string name="notification_popup_user_action_failed">%1$s a échoué : %2$s</string>
|
||||
<string name="settings_notifications_channel_prefs_title">Paramètres du canal</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_six">Abonné à six sujets</string>
|
||||
|
@ -327,22 +327,4 @@
|
|||
<string name="detail_settings_about_topic_url_copied_to_clipboard_message">Copié au Presse-papier</string>
|
||||
<string name="detail_settings_about_header">À propos</string>
|
||||
<string name="detail_settings_about_topic_url_title">URL du sujet</string>
|
||||
<string name="channel_notifications_group_default_name">Défaut</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Conserver les notifications</string>
|
||||
<string name="main_menu_donate_title">Faire un don 💸</string>
|
||||
<string name="detail_item_cannot_open_apk">Les applications ne peuvent plus être installées. Veuillez les télécharger via un navigateur. Voir le ticket #531 pour plus de détails.</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Conserver les notifications avec une priorité maximale</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Paramètres personnalisés de la notification</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Affiche les notifications une fois seulement</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Utilisation de paramètres personnalisés pour cet abonnement</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Utilisation des paramètres par défaut (sons, ignorer « ne pas déranger », etc.)</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Les notifications avec une priorité maximale ne sont affichées qu\'une seule fois</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Configurer les paramètres de la notification</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Les notifications avec une priorité maximale sont affichées jusqu\'à ce qu\'elles soient rejetées</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Ignorer « ne pas déranger », sons, etc.</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy agira comme un distributeur UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy n\'agira pas comme un distributeur UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_title">Activer le \"UnifiedPush\"</string>
|
||||
<string name="eos_settings_enable_title">Activer le distributeur</string>
|
||||
<string name="eos_settings_enable_description">Cela permet aux applications tierces de recevoir des notifications UnifiedPush</string>
|
||||
</resources>
|
|
@ -1,346 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_notifications_min_name">Prioridade Min</string>
|
||||
<string name="channel_notifications_low_name">Prioridade baixa</string>
|
||||
<string name="channel_notifications_default_name">Prioridade por defecto</string>
|
||||
<string name="channel_notifications_high_name">Prioridade alta</string>
|
||||
<string name="channel_notifications_max_name">Prioridade Máx</string>
|
||||
<string name="channel_subscriber_service_name">Servizo de subscrición</string>
|
||||
<string name="channel_notifications_group_default_name">Por defecto</string>
|
||||
<string name="channel_subscriber_notification_title">Agardando por notificacións entrantes</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Subscrita ao envío instantáneo de asuntos</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Subscrita ao envío instantáneo dun asunto</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Subscrita ao envío instantáneo de dous asuntos</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">Subscrita ao envío instantáneo de tres asuntos</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">Subscrita ao envío instantáneo de catro asuntos</string>
|
||||
<string name="channel_subscriber_notification_instant_text_five">Subscrita ao envío instantáneo de cinco asuntos</string>
|
||||
<string name="channel_subscriber_notification_instant_text_six">Subscrita ao envío instantáneo de seis asuntos</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">Subscrita ao envío instantáneo de %1$d asuntos</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">Subscrita a asuntos</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_six">Subscrita a seis asuntos</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">Subscrita a %1$d asuntos</string>
|
||||
<string name="refresh_message_error">Non se actualizaron %1$d subscricións
|
||||
\n
|
||||
\n%2$s</string>
|
||||
<string name="refresh_message_error_one">Non se actualizou a subscrición: %1$s</string>
|
||||
<string name="main_action_bar_title">Asuntos subscritos</string>
|
||||
<string name="main_menu_notifications_enabled">Notificacións activadas</string>
|
||||
<string name="main_menu_notifications_disabled_forever">Notificacións acaladas</string>
|
||||
<string name="main_menu_notifications_disabled_until">Notificacións acaladas ata %1$s</string>
|
||||
<string name="main_menu_settings_title">Axustes</string>
|
||||
<string name="main_menu_report_bug_title">Informar dun fallo</string>
|
||||
<string name="main_menu_docs_title">Ler documentación</string>
|
||||
<string name="main_menu_rate_title">Valorar a app ⭐</string>
|
||||
<string name="main_menu_donate_title">Doar 💸</string>
|
||||
<string name="main_action_mode_menu_unsubscribe">Retirar subscrición</string>
|
||||
<string name="main_action_mode_delete_dialog_message">Retirar a subscrición ao(s) asunto(s) seleccionado(s) e eliminar definitivamente tódalas notificacións\?</string>
|
||||
<string name="main_action_mode_delete_dialog_permanently_delete">Eliminar definitivamente</string>
|
||||
<string name="main_action_mode_delete_dialog_cancel">Cancelar</string>
|
||||
<string name="main_item_status_text_one">%1$d notificación</string>
|
||||
<string name="main_item_status_text_not_one">%1$d notificacións</string>
|
||||
<string name="main_item_status_reconnecting">reconectando…</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_one">Subscrita a un asunto</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">Subscrita a dous asuntos</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_three">Subscrita a tres asuntos</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_four">Subscrita a catro asuntos</string>
|
||||
<string name="refresh_message_result">%1$d notificación(s) recibida(s)</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_five">Subscrita a cinco asuntos</string>
|
||||
<string name="refresh_message_no_results">Todo ao día</string>
|
||||
<string name="main_item_status_unified_push">%1$s (UnifiedPush)</string>
|
||||
<string name="main_item_date_yesterday">onte</string>
|
||||
<string name="main_how_to_intro">Preme no + para crear ou subscribirte a un tema. Posteriormente recibirás notificacións no teu dispositivo cando se envían mensaxes a través de PUT ou POST.</string>
|
||||
<string name="main_unified_push_toast">Esta subscrición está xestionada por %1$s a través de UnifiedPush</string>
|
||||
<string name="main_how_to_link">Instruccións detalladas dispoñibles en ntfy.sh, e na documentación.</string>
|
||||
<string name="main_add_button_description">Engadir subscrición</string>
|
||||
<string name="main_no_subscriptions_text">Semella que aínda non tes ningunha subscrición.</string>
|
||||
<string name="main_banner_battery_text">A optimización da batería debe estar desactivada para a app para evitar problemas coas notificacións.</string>
|
||||
<string name="main_banner_battery_button_remind_later">Preguntar máis tarde</string>
|
||||
<string name="main_banner_battery_button_dismiss">Desbotar</string>
|
||||
<string name="main_banner_battery_button_fix_now">Arranxar agora</string>
|
||||
<string name="main_banner_websocket_text">O cambio a WebSockets é o xeito recomendado para conectar co servidor, pode mellorar a vida da batería, pero pode requerir <a href="https://ntfy.sh/docs/config/#nginxapache2caddy">configuración adicional no teu proxy</a>. Pódese cambiar nos Axustes.</string>
|
||||
<string name="main_banner_websocket_button_remind_later">Preguntar máis tarde</string>
|
||||
<string name="main_banner_websocket_button_dismiss">Desbotar</string>
|
||||
<string name="main_banner_websocket_button_enable_now">Activar agora</string>
|
||||
<string name="add_dialog_title">Subscribir ao tema</string>
|
||||
<string name="add_dialog_description_below">Os temas poden non estar protexidos con contrasinal, escolle un nome dificil de adiviñar. Unha vez subscrito, podes PUT/POST notificacións.</string>
|
||||
<string name="add_dialog_topic_name_hint">Nome do tema, ex. alertas_xoan</string>
|
||||
<string name="add_dialog_use_another_server">Usar outro servidor</string>
|
||||
<string name="add_dialog_use_another_server_description">Escribe o URL do servizo para subscribirte a temas doutros servidores.</string>
|
||||
<string name="add_dialog_instant_delivery">Entrega inmediata en modo silencioso</string>
|
||||
<string name="add_dialog_instant_delivery_description">Asegura que as mensaxes se entregan de xeito inmediato, incluso se o dispositivo non está activo.</string>
|
||||
<string name="add_dialog_foreground_description">A entrega inmediata sempre está activa para hóspedes diferentes a %1$s.</string>
|
||||
<string name="add_dialog_button_cancel">Cancelar</string>
|
||||
<string name="add_dialog_button_subscribe">Subscribir</string>
|
||||
<string name="add_dialog_button_back">Atrás</string>
|
||||
<string name="add_dialog_button_login">Acceder</string>
|
||||
<string name="add_dialog_error_connection_failed">Fallou a conexión: %1$s</string>
|
||||
<string name="add_dialog_login_title">Require iniciar sesión</string>
|
||||
<string name="add_dialog_login_description">Este tema require que inicies sesión. Escribe as túas credenciais.</string>
|
||||
<string name="add_dialog_login_username_hint">Identificador</string>
|
||||
<string name="add_dialog_login_password_hint">Contrasinal</string>
|
||||
<string name="add_dialog_login_error_not_authorized">Fallou o acceso. A usuaria %1$s non está autorizada.</string>
|
||||
<string name="add_dialog_login_new_user">Nova usuaria</string>
|
||||
<string name="add_dialog_base_urls_dropdown_choose">Escribe URL do servizo</string>
|
||||
<string name="add_dialog_base_urls_dropdown_clear">Limpar URL do servizo</string>
|
||||
<string name="detail_no_notifications_text">Aínda non recibiches notificacións deste tema.</string>
|
||||
<string name="detail_how_to_example">Exemplo (usando curl): <br/><tt>$ curl -d \"Ola\" %1$s</tt></string>
|
||||
<string name="detail_how_to_link">Tes instruccións polo miúdo en ntfy.sh, e na documentación.</string>
|
||||
<string name="detail_clear_dialog_message">Eliminar todas as notificacións neste tema\?</string>
|
||||
<string name="detail_clear_dialog_permanently_delete">Eliminar permanentemente</string>
|
||||
<string name="detail_clear_dialog_cancel">Cancelar</string>
|
||||
<string name="detail_delete_dialog_message">Retirar subscrición ao tema e eliminar todas as notificacións recibidas\?</string>
|
||||
<string name="detail_delete_dialog_permanently_delete">Eliminar permanentemente</string>
|
||||
<string name="detail_delete_dialog_cancel">Cancelar</string>
|
||||
<string name="detail_test_title">Proba: podes poñerlle un título se queres.</string>
|
||||
<string name="detail_test_message">Esta é unha notificación de proba desde a app ntfy Android. Ten nivel %1$d de prioridade. Se envías outra, podería ser diferente.</string>
|
||||
<string name="detail_test_message_error">Non se enviou a mensaxe: %1$s</string>
|
||||
<string name="detail_test_message_error_unauthorized_anon">Non se enviou a mensaxe: Non está permitida a publicación anónima.</string>
|
||||
<string name="detail_test_message_error_unauthorized_user">Non se enviou a mensaxe: A usuaria \"%1$s\" non ten autorización.</string>
|
||||
<string name="detail_test_message_error_too_large">Non se enviou a mensaxe: O adxunto é demasiado grande.</string>
|
||||
<string name="detail_copied_to_clipboard_message">Copiado ao portapapeis</string>
|
||||
<string name="detail_instant_delivery_enabled">Entrega inmediata activada</string>
|
||||
<string name="detail_instant_delivery_disabled">Entrega inmediata desactivada</string>
|
||||
<string name="detail_deep_link_subscribed_toast_message">Subscrita ao tema %1$s</string>
|
||||
<string name="detail_item_tags">Etiquetas: %1$s</string>
|
||||
<string name="detail_item_snack_deleted">Notificación eliminada</string>
|
||||
<string name="detail_item_snack_undo">Desfacer</string>
|
||||
<string name="detail_item_menu_open">Abrir ficheiro</string>
|
||||
<string name="detail_item_menu_delete">Eliminar ficheiro</string>
|
||||
<string name="detail_item_menu_download">Descargar ficheiro</string>
|
||||
<string name="detail_item_menu_cancel">Cancelar descarga</string>
|
||||
<string name="detail_item_menu_save_file">Gardar ficheiro</string>
|
||||
<string name="detail_item_menu_copy_url">Copiar URL</string>
|
||||
<string name="detail_item_menu_copy_url_copied">URL copiado ao portapapeis</string>
|
||||
<string name="detail_item_menu_copy_contents">Copiar notificación</string>
|
||||
<string name="detail_item_menu_copy_contents_copied">Notificación copiada ao portapapeis</string>
|
||||
<string name="detail_item_saved_successfully">Gardado como \"%1$s\" no cartafol \"Descargas\"</string>
|
||||
<string name="detail_how_to_intro">Enviar notificacións a este tema, simplemente envía con PUT ou POST ao URL do tema.</string>
|
||||
<string name="detail_item_cannot_download">Non se pode abrir ou descargar o adxunto. A ligazón caducou e non se atopa un ficheiro local.</string>
|
||||
<string name="detail_item_cannot_open">Non se pode abrir: %1$s</string>
|
||||
<string name="detail_item_cannot_open_not_found">Non se pode abrir o adxunto: pode que fose eliminado, ou ningunha app instalada pode abrir o ficheiro.</string>
|
||||
<string name="detail_item_cannot_open_url">Non se pode abrir URL: %1$s</string>
|
||||
<string name="detail_item_cannot_open_apk">Xa non poden instalarse as apps. Descarga desde un navegador. Ver detalles no issue #531.</string>
|
||||
<string name="detail_item_cannot_save">Non se pode gardar o adxunto: %1$s</string>
|
||||
<string name="detail_item_cannot_delete">Non se pode borrar o adxunto: %1$s</string>
|
||||
<string name="detail_item_download_failed">Non se puido descargar o adxunto: %1$s</string>
|
||||
<string name="detail_item_download_info_not_downloaded">non descargado</string>
|
||||
<string name="detail_item_download_info_downloading_x_percent">%1$d%% descargado</string>
|
||||
<string name="detail_item_download_info_deleted_expires_x">eliminado, a ligazón caduca o %1$s</string>
|
||||
<string name="detail_item_download_info_download_failed">fallou a descarga</string>
|
||||
<string name="detail_item_download_info_download_failed_expired">fallou a descarga, caducou a ligazón</string>
|
||||
<string name="detail_item_download_info_download_failed_expires_x">fallou a descarga, a ligazón caduca %1$s</string>
|
||||
<string name="detail_menu_notifications_enabled">Notificación activas</string>
|
||||
<string name="detail_menu_notifications_disabled_forever">Notificacións acaladas</string>
|
||||
<string name="detail_menu_enable_instant">Activar entrega inmediata</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expires_x">non descargado, caduca %1$s</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expired">non descargado, caducou a ligazón</string>
|
||||
<string name="detail_item_download_info_deleted">eliminado</string>
|
||||
<string name="detail_item_download_info_deleted_expired">eliminado, caducou a ligazón</string>
|
||||
<string name="detail_menu_notifications_disabled_until">Notificacións acaladas ate %1$s</string>
|
||||
<string name="detail_menu_disable_instant">Desactivar o envío instantáneo</string>
|
||||
<string name="detail_menu_test">Enviar notificación de proba</string>
|
||||
<string name="detail_action_mode_delete_dialog_message">Eliminar a notificación(s) permanentemente\?</string>
|
||||
<string name="detail_action_mode_delete_dialog_permanently_delete">Eliminar permanentemente</string>
|
||||
<string name="detail_action_mode_delete_dialog_cancel">Cancelar</string>
|
||||
<string name="detail_settings_title">Axustes da subscrición</string>
|
||||
<string name="share_title">Compartir</string>
|
||||
<string name="share_content_title">Vista previa da mensaxe</string>
|
||||
<string name="share_content_image_error">Non se pode ler a imaxe: %1$s</string>
|
||||
<string name="share_content_file_text">Compartiron un ficheiro contigo</string>
|
||||
<string name="share_content_text_hint">Engadir aquí o contido para compartir</string>
|
||||
<string name="share_content_image_text">Compartiron unha imaxe contigo</string>
|
||||
<string name="share_content_file_error">Non se pode ler a info do ficheiro: %1$s</string>
|
||||
<string name="share_topic_title">Compartir con</string>
|
||||
<string name="share_suggested_topics">Temas suxeridos</string>
|
||||
<string name="share_successful">Mensaxe publicada</string>
|
||||
<string name="notification_dialog_cancel">Cancelar</string>
|
||||
<string name="notification_dialog_save">Gardar</string>
|
||||
<string name="notification_dialog_enabled_toast_message">Reactivadas as notificacións</string>
|
||||
<string name="notification_popup_file_download_successful">%1$s
|
||||
\nFicheiro: %2$s, descargado</string>
|
||||
<string name="notification_popup_file_download_failed">%1$s
|
||||
\nFicheiro: %2$s, fallou a descarga</string>
|
||||
<string name="notification_popup_user_action_failed">Fallo en %1$s: %2$s</string>
|
||||
<string name="settings_title">Axutes</string>
|
||||
<string name="settings_notifications_header">Notificacións</string>
|
||||
<string name="notification_dialog_title">Acalar notificacións</string>
|
||||
<string name="settings_notifications_muted_until_title">Acalar notificacións</string>
|
||||
<string name="settings_notifications_muted_until_show_all">Mostrando todas as notificacións</string>
|
||||
<string name="settings_notifications_min_priority_min">Calquera prioridade</string>
|
||||
<string name="settings_notifications_min_priority_low">Prioridade baixa ou superior</string>
|
||||
<string name="settings_notifications_min_priority_default">Prioridade por defecto e superior</string>
|
||||
<string name="detail_menu_copy_url">Copiar enderezo do tema</string>
|
||||
<string name="detail_menu_clear">Limpar todas as notificacións</string>
|
||||
<string name="detail_menu_settings">Axustes da subscrición</string>
|
||||
<string name="detail_menu_unsubscribe">Retirar subscrición</string>
|
||||
<string name="detail_action_mode_menu_copy">Copiar</string>
|
||||
<string name="detail_action_mode_menu_delete">Eliminar</string>
|
||||
<string name="share_menu_send">Compartir</string>
|
||||
<string name="notification_dialog_muted_forever_toast_message">Notificacións acaladas</string>
|
||||
<string name="notification_dialog_muted_until_toast_message">Acalar notificacións %1$s</string>
|
||||
<string name="notification_dialog_show_all">Mostrar todas as notificacións</string>
|
||||
<string name="notification_dialog_30min">30 minutos</string>
|
||||
<string name="notification_dialog_1h">1 hora</string>
|
||||
<string name="notification_dialog_2h">2 horas</string>
|
||||
<string name="notification_dialog_forever">Ata reactivalas</string>
|
||||
<string name="notification_dialog_8h">8 horas</string>
|
||||
<string name="notification_dialog_tomorrow">Ata mañán</string>
|
||||
<string name="notification_popup_action_open">Abrir</string>
|
||||
<string name="notification_popup_action_browse">Buscar</string>
|
||||
<string name="notification_popup_action_download">Descargar</string>
|
||||
<string name="notification_popup_action_cancel">Cancelar</string>
|
||||
<string name="notification_popup_file">%1$s
|
||||
\nFicheiro: %2$s</string>
|
||||
<string name="notification_popup_file_downloading">Descargando %1$s, %2$d%%
|
||||
\n%3$s</string>
|
||||
<string name="settings_notifications_muted_until_forever">Notificacións acaladas ata retomalas</string>
|
||||
<string name="settings_notifications_muted_until_x">Notificacións acaladas ate %1$s</string>
|
||||
<string name="settings_notifications_min_priority_title">Prioridade mínima</string>
|
||||
<string name="settings_notifications_min_priority_summary_any">Mostrando todas as notificacións</string>
|
||||
<string name="settings_notifications_min_priority_summary_x_or_higher">Mostrar notificacións se a prioridade é %1$d (%2$s) ou superior</string>
|
||||
<string name="settings_notifications_min_priority_summary_max">Mostrar notificacións se a prioridade é 5 (máx.)</string>
|
||||
<string name="settings_notifications_min_priority_high">Alta prioridade ou superior</string>
|
||||
<string name="settings_notifications_min_priority_max">Só máxima prioridade</string>
|
||||
<string name="settings_notifications_priority_min">mínima</string>
|
||||
<string name="settings_notifications_priority_low">baixa</string>
|
||||
<string name="settings_notifications_channel_prefs_title">Axustes da canle</string>
|
||||
<string name="settings_notifications_priority_default">por defecto</string>
|
||||
<string name="settings_notifications_priority_high">alta</string>
|
||||
<string name="settings_notifications_priority_max">máxima</string>
|
||||
<string name="settings_notifications_channel_prefs_summary">Obviar Non Molestar (DND), sons, etc.</string>
|
||||
<string name="settings_notifications_auto_download_title">Descargar adxuntos</string>
|
||||
<string name="settings_notifications_auto_download_summary_always">Descarga automática dos adxuntos</string>
|
||||
<string name="settings_notifications_auto_download_summary_never">Non descargar automaticamente os adxuntos</string>
|
||||
<string name="settings_notifications_auto_download_summary_smaller_than_x">Descarga automática dos adxuntos ata %1$s</string>
|
||||
<string name="settings_notifications_auto_download_never">Non descargar nunca automaticamente</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_week">Eliminar automaticamene as notificacións após unha semana</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_month">Eliminar automaticamente as notificacións após un mes</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_months">Eliminar automaticamente as notificacións após 3 meses</string>
|
||||
<string name="settings_notifications_auto_delete_never">Nunca</string>
|
||||
<string name="settings_notifications_auto_delete_one_day">Após un día</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Manter as alertas da prioridade máis alta ata que se desboten</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Notificar as alertas da máxima prioridade só unha vez</string>
|
||||
<string name="settings_general_header">Xeral</string>
|
||||
<string name="settings_general_default_base_url_title">Servidor por defecto</string>
|
||||
<string name="settings_general_default_base_url_default_summary">%1$s (por defecto)</string>
|
||||
<string name="settings_general_users_title">Xestionar usuarias</string>
|
||||
<string name="settings_general_users_summary">Engade/elimina usuarias dos temas protexidos</string>
|
||||
<string name="settings_general_users_prefs_title">Usuarias</string>
|
||||
<string name="settings_general_users_prefs_user_not_used">Non utilizado por ningún tema</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_one">Usado polo tema %1$s</string>
|
||||
<string name="settings_general_users_prefs_user_add">Engadir usuarias</string>
|
||||
<string name="settings_general_users_prefs_user_add_title">Engadir nova usuaria</string>
|
||||
<string name="settings_general_users_prefs_user_add_summary">Crear unha nova usuaria para un novo servidor</string>
|
||||
<string name="settings_general_dark_mode_title">Modo escuro</string>
|
||||
<string name="settings_general_dark_mode_summary_system">Seguir o establecido no sistema</string>
|
||||
<string name="settings_general_dark_mode_summary_light">Modo claro activado</string>
|
||||
<string name="settings_general_dark_mode_summary_dark">Modo escuro activado. Es un morcego\?</string>
|
||||
<string name="settings_general_dark_mode_entry_system">Seguir ao sistema</string>
|
||||
<string name="settings_general_dark_mode_entry_light">Modo claro</string>
|
||||
<string name="settings_general_dark_mode_entry_dark">Modo escuro</string>
|
||||
<string name="settings_backup_restore_header">Copia e Restablecemento</string>
|
||||
<string name="settings_backup_restore_backup_title">Copia de apoio nun ficheiro</string>
|
||||
<string name="settings_backup_restore_backup_summary">Exportar configuración, notificacións e usuarias</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything">Todo</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything_no_users">Todo, menos as usuarias</string>
|
||||
<string name="settings_backup_restore_backup_entry_settings_only">Só os axustes</string>
|
||||
<string name="settings_backup_restore_backup_successful">Copia creada</string>
|
||||
<string name="settings_backup_restore_backup_failed">Fallou a copia: %1$s</string>
|
||||
<string name="settings_notifications_auto_download_always">Descargar todo automaticamente</string>
|
||||
<string name="settings_notifications_auto_download_100k">Se inferior a 100 kB</string>
|
||||
<string name="settings_notifications_auto_download_500k">Se inferior a 500 kB</string>
|
||||
<string name="settings_notifications_auto_download_1m">Se inferior a 1 MB</string>
|
||||
<string name="settings_notifications_auto_download_5m">Se inferior a 5 MB</string>
|
||||
<string name="settings_notifications_auto_download_10m">Se inferior a 10 MB</string>
|
||||
<string name="settings_notifications_auto_download_50m">Se inferior a 50 MB</string>
|
||||
<string name="settings_notifications_auto_delete_title">Eliminar notificacións</string>
|
||||
<string name="settings_notifications_auto_delete_summary_never">Non eliminar nunca automaticamente as notificacións</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_day">Eliminar automaticamente as notificacións após un día</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_days">Eliminar automaticamente as notificacións após 3 días</string>
|
||||
<string name="settings_notifications_auto_delete_three_days">Após 3 días</string>
|
||||
<string name="settings_notifications_auto_delete_one_week">Após unha semana</string>
|
||||
<string name="settings_notifications_auto_delete_one_month">Após un mes</string>
|
||||
<string name="settings_notifications_auto_delete_three_months">Após 3 meses</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Manter as alertas da prioridade máis alta</string>
|
||||
<string name="settings_general_default_base_url_message">Escribe o enderezo URL raíz do teu servidor para usar o servidor propio por defecto cando te subscribas a novos temas e/ou compartas os temas.</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_many">Usado polos temas %1$s</string>
|
||||
<string name="settings_advanced_broadcast_summary_enabled">As app poden recibir notificacións entrantes como difusións</string>
|
||||
<string name="settings_advanced_broadcast_summary_disabled">As app non poden recibir notificacións entrantes como difusións</string>
|
||||
<string name="settings_backup_restore_restore_failed">Fallou o restablecemento: %1$s</string>
|
||||
<string name="settings_advanced_header">Avanzado</string>
|
||||
<string name="settings_advanced_broadcast_title">Mensaxes de difusión</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_text">Estes temas e nomes de servidor serán substituídos por nomes de froita, así podes compartilos sen problema:
|
||||
\n
|
||||
\n%1$s
|
||||
\n
|
||||
\nOs contrasinais son anulados, pero non aparecen aquí.</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_button_ok">OK</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_ws">Usar WebSockets para conectar co servidor. Este é o método recomendado, pero podería precisar configuración adicional no teu proxy.</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_jsonhttp">Fluxo JSON sobre HTTP</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_ws">WebSockets</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_jsonhttp">Usar un fluxo JSON sobre HTTP para conectar co servidor. Este método é robusto, pero podería consumir máis batería.</string>
|
||||
<string name="settings_about_version_copied_to_clipboard_message">Copiado ao portapapeis</string>
|
||||
<string name="detail_settings_notifications_instant_title">Entrega inmediata</string>
|
||||
<string name="settings_about_header">Acerca de</string>
|
||||
<string name="settings_about_version_title">Versión</string>
|
||||
<string name="settings_about_version_format">ntfy %1$s (%2$s)</string>
|
||||
<string name="detail_settings_notifications_instant_summary_off">Notificacións entregadas usando Firebase. A entrega podería sufrir demora, pero consume menos batería.</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Axustes personais de notificación</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Usar axustes personais para esta subscrición</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Usar axustes por defecto (sons, obviar Non Molestar, etc.)</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Obviar Non Molestar (DND), sons, etc.</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Configurar axustes da notificación</string>
|
||||
<string name="detail_settings_appearance_icon_error_saving">Non se gardou a icona: %1$s</string>
|
||||
<string name="detail_settings_appearance_display_name_title">Nome mostrado</string>
|
||||
<string name="detail_settings_about_topic_url_copied_to_clipboard_message">Copiado ao portapapeis</string>
|
||||
<string name="settings_backup_restore_restore_title">Restablecer desde ficheiro</string>
|
||||
<string name="settings_backup_restore_restore_summary">Importar configuración, notificacións e usuarias</string>
|
||||
<string name="settings_backup_restore_restore_successful">Restablecemento correcto</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">nfty actuará como distribuidora UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">nfty non actuará como distribuidora UnifiedPush</string>
|
||||
<string name="settings_advanced_record_logs_title">Gravar rexistros</string>
|
||||
<string name="settings_advanced_record_logs_summary_enabled">Gravando (ata 1000 entradas) no dispositivo…</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">Activar rexistro, así poderás compartir os rexistros para diagnosticar problemas.</string>
|
||||
<string name="settings_advanced_clear_logs_title">Limpar rexistros</string>
|
||||
<string name="settings_advanced_export_logs_title">Copiar/subir rexistros</string>
|
||||
<string name="settings_advanced_export_logs_summary">Copia os rexistros ao portapapeis, ou súbeos a nopaste.net (propiedade de ntfy). Os nomes de servidor e temas poden agocharse, as notificacións non.</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_original">Copiar ao portapapeis</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_scrubbed">Copiar ao portapapeis (censurado)</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_original">Subir e copiar ligazón</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_scrubbed">Subir e copiar ligazón (censurado)</string>
|
||||
<string name="settings_advanced_export_logs_copied_logs">Rexistros copiados ao portapapeis</string>
|
||||
<string name="settings_advanced_export_logs_uploading">Subindo o rexistro …</string>
|
||||
<string name="settings_advanced_export_logs_copied_url">Rexistros subidos e URL copiado</string>
|
||||
<string name="settings_advanced_export_logs_error_uploading">Non se puido subir o rexistro: %1$s</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_empty">Non se editaron temas/servidores. Non tes ningunha subscrición\?</string>
|
||||
<string name="settings_advanced_clear_logs_summary">Eliminar os rexistros anteriores e volver a comezar</string>
|
||||
<string name="settings_advanced_clear_logs_deleted_toast">Rexistros eliminados</string>
|
||||
<string name="settings_advanced_connection_protocol_title">Protocolo de conexión</string>
|
||||
<string name="detail_settings_notifications_instant_summary_on">As notificacións entregaranse inmediatamente. Require un servizo en segundo plano e consume máis batería.</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Seguir avisando</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Avisar só unha vez</string>
|
||||
<string name="detail_settings_appearance_header">Aspecto</string>
|
||||
<string name="detail_settings_appearance_icon_set_title">Icona da subscrición</string>
|
||||
<string name="detail_settings_appearance_icon_set_summary">Establecer a icona a mostrar na notificación</string>
|
||||
<string name="detail_settings_appearance_icon_remove_title">Icona da subscrición (toca para eliminar)</string>
|
||||
<string name="detail_settings_appearance_icon_remove_summary">Icona mostrada na notificación deste tema</string>
|
||||
<string name="user_dialog_button_add">Engadir usuaria</string>
|
||||
<string name="detail_settings_appearance_display_name_message">Establece o nome para mostrar para esta subscrición. Deixa en branco para valor por defecto (%1$s).</string>
|
||||
<string name="detail_settings_appearance_display_name_default_summary">%1$s (por defecto)</string>
|
||||
<string name="detail_settings_global_setting_title">Usar axuste global</string>
|
||||
<string name="detail_settings_global_setting_suffix">usando o axuste global</string>
|
||||
<string name="detail_settings_about_header">Acerca de</string>
|
||||
<string name="detail_settings_about_topic_url_title">URL do tema</string>
|
||||
<string name="user_dialog_title_add">Engadir usuaria</string>
|
||||
<string name="user_dialog_button_cancel">Cancelar</string>
|
||||
<string name="user_dialog_button_delete">Eliminar usuaria</string>
|
||||
<string name="user_dialog_button_save">Gardar</string>
|
||||
<string name="settings_advanced_unifiedpush_title">Activar UnifiedPush</string>
|
||||
<string name="user_dialog_title_edit">Editar usuaria</string>
|
||||
<string name="user_dialog_description_add">Podes engadir aquí unha usuaria. Todos os temas do servidor indicado usarán esta usuaria.</string>
|
||||
<string name="user_dialog_description_edit">Podes editar as credenciais da usuaria seleccionada, ou eliminala.</string>
|
||||
<string name="user_dialog_base_url_hint">URL do servizo</string>
|
||||
<string name="user_dialog_username_hint">Identificador</string>
|
||||
<string name="user_dialog_password_hint_add">Contrasinal</string>
|
||||
<string name="user_dialog_password_hint_edit">Contrasinal (baleiro para non cambiar)</string>
|
||||
</resources>
|
|
@ -1,92 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_notifications_default_name">महत्वपूर्ण</string>
|
||||
<string name="channel_notifications_high_name">ज्यादा महत्वपूर्ण</string>
|
||||
<string name="channel_notifications_max_name">बहुत ज्यादा महत्वपूर्ण</string>
|
||||
<string name="channel_notifications_group_default_name">साधारण</string>
|
||||
<string name="channel_notifications_min_name">बहुत कम महत्त्व</string>
|
||||
<string name="channel_notifications_low_name">कम महत्व</string>
|
||||
<string name="channel_subscriber_service_name">सदस्यता सेवा</string>
|
||||
<string name="channel_subscriber_notification_title">आने वाली सूचनाओं को सुनना</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">दो त्वरित वितरण विषय का जानना</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">तीन त्वरित वितरण विषय का जानना</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">चार त्वरित वितरण विषय का जानना</string>
|
||||
<string name="channel_subscriber_notification_instant_text">त्वरित वितरण विषय का जानना</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">एक त्वरित वितरण विषय का जानना</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">%1$d त्वरित वितरण विषयों का जानना</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">विषयों का जानना</string>
|
||||
<string name="channel_subscriber_notification_instant_text_six">छह त्वरित वितरण विषयों का जानना</string>
|
||||
<string name="channel_subscriber_notification_instant_text_five">पाँच त्वरित वितरण विषयों का जानना</string>
|
||||
<string name="add_dialog_login_password_hint">पासवर्ड</string>
|
||||
<string name="add_dialog_login_error_not_authorized">लॉगिन विफल। उपयोगकर्ता %1$s अधिकृत नहीं है।</string>
|
||||
<string name="add_dialog_foreground_description">%1$s के अलावा अन्य मेज़बानों के लिए तत्काल डिलीवरी हमेशा चालू रहती है।</string>
|
||||
<string name="add_dialog_login_new_user">नया उपयोगकर्ता</string>
|
||||
<string name="add_dialog_login_title">लॉगिन आवश्यक</string>
|
||||
<string name="main_menu_rate_title">एप को रेट करें</string>
|
||||
<string name="main_item_status_text_not_one">%1$d सूचनाएं</string>
|
||||
<string name="refresh_message_result">%1$d सूचना(एं ) प्राप्त</string>
|
||||
<string name="detail_no_notifications_text">इस विषय पर आपको अभी तक कोई सूचना नहीं मिली है।</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">दो विषयों की सदस्यता</string>
|
||||
<string name="main_no_subscriptions_text">ऐसा लगता है कि आपके पास अभी तक कोई सदस्यता नहीं है।</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">%1$d विषयों की सदस्यता</string>
|
||||
<string name="main_banner_battery_button_fix_now">अब ठीक करें</string>
|
||||
<string name="main_menu_notifications_enabled">सूचनाएं चालू</string>
|
||||
<string name="main_menu_notifications_disabled_forever">सूचनाएं मौन</string>
|
||||
<string name="main_banner_websocket_button_remind_later">बाद में पूछें</string>
|
||||
<string name="main_add_button_description">सदस्यता जोड़ें</string>
|
||||
<string name="main_action_mode_delete_dialog_permanently_delete">स्थायी रूप से मिटाएं</string>
|
||||
<string name="add_dialog_description_below">सम्भवतः विषय पासवर्ड से सुरक्षित नहीं हो सकते हैं, इसलिए ऐसा नाम चुनें जिसका अनुमान लगाना कठिन हो। एक बार सदस्यता लेने के बाद, आप सूचनाएं PUT/POST कर सकते हैं।</string>
|
||||
<string name="main_item_status_reconnecting">फिर से जुड़ रहा है…</string>
|
||||
<string name="add_dialog_instant_delivery_description">यह सुनिश्चित करता है कि डिवाइस निष्क्रिय होने पर भी संदेश तुरंत वितरित हो।</string>
|
||||
<string name="main_menu_notifications_disabled_until">सूचनाएं मौन जब तक %1$s</string>
|
||||
<string name="main_banner_websocket_button_enable_now">अब चालू करें</string>
|
||||
<string name="main_item_date_yesterday">बीता हुआ कल</string>
|
||||
<string name="main_banner_battery_button_remind_later">बाद में पूछें</string>
|
||||
<string name="main_how_to_link">विस्तृत निर्देश ntfy.sh और दस्तावेज़ों में उपलब्ध हैं।</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_four">चार विषयों की सदस्यता</string>
|
||||
<string name="add_dialog_use_another_server_description">दूसरे सर्वर्स के विषयों की सदस्यता लेने के लिए सर्विस URLs दर्ज करें।</string>
|
||||
<string name="main_unified_push_toast">यह सदस्यता UnifiedPush के माध्यम से %1$s द्वारा प्रबंधित की जाती है</string>
|
||||
<string name="main_menu_report_bug_title">खराबी रिपोर्ट करें</string>
|
||||
<string name="add_dialog_button_cancel">रद्द</string>
|
||||
<string name="add_dialog_topic_name_hint">विषय का नाम, उदा. phils_alerts</string>
|
||||
<string name="add_dialog_error_connection_failed">कनेक्शन विफल हुआ: %1$s</string>
|
||||
<string name="main_action_mode_delete_dialog_cancel">रद्द करना</string>
|
||||
<string name="add_dialog_button_subscribe">सदस्यता लें</string>
|
||||
<string name="add_dialog_button_login">लॉग इन करें</string>
|
||||
<string name="refresh_message_error_one">सदस्यताएं रिफ्रेश नहीं हो सकी: %1$s</string>
|
||||
<string name="add_dialog_login_username_hint">यूजरनेम</string>
|
||||
<string name="add_dialog_use_another_server">दूसरे सर्वर का प्रयोग करें</string>
|
||||
<string name="add_dialog_base_urls_dropdown_choose">सर्विस URL का चयन करें</string>
|
||||
<string name="add_dialog_instant_delivery">Doze मोड में तुरंत डिलीवरी</string>
|
||||
<string name="main_banner_battery_text">अधिसूचना वितरण समस्याओं से बचने के लिए ऐप के लिए बैटरी ऑप्टिमाइजेशन बंद होना चाहिए।</string>
|
||||
<string name="main_action_mode_delete_dialog_message">चयनित विषय(विषयों) से सदस्यता समाप्त करें और सभी सूचनाएं स्थायी रूप से हटा दें\?</string>
|
||||
<string name="refresh_message_error">%1$d सदस्यताएं रिफ्रेश नहीं हो सकी
|
||||
\n
|
||||
\n%2$s</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_six">छह विषयों की सदस्यता</string>
|
||||
<string name="main_banner_battery_button_dismiss">रद्द करें</string>
|
||||
<string name="main_menu_settings_title">सेटिंग्स</string>
|
||||
<string name="main_how_to_intro">किसी विषय को बनाने या उसकी सदस्यता लेने के लिए + पर क्लिक करें। बाद में PUT या POST के माध्यम से संदेश भेजते समय आपको अपने डिवाइस पर सूचनाएं प्राप्त होती हैं।</string>
|
||||
<string name="main_action_bar_title">सदस्यता लिए गए विषय</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_three">तीन विषयों की सदस्यता</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_five">पांच विषयों की सदस्यता</string>
|
||||
<string name="main_action_mode_menu_unsubscribe">सदस्यता रद्द</string>
|
||||
<string name="add_dialog_login_description">इस विषय के लिए आपको लॉगिन करना होगा। कृपया यूजरनेम और पासवर्ड टाइप करें।</string>
|
||||
<string name="main_menu_docs_title">दस्तावेज़ पढ़ें</string>
|
||||
<string name="refresh_message_no_results">सब कुछ नवीनतम जानकारी से युक्त</string>
|
||||
<string name="main_banner_websocket_button_dismiss">रद्द करें</string>
|
||||
<string name="add_dialog_base_urls_dropdown_clear">सर्विस URL हटाएं</string>
|
||||
<string name="add_dialog_title">विषय की सदस्यता लें</string>
|
||||
<string name="add_dialog_button_back">पीछे जाएं</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_one">एक विषय की सदस्यता</string>
|
||||
<string name="main_menu_donate_title">दान करें</string>
|
||||
<string name="main_item_status_text_one">%1$d सूचना</string>
|
||||
<string name="detail_clear_dialog_cancel">रद्द करें</string>
|
||||
<string name="detail_delete_dialog_cancel">रद्द करें</string>
|
||||
<string name="detail_how_to_link">विस्तृत निर्देश ntfy.sh पर और डॉक्स में उपलब्ध हैं।</string>
|
||||
<string name="detail_clear_dialog_permanently_delete">स्थायी रूप से हटाएं</string>
|
||||
<string name="detail_how_to_intro">इस विषय पर सूचनाएं भेजने के लिए, बस विषय URL पर PUT या POST करें।</string>
|
||||
<string name="detail_how_to_example">उदाहरण (curl का उपयोग करके):<br/><tt>$curl -d \"नमस्कार\"%1$s</tt></string>
|
||||
<string name="detail_clear_dialog_message">इस विषय की सभी सूचनाएँ हटाएँ?</string>
|
||||
<string name="main_banner_websocket_text">WebSockets पर स्विच करना आपके सर्वर से कनेक्ट करने का अनुशंसित तरीका है, और बैटरी जीवन में सुधार कर सकता है, लेकिन आपके <a href="https://ntfy.sh/docs/config/#nginxapache2caddy">proxy में अतिरिक्त कॉन्फ़िगरेशन</a> की आवश्यकता हो सकती है। इसे सेटिंग्स में टॉगल किया जा सकता है।</string>
|
||||
</resources>
|
||||
<resources></resources>
|
|
@ -16,11 +16,11 @@
|
|||
<string name="main_add_button_description">Feliratkozás hozzáadása</string>
|
||||
<string name="main_no_subscriptions_text">Úgy néz ki hogy még nincsen egy feliratkozás sem.</string>
|
||||
<string name="main_how_to_intro">Kattintson a + ra hogy létrehozzon vagy feliratkozzon egy témára. Aztán mikor PUT vagy POST-al küld üzeneteket, értesítéseket kap a készülékén.</string>
|
||||
<string name="channel_notifications_min_name">Minimum prioritás</string>
|
||||
<string name="channel_notifications_low_name">Alacsony prioritás</string>
|
||||
<string name="channel_notifications_default_name">Alapértelmezett prioritás</string>
|
||||
<string name="channel_notifications_max_name">Maximum prioritás</string>
|
||||
<string name="channel_notifications_high_name">Magas prioritás</string>
|
||||
<string name="channel_notifications_min_name">Értesítések (minimum prioritás)</string>
|
||||
<string name="channel_notifications_low_name">Értesítések (alacsony prioritás)</string>
|
||||
<string name="channel_notifications_default_name">Értesítések (alap prioritás)</string>
|
||||
<string name="channel_notifications_max_name">Értesítések (maximum prioritás)</string>
|
||||
<string name="channel_notifications_high_name">Értesítések (magas prioritás)</string>
|
||||
<string name="channel_subscriber_service_name">Feliratkozó Szolgálat</string>
|
||||
<string name="channel_subscriber_notification_title">Bejövő üzenetek fogadása</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Feliratkozva azonnal kézbesített témákra</string>
|
||||
|
@ -49,88 +49,4 @@
|
|||
<string name="main_action_mode_delete_dialog_message">Leiratkozás a kiválasztott témá(k)-ról és végleges törlése minden üzenetnek\?</string>
|
||||
<string name="main_item_status_text_one">%1$d értesítés</string>
|
||||
<string name="main_action_mode_delete_dialog_cancel">Mégse</string>
|
||||
<string name="channel_notifications_group_default_name">Alapértelmezett</string>
|
||||
<string name="main_menu_donate_title">Adomány 💸</string>
|
||||
<string name="main_banner_websocket_button_dismiss">Bezár</string>
|
||||
<string name="add_dialog_instant_delivery_description">Garantálja az azonnali üzenetküldést, akkor is, ha az eszköz inaktív.</string>
|
||||
<string name="add_dialog_foreground_description">Az azonnali üzenetküldés mindig bekapcsolva a %1$s címen kívül.</string>
|
||||
<string name="add_dialog_button_login">Bejelentkezés</string>
|
||||
<string name="add_dialog_error_connection_failed">Kapcsolódási hiba: %1$s</string>
|
||||
<string name="add_dialog_login_title">Bejelentkezés szükséges</string>
|
||||
<string name="add_dialog_login_description">Ehhez a témához be kell jelentkezni. Kérem add meg a felhasználó nevedet és jelszavadat!</string>
|
||||
<string name="add_dialog_login_username_hint">Felhasználó</string>
|
||||
<string name="add_dialog_login_new_user">Új felhasználó</string>
|
||||
<string name="detail_how_to_link">Részletes leírás elérhető a ntfy.sh oldalon és a dokumentációban.</string>
|
||||
<string name="detail_clear_dialog_permanently_delete">Végleges törlés</string>
|
||||
<string name="detail_clear_dialog_cancel">Mégse</string>
|
||||
<string name="detail_delete_dialog_message">Leiratkozás a témáról és az összes értesítés törlése\?</string>
|
||||
<string name="detail_delete_dialog_cancel">Mégse</string>
|
||||
<string name="detail_test_title">Teszt: Beállíthatsz témát, ha szeretnél.</string>
|
||||
<string name="detail_item_snack_deleted">Értesítés törölve</string>
|
||||
<string name="detail_item_menu_download">Fájl letöltése</string>
|
||||
<string name="detail_test_message_error_unauthorized_user">Nem sikerült az üzenetet elküldeni: A \"%1$s\" felhasználó jogosultságai nem megfelelőek.</string>
|
||||
<string name="detail_item_menu_copy_url_copied">URL a vágólapra másolva</string>
|
||||
<string name="detail_item_menu_copy_contents">Értesítés másolása</string>
|
||||
<string name="add_dialog_title">Feliratokozás a témára</string>
|
||||
<string name="main_banner_websocket_button_enable_now">Engedélyezés most</string>
|
||||
<string name="add_dialog_instant_delivery">Azonnali küldés dózis módban</string>
|
||||
<string name="add_dialog_login_password_hint">Jelszó</string>
|
||||
<string name="add_dialog_login_error_not_authorized">Bejelentkezési hiba. A %1$s felhasználó nem azonosítható.</string>
|
||||
<string name="detail_clear_dialog_message">Töröljük az összes értesítést ebben a témában\?</string>
|
||||
<string name="detail_test_message_error_too_large">Nem sikerült az üzenetet elküldeni: A csatolmány túl nagy.</string>
|
||||
<string name="detail_deep_link_subscribed_toast_message">Feliratkozva a %1$s témára</string>
|
||||
<string name="detail_item_menu_copy_contents_copied">Értesítés a vágólapra másolva</string>
|
||||
<string name="main_banner_battery_button_remind_later">Később</string>
|
||||
<string name="main_how_to_link">Részletes leírás elérhető a ntfy.sh oldalon és a dokumentációban.</string>
|
||||
<string name="main_banner_battery_text">Az akkumulátor optimalizáció kikapcsolása javasolt az értesítési problémák elkerülésére.</string>
|
||||
<string name="main_banner_websocket_button_remind_later">Később</string>
|
||||
<string name="main_banner_battery_button_dismiss">Bezár</string>
|
||||
<string name="main_banner_battery_button_fix_now">Javítás most</string>
|
||||
<string name="add_dialog_description_below">A témák nem feltétlenül jelszóval védettek, ezért válassz olyan nevet, amelyet nehéz kitalálni! Ha feliratkoztál, akkor küldhetsz PUT/POST értesítéseket.</string>
|
||||
<string name="add_dialog_topic_name_hint">Téma neve, pl. tibi_jelzesei</string>
|
||||
<string name="add_dialog_use_another_server">Használj másik szervert</string>
|
||||
<string name="add_dialog_use_another_server_description">Add meg a szolgáltatók címét alább, hogy más szerveren futó témákra is feliratkozhass.</string>
|
||||
<string name="add_dialog_button_subscribe">Feliratkozás</string>
|
||||
<string name="add_dialog_button_back">Vissza</string>
|
||||
<string name="detail_no_notifications_text">Még nem érkezett értesítés ebben a témában.</string>
|
||||
<string name="detail_delete_dialog_permanently_delete">Végleges törlés</string>
|
||||
<string name="detail_test_message_error_unauthorized_anon">Nem sikerült az üzenetet elküldni: A névtelen publikálás nem engedélyezett.</string>
|
||||
<string name="detail_copied_to_clipboard_message">Vágólapra másolva</string>
|
||||
<string name="detail_instant_delivery_enabled">Azonnali küldés bekapcsolva</string>
|
||||
<string name="detail_instant_delivery_disabled">Azonnali küldés kikapcsolva</string>
|
||||
<string name="detail_item_menu_open">Fájl megnyitása</string>
|
||||
<string name="detail_item_menu_delete">Fájl törlése</string>
|
||||
<string name="detail_item_menu_copy_url">URL másolása</string>
|
||||
<string name="detail_item_menu_cancel">Letöltés leállítása</string>
|
||||
<string name="detail_item_menu_save_file">Fájl mentése</string>
|
||||
<string name="detail_item_cannot_download">Nem sikerült a melléklet megnyitása vagy letöltése. A link lejárt és a helyi fájl nem található.</string>
|
||||
<string name="detail_item_cannot_open">A melléklet nem nyitható meg: %1$s</string>
|
||||
<string name="detail_item_cannot_open_not_found">A melléklet nem nyitható meg: A fájl törölve lett, vagy nincs megfelelő alkalmazás telepítve a megnyitáshoz.</string>
|
||||
<string name="detail_item_saved_successfully">Mentve \"%1$s\" néven a \"Downloads\" mappába</string>
|
||||
<string name="detail_item_cannot_open_url">Az URL nem nyitható meg: %1$s</string>
|
||||
<string name="add_dialog_button_cancel">Mégse</string>
|
||||
<string name="detail_test_message">Ez egy teszt értesítés az Android ntfy alkalmazásból. A beállított prioritás %1$d. Ha küldesz egy újat nem feltétlenül így fog kinézni.</string>
|
||||
<string name="detail_test_message_error">Nem sikerült az üzenetet elküldeni: %1$s</string>
|
||||
<string name="detail_item_snack_undo">Visszavon</string>
|
||||
<string name="detail_item_download_info_deleted">törölve</string>
|
||||
<string name="detail_menu_unsubscribe">Leiratkozás</string>
|
||||
<string name="detail_action_mode_menu_copy">Másolás</string>
|
||||
<string name="detail_action_mode_menu_delete">Törlés</string>
|
||||
<string name="share_menu_send">Megosztás</string>
|
||||
<string name="notification_dialog_30min">30 perc</string>
|
||||
<string name="notification_dialog_1h">1 óra</string>
|
||||
<string name="notification_popup_action_cancel">Mégse</string>
|
||||
<string name="detail_action_mode_delete_dialog_cancel">Mégse</string>
|
||||
<string name="notification_dialog_save">Mentés</string>
|
||||
<string name="notification_dialog_show_all">Összes értesítés mutatása</string>
|
||||
<string name="notification_dialog_muted_forever_toast_message">Értesítések lenémítva</string>
|
||||
<string name="notification_dialog_2h">2 óra</string>
|
||||
<string name="notification_dialog_8h">8 óra</string>
|
||||
<string name="settings_title">Beállítások</string>
|
||||
<string name="detail_item_download_info_downloading_x_percent">%1$d%% letöltve</string>
|
||||
<string name="share_title">Megosztás</string>
|
||||
<string name="notification_dialog_title">Értesítések némítása</string>
|
||||
<string name="notification_dialog_cancel">Mégse</string>
|
||||
<string name="settings_notifications_header">Értesítések</string>
|
||||
<string name="settings_notifications_muted_until_title">Értesítések némítása</string>
|
||||
</resources>
|
|
@ -1,12 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_subscriber_notification_noinstant_text">Berlangganan ke topik</string>
|
||||
<string name="channel_notifications_default_name">Prioritas bawaan</string>
|
||||
<string name="channel_notifications_max_name">Prioritas maks</string>
|
||||
<string name="channel_notifications_min_name">Prioritas min</string>
|
||||
<string name="channel_notifications_low_name">Prioritas rendah</string>
|
||||
<string name="channel_notifications_default_name">Notifikasi (prioritas default)</string>
|
||||
<string name="channel_notifications_max_name">Notifikasi (prioritas maks)</string>
|
||||
<string name="channel_notifications_min_name">Notifikasi (prioritas min)</string>
|
||||
<string name="channel_notifications_low_name">Notifikasi (prioritas rendah)</string>
|
||||
<string name="channel_subscriber_service_name">Layanan Langganan</string>
|
||||
<string name="channel_subscriber_notification_title">Mendengarkan notifikasi masuk</string>
|
||||
<string name="channel_subscriber_notification_title">Mendengarkan untuk notifikasi masuk</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Berlangganan ke topik pengiriman instan</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Berlangganan ke satu topik pengiriman instan</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Berlangganan ke dua topik pengiriman instan</string>
|
||||
|
@ -23,7 +23,7 @@
|
|||
<string name="main_menu_notifications_disabled_forever">Notifikasi dibisukan</string>
|
||||
<string name="main_menu_notifications_disabled_until">Notifikasi dibisukan sampai %1$s</string>
|
||||
<string name="main_menu_settings_title">Pengaturan</string>
|
||||
<string name="main_menu_report_bug_title">Laporkan kutu</string>
|
||||
<string name="main_menu_report_bug_title">Laporkan sebuah bug</string>
|
||||
<string name="main_menu_docs_title">Baca dokumentasi</string>
|
||||
<string name="main_menu_rate_title">Beri nilai aplikasi ⭐</string>
|
||||
<string name="main_action_mode_menu_unsubscribe">Batalkan langganan</string>
|
||||
|
@ -216,7 +216,7 @@
|
|||
<string name="settings_notifications_auto_download_summary_always">Unduh semua lampiran secara otomatis</string>
|
||||
<string name="settings_notifications_auto_download_500k">Jika di bawah 500 kB</string>
|
||||
<string name="user_dialog_button_save">Simpan</string>
|
||||
<string name="channel_notifications_high_name">Prioritas tinggi</string>
|
||||
<string name="channel_notifications_high_name">Notifikasi (prioritas tinggi)</string>
|
||||
<string name="main_action_mode_delete_dialog_permanently_delete">Hapus secara permanen</string>
|
||||
<string name="add_dialog_button_subscribe">Berlangganan</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">Berlangganan ke %1$d topik pengiriman instan</string>
|
||||
|
@ -255,7 +255,7 @@
|
|||
<string name="settings_notifications_min_priority_default">Prioritas default dan di atas</string>
|
||||
<string name="settings_notifications_priority_high">tinggi</string>
|
||||
<string name="settings_notifications_auto_download_1m">Jika di bawah 1 MB</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">Nyalakan pencatatan, supaya Anda dapat membagikan catatan nanti untuk mendiagnosa masalah.</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">Nyalakan pencatatan supaya Anda dapat membagikan catatan nanti untuk mendiagnosa masalah.</string>
|
||||
<string name="settings_advanced_export_logs_error_uploading">Tidak dapat mengunggah catatan: %1$s</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_text">Topik/nama host diganti dengan nama-nama buah, jadi Anda dapat membagikan catatan tanpa khawatir:
|
||||
\n
|
||||
|
@ -327,20 +327,4 @@
|
|||
<string name="detail_settings_about_topic_url_copied_to_clipboard_message">Disalin ke papan klip</string>
|
||||
<string name="detail_settings_about_header">Tentang</string>
|
||||
<string name="detail_settings_about_topic_url_title">URL Topik</string>
|
||||
<string name="main_menu_donate_title">Donasi 💸</string>
|
||||
<string name="detail_item_cannot_open_apk">Aplikasi tidak dapat dipasang lagi. Unduh melalui peramban. Lihat masalah #531 untuk detail lebih lanjut.</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Notifikasi prioritas maks hanya memperingati sekali</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Atur pengaturan notifikasi</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Sampingan Jangan Ganggu, suara, dll.</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Peringati hanya sekali</string>
|
||||
<string name="channel_notifications_group_default_name">Bawaan</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Tetap memperingati</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Tetap memperingati untuk prioritas tertinggi</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Notifikasi prioritas maks memperingatkan secara berkelanjutan sampai diabaikan</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Pengaturan notifikasi kustom</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Menggunakan pengaturan kustom untuk langganan ini</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Menggunakan pengaturan bawaan (suara, sampingan Jangan Ganggu, dll.)</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy akan menjadi sebagai distributor UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy tidak akan menjadi sebagai distributor UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_title">Aktifkan UnifiedPush</string>
|
||||
</resources>
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_notifications_low_name">Priorità bassa</string>
|
||||
<string name="channel_notifications_low_name">Notifiche (priorità bassa)</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_three">Iscritto a tre topic</string>
|
||||
<string name="channel_notifications_high_name">Priorità alta</string>
|
||||
<string name="channel_notifications_max_name">Priorità massima</string>
|
||||
<string name="channel_notifications_high_name">Notifiche (priorità alta)</string>
|
||||
<string name="channel_notifications_max_name">Notifiche (priorità massima)</string>
|
||||
<string name="channel_subscriber_service_name">Servizio di iscrizione</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Iscritto ai topic a consegna istantanea</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Iscritto a due topic a consegna istantanea</string>
|
||||
|
@ -179,8 +179,8 @@
|
|||
<string name="user_dialog_button_delete">Elimina utente</string>
|
||||
<string name="user_dialog_button_save">Salva</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">Iscritto a %1$d topic</string>
|
||||
<string name="channel_notifications_default_name">Priorità di default</string>
|
||||
<string name="channel_notifications_min_name">Priorità minima</string>
|
||||
<string name="channel_notifications_default_name">Notifiche (priorità di default)</string>
|
||||
<string name="channel_notifications_min_name">Notifiche (priorità minima)</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Iscritto a un topic a consegna istantanea</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_four">Iscritto a quattro topic</string>
|
||||
<string name="main_menu_docs_title">Leggi la documentazione</string>
|
||||
|
@ -327,9 +327,4 @@
|
|||
<string name="add_dialog_base_urls_dropdown_choose">Scegli il servizio URL</string>
|
||||
<string name="add_dialog_base_urls_dropdown_clear">Pulisci il servizio URL</string>
|
||||
<string name="main_banner_websocket_button_enable_now">Attiva ora</string>
|
||||
<string name="channel_notifications_group_default_name">Default</string>
|
||||
<string name="main_menu_donate_title">Dona 💸</string>
|
||||
<string name="detail_item_cannot_open_apk">Le app non possono più essere installate: devono essere scaricate via browser. Vedi l\'issue #531 per dettagli.</string>
|
||||
<string name="eos_settings_enable_title">Abilitare il distributore</string>
|
||||
<string name="eos_settings_enable_description">Consente alle applicazioni di terze parti di ricevere notifiche UnifiedPush</string>
|
||||
</resources>
|
|
@ -1,315 +1,42 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">מנוי ל־%1$d נושאים</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">רשום ל-%1$d נושאים</string>
|
||||
<string name="refresh_message_result">%1$d התראות התקבלו</string>
|
||||
<string name="refresh_message_no_results">הכול עדכני</string>
|
||||
<string name="refresh_message_error_one">הרענון של המינוי הבא נכשל: %1$s</string>
|
||||
<string name="main_action_bar_title">מינוי לנושאים</string>
|
||||
<string name="main_menu_notifications_enabled">התראות פעילות</string>
|
||||
<string name="refresh_message_no_results">הכל מעודכן</string>
|
||||
<string name="refresh_message_error_one">הרענון של הרישום הבא נכשל: %1$s</string>
|
||||
<string name="main_action_bar_title">רישומים לנושאים</string>
|
||||
<string name="main_menu_notifications_enabled">התראות פועלות</string>
|
||||
<string name="main_menu_notifications_disabled_until">ההתראות מושתקות עד %1$s</string>
|
||||
<string name="main_menu_settings_title">הגדרות</string>
|
||||
<string name="main_menu_report_bug_title">דיווח על תקלה</string>
|
||||
<string name="main_menu_docs_title">הצגת התיעוד</string>
|
||||
<string name="main_menu_rate_title">דירוג היישומון ⭐</string>
|
||||
<string name="main_action_mode_menu_unsubscribe">ביטול מינוי</string>
|
||||
<string name="main_action_mode_delete_dialog_permanently_delete">מחיקה לצמיתות</string>
|
||||
<string name="main_menu_report_bug_title">דווח/י על באג</string>
|
||||
<string name="main_menu_docs_title">קרא/י את הדוקומנטציה</string>
|
||||
<string name="main_menu_rate_title">דרג/י את האפליקציה ⭐</string>
|
||||
<string name="main_action_mode_menu_unsubscribe">הסר/י רישום</string>
|
||||
<string name="main_action_mode_delete_dialog_permanently_delete">מחק/י לצמיתות</string>
|
||||
<string name="main_action_mode_delete_dialog_cancel">ביטול</string>
|
||||
<string name="main_item_status_text_one">התראה %1$d</string>
|
||||
<string name="main_item_status_text_not_one">%1$d התראות</string>
|
||||
<string name="main_item_status_text_one">התראת %1$d</string>
|
||||
<string name="main_item_status_text_not_one">התראות %1$d</string>
|
||||
<string name="main_item_date_yesterday">אתמול</string>
|
||||
<string name="main_add_button_description">הוספת מינוי</string>
|
||||
<string name="main_no_subscriptions_text">נראה שאין לך מינויים עדיין.</string>
|
||||
<string name="main_banner_battery_text">צריך לכבות מיטוב סוללה כדי שהיישומון יוכל להימנע מבעיות משלוח וקבלת התראות.</string>
|
||||
<string name="main_banner_battery_button_remind_later">לשאול אחר כך</string>
|
||||
<string name="main_banner_battery_button_dismiss">התעלמות</string>
|
||||
<string name="main_banner_battery_button_fix_now">לתקן עכשיו</string>
|
||||
<string name="main_banner_websocket_button_remind_later">לשאול אחר כך</string>
|
||||
<string name="channel_notifications_min_name">עדיפות מזערית</string>
|
||||
<string name="channel_subscriber_service_name">שירות מנויים</string>
|
||||
<string name="channel_subscriber_notification_title">בהאזנה להתראות נכנסות</string>
|
||||
<string name="channel_notifications_low_name">עדיפות נמוכה</string>
|
||||
<string name="channel_notifications_default_name">עדיפות ברירת מחדל</string>
|
||||
<string name="channel_notifications_high_name">עדיפות גבוהה</string>
|
||||
<string name="channel_notifications_max_name">עדיפות מרבית</string>
|
||||
<string name="refresh_message_error">הרענון של %1$d מהרישומים נכשל
|
||||
<string name="main_add_button_description">הוספת רישום</string>
|
||||
<string name="main_no_subscriptions_text">נראה שלא נרשמת לאף נושא עדיין.</string>
|
||||
<string name="main_banner_battery_text">מיטוב סוללה צריך להיות כבוי עבור האפליקציה כדי להימנע מבעיות בשליחת וקבלת התראות.</string>
|
||||
<string name="main_banner_battery_button_remind_later">שאל אחר כך</string>
|
||||
<string name="main_banner_battery_button_dismiss">הסר</string>
|
||||
<string name="main_banner_battery_button_fix_now">תקן עכשיו</string>
|
||||
<string name="main_banner_websocket_button_remind_later">שאל אחר כך</string>
|
||||
<string name="channel_notifications_min_name">התראות (עדיפות מינימאלית)</string>
|
||||
<string name="channel_subscriber_service_name">שירות רישום</string>
|
||||
<string name="channel_subscriber_notification_title">מאזין להתראות נכנסות</string>
|
||||
<string name="channel_notifications_low_name">התראות (עדיפות נמוכה)</string>
|
||||
<string name="channel_notifications_default_name">התראות (עדיפות ברירת מחדל)</string>
|
||||
<string name="channel_notifications_high_name">התראות (עדיפות גבוהה)</string>
|
||||
<string name="channel_notifications_max_name">התראות (עדיפות מקסימאלית)</string>
|
||||
<string name="refresh_message_error">הרענון של %1$d רישומים נכשל
|
||||
\n
|
||||
\n%2$s</string>
|
||||
<string name="main_menu_notifications_disabled_forever">התראות מושתקות</string>
|
||||
<string name="main_action_mode_delete_dialog_message">לבטל מינוי מהנושאים שנבחרו ולמחוק את כל ההתראות לצמיתות?</string>
|
||||
<string name="main_item_status_reconnecting">התחברות מחדש…</string>
|
||||
<string name="main_how_to_intro">לחיצה על + תאפשר ליצור או להירשם לנושא. לאחר מכן התראות תגענה למכשיר שלך בעת שליחת הודעות עם PUT או POST.</string>
|
||||
<string name="main_how_to_link">הוראות מפורטות זמינות ב־ntfy.sh, ובתיעוד.</string>
|
||||
<string name="main_menu_donate_title">תרומה 💸</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">מנוי לשני נושאים במשלוח מהיר</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">מנוי לשלושה נושאים במשלוח מהיר</string>
|
||||
<string name="channel_subscriber_notification_instant_text">מנוי לנושאים במשלוח מהיר</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">מנוי לנושא אחד במשלוח מהיר</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">מנוי לארבעה נושאים במשלוח מהיר</string>
|
||||
<string name="channel_subscriber_notification_instant_text_five">מנוי לחמישה נושאים במשלוח מהיר</string>
|
||||
<string name="channel_subscriber_notification_instant_text_six">מנוי לשישה נושאים במשלוח מהיר</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">מנוי ל־%1$d נושאים במשלוח מהיר</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">מנוי לנושאים</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_one">מנוי לנושא אחד</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">מנוי לשני נושאים</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_three">מנוי לשלושה נושאים</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_four">מנוי לארבעה נושאים</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_five">מנוי לחמישה נושאים</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_six">מנוי לשישה נושאים</string>
|
||||
<string name="channel_notifications_group_default_name">ברירת מחדל</string>
|
||||
<string name="add_dialog_description_below">כנראה שהנושאים אינם מוגנים בסיסמה, אז כדאי לבחור שם שקשה לנחש. לאחר הרשמה, אפשר לשלוח התראות עם PUT/POST.</string>
|
||||
<string name="main_banner_websocket_button_enable_now">להפעיל כעת</string>
|
||||
<string name="add_dialog_topic_name_hint">שם הנושא, למשל: shimons_alerts</string>
|
||||
<string name="add_dialog_use_another_server">להשתמש בשרת אחר</string>
|
||||
<string name="add_dialog_instant_delivery">משלוח מיידי במצב תנומה</string>
|
||||
<string name="main_banner_websocket_button_dismiss">התעלמות</string>
|
||||
<string name="add_dialog_title">הרשמה לנושא</string>
|
||||
<string name="main_item_status_unified_push">%1$s (UnifiedPush)</string>
|
||||
<string name="detail_how_to_intro">כדי לשלוח התראות לנושא הזה צריך פשוט לשלוח בקשות PUT או POST לכתובת הנושא.</string>
|
||||
<string name="detail_test_message_error_unauthorized_user">אי אפשר לשלוח הודעה: למשתמש „%1$s” אין הרשאה.</string>
|
||||
<string name="detail_deep_link_subscribed_toast_message">נרשמת לנושא %1$s</string>
|
||||
<string name="detail_item_tags">תגיות: %1$s</string>
|
||||
<string name="detail_item_snack_undo">הסגה</string>
|
||||
<string name="detail_item_menu_delete">מחיקת קובץ</string>
|
||||
<string name="detail_menu_settings">הגדרות המינוי</string>
|
||||
<string name="detail_action_mode_menu_delete">מחיקה</string>
|
||||
<string name="notification_dialog_cancel">ביטול</string>
|
||||
<string name="notification_dialog_muted_until_toast_message">ההתראות מושתקות עד %1$s</string>
|
||||
<string name="notification_dialog_show_all">הצגת כל ההתראות</string>
|
||||
<string name="notification_popup_user_action_failed">%1$s נכשל: %2$s</string>
|
||||
<string name="settings_notifications_min_priority_summary_any">כל ההתראות מוצגות</string>
|
||||
<string name="settings_notifications_min_priority_summary_max">להציג התראות אם העדיפות היא 5 (מרבית)</string>
|
||||
<string name="settings_notifications_min_priority_min">כל עדיפות שהיא</string>
|
||||
<string name="settings_notifications_min_priority_default">עדיפות ברירת מחדל ומעלה</string>
|
||||
<string name="settings_notifications_min_priority_high">עדיפות גבוהה ומעלה</string>
|
||||
<string name="settings_notifications_min_priority_max">עדיפות מרבית בלבד</string>
|
||||
<string name="settings_notifications_priority_min">מזערית</string>
|
||||
<string name="settings_notifications_auto_download_100k">אם מתחת ל־100 ק״ב</string>
|
||||
<string name="settings_notifications_auto_download_500k">אם מתחת ל־500 ק״ב</string>
|
||||
<string name="settings_notifications_auto_download_1m">אם מתחת ל־1 מ״ב</string>
|
||||
<string name="settings_notifications_auto_download_5m">אם מתחת ל־5 מ״ב</string>
|
||||
<string name="settings_notifications_auto_download_10m">אם מתחת ל־10 מ״ב</string>
|
||||
<string name="settings_notifications_auto_download_50m">אם מתחת ל־50 מ״ב</string>
|
||||
<string name="detail_item_download_info_downloading_x_percent">%1$d%% ירדו</string>
|
||||
<string name="detail_menu_clear">פינוי כל ההתראות</string>
|
||||
<string name="notification_popup_file_download_successful">%1$s
|
||||
\nקובץ: %2$s, ירד</string>
|
||||
<string name="notification_popup_file_download_failed">%1$s
|
||||
\nקובץ: %2$s, ההורדה נכשלה</string>
|
||||
<string name="settings_notifications_auto_delete_summary_never">לעולם לא למחוק התראות אוטומטית</string>
|
||||
<string name="settings_general_users_title">ניהול משתמשים</string>
|
||||
<string name="settings_general_users_summary">הוספת/הסרת משתמשים מ/על נושאים מוגנים</string>
|
||||
<string name="settings_backup_restore_header">גיבוי ושחזור</string>
|
||||
<string name="settings_backup_restore_backup_title">גיבוי לקובץ</string>
|
||||
<string name="settings_backup_restore_backup_successful">נוצר גיבוי</string>
|
||||
<string name="settings_advanced_broadcast_title">הודעות שידור</string>
|
||||
<string name="settings_advanced_broadcast_summary_enabled">יישומונים יכולים לקבל התראות נכנסות בתור שידורים</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">להמשיך להודיע</string>
|
||||
<string name="add_dialog_login_password_hint">סיסמה</string>
|
||||
<string name="add_dialog_login_description">הנושא הזה דורש כניסה למערכת. נא למלא שם משתמש וסיסמה.</string>
|
||||
<string name="add_dialog_login_error_not_authorized">הכניסה נכשלה. למשתמש %1$s אין הרשאה.</string>
|
||||
<string name="add_dialog_login_new_user">משתמש חדש</string>
|
||||
<string name="add_dialog_base_urls_dropdown_choose">נא לבחור כתובת שירות</string>
|
||||
<string name="add_dialog_base_urls_dropdown_clear">מחיקת כתובת השירות</string>
|
||||
<string name="detail_no_notifications_text">עדיין לא קיבלת התראות לנושא הזה.</string>
|
||||
<string name="detail_how_to_example">דוגמה (עם curl):<br/><tt>$ curl -d \"Shalom\" %1$s</tt></string>
|
||||
<string name="detail_how_to_link">יש הנחיות מפורטות ב־ntfy.sh ובתיעוד.</string>
|
||||
<string name="detail_clear_dialog_message">למחוק את כל ההתראות בנושא הזה?</string>
|
||||
<string name="detail_clear_dialog_permanently_delete">למחוק לצמיתות</string>
|
||||
<string name="detail_clear_dialog_cancel">ביטול</string>
|
||||
<string name="detail_delete_dialog_message">לבטל את המינוי לנושא הזה ולמחוק את כל ההתראות שהתקבלו?</string>
|
||||
<string name="detail_test_message_error_too_large">אי אפשר לשלוח הודעה: הצרופה גדולה מדי.</string>
|
||||
<string name="detail_item_menu_cancel">ביטול הורדה</string>
|
||||
<string name="detail_item_menu_save_file">שמירת קובץ</string>
|
||||
<string name="detail_item_menu_copy_contents_copied">ההתראה הועתקה ללוח הגזירים</string>
|
||||
<string name="detail_item_cannot_download">אי אפשר לפתוח או להוריד את הצרופה. תוקף הקישור פג ואין קובץ מקומי.</string>
|
||||
<string name="detail_item_cannot_save">לא ניתן לשמור צרופה: %1$s</string>
|
||||
<string name="detail_item_download_info_not_downloaded">לא ירדה</string>
|
||||
<string name="detail_item_download_info_deleted">נמחקה</string>
|
||||
<string name="detail_item_download_info_deleted_expired">נמחקה, תוקף הקישור פג</string>
|
||||
<string name="detail_item_download_info_download_failed_expires_x">ההורדה נכשלה, תוקף הקישור יפוג ב־%1$s</string>
|
||||
<string name="detail_menu_notifications_disabled_forever">התראות מושתקות</string>
|
||||
<string name="detail_menu_notifications_disabled_until">ההתראות מושתקות עד %1$s</string>
|
||||
<string name="detail_menu_test">שליחת התראת בדיקה</string>
|
||||
<string name="detail_menu_copy_url">העתקת כתובת הנושא</string>
|
||||
<string name="detail_action_mode_menu_copy">העתקה</string>
|
||||
<string name="share_title">שיתוף</string>
|
||||
<string name="share_menu_send">שיתוף</string>
|
||||
<string name="share_content_text_hint">הוספת הקשר לשיתוף כאן</string>
|
||||
<string name="share_topic_title">שיתוף אל</string>
|
||||
<string name="share_suggested_topics">נושאים מוצעים</string>
|
||||
<string name="notification_dialog_title">השתקת התראות</string>
|
||||
<string name="notification_dialog_save">שמירה</string>
|
||||
<string name="notification_dialog_enabled_toast_message">ההתראות נמשכות</string>
|
||||
<string name="notification_dialog_muted_forever_toast_message">ההתראות מושתקות</string>
|
||||
<string name="notification_dialog_30min">חצי שעה</string>
|
||||
<string name="notification_dialog_1h">שעה</string>
|
||||
<string name="notification_dialog_2h">שעתיים</string>
|
||||
<string name="notification_dialog_8h">8 שעות</string>
|
||||
<string name="notification_dialog_tomorrow">עד מחר</string>
|
||||
<string name="notification_popup_action_open">פתיחה</string>
|
||||
<string name="notification_popup_action_browse">עיון</string>
|
||||
<string name="notification_popup_action_download">הורדה</string>
|
||||
<string name="notification_popup_action_cancel">ביטול</string>
|
||||
<string name="notification_popup_file">%1$s
|
||||
\nקובץ: %2$s</string>
|
||||
<string name="settings_title">הגדרות</string>
|
||||
<string name="settings_notifications_header">התראות</string>
|
||||
<string name="settings_notifications_muted_until_show_all">כל ההתראות מוצגות</string>
|
||||
<string name="settings_notifications_muted_until_forever">ההתראות מושתקות עד לביטול השתקה</string>
|
||||
<string name="settings_notifications_muted_until_x">התראות מושתקות עד %1$s</string>
|
||||
<string name="settings_notifications_min_priority_title">התראה מזערית</string>
|
||||
<string name="settings_notifications_auto_delete_one_month">לאחר חודש</string>
|
||||
<string name="settings_notifications_auto_delete_three_months">לאחר 3 חודשים</string>
|
||||
<string name="settings_general_header">כללי</string>
|
||||
<string name="settings_general_default_base_url_title">שרת ברירת מחדל</string>
|
||||
<string name="settings_general_default_base_url_default_summary">%1$s (ברירת מחדל)</string>
|
||||
<string name="settings_general_users_prefs_title">משתמשים</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_many">בשימוש הנושאים %1$s</string>
|
||||
<string name="settings_general_users_prefs_user_add">הוספת משתמשים</string>
|
||||
<string name="settings_general_users_prefs_user_add_title">הוספת משתמש חדש</string>
|
||||
<string name="settings_general_users_prefs_user_add_summary">יצירת משתמש חדש לשרת חדש</string>
|
||||
<string name="settings_general_dark_mode_title">מצב כהה</string>
|
||||
<string name="settings_general_dark_mode_summary_system">ברירת מחדל המערכת</string>
|
||||
<string name="settings_general_dark_mode_summary_light">מצב בהיר פעיל</string>
|
||||
<string name="settings_general_dark_mode_summary_dark">מצב ככה פעיל. מדובר בערפד/ית?</string>
|
||||
<string name="settings_backup_restore_backup_summary">ייצוא הגדרות, התראות ומשתמשים</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything">הכול</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything_no_users">הכול חוץ מהמשתמשים</string>
|
||||
<string name="settings_backup_restore_backup_failed">הגיבוי נכשל: %1$s</string>
|
||||
<string name="settings_backup_restore_restore_title">שחזור מקובץ</string>
|
||||
<string name="settings_backup_restore_restore_failed">השחזור נכשל: %1$s</string>
|
||||
<string name="settings_advanced_header">מתקדם</string>
|
||||
<string name="settings_advanced_export_logs_copied_url">היומנים הועלו והכתובת הועתקה</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_button_ok">אישור</string>
|
||||
<string name="settings_advanced_export_logs_error_uploading">לא ניתן להעלות יומנים: %1$s</string>
|
||||
<string name="settings_advanced_clear_logs_title">פינוי יומנים</string>
|
||||
<string name="detail_settings_appearance_header">מראה</string>
|
||||
<string name="detail_settings_appearance_icon_set_title">סמל מינוי</string>
|
||||
<string name="main_unified_push_toast">המינוי הזה מנוהל על ידי %1$s דרך UnifiedPush</string>
|
||||
<string name="add_dialog_use_another_server_description">נא למלא את כתובת השירותים להלן כדי להירשם לנושאים משרתים אחרים.</string>
|
||||
<string name="add_dialog_button_login">כניסה</string>
|
||||
<string name="add_dialog_error_connection_failed">החיבור נכשל: %1$s</string>
|
||||
<string name="add_dialog_login_title">יש להיכנס</string>
|
||||
<string name="add_dialog_login_username_hint">שם משתמש</string>
|
||||
<string name="detail_delete_dialog_cancel">ביטול</string>
|
||||
<string name="detail_test_title">בדיקה: אפשר להגדיר כותרת אם מתחשק לך.</string>
|
||||
<string name="detail_test_message">זאת התראת בדיקה מהיישומון של ntfy ל־Android. רמת העדיפות שלו היא %1$d. אם תישלח התראה נוספת היא עשויה להיראות אחרת.</string>
|
||||
<string name="detail_test_message_error">לא ניתן לשלוח הודעה: %1$s</string>
|
||||
<string name="detail_test_message_error_unauthorized_anon">לא ניתן לשלוח הודעה: אסור לפרסם באופן אלמוני.</string>
|
||||
<string name="share_successful">ההודעה פורסמה</string>
|
||||
<string name="settings_notifications_channel_prefs_title">הגדרות ערוץ</string>
|
||||
<string name="settings_notifications_auto_download_summary_never">לעולם לא להוריד צרופות אוטומטית</string>
|
||||
<string name="settings_notifications_auto_download_summary_smaller_than_x">להוריד צרופות עד %1$s אוטומטית</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_month">למחוק התראות אוטומטית לאחר חודש</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_months">למחוק התראות אוטומטית לאחר 3 חודשים</string>
|
||||
<string name="settings_notifications_auto_delete_never">אף פעם לא</string>
|
||||
<string name="settings_notifications_auto_delete_one_day">לאחר יום</string>
|
||||
<string name="settings_general_users_prefs_user_not_used">לא בשימוש של אף נושא</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_one">בשימוש הנושא %1$s</string>
|
||||
<string name="settings_advanced_export_logs_copied_logs">היומן הועתק ללוח הגזירים</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_original">העתקה ללוח הגזירים</string>
|
||||
<string name="user_dialog_title_add">הוספת משתמש</string>
|
||||
<string name="user_dialog_password_hint_add">סיסמה</string>
|
||||
<string name="user_dialog_password_hint_edit">סיסמה (לא תשתנה אם יישאר ריק)</string>
|
||||
<string name="user_dialog_button_add">הוספת משתמש</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expires_x">לא ירדה, התוקף יפוג ב־%1$s</string>
|
||||
<string name="settings_notifications_auto_delete_title">מחיקת התראות</string>
|
||||
<string name="settings_notifications_auto_delete_one_week">לאחר שבוע</string>
|
||||
<string name="settings_advanced_connection_protocol_title">פרוטוקול חיבור</string>
|
||||
<string name="settings_about_version_copied_to_clipboard_message">הועתק ללוח הגזירים</string>
|
||||
<string name="settings_advanced_export_logs_title">העתקת/העלאת יומנים</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_original">להעלות ולהעתיק קישור</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_scrubbed">להעלות ולהעתיק קישור (מצונזר)</string>
|
||||
<string name="detail_settings_appearance_icon_set_summary">נא להגדיר סמל שיוצג בהתראות</string>
|
||||
<string name="detail_settings_about_topic_url_copied_to_clipboard_message">הועתק ללוח הגזירים</string>
|
||||
<string name="detail_settings_appearance_icon_remove_summary">סמל שמוצג בהתראות לנושא הזה</string>
|
||||
<string name="add_dialog_instant_delivery_description">מוודא שהודעות נמסרות מיידית, אפילו אם המכשיר לא פעיל.</string>
|
||||
<string name="add_dialog_button_subscribe">הרשמה</string>
|
||||
<string name="add_dialog_button_back">חזרה</string>
|
||||
<string name="add_dialog_button_cancel">ביטול</string>
|
||||
<string name="detail_delete_dialog_permanently_delete">למחוק לצמיתות</string>
|
||||
<string name="detail_copied_to_clipboard_message">הועתק ללוח הגזירים</string>
|
||||
<string name="detail_item_snack_deleted">ההתראה נמחקה</string>
|
||||
<string name="detail_item_menu_download">הורדת קובץ</string>
|
||||
<string name="detail_item_menu_copy_url">העתקת כתובת</string>
|
||||
<string name="detail_item_menu_copy_url_copied">הכתובת הועתקה ללוח הגזירים</string>
|
||||
<string name="detail_item_menu_copy_contents">העתקת התראה</string>
|
||||
<string name="detail_item_saved_successfully">נשמרה בשם „%1$s” בתיקיית ה„הורדות/Download”</string>
|
||||
<string name="detail_item_menu_open">פתיחת קובץ</string>
|
||||
<string name="share_content_file_text">שותף איתך קובץ</string>
|
||||
<string name="settings_backup_restore_backup_entry_settings_only">הגדרות בלבד</string>
|
||||
<string name="detail_item_cannot_open">אי אפשר לפתוח צרופה: %1$s</string>
|
||||
<string name="detail_menu_unsubscribe">ביטול מינוי</string>
|
||||
<string name="detail_action_mode_delete_dialog_message">למחוק את ההתראות הנבחרות לצמיתות?</string>
|
||||
<string name="detail_action_mode_delete_dialog_permanently_delete">למחוק לצמיתות</string>
|
||||
<string name="detail_action_mode_delete_dialog_cancel">ביטול</string>
|
||||
<string name="detail_settings_title">הגדרות מינוי</string>
|
||||
<string name="share_content_title">תצוגת הודעה מקדימה</string>
|
||||
<string name="share_content_image_text">שותפה איתך תמונה</string>
|
||||
<string name="share_content_image_error">לא ניתן לקרוא תמונה: %1$s</string>
|
||||
<string name="share_content_file_error">לא ניתן לקרוא פרטי קובץ: %1$s</string>
|
||||
<string name="settings_notifications_min_priority_summary_x_or_higher">להציג התראות אם העדיפות היא %1$d (%2$s) ומעלה</string>
|
||||
<string name="notification_dialog_forever">עד לביטול ההשתקה</string>
|
||||
<string name="settings_notifications_muted_until_title">השתקת התראות</string>
|
||||
<string name="settings_notifications_auto_download_title">הורדות צרופות</string>
|
||||
<string name="settings_notifications_channel_prefs_summary">מעקף „לא להפריע” (DND) צלילים וכו׳.</string>
|
||||
<string name="settings_notifications_min_priority_low">עדיפות נמוכה ומעלה</string>
|
||||
<string name="settings_notifications_priority_low">נמוכה</string>
|
||||
<string name="settings_notifications_priority_max">מרבית</string>
|
||||
<string name="settings_general_dark_mode_entry_light">מצב בהיר</string>
|
||||
<string name="settings_notifications_priority_default">ברירת מחדל</string>
|
||||
<string name="settings_notifications_priority_high">גבוהה</string>
|
||||
<string name="settings_notifications_auto_download_always">להוריד הכול אוטומטית</string>
|
||||
<string name="settings_notifications_auto_download_summary_always">להוריד את כל הצרופות אוטומטית</string>
|
||||
<string name="settings_notifications_auto_download_never">לעולם לא להוריד כלום</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_day">למחוק התראות אוטומטית לאחר יום</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_days">למחוק התראות אוטומטית לאחר 3 ימים</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_week">למחוק התראות אוטומטית לאחר שבוע</string>
|
||||
<string name="settings_notifications_auto_delete_three_days">לאחר 3 ימים</string>
|
||||
<string name="settings_general_dark_mode_entry_system">כמו המערכת</string>
|
||||
<string name="settings_general_dark_mode_entry_dark">מצב כהה</string>
|
||||
<string name="settings_backup_restore_restore_summary">ייבוא הגדרות, התראות ומשתמשים</string>
|
||||
<string name="settings_backup_restore_restore_successful">השחזור הצליח</string>
|
||||
<string name="detail_item_download_info_download_failed">ההורדה נכשלה</string>
|
||||
<string name="settings_advanced_broadcast_summary_disabled">יישומונים לא יכולים לקבל התראות כשידורים</string>
|
||||
<string name="settings_advanced_unifiedpush_title">הפעלת UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy ישמש כמפיץ UnifiedPush</string>
|
||||
<string name="settings_about_version_title">גרסה</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_ws">WebSockets</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_jsonhttp">תזרים JSON על גבי HTTP</string>
|
||||
<string name="settings_about_header">על אודות</string>
|
||||
<string name="settings_about_version_format">ntfy %1$s (%2$s)</string>
|
||||
<string name="detail_settings_appearance_icon_remove_title">סמל מינוי (נגיעה להסרה)</string>
|
||||
<string name="detail_settings_appearance_icon_error_saving">לא ניתן לשמור סמל: %1$s</string>
|
||||
<string name="detail_settings_appearance_display_name_title">שם תצוגה</string>
|
||||
<string name="detail_settings_appearance_display_name_default_summary">%1$s (ברירת מחדל)</string>
|
||||
<string name="detail_settings_about_header">על אודות</string>
|
||||
<string name="detail_settings_about_topic_url_title">כתובת נושא</string>
|
||||
<string name="user_dialog_title_edit">עריכת משתמש</string>
|
||||
<string name="user_dialog_description_add">כאן אפשר להוסיף משתמש. כל הנושאים לשרת שצוין ישתמשו במשתמש הזה.</string>
|
||||
<string name="user_dialog_description_edit">אפשר לערוך שם משתמש/סיסמה למשתמש הנבחר או למחוק אותו.</string>
|
||||
<string name="user_dialog_base_url_hint">כתובת שירות</string>
|
||||
<string name="user_dialog_username_hint">שם משתמש</string>
|
||||
<string name="user_dialog_button_cancel">ביטול</string>
|
||||
<string name="user_dialog_button_delete">מחיקת משתמש</string>
|
||||
<string name="user_dialog_button_save">שמירה</string>
|
||||
<string name="detail_item_cannot_delete">לא ניתן למחוק צרופה: %1$s</string>
|
||||
<string name="detail_item_download_failed">לא ניתן להוריד צרופה: %1$s</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expired">לא ירדה, תוקף הקישור פג</string>
|
||||
<string name="detail_item_download_info_deleted_expires_x">נמחקה, הקישור יפוג ב־%1$s</string>
|
||||
<string name="detail_item_download_info_download_failed_expired">ההורדה נכשלה, תוקף הקישור פג</string>
|
||||
<string name="detail_menu_notifications_enabled">התראות פעילות</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_scrubbed">העתקה ללוח הגזירים (מצונזר)</string>
|
||||
<string name="settings_advanced_export_logs_uploading">היומן נשלח…</string>
|
||||
<string name="settings_advanced_clear_logs_deleted_toast">יומנים נמחקו</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">הגדרות תצורת התראות</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">להודיע רק פעם אחת</string>
|
||||
<string name="main_banner_websocket_text">החלפה ל־WebSockets היא הדרך המומלצת להתחבר לשרת שלך ויכולה לשפר את חייה הסוללה אך היא עשויה לדרוש <a href="https://ntfy.sh/docs/config/#nginxapache2caddy">שינויים נוספים במתווך שלך</a>. אפשר להפעיל או לכבות את זה בהגדרות.</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">להמשיך להודיע לעדיפות הגבוהה ביותר</string>
|
||||
<string name="detail_item_cannot_open_not_found">לא ניתן לפתוח את הצרופה: יכול להיות שהקובץ נמחק או שאין יישומון מותקן שיכול לפתוח את הקובץ.</string>
|
||||
<string name="detail_item_cannot_open_url">לא ניתן לפתוח כתובת: %1$s</string>
|
||||
<string name="notification_popup_file_downloading">בהורדה%1$s, %2$d%%
|
||||
\n%3$s</string>
|
||||
<string name="detail_item_cannot_open_apk">אי אפשר להתקין עוד יישומונים. יש להוריד דרך הדפדפן במקום. בתקלה #531 מופיעים פרטים נוספים.</string>
|
||||
<string name="detail_settings_global_setting_suffix">נעשה שימוש בהגדרות גלובליות</string>
|
||||
</resources>
|
||||
<string name="main_action_mode_delete_dialog_message">להסיר את הרישום מהנושא(ים) הנבחר(ים) ולמחוק את כל ההתראות לצמיתות\?</string>
|
||||
<string name="main_item_status_reconnecting">מתחבר מחדש…</string>
|
||||
<string name="main_how_to_intro">לחצ\\י על + על מנת ליצור או להירשם אל מול נושא מסוים. לאחר מכן תקבל\\י התראות במכשירך כשתשלח\\י התראות דרך PUT או POST.</string>
|
||||
<string name="main_how_to_link">הוראות מפורטות זמינות ב-ntfy.sh, ובדוקומנטציה.</string>
|
||||
</resources>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_notifications_min_name">優先度 最低</string>
|
||||
<string name="channel_notifications_min_name">通知 (優先度最低)</string>
|
||||
<string name="detail_delete_dialog_cancel">キャンセル</string>
|
||||
<string name="detail_menu_notifications_enabled">通知オン</string>
|
||||
<string name="settings_notifications_auto_download_summary_never">添付ファイルは自動的にダウンロードしない</string>
|
||||
|
@ -12,13 +12,13 @@
|
|||
<string name="settings_notifications_auto_delete_one_week">1週間後</string>
|
||||
<string name="settings_notifications_auto_delete_one_month">1か月後</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_ws">WebSockets</string>
|
||||
<string name="channel_notifications_high_name">優先度 高</string>
|
||||
<string name="channel_notifications_default_name">優先度 通常</string>
|
||||
<string name="channel_notifications_high_name">通知 (優先度高)</string>
|
||||
<string name="channel_notifications_default_name">通知 (優先度通常)</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">トピックを2件購読しています</string>
|
||||
<string name="add_dialog_login_new_user">新規ユーザー</string>
|
||||
<string name="channel_notifications_max_name">優先度 最高</string>
|
||||
<string name="channel_notifications_max_name">通知 (優先度最高)</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">即時配信トピックを2件購読しています</string>
|
||||
<string name="channel_notifications_low_name">優先度 低</string>
|
||||
<string name="channel_notifications_low_name">通知 (優先度低)</string>
|
||||
<string name="channel_subscriber_notification_title">通知の受信を待機しています</string>
|
||||
<string name="channel_subscriber_notification_instant_text">即時配信トピックを購読しています</string>
|
||||
<string name="channel_subscriber_service_name">購読サービス</string>
|
||||
|
@ -327,20 +327,4 @@
|
|||
<string name="detail_settings_about_header">About</string>
|
||||
<string name="detail_settings_about_topic_url_title">トピックのURL</string>
|
||||
<string name="detail_settings_about_topic_url_copied_to_clipboard_message">クリップボードにコピーしました</string>
|
||||
<string name="main_menu_donate_title">寄付する💸</string>
|
||||
<string name="detail_item_cannot_open_apk">アプリはインストールできなくなりました。代替手段としてブラウザからダウンロードしてください。詳細は issue #531 をご参照ください。</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">優先度最高は非表示になるまで通知継続</string>
|
||||
<string name="channel_notifications_group_default_name">デフォルト</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">優先度最高は通知継続</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">優先度最高は一回のみ通知</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">カスタム通知設定</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">通知設定を編集</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">デフォルト設定を使用(サウンドやおやすみモード時の動作等)</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">おやすみモード時の動作やサウンド等</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">この購読にカスタム設定を利用</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">通知を継続</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">一回のみ通知</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfyがUnifiedPushディストリビュータとして振る舞うようになります</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfyはUnifiedPushディストリビュータとして振る舞いません</string>
|
||||
<string name="settings_advanced_unifiedpush_title">UnifiedPushを有効化する</string>
|
||||
</resources>
|
|
@ -1,32 +1,32 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="add_dialog_login_new_user">Ny bruker</string>
|
||||
<string name="channel_notifications_low_name">Lav prioritet</string>
|
||||
<string name="channel_notifications_default_name">Standard prioritet</string>
|
||||
<string name="channel_notifications_low_name">Merknader (lav prioritet)</string>
|
||||
<string name="channel_notifications_default_name">Merknader (forvalgt prioritet)</string>
|
||||
<string name="channel_subscriber_service_name">Abonnementstjeneste</string>
|
||||
<string name="channel_subscriber_notification_title">Lytter etter innkommende varsler</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Abonnert på emner med umiddelbar levering</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Abonnert på ett emne med umiddelbar levering</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">Abonnert på fire emner med umiddelbar levering</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">Abonnert på %1$d emner med umiddelbar levering</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_one">Abonnert på ett emne</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">Abonnert på to emner</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">Abonnert på emner</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_three">Abonnert på tre emner</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_four">Abonnert på fire emner</string>
|
||||
<string name="refresh_message_result">%1$d varsling(er) mottatt</string>
|
||||
<string name="channel_notifications_max_name">Maks prioritet</string>
|
||||
<string name="refresh_message_error_one">Kunne ikke oppdatere abonnement: %1$s</string>
|
||||
<string name="main_menu_notifications_enabled">Varsler påslått</string>
|
||||
<string name="main_menu_notifications_disabled_forever">Varsler dempet</string>
|
||||
<string name="channel_subscriber_notification_title">Lytter etter innkommende merknader</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Du abonnerer på emner med umiddelbar levering</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Du abonnerer på ett emne med umiddelbar levering</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">Du abonnerer på fire emner med umiddelbar levering</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">Du abonnerer på %1$d emner med umiddelbar levering</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_one">Du abonnerer på ett emne</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">Du abonnerer på to emner</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">Du abonnerer på emner</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_three">Du abonnerer på tre emner</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_four">Du abonnerer på fire emner</string>
|
||||
<string name="refresh_message_result">%1$d merknad(er) mottatt</string>
|
||||
<string name="channel_notifications_max_name">Merknader (maks.-prioritet)</string>
|
||||
<string name="refresh_message_error_one">Kunne ikke gjenoppfriske abonnementet: %1$s</string>
|
||||
<string name="main_menu_notifications_enabled">Merknader påslått</string>
|
||||
<string name="main_menu_notifications_disabled_forever">Merknader avslått</string>
|
||||
<string name="main_menu_docs_title">Les dokumentasjonen</string>
|
||||
<string name="main_menu_rate_title">Vurder appen ⭐</string>
|
||||
<string name="main_action_mode_menu_unsubscribe">Avslutt abonnement</string>
|
||||
<string name="main_menu_rate_title">Vurder programmet ⭐</string>
|
||||
<string name="main_action_mode_menu_unsubscribe">Opphev abonnement</string>
|
||||
<string name="main_action_mode_delete_dialog_permanently_delete">Slett for godt</string>
|
||||
<string name="main_action_mode_delete_dialog_cancel">Avbryt</string>
|
||||
<string name="main_item_status_text_one">%1$d varsling</string>
|
||||
<string name="main_item_status_text_not_one">%1$d varsler</string>
|
||||
<string name="main_item_status_reconnecting">kobler til på nytt …</string>
|
||||
<string name="main_item_status_text_one">%1$d merknad</string>
|
||||
<string name="main_item_status_text_not_one">%1$d merknader</string>
|
||||
<string name="main_item_status_reconnecting">kobler til igjen …</string>
|
||||
<string name="main_item_date_yesterday">i går</string>
|
||||
<string name="main_add_button_description">Legg til abonnement</string>
|
||||
<string name="main_banner_websocket_button_remind_later">Spør senere</string>
|
||||
|
@ -36,41 +36,41 @@
|
|||
<string name="add_dialog_instant_delivery">Umiddelbar varsling i slumremodus</string>
|
||||
<string name="main_banner_battery_button_remind_later">Spør senere</string>
|
||||
<string name="main_banner_battery_button_fix_now">Fiks nå</string>
|
||||
<string name="main_action_mode_delete_dialog_message">Avslutt abonnementet på de valgte emnene og slett alle varsler permanent\?</string>
|
||||
<string name="main_no_subscriptions_text">Det ser ut til at du ikke har noen abonnementer ennå.</string>
|
||||
<string name="main_banner_battery_text">Batterioptimalisering bør være av for å unngå problemer med varsellevering.</string>
|
||||
<string name="main_action_mode_delete_dialog_message">Opphev abonnement på valgte emne(r) og slett alle merknader du har mottatt for godt\?</string>
|
||||
<string name="main_no_subscriptions_text">Abonner på noe først</string>
|
||||
<string name="main_banner_battery_text">Batterioptimalisering bør skrus av for å unngå problemer med merknadsleveringen.</string>
|
||||
<string name="main_banner_battery_button_dismiss">Avfei</string>
|
||||
<string name="main_banner_websocket_button_dismiss">Avfei</string>
|
||||
<string name="add_dialog_description_below">Emner er kanskje ikke passordbeskyttet, så velg et navn som er vanskelig å gjette. Når du har abonnert, kan du sende PUT/POST-varsler.</string>
|
||||
<string name="add_dialog_use_another_server_description">Skriv inn tjeneste-URLer nedenfor for å abonnere på emner fra andre servere.</string>
|
||||
<string name="add_dialog_description_below">Det kan hende emner ikke er passordsbeskyttet, så velg et navn som ikke er enkelt å gjette. Når du har abonnert kan du utføre PUT/POST av merknader.</string>
|
||||
<string name="add_dialog_use_another_server_description">Du kan abonnere på emner fra en annen tjener. Skriv inn tjener-nettadressen nedenfor.</string>
|
||||
<string name="main_item_status_unified_push">%1$s (UnifiedPush)</string>
|
||||
<string name="add_dialog_button_login">Logg inn</string>
|
||||
<string name="add_dialog_error_connection_failed">Tilkobling mislyktes: %1$s</string>
|
||||
<string name="add_dialog_login_username_hint">Brukernavn</string>
|
||||
<string name="add_dialog_login_password_hint">Passord</string>
|
||||
<string name="add_dialog_login_error_not_authorized">Innlogging mislyktes. Bruker %1$s har ikke tilgang.</string>
|
||||
<string name="add_dialog_login_error_not_authorized">Innlogging mislyktes. Brukeren %1$s er ikke identitetsbekreftet.</string>
|
||||
<string name="detail_no_notifications_text">Du har ikke mottatt noen merknader om dette emnet enda.</string>
|
||||
<string name="detail_clear_dialog_message">Slett alle varsler i dette emnet\?</string>
|
||||
<string name="detail_clear_dialog_message">Slett alle andre merknader i emnet\?</string>
|
||||
<string name="detail_delete_dialog_permanently_delete">Slett for godt</string>
|
||||
<string name="detail_delete_dialog_cancel">Avbryt</string>
|
||||
<string name="detail_test_title">Test: Du kan sette en tittel hvis du vil.</string>
|
||||
<string name="detail_test_title">Test: Du kan sette en tittel hvis du vil</string>
|
||||
<string name="detail_test_message_error">Kan ikke sende melding: %1$s</string>
|
||||
<string name="detail_how_to_link">Detaljerte instruksjoner er tilgjengelig på ntfy.sh, og i dokumentasjonen.</string>
|
||||
<string name="detail_how_to_link">Mer detaljert instruks er å finne på ntfy.sh-nettsiden og i dokumentasjonen.</string>
|
||||
<string name="detail_delete_dialog_message">Opphev abonnement på dette emnet og slett alle merknader du har mottatt\?</string>
|
||||
<string name="detail_test_message_error_unauthorized_anon">Kan ikke sende melding: Anonym publisering er ikke tillatt.</string>
|
||||
<string name="detail_test_message_error_unauthorized_anon">Kan ikke sende melding: Anonym publisering tillates ikke</string>
|
||||
<string name="add_dialog_instant_delivery_description">Forsikrer at meldinger blir levert umiddelbart, selv når enheten er inaktiv.</string>
|
||||
<string name="add_dialog_login_description">Dette emnet krever at du logger inn. Skriv inn et brukernavn og passord.</string>
|
||||
<string name="detail_how_to_intro">For å sende merknader til dette emnet kan du utføre PUT eller POST til emne-nettadressen.</string>
|
||||
<string name="detail_how_to_example">Eksempel (ved bruk av curl):<br/><tt>$ curl -d \"Hei\" %1$s</tt></string>
|
||||
<string name="detail_how_to_example">Eksempel (ved bruk av Curl):<br/><tt>$ curl -d «Hei» %1$s</tt></string>
|
||||
<string name="detail_item_snack_deleted">Merknad slettet</string>
|
||||
<string name="detail_item_menu_cancel">Avbryt nedlasting</string>
|
||||
<string name="detail_item_menu_save_file">Lagre fil</string>
|
||||
<string name="detail_item_menu_copy_url">Kopier nettadresse</string>
|
||||
<string name="detail_item_menu_copy_url_copied">URL kopiert til utklippstavlen</string>
|
||||
<string name="detail_item_menu_copy_url_copied">Nettadresse kopiert til utklippstavlen</string>
|
||||
<string name="detail_item_menu_copy_contents">Kopier merknad</string>
|
||||
<string name="detail_item_cannot_download">Kan ikke åpne eller laste ned vedlegg. Lenken utløp og ingen lokal fil ble funnet.</string>
|
||||
<string name="detail_item_cannot_open">Kan ikke åpne vedlegg: %1$s</string>
|
||||
<string name="detail_item_cannot_open_not_found">Kan ikke åpne vedlegg: Filen kan ha blitt slettet, eller ingen installerte apper kan åpne filen.</string>
|
||||
<string name="detail_item_cannot_open_not_found">Kan ikke åpne vedlegg: Filen kan ha blitt slettet, eller så mangler det et program til å åpne filen.</string>
|
||||
<string name="detail_item_cannot_open_url">Kan ikke åpne klikkbar nettadresse: %1$s</string>
|
||||
<string name="detail_item_cannot_delete">Kan ikke slette vedlegg: %1$s</string>
|
||||
<string name="detail_item_download_info_not_downloaded">ikke nedlastet</string>
|
||||
|
@ -81,8 +81,8 @@
|
|||
<string name="detail_item_download_info_download_failed">nedlasting mislyktes</string>
|
||||
<string name="detail_item_download_info_download_failed_expired">nedlasting mislyktes, utløpt lenke</string>
|
||||
<string name="detail_item_download_info_download_failed_expires_x">nedlasting mislyktes, lenke utløper %1$s</string>
|
||||
<string name="detail_menu_notifications_enabled">Varsler på</string>
|
||||
<string name="detail_menu_notifications_disabled_forever">Varsler dempet</string>
|
||||
<string name="detail_menu_notifications_enabled">Merknader påslått</string>
|
||||
<string name="detail_menu_notifications_disabled_forever">Merknader avslått</string>
|
||||
<string name="detail_menu_enable_instant">Skru på umiddelbar levering</string>
|
||||
<string name="detail_menu_disable_instant">Skru av umiddelbar levering</string>
|
||||
<string name="detail_menu_test">Send testmerknad</string>
|
||||
|
@ -91,17 +91,17 @@
|
|||
<string name="detail_menu_settings">Abonnementsinnstillinger</string>
|
||||
<string name="detail_menu_unsubscribe">Opphev abonnement</string>
|
||||
<string name="detail_instant_delivery_disabled">Umiddelbar levering avskrudd</string>
|
||||
<string name="detail_item_menu_copy_contents_copied">Varsel kopiert til utklippstavlen</string>
|
||||
<string name="detail_test_message_error_unauthorized_user">Kan ikke sende melding: Brukeren \"%1$s\" er ikke autorisert.</string>
|
||||
<string name="detail_test_message_error_too_large">Kan ikke sende melding: Vedlegget er for stort.</string>
|
||||
<string name="detail_item_menu_copy_contents_copied">Merknad kopiert til utklippstavlen</string>
|
||||
<string name="detail_test_message_error_unauthorized_user">Kan ikke sende melding: Brukeren «%1$s» er ikke identitetsbekreftet</string>
|
||||
<string name="detail_test_message_error_too_large">Kan ikke sende melding: Vedlegget er for stort</string>
|
||||
<string name="detail_copied_to_clipboard_message">Kopiert til utklippstavlen</string>
|
||||
<string name="detail_instant_delivery_enabled">Umiddelbar levering påskrudd</string>
|
||||
<string name="detail_action_mode_delete_dialog_permanently_delete">Slett permanent</string>
|
||||
<string name="detail_action_mode_delete_dialog_permanently_delete">Slett for godt</string>
|
||||
<string name="detail_action_mode_delete_dialog_cancel">Avbryt</string>
|
||||
<string name="share_title">Del</string>
|
||||
<string name="share_menu_send">Del</string>
|
||||
<string name="share_content_title">Meldingsforhåndsvisning</string>
|
||||
<string name="share_content_text_hint">Legg til innhold for å dele her</string>
|
||||
<string name="share_content_text_hint">Legg innhold du ønsker å dele her</string>
|
||||
<string name="share_content_image_text">Et bilde ble delt med deg</string>
|
||||
<string name="share_content_file_text">En fil ble delt med deg</string>
|
||||
<string name="share_topic_title">Del til</string>
|
||||
|
@ -112,33 +112,33 @@
|
|||
<string name="notification_dialog_2h">2 timer</string>
|
||||
<string name="notification_dialog_8h">8 timer</string>
|
||||
<string name="notification_dialog_tomorrow">Til i morgen</string>
|
||||
<string name="notification_dialog_forever">Inntil gjenopptatt</string>
|
||||
<string name="notification_dialog_forever">Til de blir slått på igjen</string>
|
||||
<string name="notification_popup_action_open">Åpne</string>
|
||||
<string name="settings_title">Innstillinger</string>
|
||||
<string name="settings_notifications_header">Merknader</string>
|
||||
<string name="settings_notifications_muted_until_title">Skru av varsler</string>
|
||||
<string name="settings_notifications_muted_until_show_all">Viser alle varsler</string>
|
||||
<string name="settings_notifications_muted_until_forever">Varsler er dempet til de gjenopptas</string>
|
||||
<string name="settings_notifications_muted_until_x">Varsler avslått til %1$s</string>
|
||||
<string name="settings_notifications_muted_until_title">Sett merknader på pause</string>
|
||||
<string name="settings_notifications_muted_until_show_all">Alle merknader vil bli vist</string>
|
||||
<string name="settings_notifications_muted_until_forever">Merknader forstummet til de blir skrudd på igjen</string>
|
||||
<string name="settings_notifications_muted_until_x">Merknader forstummet til %1$s</string>
|
||||
<string name="settings_notifications_min_priority_min">Alle prioriteter</string>
|
||||
<string name="settings_notifications_min_priority_summary_max">Vis varsler hvis prioritet er 5 (maks.)</string>
|
||||
<string name="settings_notifications_min_priority_default">Standardprioritet og over</string>
|
||||
<string name="settings_notifications_min_priority_summary_max">Vis merknader hvis prioritet er 5 (maks.)</string>
|
||||
<string name="settings_notifications_min_priority_default">Forvalgt prioritet</string>
|
||||
<string name="settings_notifications_min_priority_low">Lav prioritet og høyere</string>
|
||||
<string name="settings_notifications_min_priority_high">Høy prioritet og over</string>
|
||||
<string name="settings_notifications_min_priority_high">Høy prioritet og høyere</string>
|
||||
<string name="settings_notifications_min_priority_max">Kun maks.-prioritet</string>
|
||||
<string name="settings_notifications_auto_download_title">Last ned vedlegg</string>
|
||||
<string name="settings_notifications_auto_download_summary_always">Last ned alle vedlegg automatisk</string>
|
||||
<string name="settings_notifications_auto_download_summary_never">Last aldri ned vedlegg automatisk</string>
|
||||
<string name="settings_notifications_auto_download_summary_never">Aldri last ned vedlegg automatisk</string>
|
||||
<string name="settings_notifications_auto_download_summary_smaller_than_x">Last ned vedlegg opptil %1$s automatisk</string>
|
||||
<string name="settings_notifications_auto_download_never">Aldri last ned noe automatisk</string>
|
||||
<string name="settings_notifications_auto_download_never">Aldri last ned automatisk</string>
|
||||
<string name="settings_notifications_auto_download_always">Alltid last ned automatisk</string>
|
||||
<string name="settings_notifications_auto_download_100k">Hvis under 100 kB</string>
|
||||
<string name="settings_notifications_auto_download_1m">Hvis under 1 MB</string>
|
||||
<string name="settings_notifications_auto_download_5m">Hvis under 5 MB</string>
|
||||
<string name="settings_notifications_auto_download_10m">Hvis under 10 MB</string>
|
||||
<string name="settings_notifications_min_priority_summary_any">Viser alle varsler</string>
|
||||
<string name="settings_notifications_min_priority_summary_x_or_higher">Vis varsler hvis prioritet er %1$d (%2$s) eller høyere</string>
|
||||
<string name="settings_notifications_auto_delete_summary_never">Slett aldri varsler automatisk</string>
|
||||
<string name="settings_notifications_auto_download_100k">Hvis mindre enn 100 KB</string>
|
||||
<string name="settings_notifications_auto_download_1m">Hvis mindre enn 1 MB</string>
|
||||
<string name="settings_notifications_auto_download_5m">Hvis mindre enn 5 MB</string>
|
||||
<string name="settings_notifications_auto_download_10m">Hvis mindre enn 10 MB</string>
|
||||
<string name="settings_notifications_min_priority_summary_any">Merknader av alle prioriteter vises</string>
|
||||
<string name="settings_notifications_min_priority_summary_x_or_higher">Vis merknader hvis prioritet er %1$d (%2$s) eller høyere</string>
|
||||
<string name="settings_notifications_auto_delete_summary_never">Aldri slett merknader automatisk</string>
|
||||
<string name="settings_notifications_auto_delete_one_week">Etter én uke</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_month">Slett merknader automatisk etter én måned</string>
|
||||
<string name="settings_notifications_auto_delete_one_month">Etter én måned</string>
|
||||
|
@ -149,37 +149,37 @@
|
|||
<string name="settings_general_users_summary">Legg til/fjern brukere for beskyttede emner</string>
|
||||
<string name="settings_general_users_prefs_title">Brukere</string>
|
||||
<string name="settings_general_users_prefs_user_not_used">Ikke brukt av noen emner</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_one">Brukt av emnet \"%1$s\"</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_many">Brukt av emnene %1$s</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_one">Brukt av emnet «%1$s»</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_many">Brukt av emnene «%1$s»</string>
|
||||
<string name="settings_general_users_prefs_user_add">Legg til brukere</string>
|
||||
<string name="settings_general_users_prefs_user_add_title">Legg til ny bruker</string>
|
||||
<string name="settings_general_users_prefs_user_add_summary">Opprett en ny bruker for en ny tjener</string>
|
||||
<string name="settings_general_dark_mode_title">Mørk drakt</string>
|
||||
<string name="settings_general_dark_mode_summary_system">Bruker systemets standard</string>
|
||||
<string name="settings_general_dark_mode_summary_light">Lys modus på</string>
|
||||
<string name="settings_general_dark_mode_summary_dark">Mørk modus på. Er du en vampyr\?</string>
|
||||
<string name="settings_general_dark_mode_summary_system">Ikled systemets drakt</string>
|
||||
<string name="settings_general_dark_mode_summary_light">Lys drakt iført</string>
|
||||
<string name="settings_general_dark_mode_summary_dark">Mørk dra iført. Er du en mørkets fyrste\?</string>
|
||||
<string name="settings_general_dark_mode_entry_system">Bruk systemets forvalg</string>
|
||||
<string name="settings_general_dark_mode_entry_light">Lys drakt</string>
|
||||
<string name="settings_general_dark_mode_entry_dark">Mørk drakt</string>
|
||||
<string name="settings_backup_restore_header">Sikkerhetskopiering og gjenoppretting</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_day">Slett merknader automatisk etter én dag</string>
|
||||
<string name="settings_general_default_base_url_message">Skriv inn serverens rot-URL for å bruke din egen server som standard når du abonnerer på nye emner og/eller deler til emner.</string>
|
||||
<string name="settings_general_default_base_url_message">For å bruke din egen tjener som forvalg når du abonnerer på nye emner og/eller deler til emner, kan du skrive inn tjenerens grunn-nettadresse.</string>
|
||||
<string name="settings_backup_restore_restore_title">Gjenopprett fra fil</string>
|
||||
<string name="settings_advanced_header">Avansert</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_scrubbed">Kopier til utklippstavlen (sensurert)</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_scrubbed">Last opp og kopier lenke (sensurert)</string>
|
||||
<string name="settings_advanced_export_logs_copied_logs">Loggføring kopiert til utklippstavlen</string>
|
||||
<string name="settings_advanced_export_logs_uploading">Laster opp logg …</string>
|
||||
<string name="settings_advanced_export_logs_copied_url">Logger lastet opp og URL kopiert</string>
|
||||
<string name="settings_backup_restore_backup_title">Sikkerhetskopier til fil</string>
|
||||
<string name="settings_backup_restore_backup_summary">Eksporter konfigurasjon, varsler og brukere</string>
|
||||
<string name="settings_advanced_export_logs_copied_url">Loggføring opplastet og nettadresse kopiert</string>
|
||||
<string name="settings_backup_restore_backup_title">Sikkerhetskopiering til fil</string>
|
||||
<string name="settings_backup_restore_backup_summary">Eksporter oppsett, merknader og brukere</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything">Alt</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything_no_users">Alt, unntatt brukere</string>
|
||||
<string name="settings_advanced_broadcast_summary_enabled">Programmer kan motta innkommende merknader som kringkastinger</string>
|
||||
<string name="settings_advanced_broadcast_summary_disabled">Programmer kan motta merknader som kringkastinger</string>
|
||||
<string name="settings_advanced_record_logs_title">Registrer logger</string>
|
||||
<string name="settings_advanced_record_logs_summary_enabled">Logger (opptil 1000 oppføringer) til enheten …</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">Slå på logging, slik at du kan dele logger senere for å diagnostisere problemer.</string>
|
||||
<string name="settings_advanced_record_logs_title">Loggføring</string>
|
||||
<string name="settings_advanced_record_logs_summary_enabled">Logger blir registrert på enheten din. Opptil 1000 oppføringer lagres.</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">Skru på registrering av logger, slik at du kan dele dem senere. Dette er nyttig i avlusingsøyemed.</string>
|
||||
<string name="settings_advanced_export_logs_title">Kopier/last opp logger</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_original">Kopier til utklippstavlen</string>
|
||||
<string name="settings_advanced_export_logs_error_uploading">Kunne ikke laste opp logger: %1$s</string>
|
||||
|
@ -188,43 +188,43 @@
|
|||
\n
|
||||
\n%1$s
|
||||
\n
|
||||
\nPassord er fjernet, men er ikke opplistet her.</string>
|
||||
\nPassord vil alltid fjernes, men er ikke opplistet her.</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_empty">Ingen emner/vertsnavn ble fjernet. Kanskje du ikke har noen abonnementer\?</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_button_ok">OK</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_button_ok">Skjønner</string>
|
||||
<string name="settings_advanced_clear_logs_title">Tøm loggføring</string>
|
||||
<string name="settings_advanced_clear_logs_summary">Slett tidligere registrert loggføring, og start på ny</string>
|
||||
<string name="settings_advanced_clear_logs_deleted_toast">Logger slettet</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_jsonhttp">Bruk en JSON-strøm over HTTP for å koble til tjeneren. Dette er en godt utprøvd metode, men kan bruke mer batteri.</string>
|
||||
<string name="settings_advanced_clear_logs_deleted_toast">Loggføring slettet</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_jsonhttp">Bruk en JSON-strøm over HTTP for å koble til tjeneren. Dette er en godt utprøvd metode, selv om den kan bruke mer batteri.</string>
|
||||
<string name="settings_about_header">Om</string>
|
||||
<string name="settings_about_version_copied_to_clipboard_message">Kopiert til utklippstavlen</string>
|
||||
<string name="user_dialog_title_add">Legg til bruker</string>
|
||||
<string name="user_dialog_title_edit">Rediger bruker</string>
|
||||
<string name="user_dialog_base_url_hint">Tjeneste-URL</string>
|
||||
<string name="user_dialog_base_url_hint">Tjener-nettadresse</string>
|
||||
<string name="user_dialog_description_edit">Du kan redigere brukernavn/passord for valgt bruker, eller slette den helt.</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_jsonhttp">JSON-strøm over HTTP</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_ws">Vev-sockets</string>
|
||||
<string name="user_dialog_description_add">Du kan legge til en bruker her. Alle emner for den gitte serveren vil bruke denne brukeren.</string>
|
||||
<string name="user_dialog_description_add">Du kan legge til en bruker her som du kan tilknytte et gitt emne senere.</string>
|
||||
<string name="settings_about_version_format">ntfy %1$s (%2$s)</string>
|
||||
<string name="user_dialog_password_hint_edit">Passord (uendret hvis tomt)</string>
|
||||
<string name="user_dialog_button_add">Legg til bruker</string>
|
||||
<string name="user_dialog_button_cancel">Avbryt</string>
|
||||
<string name="user_dialog_button_delete">Slett bruker</string>
|
||||
<string name="user_dialog_button_save">Lagre</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">Abonnert på tre emner med umiddelbar levering</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">Abonnert på %1$d emner</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">Du abonnerer på tre emner med umiddelbar levering</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">Du abonnerer på %1$d emner</string>
|
||||
<string name="main_menu_settings_title">Innstillinger</string>
|
||||
<string name="channel_notifications_min_name">Minste prioritet</string>
|
||||
<string name="channel_notifications_high_name">Høy prioritet</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Abonnert på to emner med umiddelbar levering</string>
|
||||
<string name="refresh_message_error">Kunne ikke oppdatere %1$d abonnement(er)
|
||||
<string name="channel_notifications_min_name">Merknader (min.-prioritet)</string>
|
||||
<string name="channel_notifications_high_name">Merknader (høy prioritet)</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Du abonnerer på to emner med umiddelbar levering</string>
|
||||
<string name="refresh_message_error">Kunne ikke gjenoppfriske %1$d abonnement(er)
|
||||
\n
|
||||
\n%2$s</string>
|
||||
<string name="add_dialog_button_back">Tilbake</string>
|
||||
<string name="refresh_message_no_results">Alt er oppdatert</string>
|
||||
<string name="refresh_message_no_results">Alt er av nyeste dato</string>
|
||||
<string name="main_action_bar_title">Abonnerte emner</string>
|
||||
<string name="main_menu_notifications_disabled_until">Varsler dempet til %1$s</string>
|
||||
<string name="add_dialog_login_title">Innlogging nødvendig</string>
|
||||
<string name="main_menu_report_bug_title">Rapporter en feil</string>
|
||||
<string name="main_menu_notifications_disabled_until">Merknader avslått til %1$s</string>
|
||||
<string name="add_dialog_login_title">Innlogging kreves</string>
|
||||
<string name="main_menu_report_bug_title">Innrapporter en feil</string>
|
||||
<string name="add_dialog_button_subscribe">Abonner</string>
|
||||
<string name="detail_clear_dialog_permanently_delete">Slett for godt</string>
|
||||
<string name="detail_item_tags">Etiketter: %1$s</string>
|
||||
|
@ -234,10 +234,10 @@
|
|||
<string name="detail_item_menu_delete">Slett fil</string>
|
||||
<string name="detail_item_menu_download">Last ned fil</string>
|
||||
<string name="detail_item_menu_open">Åpne fil</string>
|
||||
<string name="detail_item_saved_successfully">Lagret som \"%1$s\" i nedlastingsmappen</string>
|
||||
<string name="detail_item_saved_successfully">Lagret som «%1$s» i nedlastingsmappen</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expired">ikke nedlastet, utløpt lenke</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expires_x">ikke nedlastet, utløper %1$s</string>
|
||||
<string name="detail_menu_notifications_disabled_until">Varsler avslått til %1$s</string>
|
||||
<string name="detail_menu_notifications_disabled_until">Merknader avslått til %1$s</string>
|
||||
<string name="detail_item_cannot_save">Kan ikke lagre vedlegg: %1$s</string>
|
||||
<string name="detail_action_mode_menu_copy">Kopier</string>
|
||||
<string name="notification_popup_action_cancel">Avbryt</string>
|
||||
|
@ -245,9 +245,9 @@
|
|||
\nFil: %2$s</string>
|
||||
<string name="notification_popup_file_downloading">Laster ned %1$s, %2$d%%
|
||||
\n%3$s</string>
|
||||
<string name="detail_item_download_failed">Kunne ikke laste ned vedlegg: %1$s</string>
|
||||
<string name="detail_item_download_failed">Nedlasting av vedlegg mislyktes: %1$s</string>
|
||||
<string name="detail_action_mode_menu_delete">Slett</string>
|
||||
<string name="detail_action_mode_delete_dialog_message">Vil du slette valgt(e) varsling(er) permanent\?</string>
|
||||
<string name="detail_action_mode_delete_dialog_message">Slett valgt(e) merknad(er)\?</string>
|
||||
<string name="detail_settings_title">Abonnementsinnstillinger</string>
|
||||
<string name="share_suggested_topics">Foreslåtte emner</string>
|
||||
<string name="share_successful">Melding publisert</string>
|
||||
|
@ -256,27 +256,27 @@
|
|||
<string name="notification_popup_file_download_successful">%1$s
|
||||
\nFil: %2$s, nedlastet</string>
|
||||
<string name="share_content_image_error">Kan ikke lese bilde: %1$s</string>
|
||||
<string name="notification_dialog_enabled_toast_message">Varsler gjenopptatt</string>
|
||||
<string name="notification_dialog_muted_until_toast_message">Varsler avslått til %1$s</string>
|
||||
<string name="settings_notifications_min_priority_title">Minste prioritet</string>
|
||||
<string name="share_content_file_error">Kan ikke lese filinformasjon: %1$s</string>
|
||||
<string name="notification_dialog_title">Skru av varsler</string>
|
||||
<string name="notification_dialog_muted_forever_toast_message">Varsler dempet</string>
|
||||
<string name="notification_dialog_enabled_toast_message">Merknader skrudd på igjen</string>
|
||||
<string name="notification_dialog_muted_until_toast_message">Merknader satt på pause til %1$s</string>
|
||||
<string name="settings_notifications_min_priority_title">Min.-prioritet</string>
|
||||
<string name="share_content_file_error">Kan ikke lese filinfo: %1$s</string>
|
||||
<string name="notification_dialog_title">Sett merknader på pause</string>
|
||||
<string name="notification_dialog_muted_forever_toast_message">Merknader satt på pause</string>
|
||||
<string name="notification_dialog_1h">1 time</string>
|
||||
<string name="notification_popup_file_download_failed">%1$s
|
||||
\nFil: %2$s, nedlasting mislyktes</string>
|
||||
<string name="user_dialog_username_hint">Brukernavn</string>
|
||||
<string name="settings_notifications_auto_download_50m">Hvis under 50 MB</string>
|
||||
<string name="settings_notifications_auto_download_50m">Hvis mindre enn 50 MB</string>
|
||||
<string name="settings_notifications_auto_delete_title">Slett merknader</string>
|
||||
<string name="settings_notifications_auto_download_500k">Hvis under 500 kB</string>
|
||||
<string name="settings_notifications_auto_download_500k">Hvis mindre enn 500 KB</string>
|
||||
<string name="settings_backup_restore_backup_failed">Sikkerhetskopiering mislyktes: %1$s</string>
|
||||
<string name="settings_backup_restore_restore_successful">Gjenoppretting vellykket</string>
|
||||
<string name="settings_backup_restore_restore_successful">Gjenopprettet</string>
|
||||
<string name="user_dialog_password_hint_add">Passord</string>
|
||||
<string name="settings_backup_restore_restore_failed">Gjenoppretting mislyktes: %1$s</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_original">Last opp og kopier lenke</string>
|
||||
<string name="settings_about_version_title">Versjon</string>
|
||||
<string name="settings_advanced_broadcast_title">Kringkast meldinger</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_days">Slett varsler automatisk etter tre dager</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_days">Slett merknader automatisk etter tre dager</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_months">Slett merknader automatisk etter tre måneder</string>
|
||||
<string name="settings_notifications_auto_delete_one_day">Etter én dag</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_week">Slett merknader automatisk etter én uke</string>
|
||||
|
@ -285,12 +285,12 @@
|
|||
<string name="settings_general_default_base_url_default_summary">%1$s (forvalg)</string>
|
||||
<string name="settings_backup_restore_backup_entry_settings_only">Kun innstillinger</string>
|
||||
<string name="settings_backup_restore_restore_summary">Importer oppsett, merknader og brukere</string>
|
||||
<string name="detail_test_message">Dette er et testvarsel fra ntfy Android-appen. Den har en nivå %1$d prioritet. Hvis du sender en annen, kan den se annerledes ut.</string>
|
||||
<string name="settings_backup_restore_backup_successful">Sikkerhetskopiering opprettet</string>
|
||||
<string name="settings_advanced_export_logs_summary">Kopier logger til utklippstavlen, eller last opp til nopaste.net (eid av ntfy-utvikleren). Vertsnavn og emner kan sensureres, men varsler vil aldri bli det.</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_ws">Bruk WebSockets for å koble til serveren. Dette er den anbefalte metoden, men kan kreve ytterligere konfigurasjon i proxyen din.</string>
|
||||
<string name="main_how_to_intro">Klikk på + for å opprette eller abonnere på et emne. Etterpå mottar du varsler på enheten din når du sender meldinger via PUT eller POST.</string>
|
||||
<string name="main_how_to_link">Detaljerte instruksjoner er tilgjengelig på ntfy.sh, og i dokumentasjonen.</string>
|
||||
<string name="detail_test_message">Dette er en testmerknad fra ntfy-Androidprogrammet. Det har %1$d-prioritet. vis du sender en ny kan det hende den ser annerledes ut.</string>
|
||||
<string name="settings_backup_restore_backup_successful">Sikkerhetskopi utført</string>
|
||||
<string name="settings_advanced_export_logs_summary">Kopier logger til utklippstavlen, eller last opp til nopaste.net (eid av ntfy-utvikleren). Vertsnavn og emner kan sensureres, men merknader vil aldri bli det.</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_ws">Bruk Vev-socket-er for å koble til tjeneren. Dette er eksperimentelt. Si ifra hvis det bruker mindre batteri eller er ustabilt.</string>
|
||||
<string name="main_how_to_intro">Abonner på et emne ved å klikke på knappen nedenfor. Etter dette kan du sende meldinger via PUT eller POST, og du kan motta merknader på enheten din.</string>
|
||||
<string name="main_how_to_link">Mer detaljert instruks er å finne på ntfy.sh-nettsiden og i dokumentasjonen.</string>
|
||||
<string name="main_unified_push_toast">Dette abonnementet håndteres av %1$s via UnifiedPush</string>
|
||||
<string name="add_dialog_foreground_description">Umiddelbar levering er alltid påskrudd for andre verter enn %1$s.</string>
|
||||
<string name="settings_notifications_priority_min">min</string>
|
||||
|
@ -298,49 +298,8 @@
|
|||
<string name="settings_notifications_priority_default">forvalg</string>
|
||||
<string name="settings_notifications_priority_high">høy</string>
|
||||
<string name="settings_notifications_priority_max">maks.</string>
|
||||
<string name="channel_subscriber_notification_instant_text_six">Abonnert på seks emner med umiddelbar levering</string>
|
||||
<string name="channel_subscriber_notification_instant_text_five">Abonnert på fem emner med umiddelbar levering</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_five">Abonnert på fem emner</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_six">Abonnert på seks emner</string>
|
||||
<string name="channel_notifications_group_default_name">Standard</string>
|
||||
<string name="add_dialog_base_urls_dropdown_choose">Velg tjenestens URL</string>
|
||||
<string name="add_dialog_base_urls_dropdown_clear">Fjern tjeneste-URL</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Fortsett å varsle for høyeste prioritet</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Varslinger med maksimal prioritet varsler kontinuerlig til de blir avvist</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Maks prioriterte varsler varsles bare én gang</string>
|
||||
<string name="detail_settings_notifications_instant_title">Umiddelbar levering</string>
|
||||
<string name="detail_settings_notifications_instant_summary_on">Varsler leveres umiddelbart. Krever en forgrunnsservice og bruker mer batteri.</string>
|
||||
<string name="detail_settings_notifications_instant_summary_off">Varsler leveres med Firebase. Leveringen kan bli forsinket, men bruker mindre batteri.</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Egendefinerte varslingsinnstillinger</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Bruker egendefinerte innstillinger for dette abonnementet</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Bruker standardinnstillinger (lyder, Ikke forstyrr-overstyring osv.)</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Konfigurer varslingsinnstillinger</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Ikke forstyrr (DND) overstyring, lyder osv.</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Fortsett å varsle</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Varsle bare én gang</string>
|
||||
<string name="detail_settings_appearance_icon_remove_summary">Ikon som vises i varsler for dette emnet</string>
|
||||
<string name="detail_settings_appearance_icon_error_saving">Kan ikke lagre ikon: %1$s</string>
|
||||
<string name="detail_settings_appearance_display_name_title">Visningsnavn</string>
|
||||
<string name="detail_settings_appearance_display_name_default_summary">%1$s (standard)</string>
|
||||
<string name="detail_settings_about_topic_url_copied_to_clipboard_message">Kopier til utklippstavlen</string>
|
||||
<string name="detail_settings_appearance_display_name_message">Angi et tilpasset visningsnavn for dette abonnementet. La stå tomt for standard (%1$s).</string>
|
||||
<string name="main_menu_donate_title">Doner 💸</string>
|
||||
<string name="main_banner_websocket_text">Å bytte til WebSockets er den anbefalte måten å koble til serveren på, og kan forbedre batterilevetiden, men kan kreve <a href="https://ntfy.sh/docs/config/#nginxapache2caddy">ytterligere konfigurasjon i proxy-serveren</a>. Dette kan endres i innstillingene.</string>
|
||||
<string name="main_banner_websocket_button_enable_now">Aktiver nå</string>
|
||||
<string name="detail_deep_link_subscribed_toast_message">Abonnerte på emnet %1$s</string>
|
||||
<string name="detail_settings_appearance_header">Utseende</string>
|
||||
<string name="detail_settings_appearance_icon_set_summary">Angi et ikon som skal vises i varsler</string>
|
||||
<string name="detail_settings_appearance_icon_set_title">Abonnement-ikon</string>
|
||||
<string name="detail_settings_global_setting_title">Bruk globale innstillinger</string>
|
||||
<string name="detail_settings_about_header">Om</string>
|
||||
<string name="detail_settings_about_topic_url_title">Emne-URL</string>
|
||||
<string name="notification_popup_user_action_failed">%1$s mislyktes: %2$s</string>
|
||||
<string name="detail_item_cannot_open_apk">Apper kan ikke installeres lenger. Last ned via nettleseren i stedet. Se feilrapport #531 for detaljer.</string>
|
||||
<string name="detail_settings_appearance_icon_remove_title">Abonnement-ikon (trykk for å fjerne)</string>
|
||||
<string name="settings_notifications_channel_prefs_summary">Ikke forstyrr (DND) overstyring, lyder osv.</string>
|
||||
<string name="settings_notifications_channel_prefs_title">Kanalinnstillinger</string>
|
||||
<string name="detail_settings_global_setting_suffix">ved hjelp av globale innstillinger</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy vil ikke opptre som UnifiedPush-distributør</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy vil opptre som UnifiedPush-distributør</string>
|
||||
<string name="settings_advanced_unifiedpush_title">Skru på UnifiedPush</string>
|
||||
<string name="channel_subscriber_notification_instant_text_six">Du abonnerer på seks emner med umiddelbar levering</string>
|
||||
<string name="channel_subscriber_notification_instant_text_five">Du abonnerer på fem emner med umiddelbar levering</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_five">Du abonnerer på fem emner</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_six">Du abonnerer på seks emner</string>
|
||||
</resources>
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_notifications_low_name">Lage prioriteit</string>
|
||||
<string name="channel_notifications_max_name">Maximum prioriteit</string>
|
||||
<string name="channel_notifications_low_name">Meldingen (lage prioriteit)</string>
|
||||
<string name="channel_notifications_max_name">Meldingen (max. prioriteit)</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Geabonneerd op onderwerpen voor directe levering</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Geabonneerd op één onderwerp voor directe levering</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">Geabonneerd op vier onderwerpen voor directe levering</string>
|
||||
|
@ -37,8 +37,8 @@
|
|||
<string name="add_dialog_button_login">Inloggen</string>
|
||||
<string name="add_dialog_use_another_server">Gebruik een andere server</string>
|
||||
<string name="channel_notifications_min_name">Meldingen (min. prioriteit)</string>
|
||||
<string name="channel_notifications_default_name">Standaard prioriteit</string>
|
||||
<string name="channel_notifications_high_name">Hoge prioriteit</string>
|
||||
<string name="channel_notifications_default_name">Meldingen (standaard prioriteit)</string>
|
||||
<string name="channel_notifications_high_name">Meldingen (hoge prioriteit)</string>
|
||||
<string name="channel_subscriber_service_name">Abonnementenservice</string>
|
||||
<string name="main_how_to_intro">Klik op de + om een onderwerp aan te maken of erop te abonneren. Nadien ontvang je meldingen op je toestel bij het verzenden van berichten via PUT or POST.</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Geabonneerd op twee onderwerpen voor directe levering</string>
|
||||
|
@ -226,7 +226,7 @@
|
|||
<string name="settings_advanced_header">Geavanceerd</string>
|
||||
<string name="settings_advanced_record_logs_title">Logs opnemen</string>
|
||||
<string name="settings_advanced_record_logs_summary_enabled">Loggen (tot 1,000 vermeldingen) naar apparaat …</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">Loggen inschakelen, deze kan later gedeeld worden om problemen te analyseren.</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">Schakel loggen in zodat je logs later kunt delen om problemen te diagnosticeren.</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_empty">Er zijn geen onderwerpen/hostnamen gecensureerd. Misschien heb je geen abonnementen\?</string>
|
||||
<string name="detail_item_download_info_deleted">verwijderd</string>
|
||||
<string name="settings_notifications_auto_download_always">Alles automatisch downloaden</string>
|
||||
|
@ -327,20 +327,4 @@
|
|||
<string name="add_dialog_base_urls_dropdown_clear">Service URL verwijderen</string>
|
||||
<string name="main_banner_websocket_button_enable_now">Nu inschakelen</string>
|
||||
<string name="main_banner_websocket_text">WebSockets is de aangeraden manier om te verbinden met uw server en kan batterij verbruik verminderen. Het kan <a href="https://ntfy.sh/docs/config/#nginxapache2caddy"> extra configuratie in uw proxy</a> vereisen. Dit kan omgeschakeld worden in de instellingen.</string>
|
||||
<string name="channel_notifications_group_default_name">Standaard</string>
|
||||
<string name="main_menu_donate_title">Doneer 💸</string>
|
||||
<string name="detail_item_cannot_open_apk">Apps kunnen niet meer worden geïnstalleerd. Download deze via de browser. Raadpleeg issue #531 voor meer details.</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Behoud meldingen voor hoogste prioriteit</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Max prioriteit berichten geven continue een melding totdat deze worden gesloten</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Max prioriteit berichten geven eenmalig een melding</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Instellingen voor aangepaste melding</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Aangepaste instellingen in gebruik voor dit abonnement</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Aanpassen instellingen voor meldingen</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Blijven melden</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Eenmalig melden</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Standaard instellingen in gebruik (geluiden, Niet storen, etc.)</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Niet storen (DND) negeren, geluiden, etc.</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy zal optreden als UnifiedPush-distributeur</string>
|
||||
<string name="settings_advanced_unifiedpush_title">UnifiedPush inschakelen</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy treedt niet op als UnifiedPush-distributeur</string>
|
||||
</resources>
|
|
@ -1,12 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_notifications_min_name">Minimalny priorytet</string>
|
||||
<string name="channel_notifications_low_name">Niski priorytet</string>
|
||||
<string name="channel_notifications_default_name">Domyślny priorytet</string>
|
||||
<string name="channel_notifications_max_name">Maksymalny priorytet</string>
|
||||
<string name="channel_notifications_min_name">Powiadomienia (minimalny priorytet)</string>
|
||||
<string name="channel_notifications_low_name">Powiadomienia (niski priorytet)</string>
|
||||
<string name="channel_notifications_default_name">Powiadomienia (domyślny priorytet)</string>
|
||||
<string name="channel_notifications_max_name">Powiadomienia (maksymalny priorytet)</string>
|
||||
<string name="channel_subscriber_notification_title">Oczekiwanie na przychodzące powiadomienia</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Subskrybujesz tematy z natychmiastowym dostarczaniem</string>
|
||||
<string name="channel_notifications_high_name">Wysoki priorytet</string>
|
||||
<string name="channel_notifications_high_name">Powiadomienia (wysoki priorytet)</string>
|
||||
<string name="channel_subscriber_service_name">Usługa subskrypcji</string>
|
||||
<string name="add_dialog_login_username_hint">Nazwa użytkownika</string>
|
||||
<string name="detail_action_mode_delete_dialog_message">Usunąć wybrane powiadomienie(a) trwale\?</string>
|
||||
|
@ -61,10 +61,10 @@
|
|||
\n
|
||||
\nHasła zostały usunięte, ale nie są tutaj wymienione.</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">Włącz rejestrowanie, aby móc później udostępnić logi w celu zdiagnozowania problemów.</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Zasubskrybowano do dwóch tematów z natychmiastową dostawą</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Zasubskrybowano do dwóch tematów z natychmiastowym dostarczaniem</string>
|
||||
<string name="settings_advanced_export_logs_summary">Kopiuj logi do schowka, lub prześlij na nopaste.net (własność autora ntfy). Nazwy hostów i tematy mogą być cenzurowane, powiadomienia nigdy nie będą.</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_six">Zasubskrybowano sześć tematów</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">Zasubskrybowano do %1$d tematów z natychmiastową dostawą</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">Zasubskrybowano do %1$d tematów z natychmiastowym dostarczaniem</string>
|
||||
<string name="detail_settings_notifications_instant_summary_off">Powiadomienia są dostarczane za pomocą Firebase. Dostarczanie może być opóźnione, ale zużywa mniej baterii.</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_five">Zasubskrybowano pięć tematów</string>
|
||||
<string name="add_dialog_use_another_server_description">Wpisz poniżej adresy URL serwisów, aby subskrybować tematy z innych serwerów.</string>
|
||||
|
@ -92,7 +92,7 @@
|
|||
<string name="settings_backup_restore_header">Kopia zapasowa & Przywracanie</string>
|
||||
<string name="settings_backup_restore_backup_summary">Eksportuj konfigurację, powiadomienia i użytkowników</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_scrubbed">Prześlij i kopiuj łącze (ocenzurowane)</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">Zasubskrybowane tematy</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">Subskrybowane tematy</string>
|
||||
<string name="main_how_to_link">Szczegółowe instrukcje są dostępne w ntfy.sh, oraz w dokumentacji.</string>
|
||||
<string name="main_banner_battery_text">Optymalizacja baterii powinna być wyłączona dla aplikacji, aby uniknąć problemów z dostarczaniem powiadomień.</string>
|
||||
<string name="main_menu_rate_title">Oceń aplikację ⭐</string>
|
||||
|
@ -169,7 +169,7 @@
|
|||
<string name="settings_general_users_prefs_user_used_by_one">Używane przez temat %1$s</string>
|
||||
<string name="settings_general_users_prefs_user_not_used">Nieużywane przez żadne tematy</string>
|
||||
<string name="settings_advanced_clear_logs_title">Wyczyść logi</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_ws">WebSockety</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_ws">WebSockets</string>
|
||||
<string name="detail_settings_global_setting_suffix">przy użyciu ustawienia globalnego</string>
|
||||
<string name="detail_settings_about_header">Informacje o</string>
|
||||
<string name="detail_settings_about_topic_url_title">Adres URL tematu</string>
|
||||
|
@ -186,9 +186,9 @@
|
|||
<string name="main_item_status_unified_push">%1$s (UnifiedPush)</string>
|
||||
<string name="main_menu_report_bug_title">Zgłoś błąd</string>
|
||||
<string name="main_action_mode_menu_unsubscribe">Zrezygnuj z subskrypcji</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Zasubskrybowano jeden temat z natychmiastową dostawą</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">Zasubskrybowano do trzech tematów z natychmiastową dostawą</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">Zasubskrybowano do czterech tematów z natychmiastową dostawą</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Zasubskrybowano do jednego tematu z natychmiastowym dostarczaniem</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">Zasubskrybowano do trzech tematów z natychmiastowym dostarczaniem</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">Zasubskrybowano do czterech tematów z natychmiastowym dostarczaniem</string>
|
||||
<string name="refresh_message_result">Otrzymano %1$d powiadomień</string>
|
||||
<string name="main_item_status_text_one">%1$d powiadomienie</string>
|
||||
<string name="main_unified_push_toast">Ta subskrypcja jest zarządzana przez %1$s poprzez UnifiedPush</string>
|
||||
|
@ -279,7 +279,7 @@
|
|||
<string name="settings_general_default_base_url_default_summary">%1$s (domyślny)</string>
|
||||
<string name="settings_general_users_title">Zarządzaj użytkownikami</string>
|
||||
<string name="settings_general_users_summary">Dodaj/usuń użytkowników dla tematów chronionych</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_many">Używane przez tematy %1$s</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_many">Używane przez tematy %1$s%1$s</string>
|
||||
<string name="settings_general_users_prefs_user_add">Dodaj użytkowników</string>
|
||||
<string name="settings_general_users_prefs_user_add_title">Dodaj nowego użytkownika</string>
|
||||
<string name="settings_general_users_prefs_user_add_summary">Stwórz nowego użytkownika dla nowego serwera</string>
|
||||
|
@ -327,20 +327,4 @@
|
|||
<string name="main_banner_websocket_button_dismiss">Odrzuć</string>
|
||||
<string name="main_banner_websocket_button_enable_now">Aktywuj teraz</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_jsonhttp">Użyj strumienia JSON przez HTTP, aby połączyć się z serwerem. Ta metoda jest sprawdzona, ale może zużywać więcej baterii.</string>
|
||||
<string name="main_menu_donate_title">Wspomóż💸</string>
|
||||
<string name="detail_item_cannot_open_apk">Aplikacja nie może zostać zainstalowana. Pobierz ją poprzez przeglądarkę. Sprawdź problem #531 po więcej informacji.</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Nadal wysyłaj powiadomienia dla najwyższych priorytetów</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Własne ustawienia powiadomień</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Używa własnych ustawień dla tej subskrypcji</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Skonfiguruj ustawienia powiadomień</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Nadpisanie trybu nie przeszkadzać, dźwięki, itp.</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Cały czas alarmuj</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Wyślij alarm tylko raz</string>
|
||||
<string name="channel_notifications_group_default_name">Domyślne</string>
|
||||
<string name="settings_advanced_unifiedpush_title">Załącz</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Powiadomienia o najwyższym priorytecie wysyłają alarm do czasu ich potwierdzenia</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Powiadomienia o najwyższym priorytecie wysyłają powiadomienie tylko raz</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">Ntfy będzie działać jako dystrybutor UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">Ntfy nie będzie dystrybutorem UnifiedPush</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Używa domyślnych ustawień (dźwięki, nadpisanie trybu nie przeszkadzać, itp.)</string>
|
||||
</resources>
|
|
@ -4,8 +4,8 @@
|
|||
<string name="detail_menu_test">Enviar notificação de teste</string>
|
||||
<string name="detail_menu_copy_url">Copiar endereço do tema</string>
|
||||
<string name="notification_dialog_show_all">Mostrar todas notificações</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">Inscrito em três tópicos de entrega instantânea</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">Inscrito em quatro tópicos de entrega instantânea</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">Inscrito em três temas de entrega instantânea</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">Inscrito em quatro temas de entrega instantânea</string>
|
||||
<string name="channel_notifications_default_name">Notificações (prioridade padrão)</string>
|
||||
<string name="channel_notifications_min_name">Notificações (prioridade mínima)</string>
|
||||
<string name="main_menu_notifications_enabled">Notificações ativadas</string>
|
||||
|
@ -19,14 +19,14 @@
|
|||
<string name="channel_subscriber_service_name">Serviço de Assinatura</string>
|
||||
<string name="channel_subscriber_notification_title">Aguardando notificações</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Inscrito em temas de entrega instantânea</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Inscrito em um tópico de entrega instantânea</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">Inscrito em %1$d tópicos de entrega instantânea</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Inscrito em um tema de entrega instantânea</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">Inscrito em %1$d temas de entrega instantânea</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">Inscrito em dois tópicos</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_four">Inscrito em quatro tópicos</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">Inscrito em %1$d tópicos</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_four">Inscrito em quatro temas</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">Inscrito em %1$d temas</string>
|
||||
<string name="refresh_message_result">%1$d notificação(ões) recebida(s)</string>
|
||||
<string name="refresh_message_no_results">Tudo está atualizado</string>
|
||||
<string name="refresh_message_error">Não foi possível atualizar %1$d subscrições
|
||||
<string name="refresh_message_error">Não foi possível atualizar %1$d inscrições
|
||||
\n
|
||||
\n%2$s</string>
|
||||
<string name="main_action_bar_title">Temas inscritos</string>
|
||||
|
@ -36,18 +36,18 @@
|
|||
<string name="main_action_mode_delete_dialog_permanently_delete">Remover permanentemente</string>
|
||||
<string name="main_action_mode_delete_dialog_cancel">Cancelar</string>
|
||||
<string name="main_item_date_yesterday">ontem</string>
|
||||
<string name="main_add_button_description">Adicionar Subscrição</string>
|
||||
<string name="main_add_button_description">Inscrever-se</string>
|
||||
<string name="main_no_subscriptions_text">Parece que você não tem nenhuma inscrição ainda.</string>
|
||||
<string name="main_how_to_link">Instruções detalhadas disponíveis em ntfy.sh, e na documentação.</string>
|
||||
<string name="main_banner_battery_text">O modo Economia de Energia deve estar desligado para evitar problemas de entrega de notificação no aplicativo.</string>
|
||||
<string name="main_item_status_unified_push">%1$s(UnifiedPush)</string>
|
||||
<string name="main_banner_websocket_button_remind_later">Perguntar depois</string>
|
||||
<string name="main_banner_websocket_button_dismiss">Dispensar</string>
|
||||
<string name="add_dialog_title">Inscrever-se no tópico</string>
|
||||
<string name="add_dialog_description_below">Os tópicos podem não ser protegidos por senha, escolha um nome difícil de adivinhar. Uma vez inscrito, você pode usar as notificações PUT/POST.</string>
|
||||
<string name="add_dialog_topic_name_hint">Nome do tópico, ex: alertas_jose</string>
|
||||
<string name="add_dialog_title">Inscrever-se no tema</string>
|
||||
<string name="add_dialog_description_below">Temas podem não ser protegidos por senha, escolha um nome difícil de adivinhar. Uma vez inscrito, você pode usar as notificações PUT/POST.</string>
|
||||
<string name="add_dialog_topic_name_hint">Nome do tema, ex: alertas_jose</string>
|
||||
<string name="add_dialog_use_another_server">Usar outro servidor</string>
|
||||
<string name="add_dialog_use_another_server_description">Insira as URLs do servidor abaixo para inscrever-se nos tópicos de outros servidores.</string>
|
||||
<string name="add_dialog_use_another_server_description">Insira as URLs do servidor abaixo para inscrever-se nos temas de outros servidores.</string>
|
||||
<string name="add_dialog_foreground_description">Entrega instantânea está sempre ligada para hosts, exceto %1$s.</string>
|
||||
<string name="add_dialog_button_back">Voltar</string>
|
||||
<string name="add_dialog_error_connection_failed">Conexão falhou: %1$s</string>
|
||||
|
@ -55,9 +55,9 @@
|
|||
<string name="add_dialog_login_username_hint">Nome de usuário</string>
|
||||
<string name="add_dialog_login_error_not_authorized">Login falhou. Usuário %1$s não autorizado.</string>
|
||||
<string name="add_dialog_login_new_user">Novo usuário</string>
|
||||
<string name="detail_no_notifications_text">Você não recebeu nenhuma notificação desse tópico ainda.</string>
|
||||
<string name="detail_no_notifications_text">Você não recebeu nenhuma notificação desse tema ainda.</string>
|
||||
<string name="detail_how_to_example">Exemplo (usando curl): <br/><tt>$ curl -d \"Oi\" %1$s</tt></string>
|
||||
<string name="detail_clear_dialog_message">Apagar todas as notificações desse tópico\?</string>
|
||||
<string name="detail_clear_dialog_message">Apagar todas as notificações desse tema\?</string>
|
||||
<string name="detail_clear_dialog_permanently_delete">Apagar permanentemente</string>
|
||||
<string name="detail_delete_dialog_message">Cancelar inscrição desse tema e apagar todas as notificações recebidas\?</string>
|
||||
<string name="detail_delete_dialog_cancel">Cancelar</string>
|
||||
|
@ -199,7 +199,7 @@
|
|||
<string name="user_dialog_button_cancel">Cancelar</string>
|
||||
<string name="user_dialog_button_delete">Apagar usuário</string>
|
||||
<string name="channel_notifications_low_name">Notificações (prioridade baixa)</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Inscrito em dois tópicos de entrega instantânea</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Inscrito em dois temas de entrega instantânea</string>
|
||||
<string name="user_dialog_button_save">Salvar</string>
|
||||
<string name="main_item_status_text_one">%1$d notificação</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_one">Inscrito em um tópico</string>
|
||||
|
@ -214,14 +214,14 @@
|
|||
<string name="main_banner_battery_button_dismiss">Dispensar</string>
|
||||
<string name="add_dialog_button_subscribe">Inscrever-se</string>
|
||||
<string name="main_banner_battery_button_fix_now">Consertar agora</string>
|
||||
<string name="add_dialog_instant_delivery">Entrega instantânea em modo descanso</string>
|
||||
<string name="add_dialog_instant_delivery">Entrega instantânea em modo soneca</string>
|
||||
<string name="add_dialog_button_cancel">Cancelar</string>
|
||||
<string name="add_dialog_instant_delivery_description">Garante que as mensagens são entregues imediatamente, mesmo se o dispositivo estiver inativo.</string>
|
||||
<string name="add_dialog_button_login">Entrar</string>
|
||||
<string name="add_dialog_login_password_hint">Senha</string>
|
||||
<string name="add_dialog_login_description">Este tópico requer login. Insira um nome de usuário e senha.</string>
|
||||
<string name="add_dialog_login_description">Esse tema requer login. Insira um nome de usuário e senha.</string>
|
||||
<string name="detail_item_snack_deleted">Notificação removida</string>
|
||||
<string name="detail_how_to_intro">Para enviar notificações para esse tópico, basta usar os métodos PUT ou POST na URL do tema.</string>
|
||||
<string name="detail_how_to_intro">Para enviar notificações para esse tema, basta usar os métodos PUT ou POST na URL do tema.</string>
|
||||
<string name="detail_how_to_link">Instruções detalhadas disponíveis em ntfy.sh e na documentação.</string>
|
||||
<string name="detail_clear_dialog_cancel">Cancelar</string>
|
||||
<string name="detail_delete_dialog_permanently_delete">Apagar permanentemente</string>
|
||||
|
@ -327,20 +327,4 @@
|
|||
<string name="add_dialog_base_urls_dropdown_choose">Escolha o URL do serviço</string>
|
||||
<string name="add_dialog_base_urls_dropdown_clear">Limpar o URL do serviço</string>
|
||||
<string name="main_banner_websocket_button_enable_now">Habilitar agora</string>
|
||||
<string name="channel_notifications_group_default_name">Padrão</string>
|
||||
<string name="main_menu_donate_title">Doar 💸</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Notificações de prioridade máxima alertam apenas uma vez</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Definir configurações de notificação</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Sobrepor Não Perturbe (DND), sons, etc.</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy não atuará como distribuidor UnifiedPush</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Configurações de notificação personalizadas</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Alertar apenas uma vez</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Usando configurações personalizadas para esta assinatura</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Usando configurações padrão (sons, substituição de Não perturbe, etc.)</string>
|
||||
<string name="detail_item_cannot_open_apk">Apps não podem mais ser instalados, baixe pelo navegador. Veja a issue #531 para detalhes.</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Continue alertando para a prioridade mais alta</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Notificações de prioridade máxima alertam continuamente até serem dispensadas</string>
|
||||
<string name="settings_advanced_unifiedpush_title">Habilitar UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy vai agir como um distribuidor UnifiedPush</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Continuar alertando</string>
|
||||
</resources>
|
|
@ -1,121 +1,121 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_subscriber_notification_instant_text_three">Três tópicos de entrega instantânea subscritos</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">Quatro tópicos de entrega instantânea subscritos</string>
|
||||
<string name="channel_subscriber_notification_instant_text_five">Cinco tópicos de entrega instantânea subscritos</string>
|
||||
<string name="channel_subscriber_notification_instant_text_six">Seis tópicos de entrega instantânea subscritos</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">%1$d tópico(s) de entrega instantânea subscrito(s)</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">Tópicos subscritos</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_one">Um tópico subscrito</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">Dois tópicos subscritos</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_three">Três tópicos subscritos</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_six">Seis tópicos subscritos</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">%1$d tópico(s) subscrito(s)</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">Inscrito em três tópicos de entrega instantânea</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">Inscrito em quatro tópicos de entrega instantânea</string>
|
||||
<string name="channel_subscriber_notification_instant_text_five">Inscrito em cinco tópicos de entrega instantânea</string>
|
||||
<string name="channel_subscriber_notification_instant_text_six">Inscrito em seis tópicos de entrega instantânea</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">Inscrito em %1$d tópico(s) de entrega instantânea</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">Inscrito em tópicos</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_one">Inscrito em um tópico</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">Inscrito em dois tópicos</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_three">Inscrito em três tópicos</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_six">Inscrito em seis tópicos</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">Inscrito em %1$d tópico(s)</string>
|
||||
<string name="refresh_message_result">%1$d notificação(ões) recebida(s)</string>
|
||||
<string name="refresh_message_no_results">Está tudo atualizado</string>
|
||||
<string name="refresh_message_error">Não foi possível atualizar %1$d subscrição(ões)
|
||||
<string name="refresh_message_no_results">Tudo está atualizado</string>
|
||||
<string name="refresh_message_error">Não foi possível atualizar %1$d inscrição(ões)
|
||||
\n
|
||||
\n%2$s</string>
|
||||
<string name="refresh_message_error_one">Não foi possível atualizar a subscrição: %1$s</string>
|
||||
<string name="main_action_bar_title">Tópicos subscritos</string>
|
||||
<string name="main_menu_notifications_enabled">Notificações ativadas</string>
|
||||
<string name="refresh_message_error_one">Não foi possível atualizar a inscrição: %1$s</string>
|
||||
<string name="main_action_bar_title">Tópicos inscritos</string>
|
||||
<string name="main_menu_notifications_enabled">Notificações ligadas</string>
|
||||
<string name="main_menu_notifications_disabled_forever">Notificações silenciadas</string>
|
||||
<string name="channel_notifications_min_name">Prioridade mínima</string>
|
||||
<string name="channel_notifications_low_name">Prioridade baixa</string>
|
||||
<string name="channel_subscriber_service_name">Serviço de subscrição</string>
|
||||
<string name="channel_subscriber_notification_title">À escuta de novas notificações</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Tópicos de entrega instantânea subscritos</string>
|
||||
<string name="channel_notifications_min_name">Notificações (prioridade mínima)</string>
|
||||
<string name="channel_notifications_low_name">Notificações (baixa prioridade)</string>
|
||||
<string name="channel_subscriber_service_name">Serviço de Assinatura</string>
|
||||
<string name="channel_subscriber_notification_title">Escutando recebimento de notificações</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Inscrito em tópicos de entrega instantânea</string>
|
||||
<string name="main_menu_notifications_disabled_until">Notificações silenciadas até %1$s</string>
|
||||
<string name="main_menu_settings_title">Configurações</string>
|
||||
<string name="main_menu_report_bug_title">Reportar um problema</string>
|
||||
<string name="main_menu_docs_title">Ler a documentação</string>
|
||||
<string name="main_menu_rate_title">Avaliar a aplicação ⭐</string>
|
||||
<string name="main_action_mode_menu_unsubscribe">Cancelar subscrição</string>
|
||||
<string name="main_action_mode_delete_dialog_message">Cancelar a subscrição do(s) tópico(s) selecionado(s) e eliminar permanentemente todas as notificações\?</string>
|
||||
<string name="main_action_mode_delete_dialog_permanently_delete">Eliminar permanentemente</string>
|
||||
<string name="main_menu_docs_title">Leia os documentos</string>
|
||||
<string name="main_menu_rate_title">Avalie o aplicativo⭐</string>
|
||||
<string name="main_action_mode_menu_unsubscribe">Cancelar inscrição</string>
|
||||
<string name="main_action_mode_delete_dialog_message">Cancelar a inscrição do(s) tópico(s) selecionado(s) e excluir permanentemente todas as notificações\?</string>
|
||||
<string name="main_action_mode_delete_dialog_permanently_delete">Excluir permanentemente</string>
|
||||
<string name="main_action_mode_delete_dialog_cancel">Cancelar</string>
|
||||
<string name="main_item_status_text_one">%1$d notificação</string>
|
||||
<string name="main_item_status_text_not_one">%1$d notificações</string>
|
||||
<string name="main_item_status_reconnecting">A restabelecer ligação …</string>
|
||||
<string name="main_item_status_reconnecting">reconectando…</string>
|
||||
<string name="main_item_date_yesterday">ontem</string>
|
||||
<string name="main_add_button_description">Adicionar subscrição</string>
|
||||
<string name="main_no_subscriptions_text">Parece que ainda não tem subscrições.</string>
|
||||
<string name="main_how_to_link">Instruções detalhadas disponíveis em ntfy.sh, e na documentação.</string>
|
||||
<string name="main_unified_push_toast">Esta subscrição é controlada por %1$s via UnifiedPush</string>
|
||||
<string name="main_banner_battery_text">A otimização de bateria deve estar desativada para a aplicação, de modo a evitar problemas na receção de notificações.</string>
|
||||
<string name="main_add_button_description">Adicionar inscrição</string>
|
||||
<string name="main_no_subscriptions_text">Parece que você não possui inscrições ainda.</string>
|
||||
<string name="main_how_to_link">Instruções detalhadas disponíveis em ntfy.sh, e nos documentos.</string>
|
||||
<string name="main_unified_push_toast">Esta inscrição é controlada por %1$s via UnifiedPush</string>
|
||||
<string name="main_banner_battery_text">Economia de Energia deve estar desligada para que o aplicativo evite problemas no envio de notificações.</string>
|
||||
<string name="main_banner_battery_button_remind_later">Perguntar depois</string>
|
||||
<string name="main_banner_battery_button_dismiss">Dispensar</string>
|
||||
<string name="main_banner_battery_button_fix_now">Corrigir agora</string>
|
||||
<string name="main_banner_websocket_button_remind_later">Perguntar depois</string>
|
||||
<string name="add_dialog_title">Subscrever tópico</string>
|
||||
<string name="add_dialog_topic_name_hint">Nome do tópico, por exemplo: \"alertas_do_filipe\"</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_four">Quatro tópicos subscritos</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_five">Cinco tópicos subscritos</string>
|
||||
<string name="main_how_to_intro">Clique no + para subscrever um tópico. Depois, receberá notificações no seu dispositivo quando enviar mensagens via PUT ou POST.</string>
|
||||
<string name="channel_notifications_max_name">Prioridade máxima</string>
|
||||
<string name="main_banner_websocket_text">Trocar para WebSockets é a forma recomendada de se ligar ao seu servidor, podendo melhorar a duração da bateria, mas pode necessitar <a href="https://ntfy.sh/docs/config/#nginxapache2caddy">configurações adicionais no seu \"proxy\"</a>. Isto pode ser alterado nas Configurações.</string>
|
||||
<string name="add_dialog_title">Inscrever-se para o tópico</string>
|
||||
<string name="add_dialog_topic_name_hint">Nome do tópico, ex: alertas_do_jose</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_four">Inscrito em quatro tópicos</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_five">Inscrito em cinco tópicos</string>
|
||||
<string name="main_how_to_intro">Clique em + para criar uma inscrição em um tópico. Em seguida você receberá notificações no seu dispositivo quando enviar mensagens via PUT ou POST.</string>
|
||||
<string name="channel_notifications_max_name">Notificações (prioridade máxima)</string>
|
||||
<string name="main_banner_websocket_text">Alternar para WebSockets é o jeito recomendado de conectar no seu servidor, podendo melhorar a vida da bateria, mas requer <a href="https://ntfy.sh/docs/config/#nginxapache2caddy">configurações adicionais no seu proxy</a>. Isto pode ser alterado nas Configurações.</string>
|
||||
<string name="main_banner_websocket_button_dismiss">Dispensar</string>
|
||||
<string name="channel_notifications_default_name">Prioridade padrão</string>
|
||||
<string name="channel_notifications_high_name">Prioridade alta</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Um tópico de entrega instantânea subscrito</string>
|
||||
<string name="main_banner_websocket_button_enable_now">Ativar agora</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Dois tópicos de entrega instantânea subscritos</string>
|
||||
<string name="add_dialog_description_below">Tópicos podem não ser protegidos por palavra-passe, portanto escolha um nome que seja difícil de adivinhar. Uma vez inscrito, poderá enviar notificações PUT/POST.</string>
|
||||
<string name="main_item_status_unified_push">%1$s (UnifiedPush)</string>
|
||||
<string name="add_dialog_use_another_server">Utilizar outro servidor</string>
|
||||
<string name="add_dialog_button_login">Entrar</string>
|
||||
<string name="add_dialog_login_title">Autenticação necessária</string>
|
||||
<string name="detail_clear_dialog_message">Deseja eliminar todas as notificações nesse tópico\?</string>
|
||||
<string name="detail_clear_dialog_permanently_delete">Eliminar permanentemente</string>
|
||||
<string name="detail_delete_dialog_permanently_delete">Eliminar permanentemente</string>
|
||||
<string name="channel_notifications_default_name">Notificações (prioridade padrão)</string>
|
||||
<string name="channel_notifications_high_name">Notificações (alta prioridade)</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Inscrito em um tópico de entrega instantânea</string>
|
||||
<string name="main_banner_websocket_button_enable_now">Habilitar agora</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Inscrito em dois tópicos de entrega instantânea</string>
|
||||
<string name="add_dialog_description_below">Tópicos podem não ser protegidos por senha, portanto escolha um nome que seja difícil de adivinhar. Uma vez inscrito, você pode enviar notificações PUT/POST.</string>
|
||||
<string name="main_item_status_unified_push">%1$s (Push Unificado)</string>
|
||||
<string name="add_dialog_use_another_server">Utilize outro servidor</string>
|
||||
<string name="add_dialog_button_login">Log in</string>
|
||||
<string name="add_dialog_login_title">É necesário fazer login</string>
|
||||
<string name="detail_clear_dialog_message">Deseja deletar todas as notificações nesse tópico\?</string>
|
||||
<string name="detail_clear_dialog_permanently_delete">Deletar permanentemente</string>
|
||||
<string name="detail_delete_dialog_permanently_delete">Deletar permanentemente</string>
|
||||
<string name="detail_delete_dialog_cancel">Cancelar</string>
|
||||
<string name="detail_test_title">Teste: Pode definir um título se quiser.</string>
|
||||
<string name="detail_test_title">Teste: Você pode definir um título se quiser.</string>
|
||||
<string name="detail_test_message_error">Não foi possível enviar a mensagem: %1$s</string>
|
||||
<string name="detail_test_message_error_unauthorized_anon">Não foi possível enviar a mensagem: Publicações anónimas não são permitidas.</string>
|
||||
<string name="detail_test_message_error_unauthorized_anon">Não foi possível enviar a mensagem: Publicações anônimas não são permitidas.</string>
|
||||
<string name="detail_copied_to_clipboard_message">Copiado para a área de transferência</string>
|
||||
<string name="detail_deep_link_subscribed_toast_message">Tópico \"%1$s\" subscrito</string>
|
||||
<string name="detail_item_tags">Etiquetas: %1$s</string>
|
||||
<string name="detail_item_snack_deleted">Notificação eliminada</string>
|
||||
<string name="detail_deep_link_subscribed_toast_message">Inscrito no tópico %1$s</string>
|
||||
<string name="detail_item_tags">Tags: %1$s</string>
|
||||
<string name="detail_item_snack_deleted">Notificação deletada</string>
|
||||
<string name="detail_item_snack_undo">Desfazer</string>
|
||||
<string name="detail_item_menu_download">Descarregar ficheiro</string>
|
||||
<string name="detail_item_menu_cancel">Cancelar a descarga</string>
|
||||
<string name="detail_item_menu_download">Fazer download do arquivo</string>
|
||||
<string name="detail_item_menu_cancel">Cancelar o download</string>
|
||||
<string name="detail_item_cannot_open">Não foi possível abrir o anexo: %1$s</string>
|
||||
<string name="detail_item_cannot_open_not_found">Não foi possível abrir o anexo: O ficheiro pode ter sido eliminado, ou não existe nenhuma aplicação instalada que o consiga abrir.</string>
|
||||
<string name="detail_item_cannot_open_url">Não foi possível abrir o URL: %1$s</string>
|
||||
<string name="detail_item_cannot_save">Não foi possível guardar o anexo: %1$s</string>
|
||||
<string name="detail_item_cannot_delete">Não foi possível eliminar o anexo: %1$s</string>
|
||||
<string name="detail_item_download_failed">Não foi possível descarregar o anexo: %1$s</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expires_x">não foi decarregado, expira em %1$s</string>
|
||||
<string name="detail_item_download_info_downloading_x_percent">%1$d%% decarregado</string>
|
||||
<string name="detail_item_download_info_deleted">eliminado</string>
|
||||
<string name="detail_item_download_info_deleted_expired">eliminado, a ligação expirou</string>
|
||||
<string name="detail_item_download_info_deleted_expires_x">eliminado, a ligação expira em %1$s</string>
|
||||
<string name="detail_item_download_info_download_failed">falha ao descarregar</string>
|
||||
<string name="detail_item_download_info_download_failed_expired">falha ao descarregar, a ligação expirou</string>
|
||||
<string name="detail_item_download_info_download_failed_expires_x">falha ao descarregar, a ligação expira em %1$s</string>
|
||||
<string name="detail_menu_notifications_enabled">Notificações atvadas</string>
|
||||
<string name="detail_item_cannot_open_not_found">Não foi possível abrir o anexo: O arquivo pode ter sido deletado, ou não existe app instalado que consiga abrir o arquivo.</string>
|
||||
<string name="detail_item_cannot_open_url">Não foi possível abrir a URL: %1$s</string>
|
||||
<string name="detail_item_cannot_save">Não foi possível salvar o anexo: %1$s</string>
|
||||
<string name="detail_item_cannot_delete">Não foi possível deletar o anexo: %1$s</string>
|
||||
<string name="detail_item_download_failed">Não foi possível baixar o anexo: %1$s</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expires_x">não foi baixado, expira em %1$s</string>
|
||||
<string name="detail_item_download_info_downloading_x_percent">%1$d%% baixado</string>
|
||||
<string name="detail_item_download_info_deleted">apagado</string>
|
||||
<string name="detail_item_download_info_deleted_expired">apagado, link expirou</string>
|
||||
<string name="detail_item_download_info_deleted_expires_x">apagado, link expira em %1$s</string>
|
||||
<string name="detail_item_download_info_download_failed">download falhou</string>
|
||||
<string name="detail_item_download_info_download_failed_expired">download falhou, link expirou</string>
|
||||
<string name="detail_item_download_info_download_failed_expires_x">download falhou, link expira em %1$s</string>
|
||||
<string name="detail_menu_notifications_enabled">Notificações ligadas</string>
|
||||
<string name="detail_menu_notifications_disabled_forever">Notificações silenciadas</string>
|
||||
<string name="detail_menu_enable_instant">Ativar a entrega instantânea</string>
|
||||
<string name="detail_menu_disable_instant">Desativar a entrega instantânea</string>
|
||||
<string name="detail_menu_enable_instant">Ligar a entrega instantânea</string>
|
||||
<string name="detail_menu_disable_instant">Desligar a entrega instantânea</string>
|
||||
<string name="detail_menu_test">Enviar uma notificação de teste</string>
|
||||
<string name="detail_menu_copy_url">Copiar o endereço do tópico</string>
|
||||
<string name="detail_menu_clear">Limpar todas as notificações</string>
|
||||
<string name="detail_menu_settings">Configurações das subscrições</string>
|
||||
<string name="detail_menu_unsubscribe">Anular subscrição</string>
|
||||
<string name="detail_action_mode_menu_delete">Eliminar</string>
|
||||
<string name="detail_action_mode_delete_dialog_message">Deseja eliminar permanentemente a(s) notificação(ões) selecionada(s)\?</string>
|
||||
<string name="detail_action_mode_delete_dialog_permanently_delete">Eliminar permanentemente</string>
|
||||
<string name="detail_menu_settings">Configurações das inscrições</string>
|
||||
<string name="detail_menu_unsubscribe">Desinscrever</string>
|
||||
<string name="detail_action_mode_menu_delete">Apagar</string>
|
||||
<string name="detail_action_mode_delete_dialog_message">Deseja apagar a(s) notificação(ões) selecionada(s) permanentemente\?</string>
|
||||
<string name="detail_action_mode_delete_dialog_permanently_delete">Apagar permanentemente</string>
|
||||
<string name="detail_action_mode_delete_dialog_cancel">Cancelar</string>
|
||||
<string name="detail_settings_title">Configurações das subscrições</string>
|
||||
<string name="share_title">Partilhar</string>
|
||||
<string name="share_menu_send">Partilhar</string>
|
||||
<string name="share_content_title">Pré-visualização da mensagem</string>
|
||||
<string name="share_content_image_text">Uma imagem foi partilhada consigo</string>
|
||||
<string name="share_topic_title">Partilhar para</string>
|
||||
<string name="detail_settings_title">Configurações das inscrições</string>
|
||||
<string name="share_title">Compartilhar</string>
|
||||
<string name="share_menu_send">Compartilhar</string>
|
||||
<string name="share_content_title">Prévia da mensagem</string>
|
||||
<string name="share_content_image_text">Uma imagem foi compartilhada com você</string>
|
||||
<string name="share_topic_title">Compartilhar para</string>
|
||||
<string name="share_suggested_topics">Tópicos sugeridos</string>
|
||||
<string name="share_successful">Mensagem publicada</string>
|
||||
<string name="notification_dialog_cancel">Cancelar</string>
|
||||
<string name="notification_dialog_save">Guardar</string>
|
||||
<string name="notification_dialog_save">Salvar</string>
|
||||
<string name="notification_dialog_enabled_toast_message">Notificações retomadas</string>
|
||||
<string name="notification_dialog_muted_until_toast_message">Notificações silenciadas até %1$s</string>
|
||||
<string name="notification_dialog_show_all">Mostrar todas as notificações</string>
|
||||
|
@ -124,220 +124,138 @@
|
|||
<string name="notification_dialog_tomorrow">Até amanhã</string>
|
||||
<string name="notification_dialog_forever">Até serem retomadas</string>
|
||||
<string name="notification_popup_action_browse">Navegar</string>
|
||||
<string name="notification_popup_action_download">Descarregar</string>
|
||||
<string name="notification_popup_action_download">Baixar</string>
|
||||
<string name="notification_popup_action_cancel">Cancelar</string>
|
||||
<string name="notification_popup_file">%1$s
|
||||
\nFicheiro: %2$s</string>
|
||||
<string name="notification_popup_file_downloading">A descarregar %1$s, %2$d%%
|
||||
\nArquivo: %2$s</string>
|
||||
<string name="notification_popup_file_downloading">Baixando %1$s, %2$d%%
|
||||
\n%3$s</string>
|
||||
<string name="notification_popup_file_download_successful">%1$s
|
||||
\nFicheiro: %2$s, descarregado</string>
|
||||
\nArquivo: %2$s, baixado</string>
|
||||
<string name="notification_popup_file_download_failed">%1$s
|
||||
\nFicheiro: %2$s, falha ao descarregar</string>
|
||||
\nArquivo: %2$s, download falhou</string>
|
||||
<string name="notification_popup_user_action_failed">%1$s falhou: %2$s</string>
|
||||
<string name="settings_title">Configurações</string>
|
||||
<string name="settings_notifications_header">Notificações</string>
|
||||
<string name="settings_notifications_muted_until_title">Silenciar as notificações</string>
|
||||
<string name="settings_notifications_muted_until_show_all">A mostrar todas as notificações</string>
|
||||
<string name="settings_notifications_muted_until_show_all">Mostrando todas as notificações</string>
|
||||
<string name="settings_notifications_muted_until_forever">Notificações silenciadas até serem retomadas</string>
|
||||
<string name="settings_notifications_muted_until_x">Notificações silenciadas até %1$s</string>
|
||||
<string name="settings_notifications_min_priority_title">Prioridade mínima</string>
|
||||
<string name="settings_notifications_min_priority_summary_any">A mostrar todas as notificações</string>
|
||||
<string name="settings_notifications_min_priority_summary_x_or_higher">Mostrar notificações se a prioridade for %1$d (%2$s) ou superior</string>
|
||||
<string name="settings_notifications_min_priority_summary_max">Mostrar notificações se a prioridade for 5 (máxima)</string>
|
||||
<string name="settings_notifications_min_priority_summary_any">Mostrando todas as notificações</string>
|
||||
<string name="settings_notifications_min_priority_summary_x_or_higher">Mostrar as notificações se a prioridade é %1$d (%2$s) ou superior</string>
|
||||
<string name="settings_notifications_min_priority_summary_max">Mostrar as notificações se a prioridade for 5 (máxima)P</string>
|
||||
<string name="settings_notifications_min_priority_min">Qualquer prioridade</string>
|
||||
<string name="settings_notifications_min_priority_low">Prioridade baixa ou superior</string>
|
||||
<string name="settings_notifications_min_priority_default">Prioridade padrão ou superior</string>
|
||||
<string name="settings_notifications_min_priority_high">Prioridade alta ou superior</string>
|
||||
<string name="settings_notifications_min_priority_max">Apenas prioridade máxima</string>
|
||||
<string name="settings_notifications_min_priority_low">Prioridade baixa e superior</string>
|
||||
<string name="settings_notifications_min_priority_default">Prioridade pradão ou superior</string>
|
||||
<string name="settings_notifications_min_priority_high">Altra prioridade ou superior</string>
|
||||
<string name="settings_notifications_min_priority_max">Apenas a prioridade máxima</string>
|
||||
<string name="settings_notifications_priority_min">mínima</string>
|
||||
<string name="settings_notifications_priority_low">baixa</string>
|
||||
<string name="settings_notifications_priority_default">padrão</string>
|
||||
<string name="settings_notifications_priority_high">alta</string>
|
||||
<string name="settings_notifications_priority_max">máxima</string>
|
||||
<string name="settings_notifications_channel_prefs_title">Configurações de canal</string>
|
||||
<string name="settings_notifications_channel_prefs_summary">Sobrescrever modo \"Não incomodar\" (NI), sons, etc.</string>
|
||||
<string name="settings_notifications_auto_download_title">Descarregar os anexos</string>
|
||||
<string name="settings_notifications_auto_download_summary_always">Descarregar todos os anexos automaticamente</string>
|
||||
<string name="settings_notifications_auto_download_summary_never">Nunca descarregar todos os anexos automaticamente</string>
|
||||
<string name="settings_notifications_auto_download_summary_smaller_than_x">Descarregar os anexos automaticamente até %1$s</string>
|
||||
<string name="settings_notifications_auto_download_never">Nunca descarregar nada automaticamente</string>
|
||||
<string name="settings_notifications_auto_download_always">Descarregar tudo automaticamente</string>
|
||||
<string name="settings_notifications_channel_prefs_title">Configuraçoes do canal</string>
|
||||
<string name="settings_notifications_channel_prefs_summary">Sobrescrever modo Não Perturbe (NP), sons, etc.</string>
|
||||
<string name="settings_notifications_auto_download_title">Baixar os anexos</string>
|
||||
<string name="settings_notifications_auto_download_summary_always">Baixar todos os anexos automaticamente</string>
|
||||
<string name="settings_notifications_auto_download_summary_never">Nunca baixar todos os anexos automaticamente</string>
|
||||
<string name="settings_notifications_auto_download_summary_smaller_than_x">Baixar os anexos automaticamente até %1$s</string>
|
||||
<string name="settings_notifications_auto_download_never">Nunca baixar nada automaticamente</string>
|
||||
<string name="settings_notifications_auto_download_always">Baixar tudo automaticamente</string>
|
||||
<string name="settings_notifications_auto_download_100k">Se abaixo de 100kB</string>
|
||||
<string name="settings_notifications_auto_download_500k">Se abaixo de 500 kB</string>
|
||||
<string name="settings_notifications_auto_download_1m">Se abaixo de 1 MB</string>
|
||||
<string name="settings_notifications_auto_delete_title">Elminar as notificações</string>
|
||||
<string name="settings_notifications_auto_delete_summary_never">Nunca eliminar as notificações automaticamente</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_day">Elminar as notificações automaticamente após um dia</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_days">Eliminar as notificações automaticamente após 3 dias</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_week">Eliminar as notificações automaticamente após uma semana</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_month">Eliminar as notificações automaticamente após um mês</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_months">Eliminar as notificações automaticamente após 3 meses</string>
|
||||
<string name="settings_notifications_auto_delete_title">Apagar as notificações</string>
|
||||
<string name="settings_notifications_auto_delete_summary_never">Nunca apagar as notificações automaticamente</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_day">Apagar as notificações automaticamente depois de um dia</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_days">Apagar as notificações automaticamente depois de 3 dias</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_week">Apagar as notificações automaticamente depois de uma semana</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_month">Apagar as notificações automaticamente depois de um mês</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_months">Apagar as notificações automaticamente depois de 3 meses</string>
|
||||
<string name="settings_notifications_auto_delete_never">Nunca</string>
|
||||
<string name="settings_notifications_auto_delete_one_day">Após um dia</string>
|
||||
<string name="settings_notifications_auto_delete_three_days">Após 3 dias</string>
|
||||
<string name="settings_notifications_auto_delete_one_week">Após uma semana</string>
|
||||
<string name="settings_notifications_auto_delete_one_month">Após um mês</string>
|
||||
<string name="settings_notifications_auto_delete_three_months">Após 3 meses</string>
|
||||
<string name="settings_notifications_auto_delete_one_day">Depois de um dia</string>
|
||||
<string name="settings_notifications_auto_delete_three_days">Depois de 3 dias</string>
|
||||
<string name="settings_notifications_auto_delete_one_week">Depois de uma semana</string>
|
||||
<string name="settings_notifications_auto_delete_one_month">Depois de um mês</string>
|
||||
<string name="settings_notifications_auto_delete_three_months">Depois de 3 meses</string>
|
||||
<string name="settings_general_header">Geral</string>
|
||||
<string name="settings_general_default_base_url_title">Servidor padrão</string>
|
||||
<string name="settings_general_default_base_url_message">Insira o URL raíz do servidor para utilizar seu próprio como padrão ao subscrever novos tópicos e/ou partilhar em tópicos.</string>
|
||||
<string name="settings_general_default_base_url_message">Insira a URL raíz do servidor para utilizar seu próprio servidor como padrão ao se inscrever em novos tópicos e/ou compartilhar para tópicos.</string>
|
||||
<string name="settings_general_default_base_url_default_summary">%1$s (padrão)</string>
|
||||
<string name="settings_general_users_title">Gerir utilizadores</string>
|
||||
<string name="settings_general_users_summary">Adicionar/remover utilizadores em tópicos protegidos</string>
|
||||
<string name="settings_general_users_prefs_title">Utilizadores</string>
|
||||
<string name="settings_general_users_title">Gerenciar usuários</string>
|
||||
<string name="settings_general_users_summary">Adicionar/remover usuários em tópicos protegidos</string>
|
||||
<string name="settings_general_users_prefs_title">Usuários</string>
|
||||
<string name="settings_general_users_prefs_user_not_used">Não utilizado por nenhum tópico</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_one">Utilizado pelo tópico %1$s</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_many">Utilizado pelos tópicos %1$s</string>
|
||||
<string name="settings_general_users_prefs_user_add">Adicionar utilizadores</string>
|
||||
<string name="settings_general_users_prefs_user_add_title">Adicionar novo utilizador</string>
|
||||
<string name="settings_general_users_prefs_user_add_summary">Crie um novo utilizador para um novo servidor</string>
|
||||
<string name="settings_general_dark_mode_summary_dark">Modo escuro ligado. Por acaso é um vampiro\?</string>
|
||||
<string name="settings_general_dark_mode_entry_system">Usar a predefinição do sistema</string>
|
||||
<string name="settings_general_users_prefs_user_add">Adicionar usuários</string>
|
||||
<string name="settings_general_users_prefs_user_add_title">Adicionar novo usuário</string>
|
||||
<string name="settings_general_users_prefs_user_add_summary">Crie um novo usuário para um novo servidor</string>
|
||||
<string name="settings_general_dark_mode_summary_dark">Modo escuro ligado. Você por acaso é um vampiro\?</string>
|
||||
<string name="settings_general_dark_mode_entry_system">Usar o padrão do sistema</string>
|
||||
<string name="settings_general_dark_mode_entry_light">Modo claro</string>
|
||||
<string name="settings_general_dark_mode_entry_dark">Modo escuro</string>
|
||||
<string name="settings_backup_restore_header">Cópias de segurança e restauro</string>
|
||||
<string name="settings_backup_restore_backup_title">Fazer cópia de segurança para um ficheiro</string>
|
||||
<string name="settings_backup_restore_backup_summary">Exportar as configurações, notificações e utilizadores</string>
|
||||
<string name="settings_backup_restore_header">Fazer backup e Restaurar</string>
|
||||
<string name="settings_backup_restore_backup_title">Fazer backup para um arquivo</string>
|
||||
<string name="settings_backup_restore_backup_summary">Exportar as configurações, notificações e usuários</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything">Tudo</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything_no_users">Tudo, exceto os utilizadores</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything_no_users">Tudo, exceto os usuários</string>
|
||||
<string name="settings_backup_restore_backup_entry_settings_only">Apenas as configurações</string>
|
||||
<string name="settings_backup_restore_backup_successful">Cópia criada</string>
|
||||
<string name="settings_backup_restore_backup_failed">Falha ao criar cópia: %1$s</string>
|
||||
<string name="detail_item_saved_successfully">Guardado como \"%1$s\" na pasta \"Downloads\" (\"Transferências\")</string>
|
||||
<string name="settings_backup_restore_backup_successful">Backup criado</string>
|
||||
<string name="settings_backup_restore_backup_failed">Backup falhou: %1$s</string>
|
||||
<string name="detail_item_saved_successfully">Salvo como \"%1$s\" na pasta \"Downloads\"</string>
|
||||
<string name="detail_item_menu_copy_contents_copied">Notificação copiada para a área de transferência</string>
|
||||
<string name="detail_item_cannot_download">Não foi possível abrir ou descarregar o anexo. A ligação expirou e nenhum ficheiro local foi encontrado.</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expired">não foi descarregado, a ligação expirou</string>
|
||||
<string name="detail_item_cannot_download">Não foi possível abrir ou baixar o anexo. O link expirou e nenhum arquivo local foi encontrado.</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expired">não foi baixado, link expirou</string>
|
||||
<string name="detail_menu_notifications_disabled_until">Notificações silenciadas até %1$s</string>
|
||||
<string name="share_content_image_error">Não foi possível ler a imagem: %1$s</string>
|
||||
<string name="settings_notifications_auto_download_10m">Se abaixo de 10 MB</string>
|
||||
<string name="add_dialog_foreground_description">A entrega instantânea está sempre ligada para \"hosts\" que não sejam %1$s.</string>
|
||||
<string name="add_dialog_use_another_server_description">Insira os URLs de serviço abaixo para subscrever tópicos de outros servidores.</string>
|
||||
<string name="add_dialog_foreground_description">A entrega instantânea está sempre ligada para os hosts que não sejam %1$s.</string>
|
||||
<string name="add_dialog_use_another_server_description">Insira as URLs de serviço abaixo para se inscrever em tópicos de outros servidores.</string>
|
||||
<string name="add_dialog_button_cancel">Cancelar</string>
|
||||
<string name="add_dialog_button_subscribe">Subscrever</string>
|
||||
<string name="add_dialog_error_connection_failed">A ligação falhou: %1$s</string>
|
||||
<string name="add_dialog_login_description">Esse tópico necessita autenticação. Por favor, insira um nome de utilizador e palavra-passe.</string>
|
||||
<string name="add_dialog_login_new_user">Novo utilizador</string>
|
||||
<string name="add_dialog_base_urls_dropdown_choose">Escolha URL de serviço</string>
|
||||
<string name="detail_how_to_example">Exemplo (utilizando curl): <br/><tt>$ curl -d \"Olá\" %1$s</tt></string>
|
||||
<string name="detail_delete_dialog_message">Deseja anular a subscrição deste tópico e eliminar todas as notificações recebidas\?</string>
|
||||
<string name="detail_test_message">Esta é uma notificação de teste da aplicação Android do ntfy. Tem uma prioridade de nível %1$d. Se enviar outra notificação, poderá ser diferente.</string>
|
||||
<string name="add_dialog_button_subscribe">Se inscrever</string>
|
||||
<string name="add_dialog_error_connection_failed">A conexão falhou: %1$s</string>
|
||||
<string name="add_dialog_login_description">Esse tópico neccessita que você faça login. Por favor, insira um nome de usuário e senha.</string>
|
||||
<string name="add_dialog_login_new_user">Novo usuário</string>
|
||||
<string name="add_dialog_base_urls_dropdown_choose">Escolha a URL do serviço</string>
|
||||
<string name="detail_how_to_example">Exemplo (utilizando curl): <br/><tt>$ curl -d \"Olá\"%1$s</tt></string>
|
||||
<string name="detail_delete_dialog_message">Deseja se desinscrever deste tópico e deletar todas as notificações recebidas\?</string>
|
||||
<string name="detail_test_message">Essa é uma notificação de teste do aplicativo Android do ntfy. Ela tem prioridade nível %1$d. Se você enviar outra notificação, ela pode ser diferente.</string>
|
||||
<string name="detail_test_message_error_too_large">Não foi possível enviar a mensagem: O anexo é grande demais.</string>
|
||||
<string name="detail_instant_delivery_enabled">Entrega instantânea ativada</string>
|
||||
<string name="detail_item_menu_open">Abrir ficheiro</string>
|
||||
<string name="detail_item_menu_save_file">Guardar o ficheiro</string>
|
||||
<string name="detail_item_menu_copy_url">Copiar URL</string>
|
||||
<string name="detail_item_download_info_not_downloaded">não foi descarregado</string>
|
||||
<string name="detail_item_menu_open">Abrir arquivo</string>
|
||||
<string name="detail_item_menu_save_file">Salvar o arquivo</string>
|
||||
<string name="detail_item_menu_copy_url">Copiar a URL</string>
|
||||
<string name="detail_item_download_info_not_downloaded">não foi baixado</string>
|
||||
<string name="add_dialog_instant_delivery">Entrega instantânea em modo soneca</string>
|
||||
<string name="add_dialog_instant_delivery_description">Garante que as mensagens são entregues imediatamente, mesmo que o dispositivo esteja inativo.</string>
|
||||
<string name="add_dialog_instant_delivery_description">Garante que as mensagens sejam entregues imediatamente, mesmo que o dispositivo esteja inativo.</string>
|
||||
<string name="add_dialog_button_back">Voltar</string>
|
||||
<string name="add_dialog_login_username_hint">Nome de utilizador</string>
|
||||
<string name="add_dialog_login_password_hint">Palavra-passe</string>
|
||||
<string name="add_dialog_login_error_not_authorized">A autenticação falhou. O utilizador \"%1$s\" não foi autorizado.</string>
|
||||
<string name="add_dialog_base_urls_dropdown_clear">Limpar URL de serviço</string>
|
||||
<string name="detail_no_notifications_text">Ainda não recebeu nenhuma notificação neste tópico.</string>
|
||||
<string name="detail_how_to_intro">Para enviar notificações deste tópico, simplesmente faça um pedido PUT ou POST para o URL do tópico.</string>
|
||||
<string name="detail_how_to_link">Instruções detalhadas disponíveis em ntfy.sh, e na documentação.</string>
|
||||
<string name="add_dialog_login_username_hint">Nome de usuário</string>
|
||||
<string name="add_dialog_login_password_hint">Senha</string>
|
||||
<string name="add_dialog_login_error_not_authorized">O login falhou. O usuário %1$s não foi autorizado.</string>
|
||||
<string name="add_dialog_base_urls_dropdown_clear">Limpar a URL do serviço</string>
|
||||
<string name="detail_no_notifications_text">Você ainda não recebeu nenhuma notificação neste tópico.</string>
|
||||
<string name="detail_how_to_intro">Para enviar notificações para esse tópico, simplesmente faça um PUT ou POST para a URL do tópico.</string>
|
||||
<string name="detail_how_to_link">Instruções detalhadas disponíveis em ntfy.sh, e nas documentações.</string>
|
||||
<string name="detail_clear_dialog_cancel">Cancelar</string>
|
||||
<string name="detail_test_message_error_unauthorized_user">Não foi possível enviar a mensagem: O utilizador \"%1$s\" não está autorizado.</string>
|
||||
<string name="detail_test_message_error_unauthorized_user">Não foi possível enviar a mensagem: O usuário \"%1$s\" não está autorizado.</string>
|
||||
<string name="detail_instant_delivery_disabled">Entrega instantânea desativada</string>
|
||||
<string name="detail_item_menu_delete">Eliminar ficheiro</string>
|
||||
<string name="detail_item_menu_copy_url_copied">URL copiado para a área de transferência</string>
|
||||
<string name="detail_item_menu_delete">Deletar arquivo</string>
|
||||
<string name="detail_item_menu_copy_url_copied">URL copiada para a área de transferência</string>
|
||||
<string name="detail_item_menu_copy_contents">Copiar notificação</string>
|
||||
<string name="notification_dialog_30min">30 minutos</string>
|
||||
<string name="notification_popup_action_open">Abrir</string>
|
||||
<string name="detail_action_mode_menu_copy">Copiar</string>
|
||||
<string name="share_content_text_hint">Adicione conteúdo a partilhar aqui</string>
|
||||
<string name="share_content_file_error">Não foi possível ler as informações do ficheiro: %1$s</string>
|
||||
<string name="share_content_text_hint">Adicone conteúdo a ser compartilhado aqui</string>
|
||||
<string name="share_content_file_error">Não foi possível ler as informações do arquivo: %1$s</string>
|
||||
<string name="notification_dialog_muted_forever_toast_message">Notificações silenciadas</string>
|
||||
<string name="settings_notifications_auto_download_5m">Se abaixo de 5 MB</string>
|
||||
<string name="share_content_file_text">Um ficheiro foi partilhado consigo</string>
|
||||
<string name="share_content_file_text">Um arquivo foi compartilhado com você</string>
|
||||
<string name="notification_dialog_1h">1 hora</string>
|
||||
<string name="settings_notifications_auto_download_50m">Se abaixo de 50 MB</string>
|
||||
<string name="notification_dialog_title">Silenciar notificações</string>
|
||||
<string name="settings_general_dark_mode_summary_light">Modo claro</string>
|
||||
<string name="settings_general_dark_mode_title">Modo escuro</string>
|
||||
<string name="settings_general_dark_mode_summary_system">Usar a predefinição do sistema</string>
|
||||
<string name="main_menu_donate_title">Doar 💸</string>
|
||||
<string name="settings_backup_restore_restore_failed">Falha ao restaurar %1$s</string>
|
||||
<string name="settings_advanced_header">Avançado</string>
|
||||
<string name="settings_advanced_broadcast_title">Messagens de transmissão</string>
|
||||
<string name="settings_advanced_broadcast_summary_disabled">As aplicações não podem receber notificações como transmissões</string>
|
||||
<string name="settings_advanced_broadcast_summary_enabled">As aplicações podem receber notificações como transmissões</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_original">Copiar para área de transferência</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_scrubbed">Copiar para área de transferência (censurado)</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_original">Enviar e copiar ligação</string>
|
||||
<string name="settings_advanced_export_logs_uploading">A enviar registos …</string>
|
||||
<string name="settings_advanced_export_logs_copied_url">Registos enviados e URL copiado</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_jsonhttp">Utilizar uma \"stream\" de JSON através de HTTP para se ligar ao servidor. Este método foi bem testado na pratica, mas pode consumir mais bateria.</string>
|
||||
<string name="settings_about_version_format">ntfy %1$s (%2$s)</string>
|
||||
<string name="detail_settings_notifications_instant_summary_off">As notificações são entregues utilizando o Firebase. A entrega pode atrasar, mas consome menos bateria.</string>
|
||||
<string name="detail_settings_appearance_header">Aparência</string>
|
||||
<string name="detail_settings_appearance_icon_set_title">Ícone de subscrição</string>
|
||||
<string name="detail_settings_appearance_icon_set_summary">Defina um ícone para ser exibido nas notificações</string>
|
||||
<string name="detail_settings_appearance_icon_remove_title">Ícone de subscrição (toque para remover)</string>
|
||||
<string name="detail_settings_appearance_display_name_message">Defina um nome de exibição personalizado para esta subscrição. Deixe em branco para o padrão (%1$s).</string>
|
||||
<string name="detail_settings_appearance_display_name_default_summary">%1$s (padrão)</string>
|
||||
<string name="detail_settings_global_setting_title">Usar configuração global</string>
|
||||
<string name="detail_settings_global_setting_suffix">usar configuração global</string>
|
||||
<string name="detail_settings_about_header">Sobre a aplicação</string>
|
||||
<string name="detail_settings_about_topic_url_title">URL do tópico</string>
|
||||
<string name="detail_settings_about_topic_url_copied_to_clipboard_message">Copiado para a área de transferência</string>
|
||||
<string name="user_dialog_title_add">Adicionar utilizador</string>
|
||||
<string name="settings_backup_restore_restore_title">Restaurar de um ficheiro</string>
|
||||
<string name="settings_backup_restore_restore_summary">Importar configurações, notificações e usuários</string>
|
||||
<string name="settings_backup_restore_restore_successful">Restauração concluída</string>
|
||||
<string name="settings_advanced_record_logs_summary_enabled">A registar (até 1000 entradas) no dispositivo …</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">Ative os registos para os poder partilhar mais tarde e diagnosticar problemas.</string>
|
||||
<string name="settings_advanced_record_logs_title">Registos</string>
|
||||
<string name="settings_advanced_export_logs_title">Copiar/enviar registos</string>
|
||||
<string name="settings_advanced_export_logs_summary">Copie os registos para a área de transferência ou faça envie para nopaste.net (propriedade do autor do ntfy). \"Hostnames\" e tópicos podem ser censurados, as notificações não.</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_scrubbed">Enviar e copiar ligação (censurado)</string>
|
||||
<string name="settings_advanced_export_logs_copied_logs">Registos copiados para área de transferência</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_text">Esses tópicos/\"hostnames\" foram substituídos por nomes de frutas, portanto pode partilhar os registos sem se preocupar:
|
||||
\n
|
||||
\n%1$s
|
||||
\n
|
||||
\nAs palavras-passe são retiradas e não são listadas aqui.</string>
|
||||
<string name="settings_advanced_export_logs_error_uploading">Não foi possível enviar os registos: %1$s</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_button_ok">OK</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_empty">Nenhum tópico/\"hostname\" foi editado. Talvez não tenha nenhuma subscrição\?</string>
|
||||
<string name="settings_advanced_clear_logs_title">Limpar registos</string>
|
||||
<string name="settings_advanced_clear_logs_deleted_toast">Registos excluídos</string>
|
||||
<string name="settings_advanced_connection_protocol_title">Protocolo de ligação</string>
|
||||
<string name="settings_advanced_clear_logs_summary">Eliminar registos gravados anteriormente e começar de novo</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_ws">Utilizar WebSockets para se ligar ao servidor. Este é o método recomendado, mas pode exigir configuração adicional no seu proxy.</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_jsonhttp">\"Stream\" JSON através de HTTP</string>
|
||||
<string name="settings_about_header">Sobre a aplicação</string>
|
||||
<string name="settings_about_version_title">Versão</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_ws">WebSockets</string>
|
||||
<string name="detail_settings_notifications_instant_title">Entrega instantânea</string>
|
||||
<string name="detail_settings_notifications_instant_summary_on">As notificações são entregues instantaneamente. Requer um serviço que corre em primeiro plano e consome mais bateria.</string>
|
||||
<string name="settings_about_version_copied_to_clipboard_message">Copiado para área de transferência</string>
|
||||
<string name="detail_settings_appearance_icon_error_saving">Não foi possível guardar o ícone: %1$s</string>
|
||||
<string name="detail_settings_appearance_icon_remove_summary">Ícone exibido nas notificações deste tópico</string>
|
||||
<string name="detail_settings_appearance_display_name_title">Nome de exibição</string>
|
||||
<string name="user_dialog_description_edit">Pode editar o nome/palavra-passe do utilizador selecionado ou eliminá-lo.</string>
|
||||
<string name="user_dialog_base_url_hint">URL do serviço</string>
|
||||
<string name="user_dialog_title_edit">Editar utilizador</string>
|
||||
<string name="user_dialog_description_add">Pode adicionar um utilizador aqui. Todos os tópicos para o servidor fornecido usarão esse utilizador.</string>
|
||||
<string name="user_dialog_username_hint">Nome de utilizador</string>
|
||||
<string name="user_dialog_password_hint_add">Palavra-passe</string>
|
||||
<string name="user_dialog_password_hint_edit">Palavra-passe (se deixada em branco não será alterada)</string>
|
||||
<string name="user_dialog_button_cancel">Cancelar</string>
|
||||
<string name="user_dialog_button_add">Adicionar utilizador</string>
|
||||
<string name="user_dialog_button_delete">Eliminar utilizador</string>
|
||||
<string name="user_dialog_button_save">Guardar</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Continuar a alertar para a prioridade máxima</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Continuar a alertar</string>
|
||||
<string name="channel_notifications_group_default_name">Padrão</string>
|
||||
<string name="detail_item_cannot_open_apk">As aplicações já não podem ser instaladas. Em vez disso, descarregue pelo navegador. Consulte a questão #531 no GitHub para mais detalhes.</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">As notificações de prioridade máxima alertam continuamente até serem descartadas</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">As notificações de prioridade máxima alertam apenas uma vez</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Configurações de notificação personalizadas</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">A usar configurações personalizadas para esta subscrição</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">A usar as configurações padrão (sons, substituição de \"Não incomodar\", etc.)</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Definir configurações de notificação</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Sobreposição de \"Não incomodar\" (NI), sons, etc.</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Alertar apenas uma vez</string>
|
||||
<string name="settings_general_dark_mode_summary_system">Usar o padrão do sistema</string>
|
||||
</resources>
|
|
@ -1,346 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="settings_backup_restore_restore_successful">Restaurat cu succes</string>
|
||||
<string name="settings_advanced_record_logs_title">Înregistrează jurnale</string>
|
||||
<string name="settings_advanced_export_logs_summary">Copiază jurnal în clipboard, sau uploadează pe nopaste.net (deținut de autorul ntfy). Numele gazdelor sau topicele pot fi cenzurate, notificările nu vor fi niciodată.</string>
|
||||
<string name="settings_advanced_export_logs_error_uploading">Nu s-au putut încărca jurnalele: %1$s</string>
|
||||
<string name="settings_about_version_format">ntfy %1$s (%2$s)</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_ws">WebSockets</string>
|
||||
<string name="settings_about_version_copied_to_clipboard_message">Copiat în clipboard</string>
|
||||
<string name="detail_settings_notifications_instant_summary_on">Notificările sunt primite instantaneu. Necesită un serviciu în prim plan și consumă mai multă baterie.</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Setări personalizate pentru notificări</string>
|
||||
<string name="detail_settings_appearance_icon_set_summary">Setează o pictogramă care să fie afișată în notificări</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">Abonat la trei topice cu livrare instantanee</string>
|
||||
<string name="detail_settings_about_topic_url_title">URL-ul topicului</string>
|
||||
<string name="channel_subscriber_service_name">Serviciul abonărilor</string>
|
||||
<string name="user_dialog_password_hint_edit">Parolă (neschimbată dacă este lăsată necompletată)</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Abonat la două topice cu livrare instantanee</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Abonat pentru primirea topicelor cu livrare instantanee</string>
|
||||
<string name="channel_subscriber_notification_instant_text_five">Abonat la cinci topice cu livrare instantanee</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">Abonat la %1$d topice cu livrare instantanee</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_three">Abonat la trei topice</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">Abonat la două topice</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_four">Abonat la patru topice</string>
|
||||
<string name="main_banner_websocket_text">Trecerea la WebSockets este modalitatea recomandată de a vă conecta la serverul dumneavostră, și poate îmbunătăți durata de viață a bateriei, dar poate necesita <a href="https://ntfy.sh/docs/config/#nginxapache2caddy">configurare suplimentară în proxy-ul dumneavostră</a>. Acest lucru poate fi comutat în setări.</string>
|
||||
<string name="detail_item_cannot_download">Nu se poate deschide sau descărca atașamentul. Link-ul a expirat și nu s-a găsit niciun fișier local.</string>
|
||||
<string name="notification_dialog_muted_until_toast_message">Notificări oprite până la %1$s</string>
|
||||
<string name="notification_popup_file">%1$s
|
||||
\nFișier: %2$s</string>
|
||||
<string name="notification_popup_file_download_successful">%1$s
|
||||
\nFișier: %2$s, descărcat</string>
|
||||
<string name="notification_popup_file_download_failed">%1$s
|
||||
\nFile: %2$s, descărcare eșuată</string>
|
||||
<string name="settings_notifications_muted_until_show_all">Se afișează toate notificările</string>
|
||||
<string name="settings_notifications_min_priority_summary_any">Se afișează toate notificările</string>
|
||||
<string name="settings_notifications_priority_low">mică</string>
|
||||
<string name="settings_notifications_priority_high">mare</string>
|
||||
<string name="settings_notifications_priority_max">maximă</string>
|
||||
<string name="settings_notifications_channel_prefs_summary">Suprascriere nu deranjați (DND), sunete, etc.</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Notificările cu prioritate maximă se alertă continuu până la respingere</string>
|
||||
<string name="settings_advanced_broadcast_summary_enabled">Aplicațiile pot primi notificări primite ca difuzări</string>
|
||||
<string name="settings_advanced_broadcast_summary_disabled">Aplicațiile nu pot primi notificări ca difuzări</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_text">Aceste topice/nume de gazde au fost înlocuite cu nume de fructe, ca să puteți distribui jurnalul fără griji:
|
||||
\n
|
||||
\n%1$s
|
||||
\n
|
||||
\nParolele sunt criptate, dar nu sunt listate aici.</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_ws">Folosește WebSockets pentru conectarea la server. Asta este metoda recomandată, dar ar putea necesita setări adiționale în proxy-ul dumneavoastră</string>
|
||||
<string name="detail_settings_appearance_icon_remove_title">Pictogramă abonament (apăsați pentru a elimina)</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_jsonhttp">Flux JSON prin HTTP</string>
|
||||
<string name="settings_notifications_auto_delete_title">Șterge notificări</string>
|
||||
<string name="settings_notifications_auto_download_always">Descarcă totul automat</string>
|
||||
<string name="settings_notifications_auto_download_100k">Dacă e mai mic de 100 kB</string>
|
||||
<string name="settings_notifications_auto_download_500k">Dacă e mai mic de 500 kB</string>
|
||||
<string name="settings_notifications_auto_download_1m">Dacă e mai mic de 1 MB</string>
|
||||
<string name="settings_notifications_auto_download_5m">Dacă e mai mic de 5 MB</string>
|
||||
<string name="settings_notifications_auto_download_10m">Dacă e mai mic de 10 MB</string>
|
||||
<string name="settings_notifications_auto_download_50m">Dacă e mai mic de 50 MB</string>
|
||||
<string name="settings_notifications_auto_delete_never">Niciodată</string>
|
||||
<string name="settings_notifications_auto_delete_three_days">Peste 3 zile</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Păstrează alertele pentru prioritatea maximă</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Notificările cu prioritate maximă se alertă o singură dată</string>
|
||||
<string name="settings_general_header">General</string>
|
||||
<string name="settings_general_default_base_url_title">Server implicit</string>
|
||||
<string name="settings_general_default_base_url_message">Introduceți URL-ul rădăcinii a serverului dvs. pentru utilizarea implicită atunci când vă abonați la topice noi și/sau când partajați în topice.</string>
|
||||
<string name="settings_general_default_base_url_default_summary">%1$s (implicit)</string>
|
||||
<string name="settings_general_users_prefs_user_add">Adaugă utilizatori</string>
|
||||
<string name="settings_general_users_prefs_user_add_summary">Crează un utilizator nou pentru un server nou</string>
|
||||
<string name="settings_general_users_title">Gestionați utilizatorii</string>
|
||||
<string name="settings_general_users_summary">Adaugă/șterge utilizatori pentru subiecte protejate</string>
|
||||
<string name="settings_general_users_prefs_user_not_used">Nu este folosit de niciun topic</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_one">Folosit de topicul %1$s</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_many">Folosit de topicele %1$s</string>
|
||||
<string name="settings_general_dark_mode_summary_system">Folosește implicitul sistemului</string>
|
||||
<string name="settings_general_dark_mode_summary_light">Modul luminos pornit</string>
|
||||
<string name="settings_general_dark_mode_summary_dark">Mod întunecat pornit. Ești un vampir\?</string>
|
||||
<string name="settings_general_dark_mode_entry_system">Folosește implicitul sistemului</string>
|
||||
<string name="settings_general_dark_mode_entry_light">Mod luminos</string>
|
||||
<string name="settings_general_dark_mode_entry_dark">Mod întunecat</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything">Totul</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything_no_users">Totul, înafară de utilizatori</string>
|
||||
<string name="settings_backup_restore_header">Backup și restaurare</string>
|
||||
<string name="settings_backup_restore_backup_title">Back up în fișier</string>
|
||||
<string name="settings_backup_restore_backup_summary">Exportați configurația, notificările și utilizatorii</string>
|
||||
<string name="settings_backup_restore_backup_entry_settings_only">Doar setări</string>
|
||||
<string name="settings_backup_restore_backup_successful">Backup creat</string>
|
||||
<string name="settings_backup_restore_backup_failed">Backup eșuat: %1$s</string>
|
||||
<string name="settings_backup_restore_restore_title">Restaurează din fișier</string>
|
||||
<string name="settings_backup_restore_restore_failed">Restaurare eșuată: %1$s</string>
|
||||
<string name="settings_advanced_header">Avansat</string>
|
||||
<string name="settings_advanced_broadcast_title">Difuzați mesaje</string>
|
||||
<string name="settings_advanced_record_logs_summary_enabled">Se salvează (până la 1,000 de intrări) pe dispozitiv…</string>
|
||||
<string name="settings_advanced_export_logs_title">Copiază/uploadează jurnale</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_original">Copiază în clipboard</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_scrubbed">Copiază în clipboard (cenzurat)</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_original">Uploadează și copiază linkul</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_scrubbed">Uploadează și copiază linkul (cenzurat)</string>
|
||||
<string name="settings_advanced_export_logs_copied_logs">Jurnale copiate în clipboard</string>
|
||||
<string name="settings_advanced_export_logs_uploading">Încărcare jurnal …</string>
|
||||
<string name="settings_advanced_export_logs_copied_url">Jurnal încărcat și URL copiat</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">Activați înregistrarea în jurnal, astfel încât să puteți partaja jurnalele mai târziu pentru a diagnostica probleme.</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_button_ok">OK</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_empty">Niciun topic sau nume de gazde au fost redactate. Poate nu ai niciun abonament\?</string>
|
||||
<string name="settings_advanced_clear_logs_summary">Șterge jurnalele înregistrate anterior, și începe de la capăt</string>
|
||||
<string name="settings_advanced_clear_logs_deleted_toast">Jurnale șterse</string>
|
||||
<string name="settings_advanced_connection_protocol_title">Protocolul conexiunii</string>
|
||||
<string name="settings_advanced_clear_logs_title">Șterge jurnale</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_jsonhttp">Utilizați un flux JSON prin HTTP pentru conectarea la server. Această metodă este efectivă, dar poate folosi mai multă baterie.</string>
|
||||
<string name="settings_about_header">Despre</string>
|
||||
<string name="settings_about_version_title">Versiune</string>
|
||||
<string name="detail_settings_notifications_instant_title">Primire instantanee</string>
|
||||
<string name="detail_settings_notifications_instant_summary_off">Notificările sunt primite cu Firebase. Primirea poate fi întârziată, dar folosește mai puțină baterie.</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Configurează setările pentru notificări</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Se folosesc setări personalizate pentru acest abonament</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Folosește setările implicite (sunete, trece peste Nu deranjați, etc.)</string>
|
||||
<string name="detail_settings_appearance_header">Aparență</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Suprascrierea \"nu deranjați\" (DND), sunete, etc.</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Alertează în continuare</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Alertează doar o dată</string>
|
||||
<string name="detail_settings_appearance_icon_remove_summary">Pictograma afișată în notificări pentru acest topic</string>
|
||||
<string name="detail_settings_appearance_display_name_title">Nume de afișare</string>
|
||||
<string name="detail_settings_appearance_icon_set_title">Pictogramă abonament</string>
|
||||
<string name="detail_settings_appearance_icon_error_saving">Nu s-a putut salva pictograma: %1$s</string>
|
||||
<string name="detail_settings_appearance_display_name_message">Setează un nume de afișare personalizat pentru acest abonament. Lăsați necompletat pentru numele implicit (%1$s).</string>
|
||||
<string name="detail_settings_appearance_display_name_default_summary">%1$s (implicit)</string>
|
||||
<string name="detail_settings_global_setting_title">Folosește setarea globală</string>
|
||||
<string name="detail_settings_about_header">Despre</string>
|
||||
<string name="detail_settings_about_topic_url_copied_to_clipboard_message">Copiat în clipboard</string>
|
||||
<string name="detail_settings_global_setting_suffix">folosind setarea globală</string>
|
||||
<string name="user_dialog_title_add">Adaugă utilizator</string>
|
||||
<string name="user_dialog_title_edit">Modifică utilizator</string>
|
||||
<string name="user_dialog_description_add">Poți adaugă un utilizator aici. Toate topicele pentru serverul specificat vor folosi acest utilizator.</string>
|
||||
<string name="user_dialog_description_edit">Puteți edita numele de utilizator/parola pentru utilizatorul selectat, sau îl puteți șterge.</string>
|
||||
<string name="user_dialog_base_url_hint">URL-ul serviciului</string>
|
||||
<string name="user_dialog_username_hint">Nume de utilizator</string>
|
||||
<string name="user_dialog_password_hint_add">Parolă</string>
|
||||
<string name="user_dialog_button_add">Adaugă utilizator</string>
|
||||
<string name="user_dialog_button_cancel">Anulează</string>
|
||||
<string name="user_dialog_button_delete">Șterge utilizator</string>
|
||||
<string name="user_dialog_button_save">Salvează</string>
|
||||
<string name="channel_notifications_default_name">Prioritate normală</string>
|
||||
<string name="channel_subscriber_notification_title">Ascultând pentru notificări primite</string>
|
||||
<string name="channel_notifications_max_name">Prioritate maximă</string>
|
||||
<string name="channel_notifications_group_default_name">Implicit</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Abonat la un subiect cu livrare instantanee</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">Abonat la patru topice cu livrare instantanee</string>
|
||||
<string name="channel_subscriber_notification_instant_text_six">Abonat la șase topice cu livrare instantanee</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">Abonat la topice</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_one">Abonat la un topic</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_five">Abonat la cinci topice</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_six">Abonat la șase topice</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">Abonat la %1$d topice</string>
|
||||
<string name="refresh_message_result">%1$d notificări primite</string>
|
||||
<string name="refresh_message_no_results">Totul este la zi</string>
|
||||
<string name="refresh_message_error">Nu s-au putut actualiza %1$d abonări
|
||||
\n
|
||||
\n%2$s</string>
|
||||
<string name="refresh_message_error_one">Nu s-a putut actualiza abonarea: %1$s</string>
|
||||
<string name="main_action_bar_title">Topice abonate</string>
|
||||
<string name="main_menu_rate_title">Evaluează aplicația</string>
|
||||
<string name="main_menu_notifications_disabled_forever">Notificări dezactivate</string>
|
||||
<string name="main_menu_notifications_disabled_until">Notificări dezactivate până la %1$s</string>
|
||||
<string name="main_menu_report_bug_title">Raportează o problemă</string>
|
||||
<string name="main_menu_docs_title">Citește documentația</string>
|
||||
<string name="main_action_mode_delete_dialog_message">Dezabonează-te de la topicele selectate și șterge notificările permanent\?</string>
|
||||
<string name="main_menu_donate_title">Donează 💸</string>
|
||||
<string name="main_item_status_unified_push">%1$s (UnifiedPush)</string>
|
||||
<string name="main_add_button_description">Adaugă abonament</string>
|
||||
<string name="main_item_status_text_not_one">%1$d notificări</string>
|
||||
<string name="main_item_status_reconnecting">reconectare …</string>
|
||||
<string name="main_item_date_yesterday">ieri</string>
|
||||
<string name="main_no_subscriptions_text">Se pare că nu încă ești abonat la nimic.</string>
|
||||
<string name="main_banner_battery_text">Optimizarea bateriei ar trebui să fie oprită pentru a preveni probleme de livrare a notificărilor.</string>
|
||||
<string name="main_banner_battery_button_remind_later">Întreabă mai târziu</string>
|
||||
<string name="main_how_to_intro">Apasă pe + pentru a crea sau pentru a te abona la un topic. Apoi primiți notificări pe dispozitivul dvs. atunci când trimiteți mesaje prin intermediul PUT sau POST.</string>
|
||||
<string name="main_how_to_link">Instrucțiuni detaliate disponibile pe ntfy.sh, și pe documentație.</string>
|
||||
<string name="main_unified_push_toast">Această abonare este gestionat de %1$s prin UnifiedPush</string>
|
||||
<string name="main_banner_battery_button_dismiss">Ignoră</string>
|
||||
<string name="detail_deep_link_subscribed_toast_message">Abonat la topicul %1$s</string>
|
||||
<string name="detail_item_snack_deleted">Notificare ștearsă</string>
|
||||
<string name="detail_item_tags">Etichete: %1$s</string>
|
||||
<string name="detail_item_snack_undo">Anulează</string>
|
||||
<string name="detail_item_menu_delete">Șterge fișierul</string>
|
||||
<string name="detail_item_menu_cancel">Oprește descărcarea</string>
|
||||
<string name="detail_item_menu_save_file">Salvează fișierul</string>
|
||||
<string name="detail_item_saved_successfully">Salvat ca \"%1$s\" în directorul \"Downloads\"</string>
|
||||
<string name="detail_item_menu_copy_contents">Copiază notificarea</string>
|
||||
<string name="detail_item_menu_copy_contents_copied">Notificare copiată în clipboard</string>
|
||||
<string name="detail_item_cannot_open">Nu se poate deschide atașametul: %1$s</string>
|
||||
<string name="detail_item_cannot_open_url">Nu se poate deschide URL-ul: %1$s</string>
|
||||
<string name="detail_item_cannot_open_apk">Aplicațiile nu mai pot fi instalate. Descarcă prin intermediul browser-ului. Consultați problema #531 pentru detalii.</string>
|
||||
<string name="detail_item_download_info_deleted_expired">șters, link expirat</string>
|
||||
<string name="detail_item_download_info_deleted_expires_x">șters, link expiră la %1$s</string>
|
||||
<string name="detail_item_download_info_download_failed_expires_x">descărcare eșuată, linkul expiră la %1$s</string>
|
||||
<string name="detail_menu_notifications_enabled">Notificări pornite</string>
|
||||
<string name="detail_menu_enable_instant">Pornire primire instantanee</string>
|
||||
<string name="detail_menu_notifications_disabled_forever">Notificări oprite</string>
|
||||
<string name="detail_menu_notifications_disabled_until">Notificări oprite până la %1$s</string>
|
||||
<string name="detail_menu_copy_url">Copiază adresa topicului</string>
|
||||
<string name="detail_menu_clear">Șterge toate notificările</string>
|
||||
<string name="detail_menu_unsubscribe">Dezabonează-te</string>
|
||||
<string name="detail_action_mode_menu_copy">Copiază</string>
|
||||
<string name="detail_menu_settings">Setări abonament</string>
|
||||
<string name="detail_action_mode_menu_delete">Șterge</string>
|
||||
<string name="detail_action_mode_delete_dialog_message">Șterge notificarea/notificările selectate permanent\?</string>
|
||||
<string name="detail_settings_title">Setări abonament</string>
|
||||
<string name="share_menu_send">Distribuie</string>
|
||||
<string name="share_content_text_hint">Adaugă conținut pentru a distribui aici</string>
|
||||
<string name="share_content_image_text">O imagine a fost distribuită cu tine</string>
|
||||
<string name="share_content_file_error">Nu se poate citi informația fișierului: %1$s</string>
|
||||
<string name="share_topic_title">Distribuie la</string>
|
||||
<string name="notification_dialog_title">Oprește notificările</string>
|
||||
<string name="share_successful">Mesaj publicat</string>
|
||||
<string name="notification_dialog_save">Salvează</string>
|
||||
<string name="notification_dialog_enabled_toast_message">Notificări reactivate</string>
|
||||
<string name="notification_dialog_show_all">Arată toate notificările</string>
|
||||
<string name="notification_dialog_muted_forever_toast_message">Notificări oprite</string>
|
||||
<string name="notification_dialog_1h">O oră</string>
|
||||
<string name="notification_dialog_forever">Până la reluare</string>
|
||||
<string name="notification_dialog_2h">2 ore</string>
|
||||
<string name="notification_dialog_8h">8 ore</string>
|
||||
<string name="notification_dialog_tomorrow">Până mâine</string>
|
||||
<string name="notification_popup_action_open">Deschide</string>
|
||||
<string name="notification_popup_action_browse">Răsfoiește</string>
|
||||
<string name="notification_popup_action_download">Descarcă</string>
|
||||
<string name="notification_popup_file_downloading">Se descarcă %1$s, %2$d%%
|
||||
\n%3$s</string>
|
||||
<string name="notification_popup_action_cancel">Anulează</string>
|
||||
<string name="notification_popup_user_action_failed">%1$s eșuat: %2$s</string>
|
||||
<string name="settings_notifications_muted_until_title">Oprire notificări</string>
|
||||
<string name="settings_notifications_muted_until_forever">Notificări oprite până la reluare</string>
|
||||
<string name="settings_notifications_muted_until_x">Notificări oprite până la %1$s</string>
|
||||
<string name="settings_notifications_header">Notificări</string>
|
||||
<string name="settings_notifications_min_priority_summary_x_or_higher">Arată notificările dacă prioritatea este %1$d (%2$s) sau mai înaltă</string>
|
||||
<string name="settings_notifications_min_priority_summary_max">Arată notificările dacă prioritatea este 5 (maximă)</string>
|
||||
<string name="settings_notifications_min_priority_min">Orice prioritate</string>
|
||||
<string name="settings_notifications_min_priority_default">Prioritate implicită sau mai înaltă</string>
|
||||
<string name="settings_notifications_min_priority_low">Prioritate mică sau mai mare</string>
|
||||
<string name="settings_notifications_priority_min">minim</string>
|
||||
<string name="settings_notifications_auto_download_title">Descarcă atașamentele</string>
|
||||
<string name="settings_notifications_priority_default">implicită</string>
|
||||
<string name="settings_notifications_auto_download_summary_smaller_than_x">Descărcare automată a atașamentelor până la %1$s</string>
|
||||
<string name="settings_notifications_auto_download_never">Niciodată să nu se descarce automat ceva</string>
|
||||
<string name="channel_notifications_min_name">Prioritate minimă</string>
|
||||
<string name="channel_notifications_low_name">Prioritate mică</string>
|
||||
<string name="channel_notifications_high_name">Prioritate mare</string>
|
||||
<string name="main_menu_notifications_enabled">Notificări pornite</string>
|
||||
<string name="main_menu_settings_title">Setări</string>
|
||||
<string name="main_action_mode_menu_unsubscribe">Dezabonează-te</string>
|
||||
<string name="main_action_mode_delete_dialog_permanently_delete">Șterge permanent</string>
|
||||
<string name="main_item_status_text_one">%1$d notificare</string>
|
||||
<string name="main_action_mode_delete_dialog_cancel">Anulare</string>
|
||||
<string name="main_banner_battery_button_fix_now">Rezolvă acum</string>
|
||||
<string name="main_banner_websocket_button_remind_later">Întreabă mai târziu</string>
|
||||
<string name="main_banner_websocket_button_enable_now">Activează acum</string>
|
||||
<string name="add_dialog_title">Abonează-te la topic</string>
|
||||
<string name="detail_how_to_link">Instrucțiuni detaliate disponibile pe ntfy.sh, și în documentație.</string>
|
||||
<string name="detail_clear_dialog_message">Șterge toate notificările în acest topic\?</string>
|
||||
<string name="detail_delete_dialog_message">Dezabonează-te de la acest topic și șterge toate notificările primite\?</string>
|
||||
<string name="detail_clear_dialog_permanently_delete">Șterge permanent</string>
|
||||
<string name="detail_clear_dialog_cancel">Anulează</string>
|
||||
<string name="detail_item_menu_open">Deschide fișier</string>
|
||||
<string name="detail_item_menu_copy_url_copied">URL copiat în clipboard</string>
|
||||
<string name="detail_item_download_info_deleted">șters</string>
|
||||
<string name="detail_item_download_info_download_failed">descărcare eșuată</string>
|
||||
<string name="detail_item_download_info_download_failed_expired">descărcare eșuată, linkul a expirat</string>
|
||||
<string name="detail_item_menu_download">Descarcă fișierul</string>
|
||||
<string name="detail_item_menu_copy_url">Copiază URL</string>
|
||||
<string name="detail_item_cannot_open_not_found">Nu se poate deschide atașamentul: Fișierul s-ar putea să fi fost șters, sau nu există o aplicație instalată pentru a îl deschide.</string>
|
||||
<string name="detail_item_download_info_not_downloaded">nu s-a descărcat</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expires_x">nu s-a descărcat, expiră la %1$s</string>
|
||||
<string name="detail_item_cannot_delete">Nu se poate șterge atașamentul: %1$s</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expired">nu s-a descărcat, link expirat</string>
|
||||
<string name="detail_item_download_failed">Nu se poate descărca atașamentul: %1$s</string>
|
||||
<string name="detail_menu_disable_instant">Oprește primirea instantanee</string>
|
||||
<string name="share_content_image_error">Nu se poate citi imaginea: %1$s</string>
|
||||
<string name="detail_action_mode_delete_dialog_permanently_delete">Ștergere permanentă</string>
|
||||
<string name="share_title">Distribuie</string>
|
||||
<string name="detail_action_mode_delete_dialog_cancel">Anulează</string>
|
||||
<string name="share_content_title">Previzualizare mesaj</string>
|
||||
<string name="share_content_file_text">Un fișier a fost distribuit cu tine</string>
|
||||
<string name="share_suggested_topics">Topice sugerate</string>
|
||||
<string name="settings_notifications_auto_download_summary_never">Niciodată nu descarcă atașamente automat</string>
|
||||
<string name="notification_dialog_cancel">Anulează</string>
|
||||
<string name="notification_dialog_30min">30 de minute</string>
|
||||
<string name="settings_title">Setări</string>
|
||||
<string name="settings_notifications_min_priority_title">Prioritate minimă</string>
|
||||
<string name="settings_notifications_min_priority_high">Prioritate mare sau mai înaltă</string>
|
||||
<string name="settings_notifications_min_priority_max">Doar prioritate maximă</string>
|
||||
<string name="settings_notifications_auto_delete_one_week">Peste o saptămână</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_days">Șterge notificările automat în 3 zile</string>
|
||||
<string name="settings_notifications_channel_prefs_title">Setări canal</string>
|
||||
<string name="settings_notifications_auto_download_summary_always">Descarcă toate atașamentele automat</string>
|
||||
<string name="settings_notifications_auto_delete_summary_never">Nu șterge niciodată notificarile automat</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_month">Șterge notificările automat în o lună</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_months">Șterge notificările automat în 3 luni</string>
|
||||
<string name="settings_general_dark_mode_title">Mod întunecat</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_day">Șterge notificările automat în o zi</string>
|
||||
<string name="settings_general_users_prefs_title">Utilizatori</string>
|
||||
<string name="settings_general_users_prefs_user_add_title">Adaugă un utilizator nou</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_week">Șterge notificările automat în o săptămână</string>
|
||||
<string name="settings_notifications_auto_delete_one_day">Peste o zi</string>
|
||||
<string name="settings_notifications_auto_delete_one_month">Peste o lună</string>
|
||||
<string name="settings_notifications_auto_delete_three_months">Peste 3 luni</string>
|
||||
<string name="add_dialog_use_another_server">Folosește alt server</string>
|
||||
<string name="add_dialog_button_cancel">Anulează</string>
|
||||
<string name="add_dialog_button_back">Înapoi</string>
|
||||
<string name="add_dialog_button_login">Loghează-te</string>
|
||||
<string name="add_dialog_error_connection_failed">Conexiunea a eșuat: %1$s</string>
|
||||
<string name="add_dialog_login_title">Logare necesară</string>
|
||||
<string name="add_dialog_login_description">Acest topic necesită să te loghezi. Vă rugăm să introduceți un nume de utilizator și o parola.</string>
|
||||
<string name="add_dialog_login_username_hint">Nume de utilizator</string>
|
||||
<string name="add_dialog_login_password_hint">Parolă</string>
|
||||
<string name="add_dialog_login_error_not_authorized">Logare eșuată. Utilizatorul %1$s nu este autorizat.</string>
|
||||
<string name="add_dialog_login_new_user">Utilizator nou</string>
|
||||
<string name="detail_no_notifications_text">Nu ai primit încă notificări pentru acest topic.</string>
|
||||
<string name="detail_how_to_example">Exemplu (folosing curl):<br/><tt>$ curl -d \"Salut\" %1$s</tt></string>
|
||||
<string name="detail_delete_dialog_cancel">Anulează</string>
|
||||
<string name="detail_test_title">Test: Poți specifica un titlu dacă dorești.</string>
|
||||
<string name="detail_test_message">Această este o notificare de test de la aplicația ntfy pentru Android. Are nivelul priorității %1$d. Dacă trimiți altă notificare, s-ar putea să arate altfel.</string>
|
||||
<string name="detail_test_message_error">Nu se poate trimite mesajul: %1$s</string>
|
||||
<string name="detail_test_message_error_unauthorized_anon">Nu se poate trimite mesajul: Publicarea anonimă nu este permisă.</string>
|
||||
<string name="detail_test_message_error_unauthorized_user">Nu se poate trimite mesajul: Utilizatorul \"%1$s\" nu este autorizat.</string>
|
||||
<string name="detail_test_message_error_too_large">Nu se poate trimite mesajul: Atașamentul este prea mare.</string>
|
||||
<string name="detail_copied_to_clipboard_message">Copiat în clipboard</string>
|
||||
<string name="detail_instant_delivery_enabled">Primire instantanee pornită</string>
|
||||
<string name="detail_instant_delivery_disabled">Primire instantanee oprită</string>
|
||||
<string name="main_banner_websocket_button_dismiss">Ignoră</string>
|
||||
<string name="add_dialog_description_below">Topicele nu pot fi protejate cu parolă, așadar alegeți un nume greu de ghicit. Odată abonat, puteți PUT/POST notificări</string>
|
||||
<string name="add_dialog_topic_name_hint">Numele topicului, exemplu: alertele_lui_phil</string>
|
||||
<string name="add_dialog_use_another_server_description">Introduceți URL-urile serviciilor mai jos pentru a vă abona la topice de la alte servere.</string>
|
||||
<string name="add_dialog_instant_delivery">Primire instantanee în modul doze</string>
|
||||
<string name="add_dialog_foreground_description">Primirea instantanee este întotdeauna pornită pentru gazdele înafară de %1$s.</string>
|
||||
<string name="add_dialog_button_subscribe">Abonare</string>
|
||||
<string name="add_dialog_base_urls_dropdown_choose">Alege URL-ul serviciului</string>
|
||||
<string name="add_dialog_base_urls_dropdown_clear">Șterge URL-ul serviciului</string>
|
||||
<string name="detail_how_to_intro">Pentru a trimite notificări pentru acest topic, pur și simplu trimiteți o cerere PUT sau POST la URL-ul topicului.</string>
|
||||
<string name="detail_delete_dialog_permanently_delete">Ștergere permanentă</string>
|
||||
<string name="add_dialog_instant_delivery_description">Asigură ca mesajele să fie primite imediat, chiar dacă dispozitivul este inactiv.</string>
|
||||
<string name="detail_item_cannot_save">Nu se poate salva atașamentul: %1$s</string>
|
||||
<string name="detail_item_download_info_downloading_x_percent">%1$d%% descărcat</string>
|
||||
<string name="detail_menu_test">Trimite notificare de probă</string>
|
||||
<string name="settings_backup_restore_restore_summary">Importă setări, notificări și utilizatori</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy va avea rol de distribuitor UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_title">Activează UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy nu va avea rol de distribuitor UnifiedPush</string>
|
||||
</resources>
|
|
@ -1,20 +1,20 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="main_action_mode_delete_dialog_cancel">Отмена</string>
|
||||
<string name="channel_notifications_default_name">Стандартный приоритет</string>
|
||||
<string name="channel_notifications_high_name">Высокий приоритет</string>
|
||||
<string name="channel_notifications_max_name">Максимальный приоритет</string>
|
||||
<string name="channel_notifications_default_name">Уведомления (приоритет по умолчанию)</string>
|
||||
<string name="channel_notifications_high_name">Уведомления (высокий приоритет)</string>
|
||||
<string name="channel_notifications_max_name">Уведомления (макс. приоритет)</string>
|
||||
<string name="channel_subscriber_service_name">Сервис подписки</string>
|
||||
<string name="channel_notifications_min_name">Минимальный приоритет</string>
|
||||
<string name="channel_notifications_low_name">Низкий приоритет</string>
|
||||
<string name="main_menu_notifications_disabled_forever">Уведомления заглушены</string>
|
||||
<string name="channel_notifications_min_name">Уведомления (мин. приоритет)</string>
|
||||
<string name="channel_notifications_low_name">Уведомления (низкий приоритет)</string>
|
||||
<string name="main_menu_notifications_disabled_forever">Уведомления приостановлены</string>
|
||||
<string name="main_menu_notifications_enabled">Уведомления включены</string>
|
||||
<string name="main_menu_report_bug_title">Сообщить об ошибке</string>
|
||||
<string name="main_menu_settings_title">Настройки</string>
|
||||
<string name="main_menu_docs_title">Документация</string>
|
||||
<string name="main_action_mode_delete_dialog_permanently_delete">Удалить навсегда</string>
|
||||
<string name="detail_clear_dialog_cancel">Отмена</string>
|
||||
<string name="detail_delete_dialog_message">Отписаться от этой темы и удалить все полученные уведомления\?</string>
|
||||
<string name="detail_delete_dialog_message">Отписаться от этой темы, и удалить все полученые уведомления\?</string>
|
||||
<string name="detail_delete_dialog_permanently_delete">Удалить навсегда</string>
|
||||
<string name="detail_delete_dialog_cancel">Отмена</string>
|
||||
<string name="detail_test_title">Тест: Вы можете установить заголовок, если хотите.</string>
|
||||
|
@ -28,7 +28,7 @@
|
|||
<string name="detail_item_menu_copy_contents">Скопировать уведомление</string>
|
||||
<string name="detail_item_menu_copy_contents_copied">Уведомление скопировано</string>
|
||||
<string name="detail_item_saved_successfully">Сохранён как \"%1$s\" в папке \"Downloads\"</string>
|
||||
<string name="detail_menu_notifications_disabled_until">Уведомления заглушены до %1$s</string>
|
||||
<string name="detail_menu_notifications_disabled_until">Уведомления приостановлены до %1$s</string>
|
||||
<string name="detail_menu_enable_instant">Включить моментальную доставку</string>
|
||||
<string name="detail_menu_disable_instant">Выключить моментальную доставку</string>
|
||||
<string name="detail_menu_test">Отправить тестовое уведомление</string>
|
||||
|
@ -44,7 +44,7 @@
|
|||
<string name="detail_settings_title">Настройки подписок</string>
|
||||
<string name="share_title">Поделиться</string>
|
||||
<string name="share_menu_send">Поделиться</string>
|
||||
<string name="notification_dialog_title">Заглушить уведомления</string>
|
||||
<string name="notification_dialog_title">Приостановить уведомления</string>
|
||||
<string name="settings_notifications_auto_download_100k">Если меньше 100 кб</string>
|
||||
<string name="settings_notifications_auto_delete_never">Никогда</string>
|
||||
<string name="settings_notifications_auto_delete_three_days">Черед три дня</string>
|
||||
|
@ -110,36 +110,36 @@
|
|||
<string name="detail_item_cannot_open">Вложение не открывается: %1$s</string>
|
||||
<string name="detail_item_cannot_open_not_found">Вложение не открывается: Возможно файл был удалёл, либо нет установленного приложения, способного открыть файл.</string>
|
||||
<string name="detail_menu_notifications_enabled">Уведомления включены</string>
|
||||
<string name="detail_menu_notifications_disabled_forever">Уведомления заглушены</string>
|
||||
<string name="detail_menu_notifications_disabled_forever">Уведомления приостановлены</string>
|
||||
<string name="notification_dialog_save">Сохранить</string>
|
||||
<string name="notification_dialog_muted_until_toast_message">Уведомления заглушены до %1$s</string>
|
||||
<string name="notification_dialog_muted_until_toast_message">Уведомления приостановлены до %1$s</string>
|
||||
<string name="notification_popup_action_open">Открыть</string>
|
||||
<string name="notification_popup_action_download">Скачать</string>
|
||||
<string name="notification_popup_file">%1$s
|
||||
\nФайл: %2$s</string>
|
||||
<string name="notification_dialog_cancel">Отмена</string>
|
||||
<string name="notification_dialog_enabled_toast_message">Уведомления разрешены</string>
|
||||
<string name="notification_dialog_muted_forever_toast_message">Уведомления заглушены</string>
|
||||
<string name="notification_dialog_enabled_toast_message">Уведомления возобновлены</string>
|
||||
<string name="notification_dialog_muted_forever_toast_message">Уведомления приостановлены</string>
|
||||
<string name="notification_dialog_show_all">Показать все уведомления</string>
|
||||
<string name="notification_dialog_30min">30 минут</string>
|
||||
<string name="notification_dialog_8h">8 часов</string>
|
||||
<string name="notification_dialog_tomorrow">До завтра</string>
|
||||
<string name="notification_dialog_1h">1 час</string>
|
||||
<string name="notification_dialog_2h">2 часа</string>
|
||||
<string name="notification_dialog_forever">До разрешения</string>
|
||||
<string name="notification_dialog_forever">До возобновления</string>
|
||||
<string name="settings_title">Настройки</string>
|
||||
<string name="settings_notifications_min_priority_min">Любой приоритет</string>
|
||||
<string name="settings_general_users_prefs_user_add">Добавить пользователей</string>
|
||||
<string name="settings_general_users_prefs_user_add_summary">Создать нового пользователя для нового сервера</string>
|
||||
<string name="settings_backup_restore_restore_title">Восстановить из файла</string>
|
||||
<string name="settings_general_users_prefs_user_add_title">Добавить нового пользователя</string>
|
||||
<string name="main_menu_notifications_disabled_until">Уведомления заглушены до %1$s</string>
|
||||
<string name="main_menu_notifications_disabled_until">Уведомления приостановлены до %1$s</string>
|
||||
<string name="refresh_message_error">Не получилось обновить %1$d подписок
|
||||
\n
|
||||
\n%2$s</string>
|
||||
<string name="refresh_message_error_one">Не получилось обновить подписку: %1$s</string>
|
||||
<string name="refresh_message_error_one">Не получилось обновить подписки: %1$s</string>
|
||||
<string name="main_action_bar_title">Темы подписок</string>
|
||||
<string name="main_how_to_intro">Нажмите + чтобы создать или подписаться на тему. Вы будете получать уведомления на вашем устройстве при отправке сообщений через PUT или POST-запросы.</string>
|
||||
<string name="main_how_to_intro">Нажмите + чтобы создать или подписаться на тему. Вы получите уведомления на вашем устройстве при отправлении сообщений через PUT или POST.</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Подписан на темы с мгновенной доставкой</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Подписан на две темы с мгновенной доставкой</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Подписан на одну тему с мгновенной доставкой</string>
|
||||
|
@ -156,7 +156,7 @@
|
|||
<string name="add_dialog_login_title">Требуется вход в аккаунт</string>
|
||||
<string name="add_dialog_login_description">Эта тема требует авторизации. Пожалуйста, введите имя пользователя и пароль.</string>
|
||||
<string name="add_dialog_description_below">Темы не могут быть защищены паролем. Используйте название которое сложно угадать. После подписки вы сможете отправлять уведомления через PUT/POST.</string>
|
||||
<string name="detail_test_message">Это тестовое уведомление от Android-приложения ntfy. Оно имеет уровень приоритета %1$d. Если вы отправите ещё одно, оно может выглядеть по-другому.</string>
|
||||
<string name="detail_test_message">Это тестовое уведомление от Android-приложения ntfy. Уровень приоритета уведомления: %1$d. Если вы отправите ещё одно, оно может выглядеть по-другому.</string>
|
||||
<string name="add_dialog_login_error_not_authorized">Вход не удался. Пользователь %1$s не авторизован.</string>
|
||||
<string name="detail_how_to_intro">Чтобы отправить уведомления на данную тему, просто отправьте PUT or POST на URL-адрес темы.</string>
|
||||
<string name="detail_how_to_link">Подробные инструкции на сайте ntfy.sh и в документации.</string>
|
||||
|
@ -165,10 +165,10 @@
|
|||
<string name="add_dialog_use_another_server_description">Введите URL-адрес сервиса чтобы подписаться на темы с других серверов.</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expires_x">не скачано, истекает срок действия %1$s</string>
|
||||
<string name="detail_item_download_info_download_failed_expired">не удалось скачать, срок действия ссылки истёк</string>
|
||||
<string name="settings_notifications_min_priority_max">Только максимальный приоритет</string>
|
||||
<string name="settings_notifications_min_priority_max">Только наивысший приоритет</string>
|
||||
<string name="settings_notifications_priority_low">низкий</string>
|
||||
<string name="settings_notifications_channel_prefs_title">Настройки канала</string>
|
||||
<string name="settings_notifications_channel_prefs_summary">Управление режимом \"не беспокоить\", звуками и прочим.</string>
|
||||
<string name="settings_notifications_channel_prefs_summary">Управление режимом Не беспокоить (DND), настройками звуков, и т.д.</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_days">Автоматически удалять уведомления через 3 дня</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_month">Автоматически удалять уведомления через месяц</string>
|
||||
<string name="detail_item_cannot_save">Невозможно сохранить вложение: %1$s</string>
|
||||
|
@ -197,14 +197,14 @@
|
|||
\nФайл: %2$s, скачан</string>
|
||||
<string name="notification_popup_file_download_failed">%1$s
|
||||
\nФайл: %2$s, не удалось скачать</string>
|
||||
<string name="settings_notifications_muted_until_title">Заглушить уведомления</string>
|
||||
<string name="settings_notifications_muted_until_title">Приостановить уведомления</string>
|
||||
<string name="settings_notifications_muted_until_show_all">Показываются все уведомления</string>
|
||||
<string name="settings_notifications_muted_until_forever">Уведомления заглушены пока не будут разрешены</string>
|
||||
<string name="settings_notifications_muted_until_x">Уведомления заглушены до %1$s</string>
|
||||
<string name="settings_notifications_muted_until_forever">Уведомления приостановлены до того, как будут возобновлены</string>
|
||||
<string name="settings_notifications_muted_until_x">Уведомления приостановлены до %1$s</string>
|
||||
<string name="settings_notifications_min_priority_title">Самый низкий приоритет</string>
|
||||
<string name="settings_notifications_min_priority_summary_any">Отображаются все уведомления</string>
|
||||
<string name="settings_notifications_min_priority_summary_x_or_higher">Показывать уведомления если приоритет %1$d(%2$s) или выше</string>
|
||||
<string name="settings_notifications_min_priority_summary_max">Показывать уведомления если приоритет равен 5 (максимальный)</string>
|
||||
<string name="settings_notifications_min_priority_summary_max">Показывать уведомления если приоритет 5 (наивысший)</string>
|
||||
<string name="settings_notifications_min_priority_low">Низкий приоритет или выше</string>
|
||||
<string name="settings_notifications_min_priority_default">Приоритет по умолчанию и выше</string>
|
||||
<string name="settings_notifications_min_priority_high">Высокий приоритет и выше</string>
|
||||
|
@ -255,8 +255,8 @@
|
|||
<string name="settings_advanced_clear_logs_summary">Удалить ранее записанные журналы, и начать сначала</string>
|
||||
<string name="settings_advanced_clear_logs_deleted_toast">Журналы удалены</string>
|
||||
<string name="settings_advanced_connection_protocol_title">Протокол соединения</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_jsonhttp">Использовать JSON-поток через HTTP чтобы подключаться к серверу. Это надежный метод, но он может потреблять больше энергии.</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_ws">Использовать WebSockets для подключения к серверу. Это рекомендуемый метод, но может потребовать доплонительной настройки прокси-сервера.</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_jsonhttp">Использовать JSON поток через HTTP, чтобы подключиться к серверу. Этот метод устарел и будет удален в июле 2022-го года.</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_ws">Использовать WebSockets для подключения к серверу. Этот метод будет методом по умолчанию начиная с июля 2022-го.</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_jsonhttp">JSON поток поверх HTTP</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_ws">WebSockets</string>
|
||||
<string name="settings_about_header">О программе</string>
|
||||
|
@ -307,40 +307,4 @@
|
|||
<string name="channel_subscriber_notification_noinstant_text_five">Подписан на пять тем</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_six">Подписан на шесть тем</string>
|
||||
<string name="main_banner_websocket_button_enable_now">Включить сейчас</string>
|
||||
<string name="detail_settings_notifications_instant_summary_on">Уведомления доставляются сразу. Требует forground сервис и потребляет больше энергии.</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Уведомления с наивысшим приоритетом будут требовать внимания пока не будут прочтены</string>
|
||||
<string name="channel_notifications_group_default_name">По умолчанию</string>
|
||||
<string name="detail_item_cannot_open_apk">Установка приложений через уведомления больше не поддерживается. Скачайте приложение через браузер. Подробности смотрите в отчете ntfy #531.</string>
|
||||
<string name="detail_settings_appearance_icon_set_title">Иконка подписки</string>
|
||||
<string name="detail_settings_appearance_icon_set_summary">Использовать иконку для отображения в уведомлениях</string>
|
||||
<string name="main_menu_donate_title">Пожертвовать 💸</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Уведомления с наивысшим приориетом будут давать о себе знать только один раз</string>
|
||||
<string name="detail_settings_notifications_instant_summary_off">Уведомления будут доставляться с помощью Firebase. Могут быть задержки с доставкой, но потребляет меньше энергии.</string>
|
||||
<string name="add_dialog_base_urls_dropdown_clear">Очистить URL-адрес сервера</string>
|
||||
<string name="detail_settings_appearance_header">Внешний вид</string>
|
||||
<string name="detail_settings_appearance_icon_error_saving">Невозможно сохранить иконку: %1$s</string>
|
||||
<string name="detail_settings_appearance_display_name_title">Псевдоним</string>
|
||||
<string name="detail_settings_global_setting_suffix">испольует глобальное значение</string>
|
||||
<string name="detail_settings_appearance_display_name_message">Выставить произвольный псевдоним для этой подписки. Оставьте пустым чтобы использовать значение по умолчанию (%1$s).</string>
|
||||
<string name="detail_settings_appearance_display_name_default_summary">%1$s (по умолчанию)</string>
|
||||
<string name="detail_settings_about_topic_url_copied_to_clipboard_message">Скопирован в буфер обмена</string>
|
||||
<string name="detail_settings_notifications_instant_title">Мгновенная доставка</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Пользовательские настройки уведомлений</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Настройки уведомлений</string>
|
||||
<string name="settings_advanced_unifiedpush_title">Включить UnifiedPush</string>
|
||||
<string name="detail_settings_about_header">Настройки темы</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Используются настройки по умолчанию (звуки, игнорирование режима \"не беспокоить\", и прочее)</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy будет действовать как сервис доставки UnifiedPush</string>
|
||||
<string name="detail_settings_about_topic_url_title">URL-адрес темы</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy не будет действовать как сервис доставки UnifiedPush</string>
|
||||
<string name="detail_settings_appearance_icon_remove_summary">Иконка используемая в уведомлениях от этой темы</string>
|
||||
<string name="detail_settings_global_setting_title">Использовать глобальное значение</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Продолжать уведомлять</string>
|
||||
<string name="main_banner_websocket_text">Мы рекомендуем использовать WebSockets для подключения к Вашему серверу; это может продлить время работы от батареи, но может потребовать <a href="https://ntfy.sh/docs/config/#nginxapache2caddy">дополнительной настройки прокси-сервера</a>. Эта опция может быть включена или выключена в Настройках.</string>
|
||||
<string name="detail_settings_appearance_icon_remove_title">Иконка подписки (коснитесь, чтобы удалить)</string>
|
||||
<string name="add_dialog_base_urls_dropdown_choose">Выберите URL-адрес сервера</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Игнорирование режима \"не беспокоить\", звуки и прочее.</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Используются пользовательские настройки для этой подписки</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Уведомлять только один раз</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Продолжать уведомлять при наивысшем приоритете</string>
|
||||
</resources>
|
|
@ -1,346 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_notifications_low_name">Nízka priorita</string>
|
||||
<string name="channel_notifications_default_name">Predvolená priorita</string>
|
||||
<string name="channel_notifications_high_name">Vysoká priorita</string>
|
||||
<string name="channel_notifications_max_name">Maximálna priorita</string>
|
||||
<string name="channel_subscriber_service_name">Služba odberu</string>
|
||||
<string name="channel_subscriber_notification_title">Počúvanie prichádzajúcich oznámení</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Prihlásený na okamžité doručovanie tém</string>
|
||||
<string name="channel_notifications_group_default_name">Predvolená</string>
|
||||
<string name="refresh_message_error">Nepodarilo sa obnoviť %1$d prihlásení
|
||||
\n
|
||||
\n%2$s</string>
|
||||
<string name="refresh_message_error_one">Nepodarilo sa obnoviť prihlásenie na odber: %1$s</string>
|
||||
<string name="main_action_bar_title">Odoberané témy</string>
|
||||
<string name="main_menu_notifications_enabled">Oznámenia zapnuté</string>
|
||||
<string name="main_menu_notifications_disabled_forever">Oznámenia stlmené</string>
|
||||
<string name="main_how_to_intro">Kliknutím na tlačidlo + vytvoríte tému alebo sa na ňu prihlásite. Následne budete dostávať upozornenia na svoje zariadenie pri odosielaní správ prostredníctvom PUT alebo POST.</string>
|
||||
<string name="main_how_to_link">Podrobné pokyny sú k dispozícii na stránke ntfy.sh a v dokumentácií.</string>
|
||||
<string name="main_unified_push_toast">Toto predplatné spravuje %1$s prostredníctvom služby UnifiedPush</string>
|
||||
<string name="main_banner_battery_text">Optimalizácia batérie by mala byť pre aplikáciu vypnutá, aby sa predišlo problémom s doručovaním oznámení.</string>
|
||||
<string name="main_banner_battery_button_remind_later">Opýtať sa neskôr</string>
|
||||
<string name="main_banner_battery_button_dismiss">Odmietnuť</string>
|
||||
<string name="main_banner_battery_button_fix_now">Opraviť teraz</string>
|
||||
<string name="main_banner_websocket_text">Prechod na WebSockets je odporúčaný spôsob pripojenia k serveru, ktorý by mohol zlepšiť výdrž batérie, ale môže vyžadovať <a href="https://ntfy.sh/docs/config/#nginxapache2caddy">ďalšiu konfiguráciu v proxy serveri</a>. Túto možnosť môžete prepnúť v Nastaveniach.</string>
|
||||
<string name="main_banner_websocket_button_remind_later">Opýtať sa neskôr</string>
|
||||
<string name="main_banner_websocket_button_dismiss">Odmietnuť</string>
|
||||
<string name="main_banner_websocket_button_enable_now">Povoliť teraz</string>
|
||||
<string name="add_dialog_description_below">Témy nemusia byť chránené heslom, preto zvoľte názov, ktorý je ťažké uhádnuť. Po prihlásení sa na odber môžete PUT/POST oznámenia.</string>
|
||||
<string name="add_dialog_topic_name_hint">Názov témy, napr. phils_alerts</string>
|
||||
<string name="add_dialog_use_another_server">Použiť iný server</string>
|
||||
<string name="add_dialog_use_another_server_description">Zadajte adresu URL služby a prihláste sa na odber tém z iných serverov.</string>
|
||||
<string name="add_dialog_instant_delivery">Okamžité doručenie v režime spánku</string>
|
||||
<string name="add_dialog_instant_delivery_description">Zabezpečuje okamžité doručenie správ, aj keď je zariadenie neaktívne.</string>
|
||||
<string name="add_dialog_foreground_description">Okamžité doručenie je vždy zapnuté pre hostiteľov iných ako %1$s.</string>
|
||||
<string name="add_dialog_button_cancel">Zrušiť</string>
|
||||
<string name="add_dialog_button_subscribe">Prihlásiť sa na odber</string>
|
||||
<string name="add_dialog_button_back">Späť</string>
|
||||
<string name="add_dialog_button_login">Prihlásiť sa</string>
|
||||
<string name="add_dialog_error_connection_failed">Pripojenie zlyhalo: %1$s</string>
|
||||
<string name="add_dialog_login_description">Táto téma si vyžaduje prihlásenie. Zadajte prosím používateľské meno a heslo.</string>
|
||||
<string name="add_dialog_title">Odoberať tému</string>
|
||||
<string name="add_dialog_login_username_hint">Používateľské meno</string>
|
||||
<string name="add_dialog_login_password_hint">Heslo</string>
|
||||
<string name="add_dialog_login_error_not_authorized">Prihlásenie zlyhalo. Používateľ %1$s nie je autorizovaný.</string>
|
||||
<string name="add_dialog_login_new_user">Nový používateľ</string>
|
||||
<string name="add_dialog_base_urls_dropdown_choose">Výber URL adresy služby</string>
|
||||
<string name="add_dialog_base_urls_dropdown_clear">Vymazanie URL adresy služby</string>
|
||||
<string name="detail_no_notifications_text">K tejto téme ste zatiaľ nedostali žiadne upozornenia.</string>
|
||||
<string name="detail_how_to_intro">Ak chcete posielať oznámenia do tejto témy, jednoducho zadajte adresu PUT alebo POST na URL adresu témy.</string>
|
||||
<string name="detail_how_to_example">Príklad (pomocou curl):<br/><tt>$ curl -d \"Ahoj\" %1$s</tt></string>
|
||||
<string name="detail_clear_dialog_cancel">Zrušiť</string>
|
||||
<string name="detail_delete_dialog_message">Odhlásiť sa z tejto témy a vymazať všetky prijaté oznámenia\?</string>
|
||||
<string name="detail_delete_dialog_permanently_delete">Vymazať natrvalo</string>
|
||||
<string name="detail_delete_dialog_cancel">Zrušiť</string>
|
||||
<string name="detail_clear_dialog_permanently_delete">Vymazať natrvalo</string>
|
||||
<string name="detail_test_title">Test: Ak chcete, môžete nastaviť názov.</string>
|
||||
<string name="detail_test_message">Toto je testovacie oznámenie z Android aplikácie ntfy. Má úroveň priority %1$d. Ak pošlete ďalšie, môže vyzerať inak.</string>
|
||||
<string name="detail_test_message_error">Nemožno odoslať správu: %1$s</string>
|
||||
<string name="detail_test_message_error_unauthorized_user">Nemožno odoslať správu: Používateľ \"%1$s\" nie je autorizovaný.</string>
|
||||
<string name="detail_test_message_error_too_large">Nemožno odoslať správu: Príloha je príliš veľká.</string>
|
||||
<string name="detail_copied_to_clipboard_message">Skopírované do schránky</string>
|
||||
<string name="detail_instant_delivery_enabled">Okamžité doručovanie zapnuté</string>
|
||||
<string name="detail_instant_delivery_disabled">Okamžité doručovanie vypnuté</string>
|
||||
<string name="detail_deep_link_subscribed_toast_message">Prihlásený na odber témy %1$s</string>
|
||||
<string name="detail_item_tags">Značky: %1$s</string>
|
||||
<string name="detail_item_snack_deleted">Oznámenie odstránené</string>
|
||||
<string name="detail_item_snack_undo">Odvolať</string>
|
||||
<string name="detail_item_menu_open">Otvoriť súbor</string>
|
||||
<string name="detail_item_menu_delete">Odstrániť súbor</string>
|
||||
<string name="detail_item_menu_download">Stiahnuť súbor</string>
|
||||
<string name="detail_item_menu_cancel">Zrušiť sťahovanie</string>
|
||||
<string name="detail_item_menu_copy_url">Kopírovať adresu URL</string>
|
||||
<string name="detail_item_menu_copy_url_copied">URL adresa skopírovaná do schránky</string>
|
||||
<string name="detail_item_menu_copy_contents">Kopírovať oznámenie</string>
|
||||
<string name="detail_item_saved_successfully">Uložené ako \"%1$s\" v priečinku \"Stiahnuté\"</string>
|
||||
<string name="detail_item_cannot_open">Nie je možné otvoriť prílohu: %1$s</string>
|
||||
<string name="detail_item_cannot_open_not_found">Nie je možné otvoriť prílohu: Súbor mohol byť vymazaný alebo ho nedokáže otvoriť žiadna nainštalovaná aplikácia.</string>
|
||||
<string name="detail_item_cannot_open_url">Nie je možné otvoriť adresu URL: %1$s</string>
|
||||
<string name="detail_item_cannot_delete">Nemožno odstrániť prílohu: %1$s</string>
|
||||
<string name="detail_item_download_failed">Nepodarilo sa stiahnuť prílohu: %1$s</string>
|
||||
<string name="detail_item_download_info_not_downloaded">nestiahnuté</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expired">nestiahnuté, odkaz vypršal</string>
|
||||
<string name="detail_item_download_info_downloading_x_percent">%1$d%% stiahnuté</string>
|
||||
<string name="detail_item_download_info_deleted">zmazané</string>
|
||||
<string name="detail_item_download_info_deleted_expired">zmazané, odkaz vypršal</string>
|
||||
<string name="detail_item_download_info_deleted_expires_x">zmazané, platnosť odkazu končí %1$s</string>
|
||||
<string name="detail_item_download_info_download_failed">stiahnutie zlyhalo</string>
|
||||
<string name="detail_item_download_info_download_failed_expired">stiahnutie zlyhalo, odkaz vypršal</string>
|
||||
<string name="detail_item_download_info_download_failed_expires_x">stiahnutie zlyhalo, platnosť odkazu končí %1$s</string>
|
||||
<string name="detail_action_mode_menu_delete">Zmazať</string>
|
||||
<string name="detail_action_mode_delete_dialog_message">Odstrániť vybrané oznámenie (oznámenia) natrvalo\?</string>
|
||||
<string name="detail_action_mode_delete_dialog_permanently_delete">Vymazať natrvalo</string>
|
||||
<string name="detail_menu_settings">Nastavenia predplatného</string>
|
||||
<string name="detail_menu_notifications_disabled_forever">Oznámenia stlmené</string>
|
||||
<string name="detail_menu_notifications_disabled_until">Oznámenia stlmené do %1$s</string>
|
||||
<string name="detail_menu_unsubscribe">Odhlásiť odber</string>
|
||||
<string name="detail_menu_enable_instant">Povoliť okamžité doručenie</string>
|
||||
<string name="detail_menu_disable_instant">Vypnúť okamžité doručenie</string>
|
||||
<string name="detail_menu_test">Odoslať testovacie oznámenie</string>
|
||||
<string name="detail_menu_clear">Vymazať všetky oznámenia</string>
|
||||
<string name="share_menu_send">Zdielať</string>
|
||||
<string name="share_content_title">Náhľad správy</string>
|
||||
<string name="share_content_text_hint">Pridajte obsah na zdieľanie sem</string>
|
||||
<string name="share_content_file_text">Bol s vami zdieľaný súbor</string>
|
||||
<string name="share_content_file_error">Nie je možné prečítať informácie o súbore: %1$s</string>
|
||||
<string name="share_topic_title">Zdieľať s</string>
|
||||
<string name="share_suggested_topics">Navrhované témy</string>
|
||||
<string name="share_successful">Správa zverejnená</string>
|
||||
<string name="notification_dialog_title">Stlmiť oznámenia</string>
|
||||
<string name="notification_dialog_cancel">Zrušiť</string>
|
||||
<string name="notification_dialog_muted_forever_toast_message">Oznámenia stlmené</string>
|
||||
<string name="notification_dialog_muted_until_toast_message">Oznámenia stlmené do %1$s</string>
|
||||
<string name="notification_dialog_save">Uložiť</string>
|
||||
<string name="notification_dialog_enabled_toast_message">Oznámenia boli obnovené</string>
|
||||
<string name="notification_dialog_1h">1 hodina</string>
|
||||
<string name="notification_dialog_2h">2 hodiny</string>
|
||||
<string name="notification_dialog_8h">8 hodín</string>
|
||||
<string name="notification_popup_action_cancel">Zrušiť</string>
|
||||
<string name="settings_title">Nastavenia</string>
|
||||
<string name="notification_dialog_tomorrow">Do zajtra</string>
|
||||
<string name="notification_dialog_forever">Do obnovenia</string>
|
||||
<string name="notification_popup_action_open">Otvoriť</string>
|
||||
<string name="notification_popup_action_browse">Prehľadávať</string>
|
||||
<string name="notification_popup_action_download">Stiahnuť</string>
|
||||
<string name="notification_popup_file">%1$s
|
||||
\nSúbor: %2$s</string>
|
||||
<string name="notification_popup_file_downloading">Sťahovanie %1$s, %2$d%%
|
||||
\n%3$s</string>
|
||||
<string name="notification_popup_file_download_failed">%1$s
|
||||
\nSúbor: %2$s, sťahovanie sa nepodarilo</string>
|
||||
<string name="notification_popup_user_action_failed">%1$s sa nepodarilo: %2$s</string>
|
||||
<string name="settings_notifications_muted_until_x">Oznámenia stlmené do %1$s</string>
|
||||
<string name="settings_notifications_muted_until_title">Stlmiť oznámenia</string>
|
||||
<string name="settings_notifications_header">Oznámenia</string>
|
||||
<string name="settings_notifications_muted_until_show_all">Zobrazenie všetkých oznámení</string>
|
||||
<string name="settings_notifications_min_priority_summary_any">Zobrazenie všetkých oznámení</string>
|
||||
<string name="settings_notifications_muted_until_forever">Oznámenia stlmené až do obnovenia</string>
|
||||
<string name="settings_notifications_min_priority_title">Najnižšia priorita</string>
|
||||
<string name="settings_notifications_min_priority_summary_x_or_higher">Zobraziť oznámenia, ak je priorita %1$d (%2$s) alebo vyššia</string>
|
||||
<string name="settings_notifications_min_priority_low">Nízka priorita a väčšia</string>
|
||||
<string name="settings_notifications_min_priority_default">Predvolená priorita a väčšia</string>
|
||||
<string name="settings_notifications_min_priority_high">Vysoká priorita a väčšia</string>
|
||||
<string name="settings_notifications_min_priority_max">Iba maximálna priorita</string>
|
||||
<string name="settings_notifications_priority_min">najnižšia</string>
|
||||
<string name="settings_notifications_priority_low">nízka</string>
|
||||
<string name="settings_notifications_channel_prefs_summary">Vypnutie funkcie Nerušiť (DND), zvuky atď.</string>
|
||||
<string name="settings_notifications_auto_download_title">Stiahnuť prílohy</string>
|
||||
<string name="settings_notifications_auto_download_summary_never">Automaticky nesťahovať prílohy</string>
|
||||
<string name="settings_notifications_auto_download_summary_always">Automaticky sťahovať prílohy</string>
|
||||
<string name="settings_notifications_auto_download_summary_smaller_than_x">Automaticky sťahovať prílohy do %1$s</string>
|
||||
<string name="settings_notifications_auto_download_never">Automaticky nesťahovať všetko</string>
|
||||
<string name="settings_notifications_auto_download_always">Automaticky sťahovať všetko</string>
|
||||
<string name="settings_notifications_auto_download_100k">Ak je menší ako 100 kB</string>
|
||||
<string name="settings_notifications_auto_download_5m">Ak je menší ako 5 MB</string>
|
||||
<string name="settings_notifications_auto_download_50m">Ak je menší ako 50 MB</string>
|
||||
<string name="settings_notifications_auto_delete_title">Odstrániť oznámenia</string>
|
||||
<string name="settings_notifications_auto_delete_summary_never">Nikdy automaticky neodstraňovať oznámenia</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_day">Automaticky odstrániť oznámenia po jednom dni</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_days">Automaticky odstrániť oznámenia po 3 dňoch</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_week">Automaticky odstrániť oznámenia po jednom týždni</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_months">Automaticky odstrániť oznámenia po 3 mesiacoch</string>
|
||||
<string name="settings_notifications_auto_delete_never">Nikdy</string>
|
||||
<string name="settings_notifications_auto_delete_one_day">Po jednom dni</string>
|
||||
<string name="settings_notifications_auto_delete_three_days">Po 3 dňoch</string>
|
||||
<string name="settings_notifications_auto_delete_one_week">Po jednom týždni</string>
|
||||
<string name="settings_notifications_auto_delete_three_months">Po 3 mesiacoch</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Upozorňovať pre najvyššiu prioritu</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Upozornenia s maximálnou prioritou nepretržite upozorňujú, kým nie sú zrušené</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Oznámenia s maximálnou prioritou upozornia len raz</string>
|
||||
<string name="settings_general_header">Všeobecné</string>
|
||||
<string name="settings_general_default_base_url_message">Zadajte koreňovú URL adresu vášho servera, aby ste použili svoj vlastný server ako predvolený pri prihlásení na odber nových tém alebo zdieľaní tém.</string>
|
||||
<string name="settings_general_default_base_url_default_summary">%1$s (predvolené)</string>
|
||||
<string name="settings_general_users_title">Správa používateľov</string>
|
||||
<string name="settings_general_users_summary">Pridávanie/odstraňovanie používateľov pre chránené témy</string>
|
||||
<string name="settings_general_users_prefs_user_not_used">Nepoužíva sa v žiadnych témach</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_many">Používa sa v témach %1$s</string>
|
||||
<string name="settings_general_users_prefs_user_add">Pridať používateľov</string>
|
||||
<string name="settings_general_users_prefs_user_add_title">Pridať nového používateľa</string>
|
||||
<string name="settings_general_users_prefs_user_add_summary">Vytvoriť nového používateľa pre nový server</string>
|
||||
<string name="settings_general_dark_mode_title">Tmavý režim</string>
|
||||
<string name="settings_general_dark_mode_entry_dark">Tmavý režim</string>
|
||||
<string name="settings_general_dark_mode_summary_system">Použiť predvolené nastavenia systému</string>
|
||||
<string name="settings_general_dark_mode_summary_light">Svetlý režim zapnutý</string>
|
||||
<string name="settings_general_dark_mode_summary_dark">Tmavý režim zapnutý. Ste upír\?</string>
|
||||
<string name="settings_general_dark_mode_entry_system">Použiť predvolené nastavenie systému</string>
|
||||
<string name="settings_general_dark_mode_entry_light">Svetlý režim</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything">Všetko</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything_no_users">Všetko okrem používateľov</string>
|
||||
<string name="settings_backup_restore_backup_entry_settings_only">Iba nastavenia</string>
|
||||
<string name="settings_backup_restore_backup_successful">Záloha vytvorená</string>
|
||||
<string name="settings_backup_restore_backup_failed">Zálohovanie zlyhalo: %1$s</string>
|
||||
<string name="settings_backup_restore_restore_summary">Importovať konfiguráciu, oznámenia a používateľov</string>
|
||||
<string name="settings_backup_restore_restore_successful">Obnovenie úspešné</string>
|
||||
<string name="settings_backup_restore_restore_failed">Obnovenie zlyhalo: %1$s</string>
|
||||
<string name="settings_advanced_broadcast_title">Vysielanie správ</string>
|
||||
<string name="settings_advanced_record_logs_title">Denníky záznamov</string>
|
||||
<string name="settings_advanced_record_logs_summary_enabled">Zaznamenávanie (až 1 000 záznamov) do zariadenia …</string>
|
||||
<string name="settings_advanced_export_logs_title">Kopírovanie/odosielanie protokolov</string>
|
||||
<string name="settings_advanced_export_logs_summary">Kopírovať protokoly do schránky alebo nahrať na nopaste.net (vlastní autor ntfy). Názvy hostiteľov a témy môžu byť cenzurované, oznámenia nikdy nebudú.</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_original">Kopírovať do schránky</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_scrubbed">Kopírovať do schránky (cenzurované)</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_original">Nahrať a skopírovať odkaz</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_scrubbed">Nahrať a skopírovať odkaz (cenzurované)</string>
|
||||
<string name="settings_advanced_export_logs_uploading">Nahrávanie záznamu…</string>
|
||||
<string name="settings_advanced_export_logs_copied_logs">Záznamy skopírované do schránky</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">Zapnite zaznamenávanie, aby ste mohli neskôr zdieľať záznamy a diagnostikovať problémy.</string>
|
||||
<string name="settings_advanced_export_logs_copied_url">Záznamy nahrané a URL adresa skopírovaná</string>
|
||||
<string name="settings_advanced_export_logs_error_uploading">Nepodarilo sa nahrať záznamy: %1$s</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_text">Tieto témy/názvy hostiteľov boli nahradené názvami ovocia, takže môžete bez obáv zdieľať záznamy:
|
||||
\n
|
||||
\n%1$s
|
||||
\n
|
||||
\nHeslá sú vymazané, ale nie sú tu uvedené.</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_empty">Žiadne témy/názvy hostiteľov neboli redigované. Možno nemáte žiadne odbery\?</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_button_ok">OK</string>
|
||||
<string name="settings_advanced_clear_logs_title">Vymazať záznamy</string>
|
||||
<string name="settings_advanced_clear_logs_deleted_toast">Záznamy zmazané</string>
|
||||
<string name="settings_advanced_connection_protocol_title">Protokol pripojenia</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_ws">Použiť WebSockets na pripojenie k serveru. Je to odporúčaná metóda, ale môže vyžadovať dodatočnú konfiguráciu v proxy serveri.</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_jsonhttp">Tok JSON cez HTTP</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_jsonhttp">Použiť tok JSON cez HTTP na pripojenie k serveru. Táto metóda je overená, avšak môže spotrebovať viac batérie.</string>
|
||||
<string name="settings_about_header">O programe</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_ws">Protokol WebSockets</string>
|
||||
<string name="settings_about_version_copied_to_clipboard_message">Skopírované do schránky</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Vypnutie funkcie Nerušiť (DND), zvuky atď.</string>
|
||||
<string name="settings_about_version_title">Verzia</string>
|
||||
<string name="settings_about_version_format">ntfy %1$s (%2$s)</string>
|
||||
<string name="detail_settings_notifications_instant_title">Okamžité doručenie</string>
|
||||
<string name="detail_settings_notifications_instant_summary_on">Oznámenia sa doručujú okamžite. Vyžaduje službu na popredí a spotrebúva viac batérie.</string>
|
||||
<string name="detail_settings_notifications_instant_summary_off">Upozornenia sa doručujú pomocou služby Firebase. Doručenie sa môže oneskoriť, ale spotrebuje menej batérie.</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Vlastné nastavenia oznámení</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Používanie vlastných nastavení pre toto predplatné</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Používanie predvolených nastavení (zvuky, zrušenie funkcie Nerušiť atď.)</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Konfigurácia nastavení oznámení</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Stále upozorňovať</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Upozorniť len raz</string>
|
||||
<string name="detail_settings_appearance_header">Vzhlad</string>
|
||||
<string name="detail_settings_appearance_icon_set_title">Ikona odberu</string>
|
||||
<string name="detail_settings_appearance_icon_set_summary">Nastavenie ikony, ktorá sa má zobrazovať v oznámeniach</string>
|
||||
<string name="detail_settings_appearance_icon_remove_title">Ikona odberu (ťuknutím na ňu ho odstránite)</string>
|
||||
<string name="detail_settings_appearance_icon_remove_summary">Ikona zobrazená v oznámeniach pre túto tému</string>
|
||||
<string name="detail_settings_appearance_icon_error_saving">Ikonu sa nepodarilo uložiť: %1$s</string>
|
||||
<string name="user_dialog_button_cancel">Zrušiť</string>
|
||||
<string name="detail_settings_about_topic_url_copied_to_clipboard_message">Skopírované do schránky</string>
|
||||
<string name="user_dialog_button_save">Uložiť</string>
|
||||
<string name="detail_settings_appearance_display_name_default_summary">%1$s (predvolené)</string>
|
||||
<string name="detail_settings_about_header">O programe</string>
|
||||
<string name="detail_settings_global_setting_title">Použiť globálne nastavenie</string>
|
||||
<string name="detail_settings_global_setting_suffix">používajú sa globálne nastavenia</string>
|
||||
<string name="detail_settings_about_topic_url_title">URL Adresa témy</string>
|
||||
<string name="user_dialog_title_add">Pridať používateľa</string>
|
||||
<string name="user_dialog_button_add">Pridať používateľa</string>
|
||||
<string name="user_dialog_description_edit">Môžete upraviť používateľské meno/heslo vybraného používateľa alebo ho vymazať.</string>
|
||||
<string name="user_dialog_base_url_hint">URL Adresa služby</string>
|
||||
<string name="user_dialog_username_hint">Používateľské meno</string>
|
||||
<string name="user_dialog_password_hint_add">Heslo</string>
|
||||
<string name="user_dialog_password_hint_edit">Heslo (nezmenené, ak zostane prázdne)</string>
|
||||
<string name="user_dialog_button_delete">Odstrániť používateľa</string>
|
||||
<string name="detail_settings_appearance_display_name_title">Zobrazený názov</string>
|
||||
<string name="channel_notifications_min_name">Minimálna priorita</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">Prihlásený na odber štyroch tém pre okamžité doručovanie</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">Prihlásený na odber tém</string>
|
||||
<string name="channel_subscriber_notification_instant_text_five">Prihlásený na odber piatich tém pre okamžité doručovanie</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Prihlásený na odber dvoch tém pre okamžité doručovanie</string>
|
||||
<string name="channel_subscriber_notification_instant_text_six">Prihlásený na odber šiestich tém pre okamžité doručovanie</string>
|
||||
<string name="refresh_message_result">Prijatých %1$d oznámení</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Prihlásený na odber jednej témy pre okamžité doručovanie</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">Prihlásený na odber troch tém pre okamžité doručovanie</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">Prihlásený na odber %1$d tém pre okamžité doručovanie</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_one">Prihlásený na odber jednej témy</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">Prihlásený na odber dvoch tém</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_three">Prihlásený na odber troch tém</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_four">Prihlásený na odber štyroch tém</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_five">Prihlásený na odber piatich tém</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_six">Prihlásený na odber šiestich tém</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">Prihlásený na odber %1$d tém</string>
|
||||
<string name="main_item_status_text_one">%1$d oznámenie</string>
|
||||
<string name="refresh_message_no_results">Všetko je aktualizované</string>
|
||||
<string name="main_menu_settings_title">Nastavenia</string>
|
||||
<string name="main_menu_report_bug_title">Nahlás chybu</string>
|
||||
<string name="main_menu_rate_title">Ohodnotiť aplikáciu ⭐</string>
|
||||
<string name="main_menu_docs_title">Prečítať dokumentáciu</string>
|
||||
<string name="main_menu_notifications_disabled_until">Oznámenia stlmené do %1$s</string>
|
||||
<string name="main_menu_donate_title">Prispieť 💸</string>
|
||||
<string name="main_action_mode_delete_dialog_message">Odhlásiť odber z vybraných tém a natrvalo vymazať všetky oznámenia\?</string>
|
||||
<string name="main_action_mode_delete_dialog_permanently_delete">Vymazať natrvalo</string>
|
||||
<string name="main_action_mode_menu_unsubscribe">Odhlásiť odber</string>
|
||||
<string name="main_action_mode_delete_dialog_cancel">Zrušiť</string>
|
||||
<string name="main_item_status_text_not_one">%1$d oznámení</string>
|
||||
<string name="main_item_status_reconnecting">obnovenie spojenia…</string>
|
||||
<string name="main_add_button_description">Pridať odber</string>
|
||||
<string name="main_item_date_yesterday">včera</string>
|
||||
<string name="main_no_subscriptions_text">Zdá sa, že zatiaľ nemáte žiadne prihlásenia na odber.</string>
|
||||
<string name="add_dialog_login_title">Vyžaduje sa prihlásenie</string>
|
||||
<string name="detail_settings_title">Nastavenia predplatného</string>
|
||||
<string name="share_title">Zdielať</string>
|
||||
<string name="detail_action_mode_delete_dialog_cancel">Zrušiť</string>
|
||||
<string name="share_content_image_text">Bol s vami zdieľaný obrázok</string>
|
||||
<string name="share_content_image_error">Nemožno načítať obrázok: %1$s</string>
|
||||
<string name="detail_menu_notifications_enabled">Oznámenia zapnuté</string>
|
||||
<string name="detail_item_menu_save_file">Uložiť súbor</string>
|
||||
<string name="detail_item_menu_copy_contents_copied">Oznámenie skopírované do schránky</string>
|
||||
<string name="detail_test_message_error_unauthorized_anon">Nemožno odoslať správu: Anonymné publikovanie nie je povolené.</string>
|
||||
<string name="detail_item_cannot_download">Nie je možné otvoriť alebo stiahnuť prílohu. Platnosť odkazu vypršala a nepodarilo sa nájsť žiadny miestny súbor.</string>
|
||||
<string name="detail_item_cannot_open_apk">Aplikácie už nie je možné nainštalovať. Namiesto toho si ich stiahnite cez prehliadač. Podrobnosti nájdete v issue #531.</string>
|
||||
<string name="detail_item_cannot_save">Nie je možné uložiť prílohu: %1$s</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expires_x">nestiahnuté, vyprší %1$s</string>
|
||||
<string name="detail_menu_copy_url">Kopírovať adresu témy</string>
|
||||
<string name="detail_action_mode_menu_copy">Kopírovať</string>
|
||||
<string name="settings_notifications_priority_default">predvolená</string>
|
||||
<string name="notification_dialog_show_all">Zobraziť všetky oznámenia</string>
|
||||
<string name="notification_popup_file_download_successful">%1$s
|
||||
\nSúbor: %2$s, stiahnutý</string>
|
||||
<string name="settings_notifications_min_priority_summary_max">Zobraziť oznámenia, ak je priorita 5 (max.)</string>
|
||||
<string name="settings_notifications_priority_high">vysoká</string>
|
||||
<string name="notification_dialog_30min">30 minút</string>
|
||||
<string name="settings_notifications_min_priority_min">Akákoľvek priorita</string>
|
||||
<string name="settings_notifications_channel_prefs_title">Nastavenia kanálu</string>
|
||||
<string name="settings_notifications_priority_max">najvyššia</string>
|
||||
<string name="settings_notifications_auto_download_500k">Ak je menší ako 500 kB</string>
|
||||
<string name="settings_notifications_auto_download_1m">Ak je menší ako 1 MB</string>
|
||||
<string name="settings_notifications_auto_download_10m">Ak je menší ako 10 MB</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_month">Automaticky odstrániť oznámenia po jednom mesiaci</string>
|
||||
<string name="settings_notifications_auto_delete_one_month">Po jednom mesiaci</string>
|
||||
<string name="settings_general_default_base_url_title">Predvolený server</string>
|
||||
<string name="settings_general_users_prefs_title">Používatelia</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_one">Používa sa v téme %1$s</string>
|
||||
<string name="settings_backup_restore_header">Zálohovanie a obnovenie</string>
|
||||
<string name="settings_backup_restore_backup_title">Zálohovanie do súboru</string>
|
||||
<string name="settings_backup_restore_backup_summary">Export konfigurácie, oznámení a používateľov</string>
|
||||
<string name="settings_backup_restore_restore_title">Obnovenie zo súboru</string>
|
||||
<string name="settings_advanced_header">Pokročilé</string>
|
||||
<string name="settings_advanced_broadcast_summary_enabled">Aplikácie môžu prijímať prichádzajúce oznámenia ako vysielanie</string>
|
||||
<string name="settings_advanced_broadcast_summary_disabled">Aplikácie nemôžu prijímať oznámenia ako vysielanie</string>
|
||||
<string name="settings_advanced_unifiedpush_title">Povolenie služby UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy nebude fungovať ako distribútor UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy bude fungovať ako distribútor UnifiedPush</string>
|
||||
<string name="detail_how_to_link">Podrobné pokyny sú k dispozícii na stránke ntfy.sh a v dokumentácií.</string>
|
||||
<string name="detail_clear_dialog_message">Vymazať všetky oznámenia v tejto téme\?</string>
|
||||
<string name="settings_advanced_clear_logs_summary">Vymazať predtým zaznamenané záznamy a začať odznova</string>
|
||||
<string name="detail_settings_appearance_display_name_message">Nastavenie vlastného zobrazovacieho názvu pre tento odber. Pre predvolené nastavenie (%1$s) nechajte prázdne.</string>
|
||||
<string name="user_dialog_title_edit">Upraviť používateľa</string>
|
||||
<string name="user_dialog_description_add">Používateľa môžete pridať tu. Tento používateľ bude použitý vo všetkých témach pre daný server.</string>
|
||||
<string name="main_item_status_unified_push">%1$s (Služba UnifiedPush)</string>
|
||||
</resources>
|
|
@ -87,11 +87,11 @@
|
|||
<string name="detail_instant_delivery_enabled">Omedelbar leverans på</string>
|
||||
<string name="detail_instant_delivery_disabled">Omedelbar leverans av</string>
|
||||
<string name="detail_deep_link_subscribed_toast_message">Prenumererar på ämne %1$s</string>
|
||||
<string name="channel_notifications_min_name">Lägsta prioritet</string>
|
||||
<string name="channel_notifications_low_name">Låg prioritet</string>
|
||||
<string name="channel_notifications_high_name">Hög prioritet</string>
|
||||
<string name="channel_notifications_default_name">Standard prioritet</string>
|
||||
<string name="channel_notifications_max_name">Högsta prioritet</string>
|
||||
<string name="channel_notifications_min_name">Meddelanden (lägsta prioritet)</string>
|
||||
<string name="channel_notifications_low_name">Meddelanden (låg prioritet)</string>
|
||||
<string name="channel_notifications_high_name">Meddelanden (hög prioritet)</string>
|
||||
<string name="channel_notifications_default_name">Meddelanden (standardprioritet)</string>
|
||||
<string name="channel_notifications_max_name">Meddelanden (högsta prioritet)</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">Prenumererar på %1$d ämnen med omedelbar leverans</string>
|
||||
<string name="main_menu_report_bug_title">Rapportera ett fel</string>
|
||||
<string name="main_action_mode_delete_dialog_message">Avregistrera mig från de valda ämnena och radera alla meddelanden permanent\?</string>
|
||||
|
@ -99,248 +99,4 @@
|
|||
<string name="add_dialog_login_username_hint">Användarnamn</string>
|
||||
<string name="add_dialog_login_password_hint">Lösenord</string>
|
||||
<string name="detail_test_message_error_unauthorized_anon">Kan inte skicka meddelande: Anonym publicering är inte tillåten.</string>
|
||||
<string name="detail_item_snack_deleted">Notifikation borttagen</string>
|
||||
<string name="detail_item_menu_copy_url_copied">URL kopierad till urklipp</string>
|
||||
<string name="detail_item_menu_copy_contents">Kopiera notifikation</string>
|
||||
<string name="detail_item_menu_copy_contents_copied">Notifikation kopierad till urklipp</string>
|
||||
<string name="detail_item_cannot_open_url">Kan inte öppna URL: %1$s</string>
|
||||
<string name="detail_menu_clear">Rensa alla notifikationer</string>
|
||||
<string name="detail_menu_test">Skicka testnotifikation</string>
|
||||
<string name="detail_action_mode_menu_copy">Kopiera</string>
|
||||
<string name="detail_action_mode_menu_delete">Ta bort</string>
|
||||
<string name="detail_action_mode_delete_dialog_permanently_delete">Ta bort permanent</string>
|
||||
<string name="detail_action_mode_delete_dialog_cancel">Avbryt</string>
|
||||
<string name="detail_settings_title">Prenumerationsinställningar</string>
|
||||
<string name="share_title">Dela</string>
|
||||
<string name="share_menu_send">Dela</string>
|
||||
<string name="main_menu_donate_title">Donera 💸</string>
|
||||
<string name="detail_item_snack_undo">Ångra</string>
|
||||
<string name="detail_item_menu_open">Öppna fil</string>
|
||||
<string name="detail_item_menu_delete">Ta bort fil</string>
|
||||
<string name="detail_item_menu_download">Ladda ner fil</string>
|
||||
<string name="detail_item_menu_cancel">Avbryt nedladdning</string>
|
||||
<string name="detail_item_menu_save_file">Spara fil</string>
|
||||
<string name="detail_item_menu_copy_url">Kopiera URL</string>
|
||||
<string name="detail_item_download_info_download_failed">nedladdning misslyckad</string>
|
||||
<string name="detail_menu_settings">Prenumerationsinställningar</string>
|
||||
<string name="channel_notifications_group_default_name">Förval</string>
|
||||
<string name="detail_item_cannot_open_not_found">Kan inte öppna bifogat dokument: Filen kan ha raderats eller så kan inget installerat program öppna filen.</string>
|
||||
<string name="detail_item_cannot_open_apk">Appar kan inte installeras längre. Ladda ned dem via webbläsaren istället. See Problem #531 för detaljer.</string>
|
||||
<string name="add_dialog_topic_name_hint">Ämnesnamn, t. ex. phils_alerts</string>
|
||||
<string name="detail_item_cannot_open">Kan inte öppna bifogat dokument: %1$s</string>
|
||||
<string name="user_dialog_button_save">Spara</string>
|
||||
<string name="detail_item_tags">Taggar: %1$s</string>
|
||||
<string name="detail_item_saved_successfully">Sparad som \"%1$s\" inuti \"Downloads\" mappen</string>
|
||||
<string name="detail_item_cannot_download">Kan inte öppna eller ladda ned bifogat dokument. Länken har uphört och ingen lokal fil hittades.</string>
|
||||
<string name="detail_item_cannot_save">Kan inte spara bifogat dokument: %1$s</string>
|
||||
<string name="detail_item_cannot_delete">Kan inte radera bifogat dokument: %1$s</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expires_x">nedladdning misslyckad, utgått %1$s</string>
|
||||
<string name="detail_item_download_info_downloading_x_percent">%1$d%% nedladdad</string>
|
||||
<string name="detail_item_download_info_deleted_expires_x">bortagen, länk ogiltig %1$s</string>
|
||||
<string name="detail_menu_notifications_enabled">Notifieringar på</string>
|
||||
<string name="detail_menu_notifications_disabled_until">Notifieringar av till %1$s</string>
|
||||
<string name="detail_menu_enable_instant">Aktivera direktmeddelande</string>
|
||||
<string name="share_content_file_text">En fil var delad med dig</string>
|
||||
<string name="notification_dialog_2h">2 timmar</string>
|
||||
<string name="notification_popup_action_cancel">Avbryt</string>
|
||||
<string name="notification_popup_file">%1$s
|
||||
\nFil:%2$s</string>
|
||||
<string name="notification_popup_file_downloading">Laddar ner %1$s,%2$d%%
|
||||
\n%3$s</string>
|
||||
<string name="notification_popup_file_download_successful">%1$s
|
||||
\nFil:%2$s, nedladdad</string>
|
||||
<string name="notification_popup_file_download_failed">%1$s
|
||||
\nFil:%2$s, nedladdning misslyckad</string>
|
||||
<string name="notification_popup_user_action_failed">%1$s misslyckad: %2$s</string>
|
||||
<string name="settings_notifications_min_priority_summary_x_or_higher">Visa notifieringar om prioritet är %1$d (%2$s) eller högre</string>
|
||||
<string name="settings_notifications_channel_prefs_title">Kanalinställningar</string>
|
||||
<string name="settings_notifications_auto_download_summary_smaller_than_x">Ladda automatiskt ner bifogade filer upp till %1$s</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_month">Radera notifieringarna efter en månad</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_months">Radera notifieringarna efter 3 månader</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Fortsätt visa meddelande med högsta prioritet</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Notifieringar med max prioritet visas tills avvisats</string>
|
||||
<string name="settings_advanced_clear_logs_title">Rensa loggar</string>
|
||||
<string name="settings_backup_restore_backup_failed">Säkerhetskopiering%1$ misslyckad: %1$s</string>
|
||||
<string name="settings_advanced_export_logs_copied_url">Loggfiler uppladdat och URL kopierad</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Använder anpassade inställningar för den här prenumerationen</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Egna notfieringsinställningar</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Använder standardinställningar (ljud, Stör ej åsidosättning, etc.)</string>
|
||||
<string name="detail_settings_appearance_icon_error_saving">Kan ej att spara ikon:%1$s</string>
|
||||
<string name="user_dialog_password_hint_add">Lösenord</string>
|
||||
<string name="user_dialog_password_hint_edit">Lösenord (oförändrat om blankt)</string>
|
||||
<string name="user_dialog_button_add">Lägg till användare</string>
|
||||
<string name="user_dialog_button_cancel">Avbryt</string>
|
||||
<string name="user_dialog_button_delete">Radera användare</string>
|
||||
<string name="detail_item_download_failed">Kunde inte ladda ner bifogad fil: %1$s</string>
|
||||
<string name="detail_item_download_info_not_downloaded">Nedladdning misslyckad</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expired">nedladdning misslyckad, länk ej giltig</string>
|
||||
<string name="detail_item_download_info_deleted">borttagen</string>
|
||||
<string name="detail_item_download_info_deleted_expired">borttagen, länk ogiltig</string>
|
||||
<string name="detail_menu_notifications_disabled_forever">Notifieringar av</string>
|
||||
<string name="detail_item_download_info_download_failed_expired">nedladdning misslyckad, länk ogiltig</string>
|
||||
<string name="detail_menu_copy_url">Kopiera ämnesraden</string>
|
||||
<string name="detail_menu_unsubscribe">avslutad prenumeration</string>
|
||||
<string name="detail_menu_disable_instant">Inaktivera direktmeddelande</string>
|
||||
<string name="detail_action_mode_delete_dialog_message">Ta bort markerat meddelande(n) permanent\?</string>
|
||||
<string name="share_content_text_hint">Lägg till innehåll att dela här</string>
|
||||
<string name="share_content_image_text">En bild har blivit delad med dig</string>
|
||||
<string name="share_content_title">Förhandsgranska meddelande</string>
|
||||
<string name="share_content_image_error">Kan inte läsa bild:%1$s</string>
|
||||
<string name="share_suggested_topics">Ämnesförslag</string>
|
||||
<string name="notification_dialog_title">Inaktivera notifikationer</string>
|
||||
<string name="share_topic_title">Dela med</string>
|
||||
<string name="notification_dialog_enabled_toast_message">Notifikationer aktiverat</string>
|
||||
<string name="notification_dialog_muted_forever_toast_message">Notifikationer inaktiverat</string>
|
||||
<string name="notification_dialog_muted_until_toast_message">Notifikationer inaktiverat till %1$s</string>
|
||||
<string name="notification_dialog_save">Spara</string>
|
||||
<string name="notification_popup_action_browse">Bläddra</string>
|
||||
<string name="notification_dialog_forever">Tills återaktiverad</string>
|
||||
<string name="notification_popup_action_open">Öppna</string>
|
||||
<string name="notification_popup_action_download">Ladda ner</string>
|
||||
<string name="settings_notifications_muted_until_title">Inaktivera notifieringar</string>
|
||||
<string name="settings_notifications_muted_until_show_all">Visa alla notifieringar</string>
|
||||
<string name="settings_notifications_muted_until_forever">Notifieringar inaktiverade tillsvidare</string>
|
||||
<string name="settings_title">Inställningar</string>
|
||||
<string name="settings_notifications_header">Notifieringar</string>
|
||||
<string name="settings_notifications_min_priority_high">Hög prioritet eller högre</string>
|
||||
<string name="settings_notifications_min_priority_max">Bara högsta prioritet</string>
|
||||
<string name="settings_notifications_priority_min">min</string>
|
||||
<string name="settings_notifications_priority_low">låg</string>
|
||||
<string name="settings_notifications_priority_default">standard</string>
|
||||
<string name="settings_notifications_priority_high">hög</string>
|
||||
<string name="settings_notifications_min_priority_summary_max">Visa notifieringar om prioritet är 5 (max)</string>
|
||||
<string name="settings_notifications_min_priority_min">Alla prioriteringar</string>
|
||||
<string name="settings_notifications_min_priority_low">Låg prioritet eller högre</string>
|
||||
<string name="settings_notifications_min_priority_default">Normal prioritet eller högre</string>
|
||||
<string name="settings_notifications_priority_max">max</string>
|
||||
<string name="settings_notifications_channel_prefs_summary">Stör ej (DND) åsidosätt ljud, etc.</string>
|
||||
<string name="settings_notifications_auto_download_title">Ladda ner filer</string>
|
||||
<string name="settings_notifications_auto_download_summary_never">Ladda inte automatiskt ner alla filer</string>
|
||||
<string name="settings_notifications_auto_download_summary_always">Automatiskt ladda ner alla filer</string>
|
||||
<string name="settings_notifications_auto_download_100k">Om mindre än 100 KB</string>
|
||||
<string name="settings_notifications_auto_download_500k">Om mindre än 500 KB</string>
|
||||
<string name="settings_notifications_auto_download_50m">Om mindre än 50 MB</string>
|
||||
<string name="settings_notifications_auto_delete_title">Radera notifieringarna</string>
|
||||
<string name="settings_notifications_auto_download_never">Ladda aldrig ner något automatiskt</string>
|
||||
<string name="settings_notifications_auto_download_1m">Om mindre än 1 MB</string>
|
||||
<string name="settings_notifications_auto_download_5m">Om mindre än 5 MB</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_day">Radera notifieringarna efter 1 dag</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_days">Radera notifieringarna efter 3 dagar</string>
|
||||
<string name="settings_notifications_auto_delete_never">Aldrig</string>
|
||||
<string name="settings_notifications_auto_delete_one_day">Efter en dag</string>
|
||||
<string name="settings_notifications_auto_delete_three_days">Efter 3 dagar</string>
|
||||
<string name="settings_general_users_summary">Lägg till/ta bort användare för privata ämnen</string>
|
||||
<string name="settings_general_users_prefs_title">Användare</string>
|
||||
<string name="settings_general_default_base_url_message">Ange din servers rot-URL för att använda din egen server som standard när du prenumererar på nya ämnen och/eller delar ämnen.</string>
|
||||
<string name="settings_general_default_base_url_default_summary">%1$s (standard)</string>
|
||||
<string name="settings_general_users_title">Hantera användare</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_one">Används i ämne %1$s</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_many">Används i ämnen %1$s</string>
|
||||
<string name="settings_general_users_prefs_user_add">Lägg till användare</string>
|
||||
<string name="settings_general_users_prefs_user_add_title">Lägg till ny användare</string>
|
||||
<string name="settings_general_users_prefs_user_add_summary">Lägg till en ny användare för ny server</string>
|
||||
<string name="settings_general_dark_mode_entry_light">Ljust tema</string>
|
||||
<string name="settings_general_dark_mode_entry_dark">Mörkt tema</string>
|
||||
<string name="settings_backup_restore_header">Säkerhetskopia & återställning</string>
|
||||
<string name="settings_backup_restore_backup_summary">Exportera inställningar, notifieringar och användare</string>
|
||||
<string name="settings_general_dark_mode_summary_dark">Mörkt läge aktivt. Är du en vampyr\?</string>
|
||||
<string name="settings_general_dark_mode_entry_system">Används systemstandard</string>
|
||||
<string name="settings_backup_restore_backup_title">Säkerhetskopiera till fil</string>
|
||||
<string name="settings_advanced_broadcast_title">Sända meddelanden</string>
|
||||
<string name="settings_advanced_broadcast_summary_disabled">Appar kan inte ta emot meddelanden som sändningar</string>
|
||||
<string name="settings_advanced_broadcast_summary_enabled">Appar kan ta emot inkommande meddelanden som sändningar</string>
|
||||
<string name="settings_advanced_export_logs_summary">Kopiera loggtext till urklipp, eller ladda upp till nopaste.net (ägs av skaparen av ntfy). Datornamn och ämnen kan censureras, meddelandetext censureras aldrig.</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_original">Kopiera till urklipp</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_scrubbed">Kopiera till urklipp (censurerat)</string>
|
||||
<string name="settings_advanced_export_logs_error_uploading">Kunde inte ladda upp loggar:%1$s</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_text">Dessa ämnen/hostnamn ersattes med fruktnamn, så att du kan dela loggen utan att vara orolig:
|
||||
\n
|
||||
\n%1$s
|
||||
\n
|
||||
\nLösenord har rensats, men de finns inte med här.</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_empty">Inga ämnen eller värdnamn har redigerats. Du kanske inte har några prenumerationer\?</string>
|
||||
<string name="settings_advanced_clear_logs_deleted_toast">Loggar raderade</string>
|
||||
<string name="settings_advanced_connection_protocol_title">Anslutningsprotokoll</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_jsonhttp">Använd en JSON-ström över HTTP för att ansluta till servern. Den här metoden är beprövad, men kan förbruka mer batteri.</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_jsonhttp">JSON stream över HTTP</string>
|
||||
<string name="detail_settings_notifications_instant_summary_on">Notifieringarna levereras direkt. Kräver att appen aktivt körs vilket kräver mer batteri.</string>
|
||||
<string name="settings_about_version_title">Version</string>
|
||||
<string name="settings_about_version_format">ntfy %1$s (%2$s)</string>
|
||||
<string name="settings_about_version_copied_to_clipboard_message">Kopierad till urklipp</string>
|
||||
<string name="detail_settings_appearance_header">Utseende</string>
|
||||
<string name="detail_settings_notifications_instant_title">Omedelbar leverans</string>
|
||||
<string name="detail_settings_appearance_icon_set_title">Prenumerationsikon</string>
|
||||
<string name="detail_settings_appearance_icon_set_summary">Välj en ikon att visa i notifieringarna</string>
|
||||
<string name="detail_settings_appearance_icon_remove_title">Prenumerationsikon (tryck för att radera)</string>
|
||||
<string name="detail_settings_global_setting_suffix">Använder de globala inställningarna</string>
|
||||
<string name="detail_settings_about_header">Om</string>
|
||||
<string name="detail_item_download_info_download_failed_expires_x">nedladdning misslyckad, länk ogiltig %1$s</string>
|
||||
<string name="notification_dialog_show_all">Visa alla notifikationer</string>
|
||||
<string name="share_content_file_error">Kan inte läsa filinformation:%1$s</string>
|
||||
<string name="notification_dialog_30min">30 minuter</string>
|
||||
<string name="notification_dialog_8h">8 timmar</string>
|
||||
<string name="notification_dialog_tomorrow">Tills imorgon</string>
|
||||
<string name="settings_notifications_min_priority_title">Låg prioritet</string>
|
||||
<string name="settings_notifications_muted_until_x">Notifieringar inaktiverad till %1$s</string>
|
||||
<string name="settings_notifications_min_priority_summary_any">Visa alla notifieringar</string>
|
||||
<string name="settings_notifications_auto_delete_summary_never">Radera aldrig notifieringarna</string>
|
||||
<string name="settings_notifications_auto_delete_one_week">Efter en vecka</string>
|
||||
<string name="settings_notifications_auto_delete_one_month">Efter en månad</string>
|
||||
<string name="settings_notifications_auto_delete_three_months">Efter 3 månader</string>
|
||||
<string name="settings_general_header">Allmänt</string>
|
||||
<string name="settings_general_default_base_url_title">Standardserver</string>
|
||||
<string name="settings_general_users_prefs_user_not_used">Används inte av något ämne</string>
|
||||
<string name="settings_general_dark_mode_title">Mörkt tema</string>
|
||||
<string name="settings_general_dark_mode_summary_system">Använd enhetens standardinställning</string>
|
||||
<string name="settings_general_dark_mode_summary_light">Ljust tema aktivt</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything">Allt</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything_no_users">Allt, förutom användare</string>
|
||||
<string name="settings_backup_restore_backup_successful">Säkerhetskopia skapad</string>
|
||||
<string name="settings_backup_restore_backup_entry_settings_only">Endast inställningar</string>
|
||||
<string name="settings_backup_restore_restore_summary">Importera inställningar, notifieringar och användare</string>
|
||||
<string name="settings_backup_restore_restore_successful">Återställning slutförd</string>
|
||||
<string name="settings_advanced_export_logs_title">Kopiera/ladda upp loggar</string>
|
||||
<string name="settings_backup_restore_restore_failed">Återställning misslyckades: %1$s</string>
|
||||
<string name="settings_advanced_header">Avancerat</string>
|
||||
<string name="settings_advanced_record_logs_title">Spara loggar</string>
|
||||
<string name="settings_advanced_clear_logs_summary">Rensa alla gamla loggar, börja på nytt</string>
|
||||
<string name="user_dialog_title_edit">Editera användare</string>
|
||||
<string name="user_dialog_description_edit">Du kan redigera användarnamn/lösenord för den valda användaren eller ta bort den.</string>
|
||||
<string name="settings_advanced_record_logs_summary_enabled">Loggar (upp till 1 000 poster) till enhet …</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">Aktivera loggning, så du kan dela loggar för felsökning.</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_original">Ladda upp och kopiera länk</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_scrubbed">Ladda upp och kopiera länk (censurerat)</string>
|
||||
<string name="settings_advanced_export_logs_copied_logs">Loggar kopierat till urklipp</string>
|
||||
<string name="settings_advanced_export_logs_uploading">Laddar upp loggfil…</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_button_ok">OK</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_ws">WebSockets</string>
|
||||
<string name="settings_about_header">Om</string>
|
||||
<string name="detail_settings_notifications_instant_summary_off">Notifieringar levereras genom Firebase. Viss fördröjning kan förekomma, men kräver mindre batteri.</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Anpassa notifieringsinställningarna</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Stör ej (DND) åsidosätts, ljud, etc.</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Fortsätt meddela</string>
|
||||
<string name="detail_settings_appearance_display_name_title">Visningsnamn</string>
|
||||
<string name="detail_settings_appearance_display_name_message">Sätt ett eget visningsnamn för denna prenumeration. Lämna blank för standard (%1$s).</string>
|
||||
<string name="detail_settings_appearance_display_name_default_summary">%1$s (standard)</string>
|
||||
<string name="detail_settings_about_topic_url_title">Ämnes-URL</string>
|
||||
<string name="detail_settings_about_topic_url_copied_to_clipboard_message">Kopierad till urklipp</string>
|
||||
<string name="user_dialog_title_add">Lägg till användare</string>
|
||||
<string name="user_dialog_description_add">Du kan lägga till en användare här. Alla ämnen för den givna servern kommer att använda den här användaren.</string>
|
||||
<string name="user_dialog_base_url_hint">Service-URL</string>
|
||||
<string name="user_dialog_username_hint">Användarnamn</string>
|
||||
<string name="share_successful">Meddelande publicerat</string>
|
||||
<string name="notification_dialog_cancel">Avbryt</string>
|
||||
<string name="notification_dialog_1h">1 timme</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_week">Radera notifieringarna efter en vecka</string>
|
||||
<string name="settings_notifications_auto_download_always">Ladda automatiskt ner allt</string>
|
||||
<string name="settings_notifications_auto_download_10m">Om mindre än 10 MB</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Notifieringar med max prioritet visas endast en gång</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy kommer att fungera som distributör av notifieringar</string>
|
||||
<string name="settings_backup_restore_restore_title">Återställ från fil</string>
|
||||
<string name="settings_advanced_unifiedpush_title">Aktivera pushnotiser</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy kommer inte att fungera som distributör av notifieringar</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_ws">Använd WebSockets för att ansluta till servern. Detta är den rekommenderade metoden, men kan kräva ytterligare konfiguration i din proxy.</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Meddela endast en gång</string>
|
||||
<string name="detail_settings_global_setting_title">Använd de globala inställningarna</string>
|
||||
<string name="detail_settings_appearance_icon_remove_summary">Ikon som visas i meddelanden för detta ämne</string>
|
||||
</resources>
|
|
@ -2,8 +2,8 @@
|
|||
<resources>
|
||||
<string name="main_item_status_text_one">%1$d bildirim</string>
|
||||
<string name="detail_how_to_intro">Bu konuya bildirim göndermek için konu URL\'sine PUT veya POST göndermeniz yeterlidir.</string>
|
||||
<string name="channel_notifications_low_name">Düşük öncelik</string>
|
||||
<string name="channel_notifications_default_name">Öntanımlı öncelik</string>
|
||||
<string name="channel_notifications_low_name">Bildirimler (düşük öncelik)</string>
|
||||
<string name="channel_notifications_default_name">Bildirimler (öntanımlı öncelik)</string>
|
||||
<string name="channel_subscriber_service_name">Abonelik Hizmeti</string>
|
||||
<string name="channel_subscriber_notification_title">Gelen bildirimler için dinleniyor</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Anında teslimat konularına abone olundu</string>
|
||||
|
@ -13,7 +13,7 @@
|
|||
<string name="channel_subscriber_notification_instant_text_more">%1$d anında teslimat konusuna abone olundu</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">Konulara abone olundu</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_one">Bir konuya abone olundu</string>
|
||||
<string name="channel_notifications_min_name">En düşük öncelik</string>
|
||||
<string name="channel_notifications_min_name">Bildirimler (en düşük öncelik)</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">Dört anında teslimat konusuna abone olundu</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_four">Dört konuya abone olundu</string>
|
||||
<string name="refresh_message_no_results">Her şey güncel</string>
|
||||
|
@ -174,7 +174,7 @@
|
|||
<string name="settings_advanced_connection_protocol_title">Bağlantı protokolü</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_jsonhttp">Sunucuya bağlanmak için HTTP üzerinden bir JSON akışı kullanın. Bu yöntem iyi test edilmiştir, ancak daha fazla pil tüketebilir.</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_ws">Sunucuya bağlanmak için WebSockets kullanın. Bu tavsiye edilen yöntemdir, ancak vekilinizde ek yapılandırma gerektirebilir.</string>
|
||||
<string name="channel_notifications_max_name">En yüksek öncelik</string>
|
||||
<string name="channel_notifications_max_name">Bildirimler (en yüksek öncelik)</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">İki konuya abone olundu</string>
|
||||
<string name="main_add_button_description">Abonelik ekle</string>
|
||||
<string name="detail_clear_dialog_message">Bu konudaki tüm bildirimler silinsin mi\?</string>
|
||||
|
@ -195,7 +195,7 @@
|
|||
<string name="user_dialog_button_cancel">İptal</string>
|
||||
<string name="user_dialog_button_delete">Kullanıcı sil</string>
|
||||
<string name="user_dialog_button_save">Kaydet</string>
|
||||
<string name="channel_notifications_high_name">Yüksek öncelik</string>
|
||||
<string name="channel_notifications_high_name">Bildirimler (yüksek öncelik)</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_three">Üç konuya abone olundu</string>
|
||||
<string name="refresh_message_result">%1$d bildirim alındı</string>
|
||||
<string name="main_action_mode_delete_dialog_cancel">İptal</string>
|
||||
|
@ -327,20 +327,4 @@
|
|||
<string name="detail_settings_about_header">Hakkında</string>
|
||||
<string name="detail_settings_about_topic_url_title">Konu URL\'si</string>
|
||||
<string name="detail_settings_about_topic_url_copied_to_clipboard_message">Panoya kopyalandı</string>
|
||||
<string name="main_menu_donate_title">Bağış yap 💸</string>
|
||||
<string name="detail_item_cannot_open_apk">Uygulamalar artık kurulamıyor. Bunun yerine tarayıcı üzerinden indirin. Ayrıntılar için sorun #531\'e bakın.</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">En yüksek öncelikli bildirimler yalnızca bir kez uyarı verir</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Bu abonelik için özel ayarları kullan</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Bildirim ayarlarını yapılandır</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Rahatsız Etmeyin (DND) özelliğini geçersiz kıl, sesler vb.</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Uyarmaya devam et</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Yalnızca bir kez uyar</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">En yüksek öncelik için uyarmaya et</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Özel bildirim ayarları</string>
|
||||
<string name="channel_notifications_group_default_name">Öntanımlı</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">En yüksek öncelikli bildirimler kapatılana kadar sürekli uyarı verir</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Öntanımlı ayarları kullan (sesler, Rahatsız Etmeyin özelliğini geçersiz kıl, vb.)</string>
|
||||
<string name="settings_advanced_unifiedpush_title">UnifiedPush\'u etkinleştir</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy bir UnifiedPush dağıtıcısı olarak davranmayacaktır</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy bir UnifiedPush dağıtıcısı olarak davranacaktır</string>
|
||||
</resources>
|
|
@ -1,10 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_notifications_min_name">Мінімальний пріоритет</string>
|
||||
<string name="channel_notifications_default_name">Звичайний пріоритет</string>
|
||||
<string name="channel_notifications_low_name">Низький пріоритет</string>
|
||||
<string name="channel_notifications_high_name">Високий пріоритет</string>
|
||||
<string name="channel_notifications_max_name">Максимальний пріоритет</string>
|
||||
<string name="channel_notifications_min_name">Сповіщення (мінімальний пріоритет)</string>
|
||||
<string name="channel_notifications_default_name">Сповіщення (звичайний пріоритет)</string>
|
||||
<string name="channel_notifications_low_name">Сповіщення (низький пріоритет)</string>
|
||||
<string name="channel_notifications_high_name">Сповіщення (високий пріоритет)</string>
|
||||
<string name="channel_notifications_max_name">Сповіщення (максимальний пріоритет)</string>
|
||||
<string name="channel_subscriber_service_name">Абонементна Послуга</string>
|
||||
<string name="channel_subscriber_notification_title">Очікую вхідні сповіщення</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Підписався на теми миттєвої доставки</string>
|
||||
|
@ -12,7 +12,7 @@
|
|||
<string name="detail_settings_appearance_display_name_default_summary">%1$s (за умовчанням)</string>
|
||||
<string name="detail_settings_appearance_display_name_message">Встановіть спеціальну відображувану назву для цієї підписки. Залиште поле порожнім для умовчання (%1$s).</string>
|
||||
<string name="user_dialog_base_url_hint">URL служби</string>
|
||||
<string name="add_dialog_use_another_server_description">Введіть URL-адресу сервісу нижче, щоб підписатися на теми з інших серверів.</string>
|
||||
<string name="add_dialog_use_another_server_description">Введіть URL-адреси служби нижче, щоб підписатися на теми з інших серверів.</string>
|
||||
<string name="detail_item_cannot_open_url">Неможливо відкрити URL: %1$s</string>
|
||||
<string name="detail_item_menu_cancel">Скасувати завантаження</string>
|
||||
<string name="share_topic_title">Поділитися з</string>
|
||||
|
@ -67,15 +67,15 @@
|
|||
<string name="main_banner_battery_button_remind_later">Запитайте пізніше</string>
|
||||
<string name="main_banner_battery_button_dismiss">Відхилити</string>
|
||||
<string name="main_banner_battery_button_fix_now">Виправ зараз</string>
|
||||
<string name="add_dialog_title">Підписатися на тему</string>
|
||||
<string name="add_dialog_title">Підпишіться на тему</string>
|
||||
<string name="add_dialog_description_below">Теми можуть не бути захищені паролем, тому виберіть назву, яку важко вгадати. Після підписки ви можете PUT/POST сповіщення.</string>
|
||||
<string name="add_dialog_topic_name_hint">Назва теми, наприклад phils_alerts</string>
|
||||
<string name="add_dialog_use_another_server">Використовувати інший сервер</string>
|
||||
<string name="add_dialog_use_another_server">Використовуйте інший сервер</string>
|
||||
<string name="add_dialog_instant_delivery">Миттєва доставка в режимі дрімання</string>
|
||||
<string name="add_dialog_instant_delivery_description">Забезпечує миттєву доставку повідомлень, навіть якщо пристрій неактивний.</string>
|
||||
<string name="add_dialog_foreground_description">Миттєва доставка завжди ввімкнена для хостів, відмінних від %1$s.</string>
|
||||
<string name="add_dialog_button_cancel">Скасувати</string>
|
||||
<string name="add_dialog_button_subscribe">Підписатися</string>
|
||||
<string name="add_dialog_button_subscribe">Підпишіться</string>
|
||||
<string name="add_dialog_button_back">Назад</string>
|
||||
<string name="detail_clear_dialog_cancel">Скасувати</string>
|
||||
<string name="detail_delete_dialog_message">Скасувати підписку на цю тему та видалити всі отримані сповіщення\?</string>
|
||||
|
@ -93,10 +93,10 @@
|
|||
<string name="detail_settings_global_setting_suffix">за допомогою глобальних налаштувань</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">Підписався на теми</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Підписався на одну тему миттєвої доставки</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Підписався на дві теми миттєвої доставки</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Підписався на дві теми моментальної доставки</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_one">Підписався на одну тему</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">Підписано на %1$d тем</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">Підписався на три теми миттєвої доставки</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">Підписався на три теми моментальної доставки</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">Підписався на чотири теми миттєвої доставки</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">Підписано на %1$d тем миттєвої доставки</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">Підписався на дві теми</string>
|
||||
|
@ -327,20 +327,4 @@
|
|||
<string name="main_banner_websocket_button_dismiss">Відхилити</string>
|
||||
<string name="main_banner_websocket_button_enable_now">Увімкнути зараз</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_jsonhttp">Використовуйте потік JSON через HTTP для підключення до сервера. Цей метод перевірено в боях, але може споживати більше заряду батареї.</string>
|
||||
<string name="channel_notifications_group_default_name">За замовчуванням</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Використання налаштувань за замовчуванням (звуки, \"Не турбувати\" тощо)</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Перевизначення режиму \"Не турбувати\" (DND), звуки тощо.</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Продовжувати сповіщати</string>
|
||||
<string name="main_menu_donate_title">Пожертвувати 💸</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Безперервне сповіщення для найвищого пріоритету</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Сповіщення з максимальним пріоритетом безперервно сповіщають, доки не будуть закриті</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Сповіщення з максимальним пріоритетом сповіщають лише один раз</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Користувацькі налаштування сповіщень</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Використання користувацьких налаштувань для цієї підписки</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Налаштування параметрів сповіщень</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Сповіщати лише один раз</string>
|
||||
<string name="detail_item_cannot_open_apk">Додаток більше не можна встановити. Натомість завантажуйте через браузер. Подробиці читайте у проблемі #531.</string>
|
||||
<string name="settings_advanced_unifiedpush_title">Увімкнути UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy буде виступати в якості дистриб\'ютора UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy не буде виступати в ролі дистриб\'ютора UnifiedPush</string>
|
||||
</resources>
|
|
@ -1,346 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_notifications_min_name">Minimal ustuvorlik</string>
|
||||
<string name="channel_notifications_low_name">Kam ustuvorlik</string>
|
||||
<string name="channel_notifications_default_name">Standart ustuvorlik</string>
|
||||
<string name="channel_notifications_high_name">Yuqori ustuvorlik</string>
|
||||
<string name="channel_notifications_max_name">Maksimal ustuvorlik</string>
|
||||
<string name="channel_notifications_group_default_name">Standart</string>
|
||||
<string name="channel_subscriber_service_name">Obuna xizmati</string>
|
||||
<string name="channel_subscriber_notification_title">Kiruvchi bildirishnomalar tinglanmoqda</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Darhol yuborish mavzulariga obuna bo‘ldik</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">Darhol yuborish mavzusiga obuna bo‘ldik</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">To\'rtta darhol yuborish mavzulariga obuna bo‘ldik</string>
|
||||
<string name="channel_subscriber_notification_instant_text_five">Beshta darhol yuborish mavzulariga obuna bo‘ldik</string>
|
||||
<string name="channel_subscriber_notification_instant_text_six">Oltita darhol yuborish mavzulariga obuna bo‘ldik</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">%1$d ta darhol yuborish mavzulariga obuna bo‘ldik</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">Mavzularga obuna bo‘ldik</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_one">Bitta mavzuga obuna bo‘ldik</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">Ikkita mavzuga obuna bo‘ldik</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_three">Uchta mavzuga obuna bo‘ldik</string>
|
||||
<string name="refresh_message_no_results">Hammasi yangilangan</string>
|
||||
<string name="refresh_message_error">%1$d ta obunani yangilab bo‘lmadi
|
||||
\n
|
||||
\n%2$s</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">%1$d ta mavzuga obuna bo‘ldik</string>
|
||||
<string name="refresh_message_error_one">Obunani yangilab bo‘lmadi: %1$s</string>
|
||||
<string name="main_action_bar_title">Obuna bo‘lgan mavzular</string>
|
||||
<string name="main_menu_notifications_enabled">Bildirishnomalar yoqilgan</string>
|
||||
<string name="main_menu_notifications_disabled_forever">Bildirishnomalar ovozi o‘chirilgan</string>
|
||||
<string name="main_menu_settings_title">Sozlamalar</string>
|
||||
<string name="main_menu_report_bug_title">Xatolik haqida xabar berish</string>
|
||||
<string name="main_menu_docs_title">Hujjatlarni o‘qish</string>
|
||||
<string name="main_menu_rate_title">Ilovani baholang ⭐</string>
|
||||
<string name="main_action_mode_menu_unsubscribe">Obunani bekor qilish</string>
|
||||
<string name="main_action_mode_delete_dialog_message">Tanlangan mavzu(lar)ga obunani bekor qilib barcha bildirishnomalarni butunlay o‘chirib tashlaysizmi?</string>
|
||||
<string name="main_action_mode_delete_dialog_permanently_delete">Butunlay o‘chirish</string>
|
||||
<string name="main_item_status_text_one">%1$d ta bildirishnoma</string>
|
||||
<string name="main_item_status_text_not_one">%1$d ta bildirishnomalar</string>
|
||||
<string name="main_item_status_reconnecting">qayta ulanmoqda…</string>
|
||||
<string name="main_item_status_unified_push">%1$s (UnifiedPush)</string>
|
||||
<string name="main_item_date_yesterday">kecha</string>
|
||||
<string name="main_add_button_description">Obuna qo‘shish</string>
|
||||
<string name="main_no_subscriptions_text">Sizda hali obuna yo‘qga o‘xshaydi.</string>
|
||||
<string name="main_how_to_intro">Mavzu yaratish yoki unga obuna bo‘lish uchun + belgisini bosing. Shundan so‘ng siz PUT yoki POST orqali xabarlarni yuborishda qurilmangizga bildirishnomalarni olasiz.</string>
|
||||
<string name="main_how_to_link">Batafsil ko‘rsatmalar ntfy.sh saytida va hujjatlarda mavjud.</string>
|
||||
<string name="main_unified_push_toast">Bu obuna %1$s tomonidan UnifiedPush orqali boshqariladi</string>
|
||||
<string name="main_banner_battery_text">Bildirishnomalarni yetkazib berish bilan bog‘liq muammolarni oldini olish uchun ilovada batareya quvvatini optimallashtirish o‘chirilgan bo‘lishi kerak.</string>
|
||||
<string name="main_banner_battery_button_remind_later">Keyinroq so‘rang</string>
|
||||
<string name="main_banner_battery_button_dismiss">Rad etish</string>
|
||||
<string name="main_banner_battery_button_fix_now">Hozir tuzatish</string>
|
||||
<string name="main_banner_websocket_text">WebSocketlarga o‘tish serveringizga ulanishning tavsiya etilgan usuli bo‘lib, batareya quvvatini oshirishi mumkin, lekin bu <a href="https://ntfy.sh/docs/config/#nginxapache2caddy">proksi-serveringizda qo‘shimcha sozlash</a>larni talab qiladi. Sozlamalarda o‘zgartirish mumkin.</string>
|
||||
<string name="main_banner_websocket_button_remind_later">Keyinroq so\'rang</string>
|
||||
<string name="main_banner_websocket_button_dismiss">Rad etish</string>
|
||||
<string name="main_banner_websocket_button_enable_now">Hozir yoqish</string>
|
||||
<string name="add_dialog_title">Mavzuga obuna bo‘lish</string>
|
||||
<string name="add_dialog_description_below">Mavzular parol bilan himoyalanmagan bo‘lishi mumkin, shuning uchun taxmin qilish qiyin bo‘lgan nomni tanlang. Obuna bo‘lganingizdan so‘ng siz bildirishnomalarni PUT/POST qilishingiz mumkin.</string>
|
||||
<string name="add_dialog_topic_name_hint">Mavzu nomi, masalan, phils_alerts</string>
|
||||
<string name="add_dialog_use_another_server">Boshqa serverdan foydalanish</string>
|
||||
<string name="add_dialog_instant_delivery">Darhol yuborish doze rejimida</string>
|
||||
<string name="add_dialog_instant_delivery_description">Qurilma nofaol bo‘lsa ham, xabarlar darhol yetkazilishini ta’minlaydi.</string>
|
||||
<string name="add_dialog_foreground_description">Darhol yetkazish har doim %1$s dan boshqa hostlar uchun yoqilgan.</string>
|
||||
<string name="add_dialog_button_cancel">Bekor qilish</string>
|
||||
<string name="add_dialog_button_subscribe">Obuna bo‘lish</string>
|
||||
<string name="add_dialog_button_back">Orqaga</string>
|
||||
<string name="add_dialog_button_login">Tizimga kirish</string>
|
||||
<string name="add_dialog_error_connection_failed">Ulanish amalga oshmadi: %1$s</string>
|
||||
<string name="add_dialog_login_title">Tizimga kirish talab qilinadi</string>
|
||||
<string name="add_dialog_login_username_hint">Foydalanuvchi nomi</string>
|
||||
<string name="add_dialog_login_password_hint">Parol</string>
|
||||
<string name="add_dialog_login_new_user">Yangi foydalanuvchi</string>
|
||||
<string name="add_dialog_base_urls_dropdown_choose">URL manzilini tanlang</string>
|
||||
<string name="add_dialog_base_urls_dropdown_clear">URL manzilini tozalang</string>
|
||||
<string name="detail_how_to_intro">Ushbu mavzu bo‘yicha bildirishnomalarni yuborish uchun, mavzu URL manziliga PUT yoki POST so‘rov yuboring.</string>
|
||||
<string name="detail_how_to_example">Misol (curl yordamida):<br/><tt>$ curl -d \"Salom\" %1$s</tt></string>
|
||||
<string name="detail_how_to_link">Batafsil ko‘rsatmalar ntfy.sh saytida va hujjatlarda mavjud.</string>
|
||||
<string name="detail_clear_dialog_message">Ushbu mavzudagi barcha bildirishnomalar o‘chirilsinmi?</string>
|
||||
<string name="detail_clear_dialog_permanently_delete">Butunlay o‘chirish</string>
|
||||
<string name="detail_delete_dialog_message">Ushbu mavzuga obunani bekor qilib, barcha qabul qilingan bildirishnomalar o‘chirilsinmi?</string>
|
||||
<string name="detail_delete_dialog_cancel">Bekor qilish</string>
|
||||
<string name="detail_test_title">Test: Agar xohlasangiz, sarlavha o‘rnatishingiz mumkin.</string>
|
||||
<string name="detail_test_message">Bu ntfy Android ilovasining sinov bildirishnomasidir. U %1$d darajadagi ustuvorlikka ega. Agar siz boshqasini yuborsangiz, u boshqacha ko‘rinishi mumkin.</string>
|
||||
<string name="detail_test_message_error_too_large">Xabar yuborib bo‘lmadi: biriktirma juda katta.</string>
|
||||
<string name="detail_copied_to_clipboard_message">Xotiraga nusxa olindi</string>
|
||||
<string name="detail_instant_delivery_enabled">Darhol yuborish yoqilgan</string>
|
||||
<string name="detail_instant_delivery_disabled">Darhol yuborish o‘chirilgan</string>
|
||||
<string name="detail_deep_link_subscribed_toast_message">%1$s mavzusiga obuna bo‘lindi</string>
|
||||
<string name="detail_item_tags">Teglar: %1$s</string>
|
||||
<string name="detail_item_snack_deleted">Bildirishnoma o‘chirildi</string>
|
||||
<string name="detail_item_menu_open">Faylni ochish</string>
|
||||
<string name="detail_item_menu_delete">Faylni o‘chirish</string>
|
||||
<string name="detail_item_menu_download">Faylni yuklab olish</string>
|
||||
<string name="detail_item_menu_save_file">Faylni saqlash</string>
|
||||
<string name="detail_item_menu_copy_url">URL manzilini nusxalash</string>
|
||||
<string name="detail_item_menu_copy_url_copied">URL xotiraga nusxalandi</string>
|
||||
<string name="detail_item_menu_copy_contents">Bildirishnomani nusxalash</string>
|
||||
<string name="detail_item_saved_successfully">\"Yuklashlar\" jildida \"%1$s\" nomi bilan saqlandi</string>
|
||||
<string name="detail_item_cannot_download">Biriktirmani ochib yoki yuklab bo‘lmadi. Havola muddati eskirgan va fayl topilmadi.</string>
|
||||
<string name="detail_item_cannot_open">Biriktirmani ochib bo‘lmadi: %1$s</string>
|
||||
<string name="detail_item_cannot_open_not_found">Biriktirmani ochib bo‘lmadi: fayl o‘chirilgan bo‘lishi mumkin yoki hech bir o‘rnatilgan ilova faylni ocholmaydi.</string>
|
||||
<string name="detail_item_cannot_open_apk">Ilovalarni boshqa o‘rnatib bo‘lmaydi. Buning o‘rniga brauzer orqali yuklab oling. Tafsilotlar uchun #531 sonli muammoga qarang.</string>
|
||||
<string name="detail_item_cannot_save">Biriktirma saqlanmadi: %1$s</string>
|
||||
<string name="detail_item_cannot_delete">Biriktirmani o‘chirib bo‘lmadi: %1$s</string>
|
||||
<string name="detail_item_download_info_not_downloaded">yuklab olinmagan</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expired">yuklab olinmagan, havola eskirgan</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expires_x">yuklab olinmadi, muddati %1$s da tugaydi</string>
|
||||
<string name="detail_item_download_info_downloading_x_percent">%1$d%% yuklab olindi</string>
|
||||
<string name="detail_item_download_info_deleted">o‘chirildi</string>
|
||||
<string name="detail_item_download_info_deleted_expired">o‘chirildi, havola eskirgan</string>
|
||||
<string name="detail_item_download_info_deleted_expires_x">o‘chirildi, havola muddati %1$s da tugaydi</string>
|
||||
<string name="detail_item_download_info_download_failed_expired">yuklash amalga oshmadi, havola eskirgan</string>
|
||||
<string name="detail_item_download_info_download_failed_expires_x">yuklab olinmadi, havola muddati %1$s da tugaydi</string>
|
||||
<string name="detail_menu_notifications_disabled_forever">Bildirishnomalar ovozi o‘chirildi</string>
|
||||
<string name="detail_menu_notifications_disabled_until">Bildirishnomalar %1$s gacha o‘chirildi</string>
|
||||
<string name="detail_menu_enable_instant">Darhol yuborishni yoqish</string>
|
||||
<string name="detail_menu_disable_instant">Darhol yuborishni o‘chirish</string>
|
||||
<string name="detail_menu_test">Sinov bildirishnomasini yuborish</string>
|
||||
<string name="detail_menu_copy_url">Mavzu manzilini nusxalash</string>
|
||||
<string name="detail_menu_settings">Obuna sozlamalari</string>
|
||||
<string name="detail_menu_unsubscribe">Obunani bekor qilish</string>
|
||||
<string name="detail_action_mode_menu_copy">Nusxalash</string>
|
||||
<string name="detail_action_mode_menu_delete">O‘chirish</string>
|
||||
<string name="detail_action_mode_delete_dialog_message">Tanlangan bildirishnoma(lar) butunlay o‘chirilsinmi?</string>
|
||||
<string name="detail_action_mode_delete_dialog_permanently_delete">Butunlay o‘chirish</string>
|
||||
<string name="detail_action_mode_delete_dialog_cancel">Bekor qilish</string>
|
||||
<string name="detail_settings_title">Obuna sozlamalari</string>
|
||||
<string name="share_menu_send">Ulashish</string>
|
||||
<string name="share_content_title">Xabarni oldindan ko‘rish</string>
|
||||
<string name="share_content_text_hint">Ulashish uchun kontent qo‘shish</string>
|
||||
<string name="share_content_image_text">Sizga ulashilgan rasm</string>
|
||||
<string name="share_content_image_error">Rasmni o‘qib bo‘lmaydi: %1$s</string>
|
||||
<string name="share_content_file_text">Sizga ulashilgan fayl</string>
|
||||
<string name="share_content_file_error">Fayl ma’lumotlarini o‘qib bo‘lmadi: %1$s</string>
|
||||
<string name="share_suggested_topics">Taklif etilgan mavzular</string>
|
||||
<string name="notification_dialog_cancel">Bekor qilish</string>
|
||||
<string name="notification_dialog_save">Saqlash</string>
|
||||
<string name="notification_dialog_enabled_toast_message">Bildirishnomalar davom ettirildi</string>
|
||||
<string name="notification_dialog_1h">1 soat</string>
|
||||
<string name="notification_popup_action_open">Ochish</string>
|
||||
<string name="notification_popup_action_browse">Ko‘rib chiqish</string>
|
||||
<string name="notification_popup_action_download">Yuklash</string>
|
||||
<string name="notification_popup_action_cancel">Bekor qilish</string>
|
||||
<string name="notification_popup_file">%1$s
|
||||
\nFayl: %2$s</string>
|
||||
<string name="notification_popup_file_downloading">Yuklab olinmoqda %1$s, %2$d%%
|
||||
\n%3$s</string>
|
||||
<string name="notification_popup_user_action_failed">%1$s bajarilmadi: %2$s</string>
|
||||
<string name="settings_title">Sozlamalar</string>
|
||||
<string name="settings_notifications_header">Bildirishnomalar</string>
|
||||
<string name="settings_notifications_muted_until_title">Bildirishnomalarni o‘chirish</string>
|
||||
<string name="settings_notifications_muted_until_show_all">Barcha bildirishnomalar ko‘rsatilmoqda</string>
|
||||
<string name="settings_notifications_muted_until_forever">Davom etilgunga qadar bildirishnomalar o‘chirildi</string>
|
||||
<string name="settings_notifications_muted_until_x">Bildirishnomalar %1$s gacha o‘chirildi</string>
|
||||
<string name="settings_notifications_min_priority_summary_any">Barcha bildirishnomalar ko‘rsatilmoqda</string>
|
||||
<string name="settings_notifications_min_priority_summary_x_or_higher">Agar ustuvorlik %1$d (%2$s) yoki undan yuqori bo‘lsa, bildirishnomalarni ko‘rsatish</string>
|
||||
<string name="settings_notifications_min_priority_min">Har qanday ustuvorlik</string>
|
||||
<string name="settings_notifications_min_priority_low">Kam ustuvorlik va undan yuqori</string>
|
||||
<string name="settings_notifications_min_priority_high">Yuqori ustuvorlik va undan yuqori</string>
|
||||
<string name="settings_notifications_min_priority_max">Faqat maksimal ustuvorlik</string>
|
||||
<string name="settings_notifications_priority_min">min</string>
|
||||
<string name="settings_notifications_priority_low">past</string>
|
||||
<string name="settings_notifications_priority_default">standart</string>
|
||||
<string name="settings_notifications_priority_high">yuqori</string>
|
||||
<string name="settings_notifications_priority_max">maks</string>
|
||||
<string name="settings_notifications_channel_prefs_title">Kanal sozlamalari</string>
|
||||
<string name="settings_notifications_channel_prefs_summary">Bezovta qilinmasin (DND) rejimi, tovushlar va h.k.</string>
|
||||
<string name="settings_notifications_auto_download_summary_always">Barcha biriktirmalarni avtomatik yuklab olish</string>
|
||||
<string name="settings_notifications_auto_download_summary_never">Qo‘shimchalar hech qachon avtomatik yuklab olinmasin</string>
|
||||
<string name="settings_notifications_auto_download_summary_smaller_than_x">%1$s gacha bo‘lgan biriktirmalarni avtomatik yuklab olish</string>
|
||||
<string name="settings_notifications_auto_download_never">Hech qachon biror narsa avtomatik yuklab olinmasin</string>
|
||||
<string name="settings_notifications_auto_download_always">Hamma narsani avtomatik yuklab olish</string>
|
||||
<string name="settings_notifications_auto_download_100k">100 kB dan past bo‘lsa</string>
|
||||
<string name="settings_notifications_auto_download_1m">1 MB dan past bo‘lsa</string>
|
||||
<string name="settings_notifications_auto_download_5m">5 MB dan past bo‘lsa</string>
|
||||
<string name="settings_notifications_auto_download_10m">10 MB dan past bo‘lsa</string>
|
||||
<string name="settings_notifications_auto_download_50m">50 MB dan past bo‘lsa</string>
|
||||
<string name="settings_notifications_auto_delete_summary_never">Hech qachon bildirishnomalar avtomatik o‘chirib tashlanmasin</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_day">Bir kundan keyin bildirishnomalarni avtomatik o‘chirish</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_month">Bir oydan keyin bildirishnomalarni avtomatik o‘chirish</string>
|
||||
<string name="settings_notifications_auto_delete_never">Hech qachon</string>
|
||||
<string name="settings_notifications_auto_delete_one_day">Bir kundan keyin</string>
|
||||
<string name="settings_notifications_auto_delete_three_days">3 kundan keyin</string>
|
||||
<string name="settings_notifications_auto_delete_one_week">Bir haftadan keyin</string>
|
||||
<string name="settings_notifications_auto_delete_one_month">Bir oydan keyin</string>
|
||||
<string name="settings_notifications_auto_delete_three_months">3 oydan keyin</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Yuqori ustuvorlik haqida ogohlantirish</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Maksimal ustuvor bildirishnomalar yopilmaguncha doimiy ravishda ogohlantiriladi</string>
|
||||
<string name="settings_general_header">Umumiy</string>
|
||||
<string name="settings_general_default_base_url_title">Standart server</string>
|
||||
<string name="settings_general_default_base_url_message">Yangi mavzularga obuna bo‘lish va/yoki mavzularga ulashishda o‘z serveringizdan standart foydalanish uchun serveringizning asosiy URL manzilini kiriting.</string>
|
||||
<string name="settings_general_default_base_url_default_summary">%1$s (standart)</string>
|
||||
<string name="settings_general_users_title">Foydalanuvchilarni boshqarish</string>
|
||||
<string name="settings_general_users_summary">Himoyalangan mavzular uchun foydalanuvchilarni qo‘shish/o‘chirish</string>
|
||||
<string name="settings_general_users_prefs_user_not_used">Hech qanday mavzuda foydalanilmaydi</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_one">%1$s mavzusida foydalanilgan</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_many">%1$s mavzularida foydalaniladi</string>
|
||||
<string name="settings_general_users_prefs_user_add">Foydalanuvchilarni qo‘shish</string>
|
||||
<string name="settings_general_users_prefs_user_add_title">Yangi foydalanuvchi qo‘shish</string>
|
||||
<string name="settings_general_users_prefs_user_add_summary">Yangi server uchun yangi foydalanuvchi yaratish</string>
|
||||
<string name="settings_general_dark_mode_title">Qorong’i rejim</string>
|
||||
<string name="settings_general_dark_mode_summary_system">Standart tizimdan foydalanish</string>
|
||||
<string name="settings_general_dark_mode_summary_light">Kunduzgi rejim yoqilgan</string>
|
||||
<string name="settings_general_dark_mode_entry_light">Kunduzgi rejim</string>
|
||||
<string name="settings_general_dark_mode_entry_dark">Qorong’i rejim</string>
|
||||
<string name="settings_backup_restore_header">Zaxiralash va Tiklash</string>
|
||||
<string name="settings_backup_restore_backup_title">Faylga zaxiralash</string>
|
||||
<string name="settings_backup_restore_backup_summary">Konfiguratsiya, bildirishnomalar va foydalanuvchilarni eksport qilish</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything">Hamma narsa</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything_no_users">Foydalanuvchilardan tashqari hamma narsa</string>
|
||||
<string name="settings_backup_restore_restore_title">Fayldan tiklash</string>
|
||||
<string name="settings_backup_restore_restore_summary">Konfiguratsiya, bildirishnomalar va foydalanuvchilarni import qilish</string>
|
||||
<string name="settings_advanced_broadcast_title">Xabarlarni uzatish</string>
|
||||
<string name="settings_advanced_broadcast_summary_enabled">Ilovalar kiruvchi bildirishnomalarni translyatsiya sifatida qabul qilishi mumkin</string>
|
||||
<string name="settings_advanced_unifiedpush_title">UnifiedPush-ni yoqing</string>
|
||||
<string name="settings_advanced_export_logs_summary">Loglarni xotiraga nusxalash yoki nopaste.net saytiga yuklash (ntfy muallifiga tegishli). Xost nomlari va mavzular senzura qilinishi mumkin, bildirishnomalar hech qachon bo\'lmaydi.</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_original">Xotiraga nusxalash</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_scrubbed">Xotiraga nusxalash (senzura qilib)</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_original">Havolani yuklash va nusxalash</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_scrubbed">Havolani yuklash va nusxalash (senzura qilib)</string>
|
||||
<string name="settings_advanced_export_logs_copied_logs">Loglar xotiraga nusxalandi</string>
|
||||
<string name="settings_advanced_export_logs_uploading">Log yuklanmoqda…</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_button_ok">OK</string>
|
||||
<string name="settings_advanced_clear_logs_deleted_toast">Loglar o‘chirildi</string>
|
||||
<string name="settings_advanced_connection_protocol_title">Ulanish protokoli</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_jsonhttp">Serverga ulanish uchun HTTP orqali JSON oqimidan foydalaning. Bu usul jangovar sinovdan o‘tgan, lekin ko‘proq batareyani iste’mol qilishi mumkin.</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_ws">Serverga ulanish uchun WebSocketlardan foydalaning. Bu tavsiya etilgan usul, lekin proksi-serveringizda qo‘shimcha sozlash talab qilinishi mumkin.</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_jsonhttp">HTTP orqali JSON oqimi</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_ws">WebSocketlar</string>
|
||||
<string name="settings_about_header">Haqida</string>
|
||||
<string name="settings_about_version_title">Talqin</string>
|
||||
<string name="settings_about_version_format">ntfy %1$s (%2$s)</string>
|
||||
<string name="settings_about_version_copied_to_clipboard_message">Nusxalandi</string>
|
||||
<string name="detail_settings_notifications_instant_title">Darhol yuborish</string>
|
||||
<string name="detail_settings_notifications_instant_summary_on">Bildirishnomalar darhol yetkaziladi. Oldindan xizmat ko‘rsatishni talab qiladi va ko‘proq batareya sarflaydi.</string>
|
||||
<string name="detail_settings_notifications_instant_summary_off">Bildirishnomalar Firebase yordamida yetkaziladi. Yetkazib berish kechikishi mumkin, lekin batareyani kamroq sarflaydi.</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Moslashtirilgan bildirishnoma sozlamalari</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Standart sozlamalardan foydalanish (tovushlar, Bezovta qilinmasin rejimini bekor qilish va h.k.)</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Bildirishnoma sozlamalarini sozlash</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Bezovta qilinmasin (DND) rejimi, tovushlar va h.k.</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Ogohlantirishni davom etish</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Faqat bir marta ogohlantirish</string>
|
||||
<string name="detail_settings_appearance_header">Tashqi ko‘rinish</string>
|
||||
<string name="detail_settings_appearance_icon_set_title">Obuna belgisi</string>
|
||||
<string name="detail_settings_appearance_icon_set_summary">Bildirishnomalarda ko‘rsatiladigan belgini o‘rnatish</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_four">To\'rtta mavzuga obuna bo‘ldik</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_six">Oltita mavzuga obuna bo‘ldik</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">Ikkita darhol yuborish mavzulariga obuna bo‘ldik</string>
|
||||
<string name="refresh_message_result">%1$d ta bildirishnoma qabul qilindi</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">Uchta darhol yuborish mavzulariga obuna bo‘ldik</string>
|
||||
<string name="main_menu_notifications_disabled_until">Bildirishnomalar %1$s gacha o‘chirilgan</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_five">Beshta mavzuga obuna bo‘ldik</string>
|
||||
<string name="main_menu_donate_title">Xayriya qiling 💸</string>
|
||||
<string name="main_action_mode_delete_dialog_cancel">Bekor qilish</string>
|
||||
<string name="add_dialog_use_another_server_description">Boshqa serverlardan mavzularga obuna bo‘lish uchun quyida URL manzillarini kiriting.</string>
|
||||
<string name="add_dialog_login_description">Ushbu mavzu tizimga kirishni talab qiladi. Iltimos, foydalanuvchi nomi va parolni kiriting.</string>
|
||||
<string name="add_dialog_login_error_not_authorized">Tizimga kirishda xatolik yuz berdi. %1$s foydalanuvchiga ruxsat berilmagan.</string>
|
||||
<string name="detail_no_notifications_text">Siz hali bu mavzu bo‘yicha hech qanday bildirishnoma olmagansiz.</string>
|
||||
<string name="detail_clear_dialog_cancel">Bekor qilish</string>
|
||||
<string name="detail_delete_dialog_permanently_delete">Butunlay o‘chirish</string>
|
||||
<string name="share_topic_title">Birovga ulashish</string>
|
||||
<string name="detail_item_snack_undo">Qaytarish</string>
|
||||
<string name="detail_item_menu_cancel">Yuklashni bekor qilish</string>
|
||||
<string name="detail_item_menu_copy_contents_copied">Bildirishnoma xotiraga nusxalandi</string>
|
||||
<string name="detail_item_download_failed">Biriktirma yuklab olinmadi: %1$s</string>
|
||||
<string name="detail_item_download_info_download_failed">yuklab bo‘lmadi</string>
|
||||
<string name="detail_menu_clear">Barcha bildirishnomalarni tozalash</string>
|
||||
<string name="share_title">Ulashish</string>
|
||||
<string name="detail_test_message_error">Xabar yuborib bo‘lmadi: %1$s</string>
|
||||
<string name="detail_menu_notifications_enabled">Bildirishnomalar yoqilgan</string>
|
||||
<string name="detail_test_message_error_unauthorized_anon">Xabar yuborib bo‘lmadi: Anonim nashrga ruxsat berilmaydi.</string>
|
||||
<string name="detail_test_message_error_unauthorized_user">Xabar yuborib bo‘lmadi: \"%1$s\" foydalanuvchisiga ruxsat berilmagan.</string>
|
||||
<string name="detail_item_cannot_open_url">URL manzilini ochib bo‘lmadi: %1$s</string>
|
||||
<string name="share_successful">Xabar yuborildi</string>
|
||||
<string name="notification_dialog_title">Bildirishnomalar ovozini o‘chirish</string>
|
||||
<string name="notification_dialog_muted_forever_toast_message">Bildirishnomalar ovozi o‘chirildi</string>
|
||||
<string name="notification_dialog_muted_until_toast_message">Bildirishnomalar %1$s gacha o‘chirildi</string>
|
||||
<string name="notification_dialog_show_all">Barcha bildirishnomalarni ko‘rsatish</string>
|
||||
<string name="notification_dialog_30min">30 daqiqa</string>
|
||||
<string name="notification_dialog_2h">2 soat</string>
|
||||
<string name="notification_dialog_8h">8 soat</string>
|
||||
<string name="notification_dialog_forever">Davom etgunga qadar</string>
|
||||
<string name="notification_dialog_tomorrow">Ertaga qadar</string>
|
||||
<string name="notification_popup_file_download_successful">%1$s
|
||||
\nFayl: %2$s, yuklab olindi</string>
|
||||
<string name="notification_popup_file_download_failed">%1$s
|
||||
\nFayl: %2$s, yuklab olinmadi</string>
|
||||
<string name="settings_notifications_min_priority_title">Minimum ustuvorlik</string>
|
||||
<string name="settings_notifications_min_priority_summary_max">Agar ustuvorlik 5 (maksimal) bo‘lsa, bildirishnomalarni ko‘rsatish</string>
|
||||
<string name="settings_notifications_min_priority_default">Standart ustuvorlik va undan yuqori</string>
|
||||
<string name="settings_notifications_auto_download_title">Biriktirmalarni yuklash</string>
|
||||
<string name="settings_notifications_auto_download_500k">500 kB dan past bo‘lsa</string>
|
||||
<string name="settings_notifications_auto_delete_title">Bildirishnomalarni o‘chirib tashlash</string>
|
||||
<string name="settings_backup_restore_backup_entry_settings_only">Faqat sozlamalar</string>
|
||||
<string name="settings_general_dark_mode_summary_dark">Tungi rejim yoqilgan. Siz vampirmisiz?</string>
|
||||
<string name="settings_general_dark_mode_entry_system">Tizim standartidan foydalanish</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_days">3 kundan keyin bildirishnomalarni avtomatik o‘chirish</string>
|
||||
<string name="settings_backup_restore_backup_successful">Zaxira yaratildi</string>
|
||||
<string name="settings_advanced_broadcast_summary_disabled">Ilovalar bildirishnomalarni translyatsiya sifatida qabul qila olmaydi</string>
|
||||
<string name="settings_advanced_record_logs_summary_enabled">Qurilmaga qayd qilinmoqda (1000 tagacha yozuvlar)…</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_week">Bir haftadan so‘ng bildirishnomalarni avtomatik o‘chirish</string>
|
||||
<string name="settings_backup_restore_backup_failed">Zaxiralash amalga oshmadi: %1$s</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_months">3 oydan keyin bildirishnomalarni avtomatik o‘chirish</string>
|
||||
<string name="settings_backup_restore_restore_successful">Qayta tiklash muvaffaqiyatli</string>
|
||||
<string name="settings_backup_restore_restore_failed">Qayta tiklash amalga oshmadi: %1$s</string>
|
||||
<string name="settings_advanced_header">Murakkab</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy UnifiedPush distribyutori sifatida ishlaydi</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Maksimal ustuvor bildirishnomalar faqat bir marta ogohlantiriladi</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy UnifiedPush distribyutori sifatida ishlamaydi</string>
|
||||
<string name="settings_general_users_prefs_title">Foydalanuvchilar</string>
|
||||
<string name="settings_advanced_record_logs_title">Loglarni yozib olish</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">Muammolarni aniqlash/ulashish uchun loggingni yoqish.</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Ushbu obuna uchun maxsus sozlamalardan foydalanish</string>
|
||||
<string name="detail_settings_appearance_icon_remove_title">Obuna belgisi (olib tashlash uchun bosing)</string>
|
||||
<string name="detail_settings_appearance_icon_remove_summary">Ushbu mavzu bo‘yicha bildirishnomalarda ko‘rsatilgan belgi</string>
|
||||
<string name="detail_settings_appearance_icon_error_saving">Belgini saqlab bo‘lmadi: %1$s</string>
|
||||
<string name="detail_settings_appearance_display_name_message">Ushbu obuna uchun maxsus ko‘rsatiladigan nomni o‘rnating. Standart qoldirish uchun bo‘sh qoldiring (%1$s).</string>
|
||||
<string name="user_dialog_title_edit">Foydalanuvchini tahrirlash</string>
|
||||
<string name="user_dialog_description_add">Siz bu yerga foydalanuvchi qo‘shishingiz mumkin. Berilgan server uchun barcha mavzular ushbu foydalanuvchidan foydalanadi.</string>
|
||||
<string name="settings_advanced_export_logs_title">Loglarni nusxalash/yuklash</string>
|
||||
<string name="settings_advanced_export_logs_copied_url">Loglar yuklandi va URL manzilidan nusxa olindi</string>
|
||||
<string name="settings_advanced_export_logs_error_uploading">Loglarni yuklab bo‘lmadi: %1$s</string>
|
||||
<string name="settings_advanced_clear_logs_title">Loglarni tozalash</string>
|
||||
<string name="detail_settings_appearance_display_name_title">Ko‘rsatiladigan ism</string>
|
||||
<string name="user_dialog_description_edit">Tanlangan foydalanuvchi uchun foydalanuvchi nomi/parolni tahrirlashingiz yoki uni o‘chirishingiz mumkin.</string>
|
||||
<string name="user_dialog_base_url_hint">Xizmat URL manzili</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_text">Ushbu mavzular/xost nomlari meva nomlari bilan almashtirildi, shuning uchun siz logni tashvishlanmasdan baham ko‘rishingiz mumkin:
|
||||
\n
|
||||
\n%1$s
|
||||
\n
|
||||
\nParollar tozalangan, ammo bu erda ko‘rsatilmagan.</string>
|
||||
<string name="user_dialog_username_hint">Foydalanuvchi nomi</string>
|
||||
<string name="detail_settings_appearance_display_name_default_summary">%1$s (standart)</string>
|
||||
<string name="user_dialog_password_hint_add">Parol</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_empty">Hech qanday mavzu/xost nomlari tahrir qilinmadi. Balki sizda obuna yo‘qdir?</string>
|
||||
<string name="detail_settings_about_topic_url_title">Mavzu manzili</string>
|
||||
<string name="user_dialog_password_hint_edit">Parol (bo‘sh qoldirilgan bo\'lsa, o‘zgartirilmagan)</string>
|
||||
<string name="detail_settings_global_setting_title">Global sozlamalardan foydalanish</string>
|
||||
<string name="user_dialog_button_add">Foydalanuvchi qo‘shish</string>
|
||||
<string name="detail_settings_global_setting_suffix">global sozlamalardan foydalanilmoqda</string>
|
||||
<string name="user_dialog_button_cancel">Bekor qilish</string>
|
||||
<string name="settings_advanced_clear_logs_summary">Oldin yozilgan loglarni o‘chirib tashlang va qaytadan boshlang</string>
|
||||
<string name="detail_settings_about_header">Haqida</string>
|
||||
<string name="user_dialog_button_delete">Foydalanuvchini o‘chirish</string>
|
||||
<string name="user_dialog_title_add">Foydalanuvchi qo‘shish</string>
|
||||
<string name="user_dialog_button_save">Saqlash</string>
|
||||
<string name="detail_settings_about_topic_url_copied_to_clipboard_message">Buferga nusxalandi</string>
|
||||
</resources>
|
|
@ -1,26 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_notifications_low_name">Ưu tiên thấp</string>
|
||||
<string name="add_dialog_login_password_hint">Mật khẩu</string>
|
||||
<string name="add_dialog_login_username_hint">Tên tài khoản</string>
|
||||
<string name="add_dialog_login_description">Chủ đề này cần đăng nhập để truy cập. Vui lòng nhập tên tài khoản và mật khẩu.</string>
|
||||
<string name="user_dialog_button_add">Thêm người dùng</string>
|
||||
<string name="add_dialog_login_error_not_authorized">Đăng nhập thất bại. Không xác thực được tài khoản %1$s.</string>
|
||||
<string name="user_dialog_description_edit">Bạn có thể chỉnh sửa tên tài khoản hoặc mật khẩu của người dùng này, hoặc xóa người dùng này khỏi hệ thống.</string>
|
||||
<string name="user_dialog_button_save">Lưu</string>
|
||||
<string name="user_dialog_password_hint_add">Mật khẩu</string>
|
||||
<string name="add_dialog_topic_name_hint">Tên chủ đề, ví dụ: phils_alerts</string>
|
||||
<string name="user_dialog_button_delete">Xóa người dùng</string>
|
||||
<string name="user_dialog_button_cancel">Hủy</string>
|
||||
<string name="add_dialog_use_another_server">Sử dụng máy chủ khác</string>
|
||||
<string name="user_dialog_password_hint_edit">Mật khẩu (không đổi nếu để trống)</string>
|
||||
<string name="add_dialog_title">Theo dõi chủ đề</string>
|
||||
<string name="user_dialog_username_hint">Tên tài khoản</string>
|
||||
<string name="channel_notifications_min_name">Ưu tiên thấp nhất</string>
|
||||
<string name="channel_notifications_max_name">Ưu tiên cao nhất</string>
|
||||
<string name="channel_notifications_group_default_name">Mặc định</string>
|
||||
<string name="channel_subscriber_service_name">Dịch vụ thông báo</string>
|
||||
<string name="channel_notifications_default_name">Mặc định</string>
|
||||
<string name="channel_notifications_high_name">Ưu tiên cao</string>
|
||||
<string name="channel_subscriber_notification_title">Chờ thông báo</string>
|
||||
<string name="channel_notifications_low_name">Thông báo (ưu tiên thấp)</string>
|
||||
</resources>
|
|
@ -18,7 +18,7 @@
|
|||
<string name="main_action_mode_delete_dialog_cancel">取消</string>
|
||||
<string name="main_item_status_reconnecting">正在重新连接……</string>
|
||||
<string name="main_item_date_yesterday">昨天</string>
|
||||
<string name="main_item_status_unified_push">%1$s(統一推送)</string>
|
||||
<string name="main_item_status_unified_push">%1$s(统一推送)</string>
|
||||
<string name="main_how_to_link">详细的说明请见 ntfy.sh 和帮助文档。</string>
|
||||
<string name="main_unified_push_toast">此通知由 %1$s 通过 UnifiedPush 管理</string>
|
||||
<string name="main_banner_battery_text">请关闭对本应用的电量优化以避免通知推送问题。</string>
|
||||
|
@ -69,7 +69,7 @@
|
|||
<string name="detail_test_message_error">无法发送消息:%1$s</string>
|
||||
<string name="detail_test_message_error_unauthorized_anon">无法发送消息:主题禁止匿名发布。</string>
|
||||
<string name="detail_test_message_error_too_large">无法发送消息:附件体积过大。</string>
|
||||
<string name="detail_copied_to_clipboard_message">已复制到剪贴板</string>
|
||||
<string name="detail_copied_to_clipboard_message">复制到剪贴板</string>
|
||||
<string name="detail_instant_delivery_enabled">实时推送已开启</string>
|
||||
<string name="detail_instant_delivery_disabled">实时推送已关闭</string>
|
||||
<string name="detail_item_tags">标签:%1$s</string>
|
||||
|
@ -139,11 +139,11 @@
|
|||
<string name="notification_dialog_title">暂停通知</string>
|
||||
<string name="notification_dialog_muted_forever_toast_message">通知已暂停</string>
|
||||
<string name="notification_popup_action_download">下载</string>
|
||||
<string name="channel_notifications_min_name">最低优先级</string>
|
||||
<string name="channel_notifications_low_name">低优先级</string>
|
||||
<string name="channel_notifications_default_name">默认优先级</string>
|
||||
<string name="channel_notifications_high_name">高优先级</string>
|
||||
<string name="channel_notifications_max_name">最高优先级</string>
|
||||
<string name="channel_notifications_min_name">通知 (最低优先级)</string>
|
||||
<string name="channel_notifications_low_name">通知 (低优先级)</string>
|
||||
<string name="channel_notifications_default_name">通知 (默认优先级)</string>
|
||||
<string name="channel_notifications_high_name">通知 (高优先级)</string>
|
||||
<string name="channel_notifications_max_name">通知 (最高优先级)</string>
|
||||
<string name="channel_subscriber_service_name">订阅服务</string>
|
||||
<string name="channel_subscriber_notification_title">正在监听通知</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">已订阅主题</string>
|
||||
|
@ -219,7 +219,7 @@
|
|||
<string name="settings_general_users_prefs_user_add_title">添加新用户</string>
|
||||
<string name="settings_general_users_prefs_user_add_summary">为新服务器创建新用户</string>
|
||||
<string name="settings_general_dark_mode_title">暗色模式</string>
|
||||
<string name="settings_general_dark_mode_summary_system">使用系统默认</string>
|
||||
<string name="settings_general_dark_mode_summary_system">跟随系统默认</string>
|
||||
<string name="settings_general_dark_mode_entry_dark">暗色模式</string>
|
||||
<string name="settings_general_dark_mode_summary_light">亮色模式已启用</string>
|
||||
<string name="settings_backup_restore_backup_title">备份到文件</string>
|
||||
|
@ -258,7 +258,7 @@
|
|||
<string name="settings_general_dark_mode_entry_light">亮色模式</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_one">在主题 %1$s 使用</string>
|
||||
<string name="settings_general_dark_mode_summary_dark">暗色模式已启用。您是吸血鬼吗?</string>
|
||||
<string name="settings_general_dark_mode_entry_system">使用系统默认值</string>
|
||||
<string name="settings_general_dark_mode_entry_system">跟随系统默认</string>
|
||||
<string name="settings_advanced_clear_logs_summary">删除以前的日志并重新来过</string>
|
||||
<string name="user_dialog_title_add">添加用户</string>
|
||||
<string name="user_dialog_title_edit">编辑用户</string>
|
||||
|
@ -271,7 +271,7 @@
|
|||
<string name="settings_advanced_clear_logs_title">清除日志</string>
|
||||
<string name="settings_advanced_clear_logs_deleted_toast">日志已删除</string>
|
||||
<string name="settings_advanced_header">高级</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">记录日志以便稍后分享调试故障。</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">记录日志以便调试错误。</string>
|
||||
<string name="settings_advanced_export_logs_title">复制 / 上传日志</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_text">以下主题/域名已被替换为水果名称,您可以放心分享日志:
|
||||
\n
|
||||
|
@ -325,22 +325,6 @@
|
|||
<string name="add_dialog_base_urls_dropdown_clear">清除服务 URL</string>
|
||||
<string name="main_banner_websocket_button_enable_now">马上开启</string>
|
||||
<string name="detail_settings_about_header">关于</string>
|
||||
<string name="detail_settings_about_topic_url_title">主题 URL</string>
|
||||
<string name="detail_settings_about_topic_url_title">话题 URL</string>
|
||||
<string name="detail_settings_about_topic_url_copied_to_clipboard_message">已复制到剪贴板</string>
|
||||
<string name="main_menu_donate_title">捐赠 💸</string>
|
||||
<string name="detail_item_cannot_open_apk">无法再安装应用。 请通过浏览器下载。 有关详细信息,请参阅问题 #531。</string>
|
||||
<string name="channel_notifications_group_default_name">默认</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">持续以最高优先级通知进行提醒,直至取消</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">对这个订阅使用自定义通知</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">使用默认设置(声音、“勿扰模式”绕过等)</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">“勿扰模式”绕过、声音等.</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">持续提醒</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">只提醒一次</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">自定义通知设置</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">持续以最高优先级提醒</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">最高优先级通知,但只提醒一次</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">配置通知设置</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy 不再会作为 UnifiedPush 的一个分发器</string>
|
||||
<string name="settings_advanced_unifiedpush_title">启用 UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy 将作为 UnifiedPush 的一个分发器</string>
|
||||
</resources>
|
|
@ -1,23 +1,23 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="channel_subscriber_notification_noinstant_text_six">已訂閱 6 個主題</string>
|
||||
<string name="channel_notifications_default_name">預設優先</string>
|
||||
<string name="main_menu_report_bug_title">問題回報</string>
|
||||
<string name="channel_subscriber_notification_title">正在接收通知</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_six">已訂閱6個主題</string>
|
||||
<string name="channel_notifications_default_name">通知(預設優先)</string>
|
||||
<string name="main_menu_report_bug_title">回報bug</string>
|
||||
<string name="channel_subscriber_notification_title">監聽傳入通知</string>
|
||||
<string name="channel_subscriber_notification_instant_text">已訂閱即時推送主題</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">已訂閱 1 個即時推送主題</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">已訂閱 2 個即時推送主題</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">已訂閱 4 個即時推送主題</string>
|
||||
<string name="channel_subscriber_notification_instant_text_five">已訂閱 5 個即時推送主題</string>
|
||||
<string name="channel_subscriber_notification_instant_text_six">已訂閱 6 個即時推送主題</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">已訂閱 %1$d 個即時推送主題</string>
|
||||
<string name="channel_subscriber_notification_instant_text_one">已訂閱1個即時推送主題</string>
|
||||
<string name="channel_subscriber_notification_instant_text_two">已訂閱2個即時推送主題</string>
|
||||
<string name="channel_subscriber_notification_instant_text_four">已訂閱4個即時推送主題</string>
|
||||
<string name="channel_subscriber_notification_instant_text_five">已訂閱5個即時推送主題</string>
|
||||
<string name="channel_subscriber_notification_instant_text_six">已訂閱6個即時推送主題</string>
|
||||
<string name="channel_subscriber_notification_instant_text_more">已訂閱%1$d個即時推送主題</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text">已訂閱主題</string>
|
||||
<string name="refresh_message_result">收到 %1$d 個通知</string>
|
||||
<string name="refresh_message_result">收到%1$d個通知</string>
|
||||
<string name="refresh_message_no_results">已同步到最新</string>
|
||||
<string name="refresh_message_error">有 %1$d 個訂閱無法更新
|
||||
<string name="refresh_message_error">有%1$d個訂閱無法更新
|
||||
\n
|
||||
\n%2$s</string>
|
||||
<string name="refresh_message_error_one">訂閱無法更新: %1$s</string>
|
||||
<string name="refresh_message_error_one">訂閱無法更新:%1$s</string>
|
||||
<string name="main_action_bar_title">已訂閱主題</string>
|
||||
<string name="main_menu_notifications_enabled">通知已開啟</string>
|
||||
<string name="main_menu_notifications_disabled_forever">通知已靜音</string>
|
||||
|
@ -27,16 +27,16 @@
|
|||
<string name="main_action_mode_delete_dialog_message">取消訂閱已選取的主題且永久刪除所有通知?</string>
|
||||
<string name="main_action_mode_delete_dialog_permanently_delete">永久刪除</string>
|
||||
<string name="main_action_mode_delete_dialog_cancel">取消</string>
|
||||
<string name="main_item_status_text_one">%1$d 個通知</string>
|
||||
<string name="main_item_status_text_not_one">%1$d 個通知</string>
|
||||
<string name="main_item_status_text_one">%1$d個通知</string>
|
||||
<string name="main_item_status_text_not_one">%1$d個通知</string>
|
||||
<string name="main_item_date_yesterday">昨天</string>
|
||||
<string name="main_add_button_description">新增訂閱</string>
|
||||
<string name="main_no_subscriptions_text">看來你還沒有訂閱任何主題。</string>
|
||||
<string name="main_how_to_intro">點擊 + 來新增或訂閱一個主題。當透過 PUT 或 POST 來發送訊息你將會接收到通知。</string>
|
||||
<string name="main_how_to_link">更多資訊請上 ntfy.sh,docs會有更多說明。</string>
|
||||
<string name="main_unified_push_toast">此訂閱已由 %1$s 透過 UnifiedPush 管理</string>
|
||||
<string name="main_item_status_unified_push">%1$s(統一推送)</string>
|
||||
<string name="main_banner_battery_text">為了避免通知傳送問題,請務必關閉電池最佳化功能。</string>
|
||||
<string name="main_item_status_unified_push">%1$s (UnifiedPush)</string>
|
||||
<string name="main_banner_battery_text">為了避免通知傳送問題,電池最佳化必須關閉。</string>
|
||||
<string name="main_banner_battery_button_remind_later">稍後詢問我</string>
|
||||
<string name="main_banner_battery_button_dismiss">略過</string>
|
||||
<string name="main_banner_battery_button_fix_now">立即修正</string>
|
||||
|
@ -47,300 +47,35 @@
|
|||
<string name="add_dialog_description_below">因為主題不能受密碼保護,請盡量取一個難以猜測的主題名稱。在訂閱之後你就可以使用 PUT/POST 來發送通知。</string>
|
||||
<string name="add_dialog_use_another_server">使用其他伺服器</string>
|
||||
<string name="add_dialog_use_another_server_description">在下方輸入自訂的網址來訂閱主題。</string>
|
||||
<string name="channel_notifications_min_name">最低優先</string>
|
||||
<string name="channel_notifications_low_name">較低優先</string>
|
||||
<string name="channel_notifications_high_name">較高優先</string>
|
||||
<string name="channel_notifications_max_name">最高優先</string>
|
||||
<string name="channel_notifications_min_name">通知(最低優先)</string>
|
||||
<string name="channel_notifications_low_name">通知(低優先)</string>
|
||||
<string name="channel_notifications_high_name">通知(高優先)</string>
|
||||
<string name="channel_notifications_max_name">通知(最高優先)</string>
|
||||
<string name="channel_subscriber_service_name">訂閱服務</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">已訂閱 3 個即時推送主題</string>
|
||||
<string name="main_menu_docs_title">閱讀技術文件</string>
|
||||
<string name="main_banner_websocket_text">建議使用 WebSocket 來接收通知。這個連接方式能有效改善電池續航,但可能需要<a href="https://ntfy.sh/docs/config/#nginxapache2caddy">在伺服器端進行額外設定</a>。你可以在設定頁面更改不同的連接方式。</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_three">已訂閱 3 個主題</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">已訂閱 %1$d 個主題</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_one">已訂閱 1 個主題</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">已訂閱 2 個主題</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_four">已訂閱 4 個主題</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_five">已訂閱 5 個主題</string>
|
||||
<string name="main_item_status_reconnecting">重新連線中…</string>
|
||||
<string name="main_menu_notifications_disabled_until">通知靜音到 %1$s</string>
|
||||
<string name="add_dialog_topic_name_hint">主題名稱 (例如:phils_alerts)</string>
|
||||
<string name="channel_subscriber_notification_instant_text_three">已訂閱3個即時推送主題</string>
|
||||
<string name="main_menu_docs_title">閱讀文件</string>
|
||||
<string name="main_banner_websocket_text">建議使用 WebSockets 來連線你的伺服器,此動作可以有效增加電池續航,但需要<a href="https://ntfy.sh/docs/config/#nginxapache2caddy">對proxy進行更多設定</a>。這個動作可以在設定中進行。</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_three">已訂閱3個主題</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_more">已訂閱%1$d個主題</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_one">已訂閱1個主題</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_two">已訂閱2個主題</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_four">已訂閱4個主題</string>
|
||||
<string name="channel_subscriber_notification_noinstant_text_five">已訂閱5個主題</string>
|
||||
<string name="main_item_status_reconnecting">重新連線中 …</string>
|
||||
<string name="main_menu_notifications_disabled_until">通知靜音到%1$s</string>
|
||||
<string name="add_dialog_topic_name_hint">主題名稱(例如:phils_alerts)</string>
|
||||
<string name="add_dialog_button_cancel">取消</string>
|
||||
<string name="add_dialog_button_subscribe">訂閱</string>
|
||||
<string name="add_dialog_button_back">返回</string>
|
||||
<string name="add_dialog_error_connection_failed">連接失敗: %1$s</string>
|
||||
<string name="add_dialog_button_back">退回</string>
|
||||
<string name="add_dialog_error_connection_failed">連接失敗: %1$s</string>
|
||||
<string name="add_dialog_login_title">需要登入</string>
|
||||
<string name="add_dialog_login_username_hint">使用者名稱</string>
|
||||
<string name="add_dialog_login_username_hint">使用者名字</string>
|
||||
<string name="add_dialog_login_password_hint">密碼</string>
|
||||
<string name="add_dialog_login_error_not_authorized">登入失敗,使用者 %1$s 並未授權訂閱這個主題。</string>
|
||||
<string name="add_dialog_login_new_user">建立新使用者</string>
|
||||
<string name="add_dialog_base_urls_dropdown_choose">選擇 ntfy 服務 URL</string>
|
||||
<string name="add_dialog_base_urls_dropdown_clear">清除 URL</string>
|
||||
<string name="detail_copied_to_clipboard_message">已複製到剪貼簿</string>
|
||||
<string name="add_dialog_login_error_not_authorized">登入失敗. 使用者%1$s 未獲得授權.</string>
|
||||
<string name="add_dialog_login_new_user">新使用者</string>
|
||||
<string name="add_dialog_base_urls_dropdown_choose">選擇服務網址</string>
|
||||
<string name="add_dialog_base_urls_dropdown_clear">清除服務網址</string>
|
||||
<string name="detail_copied_to_clipboard_message">複製到剪貼簿</string>
|
||||
<string name="add_dialog_button_login">登入</string>
|
||||
<string name="add_dialog_login_description">這個主題需要登入,請先輸入帳號密碼。</string>
|
||||
<string name="add_dialog_instant_delivery">在省電模式下依然接收即時通知</string>
|
||||
<string name="add_dialog_instant_delivery_description">確保通知能在未使用裝置時都能接收。</string>
|
||||
<string name="detail_clear_dialog_cancel">取消</string>
|
||||
<string name="detail_delete_dialog_cancel">取消</string>
|
||||
<string name="detail_action_mode_delete_dialog_cancel">取消</string>
|
||||
<string name="share_title">分享</string>
|
||||
<string name="share_topic_title">分享到</string>
|
||||
<string name="settings_notifications_priority_low">低</string>
|
||||
<string name="settings_notifications_priority_default">預設</string>
|
||||
<string name="settings_notifications_priority_high">高</string>
|
||||
<string name="settings_notifications_priority_max">最高</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_month">自動刪除 1 個月前的通知</string>
|
||||
<string name="settings_notifications_auto_delete_one_day">1 天後</string>
|
||||
<string name="settings_notifications_auto_delete_three_days">3 天後</string>
|
||||
<string name="settings_notifications_auto_delete_one_week">1 週後</string>
|
||||
<string name="settings_notifications_auto_delete_one_month">1 個月後</string>
|
||||
<string name="settings_notifications_auto_delete_three_months">3 個月後</string>
|
||||
<string name="settings_general_header">一般</string>
|
||||
<string name="settings_general_default_base_url_title">預設伺服器</string>
|
||||
<string name="settings_general_default_base_url_default_summary">%1$s (預設)</string>
|
||||
<string name="settings_general_users_title">管理使用者</string>
|
||||
<string name="settings_backup_restore_header">備份與還原</string>
|
||||
<string name="settings_about_version_copied_to_clipboard_message">已複製到剪貼簿</string>
|
||||
<string name="settings_about_header">關於</string>
|
||||
<string name="settings_about_version_title">版本號</string>
|
||||
<string name="settings_about_version_format">ntfy %1$s (%2$s)</string>
|
||||
<string name="detail_settings_appearance_header">主題</string>
|
||||
<string name="detail_settings_notifications_instant_title">即時通知</string>
|
||||
<string name="detail_settings_global_setting_suffix">使用全域設定</string>
|
||||
<string name="user_dialog_title_add">新增使用者</string>
|
||||
<string name="main_menu_donate_title">捐獻 💸</string>
|
||||
<string name="detail_item_snack_undo">復原</string>
|
||||
<string name="detail_item_download_info_downloading_x_percent">已下載 %1$d%%</string>
|
||||
<string name="detail_menu_enable_instant">啓用即時通知</string>
|
||||
<string name="detail_menu_disable_instant">關閉即時通知</string>
|
||||
<string name="detail_menu_clear">清除所有通知</string>
|
||||
<string name="detail_action_mode_menu_copy">複製</string>
|
||||
<string name="detail_action_mode_menu_delete">刪除</string>
|
||||
<string name="share_menu_send">傳送</string>
|
||||
<string name="share_content_title">預覽</string>
|
||||
<string name="notification_dialog_cancel">取消</string>
|
||||
<string name="notification_dialog_save">儲存</string>
|
||||
<string name="notification_dialog_30min">30 分鐘</string>
|
||||
<string name="notification_dialog_1h">1 小時</string>
|
||||
<string name="notification_dialog_2h">2 小時</string>
|
||||
<string name="notification_dialog_8h">8 小時</string>
|
||||
<string name="notification_dialog_tomorrow">直到明天</string>
|
||||
<string name="notification_dialog_forever">直到我解除為止</string>
|
||||
<string name="notification_popup_action_open">開啓</string>
|
||||
<string name="notification_popup_action_browse">瀏覽</string>
|
||||
<string name="notification_popup_action_download">下載</string>
|
||||
<string name="notification_popup_action_cancel">取消</string>
|
||||
<string name="notification_popup_file">%1$s
|
||||
\n檔案: %2$s</string>
|
||||
<string name="notification_popup_file_downloading">下載中 %1$s, %2$d%%
|
||||
\n%3$s</string>
|
||||
<string name="notification_popup_file_download_successful">%1$s
|
||||
\n檔案下載已完成: %2$s</string>
|
||||
<string name="notification_popup_file_download_failed">%1$s
|
||||
\n檔案下載失敗: %2$s</string>
|
||||
<string name="notification_popup_user_action_failed">%1$s 失敗: %2$s</string>
|
||||
<string name="settings_title">設定</string>
|
||||
<string name="settings_notifications_muted_until_show_all">顯示所有通知</string>
|
||||
<string name="settings_notifications_priority_min">最小</string>
|
||||
<string name="settings_notifications_auto_download_title">下載附件</string>
|
||||
<string name="settings_notifications_auto_download_summary_always">自動下載所有附件</string>
|
||||
<string name="settings_notifications_auto_download_summary_never">從不自動下載附件</string>
|
||||
<string name="settings_notifications_auto_download_summary_smaller_than_x">自動下載小於 %1$s 的附件</string>
|
||||
<string name="settings_notifications_auto_download_never">從不自動下載</string>
|
||||
<string name="settings_notifications_auto_download_always">自動下載所有東西</string>
|
||||
<string name="settings_notifications_auto_download_500k">小於 500 kB</string>
|
||||
<string name="settings_notifications_auto_download_100k">小於 100 kB</string>
|
||||
<string name="settings_notifications_auto_download_1m">小於 1 MB</string>
|
||||
<string name="settings_notifications_auto_download_5m">小於 5 MB</string>
|
||||
<string name="settings_notifications_auto_download_50m">小於 50 MB</string>
|
||||
<string name="settings_notifications_auto_delete_title">自動刪除通知</string>
|
||||
<string name="settings_notifications_auto_delete_summary_never">永不自動刪除通知</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_day">自動刪除 1 天前的通知</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_days">自動刪除 3 天前的通知</string>
|
||||
<string name="settings_notifications_auto_delete_summary_one_week">自動刪除 1 週前的通知</string>
|
||||
<string name="settings_notifications_auto_delete_summary_three_months">自動刪除 3 個月前的通知</string>
|
||||
<string name="settings_notifications_auto_delete_never">從不</string>
|
||||
<string name="settings_general_users_prefs_title">使用者</string>
|
||||
<string name="settings_general_users_prefs_user_add">新增使用者</string>
|
||||
<string name="settings_general_users_prefs_user_add_title">建立新使用者</string>
|
||||
<string name="settings_general_dark_mode_title">黑暗模式</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything">全部</string>
|
||||
<string name="settings_backup_restore_backup_entry_settings_only">僅備份設定</string>
|
||||
<string name="settings_backup_restore_backup_entry_everything_no_users">全部備份 (使用者檔案除外)</string>
|
||||
<string name="settings_backup_restore_backup_successful">已成功備份</string>
|
||||
<string name="settings_backup_restore_restore_successful">還原成功</string>
|
||||
<string name="settings_backup_restore_restore_failed">還原失敗: %1$s</string>
|
||||
<string name="settings_advanced_header">進階</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_button_ok">確定</string>
|
||||
<string name="settings_advanced_connection_protocol_title">連接方式</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_jsonhttp">透過 HTTP 連接伺服器來接收 JSON 串流,但可能會持續消耗較大電量。</string>
|
||||
<string name="settings_advanced_connection_protocol_summary_ws">(建議) 透過 WebSocket 連接伺服器,但伺服器可能需要額外設定來啓用這種連接方式。</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_jsonhttp">JSON 串流 (透過 HTTP 連接)</string>
|
||||
<string name="settings_advanced_connection_protocol_entry_ws">WebSocket</string>
|
||||
<string name="detail_settings_about_topic_url_title">主題 URL</string>
|
||||
<string name="detail_settings_about_topic_url_copied_to_clipboard_message">已複製到剪貼簿</string>
|
||||
<string name="user_dialog_password_hint_add">密碼</string>
|
||||
<string name="user_dialog_button_save">儲存</string>
|
||||
<string name="user_dialog_button_add">新增使用者</string>
|
||||
<string name="user_dialog_button_cancel">取消</string>
|
||||
<string name="user_dialog_username_hint">使用者名稱</string>
|
||||
<string name="settings_notifications_header">通知</string>
|
||||
<string name="detail_menu_test">發送測試訊息</string>
|
||||
<string name="settings_notifications_muted_until_title">暫停通知</string>
|
||||
<string name="settings_notifications_auto_download_10m">小於 10 MB</string>
|
||||
<string name="detail_settings_about_header">關於</string>
|
||||
<string name="settings_backup_restore_backup_failed">備份失敗: %1$s</string>
|
||||
<string name="add_dialog_foreground_description">除了 %1$s 以外伺服器有即時傳送。</string>
|
||||
<string name="detail_item_menu_copy_contents_copied">通知已複製至剪貼簿</string>
|
||||
<string name="channel_notifications_group_default_name">預設</string>
|
||||
<string name="detail_how_to_link">可以再說明書 (ntfy.sh) 找到詳細指示。</string>
|
||||
<string name="detail_clear_dialog_message">確定清除主題內的全部通訊?</string>
|
||||
<string name="detail_clear_dialog_permanently_delete">永久刪除</string>
|
||||
<string name="detail_delete_dialog_message">確定取消訂閱這個主題,並刪除所有通訊?</string>
|
||||
<string name="detail_delete_dialog_permanently_delete">確定永久刪除</string>
|
||||
<string name="detail_test_title">測試:你可以選一個你喜歡的標題。</string>
|
||||
<string name="detail_test_message">這是從 ntfy Android 應用程式發送的測試信息,優先是 %1$d。如果你傳送另一個訊息,它看起來可能會不一樣。</string>
|
||||
<string name="detail_test_message_error_unauthorized_anon">不能夠傳送訊息:匿名發布不受批准。</string>
|
||||
<string name="detail_test_message_error_too_large">不能夠傳送訊息:附件大小超出限制。</string>
|
||||
<string name="detail_instant_delivery_disabled">關閉即時傳送</string>
|
||||
<string name="detail_item_snack_deleted">已刪除通知</string>
|
||||
<string name="detail_item_menu_open">開啟檔案</string>
|
||||
<string name="detail_item_menu_delete">刪除檔案</string>
|
||||
<string name="detail_item_menu_cancel">取消下載</string>
|
||||
<string name="detail_item_menu_save_file">儲存檔案</string>
|
||||
<string name="detail_item_menu_copy_contents">複製通知</string>
|
||||
<string name="detail_item_cannot_open_url">無法開啟網址:%1$s</string>
|
||||
<string name="detail_item_saved_successfully">儲存為 \"Downloads\" 資料中的 \"%1$s\"</string>
|
||||
<string name="detail_test_message_error_unauthorized_user">不能夠發布信息:用戶 %1$s 不被授權。</string>
|
||||
<string name="detail_how_to_intro">PUT 或 POST 主題網址以傳送通訊。</string>
|
||||
<string name="detail_how_to_example">例如(使用 curl): <br/><tt>$ curl -d \"Hi\" %1$s</tt></string>
|
||||
<string name="detail_test_message_error">不能夠傳送訊息:%1$s</string>
|
||||
<string name="detail_item_tags">標籤:%1$s</string>
|
||||
<string name="detail_instant_delivery_enabled">啟動即時傳送</string>
|
||||
<string name="detail_item_menu_copy_url">複製網址</string>
|
||||
<string name="detail_item_menu_copy_url_copied">網址已複製至剪貼簿</string>
|
||||
<string name="detail_item_cannot_open">無法開啟附件:%1$s</string>
|
||||
<string name="detail_item_cannot_open_not_found">無法開啟附件:檔案可能已被刪除或檔案無法被任何軟件開啟。</string>
|
||||
<string name="detail_item_cannot_download">無法開啟或下載附件,網址無效而且找不到本地檔案。</string>
|
||||
<string name="detail_deep_link_subscribed_toast_message">訂閱主題 %1$s</string>
|
||||
<string name="detail_no_notifications_text">你未有在這個主題收到任何通訊。</string>
|
||||
<string name="detail_item_menu_download">下載檔案</string>
|
||||
<string name="detail_settings_title">訂閱設定</string>
|
||||
<string name="share_content_image_text">一張圖片已與您分享</string>
|
||||
<string name="share_content_text_hint">在此添加內容以進行分享</string>
|
||||
<string name="share_suggested_topics">建議的主題</string>
|
||||
<string name="share_content_file_error">無法圖取檔案資訊:%1$s</string>
|
||||
<string name="settings_general_default_base_url_message">輸入你的伺服器的 root URL,以便在訂閱新主題和/或分享到主題時,默認使用你自己的伺服器。</string>
|
||||
<string name="detail_item_cannot_save">無法儲存附件:%1$s</string>
|
||||
<string name="detail_item_download_failed">無法下載附件:%1$s</string>
|
||||
<string name="detail_item_cannot_open_apk">無法再安裝應用程式。請改為使用瀏覽器下載。詳見問題#531。</string>
|
||||
<string name="detail_item_download_info_not_downloaded">未下載</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expired">未下載,連結已過期</string>
|
||||
<string name="detail_item_download_info_deleted_expired">已刪除,連結已過期</string>
|
||||
<string name="detail_menu_notifications_disabled_forever">關閉通知</string>
|
||||
<string name="detail_action_mode_delete_dialog_message">是否永久刪除所選的通知?</string>
|
||||
<string name="detail_action_mode_delete_dialog_permanently_delete">永久刪除</string>
|
||||
<string name="share_content_image_error">無法讀取圖片:%1$s</string>
|
||||
<string name="share_content_file_text">一個檔案已與您分享</string>
|
||||
<string name="share_successful">推送訊息</string>
|
||||
<string name="notification_dialog_title">關閉通知</string>
|
||||
<string name="notification_dialog_enabled_toast_message">恢復通知</string>
|
||||
<string name="settings_notifications_min_priority_summary_max">如果優先級為 5 (最大值),顯示通知</string>
|
||||
<string name="settings_notifications_min_priority_min">任意優先級</string>
|
||||
<string name="settings_notifications_min_priority_max">僅最大優先級</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">保持高優先級的警報</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">最高優先級的通知持續警報,直到被關閉</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">最高優先級的通知僅警報一次</string>
|
||||
<string name="detail_item_cannot_delete">無法刪除附件:%1$s</string>
|
||||
<string name="detail_item_download_info_deleted">已刪除</string>
|
||||
<string name="detail_menu_notifications_enabled">開啟通知</string>
|
||||
<string name="detail_item_download_info_download_failed">下載失敗</string>
|
||||
<string name="detail_menu_notifications_disabled_until">關閉通知直到 %1$s</string>
|
||||
<string name="detail_menu_copy_url">複製主題網址</string>
|
||||
<string name="detail_menu_settings">訂閱設定</string>
|
||||
<string name="detail_menu_unsubscribe">取消訂閱</string>
|
||||
<string name="notification_dialog_muted_until_toast_message">關閉通知直到 %1$s</string>
|
||||
<string name="notification_dialog_show_all">顯示所有通知</string>
|
||||
<string name="notification_dialog_muted_forever_toast_message">關閉通知</string>
|
||||
<string name="settings_notifications_muted_until_forever">關閉通知直到恢復</string>
|
||||
<string name="settings_notifications_min_priority_title">最低優先級</string>
|
||||
<string name="settings_notifications_min_priority_summary_any">顯示所有通知</string>
|
||||
<string name="settings_notifications_muted_until_x">關閉通知直到 %1$s</string>
|
||||
<string name="settings_notifications_min_priority_default">預設優先級和以上</string>
|
||||
<string name="settings_notifications_min_priority_high">高優先級和以上</string>
|
||||
<string name="settings_notifications_min_priority_low">低優先級和以上</string>
|
||||
<string name="settings_notifications_channel_prefs_title">頻道設定</string>
|
||||
<string name="settings_notifications_channel_prefs_summary">請勿打擾(DND)覆寫、聲音等。</string>
|
||||
<string name="settings_notifications_min_priority_summary_x_or_higher">如果優先級為%1$d (%2$s) 或以上,顯示通知</string>
|
||||
<string name="detail_item_download_info_not_downloaded_expires_x">已刪除,連結將於 %1$s 失效</string>
|
||||
<string name="settings_general_dark_mode_summary_dark">暗色模式已啓用。您是吸血鬼嗎?</string>
|
||||
<string name="settings_general_dark_mode_entry_system">跟隨系統默認</string>
|
||||
<string name="settings_general_dark_mode_entry_light">亮色模式</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_original">複製到剪貼板</string>
|
||||
<string name="settings_advanced_export_logs_copied_logs">日誌已複製到剪貼板</string>
|
||||
<string name="detail_settings_appearance_icon_set_summary">設置要在通知中顯示的圖標</string>
|
||||
<string name="detail_item_download_info_deleted_expires_x">已刪除,鏈接將於 %1$s 失效</string>
|
||||
<string name="settings_advanced_broadcast_title">廣播消息</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">只提醒一次</string>
|
||||
<string name="user_dialog_description_add">您可以在此添加用戶。所有該服務器上的主題訂閱都將使用該用戶。</string>
|
||||
<string name="detail_settings_appearance_display_name_title">顯示名</string>
|
||||
<string name="detail_item_download_info_download_failed_expired">下載失敗,鏈接已失效</string>
|
||||
<string name="detail_item_download_info_download_failed_expires_x">下載失敗,鏈接將於 %1$s 失效</string>
|
||||
<string name="settings_general_users_summary">爲訪問受保護的主題添加或刪除用戶</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_one">在主題 %1$s 使用</string>
|
||||
<string name="settings_general_users_prefs_user_used_by_many">在主題 %1$s 使用</string>
|
||||
<string name="settings_general_users_prefs_user_not_used">未在任何主題使用</string>
|
||||
<string name="settings_general_dark_mode_summary_system">跟隨系統默認</string>
|
||||
<string name="settings_general_users_prefs_user_add_summary">爲新服務器創建新用戶</string>
|
||||
<string name="settings_general_dark_mode_summary_light">亮色模式已啓用</string>
|
||||
<string name="settings_backup_restore_restore_title">從文件恢復</string>
|
||||
<string name="settings_backup_restore_restore_summary">導入配置、通知和用戶</string>
|
||||
<string name="settings_advanced_broadcast_summary_enabled">允許應用以廣播的形式收到通知</string>
|
||||
<string name="settings_advanced_broadcast_summary_disabled">禁止應用以廣播的形式收到通知</string>
|
||||
<string name="settings_advanced_record_logs_title">記錄日誌</string>
|
||||
<string name="settings_advanced_record_logs_summary_enabled">正在記錄日誌 (最多 1000 個條目) 到設備 …</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">記錄日誌以便稍後分享調試故障。</string>
|
||||
<string name="settings_advanced_export_logs_title">複製 / 上傳日誌</string>
|
||||
<string name="settings_advanced_export_logs_error_uploading">無法上傳日誌:%1$s</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_text">以下主題/域名已被替換爲水果名稱,您可以放心分享日誌:
|
||||
\n
|
||||
\n%1$s
|
||||
\n
|
||||
\n密碼也已屏蔽,但不在此列出。</string>
|
||||
<string name="settings_advanced_clear_logs_summary">刪除以前的日誌並重新來過</string>
|
||||
<string name="settings_advanced_clear_logs_deleted_toast">日誌已刪除</string>
|
||||
<string name="detail_settings_appearance_display_name_default_summary">%1$s (默認)</string>
|
||||
<string name="user_dialog_title_edit">編輯用戶</string>
|
||||
<string name="user_dialog_base_url_hint">服務 URL</string>
|
||||
<string name="user_dialog_password_hint_edit">密碼 (留空不變)</string>
|
||||
<string name="settings_general_dark_mode_entry_dark">暗色模式</string>
|
||||
<string name="settings_backup_restore_backup_title">備份到文件</string>
|
||||
<string name="settings_backup_restore_backup_summary">導出配置、通知和用戶</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_scrubbed">上傳並複製鏈接 (屏蔽敏感信息)</string>
|
||||
<string name="settings_advanced_export_logs_uploading">正在上傳日誌…</string>
|
||||
<string name="settings_advanced_export_logs_copied_url">日誌已上傳,URL 已複製到剪貼板</string>
|
||||
<string name="settings_advanced_export_logs_scrub_dialog_empty">未找到任何主題/域名。您似乎沒有任何訂閱?</string>
|
||||
<string name="detail_settings_notifications_instant_summary_on">通知會立即發送。需要前臺服務,並消耗更多電池。</string>
|
||||
<string name="detail_settings_notifications_instant_summary_off">通知使用 Firebase 發送。投遞可能會延遲,但消耗的電池更少。</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">自定義通知設置</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">對這個訂閱使用自定義通知</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy 將作爲 UnifiedPush 的一個分發器</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy 不再會作爲 UnifiedPush 的一個分發器</string>
|
||||
<string name="settings_advanced_export_logs_summary">複製日誌到剪貼板,或上傳到 nopaste.net (由 ntfy 作者所有)。域名和主題可以被屏蔽,但通知本身不會。</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_scrubbed">複製到剪貼板 (屏蔽敏感信息)</string>
|
||||
<string name="settings_advanced_export_logs_entry_upload_original">上傳並複製鏈接</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">使用默認設置(聲音、“勿擾模式”繞過等)</string>
|
||||
<string name="detail_settings_appearance_display_name_message">爲這個訂閱設置一個自定義的顯示名。若留空將使用默認值(%1$s)。</string>
|
||||
<string name="user_dialog_button_delete">刪除用戶</string>
|
||||
<string name="settings_advanced_unifiedpush_title">啓用 UnifiedPush</string>
|
||||
<string name="settings_advanced_clear_logs_title">清除日誌</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">配置通知設置</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">“勿擾模式”繞過、聲音等.</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">持續提醒</string>
|
||||
<string name="detail_settings_appearance_icon_set_title">訂閱圖標</string>
|
||||
<string name="detail_settings_appearance_icon_remove_title">訂閱圖標(點擊可刪除)</string>
|
||||
<string name="detail_settings_appearance_icon_remove_summary">此主題的通知中顯示的圖標</string>
|
||||
<string name="detail_settings_appearance_icon_error_saving">無法保存圖標:%1$s</string>
|
||||
<string name="detail_settings_global_setting_title">使用全局設置</string>
|
||||
<string name="user_dialog_description_edit">您可以編輯該用戶的用戶名和密碼,或刪除該用戶。</string>
|
||||
<string name="add_dialog_login_description">這篇主題要求登入. 請輸入帳號密碼.</string>
|
||||
</resources>
|
|
@ -4,6 +4,7 @@
|
|||
<color name="black_900">#121212</color> <!-- Main dark mode surface color, as per style guide -->
|
||||
<color name="black_800b">#1b2023</color> <!-- Action bar & item selection (dark mode); this has a touch of blue! -->
|
||||
<color name="black_700b">#282F33</color> <!-- Card selection (dark mode); this has a touch of blue! -->
|
||||
<color name="gray_600">#aaaaaa</color> <!-- Message box drop shadow (light mode) -->
|
||||
<color name="gray_500">#dddddd</color> <!-- Card selection (light mode) -->
|
||||
<color name="gray_400">#eeeeee</color> <!-- Item selection (light mode) -->
|
||||
<color name="white">#ffffffff</color>
|
||||
|
|
|
@ -2,12 +2,11 @@
|
|||
tools:ignore="MissingTranslation">
|
||||
|
||||
<!-- Notification channels -->
|
||||
<string name="channel_notifications_min_name">Min priority</string>
|
||||
<string name="channel_notifications_low_name">Low priority</string>
|
||||
<string name="channel_notifications_default_name">Default priority</string>
|
||||
<string name="channel_notifications_high_name">High priority</string>
|
||||
<string name="channel_notifications_max_name">Max priority</string>
|
||||
<string name="channel_notifications_group_default_name">Default</string>
|
||||
<string name="channel_notifications_min_name">Notifications (min priority)</string>
|
||||
<string name="channel_notifications_low_name">Notifications (low priority)</string>
|
||||
<string name="channel_notifications_default_name">Notifications (default priority)</string>
|
||||
<string name="channel_notifications_high_name">Notifications (high priority)</string>
|
||||
<string name="channel_notifications_max_name">Notifications (max priority)</string>
|
||||
<string name="channel_subscriber_service_name">Subscription Service</string>
|
||||
<string name="channel_subscriber_notification_title">Listening for incoming notifications</string>
|
||||
<string name="channel_subscriber_notification_instant_text">Subscribed to instant delivery topics</string>
|
||||
|
@ -42,7 +41,6 @@
|
|||
<string name="main_menu_report_bug_title">Report a bug</string>
|
||||
<string name="main_menu_docs_title">Read the docs</string>
|
||||
<string name="main_menu_rate_title">Rate the app ⭐</string>
|
||||
<string name="main_menu_donate_title">Donate 💸</string>
|
||||
|
||||
<!-- Main activity: Action mode -->
|
||||
<string name="main_action_mode_menu_unsubscribe">Unsubscribe</string>
|
||||
|
@ -154,7 +152,6 @@
|
|||
<string name="detail_item_cannot_open">Cannot open attachment: %1$s</string>
|
||||
<string name="detail_item_cannot_open_not_found">Cannot open attachment: The file may have been deleted, or no installed app can open the file.</string>
|
||||
<string name="detail_item_cannot_open_url">Cannot open URL: %1$s</string>
|
||||
<string name="detail_item_cannot_open_apk">Apps cannot be installed anymore. Download via browser instead. See issue #531 for details.</string>
|
||||
<string name="detail_item_cannot_save">Cannot save attachment: %1$s</string>
|
||||
<string name="detail_item_cannot_delete">Cannot delete attachment: %1$s</string>
|
||||
<string name="detail_item_download_failed">Could not download attachment: %1$s</string>
|
||||
|
@ -169,6 +166,10 @@
|
|||
<string name="detail_item_download_info_download_failed_expired">download failed, link expired</string>
|
||||
<string name="detail_item_download_info_download_failed_expires_x">download failed, link expires %1$s</string>
|
||||
|
||||
<!-- Detail activity: Message bar -->
|
||||
<string name="detail_message_bar_hint">Type a message here</string>
|
||||
<string name="detail_message_bar_empty_message">Type a message first</string>
|
||||
|
||||
<!-- Detail activity: Action bar -->
|
||||
<string name="detail_menu_notifications_enabled">Notifications on</string>
|
||||
<string name="detail_menu_notifications_disabled_forever">Notifications muted</string>
|
||||
|
@ -281,9 +282,6 @@
|
|||
<string name="settings_notifications_auto_delete_one_week">After one week</string>
|
||||
<string name="settings_notifications_auto_delete_one_month">After one month</string>
|
||||
<string name="settings_notifications_auto_delete_three_months">After 3 months</string>
|
||||
<string name="settings_notifications_insistent_max_priority_title">Keep alerting for highest priority</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_enabled">Max priority notifications continuously alert until dismissed</string>
|
||||
<string name="settings_notifications_insistent_max_priority_summary_disabled">Max priority notifications only alert once</string>
|
||||
<string name="settings_general_header">General</string>
|
||||
<string name="settings_general_default_base_url_title">Default server</string>
|
||||
<string name="settings_general_default_base_url_message">Enter your server\'s root URL to use your own server as a default when subscribing to new topics and/or sharing to topics.</string>
|
||||
|
@ -320,12 +318,9 @@
|
|||
<string name="settings_advanced_broadcast_title">Broadcast messages</string>
|
||||
<string name="settings_advanced_broadcast_summary_enabled">Apps can receive incoming notifications as broadcasts</string>
|
||||
<string name="settings_advanced_broadcast_summary_disabled">Apps cannot receive notifications as broadcasts</string>
|
||||
<string name="settings_advanced_unifiedpush_title">Enable UnifiedPush</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_enabled">ntfy will act as a UnifiedPush distributor</string>
|
||||
<string name="settings_advanced_unifiedpush_summary_disabled">ntfy will not act as a UnifiedPush distributor</string>
|
||||
<string name="settings_advanced_record_logs_title">Record logs</string>
|
||||
<string name="settings_advanced_record_logs_summary_enabled">Logging (up to 1,000 entries) to device …</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">Turn on logging, so you can share logs later to diagnose issues.</string>
|
||||
<string name="settings_advanced_record_logs_summary_disabled">Turn on logging so you can share logs later to diagnose issues.</string>
|
||||
<string name="settings_advanced_export_logs_title">Copy/upload logs</string>
|
||||
<string name="settings_advanced_export_logs_summary">Copy logs to the clipboard, or upload to nopaste.net (owned by the ntfy author). Hostnames and topics can be censored, notifications will never be.</string>
|
||||
<string name="settings_advanced_export_logs_entry_copy_original">Copy to clipboard</string>
|
||||
|
@ -356,13 +351,6 @@
|
|||
<string name="detail_settings_notifications_instant_title">Instant delivery</string>
|
||||
<string name="detail_settings_notifications_instant_summary_on">Notifications are delivered instantly. Requires a foreground service and consumes more battery.</string>
|
||||
<string name="detail_settings_notifications_instant_summary_off">Notifications are delivered using Firebase. Delivery may be delayed, but consumes less battery.</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_title">Custom notification settings</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_on">Using custom settings for this subscription</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_summary_off">Using default settings (sounds, Do Not Disturb override, etc.)</string>
|
||||
<string name="detail_settings_notifications_open_channels_title">Configure notification settings</string>
|
||||
<string name="detail_settings_notifications_open_channels_summary">Do Not Disturb (DND) override, sounds, etc.</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_enabled">Keep alerting</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_list_item_disabled">Alert only once</string>
|
||||
<string name="detail_settings_appearance_header">Appearance</string>
|
||||
<string name="detail_settings_appearance_icon_set_title">Subscription icon</string>
|
||||
<string name="detail_settings_appearance_icon_set_summary">Set an icon to be displayed in notifications</string>
|
||||
|
@ -391,10 +379,4 @@
|
|||
<string name="user_dialog_button_cancel">Cancel</string>
|
||||
<string name="user_dialog_button_delete">Delete user</string>
|
||||
<string name="user_dialog_button_save">Save</string>
|
||||
|
||||
<!-- /e/OS integration preferences -->
|
||||
<string name="eos_preference_key_is_enabled" translatable="false">isEnabled</string>
|
||||
<string name="eos_settings_title" translatable="false">UnifiedPush</string>
|
||||
<string name="eos_settings_enable_title" translatable="true">Enable the distributor</string>
|
||||
<string name="eos_settings_enable_description" translatable="true">It allows 3rd party applications to receive UnifiedPush notifications</string>
|
||||
</resources>
|
||||
|
|
|
@ -31,25 +31,15 @@
|
|||
<item name="cornerSize">5dp</item>
|
||||
</style>
|
||||
|
||||
<style name="PreferenceTheme" parent="PreferenceTheme.Base"/>
|
||||
<style name="PreferenceTheme.Base" parent="Theme.Material3.DayNight.NoActionBar">
|
||||
<item name="colorPrimary">@color/e_action_bar</item>
|
||||
<item name="colorPrimaryDark">@color/e_action_bar</item>
|
||||
<item name="colorAccent">@color/e_accent</item>
|
||||
<item name="android:textColorPrimary">@color/e_primary_text_color</item>
|
||||
<item name="android:textColorSecondary">@color/e_secondary_text_color</item>
|
||||
<item name="android:textColorPrimaryInverse">@color/e_background</item>
|
||||
<item name="android:windowBackground">@color/e_background</item>
|
||||
<item name="colorControlActivated">@color/e_accent</item>
|
||||
<item name="colorButtonNormal">@color/e_icon_color</item>
|
||||
<item name="colorControlHighlight">@color/e_icon_color</item>
|
||||
<item name="homeAsUpIndicator">@drawable/e_ic_back</item>
|
||||
<item name="android:homeAsUpIndicator">@drawable/e_ic_back</item>
|
||||
<item name="android:popupBackground">@color/e_floating_background</item>
|
||||
<item name="android:divider">@color/e_divider_color</item>
|
||||
<item name="android:navigationBarColor">@android:color/transparent</item>
|
||||
<item name="android:statusBarColor">@color/e_background</item>
|
||||
<item name="switchStyle">@style/ETheme.Switch</item>
|
||||
<style name="MessageBarBackground">
|
||||
<item name="android:background">@color/gray_400</item>
|
||||
</style>
|
||||
|
||||
<style name="MessageInputLayout" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense">
|
||||
<item name="hintTextColor">@color/black_700b</item>
|
||||
</style>
|
||||
|
||||
<style name="MessageInputText" parent="Widget.AppCompat.EditText">
|
||||
<item name="android:textSize">16sp</item>
|
||||
</style>
|
||||
</resources>
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
<!-- Main activity -->
|
||||
<string name="main_menu_report_bug_url" translatable="false">https://github.com/binwiederhier/ntfy/issues</string>
|
||||
<string name="main_menu_docs_url" translatable="false">https://ntfy.sh/docs</string>
|
||||
<string name="main_menu_donate_url" translatable="false">https://github.com/sponsors/binwiederhier</string>
|
||||
|
||||
<!-- Settings constants -->
|
||||
<string name="settings_notifications_muted_until_key" translatable="false">MutedUntil</string>
|
||||
|
@ -18,14 +17,12 @@
|
|||
<string name="settings_notifications_channel_prefs_key" translatable="false">ChannelPrefs</string>
|
||||
<string name="settings_notifications_auto_download_key" translatable="false">AutoDownload</string>
|
||||
<string name="settings_notifications_auto_delete_key" translatable="false">AutoDelete</string>
|
||||
<string name="settings_notifications_insistent_max_priority_key" translatable="false">InsistentMaxPriority</string>
|
||||
<string name="settings_general_default_base_url_key" translatable="false">DefaultBaseURL</string>
|
||||
<string name="settings_general_users_key" translatable="false">ManageUsers</string>
|
||||
<string name="settings_general_dark_mode_key" translatable="false">DarkMode</string>
|
||||
<string name="settings_backup_restore_backup_key" translatable="false">Backup</string>
|
||||
<string name="settings_backup_restore_restore_key" translatable="false">Restore</string>
|
||||
<string name="settings_advanced_broadcast_key" translatable="false">BroadcastEnabled</string>
|
||||
<string name="settings_advanced_unifiedpush_key" translatable="false">UnifiedPushEnabled</string>
|
||||
<string name="settings_advanced_record_logs_key" translatable="false">RecordLogs</string>
|
||||
<string name="settings_advanced_export_logs_key" translatable="false">ExportLogs</string>
|
||||
<string name="settings_advanced_clear_logs_key" translatable="false">ClearLogs</string>
|
||||
|
@ -36,11 +33,8 @@
|
|||
<string name="detail_settings_notifications_header_key" translatable="false">SubscriptionNotifications</string>
|
||||
<string name="detail_settings_notifications_instant_key" translatable="false">SubscriptionInstant</string>
|
||||
<string name="detail_settings_notifications_muted_until_key" translatable="false">SubscriptionMutedUntil</string>
|
||||
<string name="detail_settings_notifications_dedicated_channels_key" translatable="false">SubscriptionDedicatedChannels</string>
|
||||
<string name="detail_settings_notifications_open_channels_key" translatable="false">SubscriptionOpenChannels</string>
|
||||
<string name="detail_settings_notifications_min_priority_key" translatable="false">SubscriptionMinPriority</string>
|
||||
<string name="detail_settings_notifications_auto_delete_key" translatable="false">SubscriptionAutoDelete</string>
|
||||
<string name="detail_settings_notifications_insistent_max_priority_key" translatable="false">SubscriptionInsistentMaxPriority</string>
|
||||
<string name="detail_settings_appearance_header_key" translatable="false">SubscriptionAppearance</string>
|
||||
<string name="detail_settings_appearance_icon_set_key" translatable="false">SubscriptionIconSet</string>
|
||||
<string name="detail_settings_appearance_icon_remove_key" translatable="false">SubscriptionIconRemove</string>
|
||||
|
@ -151,16 +145,6 @@
|
|||
<item>2592000</item>
|
||||
<item>7776000</item>
|
||||
</string-array>
|
||||
<string-array name="detail_settings_notifications_insistent_max_priority_entries">
|
||||
<item>@string/detail_settings_global_setting_title</item>
|
||||
<item>@string/detail_settings_notifications_insistent_max_priority_list_item_enabled</item>
|
||||
<item>@string/detail_settings_notifications_insistent_max_priority_list_item_disabled</item>
|
||||
</string-array>
|
||||
<string-array name="detail_settings_notifications_insistent_max_priority_values">
|
||||
<item>-1</item> <!-- Same as Repository.INSISTENT_MAX_PRIORITY_USE_GLOBAL -->
|
||||
<item>1</item>
|
||||
<item>0</item>
|
||||
</string-array>
|
||||
<string-array name="settings_advanced_connection_protocol_entries">
|
||||
<item>@string/settings_advanced_connection_protocol_entry_jsonhttp</item>
|
||||
<item>@string/settings_advanced_connection_protocol_entry_ws</item>
|
||||
|
|
|
@ -28,22 +28,6 @@
|
|||
app:entryValues="@array/detail_settings_notifications_auto_delete_values"
|
||||
app:defaultValue="-1"
|
||||
app:isPreferenceVisible="false"/> <!-- Same as Repository.AUTO_DELETE_USE_GLOBAL -->
|
||||
<ListPreference
|
||||
app:key="@string/detail_settings_notifications_insistent_max_priority_key"
|
||||
app:title="@string/settings_notifications_insistent_max_priority_title"
|
||||
app:entries="@array/detail_settings_notifications_insistent_max_priority_entries"
|
||||
app:entryValues="@array/detail_settings_notifications_insistent_max_priority_values"
|
||||
app:defaultValue="-1"
|
||||
app:isPreferenceVisible="false"/> <!-- Same as Repository.INSISTENT_MAX_PRIORITY_USE_GLOBAL -->
|
||||
<SwitchPreference
|
||||
app:key="@string/detail_settings_notifications_dedicated_channels_key"
|
||||
app:title="@string/detail_settings_notifications_dedicated_channels_title"
|
||||
app:isPreferenceVisible="false"/>
|
||||
<Preference
|
||||
app:key="@string/detail_settings_notifications_open_channels_key"
|
||||
app:title="@string/detail_settings_notifications_open_channels_title"
|
||||
app:summary="@string/detail_settings_notifications_open_channels_summary"
|
||||
app:isPreferenceVisible="false"/>
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory
|
||||
app:key="@string/detail_settings_appearance_header_key"
|
||||
|
|
|
@ -25,10 +25,6 @@
|
|||
app:entries="@array/settings_notifications_auto_delete_entries"
|
||||
app:entryValues="@array/settings_notifications_auto_delete_values"
|
||||
app:defaultValue="2592000"/>
|
||||
<SwitchPreference
|
||||
app:key="@string/settings_notifications_insistent_max_priority_key"
|
||||
app:title="@string/settings_notifications_insistent_max_priority_title"
|
||||
app:defaultValue="false"/>
|
||||
<Preference
|
||||
app:key="@string/settings_notifications_channel_prefs_key"
|
||||
app:title="@string/settings_notifications_channel_prefs_title"
|
||||
|
@ -76,10 +72,6 @@
|
|||
app:key="@string/settings_advanced_broadcast_key"
|
||||
app:title="@string/settings_advanced_broadcast_title"
|
||||
app:enabled="true"/>
|
||||
<SwitchPreference
|
||||
app:key="@string/settings_advanced_unifiedpush_key"
|
||||
app:title="@string/settings_advanced_unifiedpush_title"
|
||||
app:enabled="true"/>
|
||||
<SwitchPreference
|
||||
app:key="@string/settings_advanced_record_logs_key"
|
||||
app:title="@string/settings_advanced_record_logs_title"
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
<PreferenceScreen
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:icon="@drawable/ic_notification"
|
||||
app:key="@string/eos_preference_key_is_enabled"
|
||||
app:defaultValue="false"
|
||||
app:title="@string/eos_settings_enable_title"
|
||||
app:summary="@string/eos_settings_enable_description" />
|
||||
|
||||
</PreferenceScreen>
|
|
@ -14,7 +14,6 @@ import io.heckel.ntfy.msg.ApiService
|
|||
import io.heckel.ntfy.msg.NotificationDispatcher
|
||||
import io.heckel.ntfy.msg.NotificationParser
|
||||
import io.heckel.ntfy.service.SubscriberService
|
||||
import io.heckel.ntfy.util.nullIfZero
|
||||
import io.heckel.ntfy.util.toPriority
|
||||
import io.heckel.ntfy.util.topicShortUrl
|
||||
import io.heckel.ntfy.work.PollWorker
|
||||
|
@ -95,8 +94,8 @@ class FirebaseService : FirebaseMessagingService() {
|
|||
val encoding = data["encoding"]
|
||||
val attachmentName = data["attachment_name"] ?: "attachment.bin"
|
||||
val attachmentType = data["attachment_type"]
|
||||
val attachmentSize = data["attachment_size"]?.toLongOrNull()?.nullIfZero()
|
||||
val attachmentExpires = data["attachment_expires"]?.toLongOrNull()?.nullIfZero()
|
||||
val attachmentSize = data["attachment_size"]?.toLongOrNull()
|
||||
val attachmentExpires = data["attachment_expires"]?.toLongOrNull()
|
||||
val attachmentUrl = data["attachment_url"]
|
||||
val truncated = (data["truncated"] ?: "") == "1"
|
||||
if (id == null || topic == null || message == null || timestamp == null) {
|
||||
|
@ -125,7 +124,7 @@ class FirebaseService : FirebaseMessagingService() {
|
|||
url = attachmentUrl,
|
||||
)
|
||||
} else null
|
||||
val icon: Icon? = if (iconUrl != null && iconUrl != "") Icon(url = iconUrl) else null
|
||||
val icon: Icon? = iconUrl?.let { Icon(url = it) }
|
||||
val notification = Notification(
|
||||
id = id,
|
||||
subscriptionId = subscription.id,
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
buildscript {
|
||||
ext.kotlin_version = '1.8.20'
|
||||
ext.kotlin_version = '1.6.21'
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.4.2'
|
||||
classpath 'com.android.tools.build:gradle:7.2.2'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
classpath 'com.google.gms:google-services:4.3.15' // This is removed in the "fdroid" flavor
|
||||
classpath 'com.google.gms:google-services:4.3.14' // This is removed in the "fdroid" flavor
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
|
@ -18,7 +18,6 @@ allprojects {
|
|||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
maven { url 'https://gitlab.e.foundation/api/v4/groups/9/-/packages/maven'}
|
||||
maven { url "https://jitpack.io" } // For StfalconImageViewer
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
إرسال إشعارات إلى هاتفك من أي برنامج نصي باستخدام طلبات PUT / POST
|
|
@ -1,17 +0,0 @@
|
|||
Anfonwch cyhoeddiadau i'ch ffôn o unrhyw sgript Bash neu PowerShell, neu o'ch ap eich hun gan ddefnyddio ceisiadau PUT/POST, e.e. trwy curl ar Linux neu Invoke-WebRequest.
|
||||
|
||||
Mae ntfy yn gleient Android ar gyfer https://ntfy.sh, gwasanaeth pub-sub, ffynhonnell agor am ddim sy'n seiliedig ar HTTP. Gallwch danysgrifio i bynciau yn yr app hon, ac yna cyhoeddi negeseuon trwy API HTTP syml.
|
||||
|
||||
Defnyddiau:
|
||||
* Hysbyswch eich hun pan fydd proses hir wedi'i chwblhau
|
||||
* Pingiwch eich ffôn pan fydd copi wrth gefn wedi methu
|
||||
* Rhybuddion pan fydd rhywun yn mewngofnodi i'ch gweinydd
|
||||
|
||||
Enghraifft:
|
||||
|
||||
$curl -d "Mae eich copi wrth gefn wedi'i wneud" ntfy.sh/fymhwnc
|
||||
|
||||
Dewch o hyd i ragor o enghreifftiau a chyfarwyddiadau defnydd yma:
|
||||
* Gwefan: https://ntfy.sh
|
||||
* GitHub (gweinydd): https://github.com/binwiederhier/ntfy
|
||||
* GitHub (ap Android): https://github.com/binwiederhier/ntfy-android
|
|
@ -1 +0,0 @@
|
|||
Anfonwch cyhoeddiadau i'ch ffôn o unrhyw sgript drwy ceisiadau PUT/POST
|
|
@ -1 +0,0 @@
|
|||
ntfy - PUT/POST i'ch ffôn
|
|
@ -1,17 +0,0 @@
|
|||
Send meddelelser til din telefon fra et hvilket som helst Bash- eller PowerShell-script eller fra din egen app ved hjælp af PUT/POST-anmodninger, f.eks. via curl på Linux eller Invoke-WebRequest.
|
||||
|
||||
ntfy er en Android-klient til https://ntfy.sh, en gratis og open source HTTP-baseret pub-sub-tjeneste. Du kan abonnere på emner i denne app og derefter udgive beskeder via en simpel HTTP API.
|
||||
|
||||
Anvendelser:
|
||||
* Giv dig selv besked, når en langvarig proces er færdig
|
||||
* Ping din telefon, når en sikkerhedskopiering mislykkedes
|
||||
* Advarsler, når nogen logger ind på din server
|
||||
|
||||
Eksempel:
|
||||
|
||||
$ curl -d "Din backup er færdig" ntfy.sh/mytopic
|
||||
|
||||
Find flere eksempler og brugsvejledning her:
|
||||
* Hjemmeside: https://ntfy.sh
|
||||
* GitHub (server): https://github.com/binwiederhier/ntfy
|
||||
* GitHub (Android app): https://github.com/binwiederhier/ntfy-android
|
|
@ -1 +0,0 @@
|
|||
Send meddelelser til din telefon fra ethvert script med PUT/POST-anmodninger
|
|
@ -1 +0,0 @@
|
|||
ntfy - PUT/POST på din telefon
|
|
@ -1,17 +0,0 @@
|
|||
Sende Benachrichtigungen an Dein Telefon von jeden Bash- oder PowerShell-Skript oder Deiner eigenen App über einen PUT-/POST-Request, z.B. per curl unter Linux oder Invoke-WebRequest.
|
||||
|
||||
ntfy ist ein Android-Client für https://ntfy.sh, einen kostenlosen Open-Source pub-sub-Dienst auf HTTP-Basis. Du kannst in der App Themen abonnieren und dann Nachrichten über eine einfache HTTP-API veröffentlichen.
|
||||
|
||||
Anwendungen:
|
||||
* Lass Dich benachrichtigen, wenn ein lang laufender Prozess fertig ist
|
||||
* Benachrichtige Dein Telefon, wenn ein Backup fehlgeschlagen ist
|
||||
* Erhalte Benachrichtigungen, wenn sich jemand an Deinem Server anmeldet
|
||||
|
||||
Beispiel:
|
||||
|
||||
$ curl -d "Backup ist abgeschlossen" ntfy.sh/meinthema
|
||||
|
||||
Weitere Beispiele und Dokumentation findest Du hier:
|
||||
* Website: https://ntfy.sh
|
||||
* GitHub (Server): https://github.com/binwiederhier/ntfy
|
||||
* GitHub (Android App): https://github.com/binwiederhier/ntfy-android
|
|
@ -1 +0,0 @@
|
|||
Sende Benachrichtigungen von jedem Skript per PUT/POST-Request an Dein Telefon
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue