+
${options.map((option) => {
const label = t(option.labelKey);
const tooltip = t("common.colorModeOption", { mode: label });
@@ -51,8 +51,8 @@ export class ThemeModeToggle extends LitElement {
trimmedTextContents(pinnedItems)).toEqual(["Overview"]);
+ // The sidebar search field is the command palette entry point.
+ const searchButton = sidebar.locator(".sidebar-search");
+ await searchButton.click();
+ const paletteInput = page.locator("#cmd-palette-input");
+ await expect.poll(() => paletteInput.isVisible()).toBe(true);
+ await page.keyboard.press("Escape");
+ await expect.poll(() => paletteInput.isVisible()).toBe(false);
+
+ // The sidebar toggle lives in the topbar, macOS style.
const collapseButton = page.getByRole("button", { name: "Collapse sidebar" });
+ await expect
+ .poll(() => collapseButton.evaluate((element) => Boolean(element.closest(".topbar"))))
+ .toBe(true);
await collapseButton.click();
await expect
.poll(() => page.locator(".shell").getAttribute("class"))
.toContain("shell--nav-collapsed");
+ // Rail mode keeps the palette entry reachable as an icon-only control.
+ await expect.poll(() => searchButton.isVisible()).toBe(true);
await page.reload();
await expect
.poll(() => page.getByRole("button", { name: "Expand sidebar" }).isVisible())
diff --git a/ui/src/i18n/.i18n/ar.meta.json b/ui/src/i18n/.i18n/ar.meta.json
index 5c0b0d45852..e424c6b156e 100644
--- a/ui/src/i18n/.i18n/ar.meta.json
+++ b/ui/src/i18n/.i18n/ar.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:52.310Z",
+ "generatedAt": "2026-07-07T08:47:32.656Z",
"locale": "ar",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/ar.tm.jsonl b/ui/src/i18n/.i18n/ar.tm.jsonl
index ff2559343e8..f8cf9117e07 100644
--- a/ui/src/i18n/.i18n/ar.tm.jsonl
+++ b/ui/src/i18n/.i18n/ar.tm.jsonl
@@ -205,6 +205,7 @@
{"cache_key":"e8594ae1216efdeb8b5d4c8b11f101b2cf40f7f5d8c72fc127db3772b2917ded","model":"claude-opus-4-8","provider":"anthropic","segment_id":"chat.composer.talkAdvancedSettingsRequiresAdminTitle","source_path":"ui/src/i18n/locales/ar.ts","src_lang":"en","text":"Advanced Talk settings require operator.admin access.","text_hash":"fa933a90d7dde5f8f1a324bd13a5daceb0ad9e04bd77f3aae07c8348edfe4dd7","tgt_lang":"ar","translated":"تتطلب إعدادات Talk المتقدمة صلاحية operator.admin.","updated_at":"2026-07-06T20:20:02.809Z"}
{"cache_key":"e939a79038d1554b14789344422e8b6793ec9b92e709c1a6a194fb9b1cd5720a","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.viewDefaultAgent","source_path":"ui/src/i18n/locales/ar.ts","src_lang":"en","text":"Default agent","text_hash":"94da52ecd6c5c3b77b89b8427f4bcaf11a40ddf68f5b00171977349fb2e6abc9","tgt_lang":"ar","translated":"الوكيل الافتراضي","updated_at":"2026-06-17T14:14:58.728Z"}
{"cache_key":"e9cb068cd1a94066a144d34441487719ad779c59fb6d17a2b85bb8156cf84bfe","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.badgeHeartbeat","source_path":"ui/src/i18n/locales/ar.ts","src_lang":"en","text":"heartbeat {age}","text_hash":"000637b3800ae069edbbe207cfad0a3f5037f06e9661ee89d70a1dfe6f404485","tgt_lang":"ar","translated":"نبض {age}","updated_at":"2026-06-17T14:15:04.326Z"}
+{"cache_key":"eb309dcd4a9b33da9eaf81b9a442ee344f3f2c94d55ffcac1aaf71cfc4d7239b","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/ar.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"ar","translated":"وضع اللون: {mode}","updated_at":"2026-07-07T08:47:32.652Z"}
{"cache_key":"eba4c95b26b65f610116dc374592e0f392fc07534e00cbbf8619b1b689b979af","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.detailProof","source_path":"ui/src/i18n/locales/ar.ts","src_lang":"en","text":"Proof","text_hash":"7fbb3ccf9640651f69af3626de6836fb302a0a088c7cd27721c367b8b530e502","tgt_lang":"ar","translated":"إثبات","updated_at":"2026-06-16T14:15:27.039Z"}
{"cache_key":"ec6a4e2eede0729a7d1c3f96bf1d640916db3d15365d01c708924fa384bf804f","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.autoRefresh15s","source_path":"ui/src/i18n/locales/ar.ts","src_lang":"en","text":"15s","text_hash":"21b5f52ded33ab19c16a680c4e280b8f9992395b514290163abf272f06394a6f","tgt_lang":"ar","translated":"15 ث","updated_at":"2026-06-17T14:15:04.326Z"}
{"cache_key":"ed4cc5cbce34a303630df5de1a46fc57b9b1375e7023f68b0156db0ae9b4cc12","model":"gpt-5.5","provider":"openai","segment_id":"sessionsView.pinSession","source_path":"ui/src/i18n/locales/ar.ts","src_lang":"en","text":"Pin session","text_hash":"813273b54d2df112a0fa1903110e9386779f8848ae288142d3f91d7a5891c8ff","tgt_lang":"ar","translated":"تثبيت الجلسة","updated_at":"2026-07-02T14:30:22.961Z"}
diff --git a/ui/src/i18n/.i18n/de.meta.json b/ui/src/i18n/.i18n/de.meta.json
index 6a05223dda2..5fc557013f1 100644
--- a/ui/src/i18n/.i18n/de.meta.json
+++ b/ui/src/i18n/.i18n/de.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:51.577Z",
+ "generatedAt": "2026-07-07T08:47:24.981Z",
"locale": "de",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/de.tm.jsonl b/ui/src/i18n/.i18n/de.tm.jsonl
index 2505067e08b..77578423014 100644
--- a/ui/src/i18n/.i18n/de.tm.jsonl
+++ b/ui/src/i18n/.i18n/de.tm.jsonl
@@ -10,6 +10,7 @@
{"cache_key":"0d1435902852800b9114465c09d4320dafe33f4a77d3431173c110ed06b3236b","model":"gpt-5.5","provider":"openai","segment_id":"chat.sidebar.sortSessions","source_path":"ui/src/i18n/locales/de.ts","src_lang":"en","text":"Sort sessions","text_hash":"6680f07d3df817d60180acbbc6e207689d28caaa27ac23749f93261b8111a38d","tgt_lang":"de","translated":"Sitzungen sortieren","updated_at":"2026-07-06T15:07:02.499Z"}
{"cache_key":"0d6045b622ead40e12d888071bbc7d6f5fe7ea960b228a75019661bd94eac297","model":"claude-opus-4-8","provider":"anthropic","segment_id":"chat.workspaceFiles.refresh","source_path":"ui/src/i18n/locales/de.ts","src_lang":"en","text":"Refresh session workspace","text_hash":"c7a97b20a3a3ce348239c4893c99f1902d44877567cb32f752c30cdfbc9a2468","tgt_lang":"de","translated":"Sitzungsarbeitsbereich aktualisieren","updated_at":"2026-06-16T14:12:59.821Z"}
{"cache_key":"0db560f641a68b9bcbbf58d04022d6c5325c38af531d6ca2cd74b94f52f36d80","model":"gpt-5.5","provider":"openai","segment_id":"usage.providerUsage.costCategories","source_path":"ui/src/i18n/locales/de.ts","src_lang":"en","text":"Cost categories","text_hash":"cc320c9a0f62d2c1cf4b7214592b89080ffb035c5692463c7c514b2350814382","tgt_lang":"de","translated":"Kostenkategorien","updated_at":"2026-07-06T06:40:15.357Z"}
+{"cache_key":"0e6eb15314cdf90f85fa2fe08239884bfb175619247825159387cbf0ef9c3e53","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/de.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"de","translated":"Farbmodus: {mode}","updated_at":"2026-07-07T08:47:24.976Z"}
{"cache_key":"0f8a126810b4bbe26a95652a111d4ab63166418dfbb798d20ab474d9d356baac","model":"gpt-5.5","provider":"openai","segment_id":"chat.composer.contextUsage.contextWindow","source_path":"ui/src/i18n/locales/de.ts","src_lang":"en","text":"Context window","text_hash":"7696d0855331622dc12438057f5509348f9d6f0ec2eb3580e18a99d31eba86db","tgt_lang":"de","translated":"Kontextfenster","updated_at":"2026-07-05T10:16:00.515Z"}
{"cache_key":"11538761c680ba4c7cea452bf3984e03bed8d220a89e6b9277a933e21188ec9c","model":"gpt-5.5","provider":"openai","segment_id":"sessionsView.groupRowCountOne","source_path":"ui/src/i18n/locales/de.ts","src_lang":"en","text":"{count} session","text_hash":"c0975b42c84d7da963f4c962d1e2c1ee78eb18efc7ebec75fb3ce761ce9a40db","tgt_lang":"de","translated":"{count} Sitzung","updated_at":"2026-07-05T14:39:38.809Z"}
{"cache_key":"13209abdd76d5bd4f3692e6ae25e8b1cc32e35eff2e36c8eb1681fb79dee0bb3","model":"claude-opus-4-8","provider":"anthropic","segment_id":"skillWorkshop.header.useCurrentChatTooltip","source_path":"ui/src/i18n/locales/de.ts","src_lang":"en","text":"Send revision requests to the current chat session instead of the proposal's workshop session.","text_hash":"9db782d40e88750d4faed33c8a73c24552070f101483881c60af8cf446c674a6","tgt_lang":"de","translated":"Überarbeitungsanfragen an die aktuelle Chat-Sitzung statt an die Workshop-Sitzung des Vorschlags senden.","updated_at":"2026-06-16T14:12:53.111Z"}
diff --git a/ui/src/i18n/.i18n/es.meta.json b/ui/src/i18n/.i18n/es.meta.json
index 6b5ea0935cb..40eefe16341 100644
--- a/ui/src/i18n/.i18n/es.meta.json
+++ b/ui/src/i18n/.i18n/es.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:51.695Z",
+ "generatedAt": "2026-07-07T08:47:26.317Z",
"locale": "es",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/es.tm.jsonl b/ui/src/i18n/.i18n/es.tm.jsonl
index 52bf84478b4..98264e7e4cd 100644
--- a/ui/src/i18n/.i18n/es.tm.jsonl
+++ b/ui/src/i18n/.i18n/es.tm.jsonl
@@ -210,6 +210,7 @@
{"cache_key":"dc711ef2c2a02b8dd347cc128774fa21b697a587293589630bba05e2a9928a2f","model":"gpt-5.5","provider":"openai","segment_id":"chat.composer.microphoneBusy","source_path":"ui/src/i18n/locales/es.ts","src_lang":"en","text":"Microphone inputs are busy or unavailable to the browser.","text_hash":"9f33c30cb2370916f2edd079ad5cabab6a94dd185a89f4f7db357b4f31d1f3dd","tgt_lang":"es","translated":"Las entradas de micrófono están ocupadas o no están disponibles para el navegador.","updated_at":"2026-07-06T17:56:20.380Z"}
{"cache_key":"ddee0310ae22b896e63790dd27363c2fb84b6dbcd04f33dcdbe7d032b9e170d4","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.refreshError","source_path":"ui/src/i18n/locales/es.ts","src_lang":"en","text":"Refresh failed","text_hash":"8fa7e6d90bef4e5cb735233347bf6a71b5b30d96e7c1a50b73f10cb441b275c2","tgt_lang":"es","translated":"Error al actualizar","updated_at":"2026-06-17T14:14:13.986Z"}
{"cache_key":"e3d78817f4f01e6b7df5e7d4af14355d2043188b77d481a7633b82ba4a056dba","model":"gpt-5.5","provider":"openai","segment_id":"languages.ru","source_path":"ui/src/i18n/locales/es.ts","src_lang":"en","text":"Русский (Russian)","text_hash":"ea81bf0fd46410b501bddee074ab6f00b0cdf377a6cafe608dcf2c28f7cb2f4e","tgt_lang":"es","translated":"Русский (ruso)","updated_at":"2026-06-26T21:43:26.471Z"}
+{"cache_key":"e7dd28e8cb5b0106bfec5a7e17709da183e603a1ddf01dab77705a60a1d6ae91","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/es.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"es","translated":"Modo de color: {mode}","updated_at":"2026-07-07T08:47:26.313Z"}
{"cache_key":"e81fe39f884e84b2b3209c6f0eb133499339b1bbf35b54844028d539957743cf","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.viewDefaultAgent","source_path":"ui/src/i18n/locales/es.ts","src_lang":"en","text":"Default agent","text_hash":"94da52ecd6c5c3b77b89b8427f4bcaf11a40ddf68f5b00171977349fb2e6abc9","tgt_lang":"es","translated":"Agente predeterminado","updated_at":"2026-06-17T14:14:08.769Z"}
{"cache_key":"e836e54ddf668f876ef6476d762674d44bd408f2ff48bde6ea5e42bf7a4ccc6c","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.detailUpdated","source_path":"ui/src/i18n/locales/es.ts","src_lang":"en","text":"Updated","text_hash":"3a5ecca188c0579c00ee24cf3cab21bd02c15a06f7a70cc8e0a8ff2381dcbbfd","tgt_lang":"es","translated":"Actualizado","updated_at":"2026-06-16T14:14:11.214Z"}
{"cache_key":"e881104fcebef0d2ddadfea984fa81170fd0ae63103cd788bc1d180ca5d6f34e","model":"claude-opus-4-8","provider":"anthropic","segment_id":"chat.workspaceFiles.actions","source_path":"ui/src/i18n/locales/es.ts","src_lang":"en","text":"Workspace file actions","text_hash":"461817d921bc7672e95fe4a3b23f4ac2a4a20e35b3d6eef3f02e8f5ba4201050","tgt_lang":"es","translated":"Acciones de archivos del espacio de trabajo","updated_at":"2026-06-16T14:14:23.912Z"}
diff --git a/ui/src/i18n/.i18n/fa.meta.json b/ui/src/i18n/.i18n/fa.meta.json
index 1145421c31f..93f14c9e7d3 100644
--- a/ui/src/i18n/.i18n/fa.meta.json
+++ b/ui/src/i18n/.i18n/fa.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:53.383Z",
+ "generatedAt": "2026-07-07T08:47:43.221Z",
"locale": "fa",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/fa.tm.jsonl b/ui/src/i18n/.i18n/fa.tm.jsonl
index 9620eeedbf1..53cf2b3e2b6 100644
--- a/ui/src/i18n/.i18n/fa.tm.jsonl
+++ b/ui/src/i18n/.i18n/fa.tm.jsonl
@@ -84,6 +84,7 @@
{"cache_key":"62bf97a37d8fce155de13dcc7ef7f77c4ed9748f4edf876ddcc4dac7caff6f08","model":"gpt-5.5","provider":"openai","segment_id":"tabs.worktrees","source_path":"ui/src/i18n/locales/fa.ts","src_lang":"en","text":"Worktrees","text_hash":"aec2f93d67b7c4c5fd9b94042f33299f7a0e55cdcb7e8e35feb9d0f6da697f3d","tgt_lang":"fa","translated":"Worktreeها","updated_at":"2026-07-05T21:01:42.282Z"}
{"cache_key":"6333407525350a140f79b877b4d0ad7615f69fa188b8d7e135bd517b71756a4d","model":"gpt-5.5","provider":"openai","segment_id":"workboard.badgeWorkerLogs","source_path":"ui/src/i18n/locales/fa.ts","src_lang":"en","text":"{count} worker logs","text_hash":"2923e2a84e6ed0ca048d280206198b156da6148859e474498d335a44e323e0a8","tgt_lang":"fa","translated":"{count} گزارش کارگر","updated_at":"2026-05-30T15:38:53.293Z"}
{"cache_key":"666789db33683ac88abb27c19051141a2af2b80fbc5c995660a651f2e416a7b8","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.detailProof","source_path":"ui/src/i18n/locales/fa.ts","src_lang":"en","text":"Proof","text_hash":"7fbb3ccf9640651f69af3626de6836fb302a0a088c7cd27721c367b8b530e502","tgt_lang":"fa","translated":"اثبات","updated_at":"2026-06-16T14:18:33.052Z"}
+{"cache_key":"69c830977b325402a0cab6568391f89cb567dfa2cf0e814dc92a33b9d60cb226","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/fa.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"fa","translated":"حالت رنگ: {mode}","updated_at":"2026-07-07T08:47:43.218Z"}
{"cache_key":"6acf68c26aafd00f81ddfacaeed9c9ba4ef0a759cef3a6b9a284efeafc2d3421","model":"gpt-5.5","provider":"openai","segment_id":"worktrees.empty","source_path":"ui/src/i18n/locales/fa.ts","src_lang":"en","text":"No managed worktrees.","text_hash":"67f97698da5ed0bb1cc4cadd157e403c0fcd22fc4735d8f39bcf27ea6dd612c8","tgt_lang":"fa","translated":"هیچ worktree مدیریتشدهای وجود ندارد.","updated_at":"2026-07-05T21:01:42.282Z"}
{"cache_key":"6b2877bff7513e753f4072c979be10735d325720a1819ef736aa1357850707b7","model":"gpt-5.5","provider":"openai","segment_id":"chat.composer.contextUsage.summary","source_path":"ui/src/i18n/locales/fa.ts","src_lang":"en","text":"Session context usage: {used} of {limit} ({pct}%)","text_hash":"a62b97af0e5d02b8722725e2be0a936dd3d317a1f506ea15c766e87413b66a0d","tgt_lang":"fa","translated":"استفاده از زمینهٔ جلسه: {used} از {limit} ({pct}٪)","updated_at":"2026-07-05T10:16:36.046Z"}
{"cache_key":"6cc20a81aa5f0f568c50d432a86fd0e96c8bd9ea1b35d1211ad064ede00e7b03","model":"gpt-5.5","provider":"openai","segment_id":"usage.providerUsage.today","source_path":"ui/src/i18n/locales/fa.ts","src_lang":"en","text":"Today","text_hash":"2b065c7c9ce466e5ebcad757987d5d660ee4c9ea708bc62c43444b53334738ba","tgt_lang":"fa","translated":"امروز","updated_at":"2026-07-05T14:40:24.519Z"}
diff --git a/ui/src/i18n/.i18n/fr.meta.json b/ui/src/i18n/.i18n/fr.meta.json
index a3f1e16f38b..93399422452 100644
--- a/ui/src/i18n/.i18n/fr.meta.json
+++ b/ui/src/i18n/.i18n/fr.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:52.062Z",
+ "generatedAt": "2026-07-07T08:47:30.068Z",
"locale": "fr",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/fr.tm.jsonl b/ui/src/i18n/.i18n/fr.tm.jsonl
index 7cf51166172..b249f8e379b 100644
--- a/ui/src/i18n/.i18n/fr.tm.jsonl
+++ b/ui/src/i18n/.i18n/fr.tm.jsonl
@@ -208,6 +208,7 @@
{"cache_key":"d0488f998b840872ae71bc8d8209e714ef16aa4216a6b422006b4762744e1289","model":"gpt-5.5","provider":"openai","segment_id":"sessionsView.goal","source_path":"ui/src/i18n/locales/fr.ts","src_lang":"en","text":"Goal","text_hash":"cdbf6975e8a35b0d03558be6822dfae166482c24fb86b0433f60e8167f5c91e4","tgt_lang":"fr","translated":"Objectif","updated_at":"2026-05-29T21:00:46.685Z"}
{"cache_key":"d24fa3ff85165b7d5f6c2d8f296b5490902ec7f4f7b9cc3a21c2efa547af3275","model":"claude-opus-4-8","provider":"anthropic","segment_id":"skillWorkshop.header.useCurrentChat","source_path":"ui/src/i18n/locales/fr.ts","src_lang":"en","text":"Use current chat","text_hash":"fbc1ffd63daa506e927c7a85f6e43acd11e0b8c9f52a3951fc782b236ce9a787","tgt_lang":"fr","translated":"Utiliser la discussion actuelle","updated_at":"2026-06-16T14:14:26.985Z"}
{"cache_key":"d26d54f103b4bbb61dc5a45ab84b223e43051b9313a9e49da8da91dc161aa590","model":"gpt-5.5","provider":"openai","segment_id":"workboard.badgeWorkerLogs","source_path":"ui/src/i18n/locales/fr.ts","src_lang":"en","text":"{count} worker logs","text_hash":"2923e2a84e6ed0ca048d280206198b156da6148859e474498d335a44e323e0a8","tgt_lang":"fr","translated":"{count} journaux de worker","updated_at":"2026-05-30T15:38:23.998Z"}
+{"cache_key":"d30cc5574e39e6c237ea14b8c0f791d96e14044457a94000ec6098bb3f07cd64","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/fr.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"fr","translated":"Mode de couleur : {mode}","updated_at":"2026-07-07T08:47:30.064Z"}
{"cache_key":"d321120597c21a4c2112eefb541b872d45e34c82c6c3136bc5324eada06c8873","model":"claude-opus-4-8","provider":"anthropic","segment_id":"chat.workspaceFiles.readCount","source_path":"ui/src/i18n/locales/fr.ts","src_lang":"en","text":"{count} read","text_hash":"b3c6c64f1153fb7b2672d2894f532d3f7adea1dd1c473363587fc520be35998e","tgt_lang":"fr","translated":"{count} lus","updated_at":"2026-06-16T14:14:38.496Z"}
{"cache_key":"d4042ae3c9008b6e58effba20022bc8fad3392ca9ba50876b80b28b401ff4184","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.detailAutomation","source_path":"ui/src/i18n/locales/fr.ts","src_lang":"en","text":"Automation","text_hash":"d909750b1bbb71a39b6330ba8f81f4f8f6e889ed96d7ab366e74857909750c64","tgt_lang":"fr","translated":"Automatisation","updated_at":"2026-06-16T14:14:26.985Z"}
{"cache_key":"d438054e1f4e795992b67e7412526e77f0893d60efab62412cee2926bcb3a828","model":"gpt-5.5","provider":"openai","segment_id":"sessionsView.dateOlder","source_path":"ui/src/i18n/locales/fr.ts","src_lang":"en","text":"Older","text_hash":"03281c889c2869e091390f9ad5dd13f0f0e46b42c9c4698f857902451deb3450","tgt_lang":"fr","translated":"Plus ancien","updated_at":"2026-07-05T14:39:49.624Z"}
diff --git a/ui/src/i18n/.i18n/hi.meta.json b/ui/src/i18n/.i18n/hi.meta.json
index 612af4c2a84..ba5c7654cd1 100644
--- a/ui/src/i18n/.i18n/hi.meta.json
+++ b/ui/src/i18n/.i18n/hi.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:52.188Z",
+ "generatedAt": "2026-07-07T08:47:31.678Z",
"locale": "hi",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/hi.tm.jsonl b/ui/src/i18n/.i18n/hi.tm.jsonl
index 8b34a8372ae..ec3eb676f74 100644
--- a/ui/src/i18n/.i18n/hi.tm.jsonl
+++ b/ui/src/i18n/.i18n/hi.tm.jsonl
@@ -706,6 +706,7 @@
{"cache_key":"7475b6f27b432ed097c01158dd60d08aadb18bb131c92f4dc0936a412d05542e","model":"gpt-5.5","provider":"openai","segment_id":"chat.composer.placeholderDisconnected","source_path":"ui/src/i18n/locales/hi.ts","src_lang":"en","text":"Connect to the gateway to start chatting...","text_hash":"e764c7024b6aa9a4bf077e298ef69d2fa462e9a7a431783cc23b52c056dff33a","tgt_lang":"hi","translated":"चैट शुरू करने के लिए gateway से कनेक्ट करें...","updated_at":"2026-06-26T21:36:30.561Z"}
{"cache_key":"74e632295308da3a764a5713ba5e7edbfb44e646c34260755ded5e22cb0f383c","model":"gpt-5.5","provider":"openai","segment_id":"chat.composer.microphonePermissionBlocked","source_path":"ui/src/i18n/locales/hi.ts","src_lang":"en","text":"Microphone access is blocked. Allow it in browser site settings to list inputs.","text_hash":"707f9594b092cf816d6d7a74381665a74acfecbe32d859d0a4adac9e9c9ff77b","tgt_lang":"hi","translated":"माइक्रोफ़ोन एक्सेस ब्लॉक है। इनपुट की सूची देखने के लिए ब्राउज़र साइट सेटिंग्स में इसकी अनुमति दें।","updated_at":"2026-07-06T17:56:41.735Z"}
{"cache_key":"752c664861463718afa8287627475a6249ab835363fff6cfc53f96ac582e7941","model":"gpt-5.5","provider":"openai","segment_id":"chat.composer.contextUsage.latestRunTokens","source_path":"ui/src/i18n/locales/hi.ts","src_lang":"en","text":"Latest run tokens","text_hash":"969b6403862b70df744bc747c801663034a7837cd04b55973b7ee6c051e2e5ca","tgt_lang":"hi","translated":"नवीनतम रन टोकन","updated_at":"2026-07-05T10:16:11.934Z"}
+{"cache_key":"7563941a84d0690d21e05bfc536a5552558cf0c354a3531b58d0d0f72755d4e7","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/hi.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"hi","translated":"रंग मोड: {mode}","updated_at":"2026-07-07T08:47:31.674Z"}
{"cache_key":"75f5da3e2aa4933ec7a6aec3ceb47c4e290414b2f3e91f5732513d8a1ad793a4","model":"gpt-5.5","provider":"openai","segment_id":"cron.form.advancedHelp","source_path":"ui/src/i18n/locales/hi.ts","src_lang":"en","text":"Optional overrides for delivery guarantees, schedule jitter, and model controls.","text_hash":"a470ce680d28996a5d0ea9c39691bd8b804b85c6766d6bb0ee81c1b01d5fc82f","tgt_lang":"hi","translated":"डिलीवरी गारंटी, शेड्यूल जिटर, और मॉडल नियंत्रणों के लिए वैकल्पिक ओवरराइड।","updated_at":"2026-06-26T21:37:57.526Z"}
{"cache_key":"7608cb5d52a7dc34e876143bc36fbbf64624b4160bb417323348bf604ce9cd9b","model":"gpt-5.5","provider":"openai","segment_id":"usage.export.json","source_path":"ui/src/i18n/locales/hi.ts","src_lang":"en","text":"JSON","text_hash":"db1a21a0bc2ef8fbe13ac4cf044e8c9116d29137d5ed8b916ab63dcb2d4290df","tgt_lang":"hi","translated":"JSON","updated_at":"2026-06-26T21:34:43.709Z"}
{"cache_key":"764e7f39462f45422643f9eb465129ba0990bc2328ffac2efe28182967762425","model":"gpt-5.5","provider":"openai","segment_id":"chat.pairingQrExpired.reason","source_path":"ui/src/i18n/locales/hi.ts","src_lang":"en","text":"Run /pair qr again to generate a fresh setup code.","text_hash":"876a304827f54ae5996c4e804aa72953f43568d31e8a15dd2a5b5a40d91c13d3","tgt_lang":"hi","translated":"नया सेटअप कोड जनरेट करने के लिए /pair qr फिर से चलाएँ।","updated_at":"2026-07-02T14:30:19.917Z"}
diff --git a/ui/src/i18n/.i18n/id.meta.json b/ui/src/i18n/.i18n/id.meta.json
index b67ba3ad18c..18318cb4b9f 100644
--- a/ui/src/i18n/.i18n/id.meta.json
+++ b/ui/src/i18n/.i18n/id.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:52.782Z",
+ "generatedAt": "2026-07-07T08:47:37.327Z",
"locale": "id",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/id.tm.jsonl b/ui/src/i18n/.i18n/id.tm.jsonl
index 32b56062b54..d1722f5e633 100644
--- a/ui/src/i18n/.i18n/id.tm.jsonl
+++ b/ui/src/i18n/.i18n/id.tm.jsonl
@@ -217,6 +217,7 @@
{"cache_key":"e000addc86a86a6463cf99575faee33fd71b95c3e34ddb9f6e2fbc56118817a2","model":"gpt-5.5","provider":"openai","segment_id":"sessionsView.renameGroupMenu","source_path":"ui/src/i18n/locales/id.ts","src_lang":"en","text":"Rename group…","text_hash":"fe4e8d175e15f0a28c7c39b8bf3ea98b704e793c7efbc5231eb4a7448d0e675b","tgt_lang":"id","translated":"Ganti nama grup…","updated_at":"2026-07-06T23:41:12.290Z"}
{"cache_key":"e0737763eb51a1941b8cccb78d07d18432f7685c3e7f35b454f4ad894fa2476f","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.dependenciesBlocked","source_path":"ui/src/i18n/locales/id.ts","src_lang":"en","text":"{count} blocked","text_hash":"fb39869b0fb3b8933126014e5c3739d7d67a620b8369781ca27e7395c595bde8","tgt_lang":"id","translated":"{count} terblokir","updated_at":"2026-06-16T14:16:50.406Z"}
{"cache_key":"e0ed70b05e0495f85f71a63c1df7c9b013cf7850384d0040c7e3444e73feec17","model":"gpt-5.5","provider":"openai","segment_id":"usage.providerUsage.inputTokens","source_path":"ui/src/i18n/locales/id.ts","src_lang":"en","text":"{count} input","text_hash":"f24231cff78fed82d155712973ede6f9369e96b015acc30d5de2b740677edce9","tgt_lang":"id","translated":"{count} token input","updated_at":"2026-07-06T06:40:15.357Z"}
+{"cache_key":"e230810b4d058feb3e9db6dbf62e16f16c23a408fe4f7e77020d94196b0dd8bc","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/id.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"id","translated":"Mode warna: {mode}","updated_at":"2026-07-07T08:47:37.323Z"}
{"cache_key":"e2c8af96e934057f2b7fc227e2eced830ee92d6aab1f84a51b93667e24097977","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.refreshError","source_path":"ui/src/i18n/locales/id.ts","src_lang":"en","text":"Refresh failed","text_hash":"8fa7e6d90bef4e5cb735233347bf6a71b5b30d96e7c1a50b73f10cb441b275c2","tgt_lang":"id","translated":"Penyegaran gagal","updated_at":"2026-06-17T14:16:03.086Z"}
{"cache_key":"e349b49ef9df4d1985ca260adc9b3e5fddad17b5cf2157baa62e44e0c8ffdaa9","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.detailAutomation","source_path":"ui/src/i18n/locales/id.ts","src_lang":"en","text":"Automation","text_hash":"d909750b1bbb71a39b6330ba8f81f4f8f6e889ed96d7ab366e74857909750c64","tgt_lang":"id","translated":"Otomatisasi","updated_at":"2026-06-16T14:16:44.079Z"}
{"cache_key":"e3faf30b8f50a29ad9a81e76a555b1938b48d3a1d00afe96c050cc522916d6a0","model":"gpt-5.5","provider":"openai","segment_id":"usage.providerUsage.requests","source_path":"ui/src/i18n/locales/id.ts","src_lang":"en","text":"{count} requests","text_hash":"1e23ff6956124091cd470f5091cee8108c3766314b69871b3ff792eaf506455f","tgt_lang":"id","translated":"{count} permintaan","updated_at":"2026-07-06T06:40:15.357Z"}
diff --git a/ui/src/i18n/.i18n/it.meta.json b/ui/src/i18n/.i18n/it.meta.json
index ceb5c2f3d85..c1eace01dee 100644
--- a/ui/src/i18n/.i18n/it.meta.json
+++ b/ui/src/i18n/.i18n/it.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:52.426Z",
+ "generatedAt": "2026-07-07T08:47:33.970Z",
"locale": "it",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/it.tm.jsonl b/ui/src/i18n/.i18n/it.tm.jsonl
index 8d154d41580..4074ca2d95f 100644
--- a/ui/src/i18n/.i18n/it.tm.jsonl
+++ b/ui/src/i18n/.i18n/it.tm.jsonl
@@ -34,6 +34,7 @@
{"cache_key":"24ea6e0a55e9e0638ab4f850cff97e1fa1ee9e449a84f9f00839c0657ef105f4","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.detailTitle","source_path":"ui/src/i18n/locales/it.ts","src_lang":"en","text":"Card details","text_hash":"93985f84673405070ffdf7e6f64175caff0f2c489c10e40627718525e79af631","tgt_lang":"it","translated":"Dettagli scheda","updated_at":"2026-06-16T14:15:39.914Z"}
{"cache_key":"26570ca48dcdb7f65a7d88352c75d60754829da2f8294455fdbcb1f7860a2089","model":"claude-opus-4-8","provider":"anthropic","segment_id":"chat.workspaceFiles.parentFolder","source_path":"ui/src/i18n/locales/it.ts","src_lang":"en","text":"Parent folder","text_hash":"158f5a01ef8cfb1e6d91f8c321dd3a63f5e457f9650eecd662857701762bd31d","tgt_lang":"it","translated":"Cartella superiore","updated_at":"2026-06-16T14:15:52.375Z"}
{"cache_key":"28ab134d67b5074b49379521eaf41222edf4e8ea303ad5be32f606798326c147","model":"gpt-5.5","provider":"openai","segment_id":"chat.composer.contextUsage.contextWindow","source_path":"ui/src/i18n/locales/it.ts","src_lang":"en","text":"Context window","text_hash":"7696d0855331622dc12438057f5509348f9d6f0ec2eb3580e18a99d31eba86db","tgt_lang":"it","translated":"Finestra di contesto","updated_at":"2026-07-05T10:16:16.437Z"}
+{"cache_key":"2903478dcd427f7c1f61dd54a9ffc9db2bac981812776373ab693a432c045028","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/it.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"it","translated":"Modalità colore: {mode}","updated_at":"2026-07-07T08:47:33.966Z"}
{"cache_key":"2b3e57d2c58f49b9438c99d917d15a33d2fc266adccb75e66192ffb8ef3915d7","model":"claude-opus-4-8","provider":"anthropic","segment_id":"chat.workspaceFiles.loading","source_path":"ui/src/i18n/locales/it.ts","src_lang":"en","text":"Loading session workspace…","text_hash":"bc6b2400fad20ee1d95d8de4ec6eef9ff1818ab080f86513384029519eaf4f4e","tgt_lang":"it","translated":"Caricamento workspace sessione…","updated_at":"2026-06-16T14:15:46.112Z"}
{"cache_key":"2b9638a5eeac2a8946d76138d789f33ee36c3338869cac40fc499bb4de1eac54","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.healthStale","source_path":"ui/src/i18n/locales/it.ts","src_lang":"en","text":"stale","text_hash":"a03f2386ae06b21109577020844df367857b72c2fcce384c1896fed98a89c82b","tgt_lang":"it","translated":"obsoleto","updated_at":"2026-06-17T14:19:20.279Z"}
{"cache_key":"2cf47ba786f2a034c95cf8b1fdd1057caedc9f7c5ded7f0fed4e46f3acaadcc9","model":"claude-opus-4-8","provider":"anthropic","segment_id":"chat.composer.dismissTalkError","source_path":"ui/src/i18n/locales/it.ts","src_lang":"en","text":"Dismiss Talk error","text_hash":"72f032a5a37e7197cc94ea95f5da0829abb2262396cdcc35229bd8ce9a52de1e","tgt_lang":"it","translated":"Ignora errore Talk","updated_at":"2026-06-16T14:15:46.111Z"}
diff --git a/ui/src/i18n/.i18n/ja-JP.meta.json b/ui/src/i18n/.i18n/ja-JP.meta.json
index 4cba58815c3..2a27a8a1bba 100644
--- a/ui/src/i18n/.i18n/ja-JP.meta.json
+++ b/ui/src/i18n/.i18n/ja-JP.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:51.821Z",
+ "generatedAt": "2026-07-07T08:47:27.648Z",
"locale": "ja-JP",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/ja-JP.tm.jsonl b/ui/src/i18n/.i18n/ja-JP.tm.jsonl
index 9d7c6215d73..49c7af203ed 100644
--- a/ui/src/i18n/.i18n/ja-JP.tm.jsonl
+++ b/ui/src/i18n/.i18n/ja-JP.tm.jsonl
@@ -23,6 +23,7 @@
{"cache_key":"1481816a7294f9574362957020b183e511a492eb920aef062d5986f078228c54","model":"gpt-5.5","provider":"openai","segment_id":"subtitles.skillWorkshop","source_path":"ui/src/i18n/locales/ja-JP.ts","src_lang":"en","text":"Review, refine, and apply proposals before they become live skills.","text_hash":"f907c72e9f18a205027257cd6fecdd52b03732227a17dcec0db038e11de3f8cc","tgt_lang":"ja-JP","translated":"提案がライブスキルになる前に、確認、調整、適用します。","updated_at":"2026-05-31T21:48:21.745Z"}
{"cache_key":"15b9f8eec10eb8ed08808b744780e6396c49b2c110b1809c8b5821983eec7943","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.detailTask","source_path":"ui/src/i18n/locales/ja-JP.ts","src_lang":"en","text":"Gateway task","text_hash":"6696e7c592238747dd39d7ba000db600a92f843add73ee90b028c72a2dfd37dd","tgt_lang":"ja-JP","translated":"Gateway タスク","updated_at":"2026-06-16T14:14:04.101Z"}
{"cache_key":"15e086d509e20e9b28ceb12d49eaa42d9c5477802a7adcb2487b3f5ebfa3b2c7","model":"gpt-5.5","provider":"openai","segment_id":"usage.providerUsage.costCategories","source_path":"ui/src/i18n/locales/ja-JP.ts","src_lang":"en","text":"Cost categories","text_hash":"cc320c9a0f62d2c1cf4b7214592b89080ffb035c5692463c7c514b2350814382","tgt_lang":"ja-JP","translated":"コストカテゴリ","updated_at":"2026-07-06T06:40:15.357Z"}
+{"cache_key":"1788ba2f1f11278a75e3c0e6042ce975409322123ae5f26975ba89361ebc6ce3","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/ja-JP.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"ja-JP","translated":"カラーモード: {mode}","updated_at":"2026-07-07T08:47:27.645Z"}
{"cache_key":"182496f60a286f88ca26c4680edae71ea1a094823f969afce57c60e58cb4147a","model":"gpt-5.5","provider":"openai","segment_id":"workboard.dispatch","source_path":"ui/src/i18n/locales/ja-JP.ts","src_lang":"en","text":"Nudge dispatcher","text_hash":"c3d20147447cc75f5e1e8cc895af0bc287a4a720372aec4795c5dfbfa9eeda67","tgt_lang":"ja-JP","translated":"ディスパッチャーを促す","updated_at":"2026-05-30T15:38:16.645Z"}
{"cache_key":"1bd65f3a23b91a1b67835b8a834fa03b42efacc97a384d79b8733c3e15d385e8","model":"gpt-5.5","provider":"openai","segment_id":"sessionsView.renameGroupMenu","source_path":"ui/src/i18n/locales/ja-JP.ts","src_lang":"en","text":"Rename group…","text_hash":"fe4e8d175e15f0a28c7c39b8bf3ea98b704e793c7efbc5231eb4a7448d0e675b","tgt_lang":"ja-JP","translated":"グループ名を変更…","updated_at":"2026-07-06T23:40:52.793Z"}
{"cache_key":"1be139bb86abe5a5a40b6b315f9fe6daf8ff11ebaf031aae78939bfd063625db","model":"claude-opus-4-8","provider":"anthropic","segment_id":"chat.pairingQrExpired.title","source_path":"ui/src/i18n/locales/ja-JP.ts","src_lang":"en","text":"Pairing QR expired","text_hash":"74e09eafc1d35cad5b62b7a9c321a4d090bb8fefdfa8b33913d6194186eadda6","tgt_lang":"ja-JP","translated":"ペアリングQRの有効期限が切れました","updated_at":"2026-07-01T10:31:53.015Z"}
diff --git a/ui/src/i18n/.i18n/ko.meta.json b/ui/src/i18n/.i18n/ko.meta.json
index 35d353b620a..89aff5bf81a 100644
--- a/ui/src/i18n/.i18n/ko.meta.json
+++ b/ui/src/i18n/.i18n/ko.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:51.942Z",
+ "generatedAt": "2026-07-07T08:47:29.117Z",
"locale": "ko",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/ko.tm.jsonl b/ui/src/i18n/.i18n/ko.tm.jsonl
index eb281478412..e054be80b93 100644
--- a/ui/src/i18n/.i18n/ko.tm.jsonl
+++ b/ui/src/i18n/.i18n/ko.tm.jsonl
@@ -169,6 +169,7 @@
{"cache_key":"b8b5cde0d3f35cf030fc634cdbc94cdd85df30ff33b42298eed3c0b21ce705f5","model":"gpt-5.5","provider":"openai","segment_id":"chat.composer.microphonePermissionBlocked","source_path":"ui/src/i18n/locales/ko.ts","src_lang":"en","text":"Microphone access is blocked. Allow it in browser site settings to list inputs.","text_hash":"707f9594b092cf816d6d7a74381665a74acfecbe32d859d0a4adac9e9c9ff77b","tgt_lang":"ko","translated":"마이크 액세스가 차단되었습니다. 입력 목록을 표시하려면 브라우저 사이트 설정에서 허용하세요.","updated_at":"2026-07-06T17:56:26.773Z"}
{"cache_key":"b9174a4b420a09c2b7ec6407a47c31e98970ef57b71afb4284e79d6fdac9137e","model":"gpt-5.5","provider":"openai","segment_id":"connection.retryNow","source_path":"ui/src/i18n/locales/ko.ts","src_lang":"en","text":"Retry now","text_hash":"5148c3e20576923b589bd801ea84dc376213b82fbf8694f64437b621f1690615","tgt_lang":"ko","translated":"지금 다시 시도","updated_at":"2026-07-05T21:55:24.399Z"}
{"cache_key":"bc90691b079381aec1fa87b7decc0bde9658493e6738bfb6e40e7b32e9e71538","model":"gpt-5.5","provider":"openai","segment_id":"sessionsView.groupByChannel","source_path":"ui/src/i18n/locales/ko.ts","src_lang":"en","text":"Channel","text_hash":"ce4683e7013a18cdf3d224bfcb4e9594ea8f559e946a837c633defe7d3c32172","tgt_lang":"ko","translated":"채널","updated_at":"2026-07-05T14:39:46.951Z"}
+{"cache_key":"bd1be86e6633ebc81c1c4946ac265c24461c9445ddd3b7e481472752544397a8","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/ko.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"ko","translated":"색상 모드: {mode}","updated_at":"2026-07-07T08:47:29.113Z"}
{"cache_key":"bd9c0b538048a70715b55513a87dc64cd0bb1ddd213127b110e8904f7010b45f","model":"gpt-5.5","provider":"openai","segment_id":"worktrees.branch","source_path":"ui/src/i18n/locales/ko.ts","src_lang":"en","text":"Branch","text_hash":"52656e8104eef3fddd3d4546903fa0de93c0625abf47b3dd8130f7705d6a513e","tgt_lang":"ko","translated":"브랜치","updated_at":"2026-07-05T21:00:52.598Z"}
{"cache_key":"bdab26ebe963983bcbdf516766bc5e1f8b1a011f1999b6652532ccb8083837a3","model":"gpt-5.5","provider":"openai","segment_id":"terminal.detached","source_path":"ui/src/i18n/locales/ko.ts","src_lang":"en","text":"detached","text_hash":"88e34e4cdbb5c6066cb1b0d0abe74714bd72f86259433bc8287614e4ae052605","tgt_lang":"ko","translated":"분리됨","updated_at":"2026-07-04T21:23:54.653Z"}
{"cache_key":"be3725795ab816e36c9bf9dd095f4d510db041248acf8379a5ba98c60369b740","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.autoRefresh60s","source_path":"ui/src/i18n/locales/ko.ts","src_lang":"en","text":"60s","text_hash":"f79f071ab5b033ca8fb42c077f39708930d194b18f4608eb26ac1d9665a8836f","tgt_lang":"ko","translated":"60초","updated_at":"2026-06-17T14:14:20.553Z"}
diff --git a/ui/src/i18n/.i18n/nl.meta.json b/ui/src/i18n/.i18n/nl.meta.json
index 793af9b8b63..f5c70023064 100644
--- a/ui/src/i18n/.i18n/nl.meta.json
+++ b/ui/src/i18n/.i18n/nl.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:53.264Z",
+ "generatedAt": "2026-07-07T08:47:41.995Z",
"locale": "nl",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/nl.tm.jsonl b/ui/src/i18n/.i18n/nl.tm.jsonl
index 1b1f7e4a209..e3597ceeb65 100644
--- a/ui/src/i18n/.i18n/nl.tm.jsonl
+++ b/ui/src/i18n/.i18n/nl.tm.jsonl
@@ -99,6 +99,7 @@
{"cache_key":"77a39519bababef4136bb5beff97ea88edc17784bc460c1ed918fe8adb1e958f","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.unknownStatus","source_path":"ui/src/i18n/locales/nl.ts","src_lang":"en","text":"Unknown","text_hash":"b764cdc0eab7137467211272fa539f1260d1bf2e71bcf6ff3bdc960f5c16aa14","tgt_lang":"nl","translated":"Onbekend","updated_at":"2026-06-16T14:18:17.492Z"}
{"cache_key":"78ff1ec61eeea928d62bde5e48f36930e11b88abe9e9386409775ced03225762","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.autoRefresh60s","source_path":"ui/src/i18n/locales/nl.ts","src_lang":"en","text":"60s","text_hash":"f79f071ab5b033ca8fb42c077f39708930d194b18f4608eb26ac1d9665a8836f","tgt_lang":"nl","translated":"60s","updated_at":"2026-06-17T14:17:36.035Z"}
{"cache_key":"791d5ea3ccdaf4b5046c3873b1103c77be64dac9b9e2c3957fe5ea88f355a368","model":"gpt-5.5","provider":"openai","segment_id":"sessionsView.moveToGroup","source_path":"ui/src/i18n/locales/nl.ts","src_lang":"en","text":"Move session to a group","text_hash":"7db4b663aebb86158b454c49ad05115941c0411cb8ed6182bdc8fd5840f32dff","tgt_lang":"nl","translated":"Sessie naar een groep verplaatsen","updated_at":"2026-07-05T14:40:20.847Z"}
+{"cache_key":"7a7443bc50bfc143efde3bfafd7d2ca31009b7cd0ae02698bd0298361cfa041b","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/nl.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"nl","translated":"Kleurmodus: {mode}","updated_at":"2026-07-07T08:47:41.992Z"}
{"cache_key":"7abf5e05b7c93216503d40e967aef1d2c618496334cf84e30a9d73c4ea17ab46","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.healthFailedAttempts","source_path":"ui/src/i18n/locales/nl.ts","src_lang":"en","text":"failed attempts","text_hash":"fd9023af0795825a458100ddbe894a7a8f603324a2b7ad2305d4c9d2334cbd26","tgt_lang":"nl","translated":"mislukte pogingen","updated_at":"2026-06-17T14:17:36.035Z"}
{"cache_key":"7acc389c42a5a6dd3f614f8b0ac3122fcbe895667d66a32f6ccdafa4bc1a1ad3","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.detailAutomationWorkspace","source_path":"ui/src/i18n/locales/nl.ts","src_lang":"en","text":"Workspace: {workspace}","text_hash":"17f5e696e557a646a9003fc8448f6f6761f5fe6bdf7478f750f471496e87c17b","tgt_lang":"nl","translated":"Workspace: {workspace}","updated_at":"2026-06-16T14:18:09.152Z"}
{"cache_key":"7af652a79795ad7f1a3aee0400193c3c41956dd626997c3cf302963c71f2ad95","model":"gpt-5.5","provider":"openai","segment_id":"worktrees.repo","source_path":"ui/src/i18n/locales/nl.ts","src_lang":"en","text":"Repository","text_hash":"13d6ff07b8a5d792ec87d5ec83bff2730ee77fa8f4fcd89ca5f1d688f64b4c73","tgt_lang":"nl","translated":"Repository","updated_at":"2026-07-05T21:01:37.071Z"}
diff --git a/ui/src/i18n/.i18n/pl.meta.json b/ui/src/i18n/.i18n/pl.meta.json
index 1cdfe256ec7..3d61cc772b9 100644
--- a/ui/src/i18n/.i18n/pl.meta.json
+++ b/ui/src/i18n/.i18n/pl.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:52.916Z",
+ "generatedAt": "2026-07-07T08:47:38.593Z",
"locale": "pl",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/pl.tm.jsonl b/ui/src/i18n/.i18n/pl.tm.jsonl
index 15d113c048d..f18861dab9a 100644
--- a/ui/src/i18n/.i18n/pl.tm.jsonl
+++ b/ui/src/i18n/.i18n/pl.tm.jsonl
@@ -14,6 +14,7 @@
{"cache_key":"0d5bb8bdcc33a37bb6f39f067ca91a222a21fc50ec3dae4ef18467521b4dbef7","model":"gpt-5.5","provider":"openai","segment_id":"chat.composer.microphoneInput","source_path":"ui/src/i18n/locales/pl.ts","src_lang":"en","text":"Microphone input","text_hash":"5c8a6025b9d96fb0c090d33c9def15ee64aa520a83cf5d64c784b4f0699bb15e","tgt_lang":"pl","translated":"Wejście mikrofonu","updated_at":"2026-07-06T17:34:00.024Z"}
{"cache_key":"0e5ab8788b7723ad29b9ffc38b3116bbbcfcfa5ce23dea2bc12c47bafa0b070a","model":"gpt-5.5","provider":"openai","segment_id":"chat.archivedSessionDisabled","source_path":"ui/src/i18n/locales/pl.ts","src_lang":"en","text":"Restore this session to send messages.","text_hash":"c21bd35c2bef2266f419cbb4214cfd7b0af89386aef88ec8b11837844240e0d9","tgt_lang":"pl","translated":"Przywróć tę sesję, aby wysyłać wiadomości.","updated_at":"2026-07-02T14:30:38.319Z"}
{"cache_key":"0ead0750639426ab7a9908602b19a23757ad4857973fa5ee7178f8ccd8cdefeb","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.agentCurrentUnconfigured","source_path":"ui/src/i18n/locales/pl.ts","src_lang":"en","text":"{agent} (not configured)","text_hash":"d138ab0079dea760c723d7c947d0c31178252e28e7dd70a40b9d3d85e5549b1d","tgt_lang":"pl","translated":"{agent} (nie skonfigurowano)","updated_at":"2026-06-17T14:16:32.528Z"}
+{"cache_key":"0efb536916f452078932aaa7196a13ddaad31034961722a81aa6aea4619b0279","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/pl.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"pl","translated":"Tryb kolorów: {mode}","updated_at":"2026-07-07T08:47:38.589Z"}
{"cache_key":"12885142433e7e36c3e3fea1cf4d3d6a70b22515935bdaef03f744aca1fe2f95","model":"claude-opus-4-8","provider":"anthropic","segment_id":"chat.workspaceFiles.root","source_path":"ui/src/i18n/locales/pl.ts","src_lang":"en","text":"Root","text_hash":"44cb005ee2e65d9cc817b0a083579369fb6c24a4be728cb43fd9d4c3ca7f4c2e","tgt_lang":"pl","translated":"Katalog główny","updated_at":"2026-06-16T14:17:21.494Z"}
{"cache_key":"13f97b84256fdb8568361c770d2aae341991d5636155816e11d48334e74ef911","model":"gpt-5.5","provider":"openai","segment_id":"worktrees.repo","source_path":"ui/src/i18n/locales/pl.ts","src_lang":"en","text":"Repository","text_hash":"13d6ff07b8a5d792ec87d5ec83bff2730ee77fa8f4fcd89ca5f1d688f64b4c73","tgt_lang":"pl","translated":"Repozytorium","updated_at":"2026-07-05T21:01:26.445Z"}
{"cache_key":"14cfcabf4ea6f34c4a1a24de6a5ea514eb0450781eb16fae5df00adfccde74a9","model":"gpt-5.5","provider":"openai","segment_id":"worktrees.name","source_path":"ui/src/i18n/locales/pl.ts","src_lang":"en","text":"Name","text_hash":"dcd1d5223f73b3a965c07e3ff5dbee3eedcfedb806686a05b9b3868a2c3d6d50","tgt_lang":"pl","translated":"Nazwa","updated_at":"2026-07-05T21:01:26.445Z"}
diff --git a/ui/src/i18n/.i18n/pt-BR.meta.json b/ui/src/i18n/.i18n/pt-BR.meta.json
index 5dfcecc9bd7..40a199629fa 100644
--- a/ui/src/i18n/.i18n/pt-BR.meta.json
+++ b/ui/src/i18n/.i18n/pt-BR.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:51.461Z",
+ "generatedAt": "2026-07-07T08:47:23.799Z",
"locale": "pt-BR",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/pt-BR.tm.jsonl b/ui/src/i18n/.i18n/pt-BR.tm.jsonl
index 95aa8c9deac..b58b545846d 100644
--- a/ui/src/i18n/.i18n/pt-BR.tm.jsonl
+++ b/ui/src/i18n/.i18n/pt-BR.tm.jsonl
@@ -16,6 +16,7 @@
{"cache_key":"0df8199942950468868454b555bd73577bfb9a45f0844daf333920fe7e747164","model":"gpt-5.5","provider":"openai","segment_id":"sessionsView.pinned","source_path":"ui/src/i18n/locales/pt-BR.ts","src_lang":"en","text":"Pinned","text_hash":"f20c879465551f0d1457a13d4390d0f1ece456b115d75463169c5d55341b9b1e","tgt_lang":"pt-BR","translated":"Fixadas","updated_at":"2026-07-02T14:30:01.256Z"}
{"cache_key":"0ec17d42d507c693995aa202c0aa2c38d62fb7aa0c0663165a00896f206b352d","model":"gpt-5.5","provider":"openai","segment_id":"sessionsView.goal","source_path":"ui/src/i18n/locales/pt-BR.ts","src_lang":"en","text":"Goal","text_hash":"cdbf6975e8a35b0d03558be6822dfae166482c24fb86b0433f60e8167f5c91e4","tgt_lang":"pt-BR","translated":"Objetivo","updated_at":"2026-05-29T20:59:56.109Z"}
{"cache_key":"10123e0f1a1a1af52a0678857c997f2227da4041c6eb73f6991ec8492c629fbc","model":"gpt-5.5","provider":"openai","segment_id":"usage.providerUsage.dailyCost","source_path":"ui/src/i18n/locales/pt-BR.ts","src_lang":"en","text":"Daily provider cost","text_hash":"0d03078a4d1fba12122e32e9abbc929ea64b948445810cf1e0d29cbdfd5cb18d","tgt_lang":"pt-BR","translated":"Custo diário do provedor","updated_at":"2026-07-06T06:40:15.357Z"}
+{"cache_key":"107ae0ac6476cd69d0ae104bb8445f0382a57387bd0fa5edcbcd549a835f5417","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/pt-BR.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"pt-BR","translated":"Modo de cor: {mode}","updated_at":"2026-07-07T08:47:23.794Z"}
{"cache_key":"10b51590b3e3829f66066d165e5dfd8639267a1ff9e3a2c4fcfd799168d8d394","model":"gpt-5.5","provider":"openai","segment_id":"chat.composer.realtimeTalkRequiresMicrophone","source_path":"ui/src/i18n/locales/pt-BR.ts","src_lang":"en","text":"Realtime Talk requires browser microphone access.","text_hash":"e082e85327dc5d2905a34ca4ca60e76836f9b4d7e3b1834b821c81a9c456b39d","tgt_lang":"pt-BR","translated":"Realtime Talk requer acesso ao microfone pelo navegador.","updated_at":"2026-07-06T17:56:11.051Z"}
{"cache_key":"10dce7dfe66936a2d2a07b68944f01f80479beac869a0dbeb382ca6a72bf476a","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.detailAutomationWorkspace","source_path":"ui/src/i18n/locales/pt-BR.ts","src_lang":"en","text":"Workspace: {workspace}","text_hash":"17f5e696e557a646a9003fc8448f6f6761f5fe6bdf7478f750f471496e87c17b","tgt_lang":"pt-BR","translated":"Workspace: {workspace}","updated_at":"2026-06-16T14:13:11.260Z"}
{"cache_key":"110ae46a7017718e8a55eccd65720463f259822631275f36a46535bb76ee9e7e","model":"claude-opus-4-8","provider":"anthropic","segment_id":"chat.workspaceFiles.browserCount","source_path":"ui/src/i18n/locales/pt-BR.ts","src_lang":"en","text":"{count} shown","text_hash":"e57b4adfe868fd74a183650103d820176d4960bd0bdb677d9985db09f9752867","tgt_lang":"pt-BR","translated":"{count} exibido(s)","updated_at":"2026-06-16T14:13:25.058Z"}
diff --git a/ui/src/i18n/.i18n/ru.meta.json b/ui/src/i18n/.i18n/ru.meta.json
index 246941c8765..71fc6f576bb 100644
--- a/ui/src/i18n/.i18n/ru.meta.json
+++ b/ui/src/i18n/.i18n/ru.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:53.508Z",
+ "generatedAt": "2026-07-07T08:47:46.145Z",
"locale": "ru",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/ru.tm.jsonl b/ui/src/i18n/.i18n/ru.tm.jsonl
index 0a35357ebd8..47253ae6604 100644
--- a/ui/src/i18n/.i18n/ru.tm.jsonl
+++ b/ui/src/i18n/.i18n/ru.tm.jsonl
@@ -1459,6 +1459,7 @@
{"cache_key":"f239059b85c97ba086ef0ebdf3a75494268d6f63b235819dd1bc7cb72e251df1","model":"gpt-5.5","provider":"openai","segment_id":"tabs.instances","source_path":"ui/src/i18n/locales/ru.ts","src_lang":"en","text":"Instances","text_hash":"aa8c181ac3381dcd5890e42f64315a2540a9c7b35897570cf72f7ec1227e52e3","tgt_lang":"ru","translated":"Экземпляры","updated_at":"2026-06-26T21:39:23.906Z"}
{"cache_key":"f270f7a0d4bb9caeadb0661788cd7d8398060ecc25e9fd08747aba5e32dd8290","model":"gpt-5.5","provider":"openai","segment_id":"sessionsView.selected","source_path":"ui/src/i18n/locales/ru.ts","src_lang":"en","text":"{count} selected","text_hash":"529aacfdfd2b17bf9fe56ebad9a24339a2d1151327dd420c52c5f163aeb9acc6","tgt_lang":"ru","translated":"Выбрано: {count}","updated_at":"2026-06-26T21:38:51.115Z"}
{"cache_key":"f28901cdc96d28a11d1116ea2d8d866ac9f8f27c7d9605581a41594b250823d4","model":"gpt-5","provider":"openai","segment_id":"usage.overview.costShare","source_path":"ui/src/i18n/locales/ru.ts","src_lang":"en","text":"{percent}% of cost","text_hash":"1d0533da07d6ee21af9d1d02f4636bd9f70df239ad62388b0a415e550ee2de8b","tgt_lang":"ru","translated":"{percent}% затрат","updated_at":"2026-07-05T20:24:32.108Z"}
+{"cache_key":"f2aa8098038a55a228fc42278734a10949b334b940e02e18d1045af447148371","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/ru.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"ru","translated":"Цветовой режим: {mode}","updated_at":"2026-07-07T08:47:46.141Z"}
{"cache_key":"f2f4ec18bf5fa5ea4c2fbf6316dec64be8f7760f2055a72816148edc7dadefe1","model":"gpt-5.5","provider":"openai","segment_id":"usage.presets.last90d","source_path":"ui/src/i18n/locales/ru.ts","src_lang":"en","text":"90d","text_hash":"c906817c1dd244107977b235f1ccc79e27b0b69d88eb9bad6f845e86e7fb08f4","tgt_lang":"ru","translated":"90 дн.","updated_at":"2026-06-26T21:40:56.975Z"}
{"cache_key":"f2fa7285f636a8d5ad76c998a581a4ac58d441fbeb9cd190a3d19e94bd9ae701","model":"gpt-5.5","provider":"openai","segment_id":"worktrees.name","source_path":"ui/src/i18n/locales/ru.ts","src_lang":"en","text":"Name","text_hash":"dcd1d5223f73b3a965c07e3ff5dbee3eedcfedb806686a05b9b3868a2c3d6d50","tgt_lang":"ru","translated":"Имя","updated_at":"2026-06-26T21:38:40.558Z"}
{"cache_key":"f3106f3b920df3c851eb2dec7fb5bc1423b4015f27db39c40b90105f699e001e","model":"gpt-5.5","provider":"openai","segment_id":"chat.sidebar.sortSessions","source_path":"ui/src/i18n/locales/ru.ts","src_lang":"en","text":"Sort sessions","text_hash":"6680f07d3df817d60180acbbc6e207689d28caaa27ac23749f93261b8111a38d","tgt_lang":"ru","translated":"Сортировать сеансы","updated_at":"2026-07-06T15:07:02.499Z"}
diff --git a/ui/src/i18n/.i18n/th.meta.json b/ui/src/i18n/.i18n/th.meta.json
index f74ac6849d7..f17a23f02fb 100644
--- a/ui/src/i18n/.i18n/th.meta.json
+++ b/ui/src/i18n/.i18n/th.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:53.032Z",
+ "generatedAt": "2026-07-07T08:47:39.502Z",
"locale": "th",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/th.tm.jsonl b/ui/src/i18n/.i18n/th.tm.jsonl
index 96e6312bc18..fdbda97aed8 100644
--- a/ui/src/i18n/.i18n/th.tm.jsonl
+++ b/ui/src/i18n/.i18n/th.tm.jsonl
@@ -169,6 +169,7 @@
{"cache_key":"badee6b9e90cf4d48a5437e16b224ac95203d808cf3b2630461fef00e57c48c4","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.detailAutomationWorkspace","source_path":"ui/src/i18n/locales/th.ts","src_lang":"en","text":"Workspace: {workspace}","text_hash":"17f5e696e557a646a9003fc8448f6f6761f5fe6bdf7478f750f471496e87c17b","tgt_lang":"th","translated":"พื้นที่ทำงาน: {workspace}","updated_at":"2026-06-16T14:17:16.747Z"}
{"cache_key":"bd15fbd4aae4a9f2d33a8560b09707ad2c2d2ab01837d46df2ab654f7be9c2c7","model":"gpt-5.5","provider":"openai","segment_id":"workboard.badgeWorkerProtocol","source_path":"ui/src/i18n/locales/th.ts","src_lang":"en","text":"worker {state}","text_hash":"f16b9e04d42182b421ce4f4e982b2ef75fab9bd581bdc8b87e62899ba28de11c","tgt_lang":"th","translated":"worker {state}","updated_at":"2026-05-30T15:38:44.763Z"}
{"cache_key":"bdb0d8aa3825f469d703aca5d30b55d316308bc7a2a473d6012e0d18a5dc1513","model":"gpt-5.5","provider":"openai","segment_id":"chat.composer.contextUsage.summary","source_path":"ui/src/i18n/locales/th.ts","src_lang":"en","text":"Session context usage: {used} of {limit} ({pct}%)","text_hash":"a62b97af0e5d02b8722725e2be0a936dd3d317a1f506ea15c766e87413b66a0d","tgt_lang":"th","translated":"การใช้บริบทของเซสชัน: {used} จาก {limit} ({pct}%)","updated_at":"2026-07-05T10:16:28.752Z"}
+{"cache_key":"bf312dc171b09014ce26669bdd26d325775103357284a6ee098a2c3527ec7ea4","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/th.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"th","translated":"โหมดสี: {mode}","updated_at":"2026-07-07T08:47:39.499Z"}
{"cache_key":"c13f9139970832fe4a46a22f485a4144c95ffbd8339d8225c7734a857c9d8fd9","model":"claude-opus-4-8","provider":"anthropic","segment_id":"chat.workspaceFiles.browser","source_path":"ui/src/i18n/locales/th.ts","src_lang":"en","text":"Project files","text_hash":"2a3d9a240c9206964ee7237a1d99fda05ed501a485262e18f33c446c9f735d1c","tgt_lang":"th","translated":"ไฟล์โปรเจกต์","updated_at":"2026-06-16T14:17:36.173Z"}
{"cache_key":"c1f38f9de79ea8dde83f267f5a05fa5ec3f08336d592e14e9b48918ed19a2840","model":"gpt-5.5","provider":"openai","segment_id":"chat.splitView.dropOpenHere","source_path":"ui/src/i18n/locales/th.ts","src_lang":"en","text":"Open here","text_hash":"b08e2fd2e872adcb575b305187b9db8482369325806953ce80190fc2dc1ab9fb","tgt_lang":"th","translated":"เปิดที่นี่","updated_at":"2026-07-06T22:56:35.269Z"}
{"cache_key":"c3cfcb94e542aabbb0056e14f4de6974ba01e71dc0039b0ce5ff5efb6c0af3d0","model":"claude-opus-4-8","provider":"anthropic","segment_id":"cron.jobDetail.cwd","source_path":"ui/src/i18n/locales/th.ts","src_lang":"en","text":"CWD","text_hash":"0217f1cb7725737f15a6710df3bcfa3bc10a239f0f7801ec3d7168e675f5ebd6","tgt_lang":"th","translated":"CWD","updated_at":"2026-06-16T14:17:40.285Z"}
diff --git a/ui/src/i18n/.i18n/tr.meta.json b/ui/src/i18n/.i18n/tr.meta.json
index 0481a98bb02..f5dd8358512 100644
--- a/ui/src/i18n/.i18n/tr.meta.json
+++ b/ui/src/i18n/.i18n/tr.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:52.541Z",
+ "generatedAt": "2026-07-07T08:47:34.970Z",
"locale": "tr",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/tr.tm.jsonl b/ui/src/i18n/.i18n/tr.tm.jsonl
index ee261c5a652..bc245920730 100644
--- a/ui/src/i18n/.i18n/tr.tm.jsonl
+++ b/ui/src/i18n/.i18n/tr.tm.jsonl
@@ -69,6 +69,7 @@
{"cache_key":"47da24b1e63ada137e085d2d8cb50de96ede2f53cf8db9656b14d323064dfb81","model":"gpt-5.5","provider":"openai","segment_id":"chat.sidebar.sortUpdated","source_path":"ui/src/i18n/locales/tr.ts","src_lang":"en","text":"Last updated","text_hash":"382ac5f308f76c24b2c981e2041943bc2be2229cbd285ad362b9af1cfc386ef8","tgt_lang":"tr","translated":"Son güncelleme","updated_at":"2026-07-06T15:07:02.499Z"}
{"cache_key":"495b1324128c4e347510c73cb4ff14d90edf94c617372c4f5049cc427f5ba0fb","model":"gpt-5.5","provider":"openai","segment_id":"sessionsView.groupRowCountOne","source_path":"ui/src/i18n/locales/tr.ts","src_lang":"en","text":"{count} session","text_hash":"c0975b42c84d7da963f4c962d1e2c1ee78eb18efc7ebec75fb3ce761ce9a40db","tgt_lang":"tr","translated":"{count} oturum","updated_at":"2026-07-05T14:40:02.505Z"}
{"cache_key":"49600d3e11a0d4398c96cb495e14031dec519b26739de6d44a9b18bf9d8dadbc","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.detailUpdatedValue","source_path":"ui/src/i18n/locales/tr.ts","src_lang":"en","text":"Updated: {time}","text_hash":"5e72d5445f018c9d08aa34ae0178fb9aa49eea6a0afd0c8d379f20b7af3e8aa0","tgt_lang":"tr","translated":"Güncellendi: {time}","updated_at":"2026-06-16T14:15:38.462Z"}
+{"cache_key":"4a4da5d58c9550a5d99a28954968b773278c813ba4c908edea1bfc05e38763b7","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/tr.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"tr","translated":"Renk modu: {mode}","updated_at":"2026-07-07T08:47:34.967Z"}
{"cache_key":"4bdecaf52f9ec5e39f32f030b654bd181fefdbd429910b0084f396db2829b852","model":"gpt-5.5","provider":"openai","segment_id":"usage.providerUsage.topModels","source_path":"ui/src/i18n/locales/tr.ts","src_lang":"en","text":"Top models","text_hash":"79489561d9efe32b89add781323318355ae49e3d71f9c5a45a34c21825778663","tgt_lang":"tr","translated":"En çok kullanılan modeller","updated_at":"2026-07-06T06:40:15.357Z"}
{"cache_key":"4be03d8a44f9a21694f206231c150fe8716997534e86101ffe7379fe4258e068","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.autoRefresh","source_path":"ui/src/i18n/locales/tr.ts","src_lang":"en","text":"Auto-refresh","text_hash":"9ea4d7fd1550f0866089d18b1344546bfed91502b41c0484d6023ceb0fdeb75c","tgt_lang":"tr","translated":"Otomatik yenileme","updated_at":"2026-06-17T14:15:34.754Z"}
{"cache_key":"4beae23919439f69e2733c599a6546322d4d57814b2c386f8b9ec48884dbb9aa","model":"gpt-5.5","provider":"openai","segment_id":"languages.hi","source_path":"ui/src/i18n/locales/tr.ts","src_lang":"en","text":"हिन्दी (Hindi)","text_hash":"fab2abfce45382f3031c59477017700a8cb5dfaf8d15379dc24304809b97c7d5","tgt_lang":"tr","translated":"हिन्दी (Hintçe)","updated_at":"2026-06-26T21:43:35.090Z"}
diff --git a/ui/src/i18n/.i18n/uk.meta.json b/ui/src/i18n/.i18n/uk.meta.json
index f891e508628..a59991ce8dc 100644
--- a/ui/src/i18n/.i18n/uk.meta.json
+++ b/ui/src/i18n/.i18n/uk.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:52.666Z",
+ "generatedAt": "2026-07-07T08:47:35.919Z",
"locale": "uk",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/uk.tm.jsonl b/ui/src/i18n/.i18n/uk.tm.jsonl
index a3532d8e258..5cddfca36aa 100644
--- a/ui/src/i18n/.i18n/uk.tm.jsonl
+++ b/ui/src/i18n/.i18n/uk.tm.jsonl
@@ -205,6 +205,7 @@
{"cache_key":"db2bfe31afc3fb44571f26559c3006023e26d066ae9ebd0f96224ac572c4ab44","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.viewPreset","source_path":"ui/src/i18n/locales/uk.ts","src_lang":"en","text":"Workboard view","text_hash":"cc2b05179ad742029156bb45578e880c46599fd28e1c2ab66f5a6f9e7f8fa08e","tgt_lang":"uk","translated":"Вигляд дошки","updated_at":"2026-06-17T14:15:28.579Z"}
{"cache_key":"db5d8fca69427232500422a1a3e301c90bfff4852cf2167a5973e0e637df256e","model":"gpt-5","provider":"openai","segment_id":"usage.costWindows.perDay","source_path":"ui/src/i18n/locales/uk.ts","src_lang":"en","text":"/ day","text_hash":"122faff7033fbaa4fac55b95788a16f370e13ab272d734f33bfcf15021170fe7","tgt_lang":"uk","translated":"/ день","updated_at":"2026-07-05T20:24:32.108Z"}
{"cache_key":"dedb11177207212fde54d00e08984d4382e7da9912cd9bdba88b37f4512eaa3d","model":"gpt-5.5","provider":"openai","segment_id":"workboard.dispatch","source_path":"ui/src/i18n/locales/uk.ts","src_lang":"en","text":"Nudge dispatcher","text_hash":"c3d20147447cc75f5e1e8cc895af0bc287a4a720372aec4795c5dfbfa9eeda67","tgt_lang":"uk","translated":"Підштовхнути диспетчер","updated_at":"2026-05-30T15:38:37.442Z"}
+{"cache_key":"e04d63cac77bde1918d9886eb6c7544ca2e7cc692d269f320cd1275d335c5cee","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/uk.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"uk","translated":"Режим кольору: {mode}","updated_at":"2026-07-07T08:47:35.916Z"}
{"cache_key":"e1881c1f30901b4d3a10cefbeea852300b5865d780d4f7c6a8378486caacbdf5","model":"gpt-5","provider":"openai","segment_id":"usage.costWindows.subtitle","source_path":"ui/src/i18n/locales/uk.ts","src_lang":"en","text":"Calendar windows ending {date}","text_hash":"f01adb920b86724f393ee7bca5ea4a90bd5a777d39f6191ed9c13530ceb7851d","tgt_lang":"uk","translated":"Календарні періоди, що закінчуються {date}","updated_at":"2026-07-05T20:24:32.108Z"}
{"cache_key":"e307d37915b742e2324cd02df9e4f646561e619d023622bdc2e341548d0e6bbe","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.viewRecentlyDone","source_path":"ui/src/i18n/locales/uk.ts","src_lang":"en","text":"Recently done","text_hash":"46b889592a2f5e79197f62b5f96c76993545626bf207740ea58632ceed9623be","tgt_lang":"uk","translated":"Нещодавно завершені","updated_at":"2026-06-17T14:15:28.579Z"}
{"cache_key":"e30d0e43ea0665e1aa83e6070231dd79a2cc8be101b6a6006ba579fcc2a27c91","model":"claude-opus-4-8","provider":"anthropic","segment_id":"chat.workspaceFiles.artifacts","source_path":"ui/src/i18n/locales/uk.ts","src_lang":"en","text":"Artifacts","text_hash":"314ae71b8c8dc9c952f0ffc58e35e6d9a41b5cf4756471c7cab0c9476cd5d20b","tgt_lang":"uk","translated":"Артефакти","updated_at":"2026-06-16T14:16:00.845Z"}
diff --git a/ui/src/i18n/.i18n/vi.meta.json b/ui/src/i18n/.i18n/vi.meta.json
index b10c01434f1..5a0556c562d 100644
--- a/ui/src/i18n/.i18n/vi.meta.json
+++ b/ui/src/i18n/.i18n/vi.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:53.149Z",
+ "generatedAt": "2026-07-07T08:47:40.747Z",
"locale": "vi",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/vi.tm.jsonl b/ui/src/i18n/.i18n/vi.tm.jsonl
index e2700fe22c5..50fa6da08ce 100644
--- a/ui/src/i18n/.i18n/vi.tm.jsonl
+++ b/ui/src/i18n/.i18n/vi.tm.jsonl
@@ -140,6 +140,7 @@
{"cache_key":"9387ebfb503774f21dd3d7c0acae4c65494e8b691d5e43cb49d5058e86c6cf8d","model":"gpt-5","provider":"openai","segment_id":"usage.costWindows.perDay","source_path":"ui/src/i18n/locales/vi.ts","src_lang":"en","text":"/ day","text_hash":"122faff7033fbaa4fac55b95788a16f370e13ab272d734f33bfcf15021170fe7","tgt_lang":"vi","translated":"/ ngày","updated_at":"2026-07-05T20:24:32.108Z"}
{"cache_key":"94b10858b4b2f034b79558a2292b16912aefaafbf8636ecee7891a2aa71c35c4","model":"gpt-5.5","provider":"openai","segment_id":"sessionsView.ungrouped","source_path":"ui/src/i18n/locales/vi.ts","src_lang":"en","text":"Ungrouped","text_hash":"674b38cae72bb0c8be97cea114f7ce84a6ad4ae3c7f3ceb0c869d62db8e53fa2","tgt_lang":"vi","translated":"Chưa nhóm","updated_at":"2026-07-05T14:40:16.834Z"}
{"cache_key":"95b11fdc7cc941dc3aec80d1229fe752549bf09007010227ed891541e909f07b","model":"claude-opus-4-8","provider":"anthropic","segment_id":"chat.workspaceFiles.search","source_path":"ui/src/i18n/locales/vi.ts","src_lang":"en","text":"Search files","text_hash":"179fed85ec50a433bb23932745d18f1ade2f84a6ebe145b0025ed3ce5f89fd5a","tgt_lang":"vi","translated":"Tìm tệp","updated_at":"2026-06-16T14:17:25.260Z"}
+{"cache_key":"9605f4958b93fc56d928bc4d2429364297fa6f3765a71c49f3c8387238c6b9ec","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/vi.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"vi","translated":"Chế độ màu: {mode}","updated_at":"2026-07-07T08:47:40.743Z"}
{"cache_key":"97256cc69ed01e0d33e68667ef78073de7338b91a2aecbbbdbcd5a5c3545ca44","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.emptyFilteredTitle","source_path":"ui/src/i18n/locales/vi.ts","src_lang":"en","text":"No cards match this view","text_hash":"a272617e183ba1dff3f7f140d0851b64baf95f4827ff729d23dfeb05c2069875","tgt_lang":"vi","translated":"Không có thẻ nào khớp với chế độ xem này","updated_at":"2026-06-17T14:17:32.599Z"}
{"cache_key":"988e19d2308b9d371cf0f5b78132c21e12548cb8cfdc09c8fbf1cb8cbcb8d6f5","model":"gpt-5","provider":"openai","segment_id":"usage.costWindows.selectedRange","source_path":"ui/src/i18n/locales/vi.ts","src_lang":"en","text":"Selected Range","text_hash":"95917ae71066a19c266cd4530068f4bf775ed2401951ebf37ab0c91daa1a67d3","tgt_lang":"vi","translated":"Khoảng đã chọn","updated_at":"2026-07-05T20:24:32.108Z"}
{"cache_key":"993a54f07ce9c95b73a82dd9111cff1b6d38ebbde43f1146a0a57a5846419203","model":"gpt-5.5","provider":"openai","segment_id":"chat.composer.contextUsage.estimatedCost","source_path":"ui/src/i18n/locales/vi.ts","src_lang":"en","text":"Est. cost","text_hash":"3199f14286736527bfc6ad9165629415a5aa087517acd2c0e9b1ae8bb5d26766","tgt_lang":"vi","translated":"Chi phí ước tính","updated_at":"2026-07-05T16:00:27.224Z"}
diff --git a/ui/src/i18n/.i18n/zh-CN.meta.json b/ui/src/i18n/.i18n/zh-CN.meta.json
index 60e6765da74..5d1b3338e3b 100644
--- a/ui/src/i18n/.i18n/zh-CN.meta.json
+++ b/ui/src/i18n/.i18n/zh-CN.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:51.014Z",
+ "generatedAt": "2026-07-07T08:47:21.379Z",
"locale": "zh-CN",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/zh-CN.tm.jsonl b/ui/src/i18n/.i18n/zh-CN.tm.jsonl
index becb2e6c832..9bace7d2d17 100644
--- a/ui/src/i18n/.i18n/zh-CN.tm.jsonl
+++ b/ui/src/i18n/.i18n/zh-CN.tm.jsonl
@@ -197,6 +197,7 @@
{"cache_key":"e2b04570ec37956ab09fdb3eda0bb1c6c0f0e4aa3e9fc54e7f90daf6d9b557ee","model":"gpt-5.5","provider":"openai","segment_id":"sessionsView.renameGroupPrompt","source_path":"ui/src/i18n/locales/zh-CN.ts","src_lang":"en","text":"Rename group","text_hash":"98d254a311d0e820bb8739eb28d4e1eb5fc1cfc34f755167759864cd15504b4c","tgt_lang":"zh-CN","translated":"重命名分组","updated_at":"2026-07-06T23:40:42.207Z"}
{"cache_key":"e37c9647e2d6d7a77f470b7a465ed7136d7db347b9a1be3e491f0e044138de59","model":"claude-opus-4-8","provider":"anthropic","segment_id":"chat.composer.talkSensitivityHigh","source_path":"ui/src/i18n/locales/zh-CN.ts","src_lang":"en","text":"High","text_hash":"c4ebc6d4a5832cd9415f906ad03661110c705a72381c8b8b145761d02e2dd23a","tgt_lang":"zh-CN","translated":"高","updated_at":"2026-07-06T20:20:02.809Z"}
{"cache_key":"e39d525d6efbb9159e3846c167b8f748249a31f998bd9eeac37ffd9a824ac70a","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.detailUpdatedValue","source_path":"ui/src/i18n/locales/zh-CN.ts","src_lang":"en","text":"Updated: {time}","text_hash":"5e72d5445f018c9d08aa34ae0178fb9aa49eea6a0afd0c8d379f20b7af3e8aa0","tgt_lang":"zh-CN","translated":"已更新:{time}","updated_at":"2026-06-16T14:12:56.348Z"}
+{"cache_key":"e4133fa70419964ad428efba321a6a82bb38716e16aec53ace72b10e439a8075","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/zh-CN.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"zh-CN","translated":"颜色模式:{mode}","updated_at":"2026-07-07T08:47:21.374Z"}
{"cache_key":"e5cd58b0a8db51e61783f7119307bfb22dca19c02ebec7a056f019f90107adbf","model":"gpt-5.5","provider":"openai","segment_id":"sessionsView.groupByChannel","source_path":"ui/src/i18n/locales/zh-CN.ts","src_lang":"en","text":"Channel","text_hash":"ce4683e7013a18cdf3d224bfcb4e9594ea8f559e946a837c633defe7d3c32172","tgt_lang":"zh-CN","translated":"渠道","updated_at":"2026-07-05T14:39:29.129Z"}
{"cache_key":"e6376fdbb23ac9fe7cf1ffd514de37d8b8ef720018503454896b5afe8b9257fd","model":"gpt-5.5","provider":"openai","segment_id":"sessionsView.groupRowCount","source_path":"ui/src/i18n/locales/zh-CN.ts","src_lang":"en","text":"{count} sessions","text_hash":"27de9b3be346a2abd2cb67f9f93abfe8100d7ce996e1204b75fc84670c7818e6","tgt_lang":"zh-CN","translated":"{count} 个会话","updated_at":"2026-07-05T14:39:29.129Z"}
{"cache_key":"e65b0fbd24ba3241afa211e53f284c5a8446d414fc4d89ea39b97da5825b146c","model":"gpt-5.5","provider":"openai","segment_id":"chat.sidebar.sortSessions","source_path":"ui/src/i18n/locales/zh-CN.ts","src_lang":"en","text":"Sort sessions","text_hash":"6680f07d3df817d60180acbbc6e207689d28caaa27ac23749f93261b8111a38d","tgt_lang":"zh-CN","translated":"排序会话","updated_at":"2026-07-06T15:07:02.499Z"}
diff --git a/ui/src/i18n/.i18n/zh-TW.meta.json b/ui/src/i18n/.i18n/zh-TW.meta.json
index c0897b32f41..8b4189ecc56 100644
--- a/ui/src/i18n/.i18n/zh-TW.meta.json
+++ b/ui/src/i18n/.i18n/zh-TW.meta.json
@@ -1,11 +1,11 @@
{
"fallbackKeys": [],
- "generatedAt": "2026-07-07T02:26:51.342Z",
+ "generatedAt": "2026-07-07T08:47:22.571Z",
"locale": "zh-TW",
"model": "gpt-5.5",
"provider": "openai",
- "sourceHash": "378b4e5380384a33d9e31a49a5483cdb991245705193e067d5fb8c5311bc20fb",
- "totalKeys": 1668,
- "translatedKeys": 1668,
+ "sourceHash": "d012bf7dea64cb5e4858358eb65d806374d86512260f7e16949b761b8bc0627b",
+ "totalKeys": 1669,
+ "translatedKeys": 1669,
"workflow": 1
}
diff --git a/ui/src/i18n/.i18n/zh-TW.tm.jsonl b/ui/src/i18n/.i18n/zh-TW.tm.jsonl
index 27b48de5a52..1e08ede5693 100644
--- a/ui/src/i18n/.i18n/zh-TW.tm.jsonl
+++ b/ui/src/i18n/.i18n/zh-TW.tm.jsonl
@@ -207,6 +207,7 @@
{"cache_key":"ce5214fe23d8002c579e5a7edec36a6951351fbde63a67d029612901b8aee6ba","model":"gpt-5.5","provider":"openai","segment_id":"chat.composer.microphoneListUnsupported","source_path":"ui/src/i18n/locales/zh-TW.ts","src_lang":"en","text":"This browser cannot list microphone inputs.","text_hash":"fa99f66cc346509afe8c5e3437ad299409a60be69d8b2b70138d8c42176052d9","tgt_lang":"zh-TW","translated":"此瀏覽器無法列出麥克風輸入。","updated_at":"2026-07-06T17:56:07.837Z"}
{"cache_key":"cf4e3394a5987940d5291fdc17aa2ec16879c7cc092331651b68900552d4ea08","model":"gpt-5.5","provider":"openai","segment_id":"chat.toolCards.toolError","source_path":"ui/src/i18n/locales/zh-TW.ts","src_lang":"en","text":"Tool error","text_hash":"a6c64c286a8795034ac5030b74633d3b476b5375e094485698b982879b0bb617","tgt_lang":"zh-TW","translated":"工具錯誤","updated_at":"2026-05-31T06:43:46.257Z"}
{"cache_key":"d082cf53a732e9463630017b5e5b86b179258b9517e2c7b302e97863a918cabd","model":"claude-opus-4-8","provider":"anthropic","segment_id":"workboard.refreshError","source_path":"ui/src/i18n/locales/zh-TW.ts","src_lang":"en","text":"Refresh failed","text_hash":"8fa7e6d90bef4e5cb735233347bf6a71b5b30d96e7c1a50b73f10cb441b275c2","tgt_lang":"zh-TW","translated":"重新整理失敗","updated_at":"2026-06-17T14:13:23.259Z"}
+{"cache_key":"d38bddaa0dad1fb2012ad091012b944d3787c8326c3b9568fa6fbd16bfee55a4","model":"gpt-5.5","provider":"openai","segment_id":"common.colorModeOption","source_path":"ui/src/i18n/locales/zh-TW.ts","src_lang":"en","text":"Color mode: {mode}","text_hash":"d5b61a3af66f845d2ab32795685ca0b37889374de15f66ae3f848abf83169a43","tgt_lang":"zh-TW","translated":"顏色模式:{mode}","updated_at":"2026-07-07T08:47:22.567Z"}
{"cache_key":"d4a6c06bfdfedcffd1b6e7ad155ea4138c82ffa07146a06a5747b8b69310a82d","model":"gpt-5.5","provider":"openai","segment_id":"sessionsView.goal","source_path":"ui/src/i18n/locales/zh-TW.ts","src_lang":"en","text":"Goal","text_hash":"cdbf6975e8a35b0d03558be6822dfae166482c24fb86b0433f60e8167f5c91e4","tgt_lang":"zh-TW","translated":"目標","updated_at":"2026-05-29T20:59:51.845Z"}
{"cache_key":"d698788abe9c34100cf12047af2dc88415bcd58514e1834b94fdb152a2004059","model":"gpt-5.5","provider":"openai","segment_id":"tasksPage.disconnected","source_path":"ui/src/i18n/locales/zh-TW.ts","src_lang":"en","text":"Connect to the gateway to load and manage tasks.","text_hash":"f809605f626a2f8eeff5c864a30e78d538a878ec5de7934f21d60bc01b81f125","tgt_lang":"zh-TW","translated":"連線至 Gateway 以載入並管理任務。","updated_at":"2026-07-06T08:41:46.878Z"}
{"cache_key":"d7e37c29f5d68135f382d36dc064472a98fe594ce6a70fc5a3f7c02d94051f8e","model":"gpt-5.5","provider":"openai","segment_id":"chat.composer.contextUsage.estimatedCost","source_path":"ui/src/i18n/locales/zh-TW.ts","src_lang":"en","text":"Est. cost","text_hash":"3199f14286736527bfc6ad9165629415a5aa087517acd2c0e9b1ae8bb5d26766","tgt_lang":"zh-TW","translated":"預估費用","updated_at":"2026-07-05T16:00:06.097Z"}
diff --git a/ui/src/i18n/locales/ar.ts b/ui/src/i18n/locales/ar.ts
index 1297b0fcf8d..2c8549f0714 100644
--- a/ui/src/i18n/locales/ar.ts
+++ b/ui/src/i18n/locales/ar.ts
@@ -63,6 +63,7 @@ export const ar: TranslationMap = {
docs: "المستندات",
theme: "السمة",
colorMode: "وضع اللون",
+ colorModeOption: "وضع اللون: {mode}",
resources: "الموارد",
search: "بحث",
save: "حفظ",
diff --git a/ui/src/i18n/locales/de.ts b/ui/src/i18n/locales/de.ts
index d2c26c1046e..39b15368898 100644
--- a/ui/src/i18n/locales/de.ts
+++ b/ui/src/i18n/locales/de.ts
@@ -63,6 +63,7 @@ export const de: TranslationMap = {
docs: "Dokumentation",
theme: "Design",
colorMode: "Farbmodus",
+ colorModeOption: "Farbmodus: {mode}",
resources: "Ressourcen",
search: "Suchen",
save: "Speichern",
diff --git a/ui/src/i18n/locales/en.ts b/ui/src/i18n/locales/en.ts
index a4065f441f3..d860c8f24d8 100644
--- a/ui/src/i18n/locales/en.ts
+++ b/ui/src/i18n/locales/en.ts
@@ -62,6 +62,7 @@ export const en: TranslationMap = {
docs: "Docs",
theme: "Theme",
colorMode: "Color mode",
+ colorModeOption: "Color mode: {mode}",
resources: "Resources",
search: "Search",
save: "Save",
diff --git a/ui/src/i18n/locales/es.ts b/ui/src/i18n/locales/es.ts
index 9f5598819dd..24d6948c469 100644
--- a/ui/src/i18n/locales/es.ts
+++ b/ui/src/i18n/locales/es.ts
@@ -63,6 +63,7 @@ export const es: TranslationMap = {
docs: "Documentación",
theme: "Tema",
colorMode: "Modo de color",
+ colorModeOption: "Modo de color: {mode}",
resources: "Recursos",
search: "Buscar",
save: "Guardar",
diff --git a/ui/src/i18n/locales/fa.ts b/ui/src/i18n/locales/fa.ts
index 181ddbd7267..ceb9a259230 100644
--- a/ui/src/i18n/locales/fa.ts
+++ b/ui/src/i18n/locales/fa.ts
@@ -63,6 +63,7 @@ export const fa: TranslationMap = {
docs: "مستندات",
theme: "پوسته",
colorMode: "حالت رنگ",
+ colorModeOption: "حالت رنگ: {mode}",
resources: "منابع",
search: "جستجو",
save: "ذخیره",
diff --git a/ui/src/i18n/locales/fr.ts b/ui/src/i18n/locales/fr.ts
index 629ed64635a..32297744649 100644
--- a/ui/src/i18n/locales/fr.ts
+++ b/ui/src/i18n/locales/fr.ts
@@ -63,6 +63,7 @@ export const fr: TranslationMap = {
docs: "Documentation",
theme: "Thème",
colorMode: "Mode de couleur",
+ colorModeOption: "Mode de couleur : {mode}",
resources: "Ressources",
search: "Rechercher",
save: "Enregistrer",
diff --git a/ui/src/i18n/locales/hi.ts b/ui/src/i18n/locales/hi.ts
index 9631d15c227..c1921ad66f1 100644
--- a/ui/src/i18n/locales/hi.ts
+++ b/ui/src/i18n/locales/hi.ts
@@ -63,6 +63,7 @@ export const hi: TranslationMap = {
docs: "दस्तावेज़",
theme: "थीम",
colorMode: "रंग मोड",
+ colorModeOption: "रंग मोड: {mode}",
resources: "संसाधन",
search: "खोजें",
save: "सहेजें",
diff --git a/ui/src/i18n/locales/id.ts b/ui/src/i18n/locales/id.ts
index 22be9a0b097..93ad13dbb31 100644
--- a/ui/src/i18n/locales/id.ts
+++ b/ui/src/i18n/locales/id.ts
@@ -63,6 +63,7 @@ export const id: TranslationMap = {
docs: "Dokumen",
theme: "Tema",
colorMode: "Mode warna",
+ colorModeOption: "Mode warna: {mode}",
resources: "Sumber daya",
search: "Cari",
save: "Simpan",
diff --git a/ui/src/i18n/locales/it.ts b/ui/src/i18n/locales/it.ts
index 54b993c5531..facfda266dd 100644
--- a/ui/src/i18n/locales/it.ts
+++ b/ui/src/i18n/locales/it.ts
@@ -63,6 +63,7 @@ export const it: TranslationMap = {
docs: "Docs",
theme: "Tema",
colorMode: "Modalità colore",
+ colorModeOption: "Modalità colore: {mode}",
resources: "Risorse",
search: "Cerca",
save: "Salva",
diff --git a/ui/src/i18n/locales/ja-JP.ts b/ui/src/i18n/locales/ja-JP.ts
index 3cb41268350..a2114930a9b 100644
--- a/ui/src/i18n/locales/ja-JP.ts
+++ b/ui/src/i18n/locales/ja-JP.ts
@@ -63,6 +63,7 @@ export const ja_JP: TranslationMap = {
docs: "ドキュメント",
theme: "テーマ",
colorMode: "カラーモード",
+ colorModeOption: "カラーモード: {mode}",
resources: "リソース",
search: "検索",
save: "保存",
diff --git a/ui/src/i18n/locales/ko.ts b/ui/src/i18n/locales/ko.ts
index f3404aff290..6086ded13fe 100644
--- a/ui/src/i18n/locales/ko.ts
+++ b/ui/src/i18n/locales/ko.ts
@@ -63,6 +63,7 @@ export const ko: TranslationMap = {
docs: "문서",
theme: "테마",
colorMode: "색상 모드",
+ colorModeOption: "색상 모드: {mode}",
resources: "리소스",
search: "검색",
save: "저장",
diff --git a/ui/src/i18n/locales/nl.ts b/ui/src/i18n/locales/nl.ts
index ea56847915e..261f6a55a51 100644
--- a/ui/src/i18n/locales/nl.ts
+++ b/ui/src/i18n/locales/nl.ts
@@ -63,6 +63,7 @@ export const nl: TranslationMap = {
docs: "Docs",
theme: "Thema",
colorMode: "Kleurmodus",
+ colorModeOption: "Kleurmodus: {mode}",
resources: "Bronnen",
search: "Zoeken",
save: "Opslaan",
diff --git a/ui/src/i18n/locales/pl.ts b/ui/src/i18n/locales/pl.ts
index 60fd0ddd566..56f46fb2eb9 100644
--- a/ui/src/i18n/locales/pl.ts
+++ b/ui/src/i18n/locales/pl.ts
@@ -63,6 +63,7 @@ export const pl: TranslationMap = {
docs: "Dokumentacja",
theme: "Motyw",
colorMode: "Tryb kolorów",
+ colorModeOption: "Tryb kolorów: {mode}",
resources: "Zasoby",
search: "Szukaj",
save: "Zapisz",
diff --git a/ui/src/i18n/locales/pt-BR.ts b/ui/src/i18n/locales/pt-BR.ts
index f5bb8b8851b..e7e8b1fabd4 100644
--- a/ui/src/i18n/locales/pt-BR.ts
+++ b/ui/src/i18n/locales/pt-BR.ts
@@ -63,6 +63,7 @@ export const pt_BR: TranslationMap = {
docs: "Documentação",
theme: "Tema",
colorMode: "Modo de cor",
+ colorModeOption: "Modo de cor: {mode}",
resources: "Recursos",
search: "Pesquisar",
save: "Salvar",
diff --git a/ui/src/i18n/locales/ru.ts b/ui/src/i18n/locales/ru.ts
index 3738f78efd5..d70f02e5bbe 100644
--- a/ui/src/i18n/locales/ru.ts
+++ b/ui/src/i18n/locales/ru.ts
@@ -63,6 +63,7 @@ export const ru: TranslationMap = {
docs: "Документация",
theme: "Тема",
colorMode: "Цветовой режим",
+ colorModeOption: "Цветовой режим: {mode}",
resources: "Ресурсы",
search: "Поиск",
save: "Сохранить",
diff --git a/ui/src/i18n/locales/th.ts b/ui/src/i18n/locales/th.ts
index 3cf7ed253f2..0a16cd80af9 100644
--- a/ui/src/i18n/locales/th.ts
+++ b/ui/src/i18n/locales/th.ts
@@ -63,6 +63,7 @@ export const th: TranslationMap = {
docs: "เอกสาร",
theme: "ธีม",
colorMode: "โหมดสี",
+ colorModeOption: "โหมดสี: {mode}",
resources: "ทรัพยากร",
search: "ค้นหา",
save: "บันทึก",
diff --git a/ui/src/i18n/locales/tr.ts b/ui/src/i18n/locales/tr.ts
index 0d27b8f6ce9..4ad2adcc766 100644
--- a/ui/src/i18n/locales/tr.ts
+++ b/ui/src/i18n/locales/tr.ts
@@ -63,6 +63,7 @@ export const tr: TranslationMap = {
docs: "Dokümanlar",
theme: "Tema",
colorMode: "Renk modu",
+ colorModeOption: "Renk modu: {mode}",
resources: "Kaynaklar",
search: "Ara",
save: "Kaydet",
diff --git a/ui/src/i18n/locales/uk.ts b/ui/src/i18n/locales/uk.ts
index 1dae3bdc790..23d850343e5 100644
--- a/ui/src/i18n/locales/uk.ts
+++ b/ui/src/i18n/locales/uk.ts
@@ -63,6 +63,7 @@ export const uk: TranslationMap = {
docs: "Документація",
theme: "Тема",
colorMode: "Колірний режим",
+ colorModeOption: "Режим кольору: {mode}",
resources: "Ресурси",
search: "Пошук",
save: "Зберегти",
diff --git a/ui/src/i18n/locales/vi.ts b/ui/src/i18n/locales/vi.ts
index 51f68aae932..d87ed9221dd 100644
--- a/ui/src/i18n/locales/vi.ts
+++ b/ui/src/i18n/locales/vi.ts
@@ -63,6 +63,7 @@ export const vi: TranslationMap = {
docs: "Tài liệu",
theme: "Giao diện",
colorMode: "Chế độ màu",
+ colorModeOption: "Chế độ màu: {mode}",
resources: "Tài nguyên",
search: "Tìm kiếm",
save: "Lưu",
diff --git a/ui/src/i18n/locales/zh-CN.ts b/ui/src/i18n/locales/zh-CN.ts
index 9c01a298c70..382b0dded20 100644
--- a/ui/src/i18n/locales/zh-CN.ts
+++ b/ui/src/i18n/locales/zh-CN.ts
@@ -63,6 +63,7 @@ export const zh_CN: TranslationMap = {
docs: "文档",
theme: "主题",
colorMode: "颜色模式",
+ colorModeOption: "颜色模式:{mode}",
resources: "资源",
search: "搜索",
save: "保存",
diff --git a/ui/src/i18n/locales/zh-TW.ts b/ui/src/i18n/locales/zh-TW.ts
index 68d1703eb1e..c3aa1113dfb 100644
--- a/ui/src/i18n/locales/zh-TW.ts
+++ b/ui/src/i18n/locales/zh-TW.ts
@@ -63,6 +63,7 @@ export const zh_TW: TranslationMap = {
docs: "文檔",
theme: "主題",
colorMode: "色彩模式",
+ colorModeOption: "顏色模式:{mode}",
resources: "資源",
search: "搜尋",
save: "儲存",
diff --git a/ui/src/styles/components.css b/ui/src/styles/components.css
index 3c0fa00d0f0..993e1a62b11 100644
--- a/ui/src/styles/components.css
+++ b/ui/src/styles/components.css
@@ -565,117 +565,6 @@
color: var(--danger);
}
-/* ===========================================
- Theme Orb
- =========================================== */
-
-.theme-orb {
- position: relative;
- display: inline-flex;
- align-items: center;
-}
-
-.theme-orb__trigger {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 28px;
- height: 28px;
- border-radius: var(--radius-full);
- border: 1px solid var(--border);
- background: var(--card);
- cursor: pointer;
- font-size: 14px;
- line-height: 1;
- padding: 0;
- transition:
- border-color var(--duration-fast) var(--ease-out),
- box-shadow var(--duration-fast) var(--ease-out),
- transform var(--duration-fast) var(--ease-out);
-}
-
-.theme-orb__trigger:hover {
- border-color: var(--border-strong);
- transform: scale(1.08);
-}
-
-.theme-orb__trigger:focus-visible {
- outline: none;
- border-color: var(--ring);
- box-shadow: var(--focus-ring);
-}
-
-.theme-orb__menu {
- position: absolute;
- right: 0;
- top: calc(100% + 6px);
- display: flex;
- gap: 2px;
- padding: 4px;
- border-radius: var(--radius-full);
- background: var(--card);
- border: 1px solid var(--border);
- box-shadow: var(--shadow-md);
- opacity: 0;
- visibility: hidden;
- transform: scale(0.4) translateY(-8px);
- transform-origin: top right;
- pointer-events: none;
- transition:
- opacity var(--duration-normal) var(--ease-out),
- transform var(--duration-normal) var(--ease-out);
-}
-
-.theme-orb--open .theme-orb__menu {
- opacity: 1;
- visibility: visible;
- transform: scale(1) translateY(0);
- pointer-events: auto;
-}
-
-.theme-orb__option {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 28px;
- height: 28px;
- border-radius: var(--radius-full);
- border: 1.5px solid transparent;
- background: transparent;
- cursor: pointer;
- font-size: 14px;
- line-height: 1;
- padding: 0;
- transition:
- background var(--duration-fast) var(--ease-out),
- border-color var(--duration-fast) var(--ease-out),
- transform var(--duration-fast) var(--ease-out);
-}
-
-.theme-orb__option:hover {
- background: var(--bg-hover);
- transform: scale(1.12);
-}
-
-.theme-orb__option--active {
- border-color: var(--accent);
- background: var(--accent-subtle);
-}
-
-.theme-orb__option:focus-visible {
- outline: none;
- box-shadow: var(--focus-ring);
-}
-
-.theme-icon {
- width: 14px;
- height: 14px;
- stroke: currentColor;
- fill: none;
- stroke-width: 1.5px;
- stroke-linecap: round;
- stroke-linejoin: round;
-}
/* ===========================================
Status Dot - With glow for emphasis
diff --git a/ui/src/styles/layout.css b/ui/src/styles/layout.css
index 9ed034390d7..242f12c8925 100644
--- a/ui/src/styles/layout.css
+++ b/ui/src/styles/layout.css
@@ -7,7 +7,7 @@
--shell-gap: 16px;
--shell-nav-width: 258px;
--shell-nav-rail-width: 78px;
- --shell-topbar-height: 52px;
+ --shell-topbar-height: 44px;
--shell-focus-duration: 200ms;
--shell-focus-ease: var(--ease-out);
height: 100vh;
@@ -71,7 +71,7 @@
z-index: 40;
display: flex;
align-items: center;
- padding: 0 24px;
+ padding: 0 12px;
min-height: var(--shell-topbar-height);
border-bottom: 1px solid color-mix(in srgb, var(--border) 74%, transparent);
background: color-mix(in srgb, var(--bg) 82%, transparent);
@@ -82,7 +82,7 @@
.topnav-shell {
display: flex;
align-items: center;
- gap: 16px;
+ gap: 10px;
width: 100%;
min-height: var(--shell-topbar-height);
padding: 0;
@@ -92,50 +92,10 @@
box-shadow: none;
}
-.sidebar-menu-trigger {
- align-items: center;
- justify-content: center;
- flex-shrink: 0;
- width: 38px;
- height: 38px;
- padding: 0;
- border: 1px solid color-mix(in srgb, var(--border) 84%, transparent);
- border-radius: var(--radius-full);
- background: color-mix(in srgb, var(--bg-elevated) 80%, transparent);
- color: var(--muted);
- cursor: pointer;
- transition:
- border-color var(--duration-fast) ease,
- background var(--duration-fast) ease,
- color var(--duration-fast) ease,
- transform var(--duration-fast) ease;
- box-shadow: inset 0 1px 0 color-mix(in srgb, white 8%, transparent);
-}
-
-.sidebar-menu-trigger:hover {
- border-color: color-mix(in srgb, var(--border-strong) 88%, transparent);
- background: color-mix(in srgb, var(--bg-hover) 84%, transparent);
- color: var(--text);
- transform: translateY(-1px);
-}
-
-.sidebar-menu-trigger:active {
- transform: translateY(0);
-}
-
-.sidebar-menu-trigger:focus-visible {
- outline: none;
- box-shadow: var(--focus-ring);
-}
-
-.topbar-nav-toggle {
- display: none;
-}
-
.topnav-shell__actions {
display: flex;
align-items: center;
- gap: 12px;
+ gap: 6px;
flex-shrink: 0;
}
@@ -144,22 +104,6 @@
flex: 1;
}
-.topbar .nav-collapse-toggle {
- width: 36px;
- height: 36px;
- margin-bottom: 0;
-}
-
-.topbar .nav-collapse-toggle__icon {
- width: 20px;
- height: 20px;
-}
-
-.topbar .nav-collapse-toggle__icon svg {
- width: 20px;
- height: 20px;
-}
-
.topnav-shell .dashboard-header {
display: flex;
align-items: center;
@@ -229,58 +173,27 @@
}
}
-.topbar-status {
- display: flex;
- align-items: center;
- gap: 8px;
-}
-
-.topbar-status .pill {
- padding: 6px 10px;
- gap: 6px;
- font-size: 12px;
- font-weight: 500;
- height: 32px;
- box-sizing: border-box;
-}
-
-.topbar-status .pill .mono {
- display: flex;
- align-items: center;
- line-height: 1;
- margin-top: 0px;
-}
-
-.topbar-status .statusDot {
- width: 6px;
- height: 6px;
-}
-
-.topbar-status .theme-orb__trigger {
- width: 26px;
- height: 26px;
- font-size: 13px;
-}
-
+/* Quiet ghost buttons: the tiny top bar carries navigation chrome only, so
+ its controls stay borderless and muted until hovered. */
.topbar-icon-btn {
display: inline-flex;
align-items: center;
justify-content: center;
- width: 38px;
- min-height: 38px;
- border: 1px solid color-mix(in srgb, var(--border) 88%, transparent);
- border-radius: var(--radius-full);
- background: color-mix(in srgb, var(--bg-elevated) 84%, transparent);
+ width: 32px;
+ height: 32px;
+ padding: 0;
+ flex-shrink: 0;
+ border: none;
+ border-radius: var(--radius-md);
+ background: transparent;
color: var(--muted);
cursor: pointer;
transition:
- border-color var(--duration-fast) ease,
background var(--duration-fast) ease,
color var(--duration-fast) ease;
}
-.topbar-icon-btn:hover {
- border-color: color-mix(in srgb, var(--border-strong) 90%, transparent);
+.topbar-icon-btn:hover:not(:disabled) {
background: color-mix(in srgb, var(--bg-hover) 84%, transparent);
color: var(--text);
}
@@ -293,8 +206,8 @@
/* Without explicit sizing/stroke the Lucide-style icon renders as a filled
blob at the browser's default svg size (e.g. the terminal toggle glyph). */
.topbar-icon-btn svg {
- width: 16px;
- height: 16px;
+ width: 17px;
+ height: 17px;
stroke: currentColor;
fill: none;
stroke-width: 1.5px;
@@ -302,61 +215,6 @@
stroke-linejoin: round;
}
-.topbar-theme-mode {
- display: inline-flex;
- align-items: center;
- gap: 2px;
- padding: 3px;
- border: 1px solid color-mix(in srgb, var(--border) 84%, transparent);
- border-radius: var(--radius-full);
- background: color-mix(in srgb, var(--bg-elevated) 78%, transparent);
-}
-
-.topbar-theme-mode__btn {
- position: relative;
- width: 30px;
- height: 30px;
- display: inline-flex;
- align-items: center;
- justify-content: center;
- padding: 0;
- border: 1px solid transparent;
- border-radius: var(--radius-full);
- background: transparent;
- color: var(--muted);
- cursor: pointer;
- transition:
- color var(--duration-fast) ease,
- background var(--duration-fast) ease,
- border-color var(--duration-fast) ease;
-}
-
-.topbar-theme-mode__btn:hover {
- color: var(--text);
- background: var(--bg-hover);
-}
-
-.topbar-theme-mode__btn:focus-visible {
- outline: none;
- box-shadow: var(--focus-ring);
-}
-
-.topbar-theme-mode__btn--active {
- color: var(--accent);
- background: var(--accent-subtle);
- border-color: color-mix(in srgb, var(--accent) 25%, transparent);
-}
-
-.topbar-theme-mode__btn svg {
- width: 14px;
- height: 14px;
- stroke: currentColor;
- fill: none;
- stroke-width: 1.75px;
- stroke-linecap: round;
- stroke-linejoin: round;
-}
-
/* ===========================================
Navigation Sidebar
=========================================== */
@@ -431,7 +289,9 @@
@media (min-width: 700px) {
html.openclaw-native-macos .sidebar:not(.sidebar--collapsed) .sidebar-native-brand {
- /* 84px clears the native traffic-light cluster (drag region starts at 78px). */
+ /* 84px clears the native traffic-light cluster (drag region starts at 78px).
+ The mark is a transparent SVG; any box-shadow/background reads as a
+ misplaced card behind the mascot, so it renders bare. */
position: absolute;
top: 0;
left: 84px;
@@ -439,8 +299,6 @@
width: 22px;
height: 22px;
margin-top: calc((var(--openclaw-native-titlebar-height, 50px) - 22px) / 2);
- border-radius: 6px;
- box-shadow: 0 4px 10px color-mix(in srgb, black 12%, transparent);
}
}
@@ -449,6 +307,91 @@
border-top: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
}
+/* Command palette entry: reads as a search field so it is discoverable, but
+ it is a button — the palette owns the real input. */
+.sidebar-search {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ width: calc(100% - 16px);
+ min-height: 32px;
+ margin: 0 8px 10px;
+ padding: 0 9px;
+ border: 1px solid color-mix(in srgb, var(--border) 78%, transparent);
+ border-radius: var(--radius-md);
+ background: color-mix(in srgb, var(--bg-elevated) 62%, transparent);
+ color: var(--muted);
+ cursor: pointer;
+ font: inherit;
+ font-size: 13px;
+ text-align: left;
+ transition:
+ border-color var(--duration-fast) ease,
+ background var(--duration-fast) ease,
+ color var(--duration-fast) ease;
+}
+
+.sidebar-search:hover:not(:disabled) {
+ border-color: color-mix(in srgb, var(--border-strong) 88%, transparent);
+ background: color-mix(in srgb, var(--bg-hover) 84%, transparent);
+ color: var(--text);
+}
+
+.sidebar-search:focus-visible {
+ outline: none;
+ box-shadow: var(--focus-ring);
+}
+
+.sidebar-search:disabled {
+ cursor: not-allowed;
+ opacity: 0.52;
+}
+
+.sidebar-search__icon {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ width: 15px;
+ height: 15px;
+ flex-shrink: 0;
+}
+
+.sidebar-search__icon svg {
+ width: 15px;
+ height: 15px;
+ stroke: currentColor;
+ fill: none;
+ stroke-width: 1.6px;
+ stroke-linecap: round;
+ stroke-linejoin: round;
+}
+
+.sidebar-search__label {
+ flex: 1 1 auto;
+ min-width: 0;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.sidebar-search__kbd {
+ flex-shrink: 0;
+ padding: 1px 5px;
+ border: 1px solid color-mix(in srgb, var(--border) 84%, transparent);
+ border-radius: var(--radius-sm);
+ font-family: inherit;
+ font-size: 10.5px;
+ color: color-mix(in srgb, var(--muted) 88%, transparent);
+}
+
+.sidebar--collapsed .sidebar-search {
+ justify-content: center;
+ width: 44px;
+ min-height: 36px;
+ margin: 0 auto 10px;
+ padding: 0;
+}
+
.sidebar-nav {
/* Nav stays pinned above the session list; the cap keeps sessions reachable
when an expanded More section outgrows a short window (nav then scrolls). */
@@ -1427,9 +1370,70 @@
display: none;
}
-/* Mode switch in sidebar — hidden on desktop, shown on mobile */
+/* Color mode segmented toggle, sidebar footer edition: quiet enough to sit
+ between plain icon buttons (no pill chrome until a segment is active). */
.sidebar-mode-switch {
- display: none;
+ display: inline-flex;
+ margin-left: 2px;
+}
+
+.theme-mode-toggle {
+ display: inline-flex;
+ align-items: center;
+ gap: 2px;
+}
+
+.theme-mode-toggle__btn {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ width: 26px;
+ height: 26px;
+ padding: 0;
+ border: 1px solid transparent;
+ border-radius: var(--radius-md);
+ background: transparent;
+ color: var(--muted);
+ cursor: pointer;
+ transition:
+ color var(--duration-fast) ease,
+ background var(--duration-fast) ease,
+ border-color var(--duration-fast) ease;
+}
+
+.theme-mode-toggle__btn:hover {
+ color: var(--text);
+ background: color-mix(in srgb, var(--bg-hover) 84%, transparent);
+}
+
+.theme-mode-toggle__btn:focus-visible {
+ outline: none;
+ box-shadow: var(--focus-ring);
+}
+
+.theme-mode-toggle__btn--active {
+ color: var(--accent);
+ background: var(--accent-subtle);
+ border-color: color-mix(in srgb, var(--accent) 25%, transparent);
+}
+
+.theme-mode-toggle__btn svg {
+ width: 14px;
+ height: 14px;
+ stroke: currentColor;
+ fill: none;
+ stroke-width: 1.75px;
+ stroke-linecap: round;
+ stroke-linejoin: round;
+}
+
+/* Rail mode: the footer stacks vertically, so the segments do too. */
+.sidebar--collapsed .sidebar-mode-switch {
+ margin-left: 0;
+}
+
+.sidebar--collapsed .theme-mode-toggle {
+ flex-direction: column;
}
.shell--nav-collapsed .shell-nav {
@@ -1804,14 +1808,10 @@
.topbar {
position: static;
- padding: 12px 14px;
+ padding: 6px 12px;
gap: 10px;
}
- .topbar-status {
- flex-wrap: wrap;
- }
-
.table-head,
.table-row {
grid-template-columns: 1fr;
diff --git a/ui/src/styles/layout.mobile.css b/ui/src/styles/layout.mobile.css
index 4fea1f83691..d38992d8f1c 100644
--- a/ui/src/styles/layout.mobile.css
+++ b/ui/src/styles/layout.mobile.css
@@ -147,16 +147,6 @@
pointer-events: auto;
}
- /* Show the hamburger toggle at the same breakpoint where the drawer takes over;
- the desktop rail toggle makes no sense once the sidebar is a drawer. */
- .topbar-nav-toggle {
- display: inline-flex;
- }
-
- .sidebar-collapse-toggle {
- display: none;
- }
-
.sidebar,
.sidebar--collapsed {
width: 100%;
@@ -255,9 +245,9 @@
.topnav-shell__actions {
min-width: 0;
flex: 1 1 auto;
- justify-content: space-between;
+ justify-content: flex-end;
gap: 10px;
- align-items: stretch;
+ align-items: center;
}
.topnav-shell__content {
@@ -265,44 +255,6 @@
width: 100%;
}
- .topbar-nav-toggle {
- display: inline-flex;
- }
-
- .topbar-status {
- gap: 6px;
- width: auto;
- flex-wrap: nowrap;
- }
-
- .topbar-theme-mode {
- display: none;
- }
-
- .sidebar-mode-switch {
- display: block;
- }
-
- .sidebar-mode-switch .topbar-theme-mode {
- display: inline-flex;
- width: 100%;
- justify-content: center;
- }
-
- .topbar-status .pill {
- padding: 4px 8px;
- font-size: 12px; /* was 11px */
- gap: 4px;
- }
-
- .topbar-status .pill .mono {
- display: none;
- }
-
- .topbar-status .pill span:nth-child(2) {
- display: none;
- }
-
.shell-nav,
.shell--nav-collapsed .shell-nav {
width: min(92vw, 320px);
@@ -693,12 +645,6 @@
border-radius: var(--radius-md);
font-size: 12px; /* was 11px */
}
-
- .theme-orb__trigger {
- width: 26px;
- height: 26px;
- font-size: 13px;
- }
}
/* Small mobile */
@@ -745,17 +691,6 @@
padding: 6px 10px;
font-size: 12px; /* was 11px */
}
-
- .topbar-status .pill {
- padding: 3px 6px;
- font-size: 12px; /* was 10px */
- }
-
- .theme-orb__trigger {
- width: 24px;
- height: 24px;
- font-size: 12px;
- }
}
/* ===========================================