mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-01 12:33:36 +00:00
fix(i18n): preserve native placeholders and whitespace
This commit is contained in:
@@ -1173,9 +1173,9 @@
|
||||
"kind": "ui-call",
|
||||
"line": 416,
|
||||
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt",
|
||||
"source": "Your personal AI assistant. Exfoliate! Exfoliate!",
|
||||
"source": "Your personal AI assistant.\nExfoliate! Exfoliate!",
|
||||
"surface": "android",
|
||||
"id": "native.android.ac4ab5cb08ab8746"
|
||||
"id": "native.android.57eade577dad4d30"
|
||||
},
|
||||
{
|
||||
"kind": "ui-property",
|
||||
@@ -1333,9 +1333,9 @@
|
||||
"kind": "ui-call",
|
||||
"line": 790,
|
||||
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt",
|
||||
"source": "These permissions keep OpenClaw secure and useful.",
|
||||
"source": "These permissions keep OpenClaw secure\nand useful.",
|
||||
"surface": "android",
|
||||
"id": "native.android.ffdde83c5cd3b716"
|
||||
"id": "native.android.405adf25f42a55a1"
|
||||
},
|
||||
{
|
||||
"kind": "ui-property",
|
||||
@@ -1429,9 +1429,9 @@
|
||||
"kind": "ui-property",
|
||||
"line": 1054,
|
||||
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt",
|
||||
"source": "Approve this phone on the gateway. Then retry the connection.",
|
||||
"source": "Approve this phone on the gateway.\nThen retry the connection.",
|
||||
"surface": "android",
|
||||
"id": "native.android.851ad6ca68be9a7b"
|
||||
"id": "native.android.7e1c48e774433f5c"
|
||||
},
|
||||
{
|
||||
"kind": "ui-property",
|
||||
@@ -1445,9 +1445,9 @@
|
||||
"kind": "ui-property",
|
||||
"line": 1058,
|
||||
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt",
|
||||
"source": "Gateway pairing worked. Approve this phone's node capabilities from an operator UI.",
|
||||
"source": "Gateway pairing worked.\nApprove this phone's node capabilities from an operator UI.",
|
||||
"surface": "android",
|
||||
"id": "native.android.5f8a47dfbb4e65c1"
|
||||
"id": "native.android.12c2219ca47b1401"
|
||||
},
|
||||
{
|
||||
"kind": "ui-property",
|
||||
@@ -1461,9 +1461,9 @@
|
||||
"kind": "ui-property",
|
||||
"line": 1062,
|
||||
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt",
|
||||
"source": "Approval is in progress. OpenClaw will reconnect automatically.",
|
||||
"source": "Approval is in progress.\nOpenClaw will reconnect automatically.",
|
||||
"surface": "android",
|
||||
"id": "native.android.e8a24b86aaa0df08"
|
||||
"id": "native.android.53728f28e9193cb4"
|
||||
},
|
||||
{
|
||||
"kind": "ui-property",
|
||||
@@ -1493,9 +1493,9 @@
|
||||
"kind": "ui-property",
|
||||
"line": 1070,
|
||||
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/OnboardingFlow.kt",
|
||||
"source": "We could not reach your Gateway. Let's fix this.",
|
||||
"source": "We could not reach your Gateway.\nLet's fix this.",
|
||||
"surface": "android",
|
||||
"id": "native.android.5de7d12a0b6616a8"
|
||||
"id": "native.android.8b38d0219be047d5"
|
||||
},
|
||||
{
|
||||
"kind": "ui-property",
|
||||
@@ -1565,9 +1565,9 @@
|
||||
"kind": "ui-call",
|
||||
"line": 90,
|
||||
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/ProvidersModelsScreen.kt",
|
||||
"source": "Review provider readiness and configured models.",
|
||||
"source": "Review provider readiness\nand configured models.",
|
||||
"surface": "android",
|
||||
"id": "native.android.557f23a9cd21d8dc"
|
||||
"id": "native.android.86b9b6acdd3633ce"
|
||||
},
|
||||
{
|
||||
"kind": "ui-property",
|
||||
@@ -3169,6 +3169,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.95300e4dfd7aad42"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 378,
|
||||
"path": "apps/ios/Sources/Design/AgentProDreamingDestination.swift",
|
||||
"source": "\\(entry.totalSignalCount)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.32c1207f3fb0ea37"
|
||||
},
|
||||
{
|
||||
"kind": "ui-modifier",
|
||||
"line": 32,
|
||||
@@ -3193,6 +3201,22 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.c0a8f74751fe7761"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 234,
|
||||
"path": "apps/ios/Sources/Design/AgentProNodesDestination.swift",
|
||||
"source": "Copy \\(title)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.58dafd47a9d00243"
|
||||
},
|
||||
{
|
||||
"kind": "ui-modifier",
|
||||
"line": 234,
|
||||
"path": "apps/ios/Sources/Design/AgentProNodesDestination.swift",
|
||||
"source": "Copy \\(title)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.4b2a40c2512edb6b"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 245,
|
||||
@@ -3345,6 +3369,70 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.efcb886f500e918d.114"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 170,
|
||||
"path": "apps/ios/Sources/Design/AgentProTab+Skills.swift",
|
||||
"source": "Install \\(result.displayName)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.b69fd83a32b7b549"
|
||||
},
|
||||
{
|
||||
"kind": "ui-modifier",
|
||||
"line": 170,
|
||||
"path": "apps/ios/Sources/Design/AgentProTab+Skills.swift",
|
||||
"source": "Install \\(result.displayName)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.a46408193c7d93e8"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 287,
|
||||
"path": "apps/ios/Sources/Design/AgentProTab+Skills.swift",
|
||||
"source": "Missing: \\(missing)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.7c9ea375c01972ee"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 293,
|
||||
"path": "apps/ios/Sources/Design/AgentProTab+Skills.swift",
|
||||
"source": "Setup: \\(install)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.61ebcf220ca6f7f4"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 312,
|
||||
"path": "apps/ios/Sources/Design/AgentProTab+Skills.swift",
|
||||
"source": "Set up \\(skill.displayName)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.305b98a10fc4f2ff"
|
||||
},
|
||||
{
|
||||
"kind": "ui-modifier",
|
||||
"line": 312,
|
||||
"path": "apps/ios/Sources/Design/AgentProTab+Skills.swift",
|
||||
"source": "Set up \\(skill.displayName)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.e94ab5a64ed0052b"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 321,
|
||||
"path": "apps/ios/Sources/Design/AgentProTab+Skills.swift",
|
||||
"source": "Edit \\(skill.displayName)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.16ff2932470c1a04"
|
||||
},
|
||||
{
|
||||
"kind": "ui-modifier",
|
||||
"line": 321,
|
||||
"path": "apps/ios/Sources/Design/AgentProTab+Skills.swift",
|
||||
"source": "Edit \\(skill.displayName)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.801febb8177c45d6"
|
||||
},
|
||||
{
|
||||
"kind": "ui-modifier",
|
||||
"line": 381,
|
||||
@@ -3393,6 +3481,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.07884c9a5b6dc1e4"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 526,
|
||||
"path": "apps/ios/Sources/Design/AgentProTab+Skills.swift",
|
||||
"source": "Missing: \\(missing)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.7c9ea375c01972ee.526"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 530,
|
||||
@@ -3409,6 +3505,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.a65066d19ed879fd"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 69,
|
||||
"path": "apps/ios/Sources/Design/AgentProTab+Usage.swift",
|
||||
"source": "\\(Self.compactNumber(day.totalTokens ?? 0)) tokens",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.a17ce77200834d9c"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 55,
|
||||
@@ -3441,6 +3545,22 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.e8018adcccaa2a4d"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 116,
|
||||
"path": "apps/ios/Sources/Design/CommandCenterTab.swift",
|
||||
"source": "Gateway \\(self.gatewayStateText)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.2eedcda16e90fa8a"
|
||||
},
|
||||
{
|
||||
"kind": "ui-modifier",
|
||||
"line": 116,
|
||||
"path": "apps/ios/Sources/Design/CommandCenterTab.swift",
|
||||
"source": "Gateway \\(self.gatewayStateText)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.1dd03a218068f08e"
|
||||
},
|
||||
{
|
||||
"kind": "ui-modifier",
|
||||
"line": 117,
|
||||
@@ -3513,6 +3633,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.f343b3c8847ae5a6"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 144,
|
||||
"path": "apps/ios/Sources/Design/IPadSkillWorkshopScreen.swift",
|
||||
"source": "\\(self.filteredProposals.count) proposals",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.57ea1dae1aa22723"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 157,
|
||||
@@ -3777,6 +3905,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.f3ab09d2ffba5d9b"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 180,
|
||||
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
|
||||
"source": "\\(self.filteredCards.count) cards",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.fb9e29033d18989e"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 196,
|
||||
@@ -3841,6 +3977,22 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.e2418405eb6a9908"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 332,
|
||||
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
|
||||
"source": "Show \\(IPadWorkboardDefaults.label(for: status)) cards",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.7b410ba26d2d83b2"
|
||||
},
|
||||
{
|
||||
"kind": "ui-modifier",
|
||||
"line": 332,
|
||||
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
|
||||
"source": "Show \\(IPadWorkboardDefaults.label(for: status)) cards",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.1025db84f77e09e2"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 337,
|
||||
@@ -3945,6 +4097,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.ac94e06cd1b5203a"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 1003,
|
||||
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
|
||||
"source": "Move to \\(IPadWorkboardDefaults.label(for: status))",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.774f595a01eca278"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 1012,
|
||||
@@ -4009,6 +4169,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.c1f2821d719e37f8.1132"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 1134,
|
||||
"path": "apps/ios/Sources/Design/IPadWorkboardScreen.swift",
|
||||
"source": "Move to \\(IPadWorkboardDefaults.label(for: status))",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.774f595a01eca278.1134"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 1196,
|
||||
@@ -4097,6 +4265,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.62c19e63ba0e600a"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 97,
|
||||
"path": "apps/ios/Sources/Design/OpenClawDocsScreen.swift",
|
||||
"source": "v\\(DeviceInfoHelper.openClawVersionString())",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.c589f3ed9e2505cc"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 402,
|
||||
@@ -4113,6 +4289,22 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.cf9bb65f8e405cc8"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 465,
|
||||
"path": "apps/ios/Sources/Design/OpenClawProComponents.swift",
|
||||
"source": "Gateway \\(self.title)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.6552beb81114fa49"
|
||||
},
|
||||
{
|
||||
"kind": "ui-modifier",
|
||||
"line": 465,
|
||||
"path": "apps/ios/Sources/Design/OpenClawProComponents.swift",
|
||||
"source": "Gateway \\(self.title)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.51c566ed34b67acf"
|
||||
},
|
||||
{
|
||||
"kind": "ui-modifier",
|
||||
"line": 30,
|
||||
@@ -4121,6 +4313,22 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.a2d8e7b4dba29764"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 118,
|
||||
"path": "apps/ios/Sources/Design/RootTabsPhoneControlHub.swift",
|
||||
"source": "Gateway \\(self.gatewayStateText)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.8d9b28f827f013a8"
|
||||
},
|
||||
{
|
||||
"kind": "ui-modifier",
|
||||
"line": 118,
|
||||
"path": "apps/ios/Sources/Design/RootTabsPhoneControlHub.swift",
|
||||
"source": "Gateway \\(self.gatewayStateText)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.b050fa88ddfab280"
|
||||
},
|
||||
{
|
||||
"kind": "ui-modifier",
|
||||
"line": 119,
|
||||
@@ -4129,6 +4337,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.597471e86dda3d38"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 184,
|
||||
"path": "apps/ios/Sources/Design/RootTabsPhoneControlHub.swift",
|
||||
"source": "v\\(DeviceInfoHelper.openClawVersionString())",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.77d9ff112b9d70ad"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 38,
|
||||
@@ -4929,6 +5145,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.f21a8e304b607dc8"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 39,
|
||||
"path": "apps/ios/Sources/Gateway/GatewayProblemView.swift",
|
||||
"source": "Request ID: \\(requestId)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.9958308c545765cc"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 54,
|
||||
@@ -5729,6 +5953,22 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.c23d35de8d70863f"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 292,
|
||||
"path": "apps/ios/Sources/RootTabs.swift",
|
||||
"source": "OpenClaw \\(self.sidebarGatewayStatusTitle)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.fe50072094141b8d"
|
||||
},
|
||||
{
|
||||
"kind": "ui-modifier",
|
||||
"line": 292,
|
||||
"path": "apps/ios/Sources/RootTabs.swift",
|
||||
"source": "OpenClaw \\(self.sidebarGatewayStatusTitle)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.39042da9fc187030"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 329,
|
||||
@@ -5737,6 +5977,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.c50d02be6bd4818d"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 333,
|
||||
"path": "apps/ios/Sources/RootTabs.swift",
|
||||
"source": "v\\(DeviceInfoHelper.openClawVersionString())",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.f4f6d9a52238752e"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 562,
|
||||
@@ -5905,6 +6153,22 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.5ac0c79487a492b4"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 34,
|
||||
"path": "apps/macos/Sources/OpenClaw/AboutSettings.swift",
|
||||
"source": "Version \\(self.versionString)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.383d9c0a8f5f4f7e"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 37,
|
||||
"path": "apps/macos/Sources/OpenClaw/AboutSettings.swift",
|
||||
"source": "Built \\(buildTimestamp)\\(self.buildSuffix)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.33f4ac3e111b264f"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 41,
|
||||
@@ -6145,6 +6409,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.4d0dfdb0ac98fb47"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 145,
|
||||
"path": "apps/macos/Sources/OpenClaw/ChannelsSettings+View.swift",
|
||||
"source": "Last check \\(self.channelLastCheckText(channel))",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.b4bc7f2d70f7d6f6"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 149,
|
||||
@@ -6281,6 +6553,22 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.47eb7fbdc9792b54"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 34,
|
||||
"path": "apps/macos/Sources/OpenClaw/CostUsageMenuView.swift",
|
||||
"source": "Last \\(self.summary.days)d",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.ebfc6af133da68bf"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 77,
|
||||
"path": "apps/macos/Sources/OpenClaw/CostUsageMenuView.swift",
|
||||
"source": "Partial: \\(self.summary.totals.missingCostEntries) entries missing cost",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.936bfd42a2f08232"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 93,
|
||||
@@ -6729,6 +7017,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.7f5f9b82bb18d061"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 139,
|
||||
"path": "apps/macos/Sources/OpenClaw/CronSettings+Layout.swift",
|
||||
"source": "Error: \\(err)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.62a13e9cad6985af"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 167,
|
||||
@@ -6889,6 +7185,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.8ec0a4219e5e76ce"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 117,
|
||||
"path": "apps/macos/Sources/OpenClaw/CronSettings+Rows.swift",
|
||||
"source": "\\(date.formatted(date: .abbreviated, time: .standard)) · \\(relativeAge(from: date))",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.7718fbae883d5389"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 123,
|
||||
@@ -6921,6 +7225,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.1d31c7c3dc040e9e"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 185,
|
||||
"path": "apps/macos/Sources/OpenClaw/CronSettings+Rows.swift",
|
||||
"source": "\\(ms)ms",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.6ec996f25c175bbc"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 211,
|
||||
@@ -6929,6 +7241,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.07c987127cde7927"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 68,
|
||||
"path": "apps/macos/Sources/OpenClaw/DebugSettings.swift",
|
||||
"source": "Kill \\(listener.command) (\\(listener.pid))?",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.4c70e8fb1c642be1"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 69,
|
||||
@@ -6953,6 +7273,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.85986510973b69a5"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 89,
|
||||
"path": "apps/macos/Sources/OpenClaw/DebugSettings.swift",
|
||||
"source": "When enabled, OpenClaw won't install or manage \\(gatewayLaunchdLabel).",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.1982d180ff261216"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 106,
|
||||
@@ -6993,6 +7321,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.50a498bb5d21fce5"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 168,
|
||||
"path": "apps/macos/Sources/OpenClaw/DebugSettings.swift",
|
||||
"source": "\\(ProcessInfo.processInfo.processIdentifier)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.a1b7117088ad315f"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 171,
|
||||
@@ -7161,6 +7497,30 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.f41a77907a653c26"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 349,
|
||||
"path": "apps/macos/Sources/OpenClaw/DebugSettings.swift",
|
||||
"source": "Check which process owns \\(GatewayEnvironment.gatewayPort()) and suggest fixes.",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.7d3bb8db32ac31b8"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 355,
|
||||
"path": "apps/macos/Sources/OpenClaw/DebugSettings.swift",
|
||||
"source": "Port \\(report.port)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.b5c922d5a81b9a82"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 364,
|
||||
"path": "apps/macos/Sources/OpenClaw/DebugSettings.swift",
|
||||
"source": "\\(listener.command) (\\(listener.pid))",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.0dbd56f870683617"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 369,
|
||||
@@ -7361,6 +7721,22 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.a4e7bea688bf372c"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 578,
|
||||
"path": "apps/macos/Sources/OpenClaw/DebugSettings.swift",
|
||||
"source": "eval → \\(canvasEvalResult)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.ad26da5399b2e89a"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 587,
|
||||
"path": "apps/macos/Sources/OpenClaw/DebugSettings.swift",
|
||||
"source": "snapshot → \\(canvasSnapshotPath)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.2fa497069eba7671"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 593,
|
||||
@@ -7417,6 +7793,22 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.ac15433d7c66db1a"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 354,
|
||||
"path": "apps/macos/Sources/OpenClaw/DevicePairingApprovalPrompter.swift",
|
||||
"source": "\\(label):",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.4c4cb5589f9c56b2"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 372,
|
||||
"path": "apps/macos/Sources/OpenClaw/DevicePairingApprovalPrompter.swift",
|
||||
"source": "• \\(text)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.1b1ad7c8d65069fe"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 24,
|
||||
@@ -7465,6 +7857,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.7fe6df69d8050832"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 244,
|
||||
"path": "apps/macos/Sources/OpenClaw/GeneralSettings.swift",
|
||||
"source": "\\(Int(ping)) ms",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.8d5db3462778dd6f"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 307,
|
||||
@@ -7617,6 +8017,38 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.5e3968d04d63200c"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 627,
|
||||
"path": "apps/macos/Sources/OpenClaw/GeneralSettings.swift",
|
||||
"source": "Installed: \\(gatewayVersion) · Required: \\(required)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.9ff8bc297026d7cb"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 631,
|
||||
"path": "apps/macos/Sources/OpenClaw/GeneralSettings.swift",
|
||||
"source": "Gateway \\(gatewayVersion) detected",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.6a9514b81425ea1d"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 637,
|
||||
"path": "apps/macos/Sources/OpenClaw/GeneralSettings.swift",
|
||||
"source": "Node \\(node)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.4593770894a0b662"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 649,
|
||||
"path": "apps/macos/Sources/OpenClaw/GeneralSettings.swift",
|
||||
"source": "Last failure: \\(failure)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.50ab01059b763acd"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 654,
|
||||
@@ -7625,6 +8057,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.c55734a4ee849a4c"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 657,
|
||||
"path": "apps/macos/Sources/OpenClaw/GeneralSettings.swift",
|
||||
"source": "Gateway auto-starts in local mode via launchd (\\(gatewayLaunchdLabel)).",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.8fcaa10d4558a03d"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 712,
|
||||
@@ -7641,6 +8081,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.6393591d17837eb0"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 17,
|
||||
"path": "apps/macos/Sources/OpenClaw/InstancesSettings.swift",
|
||||
"source": "Error: \\(err)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.729f356a45366d00"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 24,
|
||||
@@ -7673,6 +8121,30 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.d49a2a06f0b30967"
|
||||
},
|
||||
{
|
||||
"kind": "ui-modifier",
|
||||
"line": 171,
|
||||
"path": "apps/macos/Sources/OpenClaw/InstancesSettings.swift",
|
||||
"source": "Presence updated \\(inst.ageDescription).",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.231b8e86486fd129"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 172,
|
||||
"path": "apps/macos/Sources/OpenClaw/InstancesSettings.swift",
|
||||
"source": "\\(status.label) presence",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.7017ebe54c8e3da3"
|
||||
},
|
||||
{
|
||||
"kind": "ui-modifier",
|
||||
"line": 172,
|
||||
"path": "apps/macos/Sources/OpenClaw/InstancesSettings.swift",
|
||||
"source": "\\(status.label) presence",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.12d83e5f01c98fc0"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 441,
|
||||
@@ -7953,6 +8425,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.3e248379359c7593"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 284,
|
||||
"path": "apps/macos/Sources/OpenClaw/NodesMenu.swift",
|
||||
"source": "\\(self.label):",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.4443962db00a2def"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 91,
|
||||
@@ -8273,6 +8753,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.5ced9b0fad1555e0"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 669,
|
||||
"path": "apps/macos/Sources/OpenClaw/OnboardingView+Pages.swift",
|
||||
"source": "Installed at \\(loc)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.e6a9668517354178"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 694,
|
||||
@@ -8409,6 +8897,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.e4b94f54e8bdbde4"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 905,
|
||||
"path": "apps/macos/Sources/OpenClaw/OnboardingView+Pages.swift",
|
||||
"source": "Details: \\(error)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.b6de2a51e5fb8397"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 911,
|
||||
@@ -8601,6 +9097,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.c8a3879230179938"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 33,
|
||||
"path": "apps/macos/Sources/OpenClaw/SessionMenuLabelView.swift",
|
||||
"source": "\\(self.row.tokens.contextSummaryShort) · \\(self.row.ageText)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.c83f50f9eafa4e4a"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 39,
|
||||
@@ -8657,6 +9161,22 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.05918601c3b3b241"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 138,
|
||||
"path": "apps/macos/Sources/OpenClaw/SettingsRootView.swift",
|
||||
"source": "Config: \\(configPath)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.deb89a876875cb48"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 139,
|
||||
"path": "apps/macos/Sources/OpenClaw/SettingsRootView.swift",
|
||||
"source": "State: \\(stateDir)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.e20f8f3494d04da8"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 69,
|
||||
@@ -8665,6 +9185,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.6a9cf4d0e171abb0"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 78,
|
||||
"path": "apps/macos/Sources/OpenClaw/SkillsSettings.swift",
|
||||
"source": "\\(total)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.79d4590049b0a8f2"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 106,
|
||||
@@ -8729,6 +9257,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.4dc7c4fc6c93d9d7.484"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 602,
|
||||
"path": "apps/macos/Sources/OpenClaw/SkillsSettings.swift",
|
||||
"source": "Saved to openclaw.json under skills.entries.\\(self.editor.skillKey)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.d769a8ac65441d48"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 606,
|
||||
@@ -8849,6 +9385,30 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.e98b56cbbe3a9cae"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 341,
|
||||
"path": "apps/macos/Sources/OpenClaw/SystemRunSettingsView.swift",
|
||||
"source": "Last used \\(Self.relativeFormatter.localizedString(for: date, relativeTo: Date()))",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.61954e6ed7118ddb"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 347,
|
||||
"path": "apps/macos/Sources/OpenClaw/SystemRunSettingsView.swift",
|
||||
"source": "Last command: \\(lastUsedCommand)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.29f7d0d5d832b577"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 353,
|
||||
"path": "apps/macos/Sources/OpenClaw/SystemRunSettingsView.swift",
|
||||
"source": "Resolved path: \\(lastResolvedPath)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.0ac3d7bc8c69e6a2"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 104,
|
||||
@@ -9081,6 +9641,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.b5868ea893d6a974"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 577,
|
||||
"path": "apps/macos/Sources/OpenClaw/VoiceWakeSettings.swift",
|
||||
"source": "\\(self.friendlyName(for: current)) (System)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.d57fd5213daf2a6e"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 597,
|
||||
@@ -9113,6 +9681,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.87c3465e9398bc2f"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 861,
|
||||
"path": "apps/macos/Sources/OpenClaw/VoiceWakeSettings.swift",
|
||||
"source": "Language \\(self.index + 2)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.2f9a1ff3cb47a58a"
|
||||
},
|
||||
{
|
||||
"kind": "ui-modifier",
|
||||
"line": 878,
|
||||
@@ -9137,6 +9713,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.2bcc6f4eca98f7f2"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 30,
|
||||
"path": "apps/macos/Sources/OpenClaw/VoiceWakeTestCard.swift",
|
||||
"source": "Heard: \\(text)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.bcee3926c9672842"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 146,
|
||||
@@ -9329,6 +9913,14 @@
|
||||
"surface": "apple",
|
||||
"id": "native.apple.6b18ea1d85b5d3a2"
|
||||
},
|
||||
{
|
||||
"kind": "ui-call",
|
||||
"line": 672,
|
||||
"path": "apps/shared/OpenClawKit/Sources/OpenClawChatUI/ChatMessageViews.swift",
|
||||
"source": "\\(display.emoji) \\(display.label)",
|
||||
"surface": "apple",
|
||||
"id": "native.apple.7c99becc26501014"
|
||||
},
|
||||
{
|
||||
"kind": "ui-modifier",
|
||||
"line": 30,
|
||||
|
||||
@@ -608,6 +608,7 @@ function buildSystemPrompt(targetLocale: string, glossary: readonly GlossaryEntr
|
||||
"- The JSON must be an object whose keys exactly match the provided ids.",
|
||||
"- Translate all English prose; keep code, URLs, product names, CLI commands, config keys, and env vars in English.",
|
||||
"- Preserve placeholders exactly, including {count}, {time}, {shown}, {total}, and similar tokens.",
|
||||
"- Preserve Swift interpolation expressions such as \\(name) exactly, including the backslash and parentheses.",
|
||||
"- Preserve punctuation, ellipses, arrows, and casing when they are part of literal UI text.",
|
||||
"- Preserve Markdown, inline code, HTML tags, and slash commands when present.",
|
||||
"- Use fluent, neutral product UI language.",
|
||||
|
||||
@@ -62,6 +62,19 @@ const EXCLUDED_PATH_RE =
|
||||
/(?:^|[\\/])(?:Tests?|UITests?|test|Preview(?:s)?)(?:$|[\\/])/u;
|
||||
const EXCLUDED_FILE_RE = /(?:Tests?|UITests?|Previews?|Testing)\.(?:swift|kt|kts)$/u;
|
||||
|
||||
function hasUnbalancedSwiftInterpolation(source: string): boolean {
|
||||
let depth = 0;
|
||||
for (let index = 0; index < source.length; index += 1) {
|
||||
if (source[index] === "\\" && source[index + 1] === "(") {
|
||||
depth += 1;
|
||||
index += 1;
|
||||
} else if (depth > 0 && source[index] === ")") {
|
||||
depth -= 1;
|
||||
}
|
||||
}
|
||||
return depth !== 0;
|
||||
}
|
||||
|
||||
function lineNumber(source: string, offset: number): number {
|
||||
return source.slice(0, offset).split("\n").length;
|
||||
}
|
||||
@@ -75,7 +88,7 @@ function decodeLiteral(raw: string): string {
|
||||
}
|
||||
|
||||
function normalizeSource(source: string): string {
|
||||
return source.replace(/\s+/gu, " ").trim();
|
||||
return source.replace(/[ \t]+/gu, " ").trim();
|
||||
}
|
||||
|
||||
function addCandidate(
|
||||
@@ -90,7 +103,11 @@ function addCandidate(
|
||||
if (!normalized || !/\p{L}/u.test(normalized)) {
|
||||
return;
|
||||
}
|
||||
if (normalized.length > 500 || normalized.includes("${") || normalized.includes("\\(")) {
|
||||
if (
|
||||
normalized.length > 500 ||
|
||||
normalized.includes("${") ||
|
||||
hasUnbalancedSwiftInterpolation(normalized)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
entries.push({ kind, line, path: repoPath, source: normalized, surface });
|
||||
|
||||
@@ -21,6 +21,7 @@ describe("native app i18n inventory", () => {
|
||||
),
|
||||
).toBe(true);
|
||||
expect(entries.some((entry) => entry.source === "QR Scanner Unavailable")).toBe(true);
|
||||
expect(entries.some((entry) => entry.source === "Request ID: \\(requestId)")).toBe(true);
|
||||
expect(NATIVE_I18N_LOCALES).toHaveLength(20);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user