diff --git a/src/workspaces/officerdev/src/apps/CodeEditor/CodeEditor.tsx b/src/workspaces/officerdev/src/apps/CodeEditor/CodeEditor.tsx index 053244c0..f8cb285b 100644 --- a/src/workspaces/officerdev/src/apps/CodeEditor/CodeEditor.tsx +++ b/src/workspaces/officerdev/src/apps/CodeEditor/CodeEditor.tsx @@ -13,6 +13,7 @@ import { useFilesRefresh } from '../../channels'; import { useWorkspace } from '../../components/Workspace'; import { useEditorTabs } from './use-editor-tabs'; import { configureMonacoTypescript } from './monaco-setup'; +import { useTranslation } from '../../locales'; type CodeEditorViewProps = { className?: string; @@ -103,6 +104,7 @@ export const CodeEditorView = ({ urlState, panelId, }: CodeEditorViewProps) => { + const { t } = useTranslation(); const { workspace } = useWorkspace(); const { restored, remember } = useEditorTabs(panelId, workspace); const { @@ -138,7 +140,7 @@ export const CodeEditorView = ({ const res = await readFile(path); openFile(path, name, res.content); } catch { - toast.error('Failed to read file'); + toast.error(t('codeEditor.readFailed')); } }; @@ -159,7 +161,7 @@ export const CodeEditorView = ({ .then((res) => alive && openFile(path, path.split('/').pop() ?? path, res.content)) .catch(() => { unreadable.current.add(path); - if (alive) toast.error('Failed to read file'); + if (alive) toast.error(t('codeEditor.readFailed')); }); return () => { alive = false; @@ -273,9 +275,9 @@ export const CodeEditorView = ({ try { await writeFile(activeFile.path, activeFile.content); markSaved(activeFile.path, activeFile.content); - toast.success('File saved'); + toast.success(t('codeEditor.saved')); } catch { - toast.error('Failed to save file'); + toast.error(t('codeEditor.saveFailed')); } }; @@ -322,10 +324,10 @@ export const CodeEditorView = ({ className="px-3 py-2 text-xs font-semibold uppercase tracking-wider flex items-center justify-between gap-2" style={{ color: '#888', borderBottom: `1px solid ${borderColor}` }} > - Explorer + {t('codeEditor.explorer')}