Files
claudecodeui/src/i18n/locales/ja/sidebar.json
Koya Kikuchi f6326c8082 feat(version): warn when the server was updated but not restarted (#898)
When the package is updated on disk but the long-lived server process is
not restarted, the new frontend bundle (served from disk) talks to the
old running backend. New DB-backed features then fail silently — e.g.
deleting/archiving a session appears to do nothing — because the new
schema/routes only take effect on restart.

Nothing currently detects this skew: useVersionCheck only compares the
frontend's build-time version against the latest GitHub release.

This exposes the running server's version (captured once at startup) via
/health, compares it to the frontend's build-time version in
useVersionCheck, and shows a "restart required" banner in the sidebar
(and a small indicator in the collapsed sidebar) when they differ.

- server: add `version` (RUNNING_VERSION, read once at startup) to /health
- useVersionCheck: return `restartRequired` / `runningVersion`
- SidebarFooter / SidebarCollapsed: surface a restart-required banner
- i18n: add `version.restartRequired` to all 10 sidebar locales

Verified with `tsc --noEmit` (client + server) and eslint.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Simos Mikelatos <simosmik@gmail.com>
2026-06-22 22:49:57 +02:00

131 lines
6.5 KiB
JSON
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.

{
"projects": {
"title": "プロジェクト",
"newProject": "新規プロジェクト",
"deleteProject": "プロジェクトを除去",
"renameProject": "プロジェクト名を変更",
"noProjects": "プロジェクトが見つかりません",
"loadingProjects": "プロジェクトを読み込んでいます...",
"searchPlaceholder": "プロジェクトを検索...",
"projectNamePlaceholder": "プロジェクト名",
"starred": "お気に入り",
"all": "すべて",
"untitledSession": "無題のセッション",
"newSession": "新しいセッション",
"codexSession": "Codexセッション",
"fetchingProjects": "Claudeのプロジェクトとセッションを取得しています",
"projects": "プロジェクト",
"noMatchingProjects": "一致するプロジェクトがありません",
"tryDifferentSearch": "検索語を変えてお試しください",
"runClaudeCli": "プロジェクトディレクトリでClaude CLIを実行して始めましょう"
},
"app": {
"title": "CloudCLI",
"subtitle": "AIコーディングアシスタント"
},
"sessions": {
"title": "セッション",
"newSession": "新しいセッション",
"deleteSession": "セッションを削除",
"renameSession": "セッション名を変更",
"noSessions": "セッションはまだありません",
"loadingSessions": "セッションを読み込んでいます...",
"unnamed": "名称未設定",
"loading": "読み込み中...",
"showMore": "さらにセッションを表示"
},
"tooltips": {
"viewEnvironments": "環境を表示",
"hideSidebar": "サイドバーを隠す",
"createProject": "新しいプロジェクトを作成",
"refresh": "プロジェクトとセッションを更新 (Ctrl+R)",
"renameProject": "プロジェクト名を変更 (F2)",
"deleteProject": "サイドバーからプロジェクトを除去 (Delete)",
"addToFavorites": "お気に入りに追加",
"removeFromFavorites": "お気に入りから削除",
"editSessionName": "セッション名を手動で編集",
"deleteSession": "このセッションを完全に削除",
"activeSessionIndicator": "最近アクティブなセッション過去10分以内",
"save": "保存",
"cancel": "キャンセル",
"openCommandPalette": "コマンドパレットを開く"
},
"navigation": {
"chat": "チャット",
"files": "ファイル",
"git": "Git",
"terminal": "ターミナル",
"tasks": "タスク"
},
"actions": {
"refresh": "更新",
"settings": "設定",
"collapseAll": "すべて折りたたむ",
"expandAll": "すべて展開",
"cancel": "キャンセル",
"save": "保存",
"delete": "削除",
"rename": "名前の変更",
"joinCommunity": "コミュニティに参加",
"reportIssue": "問題を報告",
"starOnGithub": "GitHubでスター"
},
"branding": {
"openSource": "オープンソース"
},
"status": {
"active": "アクティブ",
"inactive": "非アクティブ",
"thinking": "思考中...",
"error": "エラー",
"aborted": "中断",
"unknown": "不明"
},
"time": {
"justNow": "たった今",
"oneMinuteAgo": "1分前",
"minutesAgo": "{{count}}分前",
"oneHourAgo": "1時間前",
"hoursAgo": "{{count}}時間前",
"oneDayAgo": "1日前",
"daysAgo": "{{count}}日前"
},
"messages": {
"deleteConfirm": "本当に削除しますか?",
"renameSuccess": "名前を変更しました",
"deleteSuccess": "削除しました",
"errorOccurred": "エラーが発生しました",
"deleteSessionConfirm": "このセッションを削除してもよろしいですか?この操作は取り消せません。",
"deleteProjectConfirm": "サイドバーからこのプロジェクトを除去しますか?プロジェクトファイル、メモリ、セッションデータは削除されません。",
"enterProjectPath": "プロジェクトのパスを入力してください",
"deleteSessionFailed": "セッションの削除に失敗しました。もう一度お試しください。",
"deleteSessionError": "セッションの削除でエラーが発生しました。もう一度お試しください。",
"renameSessionFailed": "セッション名の変更に失敗しました。もう一度お試しください。",
"renameSessionError": "セッション名の変更でエラーが発生しました。もう一度お試しください。",
"deleteProjectFailed": "プロジェクトの除去に失敗しました。もう一度お試しください。",
"deleteProjectError": "プロジェクトの除去でエラーが発生しました。もう一度お試しください。",
"createProjectFailed": "プロジェクトの作成に失敗しました。もう一度お試しください。",
"createProjectError": "プロジェクトの作成でエラーが発生しました。もう一度お試しください。",
"updateProjectError": "プロジェクトの更新でエラーが発生しました。もう一度お試しください。",
"refreshError": "更新に失敗しました。もう一度お試しください。",
"restoreProjectFailed": "プロジェクトの復元に失敗しました。もう一度お試しください。",
"restoreProjectError": "プロジェクトの復元でエラーが発生しました。もう一度お試しください。",
"restoreSessionFailed": "セッションの復元に失敗しました。もう一度お試しください。",
"restoreSessionError": "セッションの復元でエラーが発生しました。もう一度お試しください。"
},
"version": {
"updateAvailable": "アップデートあり",
"restartRequired": "更新が適用されていません。サーバーを再起動してください"
},
"deleteConfirmation": {
"deleteProject": "プロジェクトを除去",
"deleteSession": "セッションを削除",
"confirmDelete": "このプロジェクトをどうしますか:",
"sessionCount": "このプロジェクトには{{count}}件の会話があります。",
"removeFromSidebar": "サイドバーからのみ除去",
"deleteAllData": "すべてのデータを完全に削除",
"allConversationsDeleted": "プロジェクトはサイドバーから除去されます。ファイル、メモリ、セッションデータは保持されます。",
"cannotUndo": "後からプロジェクトを再追加できます。"
}
}