From 11f4ba8ed2262180ea7f8bc4947a1a71f09ac49a Mon Sep 17 00:00:00 2001 From: xavix-yo Date: Sun, 2 Aug 2026 21:24:38 +0100 Subject: [PATCH] fix: replace the six Italian user-facing strings with the English wording already used elsewhere MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit None of them was an isolated slip — each already had an English twin somewhere else in the system, so this is alignment rather than translation. The four in `ws.rs` are the slash-command replies (/sethome, /cost x2, /compact), and the Telegram plugin — the same command set, reached through a different surface — has said them in English all along. The two surfaces could answer the same command in two languages. Adopted Telegram's wording verbatim, and made the /compact "nothing to summarise" line match its twin's spelling while there. The two in `skald-relay-server` are the APNs alert body. That one is worth not re-deriving: it is the *fallback* shown only when the notification service extension cannot run, and the iOS app localises the same message under the English key "Action required" (Localizable.xcstrings, en + it). English was already the canonical form on the other side of the wire — the hardcoded Italian only ever surfaced in the one case where no locale is negotiated with anyone. --- crates/skald-relay-server/src/push.rs | 4 ++-- src/frontend/api/ws.rs | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/crates/skald-relay-server/src/push.rs b/crates/skald-relay-server/src/push.rs index 6fdd1b5..f2b2d1b 100644 --- a/crates/skald-relay-server/src/push.rs +++ b/crates/skald-relay-server/src/push.rs @@ -78,7 +78,7 @@ impl PushItem { match self.kind() { PushKind::Content => json!({ "aps": { - "alert": { "title": "Skald", "body": "Azione richiesta" }, + "alert": { "title": "Skald", "body": "Action required" }, "badge": 1, "sound": "default", "mutable-content": 1, @@ -93,7 +93,7 @@ impl PushItem { }), PushKind::Wake => json!({ "aps": { - "alert": { "title": "Skald", "body": "Azione richiesta" }, + "alert": { "title": "Skald", "body": "Action required" }, "badge": 1, "sound": "default", "content-available": 1 diff --git a/src/frontend/api/ws.rs b/src/frontend/api/ws.rs index 25c645e..8d9204d 100644 --- a/src/frontend/api/ws.rs +++ b/src/frontend/api/ws.rs @@ -185,8 +185,8 @@ async fn handle_socket(mut socket: WebSocket, skald: Arc, source: String, if cmd == "/sethome" { let msg = match chat_hub.set_home(&source).await { - Ok(_) => "🏠 Web impostato come **home**. Le notifiche degli agenti arriveranno qui.".to_string(), - Err(e) => format!("⚠️ Errore: {e}"), + Ok(_) => "🏠 Web set as **home**. Agent notifications will be delivered here.".to_string(), + Err(e) => format!("⚠️ Error: {e}"), }; let _ = socket.send(to_msg(&ServerEvent::Done { message_id: 0, @@ -238,7 +238,7 @@ async fn handle_socket(mut socket: WebSocket, skald: Arc, source: String, let _ = socket.send(to_msg(&ServerEvent::Done { message_id: 0, stack_id: 0, - content: format!("💰 Costo sessione: ${c:.4}"), + content: format!("💰 Session cost: ${c:.4}"), input_tokens: None, output_tokens: None, reasoning_content: None, @@ -248,7 +248,7 @@ async fn handle_socket(mut socket: WebSocket, skald: Arc, source: String, let _ = socket.send(to_msg(&ServerEvent::Done { message_id: 0, stack_id: 0, - content: "💰 Nessun costo registrato per questa sessione.".to_string(), + content: "💰 No cost recorded for this session.".to_string(), input_tokens: None, output_tokens: None, reasoning_content: None, @@ -267,7 +267,7 @@ async fn handle_socket(mut socket: WebSocket, skald: Arc, source: String, let _ = socket.send(to_msg(&ServerEvent::Done { message_id: 0, stack_id: 0, - content: "✅ Contesto compattato.".to_string(), + content: "✅ Context compacted.".to_string(), input_tokens: None, output_tokens: None, reasoning_content: None, @@ -277,7 +277,7 @@ async fn handle_socket(mut socket: WebSocket, skald: Arc, source: String, let _ = socket.send(to_msg(&ServerEvent::Done { message_id: 0, stack_id: 0, - content: "⏩ Compaction skipped (nothing to summarize).".to_string(), + content: "⏩ Compaction skipped (nothing to summarise).".to_string(), input_tokens: None, output_tokens: None, reasoning_content: None,