You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Purpose: List user-facing strings that are not currently using the translation system (t!("key") / locales/en.yaml). No code changes—assessment only. Use this to add keys to locales/en.yaml and replace hardcoded strings with t!(...) for Weblate.
Reference: i18n uses rust_i18n::t!, keys in locales/en.yaml; see Internationalization.
1. Terminal Panel (src/ui/terminal_panel.rs)
All of the following are hardcoded (terminal was added in v0.2.6.1 and has no terminal.* keys in en.yaml).
Labels / messages
String
Context
"Terminal not found"
Shown when terminal widget is missing
"New Terminal Here"
Context menu
"Maximize Active Pane"
Context menu
"Pop out terminal"
Context menu
"Split Horizontal"
Context menu
"Split Vertical"
Context menu
"Rename"
Context menu
"Close"
Context menu
"Close Pane"
Context menu
"Close Others"
Context menu
"Scatter to Windows"
Context menu
"Watching: {}"
Watch mode label (path)
"Stop Watching"
Context menu
"Watch Workspace Root"
Context menu
"Export Output as HTML..."
Context menu
"(No workspace root set)"
Layout/workspace UI
"No macros saved."
Macros menu
"Close terminal panel"
Tooltip on close button
"This terminal has a running process."
Close confirmation dialog
"Closing it will terminate the process."
Close confirmation dialog
"Close Terminal"
Button in close confirmation
"Cancel"
Button in close confirmation
"No terminal. Click + to create one."
Empty state message
"Restore ⤢"
Button in maximized pane UI
Window / dialog titles
String
Context
"Close Terminal?"
Confirmation window title
Shell / layout buttons (toolbar / menus)
String
Context
"PowerShell"
New terminal shell option
"CMD"
New terminal shell option
"WSL"
New terminal shell option
"2 Columns"
Layout preset
"2 Rows"
Layout preset
"2x2 Grid"
Layout preset
"Save Current Layout..."
Layout menu
"Load Layout..."
Layout menu
"Scatter All Tabs"
Workspaces menu
"Save Workspace..."
Workspaces menu
"Load Workspace..."
Workspaces menu
"Save as Workspace Layout"
Button (when saving to .ferrite)
"Layouts"
Menu button
"Workspaces"
Menu button
"Watch Mode"
Menu button
"Macros"
Menu button
Error / recovery hints (user-facing from report_error / recovery_hint)
String
Context
"Terminal: {} — {}"
Toast format (operation + hint)
"Check that the shell is installed and the path is correct"
Recovery hint
"PTY allocation failed. Try closing other terminals or restarting the app"
Recovery hint
"Permission denied. Check that you have access to run the shell"
Recovery hint
"Terminal I/O failed. Try closing and reopening the terminal"
Recovery hint
"Failed to modify terminal layout"
Recovery hint
"An unexpected error occurred. Try restarting the terminal"
Total: Roughly 180+ distinct user-facing strings not currently using translation keys. The largest gaps are Terminal, Productivity Hub, navigation/formatting/export/file toasts, and Settings Terminal section.
Suggested key namespaces for locales/en.yaml
terminal.* – all terminal panel and terminal settings strings.
productivity.* or tasks.*, pomodoro.*, notes.* – Productivity Hub.
notification.* – extend for file watcher, undo/redo, outline, terminal, zen, fullscreen, pipeline, format, find, export, file ops toasts (and any other notifications).
dialog.* or error.* – error modals and confirmations (e.g. close terminal, failed to save).
file_dialog.* or dialog.file.* – file picker titles and filter names.
Keep existing settings.* and add settings.terminal.* for the Terminal section.
After adding keys to en.yaml, replace each string in code with t!("key") or t!("key", param = value) for parameterized messages, then run extraction/sync for Weblate as per your workflow.