Fix all Android Lint warnings and enforce lint in git hooks

Lint reported 113 warnings; this fixes them and turns on warningsAsErrors
so new ones fail the build. The pre-commit hook now runs `ktlintCheck lint`
and the pre-push hook runs `test lint`.

Fixes:
- Replace "..." with the typographic ellipsis in every locale's strings.xml
- Remove unused resources: psbt_amount_sats and enable_applications_backup
  strings, white/amber/gray colors, ic_launcher_background_white drawable
- Remove launcher bitmap fallbacks (background/foreground/monochrome/round
  and density ic_launcher.webp): minSdk 26 always resolves the adaptive icon
- Move ic_qrcode.png to drawable-nodpi
- Shrink ic_tor from a declared 512dp to 24dp (only ever drawn at 20dp)
- Make modifier the first optional parameter of RemoteAppIcon
- Use the lambda Modifier.offset overload for the animated toggle indicator
- Replace deprecated Icons.Default.Article with the AutoMirrored version
- Drop a redundant when branch, opt in to resetReplayCache's experimental API

Suppressed with a stated reason: ScopedStorage (legacy backup import),
InsecureBaseConfiguration (local/onion ws:// relays), PluralsCandidate,
VectorPath/VectorRaster (artwork), and ObsoleteSdkInt for mipmap-anydpi-v26
(AAPT cannot resolve the launcher icon from plain mipmap-anydpi). Version
freshness checks are disabled so hooks stay deterministic over time.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VZCeWRzzk4dxptDiEZyXjM
This commit is contained in:
Claude
2026-07-06 10:40:15 +00:00
parent c35ba2ac1a
commit e7b52f512b
62 changed files with 153 additions and 142 deletions
+3 -2
View File
@@ -12,13 +12,14 @@ Amber is a single-module Android app (`:app`, package `com.greenart7c3.nostrsign
- `./gradlew ktlintCheck` — Kotlin style check (pre-commit hook runs this).
- `./gradlew ktlintFormat` — auto-fix formatting issues.
- `./gradlew test --no-daemon` — JVM unit tests for all variants (pre-push hook runs `./gradlew test`).
- `./gradlew lint` — Android Lint on the default variant; `warningsAsErrors` is on, so any new warning fails the build (pre-commit and pre-push hooks run this). Version-freshness checks (`GradleDependency` etc.) are disabled in `app/build.gradle.kts`; per-path exemptions live in `app/lint.xml`.
- `./gradlew test --no-daemon` — JVM unit tests for all variants (pre-push hook runs `./gradlew test lint`).
- Run one test: `./gradlew :app:testFreeDebugUnitTest --tests "com.greenart7c3.nostrsigner.SomeTest"` (or `--tests "*SomeTest.method"`).
- `./gradlew assembleDebug --no-daemon` — debug APK for both product flavors.
- `./gradlew assembleRelease --no-daemon` — release APK; signing only activates when env `SIGN_RELEASE` is set **and** `keystore.properties` exists. CI otherwise `touch`es an empty one.
- `./build.sh <version> <appName>` — builds free + offline release APKs/AABs into `~/release/` and calls `generate_manifest.sh`.
Required order when pushing: `ktlintCheck``test` → build (mirrored by the hooks, but run them directly; do not rely on hooks).
Required order when pushing: `ktlintCheck` `lint` `test` → build (mirrored by the hooks, but run them directly; do not rely on hooks).
## Releases / version bumps
+3 -2
View File
@@ -7,8 +7,9 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
```bash
./gradlew assembleDebug # debug build
./gradlew assembleRelease # release build (requires signing keystore)
./gradlew ktlintCheck # lint check (also runs on every git commit via pre-commit hook)
./gradlew ktlintFormat # auto-fix lint issues
./gradlew ktlintCheck # Kotlin style check (also runs on every git commit via pre-commit hook)
./gradlew ktlintFormat # auto-fix Kotlin style issues
./gradlew lint # Android Lint, warnings fail the build (runs on commit and push via hooks)
./gradlew test --no-daemon # unit tests (also runs on every git push via pre-push hook)
./build.sh # builds both offline and free release variants to ~/release/
```
+17 -3
View File
@@ -24,9 +24,23 @@ android {
vectorDrawables {
useSupportLibrary = true
}
lint {
disable += listOf("MissingTranslation", "LocalContextGetResourceValueCall")
}
}
lint {
// Any new warning fails the build (enforced by the pre-commit/pre-push hooks and CI)
warningsAsErrors = true
abortOnError = true
disable += listOf(
"MissingTranslation",
"LocalContextGetResourceValueCall",
// Version bumps are handled deliberately, not because a hook went red the
// day a new release was published
"AndroidGradlePluginVersion",
"GradleDependency",
"NewerVersionAvailable",
// Resource shrinking is a release-packaging decision, tracked separately
"NotShrinkingResources",
)
}
androidResources {
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<lint>
<!-- AAPT fails to resolve the launcher icon when the adaptive-icon lives in
mipmap-anydpi (without -v26), even with minSdk 26, so the folder must keep
its -v26 suffix despite lint suggesting the merge. -->
<issue id="ObsoleteSdkInt">
<ignore path="src/main/res/mipmap-anydpi-v26" />
</issue>
</lint>
+7 -2
View File
@@ -10,8 +10,13 @@
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- Kept for backup import/export on older devices; newer APIs use the Storage Access Framework -->
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
tools:ignore="ScopedStorage" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
tools:ignore="ScopedStorage" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<application
@@ -56,6 +56,7 @@ import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
import kotlinx.collections.immutable.toPersistentList
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.channels.BufferOverflow
import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.MutableStateFlow
@@ -121,6 +122,7 @@ object IntentUtils {
)
val invalidIntents = _invalidIntents.asSharedFlow()
@OptIn(ExperimentalCoroutinesApi::class)
fun clearInvalidIntents() {
_invalidIntents.resetReplayCache()
}
@@ -107,6 +107,7 @@ object TrustScoreService {
return@withContext null
}
// Safe call needed: the offline flavor compiles against OkHttp 4, where body is nullable
val body = response.body?.string()
if (body == null) {
cacheResult(normalizedUrl, null, isFailed = true)
@@ -66,6 +66,7 @@ object WebDavService {
client.newCall(request).execute().use { response ->
if (response.isSuccessful) {
// Safe call needed: the offline flavor compiles against OkHttp 4, where body is nullable
val body = response.body?.string() ?: ""
Result.success(body)
} else {
@@ -288,6 +288,7 @@ class ZapstoreUpdater(
return null
}
// Safe call needed: the offline flavor compiles against OkHttp 4, where body is nullable
val body = response.body ?: return null
val contentLength = body.contentLength()
val apkFile = File(context.cacheDir, "amber-update-${release.version}.apk")
@@ -16,8 +16,8 @@ import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.windowInsetsPadding
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.filled.Article
import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight
import androidx.compose.material.icons.filled.Article
import androidx.compose.material.icons.filled.CloudUpload
import androidx.compose.material.icons.filled.Draw
import androidx.compose.material.icons.filled.Feedback
@@ -219,7 +219,7 @@ fun SettingsScreen(
SettingsItem(
title = stringResource(R.string.logs),
subtitle = stringResource(R.string.logs_subtitle),
painter = rememberVectorPainter(Icons.Default.Article),
painter = rememberVectorPainter(Icons.AutoMirrored.Filled.Article),
onClick = { onNav(Route.Logs.route) },
)
}
@@ -94,7 +94,7 @@ fun <T> AmberToggles(
) {
Box(
modifier = Modifier
.offset(x = indicatorOffset)
.offset { IntOffset(indicatorOffset.roundToPx(), 0) }
.width(segmentWidth)
.fillMaxHeight()
.clip(RoundedCornerShape(4.dp))
@@ -241,7 +241,6 @@ fun IntentSingleEventHomeScreen(
val nip = when (intentData.type) {
SignerType.NIP04_DECRYPT, SignerType.NIP04_ENCRYPT -> 4
SignerType.NIP44_ENCRYPT, SignerType.NIP44_DECRYPT -> 44
SignerType.DECRYPT_ZAP_EVENT -> null
else -> null
}
val isEncrypt = intentData.type == SignerType.NIP04_ENCRYPT || intentData.type == SignerType.NIP44_ENCRYPT
@@ -16,7 +16,7 @@ import androidx.compose.ui.unit.dp
@Composable
fun RemoteAppIcon(
imageUrl: String?,
name: String = "",
name: String,
modifier: Modifier = Modifier,
size: Dp = 48.dp,
) {

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

+4 -1
View File
@@ -1,8 +1,11 @@
<!-- VectorRaster ignored: the login logo is drawn at its intrinsic 244x225 size -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:width="244dp"
android:height="225dp"
android:viewportWidth="244"
android:viewportHeight="225">
android:viewportHeight="225"
tools:ignore="VectorRaster">
<group>
<clip-path
android:pathData="M0,0.32h244v224h-244z"/>
@@ -1,2 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<color xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/white" />
+6 -2
View File
@@ -1,4 +1,8 @@
<vector android:height="512dp" android:viewportHeight="24"
android:viewportWidth="24" android:width="512dp" xmlns:android="http://schemas.android.com/apk/res/android">
<!-- VectorPath ignored: the artwork cannot be simplified without redrawing it -->
<vector android:height="24dp" android:viewportHeight="24"
android:viewportWidth="24" android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="VectorPath">
<path android:fillColor="#FF000000" android:pathData="M17.578,12.201c-0.76,-0.692 -1.721,-1.251 -2.704,-1.81 -0.446,-0.246 -1.81,-1.318 -1.34,-2.838l-0.851,-0.358c1.342,-2.078 3.085,-4.134 5.229,-6.056 -1.721,0.581 -3.24,1.476 -4.379,3.062 0.67,-1.407 1.765,-2.793 2.972,-4.201 -1.654,1.185 -3.084,2.525 -3.979,4.313l0.627,-2.503c-0.894,1.608 -1.52,3.24 -1.766,4.871l-1.317,-0.535 -0.223,0.178c1.162,2.078 0.559,3.174 -0.022,3.553 -1.162,0.783 -2.838,1.788 -3.688,2.659 -1.609,1.654 -2.078,3.218 -1.921,5.296 0.157,2.66 2.101,4.873 4.67,5.744 1.14,0.38 2.19,0.424 3.352,0.424 1.877,0 3.799,-0.491 5.207,-1.676a6.551,6.551 0,0 0,2.369 -5.027,6.875 6.875,0 0,0 -2.236,-5.096zM14.025,21.073c-0.09,0.402 -0.38,0.894 -0.737,1.341 0.134,-0.246 0.246,-0.492 0.313,-0.76 0.559,-1.989 0.805,-2.904 0.537,-5.095 -0.045,-0.224 -0.135,-0.938 -0.471,-1.721 -0.468,-1.185 -1.184,-2.303 -1.272,-2.548 -0.157,-0.38 -0.38,-1.989 -0.403,-3.084 0.023,0.938 0.089,2.659 0.335,3.329 0.067,0.225 0.715,1.229 1.185,2.459 0.312,0.849 0.38,1.632 0.446,1.854 0.224,1.007 -0.045,2.705 -0.401,4.313 -0.111,0.581 -0.426,1.252 -0.828,1.766 0.225,-0.313 0.402,-0.715 0.537,-1.185 0.269,-0.938 0.38,-2.145 0.356,-2.905 -0.021,-0.446 -0.222,-1.407 -0.558,-2.278 -0.201,-0.47 -0.492,-0.961 -0.692,-1.297 -0.224,-0.335 -0.224,-1.072 -0.313,-1.921 0.021,0.916 -0.068,1.385 0.156,2.033 0.134,0.379 0.625,0.916 0.759,1.43 0.201,0.693 0.402,1.453 0.381,1.922 0,0.536 -0.022,1.52 -0.269,2.593 -0.157,0.804 -0.515,1.497 -1.095,1.943 0.246,-0.312 0.38,-0.625 0.447,-0.938 0.089,-0.469 0.111,-0.916 0.156,-1.475a5.96,5.96 0,0 0,-0.111 -1.721c-0.179,-0.805 -0.469,-1.608 -0.604,-2.168 0.022,0.626 0.269,1.408 0.381,2.235 0.089,0.604 0.044,1.206 0.021,1.742 -0.021,0.627 -0.223,1.722 -0.492,2.258 -0.268,-0.112 -0.357,-0.269 -0.537,-0.491 -0.223,-0.291 -0.357,-0.604 -0.491,-0.962a5.043,5.043 0,0 1,-0.291 -0.915,3.071 3.071,0 0,1 0.559,-2.213c0.469,-0.671 0.559,-0.716 0.715,-1.497 -0.223,0.692 -0.379,0.759 -0.871,1.341 -0.559,0.647 -0.648,1.586 -0.648,2.346 0,0.313 0.134,0.671 0.246,1.007 0.134,0.356 0.268,0.714 0.447,0.982 0.134,0.223 0.313,0.379 0.469,0.491 -0.581,-0.156 -1.184,-0.379 -1.564,-0.692 -0.938,-0.805 -1.765,-2.167 -1.877,-3.375 -0.089,-0.982 0.804,-2.413 2.078,-3.128 1.073,-0.626 1.318,-1.319 1.542,-2.459 -0.313,0.983 -0.626,1.833 -1.654,2.348 -1.475,0.804 -2.235,2.1 -2.167,3.352 0.112,1.586 0.737,2.682 2.011,3.554 0.291,0.2 0.693,0.401 1.118,0.559 -1.587,-0.381 -1.788,-0.604 -2.324,-1.229 0,-0.045 -0.134,-0.135 -0.134,-0.156 -0.715,-0.805 -1.609,-2.19 -1.922,-3.464 -0.112,-0.447 -0.224,-0.916 -0.089,-1.363 0.581,-2.101 1.854,-2.905 3.128,-3.775 0.313,-0.225 0.626,-0.426 0.916,-0.649 0.715,-0.559 0.894,-2.012 1.05,-2.838 -0.29,1.006 -0.603,2.258 -1.162,2.659 -0.29,0.224 -0.648,0.402 -0.938,0.604 -1.318,0.894 -2.637,1.743 -3.24,3.91 -0.134,0.56 -0.044,0.962 0.089,1.498 0.335,1.317 1.229,2.748 1.989,3.597l0.134,0.135c0.335,0.381 0.76,0.67 1.274,0.871a5.945,5.945 0,0 1,-1.296 -0.469c-2.078,-1.005 -3.463,-3.173 -3.553,-4.939 -0.179,-3.597 1.542,-4.647 3.151,-5.966 0.894,-0.737 2.145,-1.095 2.86,-2.413 0.134,-0.291 0.224,-0.916 0.045,-1.587 -0.067,-0.224 -0.402,-1.028 -0.537,-1.207l1.989,0.872c-0.044,0.938 -0.067,1.698 0.112,2.391 0.2,0.76 1.184,1.854 1.586,3.129 0.783,2.41 0.583,5.561 0.023,8.019z"/>
</vector>
+4 -1
View File
@@ -1,8 +1,11 @@
<!-- VectorPath ignored: the artwork cannot be simplified without redrawing it -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:width="25dp"
android:height="24dp"
android:viewportWidth="25"
android:viewportHeight="24">
android:viewportHeight="24"
tools:ignore="VectorPath">
<path
android:pathData="M12.75,8.25C14.82,8.25 16.5,9.93 16.5,12C16.5,14.07 14.82,15.75 12.75,15.75C10.68,15.75 9,14.07 9,12C9,9.93 10.68,8.25 12.75,8.25ZM12.75,9.75C11.508,9.75 10.5,10.758 10.5,12C10.5,13.242 11.508,14.25 12.75,14.25C13.992,14.25 15,13.242 15,12C15,10.758 13.992,9.75 12.75,9.75Z"
android:fillColor="#4C4C4C"
@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

+5 -7
View File
@@ -55,7 +55,7 @@
<string name="copy_to_clipboard">In Zwischenablage kopieren</string>
<string name="nothing_to_approve_yet">Noch nichts zu genehmigen</string>
<string name="why_not_explore_your_favorite_nostr_app_a_bit">Warum nicht deine Lieblings-Nostr-App ein wenig erkunden?</string>
<string name="more">%1$s mehr...</string>
<string name="more">%1$s mehr</string>
<string name="would_like_your_permission_to_read_your_public_key_and_sign_events_on_your_behalf">" möchte deinen öffentlichen Schlüssel lesen und Events in deinem Namen signieren"</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Verbinde dich über Tor mit Orbot
\n\n1. Installiere [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
@@ -202,7 +202,6 @@
<string name="psbt_sending">Senden</string>
<string name="psbt_change">Wechselgeld</string>
<string name="psbt_fee">Gebühr</string>
<string name="psbt_amount_sats">%1$s Sats</string>
<string name="psbt_raw">Rohes PSBT (Hex)</string>
<string name="psbt_decode_error">PSBT konnte nicht dekodiert werden: %1$s</string>
<string name="signing_as">Signieren als</string>
@@ -368,8 +367,8 @@
<string name="password_too_short">Das Passwort muss mindestens 8 Zeichen lang sein</string>
<string name="passwords_do_not_match">Passwörter stimmen nicht überein</string>
<string name="export_all_accounts_button">Alle Konten exportieren</string>
<string name="preparing_export">Export wird vorbereitet...</string>
<string name="exporting_accounts_progress">Konto %1$d von %2$d wird exportiert...</string>
<string name="preparing_export">Export wird vorbereitet</string>
<string name="exporting_accounts_progress">Konto %1$d von %2$d wird exportiert</string>
<string name="export_success">%d Konten erfolgreich exportiert</string>
<string name="export_failed">Export fehlgeschlagen: %s</string>
<string name="confirm_export_title">Export bestätigen</string>
@@ -413,7 +412,7 @@
<string name="create">Erstellen</string>
<string name="name">Name</string>
<string name="no_relays_added">Keine Relays hinzugefügt</string>
<string name="wss">wss://...</string>
<string name="wss">wss://</string>
<string name="name_cannot_be_empty">"Name darf nicht leer sein "</string>
<string name="your_nsec_bunker_has_been_created">Dein nsecbunker ist bereit!</string>
<string name="use_this_url_in_your_app">Verwende diese URL in deiner App:</string>
@@ -450,7 +449,7 @@
<string name="default_profile_relays">Standard-Profil-Relays</string>
<string name="manage_the_relays_used_to_fetch_your_profile_data">Verwalte die Relays, die zum Abrufen deiner Profildaten verwendet werden</string>
<string name="manage_the_relays_used_for_communicating_with_external_applications">Verwalte die Relays, die zur Kommunikation mit externen Anwendungen verwendet werden</string>
<string name="testing_relay">Relay wird getestet...</string>
<string name="testing_relay">Relay wird getestet</string>
<string name="a_nostr_secure_signer">EIN SICHERER NOSTR-SIGNIERER</string>
<string name="go_back">Zurück</string>
<string name="your_nostr_account_is_ready">Dein Nostr-Konto ist bereit!</string>
@@ -709,7 +708,6 @@
<string name="event_kind_4454">Client-Schlüsselankündigung</string>
<string name="applications_backup">Anwendungs-Backup</string>
<string name="applications_backup_explainer">Wenn aktiviert, veröffentlicht Amber einmal täglich eine verschlüsselte Kopie deiner verbundenen Anwendungen und ihrer Berechtigungen auf Relays, damit du sie auf einem neuen Gerät wiederherstellen kannst. Nur du kannst das Backup entschlüsseln.</string>
<string name="enable_applications_backup">Verschlüsseltes Anwendungs-Backup aktivieren</string>
<string name="backup_now">Jetzt sichern</string>
<string name="restore_from_relays">Von Relays wiederherstellen</string>
<string name="restore_confirm_title">Anwendungen wiederherstellen?</string>
+5 -7
View File
@@ -57,7 +57,7 @@
<string name="copy_to_clipboard">Copiar al portapapeles</string>
<string name="nothing_to_approve_yet">Nada que aprobar aún</string>
<string name="why_not_explore_your_favorite_nostr_app_a_bit">¿Por qué no explorar un poco tu app favorita de nostr?</string>
<string name="more">%1$s más...</string>
<string name="more">%1$s más</string>
<string name="would_like_your_permission_to_read_your_public_key_and_sign_events_on_your_behalf">" desea tu permiso para leer tu clave pública y firmar eventos en tu nombre"</string>
<string name="connect_through_your_orbot_setup_markdown">
## Conectarse a través de Tor con Orbot
@@ -205,7 +205,6 @@
<string name="psbt_sending">Enviando</string>
<string name="psbt_change">Cambio</string>
<string name="psbt_fee">Comisión</string>
<string name="psbt_amount_sats">%1$s sats</string>
<string name="psbt_raw">PSBT sin formato (hex)</string>
<string name="psbt_decode_error">No se pudo decodificar el PSBT: %1$s</string>
<string name="signing_as">Firmando como</string>
@@ -371,8 +370,8 @@
<string name="password_too_short">La contraseña debe tener al menos 8 caracteres</string>
<string name="passwords_do_not_match">Las contraseñas no coinciden</string>
<string name="export_all_accounts_button">Exportar todas las cuentas</string>
<string name="preparing_export">Preparando exportación...</string>
<string name="exporting_accounts_progress">Exportando cuenta %1$d de %2$d...</string>
<string name="preparing_export">Preparando exportación</string>
<string name="exporting_accounts_progress">Exportando cuenta %1$d de %2$d</string>
<string name="export_success">Se exportaron correctamente %d cuentas</string>
<string name="export_failed">Error en la exportación: %s</string>
<string name="confirm_export_title">Confirmar exportación</string>
@@ -416,7 +415,7 @@
<string name="create">Crear</string>
<string name="name">Nombre</string>
<string name="no_relays_added">No se han añadido relays</string>
<string name="wss">wss://...</string>
<string name="wss">wss://</string>
<string name="name_cannot_be_empty">"El nombre no puede estar vacío "</string>
<string name="your_nsec_bunker_has_been_created">¡Tu nsecbunker está listo!</string>
<string name="use_this_url_in_your_app">Usa esta URL en tu aplicación:</string>
@@ -453,7 +452,7 @@
<string name="default_profile_relays">Relays de perfil predeterminados</string>
<string name="manage_the_relays_used_to_fetch_your_profile_data">Gestiona los relays usados para obtener los datos de tu perfil</string>
<string name="manage_the_relays_used_for_communicating_with_external_applications">Gestiona los relays usados para comunicarse con aplicaciones externas</string>
<string name="testing_relay">Probando relay...</string>
<string name="testing_relay">Probando relay</string>
<string name="a_nostr_secure_signer">UN FIRMANTE SEGURO DE NOSTR</string>
<string name="go_back">Volver</string>
<string name="your_nostr_account_is_ready">¡Tu cuenta de Nostr está lista!</string>
@@ -712,7 +711,6 @@
<string name="event_kind_4454">Anuncio de clave de cliente</string>
<string name="applications_backup">Copia de seguridad de aplicaciones</string>
<string name="applications_backup_explainer">Cuando está activado, Amber publica una copia cifrada de tus aplicaciones conectadas y sus permisos en los relays una vez al día para que puedas restaurarlos en un nuevo dispositivo. Solo tú puedes descifrar la copia de seguridad.</string>
<string name="enable_applications_backup">Activar copia de seguridad cifrada de aplicaciones</string>
<string name="backup_now">Hacer copia de seguridad ahora</string>
<string name="restore_from_relays">Restaurar desde relays</string>
<string name="restore_confirm_title">¿Restaurar aplicaciones?</string>
+5 -7
View File
@@ -55,7 +55,7 @@
<string name="copy_to_clipboard">Copier dans le presse-papiers</string>
<string name="nothing_to_approve_yet">Rien à approuver pour l\'instant</string>
<string name="why_not_explore_your_favorite_nostr_app_a_bit">Pourquoi ne pas explorer un peu votre application Nostr préférée ?</string>
<string name="more">%1$s plus...</string>
<string name="more">%1$s plus</string>
<string name="would_like_your_permission_to_read_your_public_key_and_sign_events_on_your_behalf">" aimerait avoir la permission de lire votre clé publique et de signer des évènements en votre nom"</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Se connecter à travers Tor avec Orbot
\n\n1. Installe [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
@@ -202,7 +202,6 @@
<string name="psbt_sending">Envoi</string>
<string name="psbt_change">Monnaie</string>
<string name="psbt_fee">Frais</string>
<string name="psbt_amount_sats">%1$s sats</string>
<string name="psbt_raw">PSBT brut (hex)</string>
<string name="psbt_decode_error">Impossible de décoder le PSBT : %1$s</string>
<string name="signing_as">Signature en tant que</string>
@@ -368,8 +367,8 @@
<string name="password_too_short">Le mot de passe doit contenir au moins 8 caractères</string>
<string name="passwords_do_not_match">Les mots de passe ne correspondent pas</string>
<string name="export_all_accounts_button">Exporter tous les comptes</string>
<string name="preparing_export">Préparation de l\'exportation...</string>
<string name="exporting_accounts_progress">Exportation du compte %1$d sur %2$d...</string>
<string name="preparing_export">Préparation de l\'exportation</string>
<string name="exporting_accounts_progress">Exportation du compte %1$d sur %2$d</string>
<string name="export_success">%d comptes exportés avec succès</string>
<string name="export_failed">Échec de l\'exportation : %s</string>
<string name="confirm_export_title">Confirmer l\'exportation</string>
@@ -413,7 +412,7 @@
<string name="create">Créer</string>
<string name="name">Nom</string>
<string name="no_relays_added">Aucun relay ajouté</string>
<string name="wss">wss://...</string>
<string name="wss">wss://</string>
<string name="name_cannot_be_empty">"Le nom ne peut pas être vide "</string>
<string name="your_nsec_bunker_has_been_created">Votre nsecbunker est prêt !</string>
<string name="use_this_url_in_your_app">Utilisez cette URL dans votre application :</string>
@@ -450,7 +449,7 @@
<string name="default_profile_relays">Relays de profil par défaut</string>
<string name="manage_the_relays_used_to_fetch_your_profile_data">Gérez les relays utilisés pour récupérer les données de votre profil</string>
<string name="manage_the_relays_used_for_communicating_with_external_applications">Gérez les relays utilisés pour communiquer avec les applications externes</string>
<string name="testing_relay">Test du relay...</string>
<string name="testing_relay">Test du relay</string>
<string name="a_nostr_secure_signer">UN SIGNATAIRE SÉCURISÉ NOSTR</string>
<string name="go_back">Retour</string>
<string name="your_nostr_account_is_ready">Votre compte Nostr est prêt !</string>
@@ -709,7 +708,6 @@
<string name="event_kind_4454">Annonce de clé client</string>
<string name="applications_backup">Sauvegarde des applications</string>
<string name="applications_backup_explainer">Lorsqu\'il est activé, Amber publie une copie chiffrée de vos applications connectées et de leurs permissions sur les relays une fois par jour afin que vous puissiez les restaurer sur un nouvel appareil. Vous seul pouvez déchiffrer la sauvegarde.</string>
<string name="enable_applications_backup">Activer la sauvegarde chiffrée des applications</string>
<string name="backup_now">Sauvegarder maintenant</string>
<string name="restore_from_relays">Restaurer depuis les relays</string>
<string name="restore_confirm_title">Restaurer les applications ?</string>
+5 -7
View File
@@ -57,7 +57,7 @@
<string name="copy_to_clipboard">Salin ke clipboard</string>
<string name="nothing_to_approve_yet">Belum ada yang perlu disetujui</string>
<string name="why_not_explore_your_favorite_nostr_app_a_bit">Mengapa tidak menjelajahi aplikasi nostr favorit Anda sebentar?</string>
<string name="more">%1$s lagi...</string>
<string name="more">%1$s lagi</string>
<string name="would_like_your_permission_to_read_your_public_key_and_sign_events_on_your_behalf">"Meminta izin Anda untuk membaca kunci publik dan menandatangani event atas nama Anda"</string>
<string name="connect_through_your_orbot_setup_markdown">
## Hubungkan melalui Tor dengan Orbot
@@ -205,7 +205,6 @@
<string name="psbt_sending">Mengirim</string>
<string name="psbt_change">Kembalian</string>
<string name="psbt_fee">Biaya</string>
<string name="psbt_amount_sats">%1$s sats</string>
<string name="psbt_raw">PSBT mentah (hex)</string>
<string name="psbt_decode_error">Tidak dapat mendekode PSBT: %1$s</string>
<string name="signing_as">Menandatangani sebagai</string>
@@ -371,8 +370,8 @@
<string name="password_too_short">Kata sandi harus minimal 8 karakter</string>
<string name="passwords_do_not_match">Kata sandi tidak cocok</string>
<string name="export_all_accounts_button">Ekspor Semua Akun</string>
<string name="preparing_export">Menyiapkan ekspor...</string>
<string name="exporting_accounts_progress">Mengekspor akun %1$d dari %2$d...</string>
<string name="preparing_export">Menyiapkan ekspor</string>
<string name="exporting_accounts_progress">Mengekspor akun %1$d dari %2$d</string>
<string name="export_success">Berhasil mengekspor %d akun</string>
<string name="export_failed">Ekspor gagal: %s</string>
<string name="confirm_export_title">Konfirmasi Ekspor</string>
@@ -416,7 +415,7 @@
<string name="create">Buat</string>
<string name="name">Nama</string>
<string name="no_relays_added">Belum ada relay ditambahkan</string>
<string name="wss">wss://...</string>
<string name="wss">wss://</string>
<string name="name_cannot_be_empty">"Nama tidak boleh kosong "</string>
<string name="your_nsec_bunker_has_been_created">nsecbunker Anda siap!</string>
<string name="use_this_url_in_your_app">Gunakan URL ini di aplikasi Anda:</string>
@@ -453,7 +452,7 @@
<string name="default_profile_relays">Relay profil default</string>
<string name="manage_the_relays_used_to_fetch_your_profile_data">Kelola relay yang digunakan untuk mengambil data profil Anda</string>
<string name="manage_the_relays_used_for_communicating_with_external_applications">Kelola relay yang digunakan untuk berkomunikasi dengan aplikasi eksternal</string>
<string name="testing_relay">Menguji relay...</string>
<string name="testing_relay">Menguji relay</string>
<string name="a_nostr_secure_signer">PENANDA AMAN NOSTR</string>
<string name="go_back">Kembali</string>
<string name="your_nostr_account_is_ready">Akun Nostr Anda siap!</string>
@@ -712,7 +711,6 @@
<string name="event_kind_4454">Pengumuman kunci klien</string>
<string name="applications_backup">Cadangan aplikasi</string>
<string name="applications_backup_explainer">Jika diaktifkan, Amber menerbitkan salinan terenkripsi aplikasi yang terhubung dan izinnya ke relay sekali sehari sehingga Anda dapat memulihkannya di perangkat baru. Hanya Anda yang dapat mendekripsi cadangan.</string>
<string name="enable_applications_backup">Aktifkan cadangan aplikasi terenkripsi</string>
<string name="backup_now">Cadangkan sekarang</string>
<string name="restore_from_relays">Pulihkan dari relay</string>
<string name="restore_confirm_title">Pulihkan aplikasi?</string>
+5 -7
View File
@@ -57,7 +57,7 @@
<string name="copy_to_clipboard">Copia negli appunti</string>
<string name="nothing_to_approve_yet">Niente da approvare per ora</string>
<string name="why_not_explore_your_favorite_nostr_app_a_bit">Perché non esplori un po\' la tua app Nostr preferita?</string>
<string name="more">%1$s altri...</string>
<string name="more">%1$s altri</string>
<string name="would_like_your_permission_to_read_your_public_key_and_sign_events_on_your_behalf">" Vorrebbe il tuo permesso per leggere la tua chiave pubblica e firmare gli eventi per tuo conto"</string>
<string name="connect_through_your_orbot_setup_markdown">
## Connettiti tramite Tor con Orbot
@@ -205,7 +205,6 @@
<string name="psbt_sending">Invio</string>
<string name="psbt_change">Resto</string>
<string name="psbt_fee">Commissione</string>
<string name="psbt_amount_sats">%1$s sats</string>
<string name="psbt_raw">PSBT grezzo (hex)</string>
<string name="psbt_decode_error">Impossibile decodificare PSBT: %1$s</string>
<string name="signing_as">Firma come</string>
@@ -371,8 +370,8 @@
<string name="password_too_short">La password deve contenere almeno 8 caratteri</string>
<string name="passwords_do_not_match">Le password non corrispondono</string>
<string name="export_all_accounts_button">Esporta tutti gli account</string>
<string name="preparing_export">Preparazione esportazione...</string>
<string name="exporting_accounts_progress">Esportazione account %1$d di %2$d...</string>
<string name="preparing_export">Preparazione esportazione</string>
<string name="exporting_accounts_progress">Esportazione account %1$d di %2$d</string>
<string name="export_success">Esportati con successo %d account</string>
<string name="export_failed">Esportazione fallita: %s</string>
<string name="confirm_export_title">Conferma esportazione</string>
@@ -416,7 +415,7 @@
<string name="create">Crea</string>
<string name="name">Nome</string>
<string name="no_relays_added">Nessun relay aggiunto</string>
<string name="wss">wss://...</string>
<string name="wss">wss://</string>
<string name="name_cannot_be_empty">"Il nome non può essere vuoto "</string>
<string name="your_nsec_bunker_has_been_created">Il tuo nsecbunker è pronto!</string>
<string name="use_this_url_in_your_app">Usa questo URL nella tua app:</string>
@@ -453,7 +452,7 @@
<string name="default_profile_relays">Relay profilo predefiniti</string>
<string name="manage_the_relays_used_to_fetch_your_profile_data">Gestisci i relay usati per recuperare i dati del tuo profilo</string>
<string name="manage_the_relays_used_for_communicating_with_external_applications">Gestisci i relay usati per comunicare con le applicazioni esterne</string>
<string name="testing_relay">Test relay in corso...</string>
<string name="testing_relay">Test relay in corso</string>
<string name="a_nostr_secure_signer">UN SIGNER SICURO NOSTR</string>
<string name="go_back">Torna indietro</string>
<string name="your_nostr_account_is_ready">Il tuo account Nostr è pronto!</string>
@@ -712,7 +711,6 @@
<string name="event_kind_4454">Annuncio chiave client</string>
<string name="applications_backup">Backup applicazioni</string>
<string name="applications_backup_explainer">Quando abilitato, Amber pubblica una copia cifrata delle tue applicazioni connesse e dei loro permessi sui relay una volta al giorno, così puoi ripristinarli su un nuovo dispositivo. Solo tu puoi decifrare il backup.</string>
<string name="enable_applications_backup">Abilita backup cifrato delle applicazioni</string>
<string name="backup_now">Backup ora</string>
<string name="restore_from_relays">Ripristina dai relay</string>
<string name="restore_confirm_title">Ripristinare le applicazioni?</string>
+5 -7
View File
@@ -48,7 +48,7 @@
<string name="copy_to_clipboard">クリップボードにコピー</string>
<string name="nothing_to_approve_yet">まだ承認するものはありません</string>
<string name="why_not_explore_your_favorite_nostr_app_a_bit">お気に入りの Nostr アプリを少し探索してみませんか?</string>
<string name="more">あと %1$s 件...</string>
<string name="more">あと %1$s 件</string>
<string name="would_like_your_permission_to_read_your_public_key_and_sign_events_on_your_behalf">"あなたの公開鍵を読み取り、あなたに代わってイベントに署名する許可を求めています"</string>
<string name="connect_through_your_orbot_setup_markdown">\n ## Orbot で Tor 接続する\n \n\n1. [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android) をインストール\n \n2. Orbot を起動\n \n3. Orbot で Socks ポートを確認(デフォルトは 9050)\n \n4. 必要に応じて Orbot でポートを変更\n \n5. この画面で Socks ポートを設定\n \n6. 「有効化」ボタンを押して Orbot をプロキシとして使用\n </string>
<string name="connect_through_your_orbot_setup_markdown2">\n 1. [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android) をインストール\n \n2. Orbot を起動\n \n3. Orbot で Socks ポートを確認(デフォルトは 9050)\n \n4. 必要に応じて Orbot でポートを変更\n \n5. この画面で Socks ポートを設定\n \n6. 「有効化」ボタンを押して Orbot をプロキシとして使用\n </string>
@@ -181,7 +181,6 @@
<string name="psbt_sending">送信額</string>
<string name="psbt_change">おつり</string>
<string name="psbt_fee">手数料</string>
<string name="psbt_amount_sats">%1$s sats</string>
<string name="psbt_raw">生の PSBThex</string>
<string name="psbt_decode_error">PSBT をデコードできませんでした: %1$s</string>
<string name="signing_as">署名アカウント</string>
@@ -347,8 +346,8 @@
<string name="password_too_short">パスワードは最低 8 文字必要です</string>
<string name="passwords_do_not_match">パスワードが一致しません</string>
<string name="export_all_accounts_button">すべてのアカウントをエクスポート</string>
<string name="preparing_export">エクスポートを準備中...</string>
<string name="exporting_accounts_progress">アカウント %1$d / %2$d をエクスポート中...</string>
<string name="preparing_export">エクスポートを準備中</string>
<string name="exporting_accounts_progress">アカウント %1$d / %2$d をエクスポート中</string>
<string name="export_success">%d 件のアカウントを正常にエクスポートしました</string>
<string name="export_failed">エクスポートに失敗しました: %s</string>
<string name="confirm_export_title">エクスポートの確認</string>
@@ -392,7 +391,7 @@
<string name="create">作成</string>
<string name="name">名前</string>
<string name="no_relays_added">Relay が追加されていません</string>
<string name="wss">wss://...</string>
<string name="wss">wss://</string>
<string name="name_cannot_be_empty">"名前は空にできません "</string>
<string name="your_nsec_bunker_has_been_created">nsecbunker の準備ができました!</string>
<string name="use_this_url_in_your_app">アプリでこの URL を使用してください:</string>
@@ -429,7 +428,7 @@
<string name="default_profile_relays">デフォルトプロフィール relay</string>
<string name="manage_the_relays_used_to_fetch_your_profile_data">プロフィールデータの取得に使用する relay を管理</string>
<string name="manage_the_relays_used_for_communicating_with_external_applications">外部アプリケーションとの通信に使用する relay を管理</string>
<string name="testing_relay">Relay をテスト中...</string>
<string name="testing_relay">Relay をテスト中</string>
<string name="a_nostr_secure_signer">NOSTR セキュア署名者</string>
<string name="go_back">戻る</string>
<string name="your_nostr_account_is_ready">Nostr アカウントの準備ができました!</string>
@@ -688,7 +687,6 @@
<string name="event_kind_4454">クライアントキーアナウンス</string>
<string name="applications_backup">アプリケーションバックアップ</string>
<string name="applications_backup_explainer">有効にすると、Amber は接続されたアプリケーションとその権限の暗号化されたコピーを 1 日 1 回 relay に公開します。これにより新しいデバイスで復元できます。バックアップを復号できるのはあなただけです。</string>
<string name="enable_applications_backup">暗号化されたアプリケーションバックアップを有効にする</string>
<string name="backup_now">今すぐバックアップ</string>
<string name="restore_from_relays">Relay から復元</string>
<string name="restore_confirm_title">アプリケーションを復元しますか?</string>
+5 -7
View File
@@ -57,7 +57,7 @@
<string name="copy_to_clipboard">클립보드에 복사</string>
<string name="nothing_to_approve_yet">아직 승인할 항목이 없습니다</string>
<string name="why_not_explore_your_favorite_nostr_app_a_bit">즐겨 사용하는 Nostr 앱을 조금 더 탐색해 보세요.</string>
<string name="more">%1$s 더 보기...</string>
<string name="more">%1$s 더 보기</string>
<string name="would_like_your_permission_to_read_your_public_key_and_sign_events_on_your_behalf">" 공개 키를 읽고 귀하를 대신하여 이벤트에 서명할 권한을 요청합니다"</string>
<string name="connect_through_your_orbot_setup_markdown">
## Orbot으로 Tor에 연결하기
@@ -205,7 +205,6 @@
<string name="psbt_sending">송금</string>
<string name="psbt_change">잔돈</string>
<string name="psbt_fee">수수료</string>
<string name="psbt_amount_sats">%1$s sats</string>
<string name="psbt_raw">Raw PSBT (hex)</string>
<string name="psbt_decode_error">PSBT를 디코딩할 수 없습니다: %1$s</string>
<string name="signing_as">서명 계정</string>
@@ -371,8 +370,8 @@
<string name="password_too_short">비밀번호는 최소 8자 이상이어야 합니다</string>
<string name="passwords_do_not_match">비밀번호가 일치하지 않습니다</string>
<string name="export_all_accounts_button">모든 계정 내보내기</string>
<string name="preparing_export">내보내기 준비 중...</string>
<string name="exporting_accounts_progress">%2$d개 중 %1$d번째 계정 내보내는 중...</string>
<string name="preparing_export">내보내기 준비 중</string>
<string name="exporting_accounts_progress">%2$d개 중 %1$d번째 계정 내보내는 중</string>
<string name="export_success">%d개 계정을 성공적으로 내보냈습니다</string>
<string name="export_failed">내보내기 실패: %s</string>
<string name="confirm_export_title">내보내기 확인</string>
@@ -416,7 +415,7 @@
<string name="create">만들기</string>
<string name="name">이름</string>
<string name="no_relays_added">추가된 relay 없음</string>
<string name="wss">wss://...</string>
<string name="wss">wss://</string>
<string name="name_cannot_be_empty">"이름을 비워둘 수 없습니다 "</string>
<string name="your_nsec_bunker_has_been_created">nsecbunker가 준비되었습니다!</string>
<string name="use_this_url_in_your_app">앱에서 이 URL을 사용하세요:</string>
@@ -453,7 +452,7 @@
<string name="default_profile_relays">기본 프로필 relay</string>
<string name="manage_the_relays_used_to_fetch_your_profile_data">프로필 데이터를 가져오는 데 사용되는 relay를 관리합니다</string>
<string name="manage_the_relays_used_for_communicating_with_external_applications">외부 애플리케이션과 통신하는 데 사용되는 relay를 관리합니다</string>
<string name="testing_relay">relay 테스트 중...</string>
<string name="testing_relay">relay 테스트 중</string>
<string name="a_nostr_secure_signer">NOSTR 보안 서명자</string>
<string name="go_back">뒤로 가기</string>
<string name="your_nostr_account_is_ready">Nostr 계정이 준비되었습니다!</string>
@@ -712,7 +711,6 @@
<string name="event_kind_4454">클라이언트 키 공지</string>
<string name="applications_backup">애플리케이션 백업</string>
<string name="applications_backup_explainer">활성화하면 Amber가 연결된 애플리케이션과 권한의 암호화된 복사본을 하루에 한 번 relay에 게시하여 새 기기에서 복원할 수 있습니다. 본인만 백업을 복호화할 수 있습니다.</string>
<string name="enable_applications_backup">암호화된 애플리케이션 백업 활성화</string>
<string name="backup_now">지금 백업</string>
<string name="restore_from_relays">relay에서 복원</string>
<string name="restore_confirm_title">애플리케이션을 복원하시겠습니까?</string>
+5 -7
View File
@@ -53,7 +53,7 @@
<string name="copy_to_clipboard">Copiar para área de transferência</string>
<string name="nothing_to_approve_yet">Nada para aprovar ainda</string>
<string name="why_not_explore_your_favorite_nostr_app_a_bit">Por que não explorar um pouco seu aplicativo nostr favorito?</string>
<string name="more">%1$s mais...</string>
<string name="more">%1$s mais</string>
<string name="would_like_your_permission_to_read_your_public_key_and_sign_events_on_your_behalf">" gostaria de sua permissão para ler sua chave pública e assinar eventos em seu nome"</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Conecte-se através do Tor com o Orbot
\n\n1. Instale o [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
@@ -200,7 +200,6 @@
<string name="psbt_sending">Enviando</string>
<string name="psbt_change">Troco</string>
<string name="psbt_fee">Taxa</string>
<string name="psbt_amount_sats">%1$s sats</string>
<string name="psbt_raw">PSBT bruto (hex)</string>
<string name="psbt_decode_error">Não foi possível decodificar o PSBT: %1$s</string>
<string name="signing_as">Assinando como</string>
@@ -366,8 +365,8 @@
<string name="password_too_short">A senha deve ter pelo menos 8 caracteres</string>
<string name="passwords_do_not_match">Senhas não são iguais</string>
<string name="export_all_accounts_button">Exportar Todas as Contas</string>
<string name="preparing_export">Preparando para exportar...</string>
<string name="exporting_accounts_progress">Exportando conta %1$d de %2$d...</string>
<string name="preparing_export">Preparando para exportar</string>
<string name="exporting_accounts_progress">Exportando conta %1$d de %2$d</string>
<string name="export_success">Contas %d exportadas com sucesso</string>
<string name="export_failed">Falha na exportação: %s</string>
<string name="confirm_export_title">Confirmar Exportação</string>
@@ -411,7 +410,7 @@
<string name="create">Criar</string>
<string name="name">Nome</string>
<string name="no_relays_added">Nenhum relay adicionado</string>
<string name="wss">wss://...</string>
<string name="wss">wss://</string>
<string name="name_cannot_be_empty">"O nome não pode estar vazio "</string>
<string name="your_nsec_bunker_has_been_created">Seu nsecbunker está pronto!</string>
<string name="use_this_url_in_your_app">Use esta URL em sua aplicação:</string>
@@ -448,7 +447,7 @@
<string name="default_profile_relays">Relays de perfil padrão</string>
<string name="manage_the_relays_used_to_fetch_your_profile_data">Gerenciar os relays usados para obter seus dados de perfil</string>
<string name="manage_the_relays_used_for_communicating_with_external_applications">Gerenciar os relays usados para comunicação com aplicativos externos</string>
<string name="testing_relay">Testando relay...</string>
<string name="testing_relay">Testando relay</string>
<string name="a_nostr_secure_signer">UM ASSINADOR SEGURO NOSTR</string>
<string name="go_back">Voltar</string>
<string name="your_nostr_account_is_ready">Sua conta Nostr está pronta!</string>
@@ -707,7 +706,6 @@
<string name="event_kind_4454">Anúncio de chave do cliente</string>
<string name="applications_backup">Backup de aplicativos</string>
<string name="applications_backup_explainer">Quando ativado, o Amber publica uma cópia criptografada dos seus aplicativos conectados e suas permissões nos relays uma vez por dia, para que você possa restaurá-los em um novo dispositivo. Somente você pode descriptografar o backup.</string>
<string name="enable_applications_backup">Ativar backup criptografado de aplicativos</string>
<string name="backup_now">Fazer backup agora</string>
<string name="restore_from_relays">Restaurar dos relays</string>
<string name="restore_confirm_title">Restaurar aplicativos?</string>
+5 -7
View File
@@ -57,7 +57,7 @@
<string name="copy_to_clipboard">Копировать в буфер обмена</string>
<string name="nothing_to_approve_yet">Пока нечего подтверждать</string>
<string name="why_not_explore_your_favorite_nostr_app_a_bit">Почему бы немного не изучить ваше любимое Nostr-приложение?</string>
<string name="more">Ещё %1$s...</string>
<string name="more">Ещё %1$s</string>
<string name="would_like_your_permission_to_read_your_public_key_and_sign_events_on_your_behalf">" Запрашивает разрешение на чтение вашего публичного ключа и подпись событий от вашего имени"</string>
<string name="connect_through_your_orbot_setup_markdown">
## Подключение через Tor с помощью Orbot
@@ -205,7 +205,6 @@
<string name="psbt_sending">Отправка</string>
<string name="psbt_change">Сдача</string>
<string name="psbt_fee">Комиссия</string>
<string name="psbt_amount_sats">%1$s сат</string>
<string name="psbt_raw">Исходный PSBT (hex)</string>
<string name="psbt_decode_error">Не удалось декодировать PSBT: %1$s</string>
<string name="signing_as">Подписывается как</string>
@@ -371,8 +370,8 @@
<string name="password_too_short">Пароль должен содержать не менее 8 символов</string>
<string name="passwords_do_not_match">Пароли не совпадают</string>
<string name="export_all_accounts_button">Экспортировать все аккаунты</string>
<string name="preparing_export">Подготовка экспорта...</string>
<string name="exporting_accounts_progress">Экспорт аккаунта %1$d из %2$d...</string>
<string name="preparing_export">Подготовка экспорта</string>
<string name="exporting_accounts_progress">Экспорт аккаунта %1$d из %2$d</string>
<string name="export_success">Успешно экспортировано %d аккаунтов</string>
<string name="export_failed">Ошибка экспорта: %s</string>
<string name="confirm_export_title">Подтвердить экспорт</string>
@@ -416,7 +415,7 @@
<string name="create">Создать</string>
<string name="name">Имя</string>
<string name="no_relays_added">Relay-серверы не добавлены</string>
<string name="wss">wss://...</string>
<string name="wss">wss://</string>
<string name="name_cannot_be_empty">"Имя не может быть пустым "</string>
<string name="your_nsec_bunker_has_been_created">Ваш nsecbunker готов!</string>
<string name="use_this_url_in_your_app">Используйте этот URL в вашем приложении:</string>
@@ -453,7 +452,7 @@
<string name="default_profile_relays">Relay-серверы профиля по умолчанию</string>
<string name="manage_the_relays_used_to_fetch_your_profile_data">Управление relay-серверами для получения данных профиля</string>
<string name="manage_the_relays_used_for_communicating_with_external_applications">Управление relay-серверами для связи с внешними приложениями</string>
<string name="testing_relay">Проверка relay-сервера...</string>
<string name="testing_relay">Проверка relay-сервера</string>
<string name="a_nostr_secure_signer">БЕЗОПАСНЫЙ ПОДПИСЧИК NOSTR</string>
<string name="go_back">Назад</string>
<string name="your_nostr_account_is_ready">Ваш Nostr-аккаунт готов!</string>
@@ -712,7 +711,6 @@
<string name="event_kind_4454">Объявление ключа клиента</string>
<string name="applications_backup">Резервное копирование приложений</string>
<string name="applications_backup_explainer">При включении Amber публикует зашифрованную копию ваших подключённых приложений и их разрешений на relay-серверы раз в день, чтобы вы могли восстановить их на новом устройстве. Расшифровать резервную копию можете только вы.</string>
<string name="enable_applications_backup">Включить зашифрованное резервное копирование приложений</string>
<string name="backup_now">Создать резервную копию сейчас</string>
<string name="restore_from_relays">Восстановить с relay-серверов</string>
<string name="restore_confirm_title">Восстановить приложения?</string>
+5 -7
View File
@@ -48,7 +48,7 @@
<string name="copy_to_clipboard">คัดลอกไปยังคลิปบอร์ด</string>
<string name="nothing_to_approve_yet">ยังไม่มีรายการที่ต้องอนุมัติ</string>
<string name="why_not_explore_your_favorite_nostr_app_a_bit">ลองสำรวจแอป Nostr ที่คุณชื่นชอบสักหน่อยดีไหม?</string>
<string name="more">%1$s รายการเพิ่มเติม...</string>
<string name="more">%1$s รายการเพิ่มเติม</string>
<string name="would_like_your_permission_to_read_your_public_key_and_sign_events_on_your_behalf">" ต้องการขออนุญาตอ่านคีย์สาธารณะของคุณและลงนามในเหตุการณ์แทนคุณ"</string>
<string name="connect_through_your_orbot_setup_markdown">\n ## เชื่อมต่อผ่าน Tor ด้วย Orbot\n \n\n1. ติดตั้ง [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)\n \n2. เริ่มต้น Orbot\n \n3. ใน Orbot ตรวจสอบพอร์ต Socks ค่าเริ่มต้นคือ 9050\n \n4. หากจำเป็น ให้เปลี่ยนพอร์ตใน Orbot\n \n5. กำหนดค่าพอร์ต Socks ในหน้าจอนี้\n \n6. กดปุ่ม เปิดใช้งาน เพื่อใช้ Orbot เป็น proxy\n </string>
<string name="connect_through_your_orbot_setup_markdown2">\n 1. ติดตั้ง [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)\n \n2. เริ่มต้น Orbot\n \n3. ใน Orbot ตรวจสอบพอร์ต Socks ค่าเริ่มต้นคือ 9050\n \n4. หากจำเป็น ให้เปลี่ยนพอร์ตใน Orbot\n \n5. กำหนดค่าพอร์ต Socks ในหน้าจอนี้\n \n6. กดปุ่ม เปิดใช้งาน เพื่อใช้ Orbot เป็น proxy\n </string>
@@ -181,7 +181,6 @@
<string name="psbt_sending">กำลังส่ง</string>
<string name="psbt_change">ทอน</string>
<string name="psbt_fee">ค่าธรรมเนียม</string>
<string name="psbt_amount_sats">%1$s sats</string>
<string name="psbt_raw">Raw PSBT (hex)</string>
<string name="psbt_decode_error">ไม่สามารถถอดรหัส PSBT ได้: %1$s</string>
<string name="signing_as">กำลังลงนามในนาม</string>
@@ -347,8 +346,8 @@
<string name="password_too_short">รหัสผ่านต้องมีอย่างน้อย 8 ตัวอักษร</string>
<string name="passwords_do_not_match">รหัสผ่านไม่ตรงกัน</string>
<string name="export_all_accounts_button">ส่งออกบัญชีทั้งหมด</string>
<string name="preparing_export">กำลังเตรียมการส่งออก...</string>
<string name="exporting_accounts_progress">กำลังส่งออกบัญชีที่ %1$d จาก %2$d...</string>
<string name="preparing_export">กำลังเตรียมการส่งออก</string>
<string name="exporting_accounts_progress">กำลังส่งออกบัญชีที่ %1$d จาก %2$d</string>
<string name="export_success">ส่งออก %d บัญชีสำเร็จ</string>
<string name="export_failed">การส่งออกล้มเหลว: %s</string>
<string name="confirm_export_title">ยืนยันการส่งออก</string>
@@ -392,7 +391,7 @@
<string name="create">สร้าง</string>
<string name="name">ชื่อ</string>
<string name="no_relays_added">ยังไม่มี relay ที่เพิ่ม</string>
<string name="wss">wss://...</string>
<string name="wss">wss://</string>
<string name="name_cannot_be_empty">"ชื่อต้องไม่ว่างเปล่า "</string>
<string name="your_nsec_bunker_has_been_created">nsecbunker ของคุณพร้อมใช้งานแล้ว!</string>
<string name="use_this_url_in_your_app">ใช้ URL นี้ในแอปของคุณ:</string>
@@ -429,7 +428,7 @@
<string name="default_profile_relays">Relay โปรไฟล์เริ่มต้น</string>
<string name="manage_the_relays_used_to_fetch_your_profile_data">จัดการ relay ที่ใช้สำหรับดึงข้อมูลโปรไฟล์ของคุณ</string>
<string name="manage_the_relays_used_for_communicating_with_external_applications">จัดการ relay ที่ใช้สำหรับการสื่อสารกับแอปพลิเคชันภายนอก</string>
<string name="testing_relay">กำลังทดสอบ relay...</string>
<string name="testing_relay">กำลังทดสอบ relay</string>
<string name="a_nostr_secure_signer">ตัวลงนาม NOSTR ที่ปลอดภัย</string>
<string name="go_back">กลับ</string>
<string name="your_nostr_account_is_ready">บัญชี Nostr ของคุณพร้อมใช้งานแล้ว!</string>
@@ -688,7 +687,6 @@
<string name="event_kind_4454">ประกาศคีย์ client</string>
<string name="applications_backup">สำรองข้อมูลแอปพลิเคชัน</string>
<string name="applications_backup_explainer">เมื่อเปิดใช้งาน Amber จะเผยแพร่สำเนาที่เข้ารหัสของแอปพลิเคชันที่เชื่อมต่อและสิทธิ์ไปยัง relay วันละครั้ง เพื่อให้คุณกู้คืนบนอุปกรณ์ใหม่ได้ มีเพียงคุณเท่านั้นที่สามารถถอดรหัสข้อมูลสำรอง</string>
<string name="enable_applications_backup">เปิดใช้งานการสำรองข้อมูลแอปพลิเคชันที่เข้ารหัส</string>
<string name="backup_now">สำรองข้อมูลตอนนี้</string>
<string name="restore_from_relays">กู้คืนจาก relay</string>
<string name="restore_confirm_title">กู้คืนแอปพลิเคชัน?</string>
+5 -7
View File
@@ -55,7 +55,7 @@
<string name="copy_to_clipboard">Panoya kopyala</string>
<string name="nothing_to_approve_yet">Henüz onaylanacak bir şey yok</string>
<string name="why_not_explore_your_favorite_nostr_app_a_bit">Neden favori Nostr uygulamanızı biraz keşfetmiyorsunuz?</string>
<string name="more">%1$s tane daha...</string>
<string name="more">%1$s tane daha</string>
<string name="would_like_your_permission_to_read_your_public_key_and_sign_events_on_your_behalf">"Açık anahtarınızı okumak ve sizin adınıza olayları imzalamak için izninizi istiyor"</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Orbot aracılığıyla Tor\'a bağlanın
\n\n1. [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)\'u yükleyin
@@ -201,7 +201,6 @@
<string name="psbt_sending">Gönderiliyor</string>
<string name="psbt_change">Para üstü</string>
<string name="psbt_fee">Ücret</string>
<string name="psbt_amount_sats">%1$s sats</string>
<string name="psbt_raw">Ham PSBT (hex)</string>
<string name="psbt_decode_error">PSBT çözümlenemedi: %1$s</string>
<string name="signing_as">Olarak imzalanıyor:</string>
@@ -367,8 +366,8 @@
<string name="password_too_short">Şifre en az 8 karakter olmalıdır</string>
<string name="passwords_do_not_match">Şifreler eşleşmiyor</string>
<string name="export_all_accounts_button">Tüm Hesapları Dışa Aktar</string>
<string name="preparing_export">Dışa aktarmaya hazırlanıyor...</string>
<string name="exporting_accounts_progress">Hesap dışa aktarılıyor %1$d / %2$d...</string>
<string name="preparing_export">Dışa aktarmaya hazırlanıyor</string>
<string name="exporting_accounts_progress">Hesap dışa aktarılıyor %1$d / %2$d</string>
<string name="export_success">%d hesap başarıyla dışa aktarıldı</string>
<string name="export_failed">Dışa aktarma başarısız: %s</string>
<string name="confirm_export_title">Dışa Aktarmayı Onayla</string>
@@ -412,7 +411,7 @@
<string name="create">Oluştur</string>
<string name="name">İsim</string>
<string name="no_relays_added">Eklenmiş relay yok</string>
<string name="wss">wss://...</string>
<string name="wss">wss://</string>
<string name="name_cannot_be_empty">"İsim boş olamaz "</string>
<string name="your_nsec_bunker_has_been_created">Nsecbunker\'ınız hazır!</string>
<string name="use_this_url_in_your_app">Uygulamanızda bu URL\'yi kullanın:</string>
@@ -449,7 +448,7 @@
<string name="default_profile_relays">Varsayılan profil relay\'leri</string>
<string name="manage_the_relays_used_to_fetch_your_profile_data">Profil verilerinizi getirmek için kullanılan relay\'leri yönetin</string>
<string name="manage_the_relays_used_for_communicating_with_external_applications">Harici uygulamalarla iletişim için kullanılan relay\'leri yönetin</string>
<string name="testing_relay">Relay test ediliyor...</string>
<string name="testing_relay">Relay test ediliyor</string>
<string name="a_nostr_secure_signer">BİR NOSTR GÜVENLİ İMZALAYICI</string>
<string name="go_back">Geri git</string>
<string name="your_nostr_account_is_ready">Nostr hesabınız hazır!</string>
@@ -708,7 +707,6 @@
<string name="event_kind_4454">İstemci anahtar duyurusu</string>
<string name="applications_backup">Uygulama yedekleme</string>
<string name="applications_backup_explainer">Etkinleştirildiğinde Amber, bağlı uygulamalarınızın ve izinlerinin şifrelenmiş bir kopyasını günde bir kez relay\'lere yayımlar; böylece bunları yeni bir cihazda geri yükleyebilirsiniz. Yedeği yalnızca siz çözebilirsiniz.</string>
<string name="enable_applications_backup">Şifrelenmiş uygulama yedeklemeyi etkinleştir</string>
<string name="backup_now">Şimdi yedekle</string>
<string name="restore_from_relays">Relay\'lerden geri yükle</string>
<string name="restore_confirm_title">Uygulamalar geri yüklensin mi?</string>
+5 -7
View File
@@ -48,7 +48,7 @@
<string name="copy_to_clipboard">Sao chép vào khay nhớ tạm</string>
<string name="nothing_to_approve_yet">Chưa có gì để phê duyệt</string>
<string name="why_not_explore_your_favorite_nostr_app_a_bit">Tại sao không khám phá ứng dụng Nostr yêu thích của bạn một chút?</string>
<string name="more">%1$s thêm...</string>
<string name="more">%1$s thêm</string>
<string name="would_like_your_permission_to_read_your_public_key_and_sign_events_on_your_behalf">" Muốn xin phép đọc khóa công khai của bạn và ký các sự kiện thay mặt bạn"</string>
<string name="connect_through_your_orbot_setup_markdown">\n ## Kết nối qua Tor với Orbot\n \n\n1. Cài đặt [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)\n \n2. Khởi động Orbot\n \n3. Trong Orbot, kiểm tra cổng Socks. Mặc định sử dụng 9050\n \n4. Nếu cần, thay đổi cổng trong Orbot\n \n5. Cấu hình cổng Socks trên màn hình này\n \n6. Nhấn nút Kích hoạt để sử dụng Orbot làm proxy\n </string>
<string name="connect_through_your_orbot_setup_markdown2">\n 1. Cài đặt [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)\n \n2. Khởi động Orbot\n \n3. Trong Orbot, kiểm tra cổng Socks. Mặc định sử dụng 9050\n \n4. Nếu cần, thay đổi cổng trong Orbot\n \n5. Cấu hình cổng Socks trên màn hình này\n \n6. Nhấn nút Kích hoạt để sử dụng Orbot làm proxy\n </string>
@@ -181,7 +181,6 @@
<string name="psbt_sending">Đang gửi</string>
<string name="psbt_change">Tiền thừa</string>
<string name="psbt_fee">Phí</string>
<string name="psbt_amount_sats">%1$s sats</string>
<string name="psbt_raw">PSBT thô (hex)</string>
<string name="psbt_decode_error">Không thể giải mã PSBT: %1$s</string>
<string name="signing_as">Ký với tư cách</string>
@@ -347,8 +346,8 @@
<string name="password_too_short">Mật khẩu phải có ít nhất 8 ký tự</string>
<string name="passwords_do_not_match">Mật khẩu không khớp</string>
<string name="export_all_accounts_button">Xuất Tất Cả Tài Khoản</string>
<string name="preparing_export">Đang chuẩn bị xuất...</string>
<string name="exporting_accounts_progress">Đang xuất tài khoản %1$d trong %2$d...</string>
<string name="preparing_export">Đang chuẩn bị xuất</string>
<string name="exporting_accounts_progress">Đang xuất tài khoản %1$d trong %2$d</string>
<string name="export_success">Đã xuất thành công %d tài khoản</string>
<string name="export_failed">Xuất thất bại: %s</string>
<string name="confirm_export_title">Xác Nhận Xuất</string>
@@ -392,7 +391,7 @@
<string name="create">Tạo</string>
<string name="name">Tên</string>
<string name="no_relays_added">Chưa thêm relay nào</string>
<string name="wss">wss://...</string>
<string name="wss">wss://</string>
<string name="name_cannot_be_empty">"Tên không được để trống "</string>
<string name="your_nsec_bunker_has_been_created">nsecbunker của bạn đã sẵn sàng!</string>
<string name="use_this_url_in_your_app">Sử dụng URL này trong ứng dụng của bạn:</string>
@@ -429,7 +428,7 @@
<string name="default_profile_relays">Relay hồ sơ mặc định</string>
<string name="manage_the_relays_used_to_fetch_your_profile_data">Quản lý các relay dùng để tải dữ liệu hồ sơ của bạn</string>
<string name="manage_the_relays_used_for_communicating_with_external_applications">Quản lý các relay dùng để giao tiếp với các ứng dụng bên ngoài</string>
<string name="testing_relay">Đang kiểm tra relay...</string>
<string name="testing_relay">Đang kiểm tra relay</string>
<string name="a_nostr_secure_signer">TRÌNH KÝ NOSTR AN TOÀN</string>
<string name="go_back">Quay lại</string>
<string name="your_nostr_account_is_ready">Tài khoản Nostr của bạn đã sẵn sàng!</string>
@@ -688,7 +687,6 @@
<string name="event_kind_4454">Thông báo khóa máy khách</string>
<string name="applications_backup">Sao lưu ứng dụng</string>
<string name="applications_backup_explainer">Khi được bật, Amber xuất bản bản sao được mã hóa của các ứng dụng đã kết nối và quyền của chúng lên relay mỗi ngày một lần để bạn có thể khôi phục trên thiết bị mới. Chỉ bạn mới có thể giải mã bản sao lưu.</string>
<string name="enable_applications_backup">Bật sao lưu ứng dụng được mã hóa</string>
<string name="backup_now">Sao lưu ngay</string>
<string name="restore_from_relays">Khôi phục từ relay</string>
<string name="restore_confirm_title">Khôi phục ứng dụng?</string>
+4 -6
View File
@@ -53,7 +53,7 @@
<string name="copy_to_clipboard">复制到剪贴板</string>
<string name="nothing_to_approve_yet">暂无批复请求</string>
<string name="why_not_explore_your_favorite_nostr_app_a_bit">为什么不去探索一下你喜欢的 Nostr 应用呢?</string>
<string name="more">%1$s 项其他权限...</string>
<string name="more">%1$s 项其他权限</string>
<string name="would_like_your_permission_to_read_your_public_key_and_sign_events_on_your_behalf">"想要获取权限读取公钥并签署事件"</string>
<string name="connect_through_your_orbot_setup_markdown">\n ## 通过 Tor 使用 Orbot 连接\n \n\n1. 安装 [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)\n \n2. 启动 Orbot\n \n3. 在 Orbot 中,检查 Socks 端口。默认使用 9050\n \n4. 如有必要,在 Orbot 中更改端口\n \n5. 在此界面中配置 Socks 端口\n \n6. 按下\"激活\"按钮以将 Orbot 用作代理\n </string>
<string name="connect_through_your_orbot_setup_markdown2">\n 1. 安装 [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)\n \n2. 启动 Orbot\n \n3. 在 Orbot 中,检查 Socks 端口。默认使用 9050\n \n4. 如有必要,在 Orbot 中更改端口\n \n5. 在此界面中配置 Socks 端口\n \n6. 按下\"激活\"按钮以将 Orbot 用作代理\n </string>
@@ -186,7 +186,6 @@
<string name="psbt_sending">发送</string>
<string name="psbt_change">找零</string>
<string name="psbt_fee">手续费</string>
<string name="psbt_amount_sats">%1$s sats</string>
<string name="psbt_raw">原始 PSBT(十六进制)</string>
<string name="psbt_decode_error">无法解码 PSBT%1$s</string>
<string name="signing_as">签署为</string>
@@ -352,7 +351,7 @@
<string name="password_too_short">密码必须至少八位字符</string>
<string name="passwords_do_not_match">密码不一致</string>
<string name="export_all_accounts_button">导出所有账户</string>
<string name="preparing_export">正在准备导出...</string>
<string name="preparing_export">正在准备导出</string>
<string name="exporting_accounts_progress">正在导出账户(%1$d/%2$d</string>
<string name="export_success">成功导出账户 %d</string>
<string name="export_failed">导出失败:%s</string>
@@ -397,7 +396,7 @@
<string name="create">创建</string>
<string name="name">名称</string>
<string name="no_relays_added">未添加中继器</string>
<string name="wss">wss://...</string>
<string name="wss">wss://</string>
<string name="name_cannot_be_empty">"名称不能为空"</string>
<string name="your_nsec_bunker_has_been_created">nsecBunker 准备就绪!</string>
<string name="use_this_url_in_your_app">在应用中使用这个链接:</string>
@@ -434,7 +433,7 @@
<string name="default_profile_relays">默认用户资料中继</string>
<string name="manage_the_relays_used_to_fetch_your_profile_data">管理用于获取个人资料的中继</string>
<string name="manage_the_relays_used_for_communicating_with_external_applications">管理用于外部应用通讯的中继</string>
<string name="testing_relay">测试中继...</string>
<string name="testing_relay">测试中继</string>
<string name="a_nostr_secure_signer">NOSTR 安全签名器</string>
<string name="go_back">返回</string>
<string name="your_nostr_account_is_ready">Nostr 账户已准备就绪!</string>
@@ -693,7 +692,6 @@
<string name="event_kind_4454">客户端密钥宣告</string>
<string name="applications_backup">应用备份</string>
<string name="applications_backup_explainer">启用后,Amber 每天将您已连接的应用及其权限的加密副本发布到 relay,以便您在新设备上恢复。只有您才能解密此备份。</string>
<string name="enable_applications_backup">启用加密应用备份</string>
<string name="backup_now">立即备份</string>
<string name="restore_from_relays">从 relay 恢复</string>
<string name="restore_confirm_title">恢复应用?</string>
-3
View File
@@ -2,7 +2,4 @@
<resources>
<color name="purple_700">#FF3700B3</color>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="amber">#FFFFCA62</color>
<color name="gray">#FFB0B0B0</color>
</resources>
+14 -15
View File
@@ -1,7 +1,8 @@
<resources xmlns:tools="http://schemas.android.com/tools">
<string name="app_name_release" translatable="false">Amber</string>
<string name="app_name_debug" translatable="false">Amber Debug</string>
<string name="app_name_benchmark" translatable="false">Amber Benchmark</string>
<!-- Referenced indirectly through resValue("string", "app_name", ...) in build.gradle.kts -->
<string name="app_name_debug" translatable="false" tools:ignore="UnusedResources">Amber Debug</string>
<string name="app_name_benchmark" translatable="false" tools:ignore="UnusedResources">Amber Benchmark</string>
<!-- Settings screen sections -->
<string name="settings_section_account">Account &amp; keys</string>
<string name="settings_section_network">Network</string>
@@ -80,7 +81,7 @@
<string name="copy_to_clipboard">Copy to clipboard</string>
<string name="nothing_to_approve_yet">Nothing to approve yet</string>
<string name="why_not_explore_your_favorite_nostr_app_a_bit">Why not explore your favorite nostr app a bit?</string>
<string name="more">%1$s more...</string>
<string name="more">%1$s more</string>
<string name="would_like_your_permission_to_read_your_public_key_and_sign_events_on_your_behalf">"Would like your permission to read your public key and sign events on your behalf"</string>
<string name="connect_through_your_orbot_setup_markdown">
## Connect through Tor with Orbot
@@ -228,7 +229,6 @@
<string name="psbt_sending">Sending</string>
<string name="psbt_change">Change</string>
<string name="psbt_fee">Fee</string>
<string name="psbt_amount_sats">%1$s sats</string>
<string name="psbt_raw">Raw PSBT (hex)</string>
<string name="psbt_decode_error">Could not decode PSBT: %1$s</string>
<string name="signing_as">Signing as</string>
@@ -353,7 +353,7 @@
<string name="enter_recovery_phrase_description">Enter each word of your seed phrase in order. You can also paste the full phrase using the clipboard button.</string>
<string name="mnemonic_12_words">12 words</string>
<string name="mnemonic_24_words">24 words</string>
<string name="mnemonic_words_entered">%1$d of %2$d words entered</string>
<string name="mnemonic_words_entered" tools:ignore="PluralsCandidate">%1$d of %2$d words entered</string>
<string name="mnemonic_account_index">Account index</string>
<string name="mnemonic_account_index_description">Use a different index if this mnemonic was used to create multiple accounts (m/44\'/1237\'/%1$d\'/0/0)</string>
<string name="sign_policy">Sign policy</string>
@@ -394,12 +394,12 @@
<string name="password_too_short">Password must be at least 8 characters</string>
<string name="passwords_do_not_match">Passwords do not match</string>
<string name="export_all_accounts_button">Export All Accounts</string>
<string name="preparing_export">Preparing export...</string>
<string name="exporting_accounts_progress">Exporting account %1$d of %2$d...</string>
<string name="export_success">Successfully exported %d accounts</string>
<string name="preparing_export">Preparing export</string>
<string name="exporting_accounts_progress">Exporting account %1$d of %2$d</string>
<string name="export_success" tools:ignore="PluralsCandidate">Successfully exported %d accounts</string>
<string name="export_failed">Export failed: %s</string>
<string name="confirm_export_title">Confirm Export</string>
<string name="confirm_export_message">You are about to export %d accounts to an encrypted file.</string>
<string name="confirm_export_message" tools:ignore="PluralsCandidate">You are about to export %d accounts to an encrypted file.</string>
<string name="confirm_export_warning">This file will contain all your private keys. Store it securely!</string>
<string name="export">Export</string>
<string name="cloud_backup_title">Cloud Backup</string>
@@ -439,7 +439,7 @@
<string name="create">Create</string>
<string name="name">Name</string>
<string name="no_relays_added">No relays added</string>
<string name="wss">wss://...</string>
<string name="wss">wss://</string>
<string name="name_cannot_be_empty">"Name can't be empty "</string>
<string name="your_nsec_bunker_has_been_created">Your nsecbunker is ready!</string>
<string name="use_this_url_in_your_app">Use this url in your app:</string>
@@ -476,7 +476,7 @@
<string name="default_profile_relays">Default profile relays</string>
<string name="manage_the_relays_used_to_fetch_your_profile_data">Manage the relays used to fetch your profile data</string>
<string name="manage_the_relays_used_for_communicating_with_external_applications">Manage the relays used for communicating with external applications</string>
<string name="testing_relay">Testing relay...</string>
<string name="testing_relay">Testing relay</string>
<string name="a_nostr_secure_signer">A NOSTR SECURE SIGNER</string>
<string name="go_back">Go back</string>
<string name="your_nostr_account_is_ready">Your Nostr account is ready!</string>
@@ -605,7 +605,7 @@
<string name="create_a_new_connection">Create a new connection</string>
<string name="network_permission_message">Failed to connect to relay/proxy. Check if you enabled the network permission for Amber</string>
<string name="reconnect">Reconnect</string>
<string name="of_connected_relays">%1$d of %2$d connected relays</string>
<string name="of_connected_relays" tools:ignore="PluralsCandidate">%1$d of %2$d connected relays</string>
<string name="proxy">Proxy</string>
<string name="default_relay_text">Default</string>
<string name="enable_kill_switch">Enable kill switch</string>
@@ -739,18 +739,17 @@
<string name="event_kind_4454">Client key announcement</string>
<string name="applications_backup">Applications backup</string>
<string name="applications_backup_explainer">When enabled, Amber publishes an encrypted copy of your connected applications and their permissions to relays once a day so you can restore them on a new device. Only you can decrypt the backup.</string>
<string name="enable_applications_backup">Enable encrypted applications backup</string>
<string name="backup_now">Backup now</string>
<string name="restore_from_relays">Restore from relays</string>
<string name="restore_confirm_title">Restore applications?</string>
<string name="restore_confirm_text">Permissions for applications that already exist on this device will be replaced with the backed-up permissions. New applications from the backup will be added. Continue?</string>
<string name="backup_success">Backup published</string>
<string name="backup_failed">Failed to publish backup</string>
<string name="restore_success">Restored %1$d applications and %2$d permissions</string>
<string name="restore_success" tools:ignore="PluralsCandidate">Restored %1$d applications and %2$d permissions</string>
<string name="restore_failed">Restore failed: %1$s</string>
<string name="restore_no_backup_found">No backup found on relays</string>
<string name="signin_restore_title">Restore backup?</string>
<string name="signin_restore_message">Found an encrypted applications backup with %1$d applications and %2$d permissions. Restore now?</string>
<string name="signin_restore_message" tools:ignore="PluralsCandidate">Found an encrypted applications backup with %1$d applications and %2$d permissions. Restore now?</string>
<string name="signin_restore_accept">Restore</string>
<string name="signin_restore_skip">Skip</string>
<string name="event_kind_39701">Public web bookmark</string>
@@ -1,4 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
<!-- Cleartext is intentionally allowed: users can connect to local/onion relays over ws:// -->
<network-security-config xmlns:tools="http://schemas.android.com/tools">
<base-config
cleartextTrafficPermitted="true"
tools:ignore="InsecureBaseConfiguration" />
</network-security-config>
+3 -2
View File
@@ -4,10 +4,10 @@ GREEN='\033[0;32m'
NO_COLOR='\033[0m'
echo "*********************************************************"
echo "Running git pre-commit hook. Running Static analysis... "
echo "Running git pre-commit hook. Running Static analysis and Android Lint... "
echo "*********************************************************"
./gradlew ktlintCheck
./gradlew ktlintCheck lint
status=$?
@@ -18,6 +18,7 @@ else
echo "*********************************************************"
echo 1>&2 "Static analysis found violations it could not fix."
printf "Run ${GREEN}./gradlew ktlintFormat${NO_COLOR} to fix formatting related issues...\n"
printf "Run ${GREEN}./gradlew lint${NO_COLOR} and open the report to see Android Lint issues...\n"
echo "*********************************************************"
exit 1
fi
+5 -4
View File
@@ -4,20 +4,21 @@ GREEN='\033[0;32m'
NO_COLOR='\033[0m'
echo "*********************************************************"
echo "Running git pre-push hook. Running test... "
echo "Running git pre-push hook. Running tests and Android Lint... "
echo "*********************************************************"
./gradlew test
./gradlew test lint
status=$?
if [ "$status" = 0 ] ; then
echo "All test passed."
echo "All tests and lint checks passed."
exit 0
else
echo "*********************************************************"
echo 1>&2 "Failing test"
echo 1>&2 "Failing tests or lint checks"
printf "Run ${GREEN}./gradlew test${NO_COLOR} to make sure you have all tests green before pushing...\n"
printf "Run ${GREEN}./gradlew lint${NO_COLOR} and open the report to see Android Lint issues...\n"
echo "*********************************************************"
exit 1
fi