the panel names the earlier migration missed (181 -> 171)
Terminal's metas are in index.tsx and the migration globbed index.ts, so its three translatable names were never keyed. Found by diffing the remainder against FileBrowser rather than by reading the glob. The product names — Tmux, Neovim, Claude Code, Minesweeper, SendOff, and the three system-monitor scopes, which name bTop, pm2 and docker themselves — carry i18n-exempt markers now. They were correct as plain strings but the scanner counted them, so the area could not have reached zero either way. Everything outside FileBrowser is now thrown Errors only.
This commit is contained in:
@@ -9,5 +9,6 @@ export { RfbClient } from './rfb';
|
||||
// rather than a vendored noVNC, because we control the server and need two encodings out of ten.
|
||||
|
||||
export const appRegistryMetas: AppRegistryMeta[] = [
|
||||
// i18n-exempt: product name
|
||||
{ key: 'minesweeper', name: 'Minesweeper', icon: Bomb, component: MinesweeperPanel },
|
||||
];
|
||||
|
||||
@@ -6,5 +6,6 @@ export { SendOffPanel } from './SendOffPanel';
|
||||
export { useSendOff, useSendOffSenders, useSendOffTargets } from './useSendOff';
|
||||
|
||||
export const appRegistryMetas: AppRegistryMeta[] = [
|
||||
// i18n-exempt: product name
|
||||
{ key: 'sendoff', name: 'SendOff', icon: Send, component: SendOffPanel },
|
||||
];
|
||||
|
||||
@@ -6,9 +6,13 @@ import { useParams } from 'react-router';
|
||||
// on whatever you last clicked in some other tab.
|
||||
export type MonitorScope = 'btop' | 'pm2' | 'docker';
|
||||
|
||||
// Each label names the tool the scope shows, so all three are product names and stay as they are.
|
||||
export const SCOPES: { id: MonitorScope; label: string }[] = [
|
||||
// i18n-exempt: product names — bTop, pm2 and docker are the tools themselves
|
||||
{ id: 'btop', label: 'bTop' },
|
||||
// i18n-exempt: product names — bTop, pm2 and docker are the tools themselves
|
||||
{ id: 'pm2', label: 'pm2 processes' },
|
||||
// i18n-exempt: product names — bTop, pm2 and docker are the tools themselves
|
||||
{ id: 'docker', label: 'dockers' },
|
||||
];
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import { HostTerminalWrapper } from './HostTerminalWrapper';
|
||||
import { CommandTerminalWrapper } from './CommandTerminalWrapper';
|
||||
import { TerminalHeader, HostTerminalHeader, TmuxHeader, NvimHeader, ClaudeCodeHeader } from './Headers';
|
||||
import { RunningShells } from './RunningShells';
|
||||
import { panelName } from '../../locales';
|
||||
|
||||
export { TerminalView, type TerminalViewProps, type TerminalConnectionState } from './Terminal';
|
||||
|
||||
@@ -40,7 +41,7 @@ const ClaudeCodeWrapper = ({ panelId }: { panelId: string }) => (
|
||||
export const appRegistryMetas: AppRegistryMeta[] = [
|
||||
{
|
||||
key: 'officerdev/terminal',
|
||||
name: 'Terminal',
|
||||
name: panelName('panelName.terminal'),
|
||||
icon: TerminalSquare,
|
||||
component: TerminalWrapper,
|
||||
header: TerminalHeader,
|
||||
@@ -48,7 +49,7 @@ export const appRegistryMetas: AppRegistryMeta[] = [
|
||||
},
|
||||
{
|
||||
key: 'officerdev/terminal-host',
|
||||
name: 'Host Terminal',
|
||||
name: panelName('panelName.hostTerminal'),
|
||||
icon: Monitor,
|
||||
component: HostTerminalWrapper,
|
||||
header: HostTerminalHeader,
|
||||
@@ -57,6 +58,7 @@ export const appRegistryMetas: AppRegistryMeta[] = [
|
||||
},
|
||||
{
|
||||
key: 'officerdev/tmux',
|
||||
// i18n-exempt: product name
|
||||
name: 'Tmux',
|
||||
icon: Columns2,
|
||||
component: TmuxWrapper,
|
||||
@@ -65,6 +67,7 @@ export const appRegistryMetas: AppRegistryMeta[] = [
|
||||
},
|
||||
{
|
||||
key: 'officerdev/nvim',
|
||||
// i18n-exempt: product name
|
||||
name: 'Neovim',
|
||||
icon: PenLine,
|
||||
component: NvimWrapper,
|
||||
@@ -73,12 +76,13 @@ export const appRegistryMetas: AppRegistryMeta[] = [
|
||||
},
|
||||
{
|
||||
key: 'officerdev/running-shells',
|
||||
name: 'Running Shells',
|
||||
name: panelName('panelName.runningShells'),
|
||||
icon: ListTree,
|
||||
component: RunningShells,
|
||||
},
|
||||
{
|
||||
key: 'officerdev/claude-code',
|
||||
// i18n-exempt: product name
|
||||
name: 'Claude Code',
|
||||
icon: Sparkles,
|
||||
component: ClaudeCodeWrapper,
|
||||
|
||||
@@ -72,7 +72,8 @@
|
||||
"name": "Name",
|
||||
"status": "Status",
|
||||
"mem": "Mem",
|
||||
"uptime": "Uptime"
|
||||
"uptime": "Uptime",
|
||||
"scopeDockers": "dockers"
|
||||
},
|
||||
"codeEditor": {
|
||||
"closeFile": "Close {{name}}",
|
||||
|
||||
@@ -72,7 +72,8 @@
|
||||
"name": "Nome",
|
||||
"status": "Estado",
|
||||
"mem": "Mem",
|
||||
"uptime": "Tempo ativo"
|
||||
"uptime": "Tempo ativo",
|
||||
"scopeDockers": "dockers"
|
||||
},
|
||||
"codeEditor": {
|
||||
"closeFile": "Fechar {{name}}",
|
||||
|
||||
Reference in New Issue
Block a user