feat(ux): enhance n-depth tree DND reordering, full i18n localization, admin live stats & sidebar redesign
Build and Push Docker Image / build-and-push (push) Successful in 9m22s

This commit is contained in:
2026-08-22 09:08:10 +09:00
parent 06d5344aef
commit 0f44090210
18 changed files with 1307 additions and 651 deletions
+162 -107
View File
@@ -3,179 +3,234 @@ import { TranslationDict } from "../types";
export const ja: TranslationDict = {
// Auth
appName: "CheckFlow",
tagline: "シンプルで洗練されたパーソナルタスク管理",
welcomeBack: "お帰りなさい 👋",
signInSubtitle: "メールアドレスでサインインしてください",
createAccount: "アカウント新規登録",
createAccountSubtitle: "CheckFlowでタスクの整理を始めましょう",
tagline: "TickTickスタイルのセルフホスト型タスク管理",
welcomeBack: "おかえりなさい",
signInSubtitle: "安全にログインしてタスクを管理します",
createAccount: "アカウント作成",
createAccountSubtitle: "セルフホストToDoプラットフォームを始めましょう",
displayName: "表示名",
email: "メールアドレス",
password: "パスワード",
min8Chars: "8文字以上",
signIn: "サインイン",
signingIn: "サインイン中...",
createBtn: "アカウントを作成",
creatingBtn: "アカウント作成中...",
alreadyHaveAccount: "すでにアカウントをお持ちですか?",
dontHaveAccount: "アカウントをお持ちでないですか?",
tryDemoMode: "体験モードで試す(DB不要)",
demoBadge: "体験モード",
signOut: "サインアウト",
signIn: "ログイン",
signingIn: "ログイン中...",
createBtn: "アカウント作成",
creatingBtn: "作成中...",
alreadyHaveAccount: "既にアカウントをお持ちですか? ログイン",
dontHaveAccount: "アカウントをお持ちでないですか? 新規作成",
tryDemoMode: "デモモードを試す(DB不要)",
demoBadge: "デモモード",
signOut: "ログアウト",
// Sidebar
lists: "リスト",
newList: "新規リスト",
listNamePlaceholder: "リスト名を入力",
newList: "新しいリスト",
listNamePlaceholder: "リスト名を入力...",
create: "作成",
cancel: "キャンセル",
save: "保存",
deleteListConfirm: "このリストを削除しますか?含まれるすべてのタスクも削除されます。",
deleteListConfirm: "このリストと含まれるすべてのタスクを削除しますか?",
undoDelete: "元に戻す",
listDeleted: "リストを削除しました",
importTasks: "インポート",
importModalTitle: "タスクのインポート",
listDeleted: "リストが削除されました",
importTasks: "タスクをインポート",
importModalTitle: "タスクのインポート (CSV / ICS)",
targetList: "インポート先リスト",
fileSelectLabel: "ファイル選択 (TickTick CSV / ICS)",
tickTickExportHint: "TickTick: 設定 → データのエクスポート → CSVまたはiCalendar",
fileSelectLabel: ".csv または .ics ファイルを選択 (TickTickエクスポート対応)",
tickTickExportHint: "TickTickエクスポート手順: 設定 → バックアップ → CSVエクスポート",
importBtn: "インポート",
importing: "インポート中...",
exportTasks: "エクスポート",
exportModalTitle: "タスクのエクスポート",
exportFormat: "エクスポート形式",
exportScope: "対象リスト",
allLists: "すべてのリスト (全体)",
exportTasks: "タスクをエクスポート",
exportModalTitle: "タスクのエクスポート (CSV / ICS)",
exportFormat: "ファイル形式",
exportScope: "対象範囲",
allLists: "すべてのリスト",
includeCompleted: "完了したタスクを含める",
exportBtn: "エクスポートしてダウンロード",
exportSuccess: "タスクを正常にエクスポートしました!",
exportBtn: "エクスポート",
exportSuccess: "タスクのエクスポートが完了しました",
theme: "テーマ",
themeSystem: "システム設定に同期",
themeLight: "ライトモード",
themeDark: "ダークモード",
language: "言語 (Language)",
themeSystem: "システム",
themeLight: "ライト",
themeDark: "ダーク",
language: "言語",
tags: "タグ",
trash: "ゴミ箱",
emptyTrash: "ゴミ箱を空にする",
searchPlaceholder: "タスク、メモ、タグを検索...",
searchExpandedPlaceholder: "タスク、メモ、タグをすべて検索 (Ctrl+K)...",
searchPlaceholder: "タスクを検索...",
searchExpandedPlaceholder: "タスク名、タグ、メモを検索...",
// Settings Modal
settingsModalTitle: "環境設定",
// Settings Modal - General & Tabs
settingsModalTitle: "設定",
profile: "プロフィール",
preferences: "カスタマイズ設定",
syncIntegrations: "外部連携 (CalDAV)",
admin: "管理者設定",
trashRetention: "ゴミ箱の自動保持期間",
trashRetentionHint: "指定した期間が経過した削除済みタスクは自動的に完全に削除されます。",
days7: "7日後に完全削除",
days14: "14日後に完全削除",
days30: "30日後に完全削除 (推奨)",
neverDelete: "自動削除しない (手動削除のみ)",
preferences: "環境設定",
syncIntegrations: "外部連携",
admin: "管理者",
trashRetention: "ゴミ箱自動削除の保持期間",
trashRetentionHint: "削除されたタスクは指定期間を過ぎると自動的に完全に削除されます。",
days7: "7日間",
days14: "14日間",
days30: "30日間 (推奨)",
neverDelete: "自動削除しない (手動で空にするのみ)",
settingsSaved: "設定が正常に保存されました",
passwordChangePlaceholder: "新しいパスワード (変更しない場合は空白)",
yourNamePlaceholder: "お名前",
// Settings Modal - Labs & Customization
labsSectionView: "ビュー設定",
labsSectionLayout: "レイアウト",
labsSectionAppearance: "外観とデザイン",
labsKanbanTitle: "カンバンボード",
labsKanbanDesc: "リストビューと3カラムのカンバンボード (To Do / 進行中 / 完了) を切り替えます。",
labsDensityTitle: "表示密度",
labsDensityDesc: "タスク項目の行間および縦の余白を調整します。",
densityCompact: "コンパクト",
densityDefault: "標準",
densityComfortable: "ゆったり",
sidebarWidthTitle: "サイドバーの幅",
sidebarWidthDesc: "サイドバーの境界線をドラッグするかスライダーで調整します。",
detailWidthTitle: "詳細パネルの幅",
detailWidthDesc: "右側詳細タブの境界線をドラッグするかスライダーで調整します。",
fontSizeTitle: "フォントサイズ",
fontSizeDesc: "アプリ全体の基準フォントサイズを設定します。",
fontSizeSmall: "小",
fontSizeMedium: "中",
fontSizeLarge: "大",
accentColorTitle: "アクセントカラー",
accentColorDesc: "アクセントカラーの色相(Hue)と彩度(Saturation)をカスタマイズします。",
saturationLabel: "彩度",
hueLabel: "色相 °",
roundnessTitle: "角の丸み",
roundnessDesc: "カードやボタン、UI要素の角丸スタイルを設定します。",
roundnessSharp: "シャープ",
roundnessDefault: "標準",
roundnessRound: "ラウンド",
animationSpeedTitle: "アニメーション速度",
animationSpeedDesc: "画面切り替えやホバー効果の速度を調整します。",
animationOff: "オフ",
animationFast: "高速",
animationDefault: "標準",
animationSlow: "ゆっくり",
resetDefaultsTitle: "設定を初期状態に戻す",
resetDefaultsDesc: "すべてのレイアウト、デザイン、ビューのカスタマイズ設定を初期値にリセットします。",
// Settings Modal - Admin tab
adminCurrentAccount: "現在のアカウント",
adminIsolationMode: "分離モード",
adminMultiUserPrivacy: "マルチユーザー・プライバシー保護",
adminCalDavEndpoint: "CalDAV エンドポイント",
adminActiveEnabled: "正常に稼働中",
adminOpenDashboard: "管理者ダッシュボードを開く →",
// CalDAV & Sync
syncTitle: "CalDAV モバイルおよび外部アプリ同期",
syncDesc: "Android (DAVx⁵, Tasks.org)、Apple リマインダー、Thunderbird など標準 CalDAV をサポートする各種端末やアプリと双方向同期できます。",
syncBaseUrl: "CalDAV サーバー基本 URL",
syncTitle: "CalDAV モバイル同期 (Android / Apple)",
syncDesc: "CheckFlowは標準CalDAVプロトコルにより、Android、Appleリマインダー、Thunderbirdとの双方向同期に対応しています。",
syncBaseUrl: "CalDAV サーバーアドレス (Base URL)",
syncCopyUrl: "URLをコピー",
syncCopied: "コピー完了!",
syncCopied: "コピーしました!",
syncDownloadIcs: ".ICS フィードをダウンロード",
syncTestConnection: "接続テスト",
syncTesting: "テスト中...",
syncTestSuccess: "✓ CalDAV エンドポイントは正常に応答しています (200 OK)",
syncTesting: "確認中...",
syncTestSuccess: "CalDAVサーバーが正常に応答しました",
syncTestError: "エンドポイントテスト失敗",
syncTabAndroid: "Android (DAVx⁵)",
syncTabApple: "Apple リマインダー (iOS / macOS)",
syncTabThunderbird: "Thunderbird (Desktop)",
syncAndroidStep1: "Google Play または F-Droid から「DAVx⁵」アプリをインストールします。",
syncAndroidStep2: "DAVx⁵ を起動 → アカウント追加(+) →「URL とユーザー名でログイン」を選択します。",
syncAndroidStep3: "上記の基本 URL を入力し、CheckFlow のログインメールアドレスとパスワードを入力します。",
syncAndroidStep4: "「VTODO (タスク)」コレクションを有効にすると、Tasks.org や OpenTasks と双方向同期されます。",
syncAppleStep1: "端末の設定 → リマインダー → アカウント →「アカウントを追加」を開きます。",
syncAppleStep2: "「その他」を選択 →「CalDAV アカウントを追加」を選択します。",
syncAppleStep3: "サーバーに上記の URL、ユーザー名とパスワードに CheckFlow のアカウント情報を入力します。",
syncAppleStep4: "「リマインダー」をオンにして保存します。",
syncThunderbirdStep1: "Thunderbird を起動 → カレンダータブ →「新しいカレンダー」を作成します。",
syncThunderbirdStep2: "「ネットワーク上」を選択 → 形式:「CalDAV」を選択します。",
syncThunderbirdStep3: "場所に上記の基本 URL、ユーザー名に CheckFlow のメールアドレスを入力します。",
syncThunderbirdStep4: "認証ダイアログでパスワードを入力して設定を完了します。",
syncTabApple: "Apple リマインダー",
syncTabThunderbird: "Thunderbird",
syncAndroidStep1: "Google Play または F-Droid から DAVx⁵ をインストールします。",
syncAndroidStep2: "「URLとユーザー名でログイン」を選択し、上記のCalDAV URLを入力します。",
syncAndroidStep3: "CheckFlow のメールアドレスとパスワードを入力します。",
syncAndroidStep4: "Tasks.org や OpenTasks などのアプリを開いてタスクを管理します。",
syncAppleStep1: "システム設定 (macOS) または 設定 (iOS/iPadOS) → インターネットアカウント を開きます。",
syncAppleStep2: "「アカウントを追加」→「CalDAVアカウントを追加」を選択します。",
syncAppleStep3: "アカウントの種類を「手動」にし、上記のCalDAV URLとログイン情報を入力します。",
syncAppleStep4: "Apple リマインダー (Reminders) アプリにタスクが自動同期されます。",
syncThunderbirdStep1: "Mozilla Thunderbird を開き、カレンダー/タスク タブを開きます。",
syncThunderbirdStep2: "カレンダー一覧を右クリック →「新しいカレンダー」→「ネットワーク上」を選択します。",
syncThunderbirdStep3: "「CalDAV」を選択し、上記のCalDAV URLとログイン情報を入力します。",
syncThunderbirdStep4: "CheckFlow のタスク一覧が Thunderbird Tasks に表示されます。",
syncAndroidTip: "DAVx⁵ の設定で同期周期を 15 分に設定すると、バッテリーを節約しながら準リアルタイム同期が可能です。",
syncAppleTip: "Nginx/Caddy などのリバースプロキシで HTTPS を使用する場合は、有効な SSL 証明書が設定されているか確認してください。",
syncThunderbirdTip: "Thunderbird のタスクビューで CheckFlow の優先度、期日、完了状態がそのまま表示されます。",
// Task List
tasks: "タスク",
hideDone: "完了済みを非表示",
showDone: "完了済みを表示",
completedSection: "完了したタスク",
addTaskPlaceholder: "新しいタスクを入力...",
hideDone: "完了項目を非表示",
showDone: "完了項目を表示",
completedSection: "完了済み",
addTaskPlaceholder: "新しいタスクを入力してEnter...",
add: "追加",
noTasksYet: "タスクがありません。下から新しいタスクを追加してみましょう!",
selectListToStart: "リストを選択してタスクを表示してください",
noTasksYet: "このリストにはタスクがありません",
selectListToStart: "リストを選択して始めましょう",
loading: "読み込み中...",
today: "今日",
tomorrow: "明日",
// Task Detail
taskTitlePlaceholder: "タスク名",
taskTitlePlaceholder: "タスク名を入力...",
priority: "優先度",
priorityNone: "指定なし",
priorityNone: "なし",
priorityLow: "低",
priorityMedium: "中",
priorityHigh: "高",
dueDate: "期日",
clear: "クリア",
notes: "メモ",
notesPlaceholder: "自由にメモを記入してください…\n\nMarkdown対応: **太字**, *斜体*, # 見出し, - リスト, - [ ] チェックボックス",
notesPlaceholder: "詳細なメモを入力 (Markdown対応)...",
subtasks: "サブタスク",
addSubtaskPlaceholder: "サブタスクを追加…",
deleteTaskConfirm: "このタスクを削除しますか?",
autoSaved: "自動保存済み",
saving: "保存中…",
addSubtaskPlaceholder: "サブタスクを入力してEnter...",
deleteTaskConfirm: "このタスクを削除してもよろしいですか?",
autoSaved: "保存済み",
saving: "保存中...",
created: "作成日時",
edited: "更新日時",
previewTab: "プレビュー",
editTab: "編集",
// Toolbars
bold: "太字",
italic: "斜体",
heading: "見出し",
bulletList: "箇条書きリスト",
bulletList: "箇条書き",
numberedList: "番号付きリスト",
checkbox: "チェックボックス",
code: "コードブロック",
code: "コード",
// TickTick Mode Switcher & Quick Add
textMode: "Markdownメモモード",
subtaskMode: "チェックリストモード",
switchToTextMode: "Markdownメモモードに切り替え",
switchToSubtaskMode: "チェックリストモードに切り替え",
moveToList: "別のリストに移動",
textMode: "テキストモード",
subtaskMode: "サブタスクモード",
switchToTextMode: "テキストモードに切り替え",
switchToSubtaskMode: "サブタスクモードに切り替え",
moveToList: "リストへ移動",
quickAdd: "クイック追加",
quickToday: "今日",
quickTomorrow: "明日",
quickNextWeek: "来週",
selectDate: "期日設定",
selectPriority: "優先度設定",
selectTag: "タグ設定",
copied: "コピー完了!",
selectDate: "日付を選択",
selectPriority: "優先度",
selectTag: "タグを選択",
copied: "コピー完了",
// Context Menu
editTask: "編集",
editTask: "タスクを編集",
duplicateTask: "複製",
moveTask: "移動…",
deleteTask: "削除",
renameList: "名前を変更",
moveTask: "移動...",
deleteTask: "タスクを削除",
renameList: "リスト名を変更",
deleteList: "リストを削除",
taskUndoHint: "削除しました。クリックして元に戻せます。",
listUndoHint: "リストを削除しました。クリックして元に戻せます。",
taskUndoHint: "タスクが削除されました",
listUndoHint: "リストが削除されました",
// Labs, Kanban & Customization
labs: "Labs (実験室)",
labsDesc: "開発中の実験的機能を個別に有効化・無効化できます。",
kanbanView: "カンバンボード",
listView: "リストビュー",
labs: "実験室",
labsDesc: "実験的な機能とUIのカスタマイズ設定です。",
kanbanView: "カンバン",
listView: "リスト",
enableKanban: "カンバンボードビュー",
enableKanbanDesc: "タスクを3列ボード(未着手 / 進行中 / 完了)形式で管理します。",
swapBlocks: "ブロック配置の入れ替え",
resetDefaults: "初期設定にリセット",
resetConfirm: "すべてのUIカスタマイズを初期デフォルト設定に戻しますか?",
todoCol: "未着手",
enableKanbanDesc: "タスクリストでリストビューと3カラムカンバンビューを切り替えられるようにします。",
swapBlocks: "ブロック順序の入れ替え",
resetDefaults: "初期状態に戻す",
resetConfirm: "すべてのカスタマイズ設定を初期状態に戻しますか?",
todoCol: "To Do",
inProgressCol: "進行中",
doneCol: "完了",
accessRestricted: "アクセス権限制限",
adminRequired: "この管理コンソールにはADMIN権限が必要です。",
accessRestricted: "アクセス制限",
adminRequired: "このコンソールには ADMIN 権限が必要です。",
};