{
  "app": {
    "windowSubtitle": "Unified AI Chat History Viewer",
    "tab": {
      "tree": "Tree",
      "search": "Search"
    }
  },
    "menu": {
    "settings": "Settings",
    "help": "Help",
    "about": "About",
    "checkForUpdates": "Check for Updates",
    "openSecondOpinionFolder": "Second Opinion Folder"
  },
  "welcome": {
    "treeTitle": "🌳 Tree View",
    "treeLoadHint": "Load your AI JSON files from the Settings menu in the top-left corner.",
    "treeSelectHint": "After loading, select a chat from the tree on the left to view its contents.",
    "searchTitle": "🔍 Full-Text Search",
    "searchHint": "Enter keywords in the search box on the left and press Enter.",
    "searchExample": "(Example: \"WinForms C#\" — space-separated keywords perform AND search)"
  },
  "search": {
    "button": "Search",
    "searching": "Searching...",
    "columnAi": "AI",
    "columnDate": "Date",
    "columnTitle": "Title",
    "advancedSettings": "Settings"
  },
  "advancedSearch": {
    "windowTitle": "Advanced Search Filters",
    "searchTarget": "Search in",
    "targetAi": "Target AI",
    "dateRange": "Date range",
    "excludeKeyword": "Exclude Key",
    "filterByTarget": "Filter by target",
    "filterByContent": "Filter by content",
    "filterByDateAndKeyword": "Date and keyword",
    "includeCode": "Contains code",
    "includeAttachment": "Contains files or images",
    "dateSeparator": "–",
    "targetBoth": "Prompt & response",
    "targetPromptOnly": "Prompt only",
    "targetResponseOnly": "Response only",
    "aiAll": "All AIs",
    "aiChatGpt": "ChatGPT",
    "aiGemini": "Gemini",
    "aiClaude": "Claude",
    "cancel": "Cancel",
    "apply": "Apply"
  },
  "settings": {
    "windowTitle": "JSON Settings",
    "label": {
      "gemini": "Gemini",
      "chatGpt": "ChatGPT",
      "claude": "Claude"
    },
    "button": {
      "browse": "Browse",
      "clear": "Clear",
      "cancel": "Cancel",
      "save": "Save"
    },
    "fileDialog": {
      "geminiTitle": "Select Gemini History Data (JSON)",
      "claudeTitle": "Select Claude History Data (JSON)",
      "chatGptFolderDescription": "Select the folder containing your ChatGPT export data",
      "filter": "JSON Files (*.json)|*.json"
    }
  },
  "tree": {
    "provider": {
      "gemini": "Gemini",
      "chatGpt": "ChatGPT",
      "claude": "Claude"
    },
    "node": {
      "items": "{0} ({1} items)"
    },
    "date": {
      "year": "{0}",
      "month": "{0}-{1}",
      "day": "{0}-{1}-{2}"
    }
  },
  "dialog": {
    "error": "Error",
    "confirm": "Confirm",
    "attachmentNotFound": "The specified attachment file was not found.\n{0}",
    "attachmentNotFoundById": "Attachment file was not found.\nID: {0}",
    "openFileFailed": "An error occurred while opening the file: {0}",
    "treeNodeNotFound": "The corresponding tree node was not found.",
    "openLinkFailed": "Could not open the link.\n\nDetails: {0}",
    "jsonNotFound": "JSON file not found. Please check the path.",
    "about": "RecollectViewer ver:1.5"
  },
  "secondOpinion": {
    "selectWindowTitle": "Second Opinion — select chats for {0}",
    "selectAll": "Select all",
    "deselectAll": "Deselect all",
    "ok": "OK",
    "cancel": "Cancel",
    "columnDate": "Date",
    "columnTitle": "Title",
    "noneSelected": "Please select at least one conversation to export.",
    "noActiveChat": "No chat is selected for export.",
    "geminiDayOnly": "For Gemini, open a day node to use Second Opinion.",
    "saved": "Second Opinion text exported.\n\n{0}\n\nAttach this file in a new chat with another AI, then ask your question in the prompt.",
    "exportFailed": "Failed to export Second Opinion text.\n{0}",
    "export": {
      "documentTitle": "Second Opinion",
      "instructionHeading": "Instruction",
      "instructionBody": "Please read the conversation history above and answer the user's follow-up question with full context.\nDo not merely agree; include dissenting views, blind spots, and alternative interpretations when relevant."
    }
  },
  "blockCopy": {
    "dialog": {
      "title": "Share this exchange",
      "scope": "Target",
      "scopeBoth": "Prompt + response",
      "scopePrompt": "Prompt only",
      "scopeAnswer": "Response only",
      "output": "Destination",
      "outputClipboard": "Copy to clipboard",
      "outputFile": "Save to file",
      "outputPng": "Save as PNG image (for social media)",
      "format": "Format",
      "formatMarkdown": "Markdown (paste straight into a blog)",
      "formatText": "Plain text (same style as Second Opinion)",
      "pngMode": "PNG length",
      "pngModeSocial": "For social media (may trim long answers)",
      "pngModeFull": "Full text (as much as possible)",
      "pngHintSocial": "Keeps a timeline-friendly height. Long answers are trimmed at the end.",
      "pngHintFull": "Keeps as much text as possible near X's image limits (~4096px / a few MB). Large files may be rejected on mobile uploads.",
      "mask": "Mask",
      "editMask": "Edit terms…"
    },
    "mask": {
      "editTitle": "Mask terms",
      "editHint": "One term per line. Matching text is replaced with █ (John → ████ Smith)."
    },
    "export": {
      "promptHeading": "Prompt",
      "noPrompt": "(No prompt)",
      "noResponse": "(No response)"
    },
    "filter": {
      "markdown": "Markdown file (*.md)|*.md|Text file (*.txt)|*.txt",
      "text": "Text file (*.txt)|*.txt|Markdown file (*.md)|*.md",
      "png": "PNG image (*.png)|*.png"
    },
    "png": {
      "truncated": "Trimmed to fit the image."
    },
    "copied": "Copied to the clipboard",
    "saved": "Saved.\n\n{0}",
    "pngSaved": "PNG image saved.\n\n{0}\n\nYou can post it directly on X and other social networks.",
    "pngLargeWarning": "File size is about {0} MB. Mobile X often limits uploads to ~5 MB, so you may need the web client or compression.",
    "blockNotFound": "The selected exchange could not be found. Reopen the chat and try again.",
    "failed": "Share failed.\n{0}"
  },
  "html": {
    "header": {
      "geminiConversations": "{0} - Conversations ({1} items)",
      "monthChatList": "📁 {0} - Chat List",
      "searchResults": "🔍 Search Results"
    },
    "secondOpinion": {
      "link": "Second Opinion"
    },
    "blockCopy": {
      "link": "📋 Share"
    },
    "item": {
      "noTitle": "(No title)",
      "noTextResponse": "No text response",
      "noResponse": "(No response)",
      "noPrompt": "(No prompt)",
      "geminiConversation": "Gemini conversation"
    },
    "copy": {
      "button": "Copy",
      "copied": "Copied!"
    },
    "attachment": {
      "prefix": "📎 {0}",
      "fileNamePrefix": "Attachment_{0}",
      "notBundled": "(not bundled)",
      "notBundledTooltip": "File is not included in the export data"
    },
    "chatGpt": {
      "imageGenPrompt": "🎨 **[Image generation prompt]**\n> {0}",
      "imageGenerated": "🖼️ [AI generated an image]"
    },
    "search": {
      "viewInTree": "🌳 View in Tree",
      "jump": "🌳 Jump"
    }
  },
  "gemini": {
    "titlePrefix": [
      "送信したメッセージ:",
      "Sent message:",
      "Prompt sent:",
      "Message sent:",
      "フィードバックを送信しました:",
      "Feedback sent:"
    ]
  }
}
