diff --git a/apps/.i18n/native-source.json b/apps/.i18n/native-source.json index e9eeaea5f00d..5d152e7d9d60 100644 --- a/apps/.i18n/native-source.json +++ b/apps/.i18n/native-source.json @@ -833,89 +833,9 @@ "surface": "android", "id": "native.android.73e6ab1a168fd381" }, - { - "kind": "ui-call", - "line": 103, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Trust this gateway?", - "surface": "android", - "id": "native.android.db9b3ffd6b7983d3" - }, - { - "kind": "ui-call", - "line": 122, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Trust and continue", - "surface": "android", - "id": "native.android.f60e86cd1e4a386f" - }, - { - "kind": "ui-call", - "line": 130, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Cancel", - "surface": "android", - "id": "native.android.e82eac1ea98d5344" - }, - { - "kind": "ui-call", - "line": 161, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Gateway Connection", - "surface": "android", - "id": "native.android.bd14ca8081e66fb5" - }, { "kind": "conditional-branch", - "line": 163, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Connect to your gateway to get started.", - "surface": "android", - "id": "native.android.74a6a2d805c19a60" - }, - { - "kind": "conditional-branch", - "line": 163, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Your gateway is active and ready.", - "surface": "android", - "id": "native.android.64a0ae87f54277e7" - }, - { - "kind": "ui-call", - "line": 194, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Endpoint", - "surface": "android", - "id": "native.android.3c87c3eb8b76443d" - }, - { - "kind": "ui-call", - "line": 216, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Status", - "surface": "android", - "id": "native.android.cb8ca12247f5574d" - }, - { - "kind": "ui-call", - "line": 241, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Disconnect", - "surface": "android", - "id": "native.android.3947ebe9e7302445" - }, - { - "kind": "ui-call", - "line": 310, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Connect Gateway", - "surface": "android", - "id": "native.android.29b6c84cc243897f" - }, - { - "kind": "conditional-branch", - "line": 325, + "line": 335, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", "source": "Last gateway error", "surface": "android", @@ -923,7 +843,7 @@ }, { "kind": "conditional-branch", - "line": 325, + "line": 335, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", "source": "Pairing required", "surface": "android", @@ -931,7 +851,7 @@ }, { "kind": "ui-call", - "line": 336, + "line": 346, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", "source": "OpenClaw Android ${openClawAndroidVersionLabel()}", "surface": "android", @@ -939,23 +859,7 @@ }, { "kind": "ui-call", - "line": 357, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Copy Report for Claw", - "surface": "android", - "id": "native.android.b81ffcf00e1d5aa2" - }, - { - "kind": "ui-call", - "line": 376, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Advanced controls", - "surface": "android", - "id": "native.android.54e06efb5730c9d3" - }, - { - "kind": "ui-call", - "line": 377, + "line": 387, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", "source": "Setup code, endpoint, TLS, token, password, onboarding.", "surface": "android", @@ -963,7 +867,7 @@ }, { "kind": "conditional-branch", - "line": 381, + "line": 391, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", "source": "Collapse advanced controls", "surface": "android", @@ -971,7 +875,7 @@ }, { "kind": "conditional-branch", - "line": 381, + "line": 391, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", "source": "Expand advanced controls", "surface": "android", @@ -979,31 +883,7 @@ }, { "kind": "ui-call", - "line": 398, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Connection method", - "surface": "android", - "id": "native.android.cb057f35d269d945" - }, - { - "kind": "ui-named-argument", - "line": 401, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Setup Code", - "surface": "android", - "id": "native.android.0faf4b5e32943100" - }, - { - "kind": "ui-named-argument", - "line": 406, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Manual", - "surface": "android", - "id": "native.android.1477a054d25c5a3e" - }, - { - "kind": "ui-call", - "line": 412, + "line": 422, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", "source": "Run these on the gateway host:", "surface": "android", @@ -1011,23 +891,15 @@ }, { "kind": "ui-call", - "line": 415, + "line": 425, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", "source": "For Tailscale or public hosts, use wss:// or Tailscale Serve. Private LAN ws:// remains supported.", "surface": "android", "id": "native.android.8b607ce7ba3ac4d3" }, - { - "kind": "ui-call", - "line": 429, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Paste setup code", - "surface": "android", - "id": "native.android.8338a39bcb90b86e" - }, { "kind": "ui-named-argument", - "line": 444, + "line": 454, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", "source": "Android Emulator", "surface": "android", @@ -1035,23 +907,15 @@ }, { "kind": "ui-named-argument", - "line": 453, + "line": 463, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", "source": "Localhost", "surface": "android", "id": "native.android.b28ff3f4d4bd3830" }, - { - "kind": "ui-call", - "line": 463, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Host", - "surface": "android", - "id": "native.android.3cc6464a0aa1f0ef" - }, { "kind": "conditional-branch", - "line": 480, + "line": 490, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", "source": "Port", "surface": "android", @@ -1059,7 +923,7 @@ }, { "kind": "conditional-branch", - "line": 480, + "line": 490, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", "source": "Port (optional, defaults to 443)", "surface": "android", @@ -1067,15 +931,7 @@ }, { "kind": "ui-call", - "line": 505, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Use TLS", - "surface": "android", - "id": "native.android.02693afaa85da5ea" - }, - { - "kind": "ui-call", - "line": 506, + "line": 516, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", "source": "Turn this on for Tailscale or public hosts. Private LAN ws:// remains supported.", "surface": "android", @@ -1083,15 +939,7 @@ }, { "kind": "ui-call", - "line": 528, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Token (optional)", - "surface": "android", - "id": "native.android.795ba55a55ed1684" - }, - { - "kind": "ui-call", - "line": 532, + "line": 542, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", "source": "token", "surface": "android", @@ -1099,36 +947,12 @@ }, { "kind": "ui-call", - "line": 541, + "line": 551, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", "source": "Password (optional)", "surface": "android", "id": "native.android.8123f2cfbe415437" }, - { - "kind": "ui-call", - "line": 549, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "password", - "surface": "android", - "id": "native.android.eb1f4aca9bce2805" - }, - { - "kind": "ui-call", - "line": 566, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Run onboarding again", - "surface": "android", - "id": "native.android.94891650ca526e96" - }, - { - "kind": "ui-call", - "line": 651, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt", - "source": "Resolved endpoint", - "surface": "android", - "id": "native.android.436f51d4042a34f3" - }, { "kind": "ui-named-argument", "line": 52, @@ -1649,41 +1473,9 @@ "surface": "android", "id": "native.android.0bbe0d733b1328fd" }, - { - "kind": "ui-call", - "line": 245, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", - "source": "Trust this gateway?", - "surface": "android", - "id": "native.android.40b4074a84478a80" - }, - { - "kind": "ui-call", - "line": 247, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", - "source": "Verify the certificate fingerprint before continuing.\n\n${prompt.fingerprintSha256}", - "surface": "android", - "id": "native.android.644eda7a3020dd44" - }, - { - "kind": "ui-call", - "line": 255, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", - "source": "Trust", - "surface": "android", - "id": "native.android.9ac2d4498b17d478" - }, - { - "kind": "ui-call", - "line": 260, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", - "source": "Cancel", - "surface": "android", - "id": "native.android.e26ee07a1d1911be" - }, { "kind": "ui-named-argument", - "line": 413, + "line": 430, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "OPENCLAW", "surface": "android", @@ -1691,7 +1483,7 @@ }, { "kind": "ui-named-argument", - "line": 418, + "line": 435, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Your personal AI assistant.\nExfoliate! Exfoliate!", "surface": "android", @@ -1699,7 +1491,7 @@ }, { "kind": "ui-named-argument", - "line": 428, + "line": 445, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Connect Gateway", "surface": "android", @@ -1707,39 +1499,7 @@ }, { "kind": "ui-named-argument", - "line": 538, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", - "source": "Gateway Setup", - "surface": "android", - "id": "native.android.57905d522fac1a5c" - }, - { - "kind": "ui-named-argument", - "line": 543, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", - "source": "Scan setup code", - "surface": "android", - "id": "native.android.03939d81f3a41ea3" - }, - { - "kind": "ui-named-argument", - "line": 551, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", - "source": "Nearby gateway", - "surface": "android", - "id": "native.android.3bc0c2a9b28903b2" - }, - { - "kind": "ui-named-argument", - "line": 560, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", - "source": "Enter gateway URL", - "surface": "android", - "id": "native.android.a6ebbaf716b0006b" - }, - { - "kind": "ui-named-argument", - "line": 568, + "line": 589, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Setup code issue", "surface": "android", @@ -1747,7 +1507,7 @@ }, { "kind": "ui-named-argument", - "line": 585, + "line": 606, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Advanced", "surface": "android", @@ -1755,7 +1515,7 @@ }, { "kind": "ui-named-argument", - "line": 594, + "line": 615, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Setup code", "surface": "android", @@ -1763,7 +1523,7 @@ }, { "kind": "ui-named-argument", - "line": 596, + "line": 617, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Host", "surface": "android", @@ -1771,7 +1531,7 @@ }, { "kind": "ui-named-argument", - "line": 597, + "line": 618, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Port", "surface": "android", @@ -1779,7 +1539,7 @@ }, { "kind": "conditional-branch", - "line": 600, + "line": 621, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "TLS off", "surface": "android", @@ -1787,7 +1547,7 @@ }, { "kind": "conditional-branch", - "line": 600, + "line": 621, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "TLS on", "surface": "android", @@ -1795,7 +1555,7 @@ }, { "kind": "ui-named-argument", - "line": 601, + "line": 622, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Local", "surface": "android", @@ -1803,7 +1563,7 @@ }, { "kind": "ui-named-argument", - "line": 603, + "line": 624, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Token optional", "surface": "android", @@ -1811,7 +1571,7 @@ }, { "kind": "ui-named-argument", - "line": 604, + "line": 625, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Password optional", "surface": "android", @@ -1819,7 +1579,7 @@ }, { "kind": "ui-named-argument", - "line": 609, + "line": 630, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Pair with Gateway", "surface": "android", @@ -1827,15 +1587,7 @@ }, { "kind": "ui-named-argument", - "line": 642, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", - "source": "Gateway Recovery", - "surface": "android", - "id": "native.android.6ef4415d701b3d7a" - }, - { - "kind": "ui-named-argument", - "line": 678, + "line": 699, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Last gateway", "surface": "android", @@ -1843,7 +1595,7 @@ }, { "kind": "conditional-branch", - "line": 720, + "line": 741, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Retry connection", "surface": "android", @@ -1851,7 +1603,7 @@ }, { "kind": "ui-named-argument", - "line": 725, + "line": 746, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Edit connection", "surface": "android", @@ -1859,7 +1611,7 @@ }, { "kind": "ui-named-argument", - "line": 726, + "line": 747, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Copy diagnostic", "surface": "android", @@ -1867,7 +1619,7 @@ }, { "kind": "ui-named-argument", - "line": 760, + "line": 781, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Copy approval command", "surface": "android", @@ -1875,7 +1627,7 @@ }, { "kind": "ui-named-argument", - "line": 787, + "line": 808, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Allow permissions", "surface": "android", @@ -1883,7 +1635,7 @@ }, { "kind": "ui-named-argument", - "line": 792, + "line": 813, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "These permissions keep OpenClaw secure\nand useful.", "surface": "android", @@ -1891,7 +1643,7 @@ }, { "kind": "ui-named-argument", - "line": 870, + "line": 891, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Open $title", "surface": "android", @@ -1899,31 +1651,15 @@ }, { "kind": "ui-call", - "line": 927, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", - "source": "Permissions", - "surface": "android", - "id": "native.android.1f83a6973cd9d621" - }, - { - "kind": "ui-call", - "line": 929, + "line": 952, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Choose what this phone can share with OpenClaw. You can change these later in Settings.", "surface": "android", "id": "native.android.f38ca3445453a6bb" }, - { - "kind": "ui-call", - "line": 937, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", - "source": "Done", - "surface": "android", - "id": "native.android.552df4241451e350" - }, { "kind": "ui-named-argument", - "line": 950, + "line": 973, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Back", "surface": "android", @@ -1931,7 +1667,7 @@ }, { "kind": "ui-named-argument", - "line": 954, + "line": 977, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Permission Setup", "surface": "android", @@ -1939,7 +1675,7 @@ }, { "kind": "conditional-branch", - "line": 1009, + "line": 1032, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Granted", "surface": "android", @@ -1947,7 +1683,7 @@ }, { "kind": "conditional-branch", - "line": 1009, + "line": 1032, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Not granted", "surface": "android", @@ -1955,7 +1691,7 @@ }, { "kind": "ui-named-argument", - "line": 1034, + "line": 1057, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Continue", "surface": "android", @@ -1963,7 +1699,7 @@ }, { "kind": "ui-toast", - "line": 1284, + "line": 1307, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Approval command copied", "surface": "android", @@ -1971,7 +1707,7 @@ }, { "kind": "ui-toast", - "line": 1310, + "line": 1333, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt", "source": "Diagnostic copied", "surface": "android", @@ -3649,33 +3385,9 @@ "surface": "android", "id": "native.android.9f346a677f3367e7" }, - { - "kind": "ui-call", - "line": 336, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", - "source": "Trust this gateway?", - "surface": "android", - "id": "native.android.5922535fe24f23d7" - }, - { - "kind": "ui-call", - "line": 340, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", - "source": "Trust", - "surface": "android", - "id": "native.android.2526d4e2c33e53d6" - }, - { - "kind": "ui-call", - "line": 345, - "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", - "source": "Cancel", - "surface": "android", - "id": "native.android.d066cab1c65d5447" - }, { "kind": "ui-named-argument", - "line": 424, + "line": 435, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Overview", "surface": "android", @@ -3683,7 +3395,7 @@ }, { "kind": "ui-named-argument", - "line": 469, + "line": 480, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "No recent sessions", "surface": "android", @@ -3691,7 +3403,7 @@ }, { "kind": "ui-named-argument", - "line": 471, + "line": 482, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Start Chat", "surface": "android", @@ -3699,7 +3411,7 @@ }, { "kind": "ui-named-argument", - "line": 531, + "line": 542, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "OpenClaw", "surface": "android", @@ -3707,7 +3419,7 @@ }, { "kind": "ui-named-argument", - "line": 539, + "line": 550, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Search", "surface": "android", @@ -3715,7 +3427,7 @@ }, { "kind": "ui-named-argument", - "line": 591, + "line": 602, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "ACTIVE AGENT", "surface": "android", @@ -3723,7 +3435,7 @@ }, { "kind": "ui-named-argument", - "line": 600, + "line": 611, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "View", "surface": "android", @@ -3731,7 +3443,7 @@ }, { "kind": "conditional-branch", - "line": 603, + "line": 614, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "$pendingRunCount active", "surface": "android", @@ -3739,7 +3451,7 @@ }, { "kind": "conditional-branch", - "line": 603, + "line": 614, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Idle", "surface": "android", @@ -3747,7 +3459,7 @@ }, { "kind": "ui-named-argument", - "line": 603, + "line": 614, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Runs", "surface": "android", @@ -3755,7 +3467,7 @@ }, { "kind": "conditional-branch", - "line": 604, + "line": 615, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "$sessionCount recent", "surface": "android", @@ -3763,7 +3475,7 @@ }, { "kind": "ui-named-argument", - "line": 604, + "line": 615, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Sessions", "surface": "android", @@ -3771,7 +3483,7 @@ }, { "kind": "ui-named-argument", - "line": 605, + "line": 616, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Cron", "surface": "android", @@ -3779,7 +3491,7 @@ }, { "kind": "ui-named-argument", - "line": 608, + "line": 619, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Chat", "surface": "android", @@ -3787,7 +3499,7 @@ }, { "kind": "ui-named-argument", - "line": 612, + "line": 623, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Reconnect gateway", "surface": "android", @@ -3795,7 +3507,7 @@ }, { "kind": "ui-named-argument", - "line": 757, + "line": 768, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Open ${card.title}", "surface": "android", @@ -3803,7 +3515,7 @@ }, { "kind": "ui-named-argument", - "line": 825, + "line": 836, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Talk", "surface": "android", @@ -3811,7 +3523,7 @@ }, { "kind": "ui-named-argument", - "line": 826, + "line": 837, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Open Talk", "surface": "android", @@ -3819,7 +3531,7 @@ }, { "kind": "ui-named-argument", - "line": 828, + "line": 839, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Talk settings", "surface": "android", @@ -3827,7 +3539,7 @@ }, { "kind": "ui-named-argument", - "line": 836, + "line": 847, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Recent Sessions", "surface": "android", @@ -3835,7 +3547,7 @@ }, { "kind": "ui-named-argument", - "line": 846, + "line": 857, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "View all", "surface": "android", @@ -3843,7 +3555,7 @@ }, { "kind": "conditional-branch", - "line": 964, + "line": 975, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "$onlineNodes/$nodeCount", "surface": "android", @@ -3851,7 +3563,7 @@ }, { "kind": "conditional-branch", - "line": 964, + "line": 975, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "None", "surface": "android", @@ -3859,7 +3571,7 @@ }, { "kind": "conditional-branch", - "line": 996, + "line": 1007, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Recent conversations", "surface": "android", @@ -3867,7 +3579,7 @@ }, { "kind": "conditional-branch", - "line": 1047, + "line": 1058, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Working · $pendingRunCount active ${pluralize(\"run\", pendingRunCount)}", "surface": "android", @@ -3875,7 +3587,7 @@ }, { "kind": "ui-named-argument", - "line": 1168, + "line": 1179, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Needs attention", "surface": "android", @@ -3883,7 +3595,7 @@ }, { "kind": "ui-named-argument", - "line": 1307, + "line": 1318, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Open session", "surface": "android", @@ -3891,7 +3603,7 @@ }, { "kind": "ui-named-argument", - "line": 1419, + "line": 1430, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Back to home", "surface": "android", @@ -3899,7 +3611,7 @@ }, { "kind": "ui-named-argument", - "line": 1422, + "line": 1433, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Settings", "surface": "android", @@ -3907,7 +3619,7 @@ }, { "kind": "ui-named-argument", - "line": 1425, + "line": 1436, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Search settings", "surface": "android", @@ -3915,7 +3627,7 @@ }, { "kind": "conditional-branch", - "line": 1443, + "line": 1454, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "$readyProviderCount ready", "surface": "android", @@ -3923,7 +3635,7 @@ }, { "kind": "conditional-branch", - "line": 1443, + "line": 1454, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Review readiness", "surface": "android", @@ -3931,7 +3643,7 @@ }, { "kind": "conditional-branch", - "line": 1453, + "line": 1464, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Speaker muted", "surface": "android", @@ -3939,7 +3651,7 @@ }, { "kind": "conditional-branch", - "line": 1453, + "line": 1464, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Speaker on", "surface": "android", @@ -3947,7 +3659,7 @@ }, { "kind": "conditional-branch", - "line": 1455, + "line": 1466, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Off", "surface": "android", @@ -3955,7 +3667,7 @@ }, { "kind": "conditional-branch", - "line": 1455, + "line": 1466, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Smart delivery", "surface": "android", @@ -3963,7 +3675,7 @@ }, { "kind": "conditional-branch", - "line": 1456, + "line": 1467, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Camera enabled", "surface": "android", @@ -3971,7 +3683,7 @@ }, { "kind": "conditional-branch", - "line": 1456, + "line": 1467, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Locked", "surface": "android", @@ -3979,7 +3691,7 @@ }, { "kind": "ui-named-argument", - "line": 1488, + "line": 1499, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "OpenClaw ${BuildConfig.VERSION_NAME} (${BuildConfig.VERSION_CODE})", "surface": "android", @@ -3987,7 +3699,7 @@ }, { "kind": "conditional-branch", - "line": 1491, + "line": 1502, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "All systems operational", "surface": "android", @@ -3995,7 +3707,7 @@ }, { "kind": "conditional-branch", - "line": 1491, + "line": 1502, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Gateway not connected", "surface": "android", @@ -4003,7 +3715,7 @@ }, { "kind": "conditional-branch", - "line": 1523, + "line": 1534, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "No provider usage", "surface": "android", @@ -4011,7 +3723,7 @@ }, { "kind": "conditional-branch", - "line": 1524, + "line": 1535, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "1 provider", "surface": "android", @@ -4019,7 +3731,7 @@ }, { "kind": "conditional-branch", - "line": 1525, + "line": 1536, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "$count providers", "surface": "android", @@ -4027,7 +3739,7 @@ }, { "kind": "conditional-branch", - "line": 1531, + "line": 1542, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "$ready/${skills.size} ready", "surface": "android", @@ -4035,7 +3747,7 @@ }, { "kind": "conditional-branch", - "line": 1531, + "line": 1542, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "No skills", "surface": "android", @@ -4043,7 +3755,7 @@ }, { "kind": "ui-named-argument", - "line": 1707, + "line": 1718, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "OpenClaw mobile", "surface": "android", @@ -4051,7 +3763,7 @@ }, { "kind": "ui-named-argument", - "line": 1711, + "line": 1722, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Open profile", "surface": "android", @@ -4059,7 +3771,7 @@ }, { "kind": "ui-named-argument", - "line": 1773, + "line": 1784, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Open ${row.title}", "surface": "android", @@ -4067,7 +3779,7 @@ }, { "kind": "conditional-branch", - "line": 1792, + "line": 1803, "path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt", "source": "Main session", "surface": "android", @@ -5185,6 +4897,278 @@ "surface": "android", "id": "native.android.a3c395b04ae7a621" }, + { + "kind": "resource-string", + "line": 3, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Gateway Connection", + "surface": "android", + "id": "native.android.55da01a287502809" + }, + { + "kind": "resource-string", + "line": 4, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Connect Gateway", + "surface": "android", + "id": "native.android.edb177f35510f636" + }, + { + "kind": "resource-string", + "line": 5, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Disconnect", + "surface": "android", + "id": "native.android.ed2b7c53127062b1" + }, + { + "kind": "resource-string", + "line": 6, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Trust this gateway?", + "surface": "android", + "id": "native.android.cd32b06480d9bb69" + }, + { + "kind": "resource-string", + "line": 7, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Trust and continue", + "surface": "android", + "id": "native.android.402c9af5ba395caf" + }, + { + "kind": "resource-string", + "line": 8, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Cancel", + "surface": "android", + "id": "native.android.bc749f6034799c2e" + }, + { + "kind": "resource-string", + "line": 9, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Endpoint", + "surface": "android", + "id": "native.android.c12edfa8fda16801" + }, + { + "kind": "resource-string", + "line": 10, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Status", + "surface": "android", + "id": "native.android.75efde06ba05f289" + }, + { + "kind": "resource-string", + "line": 11, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Your gateway is active and ready.", + "surface": "android", + "id": "native.android.3fa18ce9f5965142" + }, + { + "kind": "resource-string", + "line": 12, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Connect to your gateway to get started.", + "surface": "android", + "id": "native.android.df305a8c797e5600" + }, + { + "kind": "resource-string", + "line": 13, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Copy Report for Claw", + "surface": "android", + "id": "native.android.6b6a08e8d4eff2d2" + }, + { + "kind": "resource-string", + "line": 14, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Advanced controls", + "surface": "android", + "id": "native.android.8f1072da28d67483" + }, + { + "kind": "resource-string", + "line": 15, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Connection method", + "surface": "android", + "id": "native.android.a6739759bcab830c" + }, + { + "kind": "resource-string", + "line": 16, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Setup Code", + "surface": "android", + "id": "native.android.139b14a5e9980de6" + }, + { + "kind": "resource-string", + "line": 17, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Manual", + "surface": "android", + "id": "native.android.be082a5c0a39d06b" + }, + { + "kind": "resource-string", + "line": 18, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Paste setup code", + "surface": "android", + "id": "native.android.9bab58464c4fc9b0" + }, + { + "kind": "resource-string", + "line": 19, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Host", + "surface": "android", + "id": "native.android.f23d9864f1b619f7" + }, + { + "kind": "resource-string", + "line": 20, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Use TLS", + "surface": "android", + "id": "native.android.5677de0e2a1c0faf" + }, + { + "kind": "resource-string", + "line": 21, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Token (optional)", + "surface": "android", + "id": "native.android.9f17b363626f2516" + }, + { + "kind": "resource-string", + "line": 22, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Password", + "surface": "android", + "id": "native.android.005e23b33d333f6a" + }, + { + "kind": "resource-string", + "line": 23, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Run onboarding again", + "surface": "android", + "id": "native.android.a43f43c1338a6960" + }, + { + "kind": "resource-string", + "line": 24, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Resolved endpoint", + "surface": "android", + "id": "native.android.8a14b91132d358be" + }, + { + "kind": "resource-string", + "line": 25, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Gateway Setup", + "surface": "android", + "id": "native.android.3d9d01cc0af8727d" + }, + { + "kind": "resource-string", + "line": 26, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Connect to your Gateway", + "surface": "android", + "id": "native.android.fff6a6f130e88354" + }, + { + "kind": "resource-string", + "line": 27, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Scan setup code", + "surface": "android", + "id": "native.android.77a54beda22bfeb7" + }, + { + "kind": "resource-string", + "line": 28, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Use your Gateway QR or setup code", + "surface": "android", + "id": "native.android.8f525f9218215b42" + }, + { + "kind": "resource-string", + "line": 29, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Nearby gateway", + "surface": "android", + "id": "native.android.40da32c36971b959" + }, + { + "kind": "resource-string", + "line": 30, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Enter gateway URL", + "surface": "android", + "id": "native.android.7423bd0086e6897e" + }, + { + "kind": "resource-string", + "line": 31, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Connect using a manual URL", + "surface": "android", + "id": "native.android.c9420b6801f5a76f" + }, + { + "kind": "resource-string", + "line": 32, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Permissions", + "surface": "android", + "id": "native.android.4b55356d9bf6e444" + }, + { + "kind": "resource-string", + "line": 33, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Done", + "surface": "android", + "id": "native.android.c49a911b95af5d5d" + }, + { + "kind": "resource-string", + "line": 34, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Verify the certificate fingerprint before trusting this gateway.\n\n%1$s", + "surface": "android", + "id": "native.android.288b83f93172c633" + }, + { + "kind": "resource-string", + "line": 35, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "The gateway certificate changed. Continue only if you expected this.\n\nOld SHA-256:\n%1$s\n\nNew SHA-256:\n%2$s", + "surface": "android", + "id": "native.android.6ad2d3f084142bed" + }, + { + "kind": "resource-string", + "line": 36, + "path": "apps/android/app/src/main/res/values/strings.xml", + "source": "Gateway Recovery", + "surface": "android", + "id": "native.android.6ffa3d752514836d" + }, { "kind": "plist-string", "line": 8, diff --git a/apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt b/apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt index 19551304dbf5..70e1b3f58d82 100644 --- a/apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt +++ b/apps/android/app/src/main/java/ai/openclaw/app/ui/ConnectTabScreen.kt @@ -106,9 +106,13 @@ fun ConnectTabScreen(viewModel: MainViewModel) { text = { val message = if (prompt.previousFingerprintSha256.isNullOrBlank()) { - "First-time TLS connection.\n\nVerify this SHA-256 fingerprint before trusting:\n${prompt.fingerprintSha256}" + stringResource(R.string.gateway_trust_first_seen, prompt.fingerprintSha256) } else { - "The gateway TLS certificate changed. Only continue if you expected this.\n\nOld SHA-256 fingerprint:\n${prompt.previousFingerprintSha256}\n\nNew SHA-256 fingerprint:\n${prompt.fingerprintSha256}" + stringResource( + R.string.gateway_trust_changed, + prompt.previousFingerprintSha256, + prompt.fingerprintSha256, + ) } Text( message, @@ -162,8 +166,11 @@ fun ConnectTabScreen(viewModel: MainViewModel) { Column(verticalArrangement = Arrangement.spacedBy(6.dp)) { Text(stringResource(R.string.gateway_connection), style = mobileTitle1, color = mobileText) Text( - if (isConnected) stringResource(R.string.connected_gateway_ready) - else stringResource(R.string.connect_gateway_get_started), + if (isConnected) { + stringResource(R.string.connected_gateway_ready) + } else { + stringResource(R.string.connect_gateway_get_started) + }, style = mobileCallout, color = mobileTextSecondary, ) @@ -651,7 +658,11 @@ private fun CommandBlock(command: String) { private fun EndpointPreview(endpoint: String) { Column(verticalArrangement = Arrangement.spacedBy(4.dp)) { HorizontalDivider(color = mobileBorder) - Text("Resolved endpoint", style = mobileCaption1.copy(fontWeight = FontWeight.SemiBold), color = mobileTextSecondary) + Text( + stringResource(R.string.resolved_endpoint), + style = mobileCaption1.copy(fontWeight = FontWeight.SemiBold), + color = mobileTextSecondary, + ) Text(endpoint, style = mobileCallout.copy(fontFamily = FontFamily.Monospace), color = mobileText) HorizontalDivider(color = mobileBorder) } diff --git a/apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt b/apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt index 307bc46a5ef4..828816ef0986 100644 --- a/apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt +++ b/apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt @@ -251,8 +251,18 @@ fun OnboardingFlow( ) }, text = { + val message = + if (prompt.previousFingerprintSha256.isNullOrBlank()) { + stringResource(R.string.gateway_trust_first_seen, prompt.fingerprintSha256) + } else { + stringResource( + R.string.gateway_trust_changed, + prompt.previousFingerprintSha256, + prompt.fingerprintSha256, + ) + } Text( - "Verify the certificate fingerprint before continuing.\n\n${prompt.fingerprintSha256}", + message, style = ClawTheme.type.body, color = ClawTheme.colors.textMuted, ) @@ -650,7 +660,7 @@ private fun GatewayRecoveryScreen( ClawScaffold(modifier = modifier, contentPadding = PaddingValues(horizontal = 18.dp, vertical = 16.dp)) { Column(modifier = Modifier.fillMaxSize(), verticalArrangement = Arrangement.spacedBy(18.dp)) { - OnboardingHeader(title = stringResource(R.string.gateway_setup), onBack = onBack) + OnboardingHeader(title = stringResource(R.string.gateway_recovery), onBack = onBack) Spacer(modifier = Modifier.height(12.dp)) Column(modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.spacedBy(12.dp)) { Icon( diff --git a/apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt b/apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt index 30d7b5ef32c7..79b8c0730331 100644 --- a/apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt +++ b/apps/android/app/src/main/java/ai/openclaw/app/ui/ShellScreen.kt @@ -96,6 +96,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp @@ -325,24 +326,34 @@ private fun GatewayTrustDialog( ) { val message = if (prompt.previousFingerprintSha256.isNullOrBlank()) { - "Verify the certificate fingerprint before trusting this gateway.\n\n${prompt.fingerprintSha256}" + stringResource(R.string.gateway_trust_first_seen, prompt.fingerprintSha256) } else { - "The gateway certificate changed. Continue only if you expected this.\n\nOld SHA-256:\n${prompt.previousFingerprintSha256}\n\nNew SHA-256:\n${prompt.fingerprintSha256}" + stringResource( + R.string.gateway_trust_changed, + prompt.previousFingerprintSha256, + prompt.fingerprintSha256, + ) } AlertDialog( onDismissRequest = onDecline, containerColor = ClawTheme.colors.surfaceRaised, - title = { Text("Trust this gateway?", style = ClawTheme.type.section, color = ClawTheme.colors.text) }, + title = { + Text( + stringResource(R.string.trust_this_gateway), + style = ClawTheme.type.section, + color = ClawTheme.colors.text, + ) + }, text = { Text(message, style = ClawTheme.type.body, color = ClawTheme.colors.textMuted) }, confirmButton = { TextButton(onClick = onAccept) { - Text("Trust") + Text(stringResource(R.string.trust_and_continue)) } }, dismissButton = { TextButton(onClick = onDecline) { - Text("Cancel") + Text(stringResource(R.string.cancel)) } }, ) diff --git a/apps/android/app/src/main/res/values-ar/strings.xml b/apps/android/app/src/main/res/values-ar/strings.xml index 3304e4b15ede..0133dabda117 100644 --- a/apps/android/app/src/main/res/values-ar/strings.xml +++ b/apps/android/app/src/main/res/values-ar/strings.xml @@ -31,4 +31,7 @@ الاتصال باستخدام عنوان URL يدوي الأذونات تم + تحقق من بصمة الشهادة قبل الوثوق بهذه البوابة.\n\n%1$s + تم تغيير شهادة البوابة. تابع فقط إذا كنت تتوقع هذا التغيير.\n\nSHA-256 القديم:\n%1$s\n\nSHA-256 الجديد:\n%2$s + استرداد البوابة diff --git a/apps/android/app/src/main/res/values-de/strings.xml b/apps/android/app/src/main/res/values-de/strings.xml index 2ab4a6ecc9be..6f836659cf8e 100644 --- a/apps/android/app/src/main/res/values-de/strings.xml +++ b/apps/android/app/src/main/res/values-de/strings.xml @@ -31,4 +31,7 @@ Über eine manuelle URL verbinden Berechtigungen Fertig + Überprüfen Sie den Zertifikatfingerabdruck, bevor Sie diesem Gateway vertrauen.\n\n%1$s + Das Gateway-Zertifikat wurde geändert. Fahren Sie nur fort, wenn Sie diese Änderung erwartet haben.\n\nAlter SHA-256-Wert:\n%1$s\n\nNeuer SHA-256-Wert:\n%2$s + Gateway-Wiederherstellung diff --git a/apps/android/app/src/main/res/values-es/strings.xml b/apps/android/app/src/main/res/values-es/strings.xml index 4956875c7799..b55920f0f066 100644 --- a/apps/android/app/src/main/res/values-es/strings.xml +++ b/apps/android/app/src/main/res/values-es/strings.xml @@ -31,4 +31,7 @@ Conectar usando una URL manual Permisos Listo + Verifica la huella digital del certificado antes de confiar en este gateway.\n\n%1$s + El certificado del gateway cambió. Continúa solo si esperabas este cambio.\n\nSHA-256 anterior:\n%1$s\n\nSHA-256 nuevo:\n%2$s + Recuperación del gateway diff --git a/apps/android/app/src/main/res/values-fa/strings.xml b/apps/android/app/src/main/res/values-fa/strings.xml index dcd6b728952b..8f9252e506e3 100644 --- a/apps/android/app/src/main/res/values-fa/strings.xml +++ b/apps/android/app/src/main/res/values-fa/strings.xml @@ -31,4 +31,7 @@ اتصال با استفاده از URL دستی مجوزها انجام شد + پیش از اعتماد به این دروازه، اثر انگشت گواهی را تأیید کنید.\n\n%1$s + گواهی دروازه تغییر کرده است. فقط در صورتی ادامه دهید که انتظار این تغییر را داشتید.\n\nSHA-256 قدیمی:\n%1$s\n\nSHA-256 جدید:\n%2$s + بازیابی دروازه diff --git a/apps/android/app/src/main/res/values-fr/strings.xml b/apps/android/app/src/main/res/values-fr/strings.xml index 129c76214010..3d77aaaf2a08 100644 --- a/apps/android/app/src/main/res/values-fr/strings.xml +++ b/apps/android/app/src/main/res/values-fr/strings.xml @@ -31,4 +31,7 @@ Se connecter avec une URL manuelle Autorisations Terminé + Vérifiez l’empreinte du certificat avant d’accorder votre confiance à cette passerelle.\n\n%1$s + Le certificat de la passerelle a changé. Continuez uniquement si vous vous attendiez à ce changement.\n\nAncien SHA-256 :\n%1$s\n\nNouveau SHA-256 :\n%2$s + Récupération de la passerelle diff --git a/apps/android/app/src/main/res/values-hi/strings.xml b/apps/android/app/src/main/res/values-hi/strings.xml index 6ae542a925f9..61a42b9ea414 100644 --- a/apps/android/app/src/main/res/values-hi/strings.xml +++ b/apps/android/app/src/main/res/values-hi/strings.xml @@ -31,4 +31,7 @@ मैन्युअल URL का उपयोग करके कनेक्ट करें अनुमतियाँ हो गया + इस गेटवे पर भरोसा करने से पहले प्रमाणपत्र फ़िंगरप्रिंट सत्यापित करें।\n\n%1$s + गेटवे प्रमाणपत्र बदल गया है। केवल तभी जारी रखें जब आपको इस बदलाव की अपेक्षा थी।\n\nपुराना SHA-256:\n%1$s\n\nनया SHA-256:\n%2$s + गेटवे पुनर्प्राप्ति diff --git a/apps/android/app/src/main/res/values-id/strings.xml b/apps/android/app/src/main/res/values-id/strings.xml index f4e7d7d77ef7..b20a6ecfde53 100644 --- a/apps/android/app/src/main/res/values-id/strings.xml +++ b/apps/android/app/src/main/res/values-id/strings.xml @@ -31,4 +31,7 @@ Hubungkan menggunakan URL manual Izin Selesai + Verifikasi sidik jari sertifikat sebelum memercayai gateway ini.\n\n%1$s + Sertifikat gateway berubah. Lanjutkan hanya jika Anda mengharapkan perubahan ini.\n\nSHA-256 lama:\n%1$s\n\nSHA-256 baru:\n%2$s + Pemulihan gateway diff --git a/apps/android/app/src/main/res/values-it/strings.xml b/apps/android/app/src/main/res/values-it/strings.xml index a5b34a1fbc28..f4ce42501008 100644 --- a/apps/android/app/src/main/res/values-it/strings.xml +++ b/apps/android/app/src/main/res/values-it/strings.xml @@ -31,4 +31,7 @@ Connetti usando un URL manuale Autorizzazioni Fine + Verifica l’impronta digitale del certificato prima di considerare attendibile questo gateway.\n\n%1$s + Il certificato del gateway è cambiato. Continua solo se ti aspettavi questa modifica.\n\nSHA-256 precedente:\n%1$s\n\nNuovo SHA-256:\n%2$s + Ripristino del gateway diff --git a/apps/android/app/src/main/res/values-ja/strings.xml b/apps/android/app/src/main/res/values-ja/strings.xml index 289e9bd514a1..6b7283464a38 100644 --- a/apps/android/app/src/main/res/values-ja/strings.xml +++ b/apps/android/app/src/main/res/values-ja/strings.xml @@ -31,4 +31,7 @@ 手動 URL で接続 権限 完了 + このゲートウェイを信頼する前に、証明書のフィンガープリントを確認してください。\n\n%1$s + ゲートウェイの証明書が変更されました。想定した変更である場合のみ続行してください。\n\n以前の SHA-256:\n%1$s\n\n新しい SHA-256:\n%2$s + ゲートウェイの復旧 diff --git a/apps/android/app/src/main/res/values-ko/strings.xml b/apps/android/app/src/main/res/values-ko/strings.xml index 62cf7ffeea4e..bafa7d2acd7e 100644 --- a/apps/android/app/src/main/res/values-ko/strings.xml +++ b/apps/android/app/src/main/res/values-ko/strings.xml @@ -31,4 +31,7 @@ 수동 URL을 사용하여 연결 권한 완료 + 이 게이트웨이를 신뢰하기 전에 인증서 지문을 확인하세요.\n\n%1$s + 게이트웨이 인증서가 변경되었습니다. 예상한 변경인 경우에만 계속하세요.\n\n이전 SHA-256:\n%1$s\n\n새 SHA-256:\n%2$s + 게이트웨이 복구 diff --git a/apps/android/app/src/main/res/values-nl/strings.xml b/apps/android/app/src/main/res/values-nl/strings.xml index 1cb8015cbed1..136654d0a9b2 100644 --- a/apps/android/app/src/main/res/values-nl/strings.xml +++ b/apps/android/app/src/main/res/values-nl/strings.xml @@ -31,4 +31,7 @@ Verbinden met een handmatige URL Machtigingen Gereed + Controleer de certificaatvingerafdruk voordat je deze gateway vertrouwt.\n\n%1$s + Het gatewaycertificaat is gewijzigd. Ga alleen door als je deze wijziging verwachtte.\n\nOude SHA-256:\n%1$s\n\nNieuwe SHA-256:\n%2$s + Gatewayherstel diff --git a/apps/android/app/src/main/res/values-pl/strings.xml b/apps/android/app/src/main/res/values-pl/strings.xml index 101579b14f48..abf9bdc212ac 100644 --- a/apps/android/app/src/main/res/values-pl/strings.xml +++ b/apps/android/app/src/main/res/values-pl/strings.xml @@ -31,4 +31,7 @@ Połącz, używając ręcznego URL Uprawnienia Gotowe + Sprawdź odcisk certyfikatu, zanim zaufasz tej bramie.\n\n%1$s + Certyfikat bramy uległ zmianie. Kontynuuj tylko wtedy, gdy oczekujesz tej zmiany.\n\nStary SHA-256:\n%1$s\n\nNowy SHA-256:\n%2$s + Odzyskiwanie bramy diff --git a/apps/android/app/src/main/res/values-pt-rBR/strings.xml b/apps/android/app/src/main/res/values-pt-rBR/strings.xml index f58e7914ca89..e7bf5e1c0fe9 100644 --- a/apps/android/app/src/main/res/values-pt-rBR/strings.xml +++ b/apps/android/app/src/main/res/values-pt-rBR/strings.xml @@ -31,4 +31,7 @@ Conectar usando uma URL manual Permissões Concluído + Verifique a impressão digital do certificado antes de confiar neste gateway.\n\n%1$s + O certificado do gateway foi alterado. Continue somente se você esperava essa alteração.\n\nSHA-256 antigo:\n%1$s\n\nSHA-256 novo:\n%2$s + Recuperação do gateway diff --git a/apps/android/app/src/main/res/values-ru/strings.xml b/apps/android/app/src/main/res/values-ru/strings.xml index 4342321e6661..c96319ca5003 100644 --- a/apps/android/app/src/main/res/values-ru/strings.xml +++ b/apps/android/app/src/main/res/values-ru/strings.xml @@ -31,4 +31,7 @@ Подключиться с помощью URL вручную Разрешения Готово + Проверьте отпечаток сертификата, прежде чем доверять этому шлюзу.\n\n%1$s + Сертификат шлюза изменился. Продолжайте, только если вы ожидали это изменение.\n\nСтарый SHA-256:\n%1$s\n\nНовый SHA-256:\n%2$s + Восстановление шлюза diff --git a/apps/android/app/src/main/res/values-sv/strings.xml b/apps/android/app/src/main/res/values-sv/strings.xml index 0c813318613f..0cab4f414555 100644 --- a/apps/android/app/src/main/res/values-sv/strings.xml +++ b/apps/android/app/src/main/res/values-sv/strings.xml @@ -1,3 +1,37 @@ - OpenClaw-nod + OpenClaw Node + Gatewayanslutning + Anslut gateway + Koppla från + Lita på denna gateway? + Lita på och fortsätt + Avbryt + Slutpunkt + Status + Din gateway är aktiv och redo. + Anslut till din gateway för att komma igång. + Kopiera rapport för Claw + Avancerade kontroller + Anslutningsmetod + Konfigurationskod + Manuell + Klistra in konfigurationskod + Värd + Använd TLS + Token (valfritt) + Lösenord + Kör introduktionen igen + Löst slutpunkt + Gateway-konfiguration + Anslut till din gateway + Skanna konfigurationskod + Använd gatewayens QR-kod eller konfigurationskod + Gateway i närheten + Ange gateway-URL + Anslut med en manuell URL + Behörigheter + Klar + Verifiera certifikatets fingeravtryck innan du litar på denna gateway.\n\n%1$s + Gateway-certifikatet har ändrats. Fortsätt bara om du förväntade dig denna ändring.\n\nTidigare SHA-256:\n%1$s\n\nNy SHA-256:\n%2$s + Gateway-återställning diff --git a/apps/android/app/src/main/res/values-th/strings.xml b/apps/android/app/src/main/res/values-th/strings.xml index 0e7103ebe934..0ddbbb61a650 100644 --- a/apps/android/app/src/main/res/values-th/strings.xml +++ b/apps/android/app/src/main/res/values-th/strings.xml @@ -31,4 +31,7 @@ เชื่อมต่อโดยใช้ URL ด้วยตนเอง สิทธิ์ เสร็จสิ้น + ตรวจสอบลายนิ้วมือของใบรับรองก่อนเชื่อถือเกตเวย์นี้\n\n%1$s + ใบรับรองของเกตเวย์มีการเปลี่ยนแปลง ดำเนินการต่อเมื่อคุณคาดว่าจะมีการเปลี่ยนแปลงนี้เท่านั้น\n\nSHA-256 เดิม:\n%1$s\n\nSHA-256 ใหม่:\n%2$s + การกู้คืนเกตเวย์ diff --git a/apps/android/app/src/main/res/values-tr/strings.xml b/apps/android/app/src/main/res/values-tr/strings.xml index 58d5da946b86..017de5110d74 100644 --- a/apps/android/app/src/main/res/values-tr/strings.xml +++ b/apps/android/app/src/main/res/values-tr/strings.xml @@ -31,4 +31,7 @@ Manuel URL kullanarak bağlan İzinler Bitti + Bu ağ geçidine güvenmeden önce sertifika parmak izini doğrulayın.\n\n%1$s + Ağ geçidi sertifikası değişti. Yalnızca bu değişikliği bekliyorsanız devam edin.\n\nEski SHA-256:\n%1$s\n\nYeni SHA-256:\n%2$s + Ağ geçidi kurtarma diff --git a/apps/android/app/src/main/res/values-uk/strings.xml b/apps/android/app/src/main/res/values-uk/strings.xml index 3dfb642ecf6e..b86fd7926fde 100644 --- a/apps/android/app/src/main/res/values-uk/strings.xml +++ b/apps/android/app/src/main/res/values-uk/strings.xml @@ -31,4 +31,7 @@ Підключитися за допомогою URL-адреси вручну Дозволи Готово + Перевірте відбиток сертифіката, перш ніж довіряти цьому шлюзу.\n\n%1$s + Сертифікат шлюзу змінився. Продовжуйте, лише якщо ви очікували цю зміну.\n\nСтарий SHA-256:\n%1$s\n\nНовий SHA-256:\n%2$s + Відновлення шлюзу diff --git a/apps/android/app/src/main/res/values-vi/strings.xml b/apps/android/app/src/main/res/values-vi/strings.xml index eadcad7d96a6..cc77feeff37a 100644 --- a/apps/android/app/src/main/res/values-vi/strings.xml +++ b/apps/android/app/src/main/res/values-vi/strings.xml @@ -31,4 +31,7 @@ Kết nối bằng URL thủ công Quyền Xong + Xác minh dấu vân tay chứng chỉ trước khi tin cậy cổng này.\n\n%1$s + Chứng chỉ cổng đã thay đổi. Chỉ tiếp tục nếu bạn mong đợi thay đổi này.\n\nSHA-256 cũ:\n%1$s\n\nSHA-256 mới:\n%2$s + Khôi phục cổng diff --git a/apps/android/app/src/main/res/values-zh-rCN/strings.xml b/apps/android/app/src/main/res/values-zh-rCN/strings.xml index cbcb428d977b..383571c56c37 100644 --- a/apps/android/app/src/main/res/values-zh-rCN/strings.xml +++ b/apps/android/app/src/main/res/values-zh-rCN/strings.xml @@ -31,4 +31,7 @@ 使用手动 URL 连接 权限 完成 + 验证证书指纹后再信任此网关。\n\n%1$s + 网关证书已更改。仅当这是您预期的更改时才继续。\n\n旧 SHA-256:\n%1$s\n\n新 SHA-256:\n%2$s + 网关恢复 diff --git a/apps/android/app/src/main/res/values-zh-rTW/strings.xml b/apps/android/app/src/main/res/values-zh-rTW/strings.xml index 5b3cbbb00192..5524a3ed3676 100644 --- a/apps/android/app/src/main/res/values-zh-rTW/strings.xml +++ b/apps/android/app/src/main/res/values-zh-rTW/strings.xml @@ -31,4 +31,7 @@ 使用手動 URL 連接 權限 完成 + 請先驗證憑證指紋,再信任此閘道。\n\n%1$s + 閘道憑證已變更。僅在這是您預期的變更時繼續。\n\n舊 SHA-256:\n%1$s\n\n新 SHA-256:\n%2$s + 閘道復原 diff --git a/apps/android/app/src/main/res/values/strings.xml b/apps/android/app/src/main/res/values/strings.xml index aadfdd1aded6..a1afbe12da73 100644 --- a/apps/android/app/src/main/res/values/strings.xml +++ b/apps/android/app/src/main/res/values/strings.xml @@ -31,4 +31,7 @@ Connect using a manual URL Permissions Done + Verify the certificate fingerprint before trusting this gateway.\n\n%1$s + The gateway certificate changed. Continue only if you expected this.\n\nOld SHA-256:\n%1$s\n\nNew SHA-256:\n%2$s + Gateway Recovery