From ff4ec5dd3fbeb48a26834aa04b0edc2c10f2724d Mon Sep 17 00:00:00 2001 From: ecgang Date: Wed, 26 Aug 2026 09:51:11 -0600 Subject: [PATCH] Say the mesh channel is public once, not twice MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #1595 landed because two surfaces describing the same security property had drifted apart. This PR was about to recreate that: the new header caption content.header.public_caption ("public · nearby") and main's existing composer placeholder content.input.placeholder.mesh ("message #mesh — public, nearby") say the same thing on the same screen, in 30 locales each, with no mechanism keeping them in step. Keep the caption and drop the clause from the placeholder. The caption is the better carrier of the two: it is visible whenever the public timeline is, while the placeholder disappears the moment someone starts typing — which is exactly when they are about to disclose something. The 30 placeholder translations are cut at the em-dash rather than retranslated, so each locale keeps its own wording for the half it still carries. The caption's comment now says it is the sole carrier, so the next person to add a disclosure string has somewhere to look. Co-Authored-By: Claude Opus 5 (1M context) --- bitchat/Localizable.xcstrings | 62 +++++++++++++++++------------------ 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/bitchat/Localizable.xcstrings b/bitchat/Localizable.xcstrings index 5f159f53..3d657e29 100644 --- a/bitchat/Localizable.xcstrings +++ b/bitchat/Localizable.xcstrings @@ -56140,7 +56140,7 @@ } }, "content.header.public_caption" : { - "comment" : "Trust caption under the public mesh timeline: this channel is public and reaches nearby devices. Reuses the composer placeholder vocabulary (content.input.placeholder.mesh).", + "comment" : "Trust caption under the public mesh timeline: this channel is public and reaches nearby devices. Sole carrier of that disclosure — the composer placeholder deliberately does not repeat it (#1595).", "extractionState" : "manual", "localizations" : { "ar" : { @@ -57445,181 +57445,181 @@ "ar" : { "stringUnit" : { "state" : "needs_review", - "value" : "رسالة #mesh — عام، قريب" + "value" : "رسالة #mesh" } }, "bn" : { "stringUnit" : { "state" : "needs_review", - "value" : "#mesh-এ বার্তা — পাবলিক, কাছাকাছি" + "value" : "#mesh-এ বার্তা" } }, "de" : { "stringUnit" : { "state" : "needs_review", - "value" : "nachricht an #mesh — öffentlich, in der nähe" + "value" : "nachricht an #mesh" } }, "en" : { "stringUnit" : { "state" : "translated", - "value" : "message #mesh — public, nearby" + "value" : "message #mesh" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "mensaje #mesh — público, cerca" + "value" : "mensaje #mesh" } }, "fa" : { "stringUnit" : { "state" : "translated", - "value" : "پیام به #mesh — عمومی، اطراف شما" + "value" : "پیام به #mesh" } }, "fil" : { "stringUnit" : { "state" : "needs_review", - "value" : "mensahe sa #mesh — pampubliko, malapit" + "value" : "mensahe sa #mesh" } }, "fr" : { "stringUnit" : { "state" : "needs_review", - "value" : "message vers #mesh — public, à proximité" + "value" : "message vers #mesh" } }, "he" : { "stringUnit" : { "state" : "needs_review", - "value" : "הודעה ל-#mesh — ציבורי, קרוב" + "value" : "הודעה ל-#mesh" } }, "hi" : { "stringUnit" : { "state" : "needs_review", - "value" : "संदेश #mesh — सार्वजनिक, आसपास" + "value" : "संदेश #mesh" } }, "id" : { "stringUnit" : { "state" : "needs_review", - "value" : "pesan #mesh — publik, terdekat" + "value" : "pesan #mesh" } }, "it" : { "stringUnit" : { "state" : "needs_review", - "value" : "messaggio a #mesh — pubblico, nelle vicinanze" + "value" : "messaggio a #mesh" } }, "ja" : { "stringUnit" : { "state" : "needs_review", - "value" : "#mesh にメッセージ — 公開、近くの人へ" + "value" : "#mesh にメッセージ" } }, "ko" : { "stringUnit" : { "state" : "needs_review", - "value" : "#mesh 에 메시지 — 공개, 근처" + "value" : "#mesh 에 메시지" } }, "ms" : { "stringUnit" : { "state" : "needs_review", - "value" : "pesan #mesh — awam, berdekatan" + "value" : "pesan #mesh" } }, "ne" : { "stringUnit" : { "state" : "needs_review", - "value" : "#mesh मा सन्देश — सार्वजनिक, नजिकको" + "value" : "#mesh मा सन्देश" } }, "nl" : { "stringUnit" : { "state" : "needs_review", - "value" : "bericht naar #mesh — openbaar, in de buurt" + "value" : "bericht naar #mesh" } }, "pl" : { "stringUnit" : { "state" : "needs_review", - "value" : "wiadomość #mesh — publiczna, w pobliżu" + "value" : "wiadomość #mesh" } }, "pt" : { "stringUnit" : { "state" : "needs_review", - "value" : "mensagem para #mesh — público, próximo" + "value" : "mensagem para #mesh" } }, "pt-BR" : { "stringUnit" : { "state" : "needs_review", - "value" : "mensagem para #mesh — público, por perto" + "value" : "mensagem para #mesh" } }, "ru" : { "stringUnit" : { "state" : "needs_review", - "value" : "сообщение в #mesh — публичное, рядом" + "value" : "сообщение в #mesh" } }, "sv" : { "stringUnit" : { "state" : "needs_review", - "value" : "meddelande #mesh — publikt, i närheten" + "value" : "meddelande #mesh" } }, "ta" : { "stringUnit" : { "state" : "needs_review", - "value" : "#mesh க்கு செய்தி — பொது, அருகில்" + "value" : "#mesh க்கு செய்தி" } }, "th" : { "stringUnit" : { "state" : "needs_review", - "value" : "ส่งข้อความถึง #mesh — สาธารณะ, ใกล้เคียง" + "value" : "ส่งข้อความถึง #mesh" } }, "tr" : { "stringUnit" : { "state" : "needs_review", - "value" : "mesaj #mesh — herkese açık, yakında" + "value" : "mesaj #mesh" } }, "uk" : { "stringUnit" : { "state" : "needs_review", - "value" : "повідомлення #mesh — публічне, поблизу" + "value" : "повідомлення #mesh" } }, "ur" : { "stringUnit" : { "state" : "needs_review", - "value" : "پیغام #mesh — عوامی، قریبی" + "value" : "پیغام #mesh" } }, "vi" : { "stringUnit" : { "state" : "needs_review", - "value" : "nhắn #mesh — công khai, gần đây" + "value" : "nhắn #mesh" } }, "zh-Hans" : { "stringUnit" : { "state" : "needs_review", - "value" : "发消息到 #mesh — 公开、附近" + "value" : "发消息到 #mesh" } }, "zh-Hant" : { "stringUnit" : { "state" : "needs_review", - "value" : "發訊息到 #mesh — 公開、附近" + "value" : "發訊息到 #mesh" } } }