Files
OpenTerminal/src/shared/i18n/dicts/ja/workspace.ts
T
Bill 4c6a29ef28 feat: multi-language interface (zh-CN/zh-TW/en/ja), multilingual offline changelog, settings robustness
i18n
- shared/i18n: dependency-free t() with flat per-namespace dictionaries
  (common/settings/workspace/terminal/ssh/panels/main), zh-CN fallback
- language picker in Settings -> System; antd ConfigProvider locale follows it
- main process tracks the language too: tray menu, close prompt, ssh/sftp/
  zmodem errors and the log TUI marker are translated; tray rebuilds on change

changelog
- CHANGELOG.md (zh-CN canonical) + .zh-TW/.en/.ja, bundled via ?raw and read
  per interface language with per-version fallback to zh-CN (no network)
- sync-changelog.cjs merges RELEASE_NOTES[.<lang>].md per release; release.cjs
  refuses to publish without a zh-CN entry for the version

settings robustness
- closeAction 'ask' survives the sanitizer (was silently coerced to 'tray',
  which made the 'ask every time' option dead)
- highlight rules are repaired instead of dropped: string priority, 0/1
  enabled, missing fg colour; unknown fields preserved
- load-time warnings are written to settings-warnings.log (deduped, capped)

terminal/UI
- configurable terminal toolbar: open working directory (default on), session
  log recording (off), open logs folder (off)
- global shortcut field records key combos (modifier or F-key required)
- input suggestions + command history default to off, with a one-time reset
  migration for existing installs
- settings dialog scrolling fixed (antd v6 renamed the tabs container), theme
  gallery nested scrollbar removed, joined segmented pickers with readable
  selected-state text

tests: settings-store.mjs (15 checks) added; commands-store.mjs updated for
the new off-by-default history setting
2026-09-20 14:22:29 +08:00

63 lines
4.2 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/** 名前空間: workspace(ワークスペース外装:サイドバー、タブ、レイアウトメニュー、分割、空状態)。担当: ワークスペース。 */
const workspace: Record<string, string> = {
'workspace.tab.terminalTitle': 'ターミナル {n}',
'workspace.tab.localTerminal': 'ローカルターミナル',
'workspace.tab.closeOthers': 'ほかを閉じる',
'workspace.tab.closeRight': '右側を閉じる',
'workspace.tab.broadcastTarget': 'ブロードキャスト対象',
'workspace.tab.broadcastBadge': '配',
'workspace.tab.addInSplit': 'この分割に新しいターミナル',
'workspace.newTerminal': '新規ターミナル',
'workspace.empty.terminalTitle': 'ターミナルがありません',
'workspace.empty.sshTitle': 'SSH セッションがありません',
'workspace.empty.sshHint': '左側のサーバー一覧から接続してください',
'workspace.rail.hideSidebar': 'サイドバーを折りたたむ',
'workspace.rail.showSidebar': 'サイドバーを展開',
'workspace.rail.layout': 'レイアウト',
'workspace.rail.settings': '設定',
'workspace.rail.connecting': '接続中…',
'workspace.rail.terminalWorkspace': 'ターミナルワークスペース',
'workspace.rail.sshWorkspace': 'SSH ワークスペース',
'workspace.panel.hideSidebar': 'サイドバーを折りたたむ',
'workspace.panel.showSidebar': 'サイドバーを展開',
'workspace.layout.splitRight': '水平分割',
'workspace.layout.splitBelow': '垂直分割',
'workspace.layout.saveTemplate': 'テンプレートとして保存',
'workspace.layout.applyTemplate': 'テンプレートを適用',
'workspace.template.saveTitle': 'レイアウトテンプレートを保存',
'workspace.template.namePlaceholder': 'テンプレート名',
'workspace.template.applyTitle': 'レイアウトテンプレートを適用',
'workspace.template.empty': '保存済みのテンプレートはありません',
'workspace.template.apply': '適用',
'workspace.template.deleteConfirm': 'このテンプレートを削除しますか?',
'workspace.broadcast.toggle': 'ブロードキャスト入力',
'workspace.broadcast.activeTitle': 'ブロードキャスト中({count} 件の対象)',
'workspace.broadcast.popoverTerminal': 'ブロードキャスト入力(ターミナル)',
'workspace.broadcast.popoverSsh': 'ブロードキャスト入力(SSH)',
'workspace.broadcast.switch': 'ブロードキャストスイッチ',
'workspace.broadcast.enabled': '有効({count})',
'workspace.broadcast.needTwo': '対象を 2 つ以上選択してください',
'workspace.broadcast.disabled': '無効',
'workspace.broadcast.emptySsh': 'SSH サーバーセッションがありません',
'workspace.broadcast.emptyTerminal': 'ターミナルがありません',
'workspace.broadcast.hint':
'ターミナルを 2 つ以上選ぶとブロードキャストが自動的に有効になり、対象が 2 つ未満になると自動的に解除されます。選択できるのは現在のモードのセッションだけです。',
'workspace.hint.sshFromList': 'SSH セッションはサーバー一覧から接続してください',
'workspace.hint.connectSshFirst': '先に SSH サーバーへ接続してください',
'workspace.hint.noActiveTerminal':
'有効なターミナルがありません。ローカルターミナルまたは SSH セッションを 1 つ以上開いてください',
'workspace.hint.noSessionInPanel': '現在アクティブなパネルに利用できるセッションがありません',
'workspace.connect.failed': 'SSH 接続に失敗しました',
'workspace.connect.passwordTitle': '接続パスワードを入力',
'workspace.connect.passwordPlaceholder': 'パスワード',
'workspace.connect.passphraseTitle': '秘密鍵のパスフレーズを入力',
'workspace.connect.passphrasePlaceholder': 'パスフレーズ',
'workspace.connect.connecting': '接続中…',
'workspace.connect.connectingNamed': '{name} に接続しています',
'workspace.connect.action': '接続',
'workspace.error.title': '画面でエラーが発生しました',
'workspace.error.reload': '再読み込み'
}
export default workspace