fix(tui): translate the session-only note /model adds after a switch

After a model switch, /model appends a note saying the change lasts for
this session and naming /fleet save, /fleet save-as and
/model save-default. The note was an English literal pushed onto the
translated ModelChanged sentence, so every other locale got half a
sentence in its own language and half in English.

Move the note into ModelChangedSessionNote and translate it in the
fourteen complete packs. The command names stay literal so they can be
typed as shown, and each pack keeps the word it already uses for a
Fleet. The English text is unchanged.

Signed-off-by: Lstarsky0 <[email protected]>
This commit is contained in:
Lstarsky0 committed 2026-10-06 15:15:09 +08:00
1 parent ecbf2869ab
commit 3ebeb29cbf
17 files changed
+20 -6

No files matched your search

+1
View File
@@ -786,6 +786,7 @@
"ClearConversation": "Conversació esborrada",
"ClearConversationBusy": "No s'ha esborrat res (l'estat de treball o el runtime està ocupat; espera i torna a provar /clear)",
"ModelChanged": "El model ara és {new} (abans {old}).",
"ModelChangedSessionNote": " (només en aquesta sessió — /fleet save actualitza aquest equip, /fleet save-as en desa un de nou, /model save-default el desa com a valor per defecte d'arrencada)",
"LinksProjectTitle": "Codewhale i comunitat:",
"LinksDocumentation": "Documentació:",
"LinksCommunity": "Comunitat i contribució:",
+1
View File
@@ -786,6 +786,7 @@
"ClearConversation": "Gespräch gelöscht",
"ClearConversationBusy": "Nichts gelöscht (Work-State oder Laufzeitarbeit beschäftigt; warten, dann /clear erneut versuchen)",
"ModelChanged": "Modell ist jetzt {new} (vorher {old}).",
"ModelChangedSessionNote": " (nur für diese Sitzung — /fleet save aktualisiert dieses Team, /fleet save-as speichert ein neues Team, /model save-default speichert es als Start-Default)",
"LinksProjectTitle": "Codewhale & Community:",
"LinksDocumentation": "Dokumentation:",
"LinksCommunity": "Community & Mitwirken:",
+1
View File
@@ -803,6 +803,7 @@
"ClearConversation": "Conversation cleared",
"ClearConversationBusy": "Nothing cleared — still busy. Try /clear again in a moment.",
"ModelChanged": "Model is now {new} (was {old}).",
"ModelChangedSessionNote": " (session only — /fleet save updates this Fleet, /fleet save-as saves a new Fleet, /model save-default remembers the default)",
"LinksProjectTitle": "Codewhale & community:",
"LinksDocumentation": "Documentation:",
"LinksCommunity": "Community & contribution:",
+1
View File
@@ -803,6 +803,7 @@
"ClearConversation": "Conversación limpia",
"ClearConversationBusy": "No se borró nada (el estado de Trabajo o la ejecución está ocupada; espera y vuelve a intentar /clear)",
"ModelChanged": "El modelo ahora es {new} (antes {old}).",
"ModelChangedSessionNote": " (solo en esta sesión — /fleet save actualiza este equipo, /fleet save-as guarda un equipo nuevo, /model save-default lo guarda como valor predeterminado de inicio)",
"LinksProjectTitle": "Codewhale y comunidad:",
"LinksDocumentation": "Documentación:",
"LinksCommunity": "Comunidad y contribuciones:",
+1
View File
@@ -786,6 +786,7 @@
"ClearConversation": "Conversation effacée",
"ClearConversationBusy": "Rien n'a été effacé (état Work ou exécution occupée ; patientez, puis réessayez /clear)",
"ModelChanged": "Le modèle est maintenant {new} (avant : {old}).",
"ModelChangedSessionNote": " (pour cette session uniquement — /fleet save met à jour cette équipe, /fleet save-as enregistre une nouvelle équipe, /model save-default l'enregistre comme défaut de démarrage)",
"LinksProjectTitle": "Codewhale et communauté :",
"LinksDocumentation": "Documentation :",
"LinksCommunity": "Communauté et contribution :",
+1
View File
@@ -786,6 +786,7 @@
"ClearConversation": "वार्तालाप साफ़ किया गया",
"ClearConversationBusy": "कुछ साफ़ नहीं हुआ (कार्य स्थिति या रनटाइम कार्य व्यस्त है; प्रतीक्षा करें, फिर /clear दोबारा आज़माएँ)",
"ModelChanged": "मॉडल अब {new} है (पहले {old} था)।",
"ModelChangedSessionNote": " (सिर्फ़ इस सत्र के लिए — /fleet save इस टीम को अपडेट करता है, /fleet save-as नई टीम सहेजता है, /model save-default इसे स्टार्टअप डिफ़ॉल्ट के रूप में सहेजता है)",
"LinksProjectTitle": "Codewhale और समुदाय:",
"LinksDocumentation": "दस्तावेज़:",
"LinksCommunity": "समुदाय और योगदान:",
+1
View File
@@ -786,6 +786,7 @@
"ClearConversation": "Percakapan dibersihkan",
"ClearConversationBusy": "Tidak ada yang dibersihkan (status Work atau pekerjaan runtime sibuk; tunggu, lalu coba /clear lagi)",
"ModelChanged": "Model sekarang {new} (sebelumnya {old}).",
"ModelChangedSessionNote": " (hanya untuk sesi ini — /fleet save memperbarui tim ini, /fleet save-as menyimpan tim baru, /model save-default menyimpannya sebagai default startup)",
"LinksProjectTitle": "Codewhale & komunitas:",
"LinksDocumentation": "Dokumentasi:",
"LinksCommunity": "Komunitas & kontribusi:",
+1
View File
@@ -803,6 +803,7 @@
"ClearConversation": "会話履歴をクリアしました",
"ClearConversationBusy": "何もクリアされませんでした(Work 状態またはランタイム処理が実行中です。待ってから /clear を再実行してください)",
"ModelChanged": "モデルは {new} になりました(以前は {old})。",
"ModelChangedSessionNote": "(このセッションのみ — /fleet save でこのチームを更新、/fleet save-as で新しいチームとして保存、/model save-default で起動時の既定として保存)",
"LinksProjectTitle": "Codewhale とコミュニティ:",
"LinksDocumentation": "ドキュメント:",
"LinksCommunity": "コミュニティとコントリビューション:",
+1
View File
@@ -803,6 +803,7 @@
"ClearConversation": "대화가 지워졌습니다",
"ClearConversationBusy": "지우지 못했습니다 (작업 상태 또는 런타임 작업이 진행 중입니다. 잠시 후 /clear를 다시 시도하세요)",
"ModelChanged": "모델이 이제 {new}입니다(이전: {old}).",
"ModelChangedSessionNote": " (이번 세션에만 적용 — /fleet save는 이 팀을 업데이트하고, /fleet save-as는 새 팀으로 저장하며, /model save-default는 시작 기본값으로 저장합니다)",
"LinksProjectTitle": "Codewhale 및 커뮤니티:",
"LinksDocumentation": "문서:",
"LinksCommunity": "커뮤니티 및 기여:",
+1
View File
@@ -803,6 +803,7 @@
"ClearConversation": "Conversa limpa",
"ClearConversationBusy": "Nada foi limpo (estado de Trabalho ou execução ativa ocupada; aguarde e tente /clear novamente)",
"ModelChanged": "O modelo agora é {new} (antes {old}).",
"ModelChangedSessionNote": " (só nesta sessão — /fleet save atualiza esta equipe, /fleet save-as salva uma nova equipe, /model save-default salva como padrão de inicialização)",
"LinksProjectTitle": "Codewhale e comunidade:",
"LinksDocumentation": "Documentação:",
"LinksCommunity": "Comunidade e contribuição:",
+1
View File
@@ -786,6 +786,7 @@
"ClearConversation": "Диалог очищен",
"ClearConversationBusy": "Ничего не очищено (состояние Work или фоновая работа заняты; подождите и повторите /clear)",
"ModelChanged": "Модель теперь {new} (была {old}).",
"ModelChangedSessionNote": " (только для этого сеанса — /fleet save обновляет эту команду, /fleet save-as сохраняет новую команду, /model save-default сохраняет её как значение по умолчанию при запуске)",
"LinksProjectTitle": "Codewhale и сообщество:",
"LinksDocumentation": "Документация:",
"LinksCommunity": "Сообщество и участие:",
+1
View File
@@ -786,6 +786,7 @@
"ClearConversation": "Розмову очищено",
"ClearConversationBusy": "Нічого не очищено (стан роботи або виконання зайняті; зачекайте й повторіть /clear)",
"ModelChanged": "Модель тепер {new} (була {old}).",
"ModelChangedSessionNote": " (лише для цього сеансу — /fleet save оновлює цю команду, /fleet save-as зберігає нову команду, /model save-default зберігає її як типову для запуску)",
"LinksProjectTitle": "Codewhale і спільнота:",
"LinksDocumentation": "Документація:",
"LinksCommunity": "Спільнота та внесок:",
+1
View File
@@ -803,6 +803,7 @@
"ClearConversation": "Đã xóa cuộc trò chuyện",
"ClearConversationBusy": "Chưa xóa nội dung nào (trạng thái Công việc hoặc tác vụ thời gian chạy đang bận; hãy chờ rồi thử lại /clear)",
"ModelChanged": "Mô hình hiện là {new} (trước đó là {old}).",
"ModelChangedSessionNote": " (chỉ trong phiên này — /fleet save cập nhật nhóm này, /fleet save-as lưu thành nhóm mới, /model save-default lưu làm mặc định khi khởi động)",
"LinksProjectTitle": "Codewhale và cộng đồng:",
"LinksDocumentation": "Tài liệu:",
"LinksCommunity": "Cộng đồng và đóng góp:",
+1
View File
@@ -803,6 +803,7 @@
"ClearConversation": "对话已清空",
"ClearConversationBusy": "未清空任何内容(工作状态或运行时任务正忙;请等待后重试 /clear)",
"ModelChanged": "模型已切换为 {new}(原为 {old})。",
"ModelChangedSessionNote": "(仅本次会话有效 — /fleet save 更新当前 Fleet,/fleet save-as 另存为新 Fleet,/model save-default 保存为启动默认值)",
"LinksProjectTitle": "Codewhale 与社区:",
"LinksDocumentation": "文档:",
"LinksCommunity": "社区与贡献:",
+1
View File
@@ -801,6 +801,7 @@
"ClearConversation": "對話已清空",
"ClearConversationBusy": "未清空任何內容(工作狀態或執行階段任務正忙;請等待後重試 /clear)",
"ModelChanged": "模型已切換為 {new}(原為 {old})。",
"ModelChangedSessionNote": "(僅限此工作階段 — /fleet save 更新目前的 Fleet,/fleet save-as 另存為新的 Fleet,/model save-default 儲存為啟動預設值)",
"LinksProjectTitle": "Codewhale 與社群:",
"LinksDocumentation": "文件:",
"LinksCommunity": "社群與貢獻:",
+3
View File
@@ -1024,6 +1024,7 @@ pub enum MessageId {
ClearConversation,
ClearConversationBusy,
ModelChanged,
ModelChangedSessionNote,
LinksProjectTitle,
LinksDocumentation,
LinksCommunity,
@@ -3580,6 +3581,7 @@ pub const ALL_MESSAGE_IDS: &[MessageId] = &[
MessageId::ClearConversation,
MessageId::ClearConversationBusy,
MessageId::ModelChanged,
MessageId::ModelChangedSessionNote,
MessageId::LinksProjectTitle,
MessageId::LinksDocumentation,
MessageId::LinksCommunity,
@@ -5583,6 +5585,7 @@ mod tests {
MessageId::KbReasoningDetail,
MessageId::CmdTurnInspectDescription,
MessageId::CmdAdvisorDescription,
MessageId::ModelChangedSessionNote,
];
for locale in Locale::shipped_complete() {
if *locale == Locale::En {
+2 -6
View File
@@ -304,9 +304,7 @@ pub fn model(app: &mut App, model_name: Option<&str>) -> CommandResult {
let mut message = tr(app.ui_locale, MessageId::ModelChanged)
.replace("{old}", &old_model)
.replace("{new}", "auto");
message.push_str(
" (session only — /fleet save updates this Fleet, /fleet save-as saves a new Fleet, /model save-default remembers the default)",
);
message.push_str(&tr(app.ui_locale, MessageId::ModelChangedSessionNote));
return CommandResult::with_message_and_action(
message,
AppAction::UpdateCompaction(app.compaction_config()),
@@ -420,9 +418,7 @@ pub fn model(app: &mut App, model_name: Option<&str>) -> CommandResult {
let mut message = tr(app.ui_locale, MessageId::ModelChanged)
.replace("{old}", &old_model)
.replace("{new}", &model_id);
message.push_str(
" (session only — /fleet save updates this Fleet, /fleet save-as saves a new Fleet, /model save-default remembers the default)",
);
message.push_str(&tr(app.ui_locale, MessageId::ModelChangedSessionNote));
CommandResult::with_message_and_action(
message,
AppAction::UpdateCompaction(app.compaction_config()),