@@ -153,7 +153,7 @@ export function StatusPopover() {
153153 "bg-border-weak-base" : server . healthy ( ) === undefined ,
154154 } }
155155 />
156- < span class = "text-12-regular text-text-strong" > Status </ span >
156+ < span class = "text-12-regular text-text-strong" > { language . t ( "status.popover.trigger" ) } </ span >
157157 </ div >
158158 }
159159 class = "[&_[data-slot=popover-body]]:p-0 w-[360px] max-w-[calc(100vw-40px)] bg-transparent border-0 shadow-none rounded-xl"
@@ -166,7 +166,7 @@ export function StatusPopover() {
166166 style = { { "box-shadow" : "var(--shadow-lg-border-base)" } }
167167 >
168168 < Tabs
169- aria-label = "Server Configurations"
169+ aria-label = { language . t ( "status.popover.ariaLabel" ) }
170170 class = "tabs"
171171 data-component = "tabs"
172172 data-active = "servers"
@@ -189,16 +189,20 @@ export function StatusPopover() {
189189 } }
190190 >
191191 < Tabs . Trigger value = "servers" data-slot = "tab" class = "text-12-regular" >
192- { serverCount ( ) > 0 ? `${ serverCount ( ) } ` : "" } Servers
192+ { serverCount ( ) > 0 ? `${ serverCount ( ) } ` : "" }
193+ { language . t ( "status.popover.tab.servers" ) }
193194 </ Tabs . Trigger >
194195 < Tabs . Trigger value = "mcp" data-slot = "tab" class = "text-12-regular" >
195- { mcpConnected ( ) > 0 ? `${ mcpConnected ( ) } ` : "" } MCP
196+ { mcpConnected ( ) > 0 ? `${ mcpConnected ( ) } ` : "" }
197+ { language . t ( "status.popover.tab.mcp" ) }
196198 </ Tabs . Trigger >
197199 < Tabs . Trigger value = "lsp" data-slot = "tab" class = "text-12-regular" >
198- { lspCount ( ) > 0 ? `${ lspCount ( ) } ` : "" } LSP
200+ { lspCount ( ) > 0 ? `${ lspCount ( ) } ` : "" }
201+ { language . t ( "status.popover.tab.lsp" ) }
199202 </ Tabs . Trigger >
200203 < Tabs . Trigger value = "plugins" data-slot = "tab" class = "text-12-regular" >
201- { pluginCount ( ) > 0 ? `${ pluginCount ( ) } ` : "" } Plugins
204+ { pluginCount ( ) > 0 ? `${ pluginCount ( ) } ` : "" }
205+ { language . t ( "status.popover.tab.plugins" ) }
202206 </ Tabs . Trigger >
203207 </ Tabs . List >
204208
@@ -274,7 +278,7 @@ export function StatusPopover() {
274278 </ Show >
275279 < Show when = { isDefault ( ) } >
276280 < span class = "text-11-regular text-text-base bg-surface-base px-1.5 py-0.5 rounded-md" >
277- Default
281+ { language . t ( "common.default" ) }
278282 </ span >
279283 </ Show >
280284 < div class = "flex-1" />
@@ -292,7 +296,7 @@ export function StatusPopover() {
292296 class = "mt-3 self-start h-8 px-3 py-1.5"
293297 onClick = { ( ) => dialog . show ( ( ) => < DialogSelectServer /> ) }
294298 >
295- Manage servers
299+ { language . t ( "status.popover.action.manageServers" ) }
296300 </ Button >
297301 </ div >
298302 </ div >
@@ -304,7 +308,9 @@ export function StatusPopover() {
304308 < Show
305309 when = { mcpItems ( ) . length > 0 }
306310 fallback = {
307- < div class = "text-14-regular text-text-base text-center my-auto" > No MCP servers configured</ div >
311+ < div class = "text-14-regular text-text-base text-center my-auto" >
312+ { language . t ( "dialog.mcp.empty" ) }
313+ </ div >
308314 }
309315 >
310316 < For each = { mcpItems ( ) } >
@@ -351,7 +357,7 @@ export function StatusPopover() {
351357 when = { lspItems ( ) . length > 0 }
352358 fallback = {
353359 < div class = "text-14-regular text-text-base text-center my-auto" >
354- LSPs auto-detected from file types
360+ { language . t ( "dialog.lsp.empty" ) }
355361 </ div >
356362 }
357363 >
@@ -381,8 +387,19 @@ export function StatusPopover() {
381387 when = { plugins ( ) . length > 0 }
382388 fallback = {
383389 < div class = "text-14-regular text-text-base text-center my-auto" >
384- Plugins configured in{ " " }
385- < code class = "bg-surface-raised-base px-1.5 py-0.5 rounded-sm text-text-base" > opencode.json</ code >
390+ { ( ( ) => {
391+ const value = language . t ( "dialog.plugins.empty" )
392+ const file = "opencode.json"
393+ const parts = value . split ( file )
394+ if ( parts . length === 1 ) return value
395+ return (
396+ < >
397+ { parts [ 0 ] }
398+ < code class = "bg-surface-raised-base px-1.5 py-0.5 rounded-sm text-text-base" > { file } </ code >
399+ { parts . slice ( 1 ) . join ( file ) }
400+ </ >
401+ )
402+ } ) ( ) }
386403 </ div >
387404 }
388405 >
0 commit comments