mirror of
https://github.com/KDE/kdeconnect-android
synced 2025-09-01 06:35:09 +00:00
Compare commits
396 Commits
work/requi
...
work/apol/
Author | SHA1 | Date | |
---|---|---|---|
|
4d4f63723e | ||
|
568a8e623b | ||
|
c3e51d13fe | ||
|
a733433551 | ||
|
c362f16837 | ||
|
90ff6df189 | ||
|
388b6f5a20 | ||
|
b463adda73 | ||
|
6687a09d2e | ||
|
63776ac57a | ||
|
925f428873 | ||
|
9e4c53aa1c | ||
|
f5ff06a4d0 | ||
|
07064a5766 | ||
|
a77ac7ac47 | ||
|
7cd06cf581 | ||
|
30fbc14a80 | ||
|
431d087b88 | ||
|
5678100352 | ||
|
c6b3d1b100 | ||
|
c0a41034fa | ||
|
5bc41367ed | ||
|
17010e533f | ||
|
d5c47a1c4c | ||
|
08b1a9dce4 | ||
|
74146b83e2 | ||
|
938df620fa | ||
|
d4b8a07ee7 | ||
|
44aa7824f7 | ||
|
feae6b54a9 | ||
|
dbbce2aee1 | ||
|
ed1dcdab52 | ||
|
e3ccfb1b25 | ||
|
4ae04ae060 | ||
|
801367458e | ||
|
26c72fae89 | ||
|
b981f9234b | ||
|
7f07e4658f | ||
|
f182d27ebe | ||
|
3b9d6ac61e | ||
|
6f24ac8d25 | ||
|
2891ec2092 | ||
|
fc1424c67c | ||
|
83efd6b355 | ||
|
05e14bb81c | ||
|
1236cbe4e3 | ||
|
5f9159a13f | ||
|
fbd9f8f216 | ||
|
e32b6b67e0 | ||
|
63a849b80a | ||
|
170bb5e717 | ||
|
f121e4982e | ||
|
937289730d | ||
|
624a9302fd | ||
|
e6f4b69464 | ||
|
2190c9cdaa | ||
|
864d44cb5b | ||
|
72e958a891 | ||
|
d4ab2ca6cf | ||
|
fd51ec7c14 | ||
|
28070954a6 | ||
|
e10f2496de | ||
|
95b4c08605 | ||
|
51d4de34c4 | ||
|
de2001bbe1 | ||
|
9c80cb9a40 | ||
|
0b03a66c37 | ||
|
6d66d69820 | ||
|
c0fc19baaa | ||
|
03ea5eae4c | ||
|
b373c28cdd | ||
|
6c8d22b1ed | ||
|
69adfbfbc2 | ||
|
f80e29538a | ||
|
56dda889d1 | ||
|
0c48f388f4 | ||
|
3eda9d4ef9 | ||
|
5aa6fae03b | ||
|
228a504b90 | ||
|
34c2c311e2 | ||
|
08fcfc863a | ||
|
c550ef4445 | ||
|
ec40994d4c | ||
|
43d4f38765 | ||
|
fbff23a8c0 | ||
|
52ff931c4e | ||
|
0f628d4927 | ||
|
737c333a91 | ||
|
e9e406de88 | ||
|
9b2e4bcf56 | ||
|
d3daf20c27 | ||
|
7de2817274 | ||
|
6121fa04bc | ||
|
bec807fa63 | ||
|
fe97750e9a | ||
|
f8a2d2da03 | ||
|
68a0b73e9c | ||
|
7a4fb8b584 | ||
|
b4ee6e30b1 | ||
|
0560071cfb | ||
|
4343ad7e01 | ||
|
0738710747 | ||
|
9af8fe791b | ||
|
a9a99ea7bd | ||
|
03c2121d57 | ||
|
c0c38aab9a | ||
|
ab4a6a300b | ||
|
82c434273d | ||
|
0e1842964f | ||
|
0a82d303e4 | ||
|
c275e26e00 | ||
|
d951e3faad | ||
|
144d292948 | ||
|
32d293eb8d | ||
|
3e2c077674 | ||
|
49d36d57a6 | ||
|
8b6d789c02 | ||
|
de73362624 | ||
|
7bc90fbe85 | ||
|
818b99774d | ||
|
13b09ffae8 | ||
|
56c96b686d | ||
|
3b4f5f83b2 | ||
|
fc18d8a10f | ||
|
d73236ab96 | ||
|
ecd4bec109 | ||
|
bb152c4900 | ||
|
49a9cd5ea7 | ||
|
e363a5875a | ||
|
55d3fd630c | ||
|
a85e6f8057 | ||
|
125c9d54b3 | ||
|
5b937313ff | ||
|
2ad9f8eeb1 | ||
|
b3d84f31f4 | ||
|
5ca96fc378 | ||
|
05f1cbe136 | ||
|
d02e5aabb5 | ||
|
ae24cd6ca8 | ||
|
16414401c0 | ||
|
3f120fbea8 | ||
|
97806cf6b0 | ||
|
a923deee58 | ||
|
0923c8ecda | ||
|
172822239c | ||
|
6a58cc444e | ||
|
26667e4b78 | ||
|
086d366a1c | ||
|
84d380aee5 | ||
|
1ea956f5fb | ||
|
cfc7242db5 | ||
|
93b257d46c | ||
|
fa22722498 | ||
|
b0c9e46a31 | ||
|
53b49163d5 | ||
|
444f5725af | ||
|
1104baca8f | ||
|
c3af9b03f6 | ||
|
ecb38f2518 | ||
|
75ddac0bf0 | ||
|
553bae4a33 | ||
|
7d5f40a3a1 | ||
|
e8c74ec689 | ||
|
c7223a17dc | ||
|
2fddd7e24a | ||
|
7920a1a250 | ||
|
a1ce310f65 | ||
|
8fea00a843 | ||
|
7210fd8425 | ||
|
dcb817a805 | ||
|
b916d2c972 | ||
|
6b15348677 | ||
|
a899f06885 | ||
|
4a1a086e0f | ||
|
8853f1807f | ||
|
0a8bd2bf56 | ||
|
c5d1d4a9fa | ||
|
741e24c984 | ||
|
8b9b99275d | ||
|
cfe789fb7e | ||
|
7170bdb687 | ||
|
53f746cb6a | ||
|
35777b4b15 | ||
|
a1d0689d50 | ||
|
883eca5cf3 | ||
|
d91107329a | ||
|
b7f3a7d868 | ||
|
e613e7e09d | ||
|
cb44c70d17 | ||
|
056b569951 | ||
|
2d421e3eb6 | ||
|
5674ddd3e9 | ||
|
5bb996a6ac | ||
|
d89ab2bb20 | ||
|
e5661225a1 | ||
|
cc38149834 | ||
|
4805ea91b8 | ||
|
2553a7cebb | ||
|
526c3a9c4d | ||
|
333ad876aa | ||
|
588cc8dfcf | ||
|
48dd405201 | ||
|
1fad01e306 | ||
|
c78dd6f40d | ||
|
3084513778 | ||
|
e592b45a61 | ||
|
deee9cc2e2 | ||
|
a107796ec2 | ||
|
c32e00bb47 | ||
|
ba98e21d40 | ||
|
551b089d9a | ||
|
b9e9d66fa5 | ||
|
107611f8d2 | ||
|
d0fc68054f | ||
|
9f15d4b3aa | ||
|
a149100d74 | ||
|
7332b355a4 | ||
|
9cc8051d00 | ||
|
78050a158a | ||
|
a5057df1c8 | ||
|
b856bdbb0b | ||
|
8cb9a1809d | ||
|
0ffd9cd9dc | ||
|
725b3f1d6a | ||
|
63d1d15c4f | ||
|
592b8a74a7 | ||
|
38e713f489 | ||
|
bb8649d869 | ||
|
2e82673bbf | ||
|
7ee33de646 | ||
|
65a71696d5 | ||
|
e2aa79a252 | ||
|
1ffcaf076e | ||
|
854b2a1c9f | ||
|
8fb545d620 | ||
|
db615b82df | ||
|
ee7d4a1f05 | ||
|
409ef6b579 | ||
|
2c0a9d262e | ||
|
2f10f1d0f2 | ||
|
9f788da478 | ||
|
ec952b49d9 | ||
|
45da75f331 | ||
|
283956c107 | ||
|
d605977b91 | ||
|
80cf238354 | ||
|
8ee135b018 | ||
|
2343dbf144 | ||
|
3f53180b1d | ||
|
0f7af315f5 | ||
|
7ebac70d47 | ||
|
9037647281 | ||
|
9373587268 | ||
|
0771415d8f | ||
|
fb0e2cc01d | ||
|
584fb78bb7 | ||
|
ae12e3e6fc | ||
|
8be80cae3e | ||
|
d41ed4d911 | ||
|
6f783b54a5 | ||
|
1f6d1ea544 | ||
|
27737c46f2 | ||
|
6b99fe7e7c | ||
|
6e59a6241a | ||
|
7506d32cef | ||
|
c35dc4928c | ||
|
6070276489 | ||
|
9685f7e69a | ||
|
69495136da | ||
|
5f18cb571d | ||
|
ab1b1f7ecc | ||
|
3f8170eae8 | ||
|
eb6784b626 | ||
|
1beb8d4581 | ||
|
16067d7523 | ||
|
dea0bb4e1f | ||
|
c9fb81363d | ||
|
35e8ea0c4c | ||
|
7c5c7933c9 | ||
|
0dfa44aeac | ||
|
dd527f661c | ||
|
ed89fb43ed | ||
|
aed2b64416 | ||
|
4bdbb8f74a | ||
|
155ebf4fb2 | ||
|
46ad0c62ba | ||
|
df0f2d651c | ||
|
167e2c7176 | ||
|
906326f837 | ||
|
3c9c49fa87 | ||
|
24a6beb600 | ||
|
0775a45316 | ||
|
90dbdee282 | ||
|
7d28c52c35 | ||
|
7686e012c3 | ||
|
2cb9666678 | ||
|
0ab4e0d1d2 | ||
|
30cc95713f | ||
|
ae49aa6456 | ||
|
89454fcba9 | ||
|
5a6453729c | ||
|
0706ec1a0b | ||
|
405e828683 | ||
|
34a78e635e | ||
|
c327c15825 | ||
|
6d027ae810 | ||
|
104013c916 | ||
|
8df1f04141 | ||
|
beab3599bf | ||
|
819d3ea158 | ||
|
83fd2440ce | ||
|
e13451061f | ||
|
e82c0fea84 | ||
|
e391750e0e | ||
|
6513bb1320 | ||
|
0fb6e25682 | ||
|
7fbfc9df90 | ||
|
cd8237d773 | ||
|
aaa750bbc6 | ||
|
3d54da75cc | ||
|
358584ba6f | ||
|
adfab5f0f3 | ||
|
e37a519e3a | ||
|
6783f0a167 | ||
|
6d78fe749a | ||
|
2120c7967e | ||
|
de861ce781 | ||
|
e222937736 | ||
|
e289811097 | ||
|
067a000b2b | ||
|
f9d05824a7 | ||
|
d753f1eea4 | ||
|
3c81b527eb | ||
|
96147bf6df | ||
|
8b33ce64a4 | ||
|
73fdd4b47e | ||
|
680e404d05 | ||
|
aae6f1a7e9 | ||
|
5cda1ceb0c | ||
|
7ed4efedc3 | ||
|
96ecd620cf | ||
|
f344586fb6 | ||
|
d9755f8438 | ||
|
659ed25213 | ||
|
ca6ea5cb1a | ||
|
4e1e2931e2 | ||
|
711eef97e7 | ||
|
962dc50617 | ||
|
1ecd6b67c2 | ||
|
72ad997b53 | ||
|
8352091ffd | ||
|
1195cf5c4e | ||
|
f03c86c4ae | ||
|
4ae6e50020 | ||
|
66ea01ad29 | ||
|
9a8a99a5a7 | ||
|
5578f9172b | ||
|
860504fbbf | ||
|
6affee7f8d | ||
|
2cf0c354cd | ||
|
9689191847 | ||
|
ebe3cb4c4e | ||
|
afa832843f | ||
|
d92a8afdf4 | ||
|
56577bcc88 | ||
|
8283b8267f | ||
|
ca4a6eb06a | ||
|
8892750809 | ||
|
3378c5d428 | ||
|
2cfb506626 | ||
|
5e1b47db63 | ||
|
f29f056ef7 | ||
|
0d0672e59f | ||
|
efda9b95ab | ||
|
186236b93a | ||
|
f7ea30dd7d | ||
|
1bd5b12619 | ||
|
23701bc4ae | ||
|
5151ed3d96 | ||
|
4c0acbb71c | ||
|
440f1d4fa3 | ||
|
e8f7e86b35 | ||
|
343270c793 | ||
|
27075e89be | ||
|
768b02c173 | ||
|
ef760a3628 | ||
|
3e96d5ecd3 | ||
|
c6dbadce21 | ||
|
b985aeb18e | ||
|
dc2c2e71df | ||
|
e1a7b476d1 | ||
|
5dad852ece | ||
|
9ca1495dd3 | ||
|
eeeb5678c1 | ||
|
769f054355 | ||
|
235c67fd82 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
.attach_pid*
|
||||
local.properties
|
||||
/.gradle/
|
||||
/.idea/
|
||||
@@ -13,3 +14,4 @@ local.properties
|
||||
.directory
|
||||
GPUCache/
|
||||
/release/
|
||||
/.kotlin/
|
||||
|
@@ -7,13 +7,26 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
-->
|
||||
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:versionCode="13001"
|
||||
android:versionName="1.30.1">
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<uses-feature
|
||||
android:name="android.hardware.telephony"
|
||||
android:required="false" />
|
||||
<uses-feature
|
||||
android:name="android.hardware.touchscreen"
|
||||
android:required="false" />
|
||||
<uses-feature
|
||||
android:name="android.software.leanback"
|
||||
android:required="false" />
|
||||
<uses-feature
|
||||
android:name="android.hardware.bluetooth"
|
||||
android:required="false" />
|
||||
<uses-feature
|
||||
android:name="android.hardware.location.gps"
|
||||
android:required="false" />
|
||||
<uses-feature
|
||||
android:name="android.hardware.microphone"
|
||||
android:required="false" />
|
||||
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
@@ -56,13 +69,16 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:label="@string/kde_connect"
|
||||
android:banner="@mipmap/ic_launcher_banner"
|
||||
android:supportsRtl="true"
|
||||
android:allowBackup="false"
|
||||
android:dataExtractionRules="@xml/data_extraction_rules"
|
||||
android:networkSecurityConfig="@xml/network_security_config"
|
||||
android:theme="@style/KdeConnectTheme.NoActionBar"
|
||||
android:name="org.kde.kdeconnect.KdeConnect"
|
||||
android:enableOnBackInvokedCallback="true">
|
||||
android:enableOnBackInvokedCallback="true"
|
||||
android:requestLegacyExternalStorage="true"> <!-- requestLegacyExternalStorage is only used in Android 10: https://developer.android.com/training/data-storage/use-cases#opt-out-in-production-app -->
|
||||
|
||||
|
||||
<receiver
|
||||
android:name="com.android.mms.transaction.PushReceiver"
|
||||
@@ -110,6 +126,12 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
<intent-filter>
|
||||
<action android:name="android.service.quicksettings.action.QS_TILE_PREFERENCES"/>
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
</intent-filter>
|
||||
|
||||
<meta-data android:name="android.app.shortcuts"
|
||||
android:resource="@xml/shortcuts" />
|
||||
</activity>
|
||||
<activity
|
||||
android:name="org.kde.kdeconnect.UserInterface.PluginSettingsActivity"
|
||||
@@ -335,7 +357,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="org.kde.kdeconnect_tp.fileprovider"
|
||||
android:authorities="${applicationId}.fileprovider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
|
250
build.gradle.kts
250
build.gradle.kts
@@ -1,8 +1,15 @@
|
||||
import com.android.build.api.instrumentation.AsmClassVisitorFactory
|
||||
import com.android.build.api.instrumentation.ClassContext
|
||||
import com.android.build.api.instrumentation.ClassData
|
||||
import com.android.build.api.instrumentation.InstrumentationParameters
|
||||
import com.android.build.api.instrumentation.InstrumentationScope
|
||||
import com.github.jk1.license.LicenseReportExtension
|
||||
import com.github.jk1.license.render.ReportRenderer
|
||||
import com.github.jk1.license.render.TextReportRenderer
|
||||
import java.io.FileNotFoundException
|
||||
import java.util.Properties
|
||||
import org.objectweb.asm.ClassVisitor
|
||||
import org.objectweb.asm.MethodVisitor
|
||||
import org.objectweb.asm.Opcodes.CHECKCAST
|
||||
import org.objectweb.asm.Opcodes.INVOKESTATIC
|
||||
|
||||
buildscript {
|
||||
dependencies {
|
||||
@@ -11,40 +18,30 @@ buildscript {
|
||||
}
|
||||
}
|
||||
|
||||
@Suppress("DSL_SCOPE_VIOLATION") // TODO: remove once https://youtrack.jetbrains.com/issue/KTIJ-19369 is fixed
|
||||
plugins {
|
||||
alias(libs.plugins.android.application)
|
||||
alias(libs.plugins.kotlin.android)
|
||||
alias(libs.plugins.kotlin.kapt)
|
||||
alias(libs.plugins.ksp)
|
||||
alias(libs.plugins.dependencyLicenseReport)
|
||||
alias(libs.plugins.compose.compiler)
|
||||
}
|
||||
|
||||
val licenseResDir = File("$projectDir/build/dependency-license-res")
|
||||
|
||||
fun String.runCommand(
|
||||
workingDir: File = File("."),
|
||||
timeoutAmount: Long = 60,
|
||||
timeoutUnit: TimeUnit = TimeUnit.SECONDS
|
||||
): String = ProcessBuilder(split("\\s(?=(?:[^'\"`]*(['\"`])[^'\"`]*\\1)*[^'\"`]*$)".toRegex()))
|
||||
.directory(workingDir)
|
||||
.redirectOutput(ProcessBuilder.Redirect.PIPE)
|
||||
.redirectError(ProcessBuilder.Redirect.PIPE)
|
||||
.start()
|
||||
.apply { waitFor(timeoutAmount, timeoutUnit) }
|
||||
.run {
|
||||
val error = errorStream.bufferedReader().readText().trim()
|
||||
if (error.isNotEmpty()) {
|
||||
throw Exception(error)
|
||||
}
|
||||
inputStream.bufferedReader().readText().trim()
|
||||
}
|
||||
val hashProvider = project.providers.exec {
|
||||
workingDir = rootDir
|
||||
commandLine("git", "rev-parse", "--short", "HEAD")
|
||||
}.standardOutput.asText.map { it.trim() }
|
||||
|
||||
android {
|
||||
namespace = "org.kde.kdeconnect_tp"
|
||||
compileSdk = 34
|
||||
compileSdk = 35
|
||||
defaultConfig {
|
||||
minSdk = 23
|
||||
targetSdk = 33
|
||||
applicationId = "org.kde.kdeconnect_tp"
|
||||
minSdk = 21
|
||||
targetSdk = 35
|
||||
versionCode = 13304
|
||||
versionName = "1.33.4"
|
||||
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
|
||||
}
|
||||
buildFeatures {
|
||||
@@ -53,10 +50,6 @@ android {
|
||||
buildConfig = true
|
||||
}
|
||||
|
||||
composeOptions {
|
||||
kotlinCompilerExtensionVersion = libs.versions.compose.compiler.get()
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_1_9
|
||||
targetCompatibility = JavaVersion.VERSION_1_9
|
||||
@@ -71,16 +64,18 @@ android {
|
||||
androidResources {
|
||||
generateLocaleConfig = true
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
getByName("main") {
|
||||
manifest.srcFile("AndroidManifest.xml")
|
||||
java.setSrcDirs(listOf("src"))
|
||||
resources.setSrcDirs(listOf("resources"))
|
||||
res.setSrcDirs(listOf(licenseResDir, "res"))
|
||||
assets.setSrcDirs(listOf("assets"))
|
||||
setRoot(".") // By default AGP expects all directories under src/main/...
|
||||
java.srcDir("src") // by default is "java"
|
||||
res.setSrcDirs(listOf(licenseResDir, "res")) // add licenseResDir
|
||||
}
|
||||
getByName("debug") {
|
||||
res.srcDir("dbg-res")
|
||||
}
|
||||
getByName("test") {
|
||||
java.setSrcDirs(listOf("tests"))
|
||||
java.srcDir("tests")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,22 +94,12 @@ android {
|
||||
}
|
||||
buildTypes {
|
||||
getByName("debug") {
|
||||
// We minify by default even on debug builds. This has helped us catch issues where minification would remove files that were actually used (eg: via reflection).
|
||||
// If you want to locally disable this behavior to speed-up the build, add a line `disableMinifyDebug=true` to your `local.properties` file.
|
||||
val reader = try {
|
||||
rootProject.file("local.properties").reader()
|
||||
} catch (e: FileNotFoundException) {
|
||||
null
|
||||
}
|
||||
val properties = reader?.use { Properties().apply { load(it) } }
|
||||
val disableMinifyDebug = properties?.getProperty("disableMinifyDebug")?.toBoolean() ?: false
|
||||
|
||||
isMinifyEnabled = !disableMinifyDebug
|
||||
isShrinkResources = !disableMinifyDebug
|
||||
isMinifyEnabled = false
|
||||
isShrinkResources = false
|
||||
signingConfig = signingConfigs.getByName("debug")
|
||||
applicationIdSuffix = ".debug"
|
||||
versionNameSuffix = "-debug"
|
||||
}
|
||||
// keep minifyEnabled false above for faster builds; set to 'true'
|
||||
// when testing to make sure ProGuard/R8 is not deleting important stuff
|
||||
getByName("release") {
|
||||
isMinifyEnabled = true
|
||||
isShrinkResources = true
|
||||
@@ -125,19 +110,6 @@ android {
|
||||
checkReleaseBuilds = false
|
||||
}
|
||||
|
||||
testOptions {
|
||||
unitTests.all {
|
||||
it.jvmArgs = it.jvmArgs.orEmpty() + listOf(
|
||||
"--add-opens=java.base/java.lang=ALL-UNNAMED",
|
||||
"--add-opens=java.base/java.security=ALL-UNNAMED",
|
||||
"--add-opens=java.base/sun.security.rsa=ALL-UNNAMED",
|
||||
"--add-opens=java.base/sun.security.x509=ALL-UNNAMED",
|
||||
"--add-opens=java.base/java.util=ALL-UNNAMED",
|
||||
"--add-opens=java.base/java.lang.reflect=ALL-UNNAMED"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
applicationVariants.all {
|
||||
val variant = this
|
||||
logger.quiet("Found a variant called ${variant.name}")
|
||||
@@ -149,9 +121,8 @@ android {
|
||||
// Default output filename is "${project.name}-${v.name}.apk". We want
|
||||
// the Git commit short-hash to be added onto that default filename.
|
||||
try {
|
||||
val hash = "git rev-parse --short HEAD".runCommand(workingDir = rootDir)
|
||||
val newName = "${project.name}-${variant.name}-${hash}.apk"
|
||||
logger.quiet(" Found an output file ${output.outputFile.name}, renaming to ${newName}")
|
||||
val newName = "${project.name}-${variant.name}-${hashProvider.get()}.apk"
|
||||
logger.quiet(" Found an output file ${output.outputFile.name}, renaming to $newName")
|
||||
output.outputFileName = newName
|
||||
} catch (ignored: Exception) {
|
||||
logger.warn("Could not make use of the 'git' command-line tool. Output filenames will not be customized.")
|
||||
@@ -162,8 +133,143 @@ android {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fix PosixFilePermission class type check issue.
|
||||
*
|
||||
* It fixed the class cast exception when lib desugar enabled and minSdk < 26.
|
||||
*/
|
||||
abstract class FixPosixFilePermissionClassVisitorFactory :
|
||||
AsmClassVisitorFactory<FixPosixFilePermissionClassVisitorFactory.Params> {
|
||||
|
||||
override fun createClassVisitor(
|
||||
classContext: ClassContext,
|
||||
nextClassVisitor: ClassVisitor
|
||||
): ClassVisitor {
|
||||
return object : ClassVisitor(instrumentationContext.apiVersion.get(), nextClassVisitor) {
|
||||
override fun visitMethod(
|
||||
access: Int,
|
||||
name: String?,
|
||||
descriptor: String?,
|
||||
signature: String?,
|
||||
exceptions: Array<out String>?
|
||||
): MethodVisitor {
|
||||
if (name == "attributesToPermissions") { // org.apache.sshd.sftp.common.SftpHelper.attributesToPermissions
|
||||
return object : MethodVisitor(
|
||||
instrumentationContext.apiVersion.get(),
|
||||
super.visitMethod(access, name, descriptor, signature, exceptions)
|
||||
) {
|
||||
override fun visitTypeInsn(opcode: Int, type: String?) {
|
||||
// We need to prevent Android Desugar modifying the `PosixFilePermission` classname.
|
||||
//
|
||||
// Android Desugar will replace `CHECKCAST java/nio/file/attribute/PosixFilePermission`
|
||||
// to `CHECKCAST j$/nio/file/attribute/PosixFilePermission`.
|
||||
// We need to replace it with `CHECKCAST java/lang/Enum` to prevent Android Desugar from modifying it.
|
||||
if (opcode == CHECKCAST && type == "java/nio/file/attribute/PosixFilePermission") {
|
||||
println("Bypass PosixFilePermission type check success.")
|
||||
// `Enum` is the superclass of `PosixFilePermission`.
|
||||
// Due to `Object` is not the superclass of `Enum`, we need to use `Enum` instead of `Object`.
|
||||
super.visitTypeInsn(opcode, "java/lang/Enum")
|
||||
} else {
|
||||
super.visitTypeInsn(opcode, type)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.visitMethod(access, name, descriptor, signature, exceptions)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun isInstrumentable(classData: ClassData): Boolean {
|
||||
return (classData.className == "org.apache.sshd.sftp.common.SftpHelper").also {
|
||||
if (it) println("SftpHelper Found! Instrumenting...")
|
||||
}
|
||||
}
|
||||
|
||||
interface Params : InstrumentationParameters
|
||||
}
|
||||
|
||||
/**
|
||||
* Collections.unmodifiableXXX is not exist when Android API level is lower than 26.
|
||||
* So we replace the call to Collections.unmodifiableXXX with the original collection by removing the call.
|
||||
*/
|
||||
abstract class FixCollectionsClassVisitorFactory :
|
||||
AsmClassVisitorFactory<FixCollectionsClassVisitorFactory.Params> {
|
||||
override fun createClassVisitor(
|
||||
classContext: ClassContext,
|
||||
nextClassVisitor: ClassVisitor
|
||||
): ClassVisitor {
|
||||
return object : ClassVisitor(instrumentationContext.apiVersion.get(), nextClassVisitor) {
|
||||
override fun visitMethod(
|
||||
access: Int,
|
||||
name: String?,
|
||||
descriptor: String?,
|
||||
signature: String?,
|
||||
exceptions: Array<out String>?
|
||||
): MethodVisitor {
|
||||
return object : MethodVisitor(
|
||||
instrumentationContext.apiVersion.get(),
|
||||
super.visitMethod(access, name, descriptor, signature, exceptions)
|
||||
) {
|
||||
override fun visitMethodInsn(
|
||||
opcode: Int,
|
||||
type: String?,
|
||||
name: String?,
|
||||
descriptor: String?,
|
||||
isInterface: Boolean
|
||||
) {
|
||||
val backportClass = "org/kde/kdeconnect/Helpers/CollectionsBackport"
|
||||
|
||||
if (opcode == INVOKESTATIC && type == "java/util/Collections") {
|
||||
val replaceRules = mapOf(
|
||||
"unmodifiableNavigableSet" to "(Ljava/util/NavigableSet;)Ljava/util/NavigableSet;",
|
||||
"unmodifiableSet" to "(Ljava/util/Set;)Ljava/util/Set;",
|
||||
"unmodifiableNavigableMap" to "(Ljava/util/NavigableMap;)Ljava/util/NavigableMap;",
|
||||
"emptyNavigableMap" to "()Ljava/util/NavigableMap;")
|
||||
if (name in replaceRules && descriptor == replaceRules[name]) {
|
||||
super.visitMethodInsn(opcode, backportClass, name, descriptor, isInterface)
|
||||
val calleeClass = classContext.currentClassData.className
|
||||
println("Replace Collections.$name call with CollectionsBackport.$name from $calleeClass success.")
|
||||
return
|
||||
}
|
||||
}
|
||||
super.visitMethodInsn(opcode, type, name, descriptor, isInterface)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun isInstrumentable(classData: ClassData): Boolean {
|
||||
return classData.className.startsWith("org.apache.sshd") // We only need to fix the Apache SSHD library
|
||||
}
|
||||
|
||||
interface Params : InstrumentationParameters
|
||||
}
|
||||
|
||||
ksp {
|
||||
arg("com.albertvaka.classindexksp.annotations", "org.kde.kdeconnect.Plugins.PluginFactory.LoadablePlugin")
|
||||
}
|
||||
|
||||
androidComponents {
|
||||
onVariants { variant ->
|
||||
variant.instrumentation.transformClassesWith(
|
||||
FixPosixFilePermissionClassVisitorFactory::class.java,
|
||||
InstrumentationScope.ALL
|
||||
) { }
|
||||
variant.instrumentation.transformClassesWith(
|
||||
FixCollectionsClassVisitorFactory::class.java,
|
||||
InstrumentationScope.ALL
|
||||
) { }
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
coreLibraryDesugaring(libs.android.desugarJdkLibs)
|
||||
// It has a bug that causes a crash when using PosixFilePermission and minSdk < 26.
|
||||
// It has been used in SSHD Core.
|
||||
// We have taken a workaround to fix it.
|
||||
// See `FixPosixFilePermissionClassVisitorFactory` for more details.
|
||||
coreLibraryDesugaring(libs.android.desugarJdkLibsNio)
|
||||
|
||||
implementation(libs.androidx.compose.material3)
|
||||
implementation(libs.androidx.compose.ui.tooling.preview)
|
||||
@@ -190,13 +296,14 @@ dependencies {
|
||||
implementation(libs.slf4j.handroid)
|
||||
|
||||
implementation(libs.apache.sshd.core)
|
||||
implementation(libs.apache.mina.core) //For some reason, makes sshd-core:0.14.0 work without NIO, which isn't available until Android 8 (api 26)
|
||||
implementation(libs.apache.sshd.sftp)
|
||||
implementation(libs.apache.sshd.scp)
|
||||
implementation(libs.apache.sshd.mina)
|
||||
implementation(libs.apache.mina.core)
|
||||
|
||||
//implementation("com.github.bright:slf4android:0.1.6") { transitive = true } // For org.apache.sshd debugging
|
||||
implementation(libs.bcpkix.jdk15on) //For SSL certificate generation
|
||||
|
||||
implementation(libs.classindex)
|
||||
kapt(libs.classindex)
|
||||
ksp(libs.classindexksp)
|
||||
|
||||
// The android-smsmms library is the only way I know to handle MMS in Android
|
||||
// (Shouldn't a phone OS make phone things easy?)
|
||||
@@ -219,10 +326,7 @@ dependencies {
|
||||
|
||||
// Testing
|
||||
testImplementation(libs.junit)
|
||||
testImplementation(libs.powermock.core)
|
||||
testImplementation(libs.powermock.module.junit4)
|
||||
testImplementation(libs.powermock.api.mockito2)
|
||||
testImplementation(libs.mockito.core) // powermock isn't compatible with mockito 4
|
||||
testImplementation(libs.mockito.core)
|
||||
testImplementation(libs.jsonassert)
|
||||
|
||||
// For device controls
|
||||
|
6
dbg-res/mipmap-anydpi-v26/ic_launcher.xml
Normal file
6
dbg-res/mipmap-anydpi-v26/ic_launcher.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- <background android:drawable="@drawable/ic_launcher_background"/>-->
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
|
||||
</adaptive-icon>
|
5
dbg-res/mipmap-anydpi-v26/ic_launcher_banner.xml
Normal file
5
dbg-res/mipmap-anydpi-v26/ic_launcher_banner.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- <background android:drawable="@drawable/ic_launcher_banner_background"/>-->
|
||||
<foreground android:drawable="@drawable/ic_launcher_banner_foreground"/>
|
||||
</adaptive-icon>
|
6
dbg-res/mipmap-anydpi-v26/ic_launcher_round.xml
Normal file
6
dbg-res/mipmap-anydpi-v26/ic_launcher_round.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- <background android:drawable="@drawable/ic_launcher_background"/>-->
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
|
||||
</adaptive-icon>
|
5
dbg-res/values-en-rGB/strings.xml
Normal file
5
dbg-res/values-en-rGB/strings.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<resources>
|
||||
<string name="kde_connect">Debug KDE Connect</string>
|
||||
</resources>
|
5
dbg-res/values/strings.xml
Normal file
5
dbg-res/values/strings.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<resources>
|
||||
<string name="kde_connect">Debug KDE Connect</string>
|
||||
</resources>
|
21
fastlane/metadata/android/ar/full_description.txt
Normal file
21
fastlane/metadata/android/ar/full_description.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
يوفر جسر كِيدِي مجموعة من الميزات لدمج سير عملك عبر الأجهزة:
|
||||
|
||||
- نقل الملفات بين أجهزتك.
|
||||
- الوصول إلى الملفات الموجودة على هاتفك من حاسوبك، دون أسلاك.
|
||||
- الحافظة المشتركة: النسخ واللصق بين أجهزتك.
|
||||
- الحصول على إشعارات للمكالمات والرسائل الواردة على حاسوبك.
|
||||
- لوحة اللمس الافتراضية: استخدم شاشة هاتفك كلوحة لمس لحاسوبك.
|
||||
- مزامنة الإشعارات: الوصول إلى إشعارات هاتفك من حاسوبك والرد على الرسائل.
|
||||
- التحكم عن بعد في الوسائط المتعددة: استخدم هاتفك كجهاز تحكم عن بعد لمشغلات الوسائط لينكس.
|
||||
- اتصال واي فاي: لا حاجة إلى سلك USB أو بلوتوث.
|
||||
- تشفير TLS من البداية إلى النهاية: معلوماتك آمنة.
|
||||
|
||||
يرجى ملاحظة أنك ستحتاج إلى تثبيت جسر كِيدِي على حاسوبك حتى يعمل هذا التطبيق، والحفاظ على تحديث إصدار سطح المكتب بإصدار أندوريد حتى تعمل أحدث الميزات.
|
||||
|
||||
معلومات الأذونات الحساسة:
|
||||
* إذن إمكانية الوصول: مطلوب لتلقي إدخال من جهاز آخر للتحكم في هاتف أندرويد خاص بك، إذا كنت تستخدم ميزة الإدخال عن بُعد.
|
||||
* إذن تحديد الموقع في الخلفية: مطلوب لمعرفة شبكة واي فاي التي تتصل بها، إذا كنت تستخدم ميزة الشبكات الموثوقة.
|
||||
|
||||
لا يرسل جسر كِيدِي أي معلومات إلى كيدي أو إلى أي طرف ثالث. يرسل جسر كِيدِي البيانات من جهاز إلى آخر مباشرةً باستخدام الشبكة المحلية، وليس عبر الإنترنت، وباستخدام التشفير من البداية إلى النهاية.
|
||||
|
||||
هذا التطبيق جزء من مشروع مفتوح المصدر وهو موجود بفضل جميع الأشخاص الذين ساهموا فيه. قم بزيارة الموقع الإلكتروني للحصول على الشفرة المصدرية.
|
1
fastlane/metadata/android/ar/short_description.txt
Normal file
1
fastlane/metadata/android/ar/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
يدمج جسر كِيدِي هاتفك الذكي مع حاسوبك
|
1
fastlane/metadata/android/ar/title.txt
Normal file
1
fastlane/metadata/android/ar/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
KDE Connect
|
21
fastlane/metadata/android/bg/full_description.txt
Normal file
21
fastlane/metadata/android/bg/full_description.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
KDE Connect предоставя набор от функции за интегриране на вашия работен процес на различни устройства:
|
||||
|
||||
- Прехвърляйте файлове между вашите устройства.
|
||||
- Осъществявайте достъп до файлове на телефона си от компютъра си, без кабели.
|
||||
- Споделен клипборд: копирайте и поставяйте между вашите устройства.
|
||||
- Получавайте известия за входящи обаждания и съобщения на вашия компютър.
|
||||
- Виртуален тъчпад: Използвайте екрана на телефона си като тъчпад на компютъра.
|
||||
- Синхронизиране на известия: Достъп до известията на телефона ви от вашия компютър и отговаряне на съобщения.
|
||||
- Мултимедийно дистанционно управление: Използвайте телефона си като дистанционно за Linux медийни плейъри.
|
||||
- WiFi връзка: не е необходим USB кабел или bluetooth.
|
||||
- TLS криптиране от край до край: информацията ви е в безопасност.
|
||||
|
||||
Моля, имайте предвид, че ще трябва да инсталирате KDE Connect на вашия компютър, за да работи това приложение, и поддържайте версията за настолен компютър актуална с версията за Android, за да работят най-новите функции.
|
||||
|
||||
Поверителна информация за разрешения:
|
||||
* Разрешение за достъпност: Изисква се за получаване на вход от друго устройство за управление на вашия телефон с Android, ако използвате функцията за отдалечено въвеждане.
|
||||
* Разрешение за местоположение във фонов режим: Изисква се, за да знаете към коя WiFi мрежа сте свързани, ако използвате функцията Trusted Networks.
|
||||
|
||||
KDE Connect никога не изпраща никаква информация на KDE или на трета страна. KDE Connect изпраща данни от едно устройство на друго директно чрез локалната мрежа, никога през интернет, и чрез криптиране от край до край.
|
||||
|
||||
Това приложение е част от проект с отворен код и съществува благодарение на всички хора, които са допринесли за него. Посетете уебсайта, за да вземете изходния код.
|
1
fastlane/metadata/android/bg/short_description.txt
Normal file
1
fastlane/metadata/android/bg/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
KDE Connect интегрира вашия смартфон и компютър
|
1
fastlane/metadata/android/bg/title.txt
Normal file
1
fastlane/metadata/android/bg/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
KDE Connect
|
@@ -1,21 +1,21 @@
|
||||
KDE Connect provides a set of features to integrate your workflow across devices:
|
||||
KDE Connect bietet eine Reihe von Funktionen, um Ihre Arbeitsabläufe über verschiedene Geräte zu vereinigen:
|
||||
|
||||
- Transfer files between your devices.
|
||||
- Access files on your phone from your computer, without wires.
|
||||
- Shared clipboard: copy and paste between your devices.
|
||||
- Get notifications for incoming calls and messages on your computer.
|
||||
- Virtual touchpad: Use your phone screen as your computer's touchpad.
|
||||
- Notifications sync: Access your phone notifications from your computer and reply to messages.
|
||||
- Multimedia remote control: Use your phone as a remote for Linux media players.
|
||||
- WiFi connection: no USB wire or bluetooth needed.
|
||||
- End-to-end TLS encryption: your information is safe.
|
||||
- Daten zwischen Ihren Geräten übertragen.
|
||||
- Auf Daten auf Ihrem Telefon von Ihrem Computer aus zugreifen, ohne Kabel.
|
||||
- Geteilte Zwischenablage: Kopieren und Einfügen zwischen Ihren Geräten.
|
||||
- Erhalten Sie Benachrichtigungen über eingehende Anrufe und Nachrichten auf Ihren Computer.
|
||||
- Virtuelles Touchpad: Verwenden Sie den Bildschirm Ihres Telefons als Touchpad für Ihren Computer.
|
||||
- Abgleich der Benachrichtigungen: Greifen Sie über den Computer auf Ihre Telefonbenachrichtigungen zu und antworten Sie auf Nachrichten.
|
||||
- Multimedia-Fernbedienung: Verwenden Sie Ihr Telefon als Fernbedienung für Linux-Medienspieler.
|
||||
- WLAN-Verbindung: kein USB-Kabel oder Bluetooth erforderlich.
|
||||
- Ende-zu-Ende-TLS-Verschlüsselung: Ihre Informationen sind sicher.
|
||||
|
||||
Please note you will need to install KDE Connect on your computer for this app to work, and keep the desktop version up-to-date with the Android version for the latest features to work.
|
||||
Bitte beachten Sie, dass Sie KDE Connect auf Ihrem Computer installieren müssen, damit diese App funktioniert und halten Sie die Desktop-Version mit der Android-Version auf dem aktuellen Stand, um die neuesten Funktionen nutzen zu können.
|
||||
|
||||
Sensitive permissions information:
|
||||
* Accessibility permission: Required to receive input from another device to control your Android phone, if you use the Remote Input feature.
|
||||
* Background location permission: Required to know to which WiFi network you are connected to, if you use the Trusted Networks feature.
|
||||
Informationen zu sensiblen Berechtigungen:
|
||||
* Zugriffsberechtigung: Wird benötigt, um Eingaben zur Steuerung ihres Android-Telefons von einem anderen Gerät zu erhalten, wenn Sie die Ferneingabefunktion verwenden.
|
||||
* Berechtigung den Standort im Hintergrund zu nutzen: Wird benötigt, um festzustellen, mit welchem WLAN-Netzwerk Sie verbunden sind, wenn Sie die Funktion „Vertrauenswürdige Netzwerke” verwenden.
|
||||
|
||||
KDE Connect never sends any information to KDE nor to any third party. KDE Connect sends data from one device to the other directly using the local network, never through the internet, and using end to end encryption.
|
||||
KDE Connect sendet niemals irgendwelche Informationen an KDE oder an Dritte. KDE Connect sendet Daten, unter Verwendung einer Ende-zu-Ende-Verschlüsselung, über das lokale Netzwerk direkt von einem Gerät zum anderen, niemals über das Internet.
|
||||
|
||||
This app is part of an open source project and it exists thanks to all the people who contributed to it. Visit the website to grab the source code.
|
||||
Diese App ist Teil eines Open-Scource-Projekts und besteht Dank all der Menschen die dazu beigetragen haben. Besuchen Sie die Internetseite, um sich den Quelltext zu holen.
|
11
fastlane/metadata/android/en-US/changelogs/13101.txt
Normal file
11
fastlane/metadata/android/en-US/changelogs/13101.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
1.31
|
||||
* Allow sharing URLs to disconnected devices, to be opened when they become available later
|
||||
* Show a notification to continue playing media on this device after stopping it on another device
|
||||
* Display a shortened version of the pairing verification key
|
||||
* Tweaks to the app theme
|
||||
|
||||
1.30
|
||||
* Added Bluetooth support (beta)
|
||||
* Improved device controls
|
||||
* Added scroll sensitivity option to remote input
|
||||
* Accessibility improvements
|
10
fastlane/metadata/android/en-US/changelogs/13200.txt
Normal file
10
fastlane/metadata/android/en-US/changelogs/13200.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
1.32
|
||||
* Rewrite the remote file browsing
|
||||
* Add Direct Share targets
|
||||
* Send album art from phone to PC
|
||||
|
||||
1.31
|
||||
* Allow sharing URLs to disconnected devices, to be opened when they become available later
|
||||
* Show a notification to continue playing media on this device after stopping it on another device
|
||||
* Display a shortened version of the pairing verification key
|
||||
* Tweaks to the app theme
|
13
fastlane/metadata/android/en-US/changelogs/13201.txt
Normal file
13
fastlane/metadata/android/en-US/changelogs/13201.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
1.32.1
|
||||
* Fixed a crash when opening the presentation remote
|
||||
|
||||
1.32
|
||||
* Rewrite the remote file browsing
|
||||
* Add Direct Share targets
|
||||
* Send album art from phone to PC
|
||||
|
||||
1.31
|
||||
* Allow sharing URLs to disconnected devices, to be opened when they become available later
|
||||
* Show a notification to continue playing media on this device after stopping it on another device
|
||||
* Display a shortened version of the pairing verification key
|
||||
* Tweaks to the app theme
|
11
fastlane/metadata/android/en-US/changelogs/13202.txt
Normal file
11
fastlane/metadata/android/en-US/changelogs/13202.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
1.32.2
|
||||
* Handle expired certificates
|
||||
* Support doubletap drag in remote mouse
|
||||
|
||||
1.32.1
|
||||
* Fixed a crash when opening the presentation remote
|
||||
|
||||
1.32
|
||||
* Rewrite the remote file browsing
|
||||
* Add Direct Share targets
|
||||
* Send album art from phone to PC
|
14
fastlane/metadata/android/en-US/changelogs/13203.txt
Normal file
14
fastlane/metadata/android/en-US/changelogs/13203.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
1.32.3
|
||||
* Fix trusted devices list
|
||||
|
||||
1.32.2
|
||||
* Handle expired certificates
|
||||
* Support doubletap drag in remote mouse
|
||||
|
||||
1.32.1
|
||||
* Fixed a crash when opening the presentation remote
|
||||
|
||||
1.32
|
||||
* Rewrite the remote file browsing
|
||||
* Add Direct Share targets
|
||||
* Send album art from phone to PC
|
17
fastlane/metadata/android/en-US/changelogs/13205.txt
Normal file
17
fastlane/metadata/android/en-US/changelogs/13205.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
1.32.5
|
||||
* Fixed crash in Android 14+
|
||||
|
||||
1.32.3
|
||||
* Fix trusted devices list
|
||||
|
||||
1.32.2
|
||||
* Handle expired certificates
|
||||
* Support doubletap drag in remote mouse
|
||||
|
||||
1.32.1
|
||||
* Fixed a crash when opening the presentation remote
|
||||
|
||||
1.32
|
||||
* Rewrite the remote file browsing
|
||||
* Add Direct Share targets
|
||||
* Send album art from phone to PC
|
16
fastlane/metadata/android/en-US/changelogs/13207.txt
Normal file
16
fastlane/metadata/android/en-US/changelogs/13207.txt
Normal file
@@ -0,0 +1,16 @@
|
||||
1.32.7
|
||||
* Fixed file transfers showing as failed when they succeeded
|
||||
* Fixed plugin list not updating after granting permissions
|
||||
|
||||
1.32.5
|
||||
* Fixed crash in Android 14+
|
||||
|
||||
1.32.3
|
||||
* Fix trusted devices list
|
||||
|
||||
1.32.2
|
||||
* Handle expired certificates
|
||||
* Support doubletap drag in remote mouse
|
||||
|
||||
1.32.1
|
||||
* Fixed a crash when opening the presentation remote
|
14
fastlane/metadata/android/en-US/changelogs/13210.txt
Normal file
14
fastlane/metadata/android/en-US/changelogs/13210.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
1.32.10
|
||||
* Fixed app showing behind the notifications bar in Android 15
|
||||
* Fixed file transfers showing as failed when they succeeded
|
||||
* Fixed plugin list not updating after granting permissions
|
||||
|
||||
1.32.3
|
||||
* Fix trusted devices list
|
||||
|
||||
1.32.2
|
||||
* Handle expired certificates
|
||||
* Support doubletap drag in remote mouse
|
||||
|
||||
1.32.1
|
||||
* Fixed a crash when opening the presentation remote
|
6
fastlane/metadata/android/en-US/changelogs/13300.txt
Normal file
6
fastlane/metadata/android/en-US/changelogs/13300.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
1.33.0
|
||||
* Add support for PeerTube links
|
||||
* Allow filtering notifications from work profile
|
||||
* Fix bug where devices would unpair without user interaction
|
||||
* Verification key now changes every second (only if both devices support it)
|
||||
* Fix crashes
|
9
fastlane/metadata/android/en-US/changelogs/13301.txt
Normal file
9
fastlane/metadata/android/en-US/changelogs/13301.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
1.33.1
|
||||
* Fix compatibility with GSConnect
|
||||
|
||||
1.33.0
|
||||
* Add support for PeerTube links
|
||||
* Allow filtering notifications from work profile
|
||||
* Fix bug where devices would unpair without user interaction
|
||||
* Verification key now changes every second (only if both devices support it)
|
||||
* Fix crashes
|
12
fastlane/metadata/android/en-US/changelogs/13302.txt
Normal file
12
fastlane/metadata/android/en-US/changelogs/13302.txt
Normal file
@@ -0,0 +1,12 @@
|
||||
1.33.2
|
||||
* Fix connection issues on some devices
|
||||
|
||||
1.33.1
|
||||
* Fix compatibility with GSConnect
|
||||
|
||||
1.33.0
|
||||
* Add support for PeerTube links
|
||||
* Allow filtering notifications from work profile
|
||||
* Fix bug where devices would unpair without user interaction
|
||||
* Verification key now changes every second (only if both devices support it)
|
||||
* Fix crashes
|
16
fastlane/metadata/android/en-US/changelogs/13303.txt
Normal file
16
fastlane/metadata/android/en-US/changelogs/13303.txt
Normal file
@@ -0,0 +1,16 @@
|
||||
1.33.3
|
||||
* Fix more connection issues. Pairing again might be needed in some setups.
|
||||
* Add a setting to export the application logs.
|
||||
|
||||
1.33.2
|
||||
* Fix connection issues on some devices.
|
||||
|
||||
1.33.1
|
||||
* Fix compatibility with GSConnect.
|
||||
|
||||
1.33.0
|
||||
* Add support for PeerTube links.
|
||||
* Allow filtering notifications from work profile.
|
||||
* Fix bug where devices would unpair without user interaction.
|
||||
* Verification key now changes every second (only if both devices support it).
|
||||
* Fix crashes.
|
16
fastlane/metadata/android/en-US/changelogs/13304.txt
Normal file
16
fastlane/metadata/android/en-US/changelogs/13304.txt
Normal file
@@ -0,0 +1,16 @@
|
||||
1.33.4
|
||||
* Extend offline URL sharing behavior to direct share targets.
|
||||
* Improve paring screen.
|
||||
|
||||
1.33.3
|
||||
* Fix connection issues. Pairing again might be needed in some cases.
|
||||
* Add a setting to export the application logs.
|
||||
|
||||
1.33.1
|
||||
* Fix compatibility with GSConnect.
|
||||
|
||||
1.33.0
|
||||
* Add support for PeerTube links.
|
||||
* Allow filtering notifications from work profile.
|
||||
* Fix bug where devices would unpair without user interaction.
|
||||
* Verification key now changes every second (if both devices support it).
|
@@ -1,14 +1,21 @@
|
||||
KDE Connect provides a set of features to integrate your workflow across devices:
|
||||
|
||||
- Transfer files between your devices.
|
||||
- Access files on your phone from your computer, without wires.
|
||||
- Shared clipboard: copy and paste between your devices.
|
||||
- Share files and URLs to your computer from any app.
|
||||
- Get notifications for incoming calls and SMS messages on your PC.
|
||||
- Get notifications for incoming calls and messages on your computer.
|
||||
- Virtual touchpad: Use your phone screen as your computer's touchpad.
|
||||
- Notifications sync: Read your Android notifications from the desktop.
|
||||
- Notifications sync: Access your phone notifications from your computer and reply to messages.
|
||||
- Multimedia remote control: Use your phone as a remote for Linux media players.
|
||||
- WiFi connection: no USB wire or bluetooth needed.
|
||||
- End-to-end TLS encryption: your information is safe.
|
||||
|
||||
Please note you will need to install KDE Connect on your computer for this app to work, and keep the desktop version up-to-date with the Android version for the latest features to work.
|
||||
|
||||
Sensitive permissions information:
|
||||
* Accessibility permission: Required to receive input from another device to control your Android phone, if you use the Remote Input feature.
|
||||
* Background location permission: Required to know to which WiFi network you are connected to, if you use the Trusted Networks feature.
|
||||
|
||||
KDE Connect never sends any information to KDE nor to any third party. KDE Connect sends data from one device to the other directly using the local network, never through the internet, and using end to end encryption.
|
||||
|
||||
This app is part of an open source project and it exists thanks to all the people who contributed to it. Visit the website to grab the source code.
|
@@ -6,7 +6,7 @@ KDEConnect fournit un ensemble de fonctionnalités pour intégrer votre flux de
|
||||
- Apparition de notifications pour les appels et les messages entrants sur votre ordinateur.
|
||||
- Pavé tactile virtuel : utilisation de l'écran de votre téléphone comme pavé tactile pour votre ordinateur.
|
||||
- Synchronisation de vos notifications : accès à vos notifications téléphoniques depuis votre ordinateur et réponses aux messages.
|
||||
- Télé-commande multimédia : utilisation de votre téléphone comme télécommande pour les lecteurs de médias sous Linux.
|
||||
- Télé-commande multimédia : utilisation de votre téléphone comme télécommande pour les lecteurs de média sous Linux.
|
||||
- Connexion au Wifi : aucun connexion USB ou Bluetooth nécessaire.
|
||||
- Chiffrement « TLS » de bout en bout : vos informations sont en sécurité.
|
||||
|
||||
@@ -18,4 +18,4 @@ Informations sur les permissions sensibles :
|
||||
|
||||
KDEConnect n'envoie jamais d'informations à KDE ni à aucun tiers. KDEConnect envoie des données d'un périphérique à un autre à l'aide du réseau local, mais jamais par Internet et en utilisant le chiffrement de bout en bout.
|
||||
|
||||
Cette application fait partie d'un projet « Open source ». Il existe grâce à toutes les personnes qui y ont contribué.Visitez le site Internet pour accéder au code source.
|
||||
Cette application fait partie d'un projet « Open source ». Il existe grâce à toutes les personnes qui y ont contribué. Veuillez visiter le site Internet pour accéder au code source.
|
21
fastlane/metadata/android/no-NO/full_description.txt
Normal file
21
fastlane/metadata/android/no-NO/full_description.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
KDE Connect tilbyr eit sett funksjonar som lèt deg enkelt arbeida på tvers av einingar:
|
||||
|
||||
– Overfør filer mellom einingane
|
||||
– Få trådlaus tilgang til filer på telefonen frå datamaskina
|
||||
– Del utklippsbilete: kopier og lim inn mellom einingane
|
||||
– Vert varsla på datamaskina om innkommande samtalar og tekstmeldingar
|
||||
– Virtuell styreplate: bruk telefonskjermen som styreplate for datamaskina
|
||||
– Synkronisering av varslingar: få tilgang til telefonvarslingar frå datamaskina og svar på meldingar
|
||||
– Fjernkontroll av medieavspeling: bruk telefonen til å styra Linux-baserte mediespelarar
|
||||
– Wi-Fi-tilkopling: du treng ikkje USB- eller Bluetooth-tilkopling
|
||||
– Ende-til-ende-kryptering: informasjonen din er trygg
|
||||
|
||||
Merk at du må installera KDE Connect på datamaskina for å kunna bruka appen. Hugs å halda PC-versjonen oppdatert med Android-versjonen for tilgang til dei nyaste funksjonane.
|
||||
|
||||
Informasjon om sensitive løyve:
|
||||
– Tilgjenge-løyve: Trengst for å kunna ta imot tastetrykk frå PC for å styra Android-eininga om du brukar funksjonen «Fjernstyring»
|
||||
– Bakgrunnsløyve til å sjå geografiske posisjon: Trengst for å veta kva Wi-Fi-nettverk du er tilkopla om du brukar funksjonen «Tiltrudde nettverk»
|
||||
|
||||
KDE Connect sender aldri informasjon til KDE eller nokon tredjepart. Programmet sender data direkte mellom dei to einingane via lokalnettet, aldri via Internett og alltid med ende-til-ende-kryptering.
|
||||
|
||||
Appen er ein del av eit fri programvare-prosjekt og er blitt til takka vera mange bidragsytarar. Gå til heimesida for å sjå kjeldekoden.
|
1
fastlane/metadata/android/no-NO/short_description.txt
Normal file
1
fastlane/metadata/android/no-NO/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
KDE Connect koplar telefonen din saman med datamaskina
|
1
fastlane/metadata/android/no-NO/title.txt
Normal file
1
fastlane/metadata/android/no-NO/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
KDE Connect
|
@@ -1,20 +1,21 @@
|
||||
O KDE Connect fornece um conjunto de recursos para integrar seu fluxo de trabalho entre dispositivos:
|
||||
|
||||
- Transfira arquivos entre seus dispositivos.
|
||||
- Acesse arquivos do seu computador no seu telefone, sem fios.
|
||||
- Área de transferência compartilhada: copie e cole entre seus dispositivos.
|
||||
- Compartilhe arquivos e URLs em seu computador a partir de qualquer app.
|
||||
- Receba notificações de chamadas recebidas e mensagens SMS no seu PC.
|
||||
- Touchpad virtual: use a tela do telefone como touchpad do computador.
|
||||
- Sincronização de notificações: leia as notificações do seu Android na área de trabalho.
|
||||
- Controle remoto multimídia: use seu telefone como controle remoto para reprodutores de mídia Linux.
|
||||
- Sincronização de notificações: acesse as notificações do seu telefone no seu computador e responda as mensagens.
|
||||
- Controle remoto multimídia: use seu telefone como controle remoto para reprodutores de mídia no Linux.
|
||||
- Conexão Wi-Fi: sem necessidade de cabos USB ou bluetooth.
|
||||
- Criptografia TLS de ponta a ponta: suas informações estão seguras.
|
||||
|
||||
Observe que você precisará instalar o KDE Connect no seu computador para que este aplicativo funcione e mantenha a versão para desktop atualizada com a versão do Android para que os recursos mais recentes funcionem.
|
||||
|
||||
Informações a respeito de permissões especiais :
|
||||
Informações sobre permissões sensíveis:
|
||||
* Permissão de acessibilidade: necessária para receber entrada de outro dispositivo para controlar seu telefone Android, se você usar o recurso de entrada remota.
|
||||
* Permissão de localização em segundo plano: necessária para saber a qual rede Wi-Fi você está conectado, se você usar o recurso de redes confiáveis.
|
||||
|
||||
O KDE Connect nunca envia nenhuma informação ao KDE nem a terceiros. O KDE Connect envia dados de um dispositivo para outro diretamente usando a rede local, nunca pela Internet e usando criptografia de ponta a ponta.
|
||||
O KDE Connect nunca envia nenhuma informação ao KDE ou a terceiros. O KDE Connect envia dados de um dispositivo para outro diretamente usando a rede local, nunca pela Internet e usando criptografia de ponta a ponta.
|
||||
|
||||
Este aplicativo faz parte de um projeto de código aberto e existe graças a todas as pessoas que contribuíram para ele. Visite o site para obter o código-fonte.
|
20
fastlane/metadata/android/ru-RU/full_description.txt
Normal file
20
fastlane/metadata/android/ru-RU/full_description.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
KDE Connect предоставляет набор функций для интеграции рабочего процесса между устройствами:
|
||||
- Передача файлов между устройствами.
|
||||
- Доступ к файлам на телефоне с компьютера без проводов.
|
||||
- Общий буфер обмена: копирование и вставка между устройствами.
|
||||
- Уведомления о входящих вызовах и сообщениях на компьютере.
|
||||
- Виртуальный тачпад: использование экрана телефона в качестве тачпада для компьютера.
|
||||
- Синхронизация уведомлений: доступ к уведомлениям телефона с компьютера и возможность отвечать на сообщения.
|
||||
- Дистанционное управление мультимедиа: использование телефона как пульта для медиаплееров в Linux.
|
||||
- Подключение по Wi-Fi: без проводов USB или Bluetooth.
|
||||
- Сквозное шифрование TLS: безопасность передаваемой информации.
|
||||
|
||||
Обратите внимание, что для работы приложения требуется установка KDE Connect на компьютере. Для поддержки всех функций, версия на компьютере должна быть актуальной и соответствовать версии на Android .
|
||||
|
||||
Информация о чувствительных разрешениях:
|
||||
|
||||
- Разрешение «Специальные возможности»: необходимо для получения ввода с другого устройства при использовании функции дистанционного ввода.
|
||||
- Разрешение «Фоновое определение местоположения»: необходимо для определения текущей Wi-Fi-сети при использовании функции «Доверенные сети».
|
||||
|
||||
KDE Connect никогда не отправляет данные ни в KDE, ни третьим лицам. Передача данных осуществляется напрямую между устройствами через локальную сеть, без использования интернета, с применением сквозного шифрования.
|
||||
Приложение является частью проекта с открытым исходным кодом и существует благодаря сообществу участников. Исходный код доступен на официальном сайте.
|
1
fastlane/metadata/android/ru-RU/short_description.txt
Normal file
1
fastlane/metadata/android/ru-RU/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
KDE Connect позволяет соединить смартфон и компьютер
|
1
fastlane/metadata/android/ru-RU/title.txt
Normal file
1
fastlane/metadata/android/ru-RU/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
KDE Connect
|
@@ -1,4 +1,4 @@
|
||||
KDE 連線提供許多功能讓您整合您跨裝置的作業流程:
|
||||
KDE Connect 提供許多功能讓您整合您跨裝置的作業流程:
|
||||
|
||||
- 在您的裝置之間傳輸檔案。
|
||||
- 從您的電腦無線存取您的手機上的檔案。
|
||||
@@ -10,12 +10,12 @@ KDE 連線提供許多功能讓您整合您跨裝置的作業流程:
|
||||
- WiFi 連線:不需要 USB 線或是藍牙連線。
|
||||
- 點對點 TLS 加密:您的資訊是安全的。
|
||||
|
||||
請注意,這個應用程式需要您在電腦上也安裝 KDE 連線才能正常運作;最新功能也會需要電腦的版本跟 Android 的版本一樣新才能正常運作。
|
||||
請注意,這個應用程式需要您在電腦上也安裝 KDE Connect 才能正常運作;最新功能也會需要電腦的版本跟 Android 的版本一樣新才能正常運作。
|
||||
|
||||
敏感權限資訊:
|
||||
* 協助工具權限:如果您使用「遠端輸入」功能,需要它來從另一個裝置接收輸入後控制您的 Android 裝置。
|
||||
* 背景位置權限:如果您使用「信任網路」功能,需要它來得知您目前連線的 WiFi 網路。
|
||||
|
||||
KDE 連線不會傳送任何資訊給 KDE 或任何第三方。KDE 連線利用本地網路直接從一個裝置傳送資料到另一個裝置,不會透過網際網路,並且同時使用點對點加密。
|
||||
KDE Connect 不會傳送任何資訊給 KDE 或任何第三方。KDE Connect 利用本地網路直接從一個裝置傳送資料到另一個裝置,不會透過網際網路,並且同時使用點對點加密。
|
||||
|
||||
這個應用程式是一個開源專案的一部分,它的存在歸功於所有貢獻者。可造訪網站取得原始碼。
|
@@ -1 +1 @@
|
||||
KDE 連線整合了您的智慧型手機與電腦
|
||||
KDE Connect 整合了您的智慧型手機與電腦
|
@@ -1,3 +1,7 @@
|
||||
android.enableJetifier=false
|
||||
android.useAndroidX=true
|
||||
org.gradle.jvmargs=-Xmx4096m
|
||||
org.gradle.caching=true
|
||||
org.gradle.parallel=true
|
||||
# License report doesn't allow us to enable configuration caching
|
||||
#org.gradle.configuration-cache=true
|
@@ -1,47 +1,45 @@
|
||||
[versions]
|
||||
activityCompose = "1.8.2"
|
||||
androidDesugarJdkLibs = "2.0.4"
|
||||
androidGradlePlugin = "8.4.0"
|
||||
activityCompose = "1.10.1"
|
||||
androidDesugarJdkLibs = "2.1.5"
|
||||
androidGradlePlugin = "8.10.1"
|
||||
androidSmsmms = "kdeconnect-1-21-0"
|
||||
appcompat = "1.6.1"
|
||||
appcompat = "1.7.0"
|
||||
bcpkixJdk15on = "1.70"
|
||||
classindex = "3.13"
|
||||
commonsCollections4 = "4.4"
|
||||
commonsIo = "2.16.1"
|
||||
commonsLang3 = "3.14.0"
|
||||
constraintlayoutCompose = "1.0.1"
|
||||
compose-compiler = "1.5.11"
|
||||
coreKtx = "1.12.0"
|
||||
classindexksp = "1.2"
|
||||
commonsCollections4 = "4.5.0"
|
||||
commonsIo = "2.19.0"
|
||||
commonsLang3 = "3.17.0"
|
||||
constraintlayoutCompose = "1.1.1"
|
||||
coreKtx = "1.16.0"
|
||||
dependencyLicenseReport = "2.9"
|
||||
disklrucache = "2.0.2"
|
||||
documentfile = "1.0.1"
|
||||
gradle = "8.4.0"
|
||||
gridlayout = "1.0.0"
|
||||
jsonassert = "1.5.1"
|
||||
documentfile = "1.1.0"
|
||||
gridlayout = "1.1.0"
|
||||
jsonassert = "1.5.3"
|
||||
junit = "4.13.2"
|
||||
dependencyLicenseReport = "1.16"
|
||||
kotlin = "1.9.23"
|
||||
kotlinxCoroutinesCore = "1.8.0"
|
||||
kotlin = "2.1.21"
|
||||
kspPlugin = "2.1.21-2.0.1"
|
||||
kotlinxCoroutinesCore = "1.10.2"
|
||||
lifecycleExtensions = "2.2.0"
|
||||
lifecycleRuntimeKtx = "2.7.0"
|
||||
lifecycleRuntimeKtx = "2.9.0"
|
||||
logger = "1.0.3"
|
||||
material = "1.11.0"
|
||||
material3 = "1.2.1"
|
||||
material = "1.12.0"
|
||||
material3 = "1.3.2"
|
||||
media = "1.7.0"
|
||||
minaCore = "2.0.19"
|
||||
mockitoCore = "3.12.4"
|
||||
powermockModuleJunit4 = "2.0.9"
|
||||
minaCore = "2.2.4"
|
||||
mockitoCore = "5.18.0"
|
||||
preferenceKtx = "1.2.1"
|
||||
reactiveStreams = "1.0.4"
|
||||
recyclerview = "1.3.2"
|
||||
recyclerview = "1.4.0"
|
||||
rxjava = "2.2.21"
|
||||
sshdCore = "0.14.0"
|
||||
sl4j = "2.0.13"
|
||||
sshdCore = "2.15.0"
|
||||
swiperefreshlayout = "1.1.0"
|
||||
uiToolingPreview = "1.6.5"
|
||||
uiToolingPreview = "1.8.2"
|
||||
univocityParsers = "2.9.1"
|
||||
sl4j = "2.0.4"
|
||||
|
||||
[libraries]
|
||||
android-desugarJdkLibs = { module = "com.android.tools:desugar_jdk_libs", version.ref = "androidDesugarJdkLibs" }
|
||||
android-desugarJdkLibsNio = { module = "com.android.tools:desugar_jdk_libs_nio", version.ref = "androidDesugarJdkLibs" }
|
||||
android-smsmms = { module = "org.kde.invent.sredman:android-smsmms", version.ref = "androidSmsmms" }
|
||||
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activityCompose" }
|
||||
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" }
|
||||
@@ -61,14 +59,14 @@ androidx-preference-ktx = { module = "androidx.preference:preference-ktx", versi
|
||||
androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version.ref = "recyclerview" }
|
||||
androidx-swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version.ref = "swiperefreshlayout" }
|
||||
bcpkix-jdk15on = { module = "org.bouncycastle:bcpkix-jdk15on", version.ref = "bcpkixJdk15on" }
|
||||
classindex = { module = "org.atteo.classindex:classindex", version.ref = "classindex" }
|
||||
classindexksp = { module = "com.github.albertvaka:classindexksp", version.ref = "classindexksp" }
|
||||
commons-collections4 = { module = "org.apache.commons:commons-collections4", version.ref = "commonsCollections4" }
|
||||
commons-io = { module = "commons-io:commons-io", version.ref = "commonsIo" }
|
||||
commons-lang3 = { module = "org.apache.commons:commons-lang3", version.ref = "commonsLang3" }
|
||||
disklrucache = { module = "com.jakewharton:disklrucache", version.ref = "disklrucache" }
|
||||
android-gradlePlugin = { module = "com.android.tools.build:gradle", version.ref = "gradle" }
|
||||
jsonassert = { module = "org.skyscreamer:jsonassert", version.ref = "jsonassert" }
|
||||
junit = { module = "junit:junit", version.ref = "junit" }
|
||||
android-gradlePlugin = { module = "com.android.tools.build:gradle", version.ref = "androidGradlePlugin" }
|
||||
kotlin-gradlePlugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
|
||||
kotlin-stdlib-jdk8 = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlin" }
|
||||
kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinxCoroutinesCore" }
|
||||
@@ -77,10 +75,10 @@ logger = { module = "com.klinkerapps:logger", version.ref = "logger" }
|
||||
material = { module = "com.google.android.material:material", version.ref = "material" }
|
||||
apache-mina-core = { module = "org.apache.mina:mina-core", version.ref = "minaCore" }
|
||||
apache-sshd-core = { module = "org.apache.sshd:sshd-core", version.ref = "sshdCore" }
|
||||
apache-sshd-sftp = { module = "org.apache.sshd:sshd-sftp", version.ref = "sshdCore" }
|
||||
apache-sshd-scp = { module = "org.apache.sshd:sshd-scp", version.ref = "sshdCore" }
|
||||
apache-sshd-mina = { module = "org.apache.sshd:sshd-mina", version.ref = "sshdCore" }
|
||||
mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockitoCore" }
|
||||
powermock-api-mockito2 = { module = "org.powermock:powermock-api-mockito2", version.ref = "powermockModuleJunit4" }
|
||||
powermock-core = { module = "org.powermock:powermock-core", version.ref = "powermockModuleJunit4" }
|
||||
powermock-module-junit4 = { module = "org.powermock:powermock-module-junit4", version.ref = "powermockModuleJunit4" }
|
||||
reactive-streams = { module = "org.reactivestreams:reactive-streams", version.ref = "reactiveStreams" }
|
||||
rxjava = { module = "io.reactivex.rxjava2:rxjava", version.ref = "rxjava" }
|
||||
univocity-parsers = { module = "com.univocity:univocity-parsers", version.ref = "univocityParsers" }
|
||||
@@ -88,6 +86,7 @@ slf4j-handroid = { group = "com.gitlab.mvysny.slf4j", name = "slf4j-handroid", v
|
||||
|
||||
[plugins]
|
||||
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
|
||||
kotlin-android = { id ="org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
||||
kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
|
||||
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
||||
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
||||
ksp = { id = "com.google.devtools.ksp", version.ref = "kspPlugin" }
|
||||
dependencyLicenseReport = { id = "com.github.jk1.dependency-license-report", version.ref = "dependencyLicenseReport" }
|
||||
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
6
gradle/wrapper/gradle-wrapper.properties
vendored
6
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,6 +1,8 @@
|
||||
#Sat Mar 02 00:26:28 CET 2024
|
||||
#Sat Sep 28 01:39:16 AM EDT 2024
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
294
gradlew
vendored
294
gradlew
vendored
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Copyright 2015 the original author or authors.
|
||||
# Copyright © 2015-2021 the original authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -17,78 +17,111 @@
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Gradle start up script for UN*X
|
||||
##
|
||||
#
|
||||
# Gradle start up script for POSIX generated by Gradle.
|
||||
#
|
||||
# Important for running:
|
||||
#
|
||||
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
|
||||
# noncompliant, but you have some other compliant shell such as ksh or
|
||||
# bash, then to run this script, type that shell name before the whole
|
||||
# command line, like:
|
||||
#
|
||||
# ksh Gradle
|
||||
#
|
||||
# Busybox and similar reduced shells will NOT work, because this script
|
||||
# requires all of these POSIX shell features:
|
||||
# * functions;
|
||||
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
|
||||
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
|
||||
# * compound commands having a testable exit status, especially «case»;
|
||||
# * various built-in commands including «command», «set», and «ulimit».
|
||||
#
|
||||
# Important for patching:
|
||||
#
|
||||
# (2) This script targets any POSIX shell, so it avoids extensions provided
|
||||
# by Bash, Ksh, etc; in particular arrays are avoided.
|
||||
#
|
||||
# The "traditional" practice of packing multiple parameters into a
|
||||
# space-separated string is a well documented source of bugs and security
|
||||
# problems, so this is (mostly) avoided, by progressively accumulating
|
||||
# options in "$@", and eventually passing that to Java.
|
||||
#
|
||||
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
|
||||
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
|
||||
# see the in-line comments for details.
|
||||
#
|
||||
# There are tweaks for specific operating systems such as AIX, CygWin,
|
||||
# Darwin, MinGW, and NonStop.
|
||||
#
|
||||
# (3) This script is generated from the Groovy template
|
||||
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# within the Gradle project.
|
||||
#
|
||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
|
||||
# Resolve links: $0 may be a link
|
||||
PRG="$0"
|
||||
# Need this for relative symlinks.
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`"/$link"
|
||||
fi
|
||||
app_path=$0
|
||||
|
||||
# Need this for daisy-chained symlinks.
|
||||
while
|
||||
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
|
||||
[ -h "$app_path" ]
|
||||
do
|
||||
ls=$( ls -ld "$app_path" )
|
||||
link=${ls#*' -> '}
|
||||
case $link in #(
|
||||
/*) app_path=$link ;; #(
|
||||
*) app_path=$APP_HOME$link ;;
|
||||
esac
|
||||
done
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >/dev/null
|
||||
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
# This is normally unused
|
||||
# shellcheck disable=SC2034
|
||||
APP_BASE_NAME=${0##*/}
|
||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
||||
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD="maximum"
|
||||
MAX_FD=maximum
|
||||
|
||||
warn () {
|
||||
echo "$*"
|
||||
}
|
||||
} >&2
|
||||
|
||||
die () {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
} >&2
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
nonstop=false
|
||||
case "`uname`" in
|
||||
CYGWIN* )
|
||||
cygwin=true
|
||||
;;
|
||||
Darwin* )
|
||||
darwin=true
|
||||
;;
|
||||
MINGW* )
|
||||
msys=true
|
||||
;;
|
||||
NONSTOP* )
|
||||
nonstop=true
|
||||
;;
|
||||
case "$( uname )" in #(
|
||||
CYGWIN* ) cygwin=true ;; #(
|
||||
Darwin* ) darwin=true ;; #(
|
||||
MSYS* | MINGW* ) msys=true ;; #(
|
||||
NONSTOP* ) nonstop=true ;;
|
||||
esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
JAVACMD=$JAVA_HOME/jre/sh/java
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
JAVACMD=$JAVA_HOME/bin/java
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
@@ -97,87 +130,120 @@ Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD="java"
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
JAVACMD=java
|
||||
if ! command -v java >/dev/null 2>&1
|
||||
then
|
||||
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
|
||||
MAX_FD_LIMIT=`ulimit -H -n`
|
||||
if [ $? -eq 0 ] ; then
|
||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||
MAX_FD="$MAX_FD_LIMIT"
|
||||
fi
|
||||
ulimit -n $MAX_FD
|
||||
if [ $? -ne 0 ] ; then
|
||||
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||
fi
|
||||
else
|
||||
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||
fi
|
||||
fi
|
||||
|
||||
# For Darwin, add options to specify how the application appears in the dock
|
||||
if $darwin; then
|
||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
SEP=""
|
||||
for dir in $ROOTDIRSRAW ; do
|
||||
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||
SEP="|"
|
||||
done
|
||||
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||
# Add a user-defined pattern to the cygpath arguments
|
||||
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||
fi
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
i=0
|
||||
for arg in "$@" ; do
|
||||
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||
|
||||
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=`expr $i + 1`
|
||||
done
|
||||
case $i in
|
||||
0) set -- ;;
|
||||
1) set -- "$args0" ;;
|
||||
2) set -- "$args0" "$args1" ;;
|
||||
3) set -- "$args0" "$args1" "$args2" ;;
|
||||
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
||||
case $MAX_FD in #(
|
||||
max*)
|
||||
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC2039,SC3045
|
||||
MAX_FD=$( ulimit -H -n ) ||
|
||||
warn "Could not query maximum file descriptor limit"
|
||||
esac
|
||||
case $MAX_FD in #(
|
||||
'' | soft) :;; #(
|
||||
*)
|
||||
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC2039,SC3045
|
||||
ulimit -n "$MAX_FD" ||
|
||||
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
||||
esac
|
||||
fi
|
||||
|
||||
# Escape application args
|
||||
save () {
|
||||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||
echo " "
|
||||
}
|
||||
APP_ARGS=`save "$@"`
|
||||
# Collect all arguments for the java command, stacking in reverse order:
|
||||
# * args from the command line
|
||||
# * the main class name
|
||||
# * -classpath
|
||||
# * -D...appname settings
|
||||
# * --module-path (only if needed)
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
|
||||
|
||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||
if "$cygwin" || "$msys" ; then
|
||||
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
|
||||
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
|
||||
|
||||
JAVACMD=$( cygpath --unix "$JAVACMD" )
|
||||
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
for arg do
|
||||
if
|
||||
case $arg in #(
|
||||
-*) false ;; # don't mess with options #(
|
||||
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
|
||||
[ -e "$t" ] ;; #(
|
||||
*) false ;;
|
||||
esac
|
||||
then
|
||||
arg=$( cygpath --path --ignore --mixed "$arg" )
|
||||
fi
|
||||
# Roll the args list around exactly as many times as the number of
|
||||
# args, so each arg winds up back in the position where it started, but
|
||||
# possibly modified.
|
||||
#
|
||||
# NB: a `for` loop captures its iteration list before it begins, so
|
||||
# changing the positional parameters here affects neither the number of
|
||||
# iterations, nor the values presented in `arg`.
|
||||
shift # remove old arg
|
||||
set -- "$@" "$arg" # push replacement arg
|
||||
done
|
||||
fi
|
||||
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Collect all arguments for the java command:
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# and any embedded shellness will be escaped.
|
||||
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
||||
# treated as '${Hostname}' itself on the command line.
|
||||
|
||||
set -- \
|
||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||
-classpath "$CLASSPATH" \
|
||||
org.gradle.wrapper.GradleWrapperMain \
|
||||
"$@"
|
||||
|
||||
# Stop when "xargs" is not available.
|
||||
if ! command -v xargs >/dev/null 2>&1
|
||||
then
|
||||
die "xargs is not available"
|
||||
fi
|
||||
|
||||
# Use "xargs" to parse quoted args.
|
||||
#
|
||||
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
|
||||
#
|
||||
# In Bash we could simply go:
|
||||
#
|
||||
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
|
||||
# set -- "${ARGS[@]}" "$@"
|
||||
#
|
||||
# but POSIX shell has neither arrays nor command substitution, so instead we
|
||||
# post-process each arg (as a line of input to sed) to backslash-escape any
|
||||
# character that might be a shell metacharacter, then use eval to reverse
|
||||
# that process (while maintaining the separation between arguments), and wrap
|
||||
# the whole thing up as a single "set" statement.
|
||||
#
|
||||
# This will of course break if any of these variables contains a newline or
|
||||
# an unmatched quote.
|
||||
#
|
||||
|
||||
eval "set -- $(
|
||||
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
|
||||
xargs -n1 |
|
||||
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
|
||||
tr '\n' ' '
|
||||
)" '"$@"'
|
||||
|
||||
exec "$JAVACMD" "$@"
|
||||
|
55
gradlew.bat
vendored
55
gradlew.bat
vendored
@@ -14,7 +14,7 @@
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@if "%DEBUG%"=="" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@@ -25,7 +25,8 @@
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
if "%DIRNAME%"=="" set DIRNAME=.
|
||||
@rem This is normally unused
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@@ -40,13 +41,13 @@ if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto init
|
||||
if %ERRORLEVEL% equ 0 goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
|
||||
goto fail
|
||||
|
||||
@@ -54,48 +55,36 @@ goto fail
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto init
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
|
||||
goto fail
|
||||
|
||||
:init
|
||||
@rem Get command-line arguments, handling Windows variants
|
||||
|
||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||
|
||||
:win9xME_args
|
||||
@rem Slurp the command line arguments.
|
||||
set CMD_LINE_ARGS=
|
||||
set _SKIP=2
|
||||
|
||||
:win9xME_args_slurp
|
||||
if "x%~1" == "x" goto execute
|
||||
|
||||
set CMD_LINE_ARGS=%*
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
if %ERRORLEVEL% equ 0 goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
set EXIT_CODE=%ERRORLEVEL%
|
||||
if %EXIT_CODE% equ 0 set EXIT_CODE=1
|
||||
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
|
||||
exit /b %EXIT_CODE%
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
79
po/ar/kdeconnect-android-store-full.po
Normal file
79
po/ar/kdeconnect-android-store-full.po
Normal file
@@ -0,0 +1,79 @@
|
||||
# SPDX-FileCopyrightText: 2025 Zayed Al-Saidi <zayed.alsaidi@gmail.com>
|
||||
#. extracted from ./metadata/android/en-US/full_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2025-05-31 17:29+0400\n"
|
||||
"Last-Translator: Zayed Al-Saidi <zayed.alsaidi@gmail.com>\n"
|
||||
"Language-Team: ar\n"
|
||||
"Language: ar\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||
"X-Generator: Lokalize 23.08.5\n"
|
||||
|
||||
msgid ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
"devices:\n"
|
||||
"\n"
|
||||
"- Transfer files between your devices.\n"
|
||||
"- Access files on your phone from your computer, without wires.\n"
|
||||
"- Shared clipboard: copy and paste between your devices.\n"
|
||||
"- Get notifications for incoming calls and messages on your computer.\n"
|
||||
"- Virtual touchpad: Use your phone screen as your computer's touchpad.\n"
|
||||
"- Notifications sync: Access your phone notifications from your computer and "
|
||||
"reply to messages.\n"
|
||||
"- Multimedia remote control: Use your phone as a remote for Linux media "
|
||||
"players.\n"
|
||||
"- WiFi connection: no USB wire or bluetooth needed.\n"
|
||||
"- End-to-end TLS encryption: your information is safe.\n"
|
||||
"\n"
|
||||
"Please note you will need to install KDE Connect on your computer for this "
|
||||
"app to work, and keep the desktop version up-to-date with the Android "
|
||||
"version for the latest features to work.\n"
|
||||
"\n"
|
||||
"Sensitive permissions information:\n"
|
||||
"* Accessibility permission: Required to receive input from another device to "
|
||||
"control your Android phone, if you use the Remote Input feature.\n"
|
||||
"* Background location permission: Required to know to which WiFi network you "
|
||||
"are connected to, if you use the Trusted Networks feature.\n"
|
||||
"\n"
|
||||
"KDE Connect never sends any information to KDE nor to any third party. KDE "
|
||||
"Connect sends data from one device to the other directly using the local "
|
||||
"network, never through the internet, and using end to end encryption.\n"
|
||||
"\n"
|
||||
"This app is part of an open source project and it exists thanks to all the "
|
||||
"people who contributed to it. Visit the website to grab the source code.\n"
|
||||
msgstr ""
|
||||
"يوفر جسر كِيدِي مجموعة من الميزات لدمج سير عملك عبر الأجهزة:\n"
|
||||
"\n"
|
||||
"- نقل الملفات بين أجهزتك.\n"
|
||||
"- الوصول إلى الملفات الموجودة على هاتفك من حاسوبك، دون أسلاك.\n"
|
||||
"- الحافظة المشتركة: النسخ واللصق بين أجهزتك.\n"
|
||||
"- الحصول على إشعارات للمكالمات والرسائل الواردة على حاسوبك.\n"
|
||||
"- لوحة اللمس الافتراضية: استخدم شاشة هاتفك كلوحة لمس لحاسوبك.\n"
|
||||
"- مزامنة الإشعارات: الوصول إلى إشعارات هاتفك من حاسوبك والرد على الرسائل.\n"
|
||||
"- التحكم عن بعد في الوسائط المتعددة: استخدم هاتفك كجهاز تحكم عن بعد لمشغلات "
|
||||
"الوسائط لينكس.\n"
|
||||
"- اتصال واي فاي: لا حاجة إلى سلك USB أو بلوتوث.\n"
|
||||
"- تشفير TLS من البداية إلى النهاية: معلوماتك آمنة.\n"
|
||||
"\n"
|
||||
"يرجى ملاحظة أنك ستحتاج إلى تثبيت جسر كِيدِي على حاسوبك حتى يعمل هذا التطبيق، "
|
||||
"والحفاظ على تحديث إصدار سطح المكتب بإصدار أندوريد حتى تعمل أحدث الميزات.\n"
|
||||
"\n"
|
||||
"معلومات الأذونات الحساسة:\n"
|
||||
"* إذن إمكانية الوصول: مطلوب لتلقي إدخال من جهاز آخر للتحكم في هاتف أندرويد "
|
||||
"خاص بك، إذا كنت تستخدم ميزة الإدخال عن بُعد.\n"
|
||||
"* إذن تحديد الموقع في الخلفية: مطلوب لمعرفة شبكة واي فاي التي تتصل بها، إذا "
|
||||
"كنت تستخدم ميزة الشبكات الموثوقة.\n"
|
||||
"\n"
|
||||
"لا يرسل جسر كِيدِي أي معلومات إلى كيدي أو إلى أي طرف ثالث. يرسل جسر كِيدِي "
|
||||
"البيانات من جهاز إلى آخر مباشرةً باستخدام الشبكة المحلية، وليس عبر الإنترنت، "
|
||||
"وباستخدام التشفير من البداية إلى النهاية.\n"
|
||||
"\n"
|
||||
"هذا التطبيق جزء من مشروع مفتوح المصدر وهو موجود بفضل جميع الأشخاص الذين "
|
||||
"ساهموا فيه. قم بزيارة الموقع الإلكتروني للحصول على الشفرة المصدرية.\n"
|
20
po/ar/kdeconnect-android-store-short.po
Normal file
20
po/ar/kdeconnect-android-store-short.po
Normal file
@@ -0,0 +1,20 @@
|
||||
# SPDX-FileCopyrightText: 2025 Zayed Al-Saidi <zayed.alsaidi@gmail.com>
|
||||
#. extracted from ./metadata/android/en-US/short_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2025-05-31 17:30+0400\n"
|
||||
"Last-Translator: Zayed Al-Saidi <zayed.alsaidi@gmail.com>\n"
|
||||
"Language-Team: ar\n"
|
||||
"Language: ar\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||
"X-Generator: Lokalize 23.08.5\n"
|
||||
|
||||
msgid "KDE Connect integrates your smartphone and computer"
|
||||
msgstr "يدمج جسر كِيدِي هاتفك الذكي مع حاسوبك"
|
85
po/bg/kdeconnect-android-store-full.po
Normal file
85
po/bg/kdeconnect-android-store-full.po
Normal file
@@ -0,0 +1,85 @@
|
||||
# SPDX-FileCopyrightText: 2024 Mincho Kondarev <mkondarev@yahoo.de>
|
||||
#. extracted from ./metadata/android/en-US/full_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2024-07-28 18:31+0200\n"
|
||||
"Last-Translator: Mincho Kondarev <mkondarev@yahoo.de>\n"
|
||||
"Language-Team: Bulgarian <kde-i18n-doc@kde.org>\n"
|
||||
"Language: bg\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 24.07.70\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
msgid ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
"devices:\n"
|
||||
"\n"
|
||||
"- Transfer files between your devices.\n"
|
||||
"- Access files on your phone from your computer, without wires.\n"
|
||||
"- Shared clipboard: copy and paste between your devices.\n"
|
||||
"- Get notifications for incoming calls and messages on your computer.\n"
|
||||
"- Virtual touchpad: Use your phone screen as your computer's touchpad.\n"
|
||||
"- Notifications sync: Access your phone notifications from your computer and "
|
||||
"reply to messages.\n"
|
||||
"- Multimedia remote control: Use your phone as a remote for Linux media "
|
||||
"players.\n"
|
||||
"- WiFi connection: no USB wire or bluetooth needed.\n"
|
||||
"- End-to-end TLS encryption: your information is safe.\n"
|
||||
"\n"
|
||||
"Please note you will need to install KDE Connect on your computer for this "
|
||||
"app to work, and keep the desktop version up-to-date with the Android "
|
||||
"version for the latest features to work.\n"
|
||||
"\n"
|
||||
"Sensitive permissions information:\n"
|
||||
"* Accessibility permission: Required to receive input from another device to "
|
||||
"control your Android phone, if you use the Remote Input feature.\n"
|
||||
"* Background location permission: Required to know to which WiFi network you "
|
||||
"are connected to, if you use the Trusted Networks feature.\n"
|
||||
"\n"
|
||||
"KDE Connect never sends any information to KDE nor to any third party. KDE "
|
||||
"Connect sends data from one device to the other directly using the local "
|
||||
"network, never through the internet, and using end to end encryption.\n"
|
||||
"\n"
|
||||
"This app is part of an open source project and it exists thanks to all the "
|
||||
"people who contributed to it. Visit the website to grab the source code.\n"
|
||||
msgstr ""
|
||||
"KDE Connect предоставя набор от функции за интегриране на вашия работен "
|
||||
"процес на различни устройства:\n"
|
||||
"\n"
|
||||
"- Прехвърляйте файлове между вашите устройства.\n"
|
||||
"- Осъществявайте достъп до файлове на телефона си от компютъра си, без "
|
||||
"кабели.\n"
|
||||
"- Споделен клипборд: копирайте и поставяйте между вашите устройства.\n"
|
||||
"- Получавайте известия за входящи обаждания и съобщения на вашия компютър.\n"
|
||||
"- Виртуален тъчпад: Използвайте екрана на телефона си като тъчпад на "
|
||||
"компютъра.\n"
|
||||
"- Синхронизиране на известия: Достъп до известията на телефона ви от вашия "
|
||||
"компютър и отговаряне на съобщения.\n"
|
||||
"- Мултимедийно дистанционно управление: Използвайте телефона си като "
|
||||
"дистанционно за Linux медийни плейъри.\n"
|
||||
"- WiFi връзка: не е необходим USB кабел или bluetooth.\n"
|
||||
"- TLS криптиране от край до край: информацията ви е в безопасност.\n"
|
||||
"\n"
|
||||
"Моля, имайте предвид, че ще трябва да инсталирате KDE Connect на вашия "
|
||||
"компютър, за да работи това приложение, и поддържайте версията за настолен "
|
||||
"компютър актуална с версията за Android, за да работят най-новите функции.\n"
|
||||
"\n"
|
||||
"Поверителна информация за разрешения:\n"
|
||||
"* Разрешение за достъпност: Изисква се за получаване на вход от друго "
|
||||
"устройство за управление на вашия телефон с Android, ако използвате "
|
||||
"функцията за отдалечено въвеждане.\n"
|
||||
"* Разрешение за местоположение във фонов режим: Изисква се, за да знаете към "
|
||||
"коя WiFi мрежа сте свързани, ако използвате функцията Trusted Networks.\n"
|
||||
"\n"
|
||||
"KDE Connect никога не изпраща никаква информация на KDE или на трета страна. "
|
||||
"KDE Connect изпраща данни от едно устройство на друго директно чрез "
|
||||
"локалната мрежа, никога през интернет, и чрез криптиране от край до край.\n"
|
||||
"\n"
|
||||
"Това приложение е част от проект с отворен код и съществува благодарение на "
|
||||
"всички хора, които са допринесли за него. Посетете уебсайта, за да вземете "
|
||||
"изходния код.\n"
|
19
po/bg/kdeconnect-android-store-short.po
Normal file
19
po/bg/kdeconnect-android-store-short.po
Normal file
@@ -0,0 +1,19 @@
|
||||
# SPDX-FileCopyrightText: 2024 Mincho Kondarev <mkondarev@yahoo.de>
|
||||
#. extracted from ./metadata/android/en-US/short_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2024-07-28 18:32+0200\n"
|
||||
"Last-Translator: Mincho Kondarev <mkondarev@yahoo.de>\n"
|
||||
"Language-Team: Bulgarian <kde-i18n-doc@kde.org>\n"
|
||||
"Language: bg\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 24.07.70\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
msgid "KDE Connect integrates your smartphone and computer"
|
||||
msgstr "KDE Connect интегрира вашия смартфон и компютър"
|
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2024 Vit Pelcak <vpelcak@suse.cz>
|
||||
# SPDX-FileCopyrightText: 2024 Vit Pelcak <vit@pelcak.org>
|
||||
#. extracted from ./metadata/android/en-US/short_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
@@ -1,19 +1,20 @@
|
||||
# Frederik Schwarzer <schwarzer@kde.org>, 2023.
|
||||
# tobi <onewayme001@posteo.de>, 2024.
|
||||
#. extracted from ./metadata/android/en-US/full_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Project-Id-Version: kdeconnect-android-store-full\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-06-07 19:50+0200\n"
|
||||
"Last-Translator: Frederik Schwarzer <schwarzer@kde.org>\n"
|
||||
"PO-Revision-Date: 2024-10-02 20:37+0200\n"
|
||||
"Last-Translator: tobi <onewayme001@posteo.de>\n"
|
||||
"Language-Team: German <kde-i18n-de@kde.org>\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Lokalize 23.07.70\n"
|
||||
"X-Generator: Lokalize 21.12.3\n"
|
||||
|
||||
msgid ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
@@ -48,3 +49,41 @@ msgid ""
|
||||
"This app is part of an open source project and it exists thanks to all the "
|
||||
"people who contributed to it. Visit the website to grab the source code.\n"
|
||||
msgstr ""
|
||||
"KDE Connect bietet eine Reihe von Funktionen, um Ihre Arbeitsabläufe über "
|
||||
"verschiedene Geräte zu vereinigen:\n"
|
||||
"\n"
|
||||
"- Daten zwischen Ihren Geräten übertragen.\n"
|
||||
"- Auf Daten auf Ihrem Telefon von Ihrem Computer aus zugreifen, ohne Kabel.\n"
|
||||
"- Geteilte Zwischenablage: Kopieren und Einfügen zwischen Ihren Geräten.\n"
|
||||
"- Erhalten Sie Benachrichtigungen über eingehende Anrufe und Nachrichten auf "
|
||||
"Ihren Computer.\n"
|
||||
"- Virtuelles Touchpad: Verwenden Sie den Bildschirm Ihres Telefons als "
|
||||
"Touchpad für Ihren Computer.\n"
|
||||
"- Abgleich der Benachrichtigungen: Greifen Sie über den Computer auf Ihre "
|
||||
"Telefonbenachrichtigungen zu und antworten Sie auf Nachrichten.\n"
|
||||
"- Multimedia-Fernbedienung: Verwenden Sie Ihr Telefon als Fernbedienung für "
|
||||
"Linux-Medienspieler.\n"
|
||||
"- WLAN-Verbindung: kein USB-Kabel oder Bluetooth erforderlich.\n"
|
||||
"- Ende-zu-Ende-TLS-Verschlüsselung: Ihre Informationen sind sicher.\n"
|
||||
"\n"
|
||||
"Bitte beachten Sie, dass Sie KDE Connect auf Ihrem Computer installieren "
|
||||
"müssen, damit diese App funktioniert und halten Sie die Desktop-Version mit "
|
||||
"der Android-Version auf dem aktuellen Stand, um die neuesten Funktionen "
|
||||
"nutzen zu können.\n"
|
||||
"\n"
|
||||
"Informationen zu sensiblen Berechtigungen:\n"
|
||||
"* Zugriffsberechtigung: Wird benötigt, um Eingaben zur Steuerung ihres "
|
||||
"Android-Telefons von einem anderen Gerät zu erhalten, wenn Sie die "
|
||||
"Ferneingabefunktion verwenden. \n"
|
||||
"* Berechtigung den Standort im Hintergrund zu nutzen: Wird benötigt, um "
|
||||
"festzustellen, mit welchem WLAN-Netzwerk Sie verbunden sind, wenn Sie die "
|
||||
"Funktion „Vertrauenswürdige Netzwerke” verwenden.\n"
|
||||
"\n"
|
||||
"KDE Connect sendet niemals irgendwelche Informationen an KDE oder an Dritte. "
|
||||
"KDE Connect sendet Daten, unter Verwendung einer Ende-zu-Ende-"
|
||||
"Verschlüsselung, über das lokale Netzwerk direkt von einem Gerät zum "
|
||||
"anderen, niemals über das Internet.\n"
|
||||
"\n"
|
||||
"Diese App ist Teil eines Open-Scource-Projekts und besteht Dank all der "
|
||||
"Menschen die dazu beigetragen haben. Besuchen Sie die Internetseite, um sich "
|
||||
"den Quelltext zu holen.\n"
|
||||
|
@@ -2,7 +2,7 @@
|
||||
#. extracted from ./metadata/android/en-US/short_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Project-Id-Version: kdeconnect-android-store-short\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-06-07 19:50+0200\n"
|
||||
|
@@ -1,42 +1,20 @@
|
||||
# Steve Allewell <steve.allewell@gmail.com>, 2023.
|
||||
# SPDX-FileCopyrightText: 2023, 2024 Steve Allewell <steve.allewell@gmail.com>
|
||||
#. extracted from ./metadata/android/en-US/full_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-06-17 12:11+0100\n"
|
||||
"PO-Revision-Date: 2024-05-24 19:25+0100\n"
|
||||
"Last-Translator: Steve Allewell <steve.allewell@gmail.com>\n"
|
||||
"Language-Team: British English\n"
|
||||
"Language: en_GB\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 23.03.70\n"
|
||||
"X-Generator: Lokalize 24.02.2\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "KDE Connect provides a set of features to integrate your workflow across "
|
||||
#| "devices:\n"
|
||||
#| "\n"
|
||||
#| "- Shared clipboard: copy and paste between your devices.\n"
|
||||
#| "- Share files and URLs to your computer from any app.\n"
|
||||
#| "- Get notifications for incoming calls and SMS messages on your PC.\n"
|
||||
#| "- Virtual touchpad: Use your phone screen as your computer's touchpad.\n"
|
||||
#| "- Notifications sync: Read your Android notifications from the desktop.\n"
|
||||
#| "- Multimedia remote control: Use your phone as a remote for Linux media "
|
||||
#| "players.\n"
|
||||
#| "- WiFi connection: no USB wire or bluetooth needed.\n"
|
||||
#| "- End-to-end TLS encryption: your information is safe.\n"
|
||||
#| "\n"
|
||||
#| "Please note you will need to install KDE Connect on your computer for "
|
||||
#| "this app to work, and keep the desktop version up-to-date with the "
|
||||
#| "Android version for the latest features to work.\n"
|
||||
#| "\n"
|
||||
#| "This app is part of an open source project and it exists thanks to all "
|
||||
#| "the people who contributed to it. Visit the website to grab the source "
|
||||
#| "code."
|
||||
msgid ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
"devices:\n"
|
||||
@@ -73,11 +51,13 @@ msgstr ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
"devices:\n"
|
||||
"\n"
|
||||
"- Transfer files between your devices.\n"
|
||||
"- Access files on your phone from your computer, without wires.\n"
|
||||
"- Shared clipboard: copy and paste between your devices.\n"
|
||||
"- Share files and URLs to your computer from any app.\n"
|
||||
"- Get notifications for incoming calls and SMS messages on your PC.\n"
|
||||
"- Get notifications for incoming calls and messages on your computer.\n"
|
||||
"- Virtual touchpad: Use your phone screen as your computer's touchpad.\n"
|
||||
"- Notifications sync: Read your Android notifications from the desktop.\n"
|
||||
"- Notifications sync: Access your phone notifications from your computer and "
|
||||
"reply to messages.\n"
|
||||
"- Multimedia remote control: Use your phone as a remote for Linux media "
|
||||
"players.\n"
|
||||
"- WiFi connection: no USB wire or bluetooth needed.\n"
|
||||
@@ -87,5 +67,15 @@ msgstr ""
|
||||
"app to work, and keep the desktop version up-to-date with the Android "
|
||||
"version for the latest features to work.\n"
|
||||
"\n"
|
||||
"Sensitive permissions information:\n"
|
||||
"* Accessibility permission: Required to receive input from another device to "
|
||||
"control your Android phone, if you use the Remote Input feature.\n"
|
||||
"* Background location permission: Required to know to which WiFi network you "
|
||||
"are connected to, if you use the Trusted Networks feature.\n"
|
||||
"\n"
|
||||
"KDE Connect never sends any information to KDE nor to any third party. KDE "
|
||||
"Connect sends data from one device to the other directly using the local "
|
||||
"network, never through the internet, and using end to end encryption.\n"
|
||||
"\n"
|
||||
"This app is part of an open source project and it exists thanks to all the "
|
||||
"people who contributed to it. Visit the website to grab the source code."
|
||||
"people who contributed to it. Visit the website to grab the source code.\n"
|
||||
|
@@ -1,11 +1,15 @@
|
||||
# Víctor Rodrigo Córdoba <vrcordoba@gmail.com>, 2023.
|
||||
# Spanish translations for kdeconnect-android-store-full.po package.
|
||||
# Copyright (C) 2023-2025 This file is copyright:
|
||||
# This file is distributed under the same license as the kdeconnect-android package.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2023, 2025 Víctor Rodrigo Córdoba <vrcordoba@gmail.com>
|
||||
#. extracted from ./metadata/android/en-US/full_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: kdeconnect-android-store-full\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-09-30 18:49+0200\n"
|
||||
"PO-Revision-Date: 2025-06-09 02:36+0100\n"
|
||||
"Last-Translator: Víctor Rodrigo Córdoba <vrcordoba@gmail.com>\n"
|
||||
"Language-Team: Spanish <kde-l10n-es@kde.org>\n"
|
||||
"Language: es\n"
|
||||
|
@@ -1,11 +1,15 @@
|
||||
# Víctor Rodrigo Córdoba <vrcordoba@gmail.com>, 2023.
|
||||
# Spanish translations for kdeconnect-android-store-short.po package.
|
||||
# Copyright (C) 2023-2025 This file is copyright:
|
||||
# This file is distributed under the same license as the kdeconnect-android package.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2023, 2025 Víctor Rodrigo Córdoba <vrcordoba@gmail.com>
|
||||
#. extracted from ./metadata/android/en-US/short_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Project-Id-Version: kdeconnect-android-store-short\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-06-10 17:26+0200\n"
|
||||
"PO-Revision-Date: 2025-06-09 02:36+0100\n"
|
||||
"Last-Translator: Víctor Rodrigo Córdoba <vrcordoba@gmail.com>\n"
|
||||
"Language-Team: Spanish <kde-l10n-es@kde.org>\n"
|
||||
"Language: es\n"
|
||||
|
@@ -13,7 +13,6 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Lokalize 22.12.3\n"
|
||||
|
||||
msgid ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
|
@@ -13,7 +13,6 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Lokalize 22.12.3\n"
|
||||
|
||||
msgid "KDE Connect integrates your smartphone and computer"
|
||||
msgstr "KDE Connect eheyttää älypuhelimen ja tietokoneen"
|
||||
|
@@ -1,20 +1,20 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2023 Xavier Besnard <xavier.besnard@kde.org>
|
||||
# SPDX-FileCopyrightText: 2023, 2024 Xavier Besnard <xavier.besnard@kde.org>
|
||||
#. extracted from ./metadata/android/en-US/full_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: kdeconnect-android-store-full\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-09-28 18:06+0200\n"
|
||||
"Last-Translator: Xavier BESNARD <xavier.besnard@neuf.fr>\n"
|
||||
"Language-Team: French <kde-francophone@kde.org>\n"
|
||||
"PO-Revision-Date: 2024-08-09 22:07+0200\n"
|
||||
"Last-Translator: Xavier Besnard <xavier.besnard@kde.org>\n"
|
||||
"Language-Team: French <French <kde-francophone@kde.org>>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Lokalize 23.08.1\n"
|
||||
"X-Generator: Lokalize 23.08.5\n"
|
||||
|
||||
msgid ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
@@ -62,7 +62,7 @@ msgstr ""
|
||||
"- Synchronisation de vos notifications : accès à vos notifications "
|
||||
"téléphoniques depuis votre ordinateur et réponses aux messages.\n"
|
||||
"- Télé-commande multimédia : utilisation de votre téléphone comme "
|
||||
"télécommande pour les lecteurs de médias sous Linux.\n"
|
||||
"télécommande pour les lecteurs de média sous Linux.\n"
|
||||
"- Connexion au Wifi : aucun connexion USB ou Bluetooth nécessaire.\n"
|
||||
"- Chiffrement « TLS » de bout en bout : vos informations sont en sécurité.\n"
|
||||
"\n"
|
||||
@@ -83,5 +83,5 @@ msgstr ""
|
||||
"mais jamais par Internet et en utilisant le chiffrement de bout en bout.\n"
|
||||
"\n"
|
||||
"Cette application fait partie d'un projet « Open source ». Il existe grâce à "
|
||||
"toutes les personnes qui y ont contribué.Visitez le site Internet pour "
|
||||
"accéder au code source.\n"
|
||||
"toutes les personnes qui y ont contribué. Veuillez visiter le site Internet "
|
||||
"pour accéder au code source.\n"
|
||||
|
85
po/nn/kdeconnect-android-store-full.po
Normal file
85
po/nn/kdeconnect-android-store-full.po
Normal file
@@ -0,0 +1,85 @@
|
||||
# Translation of kdeconnect-android-store-full to Norwegian Nynorsk
|
||||
#
|
||||
#. extracted from ./metadata/android/en-US/full_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2024-07-10 20:18+0200\n"
|
||||
"Last-Translator: Karl Ove Hufthammer <karl@huftis.org>\n"
|
||||
"Language-Team: Norwegian Nynorsk <l10n-no@lister.huftis.org>\n"
|
||||
"Language: nn\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Lokalize 24.05.1\n"
|
||||
"X-Environment: kde\n"
|
||||
"X-Accelerator-Marker: &\n"
|
||||
"X-Text-Markup: kde4\n"
|
||||
|
||||
msgid ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
"devices:\n"
|
||||
"\n"
|
||||
"- Transfer files between your devices.\n"
|
||||
"- Access files on your phone from your computer, without wires.\n"
|
||||
"- Shared clipboard: copy and paste between your devices.\n"
|
||||
"- Get notifications for incoming calls and messages on your computer.\n"
|
||||
"- Virtual touchpad: Use your phone screen as your computer's touchpad.\n"
|
||||
"- Notifications sync: Access your phone notifications from your computer and "
|
||||
"reply to messages.\n"
|
||||
"- Multimedia remote control: Use your phone as a remote for Linux media "
|
||||
"players.\n"
|
||||
"- WiFi connection: no USB wire or bluetooth needed.\n"
|
||||
"- End-to-end TLS encryption: your information is safe.\n"
|
||||
"\n"
|
||||
"Please note you will need to install KDE Connect on your computer for this "
|
||||
"app to work, and keep the desktop version up-to-date with the Android "
|
||||
"version for the latest features to work.\n"
|
||||
"\n"
|
||||
"Sensitive permissions information:\n"
|
||||
"* Accessibility permission: Required to receive input from another device to "
|
||||
"control your Android phone, if you use the Remote Input feature.\n"
|
||||
"* Background location permission: Required to know to which WiFi network you "
|
||||
"are connected to, if you use the Trusted Networks feature.\n"
|
||||
"\n"
|
||||
"KDE Connect never sends any information to KDE nor to any third party. KDE "
|
||||
"Connect sends data from one device to the other directly using the local "
|
||||
"network, never through the internet, and using end to end encryption.\n"
|
||||
"\n"
|
||||
"This app is part of an open source project and it exists thanks to all the "
|
||||
"people who contributed to it. Visit the website to grab the source code.\n"
|
||||
msgstr ""
|
||||
"KDE Connect tilbyr eit sett funksjonar som lèt deg enkelt arbeida på tvers "
|
||||
"av einingar:\n"
|
||||
"\n"
|
||||
"– Overfør filer mellom einingane\n"
|
||||
"– Få trådlaus tilgang til filer på telefonen frå datamaskina\n"
|
||||
"– Del utklippsbilete: kopier og lim inn mellom einingane\n"
|
||||
"– Vert varsla på datamaskina om innkommande samtalar og tekstmeldingar\n"
|
||||
"– Virtuell styreplate: bruk telefonskjermen som styreplate for datamaskina\n"
|
||||
"– Synkronisering av varslingar: få tilgang til telefonvarslingar frå "
|
||||
"datamaskina og svar på meldingar\n"
|
||||
"– Fjernkontroll av medieavspeling: bruk telefonen til å styra Linux-baserte "
|
||||
"mediespelarar\n"
|
||||
"– Wi-Fi-tilkopling: du treng ikkje USB- eller Bluetooth-tilkopling\n"
|
||||
"– Ende-til-ende-kryptering: informasjonen din er trygg\n"
|
||||
"\n"
|
||||
"Merk at du må installera KDE Connect på datamaskina for å kunna bruka appen. "
|
||||
"Hugs å halda PC-versjonen oppdatert med Android-versjonen for tilgang til "
|
||||
"dei nyaste funksjonane.\n"
|
||||
"\n"
|
||||
"Informasjon om sensitive løyve:\n"
|
||||
"– Tilgjenge-løyve: Trengst for å kunna ta imot tastetrykk frå PC for å styra "
|
||||
"Android-eininga om du brukar funksjonen «Fjernstyring»\n"
|
||||
"– Bakgrunnsløyve til å sjå geografiske posisjon: Trengst for å veta kva Wi-"
|
||||
"Fi-nettverk du er tilkopla om du brukar funksjonen «Tiltrudde nettverk»\n"
|
||||
"\n"
|
||||
"KDE Connect sender aldri informasjon til KDE eller nokon tredjepart. "
|
||||
"Programmet sender data direkte mellom dei to einingane via lokalnettet, "
|
||||
"aldri via Internett og alltid med ende-til-ende-kryptering.\n"
|
||||
"\n"
|
||||
"Appen er ein del av eit fri programvare-prosjekt og er blitt til takka vera "
|
||||
"mange bidragsytarar. Gå til heimesida for å sjå kjeldekoden.\n"
|
@@ -12,7 +12,6 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 23.04.3\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
||||
"|| n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
|
@@ -12,7 +12,6 @@ msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 23.04.3\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
||||
"|| n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
|
@@ -1,53 +1,21 @@
|
||||
# Geraldo Simiao <geraldosimiao@fedoraproject.org>, 2023.
|
||||
# Frederico Goncalves Guimaraes <frederico@teia.bio.br>, 2024.
|
||||
#. extracted from ./metadata/android/en-US/full_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-08-04 01:33-0300\n"
|
||||
"Last-Translator: Geraldo Simiao <geraldosimiao@fedoraproject.org>\n"
|
||||
"PO-Revision-Date: 2024-08-28 17:37-0300\n"
|
||||
"Last-Translator: Frederico Goncalves Guimaraes <frederico@teia.bio.br>\n"
|
||||
"Language-Team: Brazilian Portuguese <kde-i18n-pt_BR@kde.org>\n"
|
||||
"Language: pt_BR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 23.04.3\n"
|
||||
"X-Generator: Lokalize 22.12.3\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "KDE Connect provides a set of features to integrate your workflow across "
|
||||
#| "devices:\n"
|
||||
#| "\n"
|
||||
#| "- Shared clipboard: copy and paste between your devices.\n"
|
||||
#| "- Share files and URLs to your computer from any app.\n"
|
||||
#| "- Get notifications for incoming calls and SMS messages on your PC.\n"
|
||||
#| "- Virtual touchpad: Use your phone screen as your computer's touchpad.\n"
|
||||
#| "- Notifications sync: Read your Android notifications from the desktop.\n"
|
||||
#| "- Multimedia remote control: Use your phone as a remote for Linux media "
|
||||
#| "players.\n"
|
||||
#| "- WiFi connection: no USB wire or bluetooth needed.\n"
|
||||
#| "- End-to-end TLS encryption: your information is safe.\n"
|
||||
#| "\n"
|
||||
#| "Please note you will need to install KDE Connect on your computer for "
|
||||
#| "this app to work, and keep the desktop version up-to-date with the "
|
||||
#| "Android version for the latest features to work.\n"
|
||||
#| "\n"
|
||||
#| "Sensitive permissions information:\n"
|
||||
#| "* Accessibility permission: Required to receive input from another device "
|
||||
#| "to control your Android phone, if you use the Remote Input feature.\n"
|
||||
#| "* Background location permission: Required to know to which WiFi network "
|
||||
#| "you are connected to, if you use the Trusted Networks feature.\n"
|
||||
#| "\n"
|
||||
#| "KDE Connect never sends any information to KDE nor to any third party. "
|
||||
#| "KDE Connect sends data from one device to the other directly using the "
|
||||
#| "local network, never through the internet, and using end to end "
|
||||
#| "encryption.\n"
|
||||
#| "\n"
|
||||
#| "This app is part of an open source project and it exists thanks to all "
|
||||
#| "the people who contributed to it. Visit the website to grab the source "
|
||||
#| "code.\n"
|
||||
msgid ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
"devices:\n"
|
||||
@@ -84,15 +52,16 @@ msgstr ""
|
||||
"O KDE Connect fornece um conjunto de recursos para integrar seu fluxo de "
|
||||
"trabalho entre dispositivos:\n"
|
||||
"\n"
|
||||
"- Transfira arquivos entre seus dispositivos.\n"
|
||||
"- Acesse arquivos do seu computador no seu telefone, sem fios.\n"
|
||||
"- Área de transferência compartilhada: copie e cole entre seus "
|
||||
"dispositivos.\n"
|
||||
"- Compartilhe arquivos e URLs em seu computador a partir de qualquer app.\n"
|
||||
"- Receba notificações de chamadas recebidas e mensagens SMS no seu PC.\n"
|
||||
"- Touchpad virtual: use a tela do telefone como touchpad do computador.\n"
|
||||
"- Sincronização de notificações: leia as notificações do seu Android na área "
|
||||
"de trabalho.\n"
|
||||
"- Sincronização de notificações: acesse as notificações do seu telefone no "
|
||||
"seu computador e responda as mensagens.\n"
|
||||
"- Controle remoto multimídia: use seu telefone como controle remoto para "
|
||||
"reprodutores de mídia Linux.\n"
|
||||
"reprodutores de mídia no Linux.\n"
|
||||
"- Conexão Wi-Fi: sem necessidade de cabos USB ou bluetooth.\n"
|
||||
"- Criptografia TLS de ponta a ponta: suas informações estão seguras.\n"
|
||||
"\n"
|
||||
@@ -100,14 +69,14 @@ msgstr ""
|
||||
"este aplicativo funcione e mantenha a versão para desktop atualizada com a "
|
||||
"versão do Android para que os recursos mais recentes funcionem.\n"
|
||||
"\n"
|
||||
"Informações a respeito de permissões especiais :\n"
|
||||
"Informações sobre permissões sensíveis:\n"
|
||||
"* Permissão de acessibilidade: necessária para receber entrada de outro "
|
||||
"dispositivo para controlar seu telefone Android, se você usar o recurso de "
|
||||
"entrada remota.\n"
|
||||
"* Permissão de localização em segundo plano: necessária para saber a qual "
|
||||
"rede Wi-Fi você está conectado, se você usar o recurso de redes confiáveis.\n"
|
||||
"\n"
|
||||
"O KDE Connect nunca envia nenhuma informação ao KDE nem a terceiros. O KDE "
|
||||
"O KDE Connect nunca envia nenhuma informação ao KDE ou a terceiros. O KDE "
|
||||
"Connect envia dados de um dispositivo para outro diretamente usando a rede "
|
||||
"local, nunca pela Internet e usando criptografia de ponta a ponta.\n"
|
||||
"\n"
|
||||
|
83
po/ru/kdeconnect-android-store-full.po
Normal file
83
po/ru/kdeconnect-android-store-full.po
Normal file
@@ -0,0 +1,83 @@
|
||||
# Alexander Yavorskiy <kekcuha@gmail.com>, 2025.
|
||||
#. extracted from ./metadata/android/en-US/full_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2025-05-30 20:22+0200\n"
|
||||
"Last-Translator: Alexander Yavorskiy <kekcuha@gmail.com>\n"
|
||||
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 21.08.3\n"
|
||||
"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
|
||||
"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
|
||||
msgid ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
"devices:\n"
|
||||
"\n"
|
||||
"- Transfer files between your devices.\n"
|
||||
"- Access files on your phone from your computer, without wires.\n"
|
||||
"- Shared clipboard: copy and paste between your devices.\n"
|
||||
"- Get notifications for incoming calls and messages on your computer.\n"
|
||||
"- Virtual touchpad: Use your phone screen as your computer's touchpad.\n"
|
||||
"- Notifications sync: Access your phone notifications from your computer and "
|
||||
"reply to messages.\n"
|
||||
"- Multimedia remote control: Use your phone as a remote for Linux media "
|
||||
"players.\n"
|
||||
"- WiFi connection: no USB wire or bluetooth needed.\n"
|
||||
"- End-to-end TLS encryption: your information is safe.\n"
|
||||
"\n"
|
||||
"Please note you will need to install KDE Connect on your computer for this "
|
||||
"app to work, and keep the desktop version up-to-date with the Android "
|
||||
"version for the latest features to work.\n"
|
||||
"\n"
|
||||
"Sensitive permissions information:\n"
|
||||
"* Accessibility permission: Required to receive input from another device to "
|
||||
"control your Android phone, if you use the Remote Input feature.\n"
|
||||
"* Background location permission: Required to know to which WiFi network you "
|
||||
"are connected to, if you use the Trusted Networks feature.\n"
|
||||
"\n"
|
||||
"KDE Connect never sends any information to KDE nor to any third party. KDE "
|
||||
"Connect sends data from one device to the other directly using the local "
|
||||
"network, never through the internet, and using end to end encryption.\n"
|
||||
"\n"
|
||||
"This app is part of an open source project and it exists thanks to all the "
|
||||
"people who contributed to it. Visit the website to grab the source code.\n"
|
||||
msgstr ""
|
||||
"KDE Connect предоставляет набор функций для интеграции рабочего процесса "
|
||||
"между устройствами:\n"
|
||||
"- Передача файлов между устройствами.\n"
|
||||
"- Доступ к файлам на телефоне с компьютера без проводов.\n"
|
||||
"- Общий буфер обмена: копирование и вставка между устройствами.\n"
|
||||
"- Уведомления о входящих вызовах и сообщениях на компьютере.\n"
|
||||
"- Виртуальный тачпад: использование экрана телефона в качестве тачпада для "
|
||||
"компьютера.\n"
|
||||
"- Синхронизация уведомлений: доступ к уведомлениям телефона с компьютера и "
|
||||
"возможность отвечать на сообщения.\n"
|
||||
"- Дистанционное управление мультимедиа: использование телефона как пульта "
|
||||
"для медиаплееров в Linux.\n"
|
||||
"- Подключение по Wi-Fi: без проводов USB или Bluetooth.\n"
|
||||
"- Сквозное шифрование TLS: безопасность передаваемой информации.\n"
|
||||
"\n"
|
||||
"Обратите внимание, что для работы приложения требуется установка KDE Connect "
|
||||
"на компьютере. Для поддержки всех функций, версия на компьютере должна быть "
|
||||
"актуальной и соответствовать версии на Android .\n"
|
||||
"\n"
|
||||
"Информация о чувствительных разрешениях:\n"
|
||||
"\n"
|
||||
"- Разрешение «Специальные возможности»: необходимо для получения ввода с "
|
||||
"другого устройства при использовании функции дистанционного ввода.\n"
|
||||
"- Разрешение «Фоновое определение местоположения»: необходимо для "
|
||||
"определения текущей Wi-Fi-сети при использовании функции «Доверенные сети».\n"
|
||||
"\n"
|
||||
"KDE Connect никогда не отправляет данные ни в KDE, ни третьим лицам. "
|
||||
"Передача данных осуществляется напрямую между устройствами через локальную "
|
||||
"сеть, без использования интернета, с применением сквозного шифрования.\n"
|
||||
"Приложение является частью проекта с открытым исходным кодом и существует "
|
||||
"благодаря сообществу участников. Исходный код доступен на официальном "
|
||||
"сайте.\n"
|
20
po/ru/kdeconnect-android-store-short.po
Normal file
20
po/ru/kdeconnect-android-store-short.po
Normal file
@@ -0,0 +1,20 @@
|
||||
# Alexander Yavorskiy <kekcuha@gmail.com>, 2025.
|
||||
#. extracted from ./metadata/android/en-US/short_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2025-05-30 20:17+0200\n"
|
||||
"Last-Translator: Alexander Yavorskiy <kekcuha@gmail.com>\n"
|
||||
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 21.08.3\n"
|
||||
"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
|
||||
"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
|
||||
msgid "KDE Connect integrates your smartphone and computer"
|
||||
msgstr "KDE Connect позволяет соединить смартфон и компьютер"
|
@@ -1,19 +1,20 @@
|
||||
# Kisaragi Hiu <mail@kisaragi-hiu.com>, 2023.
|
||||
# taijuin <taijuin@gmail.com>, 2024.
|
||||
#. extracted from ./metadata/android/en-US/full_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-12-09 17:51+0900\n"
|
||||
"Last-Translator: Kisaragi Hiu <mail@kisaragi-hiu.com>\n"
|
||||
"PO-Revision-Date: 2024-11-12 19:04+0800\n"
|
||||
"Last-Translator: taijuin <taijuin@gmail.com>\n"
|
||||
"Language-Team: Traditional Chinese <zh-l10n@lists.slat.org>\n"
|
||||
"Language: zh_TW\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 24.01.80\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 3.5\n"
|
||||
|
||||
msgid ""
|
||||
"KDE Connect provides a set of features to integrate your workflow across "
|
||||
@@ -48,7 +49,7 @@ msgid ""
|
||||
"This app is part of an open source project and it exists thanks to all the "
|
||||
"people who contributed to it. Visit the website to grab the source code.\n"
|
||||
msgstr ""
|
||||
"KDE 連線提供許多功能讓您整合您跨裝置的作業流程:\n"
|
||||
"KDE Connect 提供許多功能讓您整合您跨裝置的作業流程:\n"
|
||||
"\n"
|
||||
"- 在您的裝置之間傳輸檔案。\n"
|
||||
"- 從您的電腦無線存取您的手機上的檔案。\n"
|
||||
@@ -60,8 +61,8 @@ msgstr ""
|
||||
"- WiFi 連線:不需要 USB 線或是藍牙連線。\n"
|
||||
"- 點對點 TLS 加密:您的資訊是安全的。\n"
|
||||
"\n"
|
||||
"請注意,這個應用程式需要您在電腦上也安裝 KDE 連線才能正常運作;最新功能也會需"
|
||||
"要電腦的版本跟 Android 的版本一樣新才能正常運作。\n"
|
||||
"請注意,這個應用程式需要您在電腦上也安裝 KDE Connect 才能正常運作;最新功能也"
|
||||
"會需要電腦的版本跟 Android 的版本一樣新才能正常運作。\n"
|
||||
"\n"
|
||||
"敏感權限資訊:\n"
|
||||
"* 協助工具權限:如果您使用「遠端輸入」功能,需要它來從另一個裝置接收輸入後控"
|
||||
@@ -69,8 +70,8 @@ msgstr ""
|
||||
"* 背景位置權限:如果您使用「信任網路」功能,需要它來得知您目前連線的 WiFi 網"
|
||||
"路。\n"
|
||||
"\n"
|
||||
"KDE 連線不會傳送任何資訊給 KDE 或任何第三方。KDE 連線利用本地網路直接從一個裝"
|
||||
"置傳送資料到另一個裝置,不會透過網際網路,並且同時使用點對點加密。 \n"
|
||||
"KDE Connect 不會傳送任何資訊給 KDE 或任何第三方。KDE Connect 利用本地網路直接"
|
||||
"從一個裝置傳送資料到另一個裝置,不會透過網際網路,並且同時使用點對點加密。 \n"
|
||||
"\n"
|
||||
"這個應用程式是一個開源專案的一部分,它的存在歸功於所有貢獻者。可造訪網站取得"
|
||||
"原始碼。\n"
|
||||
|
@@ -1,19 +1,20 @@
|
||||
# Kisaragi Hiu <mail@kisaragi-hiu.com>, 2023.
|
||||
# taijuin <taijuin@gmail.com>, 2024.
|
||||
#. extracted from ./metadata/android/en-US/short_description.txt
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-11-05 12:31+0000\n"
|
||||
"PO-Revision-Date: 2023-12-09 17:39+0900\n"
|
||||
"Last-Translator: Kisaragi Hiu <mail@kisaragi-hiu.com>\n"
|
||||
"PO-Revision-Date: 2024-11-12 19:00+0800\n"
|
||||
"Last-Translator: taijuin <taijuin@gmail.com>\n"
|
||||
"Language-Team: Traditional Chinese <zh-l10n@lists.slat.org>\n"
|
||||
"Language: zh_TW\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 24.01.80\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 3.5\n"
|
||||
|
||||
msgid "KDE Connect integrates your smartphone and computer"
|
||||
msgstr "KDE 連線整合了您的智慧型手機與電腦"
|
||||
msgstr "KDE Connect 整合了您的智慧型手機與電腦"
|
||||
|
25
proguard-rules.pro
vendored
25
proguard-rules.pro
vendored
@@ -17,29 +17,10 @@
|
||||
#}
|
||||
|
||||
-dontobfuscate
|
||||
|
||||
-dontwarn org.spongycastle.**
|
||||
-dontwarn org.apache.sshd.**
|
||||
-dontwarn org.apache.mina.**
|
||||
-dontwarn org.slf4j.**
|
||||
-dontwarn io.netty.**
|
||||
|
||||
-keepattributes SourceFile,LineNumberTable,Signature,*Annotation*
|
||||
|
||||
-keep class org.spongycastle.** {*;}
|
||||
|
||||
# SSHd requires mina, and mina uses reflection so some classes would get deleted
|
||||
-keep class org.apache.mina.** {*;}
|
||||
-keep class org.apache.sshd.** {*;}
|
||||
|
||||
-keep class org.kde.kdeconnect.** {*;}
|
||||
|
||||
-dontwarn org.mockito.**
|
||||
-dontwarn sun.reflect.**
|
||||
-dontwarn android.test.**
|
||||
-dontwarn java.lang.management.**
|
||||
-dontwarn javax.**
|
||||
# SSHd requires mina, and mina uses reflection so some classes would get deleted
|
||||
-keep class org.apache.sshd.** {*;}
|
||||
-dontwarn org.apache.sshd.**
|
||||
|
||||
-dontwarn android.net.ConnectivityManager
|
||||
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
|
||||
-dontwarn android.net.LinkProperties
|
||||
|
@@ -7,20 +7,4 @@
|
||||
<path
|
||||
android:pathData="m0,0h108v108h-108z"
|
||||
android:fillColor="@color/launcher_background"/>
|
||||
<path
|
||||
android:pathData="m0,0h108v108h-108z"
|
||||
android:strokeAlpha="0.2"
|
||||
android:fillAlpha="0.2">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startY="0"
|
||||
android:endY="108"
|
||||
android:startX="0"
|
||||
android:endX="0"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#FFFFFFFF"/>
|
||||
<item android:offset="1" android:color="#00FFFFFF"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
</vector>
|
||||
|
10
res/drawable-v24/ic_launcher_banner_background.xml
Normal file
10
res/drawable-v24/ic_launcher_banner_background.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="320dp"
|
||||
android:height="180dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<path
|
||||
android:pathData="m0,0h320v108h-320z"
|
||||
android:fillColor="@color/launcher_background"/>
|
||||
</vector>
|
104
res/drawable-v24/ic_launcher_banner_foreground.xml
Normal file
104
res/drawable-v24/ic_launcher_banner_foreground.xml
Normal file
@@ -0,0 +1,104 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="320dp"
|
||||
android:height="180dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<group android:scaleX="0.6666667"
|
||||
android:scaleY="0.6666667"
|
||||
android:translateX="18"
|
||||
android:translateY="18">
|
||||
<group android:scaleX="0.6525"
|
||||
android:scaleY="1.16"
|
||||
android:translateX="-10.395"
|
||||
android:translateY="-8.64">
|
||||
<group android:scaleX="0.8"
|
||||
android:scaleY="0.8"
|
||||
android:translateX="10.8"
|
||||
android:translateY="10.8">
|
||||
<path
|
||||
android:pathData="M40,27L68,27A2,2 0,0 1,70 29L70,79A2,2 0,0 1,68 81L40,81A2,2 0,0 1,38 79L38,29A2,2 0,0 1,40 27z"
|
||||
android:strokeWidth="1.73436">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startY="27"
|
||||
android:startX="38"
|
||||
android:endY="81"
|
||||
android:endX="38"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#FFF5F5F5"/>
|
||||
<item android:offset="1" android:color="#FFF0F0F0"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:pathData="m41,30h26v48h-26z"
|
||||
android:strokeWidth="1.00241"
|
||||
android:fillColor="#2d2d2d"/>
|
||||
<path
|
||||
android:pathData="M50.25,28.25L57.75,28.25A0.25,0.25 0,0 1,58 28.5L58,28.5A0.25,0.25 0,0 1,57.75 28.75L50.25,28.75A0.25,0.25 0,0 1,50 28.5L50,28.5A0.25,0.25 0,0 1,50.25 28.25z"
|
||||
android:strokeWidth=".632455"
|
||||
android:fillColor="#2d2d2d"/>
|
||||
<path
|
||||
android:pathData="m47.694,47.379c-0.04,0.004 -0.083,0.015 -0.113,0.045 0,0 -1.381,1.381 -1.381,1.381 -0.058,0.058 -0.065,0.147 -0.023,0.218 0,0 1.614,2.665 1.614,2.665 -0.287,0.482 -0.519,0.999 -0.683,1.547 0,0 -2.965,0.616 -2.965,0.616 -0.083,0.017 -0.143,0.096 -0.143,0.18v1.952c0,0.083 0.063,0.153 0.143,0.173 0,0 2.875,0.698 2.875,0.698 0.154,0.634 0.391,1.241 0.706,1.794 0,0 -1.667,2.538 -1.667,2.538 -0.046,0.071 -0.037,0.165 0.023,0.225 0,0 1.381,1.381 1.381,1.381 0.058,0.058 0.147,0.065 0.218,0.023 0,0 2.613,-1.584 2.613,-1.584 0.512,0.296 1.067,0.533 1.652,0.691 0,0 0.608,2.928 0.608,2.928 0.017,0.083 0.088,0.143 0.173,0.143h1.952c0.082,0 0.153,-0.055 0.173,-0.135 0,0 0.721,-2.943 0.721,-2.943 0.603,-0.163 1.171,-0.404 1.697,-0.713 0,0 2.575,1.689 2.575,1.689 0.071,0.046 0.165,0.037 0.225,-0.023 0,0 1.374,-1.381 1.374,-1.381 0.058,-0.058 0.073,-0.147 0.03,-0.218 0,0 -0.938,-1.547 -0.938,-1.547s-0.308,0.098 -0.308,0.098c-0.044,0.014 -0.094,-0.006 -0.12,-0.045 0,0 -0.593,-0.872 -1.366,-2.005 -0.925,1.81 -2.812,3.048 -4.985,3.048 -3.088,0 -5.593,-2.505 -5.593,-5.593 0,-2.271 1.358,-4.222 3.303,-5.098v-1.441c-0.354,0.124 -0.696,0.273 -1.021,0.45 -0.001,-0 0.001,-0.007 0,-0.007 0,0 -2.635,-1.727 -2.635,-1.727 -0.035,-0.023 -0.073,-0.027 -0.113,-0.023 0,0 0,0 0,-0zM55.659,43.85s-3.514,0.338 -3.514,0.338v14.475s3.476,-0.526 3.476,-0.526v-6.171s4.677,6.847 4.677,6.847 3.664,-1.164 3.664,-1.164 -4.79,-6.584 -4.79,-6.584 4.827,-6.209 4.827,-6.209 -3.739,-0.856 -3.739,-0.856 -4.64,6.209 -4.64,6.209 0.038,-6.359 0.038,-6.359z"
|
||||
android:fillColor="#f2f2f2"/>
|
||||
<path
|
||||
android:pathData="m41,30h22l-18,45h-4z"
|
||||
android:strokeAlpha="0.1"
|
||||
android:fillAlpha="0.1">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startY="30"
|
||||
android:startX="41"
|
||||
android:endY="70"
|
||||
android:endX="60"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#FFFFFFFD"/>
|
||||
<item android:offset="1" android:color="#00FFFFFD"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="m38,78v1c0,1.108 0.892,2 2,2h28c1.108,0 2,-0.892 2,-2v-1c0,1.108 -0.892,2 -2,2h-28c-1.108,0 -2,-0.892 -2,-2z"
|
||||
android:strokeAlpha="0.1"
|
||||
android:strokeWidth="1.73436"
|
||||
android:fillAlpha="0.1"/>
|
||||
<path
|
||||
android:pathData="m70,30v-1c0,-1.108 -0.892,-2 -2,-2h-28c-1.108,0 -2,0.892 -2,2v1c0,-1.108 0.892,-2 2,-2h28c1.108,0 2,0.892 2,2z"
|
||||
android:strokeAlpha="0.5"
|
||||
android:strokeWidth="1.73436"
|
||||
android:fillColor="#fffff8"
|
||||
android:fillAlpha="0.5"/>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
<group android:scaleX="0.075"
|
||||
android:scaleY="0.16"
|
||||
android:translateX="40"
|
||||
android:translateY="36">
|
||||
<group android:translateY="153.93605">
|
||||
<path android:pathData="M83.375,-0L58.03125,-0L39.453125,-40.609375L32.546875,-35.421875L32.546875,-0L9.796875,-0L9.796875,-102.8125L32.546875,-102.8125L32.546875,-56.734375Q33.546875,-59.765625,35.34375,-63Q37.15625,-66.234375,39.171875,-69.984375L58.75,-102.8125L83.375,-102.8125L55.734375,-56.875L83.375,-0Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
<path android:pathData="M165.9375,-53.28125Q165.9375,-27.359375,153.84375,-13.671875Q141.75,0,119.859375,0L92.796875,0L92.796875,-102.8125L121.734375,-102.8125Q142.76562,-102.8125,154.34375,-90.0625Q165.9375,-77.328125,165.9375,-53.28125ZM142.46875,-52.421875Q142.46875,-68.6875,137.20312,-76.09375Q131.95312,-83.515625,121.734375,-83.515625L115.546875,-83.515625L115.546875,-19.4375L120.15625,-19.4375Q131.67188,-19.4375,137.0625,-27.578125Q142.46875,-35.71875,142.46875,-52.421875Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
<path android:pathData="M234.34375,0L182.79688,0L182.79688,-102.8125L234.34375,-102.8125L234.34375,-83.8125L205.54688,-83.8125L205.54688,-62.78125L232.1875,-62.78125L232.1875,-43.78125L205.54688,-43.78125L205.54688,-19.296875L234.34375,-19.296875L234.34375,0Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
<path android:pathData="M318.67188,-84.953125Q309.59375,-84.953125,304.84375,-75.671875Q300.09375,-66.390625,300.09375,-51.125Q300.09375,-34.84375,304.98438,-26.421875Q309.89062,-18,319.6875,-18Q325.01562,-18,330.04688,-19.65625Q335.09375,-21.3125,340.26562,-23.90625L340.26562,-4.03125Q329.76562,1.4375,316.51562,1.4375Q296.78125,1.4375,286.625,-12.453125Q276.48438,-26.359375,276.48438,-51.265625Q276.48438,-66.8125,281.29688,-78.765625Q286.125,-90.71875,295.26562,-97.484375Q304.42188,-104.25,317.51562,-104.25Q331.34375,-104.25,343.73438,-97.34375L337.25,-78.90625Q332.78125,-81.5,328.25,-83.21875Q323.71875,-84.953125,318.67188,-84.953125Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
<path android:pathData="M420.14062,-39.75Q420.14062,-28.375,416.6875,-19Q413.23438,-9.640625,405.8125,-4.09375Q398.40625,1.4375,386.59375,1.4375Q375.79688,1.4375,368.375,-4.03125Q360.95312,-9.5,357.14062,-18.859375Q353.32812,-28.21875,353.32812,-39.75Q353.32812,-51.84375,357,-61.046875Q360.67188,-70.265625,368.07812,-75.453125Q375.5,-80.640625,387.03125,-80.640625Q401.85938,-80.640625,411,-70.046875Q420.14062,-59.46875,420.14062,-39.75ZM375.5,-39.59375Q375.5,-28.21875,378.15625,-22.3125Q380.82812,-16.421875,386.875,-16.421875Q392.78125,-16.421875,395.375,-22.25Q397.96875,-28.078125,397.96875,-39.75Q397.96875,-51.265625,395.375,-56.953125Q392.78125,-62.640625,386.73438,-62.640625Q380.82812,-62.640625,378.15625,-56.953125Q375.5,-51.265625,375.5,-39.59375Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
<path android:pathData="M474.95312,-80.640625Q485.76562,-80.640625,491.95312,-73.359375Q498.14062,-66.09375,498.14062,-51.84375L498.14062,0L476.25,0L476.25,-45.359375Q476.25,-53.421875,474.375,-57.59375Q472.51562,-61.78125,467.60938,-61.78125Q461.14062,-61.78125,458.76562,-55.9375Q456.39062,-50.109375,456.39062,-36.859375L456.39062,0L434.5,0L434.5,-79.203125L451.48438,-79.203125L454.07812,-69.125L455.23438,-69.125Q461.28125,-80.640625,474.95312,-80.640625Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
<path android:pathData="M555.9531,-80.640625Q566.7656,-80.640625,572.9531,-73.359375Q579.1406,-66.09375,579.1406,-51.84375L579.1406,0L557.25,0L557.25,-45.359375Q557.25,-53.421875,555.375,-57.59375Q553.5156,-61.78125,548.6094,-61.78125Q542.1406,-61.78125,539.7656,-55.9375Q537.3906,-50.109375,537.3906,-36.859375L537.3906,0L515.5,0L515.5,-79.203125L532.4844,-79.203125L535.0781,-69.125L536.2344,-69.125Q542.28125,-80.640625,555.9531,-80.640625Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
<path android:pathData="M625.4375,-80.5Q640.125,-80.5,648.2656,-71.0625Q656.40625,-61.625,656.40625,-44.5L656.40625,-33.265625L615.0781,-33.265625Q615.3594,-15.546875,630.625,-15.546875Q636.53125,-15.546875,641.6406,-16.984375Q646.75,-18.4375,652.375,-21.59375L652.375,-4.171875Q642.28125,1.4375,627.8906,1.4375Q610.75,1.4375,602.03125,-9Q593.3281,-19.4375,593.3281,-39.171875Q593.3281,-59.328125,601.6719,-69.90625Q610.03125,-80.5,625.4375,-80.5ZM626.0156,-64.078125Q621.40625,-64.078125,618.4531,-60.40625Q615.5,-56.734375,615.21875,-48.390625L636.2344,-48.390625Q636.2344,-55.875,633.5625,-59.96875Q630.90625,-64.078125,626.0156,-64.078125Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
<path android:pathData="M699.15625,1.4375Q683.03125,1.4375,674.6719,-8.421875Q666.3281,-18.28125,666.3281,-39.171875Q666.3281,-58.03125,674.8906,-69.328125Q683.46875,-80.640625,700.03125,-80.640625Q706.6406,-80.640625,712.0469,-79.125Q717.4531,-77.609375,722.0625,-75.03125L715.8594,-57.890625Q711.96875,-59.90625,708.375,-61.046875Q704.78125,-62.203125,701.1719,-62.203125Q695.125,-62.203125,691.8125,-56.375Q688.5,-50.546875,688.5,-39.3125Q688.5,-27.9375,691.875,-22.390625Q695.2656,-16.84375,701.46875,-16.84375Q710.96875,-16.84375,720.0469,-23.46875L720.0469,-5.046875Q711.40625,1.4375,699.15625,1.4375Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
<path android:pathData="M765.1719,-16.984375Q767.7656,-16.984375,770.34375,-17.625Q772.9375,-18.28125,775.8281,-19.578125L775.8281,-2.59375Q772.21875,-0.71875,767.8906,0.359375Q763.5781,1.4375,758.40625,1.4375Q747.4531,1.4375,741.9844,-4.75Q736.5156,-10.9375,736.5156,-24.90625L736.5156,-61.625L728.0156,-61.625L728.0156,-72.4375L738.2344,-78.625L743.71875,-95.46875L758.40625,-95.46875L758.40625,-79.203125L774.8125,-79.203125L774.8125,-61.625L758.40625,-61.625L758.40625,-25.484375Q758.40625,-16.984375,765.1719,-16.984375Z"
|
||||
android:fillColor="@android:color/primary_text_light"/>
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
</vector>
|
@@ -4,6 +4,6 @@
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:fillColor="?colorControlNormal"
|
||||
android:pathData="M12,3v10.55c-0.59,-0.34 -1.27,-0.55 -2,-0.55 -2.21,0 -4,1.79 -4,4s1.79,4 4,4 4,-1.79 4,-4V7h4V3h-6z"/>
|
||||
</vector>
|
||||
|
13
res/drawable/ic_device_desktop_shortcut.xml
Normal file
13
res/drawable/ic_device_desktop_shortcut.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<group android:pivotX="12" android:pivotY="12" android:scaleX="0.66" android:scaleY="0.66">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M21,2L3,2c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h7v2L8,20v2h8v-2h-2v-2h7c1.1,0 2,-0.9 2,-2L23,4c0,-1.1 -0.9,-2 -2,-2zM21,16L3,16L3,4h18v12z" />
|
||||
</group>
|
||||
</vector>
|
17
res/drawable/ic_device_laptop_shortcut.xml
Normal file
17
res/drawable/ic_device_laptop_shortcut.xml
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<group
|
||||
android:pivotX="12"
|
||||
android:pivotY="12"
|
||||
android:scaleX="0.66"
|
||||
android:scaleY="0.66">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M20,18c1.1,0 2,-0.9 2,-2V6c0,-1.1 -0.9,-2 -2,-2H4C2.9,4 2,4.9 2,6v10c0,1.1 0.9,2 2,2H0v2h24v-2H20zM4,6h16v10H4V6z" />
|
||||
</group>
|
||||
</vector>
|
18
res/drawable/ic_device_phone_shortcut.xml
Normal file
18
res/drawable/ic_device_phone_shortcut.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<group
|
||||
android:pivotX="12"
|
||||
android:pivotY="12"
|
||||
android:scaleX="0.66"
|
||||
android:scaleY="0.66">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M16,1L8,1C6.34,1 5,2.34 5,4v16c0,1.66 1.34,3 3,3h8c1.66,0 3,-1.34 3,-3L19,4c0,-1.66 -1.34,-3 -3,-3zM14,21h-4v-1h4v1zM17.25,18L6.75,18L6.75,4h10.5v14z" />
|
||||
|
||||
</group>
|
||||
</vector>
|
18
res/drawable/ic_device_tablet_shortcut.xml
Normal file
18
res/drawable/ic_device_tablet_shortcut.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<group
|
||||
android:pivotX="12"
|
||||
android:pivotY="12"
|
||||
android:scaleX="0.66"
|
||||
android:scaleY="0.66">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M21,4L3,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h18c1.1,0 1.99,-0.9 1.99,-2L23,6c0,-1.1 -0.9,-2 -2,-2zM19,18L5,18L5,6h14v12z" />
|
||||
|
||||
</group>
|
||||
</vector>
|
17
res/drawable/ic_device_tv_shortcut.xml
Normal file
17
res/drawable/ic_device_tv_shortcut.xml
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<group
|
||||
android:pivotX="12"
|
||||
android:pivotY="12"
|
||||
android:scaleX="0.66"
|
||||
android:scaleY="0.66">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M21,3L3,3c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h5v2h8v-2h5c1.1,0 1.99,-0.9 1.99,-2L23,5c0,-1.1 -0.9,-2 -2,-2zM21,17L3,17L3,5h18v12z" />
|
||||
</group>
|
||||
</vector>
|
@@ -4,6 +4,6 @@
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:fillColor="?attr/colorControlNormal"
|
||||
android:pathData="M3,9v6h4l5,5L12,4L7,9L3,9zM16.5,12c0,-1.77 -1.02,-3.29 -2.5,-4.03v8.05c1.48,-0.73 2.5,-2.25 2.5,-4.02zM14,3.23v2.06c2.89,0.86 5,3.54 5,6.71s-2.11,5.85 -5,6.71v2.06c4.01,-0.91 7,-4.49 7,-8.77s-2.99,-7.86 -7,-8.77z"/>
|
||||
</vector>
|
@@ -6,8 +6,6 @@
|
||||
android:viewportHeight="24">
|
||||
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:fillColor="?attr/colorControlNormal"
|
||||
android:pathData="M7 9v6h4l5 5V4l-5 5H7z" />
|
||||
<path
|
||||
android:pathData="M0 0h24v24H0z" />
|
||||
</vector>
|
25
res/layout-v23/pairing_explanation_duplicate_names.xml
Normal file
25
res/layout-v23/pairing_explanation_duplicate_names.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2023 Albert Vaca Cintora <albertvaka@gmail.com>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
-->
|
||||
|
||||
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:drawablePadding="8dp"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingBottom="12dp"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:text="@string/pairing_duplicate_names"
|
||||
app:drawableStartCompat="@drawable/ic_warning"
|
||||
app:drawableTint="?attr/colorControlNormal">
|
||||
|
||||
</TextView>
|
@@ -21,6 +21,8 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true"
|
||||
android:clipToPadding="false"
|
||||
android:id="@+id/scroll_view"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout
|
||||
|
@@ -26,6 +26,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:id="@+id/recyclerView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clipToPadding="false"
|
||||
tools:listitem="@layout/custom_device_item"/>
|
||||
|
||||
<TextView
|
||||
|
@@ -30,7 +30,8 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:id="@+id/device_view"
|
||||
android:descendantFocusability="afterDescendants"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
android:clipToPadding="false">
|
||||
|
||||
<!-- Shown when the device is paired and reachable -->
|
||||
<androidx.compose.ui.platform.ComposeView
|
||||
|
@@ -20,5 +20,6 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:id="@+id/licenses_text"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
android:layout_height="match_parent"
|
||||
android:clipToPadding="false"/>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
@@ -17,7 +17,8 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
<!-- Keep in sync with toolbar.xml, copied here because it needs the nested TabLayout -->
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:fitsSystemWindows="true">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/toolbar"
|
||||
|
@@ -57,6 +57,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:dividerHeight="0dp"
|
||||
android:orientation="vertical"
|
||||
android:paddingTop="8dp"
|
||||
android:clipToPadding="false"
|
||||
tools:context=".MainActivity" />
|
||||
</LinearLayout>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
@@ -24,7 +24,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
app:drawableEndCompat="@drawable/ic_delete"
|
||||
app:drawableStartCompat="@drawable/ic_delete" />
|
||||
|
||||
<FrameLayout
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/swipeableView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
@@ -32,17 +32,30 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
|
||||
<TextView
|
||||
android:id="@+id/deviceNameOrIP"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:background="?android:selectableItemBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="?android:attr/listPreferredItemHeightSmall"
|
||||
android:paddingEnd="?android:attr/listPreferredItemPaddingRight"
|
||||
android:paddingStart="?android:attr/listPreferredItemPaddingLeft"
|
||||
android:paddingEnd="?android:attr/listPreferredItemPaddingRight"
|
||||
android:textAppearance="?android:attr/textAppearanceListItemSmall"
|
||||
android:visibility="visible"
|
||||
tools:text="192.168.0.1"/>
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="192.168.0.1" />
|
||||
|
||||
</FrameLayout>
|
||||
<TextView
|
||||
android:id="@+id/connectionStatus"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp"
|
||||
android:paddingStart="?android:attr/listPreferredItemPaddingLeft"
|
||||
android:paddingEnd="?android:attr/listPreferredItemPaddingRight"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</FrameLayout>
|
||||
|
@@ -11,18 +11,21 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:id="@+id/refresh_list_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="@dimen/activity_horizontal_margin">
|
||||
>
|
||||
|
||||
<ListView
|
||||
android:id="@+id/devices_list"
|
||||
android:scrollbarStyle="outsideOverlay"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:addStatesFromChildren="true"
|
||||
android:divider="@null"
|
||||
android:padding="@dimen/activity_horizontal_margin"
|
||||
android:descendantFocusability="afterDescendants"
|
||||
android:dividerHeight="12dp"
|
||||
android:orientation="vertical"
|
||||
tools:listitem="@layout/list_card_entry"
|
||||
android:clipToPadding="false"
|
||||
tools:listitem="@layout/list_item_device_entry"
|
||||
tools:context=".MainActivity" />
|
||||
|
||||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
||||
|
@@ -11,7 +11,9 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:fillViewport="true">
|
||||
android:fillViewport="true"
|
||||
android:clipToPadding="false"
|
||||
android:id="@+id/scroll_view">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/about_layout"
|
||||
|
@@ -1,51 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2023 Dmitry Yudin <dgyudin@gmail.com>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
-->
|
||||
|
||||
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="4dp"
|
||||
style="@style/KdeConnectCardStyle.Filled"
|
||||
app:contentPadding="@dimen/view_default_padding"
|
||||
tools:layout_width="240dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:baselineAligned="false"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginTop="8dp"
|
||||
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/list_item_entry_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:src="@drawable/ic_device_laptop_32dp"
|
||||
android:layout_marginBottom="12dp"
|
||||
android:importantForAccessibility="no"
|
||||
app:tint="?attr/colorOnSurface" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/list_item_entry_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:ellipsize="end"
|
||||
android:lines="2"
|
||||
android:text=""
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:textColor="?attr/colorOnSurface"
|
||||
tools:maxLength="30"
|
||||
tools:text="@tools:sample/lorem/random" />
|
||||
</LinearLayout>
|
||||
</com.google.android.material.card.MaterialCardView>
|
71
res/layout/list_item_device_entry.xml
Normal file
71
res/layout/list_item_device_entry.xml
Normal file
@@ -0,0 +1,71 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2023 Dmitry Yudin <dgyudin@gmail.com>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
-->
|
||||
|
||||
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="4dp"
|
||||
android:focusable="true"
|
||||
android:clickable="true"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
style="@style/KdeConnectCardStyle.Filled"
|
||||
app:contentPadding="@dimen/view_default_padding">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:baselineAligned="false"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/list_item_entry_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="12dp"
|
||||
android:src="@drawable/ic_device_laptop_32dp"
|
||||
android:importantForAccessibility="no"
|
||||
app:tint="?attr/colorControlNormal"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/list_item_entry_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="8dip"
|
||||
android:text=""
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
tools:text="A very long device name that might wrap into multiple lines"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/list_item_entry_summary"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dip"
|
||||
android:singleLine="true"
|
||||
android:text=""
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="#CC2222"
|
||||
android:visibility="gone"
|
||||
tools:text="Other (optional) info"
|
||||
tools:visibility="gone"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
@@ -49,7 +49,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:background="@android:color/transparent"
|
||||
android:contentDescription="@string/mute"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/ic_volume_black"/>
|
||||
android:src="@drawable/ic_volume"/>
|
||||
|
||||
<SeekBar
|
||||
android:id="@+id/systemvolume_seek"
|
||||
|
@@ -1,67 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2023 Albert Vaca Cintora <albertvaka@gmail.com>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
-->
|
||||
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:baselineAligned="false"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||
android:orientation="horizontal"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/list_item_entry_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="12dp"
|
||||
android:src="@drawable/ic_device_laptop_32dp"
|
||||
android:importantForAccessibility="no"
|
||||
app:tint="?attr/colorControlNormal"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/list_item_entry_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="8dip"
|
||||
android:ellipsize="marquee"
|
||||
android:fadingEdge="horizontal"
|
||||
android:singleLine="true"
|
||||
android:text=""
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
tools:maxLength="20"
|
||||
tools:text="@tools:sample/lorem/random"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/list_item_entry_summary"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dip"
|
||||
android:singleLine="true"
|
||||
android:text=""
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="#CC2222"
|
||||
android:visibility="gone"
|
||||
tools:text="Other (optional) info"
|
||||
tools:visibility="visible"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
@@ -198,7 +198,7 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:layout_weight="0"
|
||||
android:contentDescription="@string/mpris_volume"
|
||||
android:maxWidth="30dip"
|
||||
android:src="@drawable/ic_volume_black"/>
|
||||
android:src="@drawable/ic_volume"/>
|
||||
|
||||
|
||||
<SeekBar
|
||||
|
25
res/layout/pairing_explanation_duplicate_names.xml
Normal file
25
res/layout/pairing_explanation_duplicate_names.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2023 Albert Vaca Cintora <albertvaka@gmail.com>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
-->
|
||||
|
||||
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:drawablePadding="8dp"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingBottom="12dp"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:text="@string/pairing_duplicate_names"
|
||||
app:drawableStartCompat="@drawable/ic_warning"
|
||||
app:drawableLeftCompat="@drawable/ic_warning">
|
||||
|
||||
</TextView>
|
@@ -13,6 +13,4 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:clipToPadding="false"
|
||||
android:orientation="vertical"
|
||||
android:paddingHorizontal="@dimen/activity_horizontal_margin"
|
||||
android:paddingVertical="@dimen/activity_vertical_margin">
|
||||
|
||||
</androidx.recyclerview.widget.RecyclerView>
|
||||
android:paddingVertical="@dimen/activity_vertical_margin" />
|
||||
|
@@ -19,12 +19,6 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible">
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/pair_progress"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/pair_message"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -33,6 +27,13 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:text="@string/device_not_paired"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/pairing_explanation"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="12dip"
|
||||
android:text="@string/pairing_explanation" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/pair_verification"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -40,10 +41,15 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:drawablePadding="5dp"
|
||||
android:layout_marginBottom="8dip"
|
||||
android:importantForAccessibility="no"
|
||||
android:visibility="gone"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
app:drawableStartCompat="@drawable/ic_key" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/pair_progress"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/pair_button"
|
||||
android:layout_width="match_parent"
|
||||
|
@@ -7,11 +7,20 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
-->
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:padding="20dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="10dip"
|
||||
android:text="@string/pairing_title"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge" />
|
||||
|
||||
<ListView
|
||||
android:id="@+id/run_commands_device_list"
|
||||
android:layout_width="match_parent"
|
||||
@@ -20,13 +29,12 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
android:addStatesFromChildren="true"
|
||||
android:orientation="vertical"
|
||||
android:divider="@null"
|
||||
android:dividerHeight="0dp" />
|
||||
android:dividerHeight="12dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/no_devices"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_margin="10dip"
|
||||
android:text="@string/device_list_empty"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
|
5
res/mipmap-anydpi-v26/ic_launcher_banner.xml
Normal file
5
res/mipmap-anydpi-v26/ic_launcher_banner.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@drawable/ic_launcher_banner_background"/>
|
||||
<foreground android:drawable="@drawable/ic_launcher_banner_foreground"/>
|
||||
</adaptive-icon>
|
BIN
res/mipmap-xhdpi/ic_launcher_banner.png
Normal file
BIN
res/mipmap-xhdpi/ic_launcher_banner.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.8 KiB |
@@ -1,6 +1,6 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
<string name="kde_connect">كِيدِي المتّصل</string>
|
||||
<string name="kde_connect">جسر كِيدِي</string>
|
||||
<string name="manifest_label_share">أرسِل إلى جهاز</string>
|
||||
<string name="foreground_notification_no_devices">غير متصل بأي جهاز</string>
|
||||
<string name="foreground_notification_devices">متّصل بـ: %s</string>
|
||||
@@ -10,41 +10,60 @@
|
||||
<string name="pref_plugin_battery">تقرير البطّاريّة</string>
|
||||
<string name="pref_plugin_battery_desc">بلّغ عن حالة البطّاريّة دوريًّا</string>
|
||||
<string name="pref_plugin_connectivity_report">تقرير الاتصال</string>
|
||||
<string name="pref_plugin_connectivity_report_desc">تقرير قوة إشارة الشبكة والحالة</string>
|
||||
<string name="pref_plugin_sftp">اكشف نظام الملفّات</string>
|
||||
<string name="pref_plugin_sftp_desc">تسمح بتصفّح نظام ملفّات هذا الهاتف عن بعد</string>
|
||||
<string name="pref_plugin_clipboard">مزامنة الحافظة</string>
|
||||
<string name="pref_plugin_clipboard_desc">شارك محتوى الحافظة</string>
|
||||
<string name="pref_plugin_clipboard_sent">أرسل الحافظة</string>
|
||||
<string name="pref_plugin_mousepad">الدّخل البعيد</string>
|
||||
<string name="pref_plugin_clipboard_sent">أرسل للحافظة</string>
|
||||
<string name="pref_plugin_mousepad">الإدخال البعيد</string>
|
||||
<string name="pref_plugin_mousepad_desc">استخدم الهاتف أو اللوحيّ كفأرة ولوحة مفاتيح</string>
|
||||
<string name="pref_plugin_presenter">متحكم العرض التقديمي</string>
|
||||
<string name="pref_plugin_presenter_desc">استخدام جهازك لتغيير الشرائح في العرض التقديمي</string>
|
||||
<string name="pref_plugin_remotekeyboard">تلقي ضغطات المفاتيح البعيدة</string>
|
||||
<string name="pref_plugin_remotekeyboard_desc">تلقي أحداث الضغط على المفاتيح من الأجهزة البعيدة</string>
|
||||
<string name="pref_plugin_mpris">تحكّمات الوسائط المتعدّدة</string>
|
||||
<string name="pref_plugin_mpris_desc">توفّر تحكّمًا بعيدًا لمشغّل الوسائط</string>
|
||||
<string name="pref_plugin_runcommand">شغّل أمرًا</string>
|
||||
<string name="pref_plugin_runcommand_desc">تحفّز أوامر عن بعد من الهاتف أو اللوحيّ</string>
|
||||
<string name="pref_plugin_runcommand_desc">شغّل أوامر عن بعد من الهاتف أو اللوحيّ</string>
|
||||
<string name="pref_plugin_contacts">مزامن المتراسلين</string>
|
||||
<string name="pref_plugin_ping">وخزة</string>
|
||||
<string name="pref_plugin_ping_desc">أرسل واستقبل وخزات</string>
|
||||
<string name="pref_plugin_notifications">مزامنة الإخطارات</string>
|
||||
<string name="pref_plugin_notifications_desc">انفذ إلى إخطاراتك من أجهزة أخرى</string>
|
||||
<string name="pref_plugin_receive_notifications">استقبل الإخطارات</string>
|
||||
<string name="pref_plugin_receive_notifications_desc">استقبل الإخطارات من الجهاز الآخر واعرضها على أندرويد</string>
|
||||
<string name="pref_plugin_contacts_desc">اسمح بمزامنة دفتر المتراسلين في الجهاز</string>
|
||||
<string name="pref_plugin_ping">وخزة Ping</string>
|
||||
<string name="pref_plugin_ping_desc">أرسل واستقبل وخزات Ping</string>
|
||||
<string name="pref_plugin_notifications">مزامنة الإشعارات</string>
|
||||
<string name="pref_plugin_notifications_desc">انفذ إلى إشعاراتك من أجهزة أخرى</string>
|
||||
<string name="pref_plugin_receive_notifications">استقبل الإشعارات</string>
|
||||
<string name="pref_plugin_receive_notifications_desc">استقبل الإشعارات من الجهاز الآخر واعرضها على أندرويد</string>
|
||||
<string name="pref_plugin_sharereceiver">شارك واستقبل</string>
|
||||
<string name="pref_plugin_sharereceiver_desc">شارك الملفّات والعناوين بين الجهازين</string>
|
||||
<string name="device_list_empty">لا أجهزة</string>
|
||||
<string name="device_list_empty">لا توجد أجهزة</string>
|
||||
<string name="ok">حسنًا</string>
|
||||
<string name="sad_ok">حسنًا ):</string>
|
||||
<string name="cancel">ألغِ</string>
|
||||
<string name="open_settings">افتح الإعدادات</string>
|
||||
<string name="no_permissions">عليك إعطاء التّطبيق صلاحيّات للنّفاذ إلى الإخطارات</string>
|
||||
<string name="send_ping">أرسل وخزة</string>
|
||||
<string name="open_mpris_controls">تحكّمات الوسائط المتعدّدة</string>
|
||||
<string name="open_mousepad">الدّخل البعيد</string>
|
||||
<string name="mousepad_single_tap_settings_title">اضبط إجراء الطَرق بالأصبع</string>
|
||||
<string name="mousepad_double_tap_settings_title">اضبط إجراء اللمس بإصبعين</string>
|
||||
<string name="mousepad_triple_tap_settings_title">اضبط إجراء اللمس بثلاث أصابع</string>
|
||||
<string name="no_permissions">عليك إعطاء التّطبيق صلاحيّات للنّفاذ إلى الإشعارات</string>
|
||||
<string name="no_permission_mprisreceiver">لتكون قادرًا على التحكم في مشغلات الوسائط الخاصة بك ، تحتاج إلى منح حق الوصول إلى الإشعارات</string>
|
||||
<string name="no_permissions_remotekeyboard">لتلقي ضغطات المفاتيح تحتاج إلى تنشيط لوحة المفاتيح البعيدة لجسر كِيدِي</string>
|
||||
<string name="send_ping">أرسل وخزة ping</string>
|
||||
<string name="open_mpris_controls">متحكّمات الوسائط المتعدّدة</string>
|
||||
<string name="remotekeyboard_editing_only_title">التعامل مع المفاتيح البعيدة فقط عند التحرير</string>
|
||||
<string name="remotekeyboard_not_connected">لا يوجد اتصال لوحة المفاتيح بعيدة نشط، وإنشاء واحد في جسر كِيدِي</string>
|
||||
<string name="remotekeyboard_connected">اتصال لوحة المفاتيح بعيدة نشط</string>
|
||||
<string name="remotekeyboard_multiple_connections">هناك أكثر من اتصال لوحة مفاتيح بعيدة، حدد الجهاز لتضبطه</string>
|
||||
<string name="open_mousepad">الإدخال البعيد</string>
|
||||
<string name="mousepad_info">حرك إصبعًا على الشاشة لتحريك مؤشر الفأرة. اطرق للنقرة، واستخدم اثنين أو ثلاث أصابع للأزرار اليمنى والوسطى. استخدام أصبعين للتمرير. استخدم الضغط طويلًا للسحب والإفلات. يمكن تمكين وظيفة الفأرة التوجيهية Gyro من تفضيلات الملحقة.</string>
|
||||
<string name="mousepad_info_no_gestures">حرك إصبعًا على الشاشة لتحريك مؤشر الفأرة، اطرق للنقرة.</string>
|
||||
<string name="mousepad_keyboard_input_not_supported">إدخال لوحة المفاتيح غير مدعوم من قبل الجهاز المقترن</string>
|
||||
<string name="mousepad_single_tap_settings_title">اضبط إجراء الطَرق بأصبع واحدة</string>
|
||||
<string name="mousepad_double_tap_settings_title">اضبط إجراء الطرق بأصبعين</string>
|
||||
<string name="mousepad_triple_tap_settings_title">اضبط إجراء الطرق بثلاث أصابع</string>
|
||||
<string name="mousepad_sensitivity_settings_title">اضبط حساسيّة لوحة اللمس</string>
|
||||
<string name="mousepad_mouse_buttons_title">أظهر أزرار الفأرة</string>
|
||||
<string name="mousepad_acceleration_profile_settings_title">عيّن تسارع المؤشر</string>
|
||||
<string name="mousepad_scroll_direction_title">اعكس اتّجاه التّمرير</string>
|
||||
<string name="mousepad_scroll_sensitivity_title">حساسية التمرير</string>
|
||||
<string name="gyro_mouse_enabled_title">تمكين الفأر التوجيهي</string>
|
||||
<string name="gyro_mouse_sensitivity_title">حساسية التوجيه</string>
|
||||
<string-array name="mousepad_tap_entries">
|
||||
<item>النّقر باليسار</item>
|
||||
<item>النقر باليمين</item>
|
||||
@@ -54,18 +73,33 @@
|
||||
<string-array name="mousepad_sensitivity_entries">
|
||||
<item>الأبطأ</item>
|
||||
<item>الأقل بطئًا</item>
|
||||
<item>الافتراضيّ</item>
|
||||
<item>المبدئيّ</item>
|
||||
<item>الأسرع قليلًا</item>
|
||||
<item>الأسرع</item>
|
||||
</string-array>
|
||||
<string-array name="mousepad_acceleration_profile_entries">
|
||||
<item>بدون تسريع</item>
|
||||
<item>دون تسريع</item>
|
||||
<item>الأكثر ضعفاً</item>
|
||||
<item>ضعيف</item>
|
||||
<item>متوسط</item>
|
||||
<item>أقوى</item>
|
||||
<item>الأقوى</item>
|
||||
</string-array>
|
||||
<string name="sendkeystrokes_send_to">أرسل ضغطات المفاتيح إلى</string>
|
||||
<string name="sendkeystrokes_textbox_hint">أرسل ضغطات المفاتيح إلى المضيف</string>
|
||||
<string name="sendkeystrokes_disabled_toast">إرسال ضغطات المفاتيح معطل - تمكينه في الإعدادات</string>
|
||||
<string name="sendkeystrokes_wrong_data">نوع ملف غير صحيح - يجب أن يكون \'text/x-keystrokes\'</string>
|
||||
<string name="sendkeystrokes_sent_text">أرسل %1$s إلى جهاز %2$s</string>
|
||||
<string name="sendkeystrokes_pref_category_summary">تسمح هذه الوحدة للتطبيقات الأخرى بمشاركة مقاطع النص على شكل ضغطات مفاتيح والتي ستُرسل إلى المضيف المتصل</string>
|
||||
<string name="sendkeystrokes_pref_category_title">أرسل ضغطات المفاتيح</string>
|
||||
<string name="sendkeystrokes_pref_enabled">مكّن إرسال ضغطات المفاتيح</string>
|
||||
<string name="sendkeystrokes_pref_enabled_summary">ستمع إلى البيانات التي تحتوي على نوع ملف التعريف \'text/x-keystrokes\'</string>
|
||||
<string name="sendkeystrokes_safe_text_enabled">أرسل نص آمن فورًا</string>
|
||||
<string name="sendkeystrokes_safe_text_enabled_summary">أرسل سلاسل رقمية قصيرة فقط دون تأكيد</string>
|
||||
<string name="pref_plugin_mousepad_send_keystrokes">أرسل كضغطات مفاتيح</string>
|
||||
<string name="mouse_receiver_plugin_description">استقبل حركة الفأرة البعيدة</string>
|
||||
<string name="mouse_receiver_plugin_name">مستقبل الفأرة</string>
|
||||
<string name="mouse_receiver_no_permissions">لتلقي المدخلات التي تعمل باللمس عن بُعد، تحتاج إلى منح أذونات إمكانية الوصول للتحكم الكامل في جهازك</string>
|
||||
<string name="view_status_title">الحالة</string>
|
||||
<string name="battery_status_format">البطارية: %d%%</string>
|
||||
<string name="battery_status_low_format">البطارية: %d%% منخفضة</string>
|
||||
@@ -76,26 +110,98 @@
|
||||
<string name="device_menu_plugins">إعدادات الملحقة</string>
|
||||
<string name="device_menu_unpair">ألغِ الاقتران</string>
|
||||
<string name="pair_new_device">اقرن جهازًا جديدًا</string>
|
||||
<string name="cancel_pairing">ألغ الاقتران</string>
|
||||
<string name="unknown_device">جهاز مجهول</string>
|
||||
<string name="error_not_reachable">الجهاز غير قابل الوصول</string>
|
||||
<string name="error_already_paired">الجهاز مقترن بالفعل</string>
|
||||
<string name="error_timed_out">انتهت المهلة</string>
|
||||
<string name="error_clocks_not_match">ساعات الجهاز غير متزامنة</string>
|
||||
<string name="error_canceled_by_user">ألغاه المستخدم</string>
|
||||
<string name="error_canceled_by_other_peer">ألغاه ندّ آخر</string>
|
||||
<string name="encryption_info_title">معلومات التّعمية</string>
|
||||
<string name="encryption_info_msg_no_ssl">لا يستخدم الجهاز الآخر إصدارة حديثة من «كِيدِي المتّصل»، ستُستخدم طريقة التّعمية القديمة.</string>
|
||||
<string name="my_device_fingerprint">بصمة SHA256 لشهادة جهازك هي:</string>
|
||||
<string name="remote_device_fingerprint">بصمة SHA256 لشهادة الجهاز البعيد هي:</string>
|
||||
<string name="pair_requested">طُلب الاقتران</string>
|
||||
<string name="pairing_request_from">طلب اقتران من %1s</string>
|
||||
<string name="pair_succeeded">نجح الاقتران</string>
|
||||
<string name="pairing_request_from">اطلب اقتران من \'%1s\'</string>
|
||||
<plurals name="incoming_file_title">
|
||||
<item quantity="zero">لا يستقبل شيء</item>
|
||||
<item quantity="one">يستقبل %1$d ملف من %2$s</item>
|
||||
<item quantity="two">يستقبل %1$d ملفات من %2$s</item>
|
||||
<item quantity="few">يستقبل %1$d ملفات من %2$s</item>
|
||||
<item quantity="many">يستقبل %1$d ملفًا من %2$s</item>
|
||||
<item quantity="other">يستقبل %1$d ملف من %2$s</item>
|
||||
</plurals>
|
||||
<plurals name="incoming_files_text">
|
||||
<item quantity="zero">ملف: %1s</item>
|
||||
<item quantity="one">ملف: %1s</item>
|
||||
<item quantity="two">(الملف %2$d من %3$d) : %1$s</item>
|
||||
<item quantity="few">(الملف %2$d من %3$d) : %1$s</item>
|
||||
<item quantity="many">(الملف %2$d من %3$d) : %1$s</item>
|
||||
<item quantity="other">(الملف %2$d من %3$d) : %1$s</item>
|
||||
</plurals>
|
||||
<plurals name="outgoing_file_title">
|
||||
<item quantity="zero">لا يرسل شيء</item>
|
||||
<item quantity="one">يرسل %1$d ملف إلى %2$s</item>
|
||||
<item quantity="two">يرسل %1$d ملفات إلى %2$s</item>
|
||||
<item quantity="few">يرسل %1$d ملفات إلى %2$s</item>
|
||||
<item quantity="many">يرسل %1$d ملفًا إلى %2$s</item>
|
||||
<item quantity="other">يرسل %1$d ملف إلى %2$s</item>
|
||||
</plurals>
|
||||
<plurals name="outgoing_files_text">
|
||||
<item quantity="zero">ملف: %1$s</item>
|
||||
<item quantity="one">ملف: %1$s</item>
|
||||
<item quantity="two">(الملف %2$d من %3$d) : %1$s</item>
|
||||
<item quantity="few">(الملف %2$d من %3$d) : %1$s</item>
|
||||
<item quantity="many">(الملف %2$d من %3$d) : %1$s</item>
|
||||
<item quantity="other">(الملف %2$d من %3$d) : %1$s</item>
|
||||
</plurals>
|
||||
<plurals name="received_files_title">
|
||||
<item quantity="zero">لم استلم شيئًا</item>
|
||||
<item quantity="one">استُلمت %2$d ملف من %1$s</item>
|
||||
<item quantity="two">استُلمت ملفين من %1$s</item>
|
||||
<item quantity="few">استُلمت %2$d ملفات من %1$s</item>
|
||||
<item quantity="many">استُلمت %2$d ملفًا من %1$s</item>
|
||||
<item quantity="other">استُلمت %2$d ملف من %1$s</item>
|
||||
</plurals>
|
||||
<plurals name="received_files_fail_title">
|
||||
<item quantity="zero">فشل استلام ملف من %1$s</item>
|
||||
<item quantity="one">فشل استلام ملف من %1$s</item>
|
||||
<item quantity="two">فشل استلام %2$d من %3$d ملفًا من %1$s</item>
|
||||
<item quantity="few">فشل استلام %2$d من %3$d ملفًا من %1$s</item>
|
||||
<item quantity="many">فشل استلام %2$d من %3$d ملفًا من %1$s</item>
|
||||
<item quantity="other">فشل استلام %2$d من %3$d ملفًا من %1$s</item>
|
||||
</plurals>
|
||||
<plurals name="sent_files_title">
|
||||
<item quantity="zero">لم يرسل شيء إلى %1$s</item>
|
||||
<item quantity="one">أرسل ملف إلى %1$s</item>
|
||||
<item quantity="two">أرسل ملفين إلى %1$s</item>
|
||||
<item quantity="few">أرسل %2$d ملفات إلى %1$s</item>
|
||||
<item quantity="many">أرسل %2$d ملفًا إلى %1$s</item>
|
||||
<item quantity="other">أرسل %2$d ملف إلى %1$s</item>
|
||||
</plurals>
|
||||
<plurals name="send_files_fail_title">
|
||||
<item quantity="zero">فشل في إرسال ملف إلى %1$s</item>
|
||||
<item quantity="one">فشل في إرسال ملف إلى %1$s</item>
|
||||
<item quantity="two">فشل في إرسال %2$d من %3$d ملفًا إلى %1$s</item>
|
||||
<item quantity="few">فشل في إرسال %2$d من %3$d ملفًا إلى %1$s</item>
|
||||
<item quantity="many">فشل في إرسال %2$d من %3$d ملفًا إلى %1$s</item>
|
||||
<item quantity="other">فشل في إرسال %2$d من %3$d ملفًا إلى %1$s</item>
|
||||
</plurals>
|
||||
<string name="tap_to_open">اطرق لتفتح</string>
|
||||
<string name="received_file_text">المس لفتح \'%1s\'</string>
|
||||
<string name="tap_to_answer">المس للإجابة</string>
|
||||
<string name="received_file_text">اطرق لفتح \'%1s\'</string>
|
||||
<string name="cannot_create_file">تعذّر إنشاء الملف %s</string>
|
||||
<string name="tap_to_answer">اطرق للإجابة</string>
|
||||
<string name="left_click">أرسل نقرة باليسار</string>
|
||||
<string name="right_click">أرسل نقرة باليمين</string>
|
||||
<string name="middle_click">أرسل نقرة بالوسط</string>
|
||||
<string name="show_keyboard">أظهر لوحة المفاتيح</string>
|
||||
<string name="device_not_paired">الجهاز غير مقترن</string>
|
||||
<string name="pairing_duplicate_names">تنبيه: هناك عدة أجهزة تحمل نفس الاسم.</string>
|
||||
<string name="request_pairing">اطلب الاقتران</string>
|
||||
<string name="pairing_accept">اقبل</string>
|
||||
<string name="pairing_reject">ارفض</string>
|
||||
<string name="pairing_explanation">سيؤدي إقران جهازين إلى منحهما إمكانية الوصول إلى بعضهما البعض. قم بإقران أجهزتك الخاصة بك فقط.</string>
|
||||
<string name="settings">إعدادات</string>
|
||||
<string name="mpris_play">شغّل</string>
|
||||
<string name="mpris_pause">ألبث</string>
|
||||
@@ -115,89 +221,165 @@
|
||||
<item>دقيقة واحدة</item>
|
||||
<item>دقيقتان</item>
|
||||
</string-array>
|
||||
<string name="mpris_notifications_explanation">يلزم الحصول على إذن الإشعارات لإظهار الوسائط البعيدة في درج الإشعارات</string>
|
||||
<string name="mpris_notification_settings_title">أظهر إشعار التحكم في الوسائط</string>
|
||||
<string name="mpris_notification_settings_summary">اسمح بالتحكم في مشغلات الوسائط دون فتح جسر كِيدِي</string>
|
||||
<string name="share_to">شارك مع…</string>
|
||||
<string name="unreachable_device_dynamic_shortcut">%s (✕)</string>
|
||||
<string name="unreachable_device_url_share_text">شاركنا العناوين إلى جهاز لا يمكن الوصول إليه، ستُسلم إليه بمجرد أن يصبح الوصول إليه ممكناً.\n\n</string>
|
||||
<string name="protocol_version">إصدار الميفاق:</string>
|
||||
<string name="protocol_version_newer">يستخدم هذا الجهاز إصدار ميفاق أحدث</string>
|
||||
<string name="plugin_settings_with_name">إعدادات %s</string>
|
||||
<string name="invalid_device_name">اسم جهاز غير صالح</string>
|
||||
<string name="shareplugin_text_saved">استُقبل نصّ، حُفظ إلى الحافظة</string>
|
||||
<string name="custom_devices_settings">قائمة أجهزة مخصّصة</string>
|
||||
<string name="custom_device_list">أضف أجهزة بميفاق الإنترنت مإ</string>
|
||||
<string name="custom_devices_settings_summary">%d أجهزة مضافة يدوياً</string>
|
||||
<string name="custom_device_list">أضف أجهزة بعنوان IP</string>
|
||||
<string name="custom_device_deleted">حُذف الجهاز المخصّص</string>
|
||||
<string name="custom_device_list_help">إذا لم يُكتشف جهازك آلياً يمكنك إضافة عنوان IP الخاص به أو اسم المضيف الخاص به من خلال النقر على زر الإجراء العائم</string>
|
||||
<string name="custom_device_fab_hint">أضف جهازاً</string>
|
||||
<string name="undo">تراجع</string>
|
||||
<string name="share_notification_preference">إخطارات مزعجة</string>
|
||||
<string name="share_notification_preference_summary">اهتزّ وشغّل صوتًا عند استقبال ملفّ</string>
|
||||
<string name="share_destination_customize">خصص مجلد المقصد</string>
|
||||
<string name="share_destination_customize_summary_disabled">ستظهر الملفات المستلمة في التنزيلات</string>
|
||||
<string name="share_destination_customize_summary_enabled">ستُخزن الملفات في المجلد أدناه</string>
|
||||
<string name="share_destination_folder_preference">مجلد الوجهة</string>
|
||||
<string name="share">شارك</string>
|
||||
<string name="share_received_file">شارك \"%s\"</string>
|
||||
<string name="title_activity_notification_filter">مرشّح الإخطارات</string>
|
||||
<string name="filter_apps_info">ستُزامن الإخطارات من التّطبيقات المحدّدة.</string>
|
||||
<string name="show_notification_if_screen_off">أرسل تنبيهات فقط إذا كانت الشاشة مغلقة</string>
|
||||
<string name="add_device_dialog_title">أضف جهازاً</string>
|
||||
<string name="add_device_hint">اسم المضيف أو عنوان IP</string>
|
||||
<string name="sftp_preference_configured_storage_locations">أماكن التّخزين المضبوطة</string>
|
||||
<string name="sftp_preference_add_storage_location_title">أضف مكان تخزين</string>
|
||||
<string name="sftp_preference_edit_storage_location">حرر مكان التخزين</string>
|
||||
<string name="sftp_storage_preference_storage_location">مكان التخزين</string>
|
||||
<string name="sftp_storage_preference_storage_location_already_configured">هذا المكان مضبوط مسبقًا</string>
|
||||
<string name="sftp_storage_preference_click_to_select">"انقر للاختيار "</string>
|
||||
<string name="sftp_storage_preference_display_name">اسم العرض</string>
|
||||
<string name="sftp_storage_preference_display_name_already_used">اسم العرض مستخدم مسبقًا</string>
|
||||
<string name="sftp_storage_preference_display_name_cannot_be_empty">اسم العرض لا يمكن أن يكون فارغا</string>
|
||||
<string name="sftp_action_mode_menu_delete">احذف</string>
|
||||
<string name="sftp_no_storage_locations_configured">لا توجد مواقع تخزين مضبوطة</string>
|
||||
<string name="sftp_saf_permission_explanation">للوصول إلى الملفات عن بُعد عليك ضبط مواقع التخزين</string>
|
||||
<string name="sftp_manage_storage_permission_explanation">للسماح بالوصول عن بُعد إلى الملفات الموجودة على هذا الجهاز، يجب أن تسمح لـ جسر كِيدِي بإدارة التخزين.</string>
|
||||
<string name="no_players_connected">لم يُعثر على مشغّلات</string>
|
||||
<string name="send_files">أرسل ملفّات</string>
|
||||
<string name="pairing_title">أجهزة «كِيدِي المتّصل»</string>
|
||||
<string name="pairing_description">الأجهزة الأخرى التي تشغّل «كِيدِي المتّصل» وعلى نفس الشّبكة ستظهر هنا.</string>
|
||||
<string name="block_notification_contents">احظر محتويات الإشعار</string>
|
||||
<string name="block_notification_images">احظر صور الإشعار</string>
|
||||
<string name="pairing_title">أجهزة «جسر كِيدِي»</string>
|
||||
<string name="pairing_description">الأجهزة الأخرى التي تشغّل «جسر كِيدِي» وعلى نفس الشّبكة ستظهر هنا.</string>
|
||||
<string name="device_rename_title">أعد تسمية الجهاز</string>
|
||||
<string name="device_rename_confirm">أعد التّسمية</string>
|
||||
<string name="refresh">أنعش</string>
|
||||
<string name="refresh">حدّث</string>
|
||||
<string name="unreachable_description">الجهاز المقترن هذا لا يمكن الوصول إليه. تأكّد من اتّصاله بنفس الشّبكة.</string>
|
||||
<string name="no_wifi">أنت غير متصل بشبكة واي فاي، لذلك قد لا تتمكن من رؤية أي أجهزة. انقر هنا لتمكين واي فاي.</string>
|
||||
<string name="on_non_trusted_message">ليس على شبكة موثوق بها: الاكتشاف التلقائي معطل.</string>
|
||||
<string name="no_file_browser">لا متصفّحات ملفّات مثبّتة.</string>
|
||||
<string name="pref_plugin_telepathy">أرسل SMS</string>
|
||||
<string name="pref_plugin_telepathy">أرسل رسالة نصية قصيرة</string>
|
||||
<string name="pref_plugin_telepathy_desc">أرسل رسائل نصّيّة من سطح المكتب</string>
|
||||
<string name="pref_plugin_telepathy_mms">أرسل رسالة وسائط</string>
|
||||
<string name="pref_plugin_telepathy_mms_desc">لتتمكن من إرسال رسائل الوسائط المتعددة من جسر كِيدِي، عليك تعيينه كتطبيق الرسائل القصيرة المبدئي.</string>
|
||||
<string name="findmyphone_title">جِد جهازي</string>
|
||||
<string name="findmyphone_title_tablet">جِد جهازي اللوحيّ</string>
|
||||
<string name="findmyphone_title_tv">جِد تلفازي</string>
|
||||
<string name="findmyphone_description">يرّن هذا الجهاز لتجده</string>
|
||||
<string name="findmyphone_found">عثر عليه</string>
|
||||
<string name="findmyphone_found">عثرت عليه</string>
|
||||
<string name="open">افتح</string>
|
||||
<string name="close">أغلق</string>
|
||||
<string name="plugins_need_permission">تحتاج بعض المُلحَقَات إلى أذونات للعمل (انقر للحصول على مزيد من المعلومات):</string>
|
||||
<string name="permission_explanation">تحتاج هذه الملحقة إلى أذونات للعمل</string>
|
||||
<string name="all_permissions_granted">جميع الأذونات ممنوحة 🎉</string>
|
||||
<string name="optional_permission_explanation">تحتاج إلى منح أذونات إضافية لتمكين جميع الوظائف</string>
|
||||
<string name="plugins_need_optional_permission">تحتوي بعض المُلحقات على ميزات معطلة بسبب عدم وجود إذن (انقر للحصول على مزيد من المعلومات):</string>
|
||||
<string name="share_optional_permission_explanation">لتلقي الملفات تحتاج إلى السماح بالوصول إلى التخزين</string>
|
||||
<string name="share_notifications_explanation">لرؤية التقدم المحرز عند إرسال واستقبال الملفات تحتاج إلى السماح بالإشعارات</string>
|
||||
<string name="telepathy_permission_explanation">لقراءة الرسائل النصية القصيرة وكتابتها من سطح المكتب، تحتاج إلى منح الإذن للرسائل النصية القصيرة</string>
|
||||
<string name="telephony_permission_explanation">للاطلاع على المكالمات الهاتفية على سطح المكتب، تحتاج إلى منح الإذن لسجلات المكالمات الهاتفية وحالة الهاتف</string>
|
||||
<string name="telephony_optional_permission_explanation">للاطلاع على اسم المتراسل بدلاً من رقم الهاتف، تحتاج إلى منح حق الوصول إلى المتراسلين على الهاتف</string>
|
||||
<string name="contacts_permission_explanation">لمشاركة دفتر متراسليك مع سطح المكتب، تحتاج إلى منح إذن الوصول إلى المتراسلين</string>
|
||||
<string name="contacts_per_device_confirmation">ستُنسخ جهات اتصال هاتفك إلى هذا الجهاز، بحيث يمكن استخدامها من قبل تطبيق جسر كِيدِي للرسائل النصية القصيرة والتطبيقات الأخرى.</string>
|
||||
<string name="select_ringtone">اختر النغمة</string>
|
||||
<string name="telephony_pref_blocked_title">أرقام محظورة</string>
|
||||
<string name="telephony_pref_blocked_dialog_desc">لا تعرض المكالمات والرسائل النصية القصيرة من هذه الأرقام. يرجى تحديد رقم واحد لكل سطر</string>
|
||||
<string name="mpris_coverart_description">الصورة الفنية للوسيط الحالي</string>
|
||||
<string name="settings_icon_description">أيقونة الإعدادات</string>
|
||||
<string name="presenter_fullscreen">ملء الشّاشة</string>
|
||||
<string name="presenter_exit">اخرج من العرض التقديمي</string>
|
||||
<string name="presenter_lock_tip">يمكنك قفل جهازك واستخدام مفاتيح الصوت للانتقال إلى الشريحة السابقة/التالية</string>
|
||||
<string name="add_command">أضف أمراً</string>
|
||||
<string name="addcommand_explanation">لا يوجد أوامر مسجلة</string>
|
||||
<string name="addcommand_explanation2">يمكنك إضافة أوامر جديدة في إعدادات نظام جسر كِيدِي في إعدادات نظام جسر كِيدِي</string>
|
||||
<string name="add_command_description">يمكنك إضافة أوامر على سطح المكتب</string>
|
||||
<string name="pref_plugin_mprisreceiver">متحكم الوسائط</string>
|
||||
<string name="notification_channel_default">إخطارات أخرى</string>
|
||||
<string name="pref_plugin_mprisreceiver_desc">تحكم في مشغلات الوسائط في هاتفك من جهاز آخر</string>
|
||||
<string name="notification_channel_default">الإشعارات الأخرى</string>
|
||||
<string name="notification_channel_persistent">مؤشر مستمر</string>
|
||||
<string name="notification_channel_media_control">متحكم الوسائط</string>
|
||||
<string name="notification_channel_filetransfer">نقل الملفات الواردة</string>
|
||||
<string name="notification_channel_filetransfer_upload">نقل الملفات الصادرة</string>
|
||||
<string name="notification_channel_filetransfer_error">خطأ في النقل الملف</string>
|
||||
<string name="notification_channel_high_priority">مرتفعة الأولوية</string>
|
||||
<string name="mpris_stop">أوقف المشغل الحالي</string>
|
||||
<string name="copy_url_to_clipboard">انسخ المسار إلى الحافظة</string>
|
||||
<string name="clipboard_toast">نُسخ إلى الحافظة</string>
|
||||
<string name="runcommand_notreachable">الجهاز غير قابل الوصول</string>
|
||||
<string name="runcommand_notpaired">الجهاز غير مقترن</string>
|
||||
<string name="runcommand_nosuchdevice">لا يوجد جهاز من هذا القبيل</string>
|
||||
<string name="runcommand_noruncommandplugin">لم يُمكّن ملحقة تشغيل الأوامر في هذا الجهاز</string>
|
||||
<string name="runcommand_category_device_controls_title">متحكمات الجهاز</string>
|
||||
<string name="runcommand_device_controls_summary">إذا كان جهازك يدعم عناصر تحكم الجهاز، فستظهر الأوامر التي ضبطتها هناك.</string>
|
||||
<string name="set_runcommand_name_as_title">اجعل اسم الأمر كعنوان</string>
|
||||
<string name="runcommand_name_as_title_title">اعرض الاسم كعنوان</string>
|
||||
<string name="pref_plugin_findremotedevice">اعثر على جهاز بعيد</string>
|
||||
<string name="pref_plugin_findremotedevice_desc">رنّ على الجهاز البعيد</string>
|
||||
<string name="ring">رّن</string>
|
||||
<string name="pref_plugin_systemvolume">صوت النظام</string>
|
||||
<string name="pref_plugin_systemvolume_desc">تحكّم في مستوى صوت النظام للجهاز البعيد</string>
|
||||
<string name="mute">اكتم</string>
|
||||
<string name="all">الكلّ</string>
|
||||
<string name="devices">الأجهزة</string>
|
||||
<string name="settings_rename">اسم الجهاز</string>
|
||||
<string name="settings_dark_mode">سمة مظلمة</string>
|
||||
<string name="settings_export_logs">صدّر سجل جسر كِيدِي</string>
|
||||
<string name="settings_export_logs_text">أنشئ ملفًا يحتوي على معلومات التنفيذ التي يمكن أن تساعد في استكشاف المشكلات وإصلاحها.</string>
|
||||
<string name="settings_more_settings_title">المزيد من الإعدادات</string>
|
||||
<string name="settings_more_settings_text">يمكن العثور على إعدادات لكل جهاز ضمن ”إعدادات الملحقة“ من داخل الجهاز.</string>
|
||||
<string name="setting_persistent_notification">أظهر الإخطارات المستمرّة</string>
|
||||
<string name="setting_persistent_notification_oreo">الإخطارات المستمرّة</string>
|
||||
<string name="setting_persistent_notification_description">اطرق للتمكين/التعطيل في إعدادات الإشعارات</string>
|
||||
<string name="extra_options">الخيارات الإضافية</string>
|
||||
<string name="privacy_options">خيارات الخصوصية</string>
|
||||
<string name="set_privacy_options">حدد خيارات الخصوصية</string>
|
||||
<string name="block_contents">امنح محتويات الإخطارات</string>
|
||||
<string name="block_images">امنع الصور في الإخطارات</string>
|
||||
<string name="notification_channel_receivenotification">إخطارات من أجهزة أخرى</string>
|
||||
<string name="no_app_for_opening">لا يوجد تطبيق مناسب لفتح هذا الملف</string>
|
||||
<string name="remote_keyboard_service">لوحة مفاتيح بعيده لجسر كِيدِي</string>
|
||||
<string name="presenter_pointer">المؤشر</string>
|
||||
<string name="trusted_networks">الشّبكات الموثوقة</string>
|
||||
<string name="add_trusted_network">أضف %s</string>
|
||||
<string name="trusted_networks_desc">اقَصْر الاكتشاف التلقائي على الشبكات المعروفة</string>
|
||||
<string name="add_trusted_network">أضف %1s</string>
|
||||
<string name="empty_trusted_networks_list_text">لم تضف أي شبكة موثوق بها حتى الآن</string>
|
||||
<string name="allow_all_networks_text">اسمح للكل</string>
|
||||
<string name="location_permission_needed_title">الإذن مطلوب</string>
|
||||
<string name="bluetooth_permission_needed_desc">يحتاج جسر كِيدِي إلى إذن للاتصال بالأجهزة القريبة لإتاحة الأجهزة المقترنة باستخدام البلوتوث في جسر كِيدِي.</string>
|
||||
<string name="location_permission_needed_desc">يحتاج جسر كِيدِي إلى إذن الموقع في الخلفية لمعرفة شبكة الواي فاي التي تتصل بها حتى عندما يكون التطبيق في الخلفية. وذلك لأنه يمكن استخدام اسم شبكات الواي فاي من حولك للعثور على موقعك، حتى وإن لم يكن هذا ما يفعله جسر كِيدِي.</string>
|
||||
<string name="clipboard_android_x_incompat">قام أندرويد 10 بإزالة وصول للحافظة إلى جميع التطبيقات. ستعطل هذه الملحقة.</string>
|
||||
<string name="mpris_open_url">استمر في التشغيل هنا</string>
|
||||
<string name="cant_open_url">تعذر فتح العنوان للاستمرار في التشغيل</string>
|
||||
<string name="bigscreen_home">المنزل</string>
|
||||
<string name="bigscreen_up">أعلى</string>
|
||||
<string name="bigscreen_left">يسار</string>
|
||||
<string name="bigscreen_select">اختر</string>
|
||||
<string name="bigscreen_right">يمين</string>
|
||||
<string name="bigscreen_down">أسفل</string>
|
||||
<string name="bigscreen_mic">اللاقط</string>
|
||||
<string name="bigscreen_mic">ميكروفون</string>
|
||||
<string name="pref_plugin_bigscreen">متحكم الشاشة الكبيرة</string>
|
||||
<string name="pref_plugin_bigscreen_desc">استخدم جهازك كجهاز تحكم عن بُعد لشاشة البلازما الكبيرة</string>
|
||||
<string name="bigscreen_optional_permission_explanation">لمشاركة إدخال الميكروفون من هاتفك تحتاج إلى إتاحة الوصول إلى إدخال الصوت في الهاتف</string>
|
||||
<string name="bigscreen_speech_extra_prompt">حديث</string>
|
||||
<string name="message_reply_label">ردّ</string>
|
||||
<string name="mark_as_read_label">علّم كمقروءة</string>
|
||||
@@ -216,13 +398,13 @@
|
||||
<string name="theme_dialog_title">اختر سمة</string>
|
||||
<string-array name="theme_list">
|
||||
<item>معينة بواسطة حافظ البطارية</item>
|
||||
<item>خفيف</item>
|
||||
<item>فاتح</item>
|
||||
<item>مظلمة</item>
|
||||
</string-array>
|
||||
<string-array name="theme_list_v28">
|
||||
<item>افتراضيات النظام</item>
|
||||
<item>خفيف</item>
|
||||
<item>مظلمة</item>
|
||||
<item>مبدئيات النظام</item>
|
||||
<item>فاتح</item>
|
||||
<item>مظلم</item>
|
||||
</string-array>
|
||||
<string name="report_bug">أبلغ عن علة</string>
|
||||
<string name="donate">تبرّع</string>
|
||||
@@ -242,12 +424,44 @@
|
||||
<string name="konqi">كوينكي</string>
|
||||
<string name="rise_up">ارفع</string>
|
||||
<string name="rise_down">اخفض</string>
|
||||
<string name="click_here_to_type">اطُرق لتكتب</string>
|
||||
<string name="click_here_to_type">اطُرق هنا لتكتب</string>
|
||||
<string name="clear_compose">امسح</string>
|
||||
<string name="send_compose">أرسل</string>
|
||||
<string name="open_compose_send">ألف نص</string>
|
||||
<string name="maintainer_and_developer">المصين ومطوّر</string>
|
||||
<string name="compose_send_title">اكتب أرسل</string>
|
||||
<string name="open_compose_send">اكتب نصًا</string>
|
||||
<string name="double_tap_to_drag">طرق مزدوج للسحب</string>
|
||||
<string name="hold_to_drag">اضغط مع الاستمرار للسحب</string>
|
||||
<string name="about_kde_about"><h1>حول</h1>" "<p>كيدي مجتمع عالمي من مهندسي البرمجيات والفنانين والكتاب والمترجمين والمبدعين الملتزمين بتطوير البرمجيات الحرة. تُنتج كيدي بيئة سطح المكتب بلازما، ومئات التطبيقات، والعديد من مكتبات البرمجيات التي تدعمها.</p>" "<p>كيدي مشروع تعاوني: لا تتحكم جهة واحدة في توجهاته أو منتجاته. بل نعمل معًا لتحقيق هدفنا المشترك المتمثل في بناء أفضل برمجيات حرة في العالم. الجميع مدعوون للانضمام والمساهمة في كيدي، بمن فيهم أنت.</p>" قم بزيارة <a href=https://www.kde.org/>https://www.kde.org/</a> للحصول على مزيد من المعلومات حول مجتمع كيدي والبرمجيات التي ننتجها"</string>
|
||||
<string name="about_kde_report_bugs_or_wishes"><h1>الإبلاغ عن الأخطاء أو الرغبات</h1> <p>يمكن دائمًا تحسين البرامج، وفريق كيدي مستعدٌّ لذلك. ومع ذلك، يجب عليك - كمستخدم - إبلاغنا عندما لا يعمل شيءٌ ما كما هو متوقع أو عندما يكون من الممكن تحسينه.</p> <p>تحتوي كيدي على نظام تتبع للأخطاء. تفضل بزيارة <a href=https://bugs.kde.org/>https://bugs.kde.org/</a> أو استخدم زر \"الإبلاغ عن خطأ\" من شاشة \"حول\" للإبلاغ عن الأخطاء.</p> إذا كانت لديك أي اقتراحات للتحسين، فنرحب بك باستخدام نظام تتبع الأخطاء لتسجيل رغبتك. تأكد من استخدام مستوى الخطورة المسمى \"قائمة الأمنيات\".</string>
|
||||
<string name="about_kde_join_kde"><h1>انضم إلى كيدي</h1> <p>لا يلزم أن تكون مطور برامج لكي تكون عضوًا في فريق كيدي. يمكنك الانضمام إلى فرق اللغات التي تترجم واجهات البرامج. يمكنك توفير الرسومات والموضوعات والأصوات والوثائق المُحسّنة. القرار لك! <p>قم بزيارة <a href=https://community.kde.org/Get_Involved>https://community.kde.org/Get_Involved</a> للحصول على معلومات حول بعض المشاريع التي يمكنك المشاركة فيها.</p> إذا كنت بحاجة إلى مزيد من المعلومات أو الوثائق، فإن زيارة <a href=https://techbase.kde.org/>https://techbase.kde.org/</a> ستوفر لك ما تحتاجه.</string>
|
||||
<string name="about_kde_support_kde"><h1>دعم كيدي</h1> <p>برامج كيدي متاحة دائمًا بالمجان، ولكن إنشاءها ليس مجانيًا.</p> <p>لدعم التطوير، قام مجتمع كيدي بتأسيس KDE e.V.، وهي منظمة غير ربحية تأسست بشكل قانوني في ألمانيا. تمثل KDE e.V. مجتمع كيدي في الشؤون القانونية والمالية. انظر <a href=https://ev.kde.org/>https://ev.kde.org/</a> للحصول على معلومات حول KDE e.V.</p> <p>يستفيد كيدي من العديد من أنواع المساهمات، بما في ذلك المساهمات المالية. نحن نستخدم الأموال لتعويض الأعضاء وغيرهم عن النفقات التي يتكبدونها عند المساهمة. ويتم استخدام المزيد من الأموال للدعم القانوني وتنظيم المؤتمرات والاجتماعات.</p> <p>نود أن نشجعكم على دعم جهودنا من خلال التبرع المالي، باستخدام إحدى الطرق الموضحة في <a href=https://www.kde.org/community/donations/>https://www.kde.org/community/donations/</a>.</p> نشكركم جزيل الشكر مقدمًا على دعمكم.</string>
|
||||
<string name="maintainer_and_developer">الصائن ومطوّر</string>
|
||||
<string name="developer">مطوّر</string>
|
||||
<string name="apple_support">دعم ماك أو إس. العمل على دعم iOS</string>
|
||||
<string name="bug_fixes_and_general_improvements">إصلاح علل وتحسينات عامة</string>
|
||||
<string name="samoilenko_yuri_task">تنفيذ SFTP، وإصلاح الأخطاء والتحسينات العامة</string>
|
||||
<string name="aniket_kumar_task">تحسينات ملحق الرسائل النصية القصيرة</string>
|
||||
<string name="alex_fiestas_task">تحسينات ملحق المتراسلين</string>
|
||||
<string name="maxim_leshchenko_task">تحسينات واجهة المستخدم وصفحة ”حول“ هذه الصفحة</string>
|
||||
<string name="holger_kaelberer_task">ملحق لوحة المفاتيح عن بُعد وإصلاح الأخطاء</string>
|
||||
<string name="saikrishna_arcot_task">دعم استخدام لوحة المفاتيح في ملحق الإدخال عن بُعد، وإصلاح الأخطاء والتحسينات العامة</string>
|
||||
<string name="shellwen_chen_task">تحسين أمان SFTP، وتحسين قابلية صيانة هذا المشروع، وإصلاح الأخطاء والتحسينات العامة</string>
|
||||
<string name="everyone_else">كل من ساهم في جسر كِيدِي على مدار السنوات الماضية</string>
|
||||
<string name="send_clipboard">أرسل الحافظة</string>
|
||||
<string name="tap_to_execute">اطرق لتنفيذه</string>
|
||||
<string name="plugin_stats">ملحقة الإحصائيات</string>
|
||||
<string name="enable_udp_broadcast">مكّن اكتشاف الجهاز عن طريق UDP</string>
|
||||
<string name="enable_bluetooth">فعّل بلوتوث (بيتا)</string>
|
||||
<string name="receive_notifications_permission_explanation">يجب السماح بتلقي الإشعارات من الأجهزة الأخرى</string>
|
||||
<string name="findmyphone_notifications_explanation">إذن الإشعارات مطلوب حتى يتمكن الهاتف من الرنين عندما يكون التطبيق في الخلفية</string>
|
||||
<string name="no_notifications">الإشعارات معطلة، لن تتلقى إشعارات الأزواج الواردة.</string>
|
||||
<string name="mpris_keepwatching">استمر في التشغيل</string>
|
||||
<string name="mpris_keepwatching_settings_title">استمر في التشغيل</string>
|
||||
<string name="mpris_keepwatching_settings_summary">أظهر إشعارًا صامتًا للمواصلة التشغيل على هذا الجهاز بعد إغلاق الوسائط</string>
|
||||
<string name="notification_channel_keepwatching">استمر في التشغيل</string>
|
||||
<string name="ping_result">تعقبت في %1$d ميلي ثانية</string>
|
||||
<string name="ping_failed">تعذر الوصول إلى الجهاز</string>
|
||||
<string name="ping_in_progress">يتعقب…</string>
|
||||
<string name="device_host_invalid">المضيف غير صالح. استخدم اسم مضيف أو IPv4 أو IPv6 صالحاً</string>
|
||||
<string name="device_host_duplicate">المضيف موجود مسبقًا في القائمة</string>
|
||||
</resources>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user