import type { TranslationKeys } from "./en.js";

export const ja: TranslationKeys = {
  common: {
    upload: "パソコンからアップロード",
    process: "処理",
    download: "ダウンロード",
    cancel: "キャンセル",
    save: "保存",
    delete: "削除",
    settings: "設定",
    search: "ツールを検索...",
    dropFiles: "ここにファイルをドロップするかアップロードボタンをクリック",
    loading: "読み込み中...",
    saving: "保存中...",
    error: "エラーが発生しました",
    confirm: "確認",
    close: "閉じる",
    back: "戻る",
    next: "次へ",
    clear: "クリア",
    copy: "コピー",
    copied: "コピーしました！",
    noResults: "結果が見つかりません",
    showLess: "折りたたむ",
    showMore: "あと{count}件を表示",
    experimental: "実験的",
    enabled: "有効",
    disabled: "無効",
    rename: "名前変更",
    edit: "編集",
    actions: "操作",
    create: "作成",
    or: "または",
    goHome: "ホームへ",
    somethingWentWrong: "問題が発生しました",
    unexpectedError: "予期しないエラーが発生しました。",
    retry: "再試行",
    privacyPolicy: "プライバシーポリシー",
    pageNotFound: "ページが見つかりません",
    pageNotFoundDescription: "お探しのページは存在しないか、移動された可能性があります。",
  },
  categories: {
    essentials: "基本ツール",
    adjustments: "調整",
    enhance: "補正 & AI",
    watermark: "ウォーターマークとオーバーレイ",
    layout: "レイアウトと構図",
    utilities: "ユーティリティ",
    optimization: "最適化",
    format: "フォーマットと変換",
    "video-edit": "Video",
    "video-convert": "変換",
    "video-effects": "エフェクト & 合成",
    "video-subtitles": "字幕",
    "video-metadata": "メタデータ",
    "audio-edit": "編集",
    "audio-convert": "変換",
    "audio-effects": "エフェクト & 合成",
    "audio-metadata": "メタデータ",
    "pdf-organize": "整理",
    "pdf-edit": "編集 & 注釈",
    "pdf-security": "セキュリティ",
    "pdf-optimize": "最適化",
    "doc-convert": "変換",
    data: "ファイル",
    archives: "アーカイブ",
  },
  modalities: {
    image: "画像",
    video: "動画",
    audio: "オーディオ",
    documentsAndFiles: "PDF & ファイル",
  },
  tools: {
    resize: {
      name: "リサイズ",
      description: "ピクセル、パーセント、SNSプリセットでリサイズ",
    },
    crop: {
      name: "クロップ",
      description: "自由クロップ、アスペクト比プリセット、シェイプクロップ",
    },
    rotate: { name: "回転と反転", description: "画像の回転、反転、傾き補正" },
    convert: { name: "変換", description: "画像フォーマット間の変換" },
    compress: { name: "圧縮", description: "品質またはターゲットサイズでファイルサイズを削減" },
    "optimize-for-web": {
      name: "Web最適化",
      description: "フォーマット変換、品質調整、ライブプレビューでWeb向けに画像を最適化",
    },
    "strip-metadata": {
      name: "メタデータ削除",
      description: "EXIF、GPS、カメラ情報を削除",
    },
    "edit-metadata": {
      name: "メタデータ編集",
      description: "EXIF、IPTC、XMP、GPS、キーワード、日付を編集",
    },
    "bulk-rename": { name: "一括リネーム", description: "パターンで複数ファイルを一括リネーム" },
    "image-to-pdf": {
      name: "画像からPDF",
      description: "複数の画像をPDFドキュメントに結合",
    },
    "pdf-to-image": { name: "PDFから画像", description: "PDFページを画像に変換" },
    favicon: {
      name: "Faviconジェネレーター",
      description: "すべてのFaviconとアプリアイコンサイズを生成",
    },
    "adjust-colors": {
      name: "色調整",
      description: "明るさ、コントラスト、露出、彩度、色温度、シャープネス、エフェクト",
    },
    sharpening: {
      name: "シャープニング",
      description: "アダプティブ、アンシャープマスク、ハイパスシャープニング（プリセット付き）",
    },
    "replace-color": {
      name: "色の置換と反転",
      description: "特定の色を置換または反転",
    },
    "color-blindness": {
      name: "色覚シミュレーション",
      description: "さまざまな色覚特性での画像の見え方をシミュレート",
    },
    "remove-background": {
      name: "背景除去",
      description: "AIによる背景除去",
    },
    upscale: { name: "画像アップスケール", description: "AI超解像エンハンスメント" },
    "erase-object": { name: "オブジェクト消去", description: "AIで不要なオブジェクトを除去" },
    ocr: {
      name: "OCR / テキスト抽出",
      description: "AIで画像からテキストを高精度に抽出",
    },
    "ocr-pdf": {
      name: "PDF OCR",
      description: "AI搭載のOCRでPDF文書からテキストを抽出",
    },
    "blur-faces": {
      name: "顔/個人情報ぼかし",
      description: "顔と機密情報を自動検出してぼかし",
    },
    "enhance-faces": {
      name: "顔エンハンスメント",
      description: "AIで顔を修復・エンハンス",
    },
    "smart-crop": {
      name: "スマートクロップ",
      description: "被写体、顔、トリミングベースのスマートクロップ",
    },
    "image-enhancement": {
      name: "画像エンハンスメント",
      description: "ワンクリックで露出、コントラスト、カラー、シャープネスをスマート補正",
    },
    "noise-removal": {
      name: "ノイズ除去",
      description: "AIによるノイズ・粒子除去",
    },
    "red-eye-removal": {
      name: "赤目補正",
      description: "AIによるフラッシュ写真の赤目検出と補正",
    },
    "restore-photo": {
      name: "写真修復",
      description: "AIで古い写真の傷、破れ、ダメージを修復",
    },
    "content-aware-resize": {
      name: "コンテンツ認識リサイズ",
      description: "重要なコンテンツを保護しながらインテリジェントにリサイズ",
    },
    "ai-canvas-expand": {
      name: "AIキャンバス拡張",
      description: "AIフィルでキャンバスを拡張",
    },
    colorize: {
      name: "AIカラー化",
      description: "AIディープラーニングモデルで白黒写真をフルカラーに変換",
    },
    "passport-photo": {
      name: "証明写真",
      description: "顔自動検出付き、政府規格準拠のパスポート、ビザ、身分証写真を作成",
    },
    "transcribe-audio": {
      name: "音声文字起こし",
      description: "AI搭載の文字起こしで音声をテキストに変換",
    },
    "auto-subtitles": {
      name: "自動字幕",
      description: "動画の音声トラックから字幕ファイルを生成",
    },
    "transparency-fixer": {
      name: "PNG透過修正",
      description: "偽の透過PNGをワンクリックで修正",
    },
    "background-replace": {
      name: "背景置換",
      description: "画像の背景を単色に置き換えます",
    },
    "blur-background": {
      name: "背景ぼかし",
      description: "被写体を鮮明に保ちながら背景をぼかします",
    },
    "watermark-text": {
      name: "テキストウォーターマーク",
      description: "テキストウォーターマークを追加",
    },
    "watermark-image": {
      name: "画像ウォーターマーク",
      description: "ロゴをウォーターマークとして重ねる",
    },
    "text-overlay": {
      name: "テキストオーバーレイ",
      description: "画像にスタイル付きテキストを追加",
    },
    compose: { name: "画像合成", description: "位置と不透明度で画像をレイヤー合成" },
    "meme-generator": {
      name: "Memeジェネレーター",
      description:
        "人気テンプレートまたは自分の画像でMemeを作成。クラシックなImpactスタイルのテキストで、フォント、色、位置をカスタマイズ可能。",
    },
    info: { name: "画像情報", description: "すべてのメタデータと画像プロパティを表示" },
    compare: { name: "画像比較", description: "2枚の画像を並べて比較" },
    "find-duplicates": {
      name: "重複検出",
      description: "重複および類似画像を検出",
    },
    "color-palette": {
      name: "カラーパレット",
      description: "画像からドミナントカラーを抽出",
    },
    "qr-generate": {
      name: "QRコードジェネレーター",
      description: "カスタムカラー、パターン、ロゴ付きのQRコードを生成",
    },
    "html-to-image": {
      name: "HTML から画像",
      description: "ウェブページを高品質な画像としてキャプチャ",
    },
    "barcode-read": {
      name: "バーコードリーダー",
      description: "画像からQRコード、バーコード、二次元コードをスキャン",
    },
    collage: {
      name: "コラージュ / グリッド",
      description: "25以上のテンプレートで画像を美しいグリッドコラージュに合成",
    },
    stitch: {
      name: "画像結合",
      description: "画像を横並び、縦並び、またはグリッドで結合",
    },
    split: {
      name: "画像分割",
      description: "グリッドまたはピクセルサイズで画像を分割（ライブプレビュー付き）",
    },
    border: {
      name: "ボーダーとフレーム",
      description: "ボーダー、パディング、角丸、シャドウをワンクリックプリセットで追加",
    },
    beautify: {
      name: "スクリーンショット美化",
      description:
        "スクリーンショットにグラデーション背景、デバイスフレーム、シャドウ、SNSサイズを追加",
    },
    "circle-crop": {
      name: "円形クロップ",
      description: "画像を中央の円形にクロップし、角を透明にする",
    },
    duotone: {
      name: "デュオトーン",
      description: "カスタムのシャドウとハイライト色で2色デュオトーン効果を適用",
    },
    "image-pad": {
      name: "画像パディング",
      description: "単色背景で画像を目標のアスペクト比にパディング",
    },
    pixelate: {
      name: "ピクセル化",
      description: "画像全体または特定の領域にピクセル化効果を適用",
    },
    vignette: {
      name: "ビネット",
      description: "強さと色を調整できるビネット効果を追加",
    },
    "gif-webp": {
      name: "GIF/WebP コンバーター",
      description: "アニメーション GIF と WebP を全フレーム保持で相互変換",
    },
    histogram: {
      name: "ヒストグラム",
      description: "画像から RGB ヒストグラムチャートを生成",
    },
    "lqip-placeholder": {
      name: "LQIP プレースホルダー",
      description: "base64 データ URI 付きの低品質プレースホルダー画像を生成",
    },
    "sprite-sheet": {
      name: "スプライトシート",
      description: "複数の画像を1枚のスプライトシートに結合",
    },
    "svg-to-raster": {
      name: "SVGからラスター",
      description: "SVGをPNG、JPEG、WebP、AVIF、TIFF、GIF、HEIFにカスタムスケール・DPIで変換",
    },
    vectorize: {
      name: "画像からSVG",
      description: "画像をスケーラブルベクターグラフィックスに変換",
    },
    "gif-tools": {
      name: "GIFツール",
      description: "アニメーションGIFのリサイズ、最適化、速度変更、逆再生、フレーム抽出、回転",
    },
    "image-to-base64": {
      name: "画像からBase64",
      description: "画像をBase64文字列に変換してHTML、CSS等に埋め込み",
    },
    "barcode-generate": {
      name: "バーコード生成",
      description: "Code 128、EAN-13、UPC-A、Code 39、ITF-14、Data Matrix のバーコードを生成",
    },
    "chart-maker": {
      name: "チャート作成",
      description: "CSV または JSON データから棒グラフ、折れ線グラフ、円グラフを作成",
    },
    "convert-video": {
      name: "動画変換",
      description: "MP4、MOV、WebM 間で動画を変換",
    },
    "compress-video": {
      name: "動画圧縮",
      description: "品質を調整して動画のファイルサイズを圧縮",
    },
    "trim-video": {
      name: "動画トリミング",
      description: "動画から必要な部分を切り出す",
    },
    "mute-video": {
      name: "動画ミュート",
      description: "動画から音声トラックを削除",
    },
    "video-to-gif": {
      name: "動画を GIF に変換",
      description: "動画クリップをアニメーション GIF に変換",
    },
    "resize-video": {
      name: "動画リサイズ",
      description: "動画を新しい解像度やプリセットサイズに拡大縮小",
    },
    "crop-video": {
      name: "動画クロップ",
      description: "動画の一部分をクロップ",
    },
    "rotate-video": {
      name: "動画回転",
      description: "動画を回転または反転",
    },
    "change-fps": {
      name: "FPS 変更",
      description: "動画のフレームレートを変更",
    },
    "video-color": {
      name: "動画カラー調整",
      description: "明るさ、コントラスト、彩度、ガンマを調整",
    },
    "video-speed": {
      name: "動画速度",
      description: "動画を加速または減速",
    },
    "reverse-video": {
      name: "動画逆再生",
      description: "動画クリップを逆方向に再生",
    },
    "video-loudnorm": {
      name: "音声ノーマライズ",
      description: "動画の音声を放送基準の音量に正規化",
    },
    "aspect-pad": {
      name: "アスペクトパディング",
      description: "目標のアスペクト比に合わせて単色バーを追加",
    },
    "blur-pad": {
      name: "ぼかしパディング",
      description: "ぼかした動画のコピーで余白を埋める",
    },
    "watermark-video": {
      name: "動画に透かし",
      description: "動画フレームにテキストの透かしを焼き込む",
    },
    "stabilize-video": {
      name: "動画手ブレ補正",
      description: "2パス処理でカメラの手ブレを軽減",
    },
    "gif-to-video": {
      name: "GIF を動画に変換",
      description: "アニメーション GIF を MP4 または WebM 動画に変換",
    },
    "video-to-webp": {
      name: "動画を WebP に変換",
      description: "動画クリップをアニメーション WebP 画像に変換",
    },
    "video-to-frames": {
      name: "動画をフレームに変換",
      description: "動画からフレームを画像の ZIP として抽出",
    },
    "merge-videos": {
      name: "動画結合",
      description: "複数の動画クリップを1つのファイルに結合",
    },
    "replace-audio": {
      name: "音声差し替え",
      description: "動画の音声トラックを別のファイルに差し替え",
    },
    "burn-subtitles": {
      name: "字幕焼き込み",
      description: "動画フレームに字幕を恒久的に焼き込む",
    },
    "embed-subtitles": {
      name: "字幕埋め込み",
      description: "動画コンテナに字幕トラックを埋め込む",
    },
    "extract-subtitles": {
      name: "字幕抽出",
      description: "動画から字幕トラックを SRT ファイルとして抽出",
    },
    "images-to-video": {
      name: "画像から動画",
      description: "複数の画像からスライドショー動画を作成",
    },
    "video-metadata": {
      name: "動画メタデータ削除",
      description: "動画のメタデータを削除し、検出内容をレポート",
    },
    "convert-audio": {
      name: "音声変換",
      description: "MP3、WAV、OGG などの音声形式を相互変換",
    },
    "trim-audio": {
      name: "音声トリミング",
      description: "音声ファイルの一部を切り出す",
    },
    "extract-audio": {
      name: "音声抽出",
      description: "動画から音声トラックを抽出",
    },
    "volume-adjust": {
      name: "音量調整",
      description: "固定ゲインで音声の音量を増減",
    },
    "normalize-audio": {
      name: "音声ノーマライズ",
      description: "音量を放送基準レベルに均一化",
    },
    "fade-audio": {
      name: "音声フェード",
      description: "音声にフェードイン・フェードアウト効果を追加",
    },
    "reverse-audio": {
      name: "音声逆再生",
      description: "音声を逆方向に再生",
    },
    "audio-speed": {
      name: "音声速度",
      description: "音声の再生速度を加速または減速",
    },
    "pitch-shift": {
      name: "ピッチシフト",
      description: "速度を変えずに半音単位でピッチを上下",
    },
    "audio-channels": {
      name: "音声チャンネル",
      description: "モノラル・ステレオの切り替えや左右チャンネルの入れ替え",
    },
    "silence-removal": {
      name: "無音除去",
      description: "音声から無音部分を除去",
    },
    "noise-reduction": {
      name: "ノイズ低減",
      description: "FFT ベースのノイズ除去で背景ノイズを低減",
    },
    "merge-audio": {
      name: "音声結合",
      description: "複数の音声ファイルを1つに結合",
    },
    "split-audio": {
      name: "音声分割",
      description: "時間、均等分割、または無音検出で音声を分割",
    },
    "ringtone-maker": {
      name: "着信音作成",
      description: "音声ファイルから着信音クリップを作成",
    },
    "waveform-image": {
      name: "波形画像",
      description: "波形ビジュアライゼーションを PNG 画像として生成",
    },
    "audio-metadata": {
      name: "音声メタデータ",
      description: "音声タグ (ID3) の表示、編集、削除",
    },
    "merge-pdf": {
      name: "PDF 結合",
      description: "複数の PDF を1つに結合",
    },
    "split-pdf": {
      name: "PDF 分割",
      description: "ページを抽出または分割",
    },
    "compress-pdf": {
      name: "PDF 圧縮",
      description: "PDF のファイルサイズを圧縮",
    },
    "rotate-pdf": {
      name: "PDF 回転",
      description: "PDF のページを回転",
    },
    "convert-document": {
      name: "文書変換",
      description: "Word、OpenDocument、RTF、プレーンテキスト形式を相互変換",
    },
    "convert-presentation": {
      name: "プレゼンテーション変換",
      description: "PowerPoint と OpenDocument プレゼンテーション形式を相互変換",
    },
    "convert-spreadsheet": {
      name: "スプレッドシート変換",
      description:
        "Excel、OpenDocument、CSV 形式を相互変換。複数シートのブックは最初のシートを CSV に出力します。",
    },
    "excel-to-pdf": {
      name: "Excel を PDF に変換",
      description:
        "スプレッドシートを PDF に変換。幅の広いシートは複数ページに分割されることがあります。",
    },
    "word-to-pdf": {
      name: "Word を PDF に変換",
      description: "Word 文書を PDF に変換",
    },
    "extract-pages": {
      name: "ページ抽出",
      description: "選択したページを新しい PDF に抽出",
    },
    "remove-pages": {
      name: "ページ削除",
      description: "PDF から指定ページを削除",
    },
    "organize-pdf": {
      name: "PDF 整理",
      description: "ページ順を指定して並べ替え",
    },
    "protect-pdf": {
      name: "PDF 保護",
      description: "パスワード保護を追加 (AES-256 暗号化)",
    },
    "unlock-pdf": {
      name: "PDF ロック解除",
      description: "PDF のパスワード保護を解除",
    },
    "repair-pdf": {
      name: "PDF 修復",
      description: "破損した PDF の修復を試行",
    },
    "linearize-pdf": {
      name: "PDF Web 最適化",
      description: "Web 表示用に PDF をリニアライズ",
    },
    "grayscale-pdf": {
      name: "PDF グレースケール化",
      description: "すべての色をグレースケールに変換",
    },
    "pdfa-convert": {
      name: "PDF/A 変換",
      description: "長期保存用 PDF/A-2 に変換",
    },
    "crop-pdf": {
      name: "PDF クロップ",
      description: "全ページを均一な余白でクロップ",
    },
    "nup-pdf": {
      name: "PDF 面付け",
      description: "1枚のシートに複数ページを配置",
    },
    "booklet-pdf": {
      name: "PDF 小冊子",
      description: "折り込み小冊子用にページを配置",
    },
    "watermark-pdf": {
      name: "PDF 透かし",
      description: "全ページにテキストの透かしを追加",
    },
    "pdf-page-numbers": {
      name: "PDF ページ番号",
      description: "全ページにページ番号を追加",
    },
    "flatten-pdf": {
      name: "PDF フラット化",
      description: "フォームと注釈をページコンテンツに固定",
    },
    "redact-pdf": {
      name: "PDF 墨消し",
      description: "テキストを完全に削除 (検証済みの墨消し)",
    },
    "pdf-to-text": {
      name: "PDF からテキスト",
      description: "PDF からプレーンテキストを抽出",
    },
    "pdf-to-word": {
      name: "PDF を Word に変換",
      description: "テキストベースの PDF に最適。スキャンページには OCR が必要です。",
    },
    "pdf-metadata": {
      name: "PDF メタデータ",
      description: "PDF 文書のメタデータを読み書き",
    },
    "powerpoint-to-pdf": {
      name: "PowerPoint を PDF に変換",
      description: "プレゼンテーションを PDF に変換",
    },
    "html-to-pdf": {
      name: "HTML を PDF に変換",
      description: "HTML ファイルを PDF に変換。プライバシー保護のため外部リソースは無効です。",
    },
    "markdown-to-docx": {
      name: "Markdown を Word に変換",
      description: "Markdown ファイルを Word 文書 (DOCX) に変換",
    },
    "markdown-to-html": {
      name: "Markdown を HTML に変換",
      description:
        "Markdown ファイルを単独の HTML ページに変換。ソース内の外部画像はそのまま出力されます。",
    },
    "markdown-to-pdf": {
      name: "Markdown を PDF に変換",
      description:
        "Markdown ファイルをスタイル付き PDF に変換。プライバシー保護のため外部リソースは無効です。",
    },
    "epub-convert": {
      name: "EPUB 変換",
      description:
        "EPUB を PDF、DOCX、HTML、Markdown に変換。書籍内の外部リソースは取得されません。",
    },
    "to-epub": {
      name: "EPUB に変換",
      description: "Word、Markdown、HTML、プレーンテキストファイルを EPUB に変換",
    },
    "csv-excel": {
      name: "CSV / Excel 変換",
      description: "CSV と Excel (XLSX) を双方向で変換",
    },
    "csv-json": {
      name: "CSV / JSON 変換",
      description: "CSV と JSON を双方向で変換",
    },
    "json-xml": {
      name: "JSON / XML 変換",
      description: "JSON と XML を双方向で変換",
    },
    "split-csv": {
      name: "CSV 分割",
      description: "行数を指定して CSV を小さなファイルに分割",
    },
    "merge-csvs": {
      name: "CSV 結合",
      description: "列が一致する複数の CSV または TSV ファイルを1つに結合",
    },
    "yaml-json": {
      name: "YAML / JSON",
      description: "YAML と JSON を双方向で変換",
    },
    "xml-to-csv": {
      name: "XML を CSV に変換",
      description: "XML から繰り返し要素を CSV テーブルに抽出",
    },
    "create-zip": {
      name: "ZIP 作成",
      description: "複数のファイルを1つの ZIP アーカイブにまとめる",
    },
    "extract-zip": {
      name: "ZIP 展開",
      description:
        "爆弾保護付きで ZIP アーカイブからファイルを安全に展開。単一ファイルのアーカイブはそのまま返します。",
    },
    pipeline: { name: "Pipelineビルダー", description: "複数のツールをワークフローに連結" },
    processing: { canceled: "処理がキャンセルされました" },
    mediaPlayer: {
      unsupported: "お使いのブラウザはこのメディア形式に対応していません。",
    },
    documentView: {
      loadFailed: "文書の読み込みに失敗しました。",
      previousPage: "前のページ",
      nextPage: "次のページ",
      inputNotPreviewable: "このファイル形式のプレビューは利用できません",
    },
  },
  toolSettings: {
    compress: {
      compressionMode: "圧縮モード",
      targetSize: "ターゲットサイズ",
      quality: "品質",
      smallestFile: "最小ファイル",
      bestQuality: "最高品質",
      submit: "圧縮",
      submitBatch: "圧縮（{count}ファイル）",
      progressLabel: "圧縮中",
      original: "元：{size} KB",
      processed: "処理後：{size} KB",
      saved: "削減：{percent}%",
    },
    resize: {
      customSize: "カスタムサイズ",
      scale: "スケール",
      presets: "プリセット",
      contentAware: "コンテンツ認識",
      widthPx: "幅（px）",
      heightPx: "高さ（px）",
      fitMode: "フィットモード",
      cropToFit: "クロップして合わせる",
      fitInside: "内側に合わせる",
      stretch: "ストレッチ",
      limitToOriginalSize: "元のサイズに制限",
      limitToOriginalSizeHint: "画像がターゲットより小さい場合、拡大せずそのまま維持します",
      scalePercent: "スケール（%）",
      resizeToSquare: "正方形にリサイズ",
      protectFaces: "顔を保護",
      smoothing: "スムージング",
      edgeSensitivity: "エッジ感度",
      submit: "リサイズ",
      submitBatch: "リサイズ（{count}ファイル）",
      progressLabel: "リサイズ中",
    },
    crop: {
      aspectRatio: "アスペクト比",
      custom: "カスタム",
      positionAndSize: "位置とサイズ",
      ruleOfThirds: "三分割法",
      leftOffsetPx: "左オフセット（px）",
      topOffsetPx: "上オフセット（px）",
      submit: "クロップ",
      submitBatch: "クロップ（{count}ファイル）",
      progressLabel: "クロップ中",
    },
    rotate: {
      rotate: "回転",
      angle: "角度",
      straighten: "傾き補正",
      flip: "反転",
      horizontal: "水平",
      vertical: "垂直",
      resetAllChanges: "すべてリセット",
      submit: "適用",
      submitBatch: "適用（{count}ファイル）",
      progressLabel: "適用中",
    },
    convert: {
      targetFormat: "変換先フォーマット",
      sourceFormat: "元フォーマット",
      quality: "品質",
      submit: "変換",
      submitBatch: "変換（{count}ファイル）",
      progressLabel: "変換中",
    },
    "optimize-for-web": {
      outputFormat: "出力フォーマット",
      quality: "品質",
      smallestFile: "最小ファイル",
      bestQuality: "最高品質",
      maxDimensions: "最大サイズ",
      maxWidth: "最大幅",
      maxHeight: "最大高さ",
      stripMetadata: "メタデータ削除",
      sizeComparison: "サイズ比較",
      optimized: "最適化後：",
      smaller: "{percent}%縮小",
      larger: "{percent}%増加",
      submit: "処理してダウンロード",
      submitBatch: "処理してダウンロード（{count}ファイル）",
      progressLabel: "最適化中",
    },
    "strip-metadata": {
      currentMetadata: "現在のメタデータ",
      readingMetadata: "メタデータを読み取り中...",
      noMetadataFound: "この画像にメタデータは見つかりませんでした。",
      removeAllMetadata: "すべてのメタデータを削除",
      selectSpecific: "または特定のメタデータを選択：",
      stripExif: "EXIF削除（カメラ情報、日付、露出）",
      stripGps: "GPS削除（位置データ）",
      stripIcc: "ICC削除（カラープロファイル）",
      stripXmp: "XMP削除（拡張メタデータ）",
      locationFound: "位置情報あり",
      locationWarning:
        "この画像には正確な位置情報が含まれています。共有前にGPSデータの削除をご検討ください。",
      metadataSections: "{count}個のメタデータセクションが見つかりました",
      metadataSectionsPlural: "{count}個のメタデータセクションが見つかりました",
      metadataRemoved: "削除されたメタデータ：{size} KB",
      submit: "メタデータ削除",
      progressLabel: "メタデータを削除中",
    },
    "edit-metadata": {
      readingMetadata: "メタデータを読み取り中...",
      couldNotReadMetadata: "メタデータを読み取れませんでした。フィールドは空白から開始します。",
      basicInfo: "基本情報",
      description: "説明",
      artist: "アーティスト",
      copyright: "著作権",
      software: "ソフトウェア",
      iptc: "IPTC",
      title: "タイトル",
      headline: "見出し",
      city: "市区町村",
      stateProvince: "都道府県",
      country: "国",
      dateAndTime: "日付と時刻",
      editDates: "日付を編集",
      shiftAllDates: "全日付を一括シフト",
      dateModified: "更新日",
      dateTaken: "撮影日",
      shiftHint: "すべての日付フィールドをオフセットでシフト（タイムゾーン修正に便利）",
      direction: "方向",
      forward: "+ 先へ",
      backward: "- 前へ",
      hoursMinutes: "時:分",
      locationGps: "位置情報（GPS）",
      locationDataFound: "位置データあり",
      noGpsData: "GPSデータなし。以下で座標を追加してください。",
      latitude: "緯度",
      longitude: "経度",
      altitudeMeters: "高度（メートル）",
      removeAllGpsData: "すべてのGPSデータを削除",
      keywords: "キーワード",
      addKeywordPlaceholder: "キーワードを入力してEnter",
      addToExisting: "既存に追加",
      replaceAll: "すべて置換",
      allMetadata: "すべてのメタデータ",
      templates: "テンプレート",
      templateNamePlaceholder: "テンプレート名",
      uploadPrompt: "画像をアップロードしてメタデータを編集してください。",
      changes: "{count}件の変更：",
      modified: "{count}件を変更",
      removed: "{count}件を削除",
      gpsCleared: "GPSをクリア",
      gpsAdded: "GPSを追加",
      datesShifted: "日付をシフト",
      submit: "メタデータ適用",
      progressLabel: "メタデータを書き込み中",
    },
    "bulk-rename": {
      pattern: "パターン",
      patternHint: "変数：{{index}}、{{padded}}、{{original}}",
      startIndex: "開始インデックス",
      preview: "プレビュー",
      andMore: "...他{count}件",
      renaming: "リネーム中...",
      submit: "{count}ファイルをリネーム",
      zipDownloaded: "ZIPのダウンロードが完了しました",
    },
    "image-to-pdf": {
      imageCount: "{count}枚の画像が{mode}に変換されます",
      imageCountPlural: "{count}枚の画像が{mode}に変換されます",
      singlePdfMode: "1つのPDF（1ページに1画像）",
      separatePdfMode: "個別のPDF（1画像につき1つ）",
      combineAllImages: "すべての画像を1つのPDFにまとめる",
      pageSize: "ページサイズ",
      orientation: "向き",
      portrait: "縦向き",
      landscape: "横向き",
      margin: "余白",
      targetSizeLabel: "ターゲットファイルサイズ（任意）",
      targetSizePlaceholder: "例：2",
      targetSizeHint: "空欄で最高品質",
      targetSizeMet: "目標達成",
      targetSizeNotMet: "目標に達しませんでした。最低品質まで圧縮しました。",
      targetSizeTooSmall: "目標は50KB以上必要です",
      jpegQualityLabel: "使用されたJPEG品質",
      noImage: "画像なし",
      submitCollate: "PDF作成（{count}ページ）",
      submitSeparate: "{count}個のPDFを作成",
      downloadPdf: "PDFをダウンロード",
      downloadZip: "ZIPをダウンロード",
      progressLabel: "PDFを作成中",
      uploadingImages: "画像をアップロード中...",
      processingPages: "{count}ページを処理中...",
    },
    "pdf-to-image": {
      dropPdf: "PDFをここにドロップまたはクリックして選択",
      readingPdf: "PDFを読み取り中...",
      pageCount: "{count}ページ",
      pageCountPlural: "{count}ページ",
      outputFormat: "出力フォーマット",
      quality: "品質",
      resolutionDpi: "解像度（DPI）",
      dpiScreen: "スクリーン",
      dpiStandard: "標準",
      dpiPrint: "印刷",
      dpiHighQuality: "高品質",
      colorMode: "カラーモード",
      colorModeColor: "カラー",
      colorModeGrayscale: "グレースケール",
      colorModeBw: "白黒",
      pages: "ページ",
      allPages: "すべてのページ",
      pagesHint: "例：1-3、5、8-10（{count}ページのドキュメント）",
      converting: "変換中...",
      submit: "{count}ページを変換",
      submitPlural: "{count}ページを変換",
      downloadAllZip: "一括ダウンロード（ZIP）",
    },
    favicon: {
      uploadHint:
        "正方形の画像（512x512以上推奨）をアップロードして、すべてのFaviconとアプリアイコンサイズを生成します。",
      multipleHint: "{count}枚の画像はそれぞれZIP内に個別フォルダで格納されます。",
      generatedSizes: "生成サイズ（画像ごと）",
      plusManifest: "+ manifest.json + HTMLスニペット",
      submit: "Favicon生成（{count}枚）",
      submitPlural: "Favicon生成（{count}枚）",
      downloadZip: "Favicon ZIPをダウンロード",
      progressLabel: "Faviconを生成中",
    },
    "adjust-colors": {
      light: "ライト",
      brightness: "明るさ",
      contrast: "コントラスト",
      exposure: "露出",
      color: "カラー",
      saturation: "彩度",
      temperature: "色温度",
      temperatureHint: "寒色 / 暖色",
      tint: "ティント",
      tintHint: "グリーン / マゼンタ",
      hue: "色相",
      detail: "ディテール",
      sharpness: "シャープネス",
      effects: "エフェクト",
      none: "なし",
      grayscale: "グレースケール",
      sepia: "セピア",
      invert: "反転",
      colorChannels: "カラーチャンネル",
      channelModified: "変更済み",
      red: "赤",
      green: "緑",
      blue: "青",
      resetAll: "すべてリセット",
      submit: "適用",
      submitBatch: "適用（{count}ファイル）",
      progressLabel: "色を調整中",
    },
    sharpening: {
      method: "方式",
      adaptive: "アダプティブ",
      unsharpMask: "アンシャープマスク",
      highPass: "ハイパス",
      presets: "プリセット",
      textureAmount: "テクスチャ量",
      amount: "量",
      strength: "強度",
      noiseReduction: "ノイズ低減",
      off: "オフ",
      lightDenoise: "弱",
      mediumDenoise: "中",
      strongDenoise: "強",
      advancedControls: "詳細設定",
      radius: "半径",
      flatProtection: "フラット保護",
      detailThreshold: "ディテールしきい値",
      haloLimitLight: "ハロー制限（明部）",
      haloLimitDark: "ハロー制限（暗部）",
      threshold: "しきい値",
      kernelSize: "カーネルサイズ",
      submit: "シャープ化",
      submitBatch: "シャープ化（{count}ファイル）",
      progressLabel: "シャープニング中",
    },
    "replace-color": {
      sourceColor: "元の色（置換対象）",
      targetColor: "置換先の色",
      makeTransparent: "透明に置換",
      tolerance: "許容範囲",
      exactMatch: "完全一致",
      wideRange: "広範囲",
      submit: "色を置換",
      submitBatch: "色を置換（{count}ファイル）",
      progressLabel: "色を置換中",
    },
    "color-blindness": {
      simulationType: "シミュレーションタイプ",
      redGreen: "赤緑色覚異常",
      blueYellow: "青黄色覚異常",
      monochromatic: "全色覚異常",
      submit: "シミュレート",
      submitBatch: "シミュレート（{count}ファイル）",
      progressLabel: "色覚をシミュレート中",
    },
    "remove-background": {
      subject: "被写体",
      people: "人物",
      products: "製品",
      general: "汎用",
      passportIdPhoto: "証明写真",
      quality: "品質",
      fast: "高速",
      hd: "HD",
      max: "最高",
      ultra: "ウルトラ",
      background: "背景",
      transparent: "透明",
      bgColor: "カラー",
      gradient: "グラデーション",
      image: "画像",
      gradientDirection: "方向",
      chooseBackgroundImage: "背景画像を選択",
      effectsSection: "エフェクト",
      effectsActive: "有効",
      blurBackground: "背景ぼかし",
      intensity: "強度",
      addShadow: "シャドウ追加",
      opacity: "不透明度",
      outputFormat: "出力形式",
      edgeSmoothing: "エッジスムージング",
      edgeSmoothingOff: "オフ",
      edgeSmoothingLight: "弱",
      edgeSmoothingMedium: "中",
      edgeSmoothingStrong: "強",
      colorDecontamination: "色にじみ除去",
      rendering: "レンダリング中...",
      submit: "背景を除去",
      submitBatch: "背景を除去（{count}ファイル）",
      progressLabel: "背景を除去中",
    },
    upscale: {
      scaleFactor: "拡大倍率",
      quality: "品質",
      enhanceFaces: "顔をエンハンス",
      noiseReduction: "ノイズ低減",
      noiseReductionHint:
        "粒子やノイズを平滑化します。値が高いほどノイズ除去が強くなりますが、ディテールが柔らかくなる場合があります。",
      outputFormat: "出力フォーマット",
      submit: "{scale}倍に拡大",
      submitBatch: "{scale}倍に拡大（{count}ファイル）",
      progressLabel: "画像をアップスケール中",
      progressLabelBatch: "{count}枚の画像をアップスケール中",
    },
    "erase-object": {
      brushSize: "ブラシサイズ",
      fine: "細い",
      wide: "太い",
      undo: "元に戻す",
      clear: "クリア",
      outputFormat: "出力フォーマット",
      quality: "品質",
      paintHint: "除去したいオブジェクトの上を塗ってください。Ctrl+Zで元に戻せます。",
      submit: "消去",
      submitBatch: "すべて消去（{count}）",
      progressLabel: "オブジェクトを消去中",
    },
    ocr: {
      quality: "品質",
      enhanceBeforeScanning: "スキャン前にエンハンス",
      enhanceHint:
        "スキャン前に自動で傾き補正、コントラスト強化、ノイズ除去、アップスケールを行い、認識精度を向上させます。",
      language: "言語",
      autoDetect: "自動検出",
      extractedText: "抽出テキスト",
      noTextDetected: "この画像ではテキストが検出されませんでした",
      characters: "{count}文字",
      submit: "テキスト抽出",
      submitBatch: "テキスト抽出（{count}ファイル）",
      progressLabel: "テキストを抽出中",
    },
    "ocr-pdf": {
      quality: "品質",
      language: "言語",
      autoDetect: "自動検出",
      pages: "ページ",
      pagesPlaceholder: "すべて, 1-3, 5",
      pagesHint: "ページ番号または範囲を入力（例: 1-3, 5, 8-10）。最大50ページ。",
      submit: "テキスト抽出",
      submitBatch: "テキスト抽出（{count}ファイル）",
      progressLabel: "PDFからテキストを抽出中",
    },
    "blur-faces": {
      blurRadius: "ぼかし半径",
      blurLight: "弱",
      blurHeavy: "強",
      detectionSensitivity: "検出感度",
      moreFaces: "多く検出",
      fewerFaces: "少なく検出",
      submit: "顔をぼかす",
      progressLabel: "顔をぼかし中",
    },
    "enhance-faces": {
      quality: "品質",
      enhancementStrength: "エンハンス強度",
      onlyCenterFace: "中心の顔のみ",
      detectionSensitivity: "検出感度",
      submit: "顔をエンハンス",
      submitBatch: "顔をエンハンス（{count}ファイル）",
      progressLabel: "顔をエンハンス中",
    },
    "smart-crop": {
      subjectFocus: "被写体フォーカス",
      faceFocus: "顔フォーカス",
      autoTrim: "自動トリム",
      customSize: "カスタムサイズ",
      socialPresets: "SNSプリセット",
      detectionStrategy: "検出ストラテジー",
      detectionStrategyHint:
        "アテンションは視覚的に最も顕著な領域を検出します。エントロピーは最もディテールと情報量が多い領域を検出します。",
      attention: "アテンション",
      entropy: "エントロピー",
      padding: "パディング",
      paddingHint: "フォーカス領域周囲の余白",
      outputQuality: "出力品質",
      outputQualityHint: "JPEGとWebP出力用。PNGは常にロスレスです。",
      subjectDescription:
        "顕著性分析で最も興味深い領域を検出し、ターゲットサイズにクロップします。",
      framing: "フレーミング",
      facePadding: "顔の余白",
      facePaddingHint: "検出された顔の周囲の余白",
      fewerFalsePositives: "誤検出を減らす",
      faceDescription:
        "AI顔検出で顔を適切にフレーミングします。顔が検出されない場合は被写体フォーカスにフォールバックします。",
      trimTolerance: "許容値",
      trimDescription:
        "ボーダーピクセルがエッジカラーとどの程度異なっていてもトリムされるか。値が高いほど積極的にトリムします。",
      padToSquare: "正方形にパディング",
      targetSizePx: "ターゲットサイズ（px）",
      padColor: "パディング色",
      trimHint:
        "被写体周囲の単色ボーダーを除去します。「正方形にパディング」を有効にするとEC用画像に最適です。",
      submitSubject: "スマートクロップ",
      submitFace: "顔クロップ",
      submitTrim: "ボーダートリム",
    },
    imageEnhancement: {
      enhancementMode: "エンハンスモード",
      auto: "自動",
      portrait: "ポートレート",
      landscape: "風景",
      lowLight: "低照度",
      food: "料理",
      document: "文書",
      intensity: "強度",
      deepEnhance: "ディープエンハンス（AI）",
      deepEnhanceDescription: "AIでノイズとアーティファクトを除去",
      deepEnhanceRequires: "アップスケール＆エンハンスバンドルが必要",
      analyzingImage: "画像を解析中...",
      detectedIssues: "検出された問題",
      imageLooksGood: "画像は良好です。強度スライダーで微調整してください。",
      issueUnderexposed: "露出不足",
      issueOverexposed: "露出過多",
      issueLowContrast: "低コントラスト",
      issueColorCast: "色かぶり",
      issueDesaturated: "彩度不足",
      issueSoftFocus: "ソフトフォーカス",
      issueNoisy: "ノイズあり",
      submit: "エンハンス",
      submitDeep: "ディープエンハンス",
      submitBatch: "エンハンス（{count}ファイル）",
      submitDeepBatch: "ディープエンハンス（{count}ファイル）",
      progressLabel: "画像をエンハンス中",
      progressLabelBatch: "{count}枚の画像をエンハンス中",
    },
    "noise-removal": {
      denoisingTier: "ノイズ除去レベル",
      quick: "クイック",
      balanced: "バランス",
      quality: "高品質",
      maximum: "最高",
      quickDesc: "高速、軽量",
      balancedDesc: "良好な品質、適度な速度",
      qualityDesc: "AI駆動、低速",
      maximumDesc: "最良AIモデル、最低速",
      strength: "強度",
      subtle: "弱",
      aggressive: "強",
      detailPreservation: "ディテール保持",
      smooth: "スムーズ",
      sharp: "シャープ",
      colorNoise: "カラーノイズ",
      heavy: "強い",
      outputFormat: "出力フォーマット",
      gifAiWarning:
        "GIFファイルのAIノイズ除去は最初のフレームのみ処理します。アニメーションGIFにはクイックまたはバランスレベルをご使用ください。",
      submit: "ノイズ除去",
      submitBatch: "ノイズ除去（{count}ファイル）",
      progressLabel: "ノイズを除去中",
      progressLabelBatch: "{count}枚の画像のノイズを除去中",
    },
    "red-eye-removal": {
      sensitivity: "感度",
      strict: "厳格",
      aggressive: "積極的",
      correctionStrength: "補正強度",
      subtle: "弱",
      dark: "暗め",
      outputFormat: "出力フォーマット",
      quality: "品質",
      submit: "赤目補正",
      submitBatch: "赤目補正（{count}ファイル）",
      progressLabel: "赤目を補正中",
      progressLabelBatch: "{count}枚の画像の赤目を補正中",
    },
    "restore-photo": {
      scratchRemoval: "傷の修復",
      scratchRemovalDesc: "傷、破れ、しみを検出して修復",
      faceEnhancement: "顔エンハンスメント",
      faceEnhancementDesc: "CodeFormer AIで劣化した顔を修復",
      faceFidelity: "顔の忠実度",
      enhanced: "エンハンス",
      faithful: "忠実",
      noiseReduction: "ノイズ低減",
      noiseReductionDesc: "古い写真の粒子やノイズを除去",
      denoiseStrength: "ノイズ除去強度",
      autoColorize: "自動カラー化",
      autoColorizeDesc: "DDColor AIで白黒写真をカラー化",
      colorizeStrength: "カラー化強度",
      vivid: "鮮やか",
      submit: "写真を修復",
      submitBatch: "写真を修復（{count}）",
      progressLabel: "写真を修復中",
      progressLabelBatch: "{count}枚の写真を修復中",
    },
    "content-aware-resize": {
      widthPx: "幅（px）",
      heightPx: "高さ（px）",
      resizeToSquare: "正方形にリサイズ",
      protectFaces: "顔を保護",
      protectFacesHint: "顔検出を使用して顔領域を検出し、シーム除去から保護します",
      smoothing: "スムージング",
      edgeSensitivity: "エッジ感度",
      submit: "リサイズ",
      submitBatch: "リサイズ（{count}ファイル）",
      progressLabel: "コンテンツ認識リサイズ中",
    },
    "ai-canvas-expand": {
      quality: "品質",
      fast: "高速",
      balanced: "バランス",
      highQuality: "高品質",
      fastDesc: "クイックプレビュー、AI処理少なめ",
      balancedDesc: "良好な品質、適度な速度",
      highQualityDesc: "最高の結果、低速",
      extendToAspectRatio: "アスペクト比に拡張",
      extendByPixels: "拡張ピクセル数",
      top: "上",
      right: "右",
      bottom: "下",
      left: "左",
      newSize: "新しいサイズ：{width} x {height}",
      submit: "キャンバス拡張",
      submitBatch: "拡張（{count}ファイル）",
      progressLabel: "キャンバスを拡張中",
    },
    colorize: {
      aiModel: "AIモデル",
      fast: "高速",
      fastDesc: "素早い結果",
      balanced: "バランス",
      balancedDesc: "最良の利用可能モデル",
      best: "最高",
      bestDesc: "最高品質",
      colorIntensity: "カラー強度",
      grayscaleLabel: "グレースケール",
      subtleLabel: "控えめ",
      naturalLabel: "自然",
      vividLabel: "鮮やか",
      intensityHint: "低い値ほど落ち着いたヴィンテージ風の色合いになります。",
      strength: "カラー化強度",
      submit: "カラー化",
      submitBatch: "カラー化（{count}ファイル）",
      progressLabel: "カラー化中",
      progressLabelBatch: "{count}枚の画像をカラー化中",
    },
    "passport-photo": {
      country: "国",
      searchCountries: "国を検索...",
      noCountriesFound: "国が見つかりません",
      customDimensions: "カスタムサイズ",
      documentType: "書類タイプ",
      dimensionsMm: "サイズ（mm）",
      dpi: "DPI",
      pixelsPerInch: "ピクセル/インチ",
      backgroundColor: "背景色",
      maxFileSize: "最大ファイルサイズ",
      noLimit: "制限なし",
      customKb: "カスタムKB...",
      uploadPortrait: "顔写真をアップロード",
      uploadHint: "左パネルに画像をドロップまたはアップロードして証明写真をプレビュー",
      analyzingPhoto: "写真を解析中",
      detectingLandmarks: "顔のランドマークを検出し背景を除去中...",
      generatePassportPhoto: "証明写真を生成",
      generating: "生成中...",
      downloadPhoto: "写真をダウンロード",
      faceCentered: "顔が中心",
      headLevel: "頭が水平",
      lookingStraight: "正面を向いている",
      faceSize: "顔のサイズ",
      whatYouSee: "表示されている通りにダウンロードされます",
      dragToAdjust: "ドラッグで調整",
      scrollToZoom: "スクロールでズーム",
      photoGenerated: "写真が生成されました。左パネルからダウンロードしてください。",
    },
    "transcribe-audio": {
      language: "言語",
      autoDetect: "自動検出",
      outputFormat: "出力形式",
      plainText: "プレーンテキスト",
      submit: "文字起こし",
      submitBatch: "文字起こし ({count}ファイル)",
      progressLabel: "音声を文字起こし中",
    },
    "auto-subtitles": {
      language: "言語",
      autoDetect: "自動検出",
      format: "字幕形式",
      submit: "字幕を生成",
      submitBatch: "字幕を生成 ({count}ファイル)",
      progressLabel: "字幕を生成中",
    },
    "transparency-fixer": {
      description: "偽の透過背景のPNGをアップロードすると、ワンクリックで修正します。",
      removeWatermark: "ウォーターマーク除去",
      removeWatermarkHelp: "半透明ウォーターマークを検出して除去",
      requiresEraser: "オブジェクト消去バンドルが必要",
      advanced: "詳細",
      defringe: "フリンジ除去",
      outputFormat: "出力フォーマット",
      submit: "透過を修正",
      submitBatch: "透過を修正（{count}ファイル）",
      progressLabel: "透過を修正中",
    },
    "background-replace": {
      color: "背景色",
      submit: "背景を置換",
      submitBatch: "背景を置換 ({count} ファイル)",
      progressLabel: "背景を置換中",
    },
    "blur-background": {
      intensity: "ぼかし強度",
      submit: "背景をぼかす",
      submitBatch: "背景をぼかす ({count} ファイル)",
      progressLabel: "背景をぼかし中",
    },
    "watermark-text": {
      watermarkText: "ウォーターマークテキスト",
      fontSize: "フォントサイズ",
      color: "色",
      opacity: "不透明度",
      position: "位置",
      rotation: "回転",
      center: "中央",
      topLeft: "左上",
      topRight: "右上",
      bottomLeft: "左下",
      bottomRight: "右下",
      tiled: "タイル",
      submit: "ウォーターマーク追加",
      submitBatch: "ウォーターマーク追加（{count}ファイル）",
      progressLabel: "ウォーターマークを追加中",
    },
    "watermark-image": {
      uploadWatermark: "ウォーターマーク画像をアップロード",
      position: "位置",
      opacity: "不透明度",
      scale: "スケール",
      submit: "ウォーターマーク適用",
      submitBatch: "ウォーターマーク適用（{count}ファイル）",
    },
    "text-overlay": {
      text: "テキスト",
      fontSize: "フォントサイズ",
      color: "色",
      position: "位置",
      top: "上",
      center: "中央",
      bottom: "下",
      backgroundBox: "背景ボックス",
      backgroundColor: "背景色",
      shadow: "シャドウ",
      submit: "テキスト追加",
      submitBatch: "テキスト追加（{count}ファイル）",
      progressLabel: "テキストオーバーレイを追加中",
      download: "ダウンロード",
      defaultText: "ここにテキストを入力",
    },
    compose: {
      uploadOverlay: "オーバーレイ画像をアップロード",
      xPosition: "X位置",
      yPosition: "Y位置",
      opacity: "不透明度",
      blendMode: "ブレンドモード",
      submit: "合成",
    },
    "meme-generator": {
      selectTemplate:
        "ギャラリーからテンプレートを選ぶか、自分の画像をアップロードして開始します。",
      chooseLayout: "カスタム画像のテキストレイアウトを選択してください。",
      textContent: "テキスト内容",
      textStyle: "テキストスタイル",
      font: "フォント",
      fontSize: "フォントサイズ",
      textColor: "テキスト色",
      strokeColor: "ストローク色",
      allCaps: "全大文字",
      generate: "Meme生成",
      generating: "生成中...",
      downloadMeme: "Memeをダウンロード",
      backToGallery: "ギャラリーに戻る",
    },
    info: {
      loadingInfo: "情報を読み込み中...",
      filename: "ファイル名",
      fileSize: "ファイルサイズ",
      dimensions: "サイズ",
      format: "フォーマット",
      channels: "チャンネル",
      colorSpace: "色空間",
      density: "密度",
      bitDepth: "ビット深度",
      progressive: "プログレッシブ",
      pages: "ページ数",
      hasAlpha: "アルファ",
      hasProfile: "プロファイル",
      hasExif: "EXIF",
      hasIcc: "ICC",
      hasXmp: "XMP",
      readInfo: "情報を取得",
      reading: "読み込み中...",
      channelStats: "チャンネル統計",
      yes: "はい",
      no: "いいえ",
      na: "該当なし",
      failedToRead: "情報の読み取りに失敗しました",
    },
    compare: {
      uploadSecondImage: "2枚目の画像をアップロード",
      similarity: "類似度：{percent}%",
      submit: "比較",
      downloadDiff: "差分をダウンロード",
    },
    "find-duplicates": {
      preset: "プリセット",
      exact: "完全一致",
      similar: "類似",
      loose: "緩い",
      exactDesc: "ピクセル単位で同一のコピー、異なるフォーマットの同一画像。",
      similarDesc: "リサイズ、再圧縮、軽微な編集が加えられたコピー。",
      looseDesc: "視覚的に関連する画像、軽いクロップ、異なる露出。",
      threshold: "しきい値",
      submit: "重複スキャン",
      scanning: "スキャン中...",
    },
    "color-palette": {
      submit: "パレット抽出",
      extracting: "抽出中...",
      dominantColors: "ドミナントカラー",
      clickToCopy: "クリックでコピー",
    },
    "qr-generate": {
      contentType: "コンテンツタイプ",
      url: "URL",
      text: "テキスト",
      wifi: "WiFi",
      vcard: "vCard",
      email: "メール",
      phone: "電話",
      sms: "SMS",
      styling: "スタイリング",
      dotStyle: "ドットスタイル",
      cornerSquareStyle: "コーナースクエアスタイル",
      cornerDotStyle: "コーナードットスタイル",
      foregroundColor: "前景色",
      bgColor: "背景色",
      logo: "ロゴ",
      downloadFormat: "ダウンロードフォーマット",
      submit: "QRコード生成",
      download: "QRコードをダウンロード",
    },
    "html-to-image": {
      modeUrl: "URL",
      modeHtml: "HTML ファイル",
      htmlFile: "HTML ファイル",
      url: "URL",
      urlPlaceholder: "https://snapotter.com",
      format: "出力形式",
      quality: "品質",
      devicePreset: "デバイス",
      viewportWidth: "幅",
      viewportHeight: "高さ",
      fullPage: "ページ全体",
      submit: "キャプチャ",
      download: "スクリーンショットをダウンロード",
      capturing: "ページをキャプチャ中...",
      errorTimeout: "ページの読み込みがタイムアウトしました",
      errorBlocked: "この URL はキャプチャできません",
      errorUnavailable: "スクリーンショットサービスは利用できません",
      errorFailed: "ページのキャプチャに失敗しました",
      placeholder: "URL を入力して「キャプチャ」をクリック",
      presets: {
        desktop: "デスクトップ",
        tablet: "タブレット",
        mobile: "モバイル",
        custom: "カスタム",
      },
    },
    "barcode-read": {
      submit: "バーコードスキャン",
      submitBatch: "スキャン（{count}ファイル）",
      scanning: "スキャン中...",
      noBarcodesFound: "バーコードが見つかりません",
      barcodesFound: "{count}個のバーコードが見つかりました",
      barcodesFoundPlural: "{count}個のバーコードが見つかりました",
    },
    collage: {
      template: "テンプレート",
      aspectRatio: "アスペクト比",
      gap: "間隔",
      cornerRadius: "角丸",
      backgroundColor: "背景色",
      outputFormat: "出力フォーマット",
      quality: "品質",
      submit: "コラージュ作成",
      downloadCollage: "コラージュをダウンロード",
    },
    stitch: {
      direction: "方向",
      horizontal: "横並び",
      vertical: "縦並び",
      grid: "グリッド",
      gridColumns: "グリッド列数",
      resizeMode: "リサイズモード",
      fit: "フィット",
      original: "オリジナル",
      stretchMode: "ストレッチ",
      cropMode: "クロップ",
      alignment: "配置",
      start: "先頭",
      center: "中央",
      end: "末尾",
      gap: "間隔",
      border: "ボーダー",
      cornerRadius: "角丸",
      backgroundColor: "背景色",
      outputFormat: "出力フォーマット",
      quality: "品質",
      submit: "画像を結合",
    },
    split: {
      modeGrid: "グリッド",
      modeTileSize: "タイルサイズ",
      presets: "プリセット",
      columns: "列数",
      rows: "行数",
      tileWidth: "タイル幅",
      tileHeight: "タイル高さ",
      outputFormat: "出力フォーマット",
      quality: "品質",
      submit: "画像を分割",
      downloadAll: "一括ダウンロード（ZIP）",
    },
    border: {
      presets: "プリセット",
      borderWidth: "ボーダー幅",
      borderColor: "ボーダー色",
      padding: "パディング",
      paddingColor: "パディング色",
      cornerRadius: "角丸",
      shadow: "シャドウ",
      shadowBlur: "シャドウぼかし",
      shadowOffsetX: "シャドウオフセットX",
      shadowOffsetY: "シャドウオフセットY",
      shadowColor: "シャドウ色",
      shadowOpacity: "シャドウ不透明度",
      submit: "ボーダー追加",
      submitBatch: "ボーダー追加（{count}ファイル）",
      progressLabel: "ボーダーを追加中",
    },
    beautify: {
      preset: "プリセット",
      backgroundType: "背景タイプ",
      solidColor: "単色",
      linearGradient: "線形グラデーション",
      radialGradient: "放射グラデーション",
      customImage: "カスタム画像",
      gradientAngle: "グラデーション角度",
      padding: "パディング",
      borderRadius: "角丸半径",
      shadowPreset: "シャドウプリセット",
      deviceFrame: "デバイスフレーム",
      submit: "美化",
      submitBatch: "美化（{count}ファイル）",
      progressLabel: "スクリーンショットを美化中",
    },
    "circle-crop": {
      submit: "円形クロップ",
      submitBatch: "円形クロップ ({count} ファイル)",
      progressLabel: "円形にクロップ中",
    },
    duotone: {
      shadow: "シャドウカラー",
      highlight: "ハイライトカラー",
      submit: "デュオトーンを適用",
      submitBatch: "デュオトーンを適用 ({count} ファイル)",
      progressLabel: "デュオトーンを適用中",
    },
    "image-pad": {
      target: "目標比率",
      color: "背景色",
      submit: "パディング",
      submitBatch: "パディング ({count} ファイル)",
      progressLabel: "画像をパディング中",
    },
    pixelate: {
      blockSize: "ブロックサイズ",
      submit: "モザイク化",
      submitBatch: "モザイク化 ({count} ファイル)",
      progressLabel: "モザイク化中",
    },
    vignette: {
      strength: "強度",
      color: "ビネットカラー",
      submit: "ビネットを適用",
      submitBatch: "ビネットを適用 ({count} ファイル)",
      progressLabel: "ビネットを適用中",
    },
    "gif-webp": {
      submit: "変換",
      submitBatch: "変換 ({count} ファイル)",
      progressLabel: "アニメーションを変換中",
    },
    histogram: {
      submit: "ヒストグラムを生成",
      submitBatch: "ヒストグラムを生成 ({count} ファイル)",
      progressLabel: "ヒストグラムを生成中",
    },
    "lqip-placeholder": {
      width: "幅",
      blur: "ぼかし",
      submit: "プレースホルダーを生成",
      submitBatch: "プレースホルダーを生成 ({count} ファイル)",
      progressLabel: "プレースホルダーを生成中",
    },
    "sprite-sheet": {
      columns: "列数",
      padding: "余白",
      background: "背景色",
      submit: "スプライトシートを作成",
      submitBatch: "スプライトシートを作成",
      progressLabel: "スプライトシートを作成中",
    },
    "svg-to-raster": {
      outputFormat: "出力フォーマット",
      sizing: "サイズ設定",
      scaleMode: "スケール",
      customMode: "カスタム",
      scalePresets: "スケールプリセット",
      dpiPresets: "DPIプリセット",
      customWidth: "幅（px）",
      customHeight: "高さ（px）",
      background: "背景",
      bgTransparent: "透明",
      bgColor: "カラー",
      quality: "品質",
      submit: "SVG変換",
      submitBatch: "変換（{count}ファイル）",
      progressLabel: "SVGを変換中",
    },
    vectorize: {
      preset: "プリセット",
      logo: "ロゴ",
      illustration: "イラスト",
      photo: "写真",
      sketch: "スケッチ",
      customPreset: "カスタム",
      colorMode: "カラーモード",
      bw: "白黒",
      colorModeColor: "カラー",
      threshold: "しきい値",
      colorPrecision: "色精度",
      layerDifference: "レイヤー差分",
      filterSpeckle: "スペックル除去",
      pathMode: "パスモード",
      cornerThreshold: "コーナーしきい値",
      invertColors: "色を反転",
      submit: "ベクター化",
      submitBatch: "ベクター化（{count}ファイル）",
      progressLabel: "ベクター化中",
    },
    "gif-tools": {
      mode: "モード",
      resize: "リサイズ",
      optimize: "最適化",
      speed: "速度",
      reverse: "逆再生",
      extract: "抽出",
      rotateMode: "回転",
      pixel: "ピクセル",
      percentage: "パーセント",
      colors: "色数",
      dither: "ディザ",
      effort: "処理強度",
      speedFactor: "速度倍率",
      loopControl: "ループ制御",
      infinite: "無限",
      once: "1回",
      customLoop: "カスタム",
      loopCount: "ループ回数",
      extractSingle: "単一",
      extractRange: "範囲",
      extractAll: "すべて",
      frameNumber: "フレーム番号",
      frameStart: "開始フレーム",
      frameEnd: "終了フレーム",
      extractFormat: "フォーマット",
      submit: "GIF処理",
      submitBatch: "処理（{count}ファイル）",
      progressLabel: "GIFを処理中",
    },
    "image-to-base64": {
      outputFormat: "出力フォーマット",
      keepOriginal: "元のフォーマットを維持",
      quality: "品質",
      maxWidth: "最大幅",
      maxHeight: "最大高さ",
      submit: "Base64に変換",
      submitBatch: "変換（{count}ファイル）",
      copyBase64: "Base64をコピー",
      copyDataUri: "Data URIをコピー",
      copyImgTag: "<img>タグをコピー",
      copyCssUrl: "CSS url()をコピー",
    },
    "barcode-generate": {
      text: "テキスト",
      type: "バーコードの種類",
      scale: "拡大率",
      includeText: "テキストを表示",
      submit: "バーコードを生成",
      download: "バーコードをダウンロード",
    },
    "chart-maker": {
      kind: "グラフの種類",
      title: "タイトル",
      width: "幅",
      height: "高さ",
      submit: "グラフを作成",
      submitBatch: "グラフを作成 ({count} ファイル)",
      progressLabel: "グラフを作成中",
    },
    "enhance-faces-standalone": {
      model: "モデル",
      fast: "高速",
      balanced: "バランス",
      best: "最高",
    },
    "convert-video": {
      format: "出力形式",
      quality: "品質",
      high: "高品質",
      balanced: "バランス",
      small: "最小サイズ",
      submit: "変換",
      submitBatch: "変換 ({count} ファイル)",
      progressLabel: "変換中",
    },
    "compress-video": {
      quality: "圧縮レベル",
      light: "軽め",
      balanced: "バランス",
      strong: "強め",
      resolution: "解像度",
      original: "オリジナル",
      submit: "圧縮",
      submitBatch: "圧縮 ({count} ファイル)",
      progressLabel: "圧縮中",
    },
    "trim-video": {
      start: "開始 (秒)",
      end: "終了 (秒)",
      precise: "フレーム単位 (再エンコード)",
      submit: "トリミング",
      submitBatch: "トリミング ({count} ファイル)",
      progressLabel: "トリミング中",
    },
    "mute-video": {
      submit: "音声を削除",
      submitBatch: "音声を削除 ({count} ファイル)",
      progressLabel: "ミュート中",
    },
    "video-to-gif": {
      fps: "フレームレート",
      width: "幅 (px)",
      start: "開始 (秒)",
      duration: "長さ (秒)",
      submit: "GIF を作成",
      submitBatch: "GIF を作成 ({count} ファイル)",
      progressLabel: "GIF を作成中",
    },
    "resize-video": {
      preset: "プリセット",
      width: "幅 (px)",
      height: "高さ (px)",
      hint: "アスペクト比を維持するには片方を空欄にしてください",
      submit: "リサイズ",
      submitBatch: "リサイズ ({count} ファイル)",
      progressLabel: "リサイズ中",
    },
    "crop-video": {
      width: "幅 (px)",
      height: "高さ (px)",
      x: "X オフセット",
      y: "Y オフセット",
      submit: "クロップ",
      submitBatch: "クロップ ({count} ファイル)",
      progressLabel: "クロップ中",
    },
    "rotate-video": {
      transform: "変形",
      cw90: "時計回りに90度回転",
      ccw90: "反時計回りに90度回転",
      rotate180: "180度回転",
      hflip: "水平反転",
      vflip: "垂直反転",
      submit: "回転",
      submitBatch: "回転 ({count} ファイル)",
      progressLabel: "回転中",
    },
    "change-fps": {
      fps: "フレームレート",
      submit: "FPS を変更",
      submitBatch: "FPS を変更 ({count} ファイル)",
      progressLabel: "FPS を変更中",
    },
    "video-color": {
      brightness: "明るさ",
      contrast: "コントラスト",
      saturation: "彩度",
      gamma: "ガンマ",
      submit: "適用",
      submitBatch: "適用 ({count} ファイル)",
      progressLabel: "色を調整中",
    },
    "video-speed": {
      factor: "速度倍率",
      keepPitch: "元のピッチを維持",
      submit: "速度を変更",
      submitBatch: "速度を変更 ({count} ファイル)",
      progressLabel: "速度を変更中",
    },
    "reverse-video": {
      hint: "5分以内のクリップに限られます",
      submit: "逆再生",
      submitBatch: "逆再生 ({count} ファイル)",
      progressLabel: "逆再生処理中",
    },
    "video-loudnorm": {
      hint: "EBU R128 放送規格に音声を正規化します",
      submit: "正規化",
      submitBatch: "正規化 ({count} ファイル)",
      progressLabel: "正規化中",
    },
    "aspect-pad": {
      target: "目標比率",
      color: "背景色",
      colorHint: "HEX カラー (例: #000000)",
      submit: "パディング",
      submitBatch: "パディング ({count} ファイル)",
      progressLabel: "パディング中",
    },
    "blur-pad": {
      target: "目標比率",
      blur: "ぼかし強度",
      submit: "パディング",
      submitBatch: "パディング ({count} ファイル)",
      progressLabel: "パディング中",
    },
    "watermark-video": {
      text: "ウォーターマークテキスト",
      position: "位置",
      fontSize: "フォントサイズ",
      opacity: "不透明度",
      color: "色",
      colorHint: "HEX カラー (例: #ffffff)",
      submit: "ウォーターマーク",
      submitBatch: "ウォーターマーク ({count} ファイル)",
      progressLabel: "ウォーターマーク処理中",
    },
    "stabilize-video": {
      smoothing: "スムージング",
      hint: "2パス処理のため他のツールより時間がかかります",
      submit: "手ぶれ補正",
      submitBatch: "手ぶれ補正 ({count} ファイル)",
      progressLabel: "手ぶれ補正中",
    },
    "gif-to-video": {
      format: "出力形式",
      submit: "変換",
      submitBatch: "変換 ({count} ファイル)",
      progressLabel: "変換中",
    },
    "video-to-webp": {
      fps: "フレームレート",
      width: "幅 (px)",
      quality: "品質",
      loop: "アニメーションをループ",
      submit: "変換",
      submitBatch: "変換 ({count} ファイル)",
      progressLabel: "変換中",
    },
    "video-to-frames": {
      mode: "抽出モード",
      modeAll: "全フレーム",
      modeNth: "N フレームごと",
      modeTimestamps: "指定タイムスタンプ",
      n: "N フレームごとに抽出",
      timestamps: "タイムスタンプ (秒)",
      timestampsHint: "カンマ区切り (例: 0.5, 2, 4.5)",
      format: "画像形式",
      submit: "フレームを抽出",
      submitBatch: "フレームを抽出 ({count} ファイル)",
      progressLabel: "フレームを抽出中",
    },
    "merge-videos": {
      hint: "アップロード順に結合されます",
      submit: "結合",
      submitBatch: "結合 ({count} ファイル)",
      progressLabel: "結合中",
    },
    "replace-audio": {
      hint: "先に動画、次に音声をアップロードしてください",
      submit: "音声を置換",
      submitBatch: "音声を置換 ({count} ファイル)",
      progressLabel: "音声を置換中",
    },
    "burn-subtitles": {
      fontSize: "フォントサイズ",
      hint: "動画と字幕ファイル (.srt または .vtt) をアップロード",
      submit: "字幕を焼き付け",
      submitBatch: "字幕を焼き付け ({count} ファイル)",
      progressLabel: "字幕を焼き付け中",
    },
    "embed-subtitles": {
      language: "言語コード",
      languageHint: "ISO 639-2 の3文字コード (例: eng, spa, fra)",
      submit: "字幕を埋め込み",
      submitBatch: "字幕を埋め込み ({count} ファイル)",
      progressLabel: "字幕を埋め込み中",
    },
    "extract-subtitles": {
      submit: "字幕を抽出",
      submitBatch: "字幕を抽出 ({count} ファイル)",
      progressLabel: "字幕を抽出中",
    },
    "images-to-video": {
      secondsPerImage: "画像ごとの秒数",
      resolution: "解像度",
      fps: "フレームレート",
      submit: "動画を作成",
      submitBatch: "動画を作成 ({count} ファイル)",
      progressLabel: "スライドショーを作成中",
    },
    "video-metadata": {
      hint: "メタデータレポートが結果に表示されます",
      submit: "メタデータを削除",
      submitBatch: "メタデータを削除 ({count} ファイル)",
      progressLabel: "メタデータを削除中",
    },
    "convert-audio": {
      format: "出力形式",
      bitrate: "ビットレート (kbps)",
      submit: "変換",
      submitBatch: "変換 ({count} ファイル)",
      progressLabel: "変換中",
    },
    "trim-audio": {
      start: "開始 (秒)",
      end: "終了 (秒)",
      submit: "トリミング",
      submitBatch: "トリミング ({count} ファイル)",
      progressLabel: "トリミング中",
    },
    "extract-audio": {
      format: "出力形式",
      submit: "抽出",
      submitBatch: "抽出 ({count} ファイル)",
      progressLabel: "抽出中",
    },
    "volume-adjust": {
      "gain-db": "ゲイン (dB)",
      submit: "音量を調整",
      submitBatch: "音量を調整 ({count} ファイル)",
      progressLabel: "音量を調整中",
    },
    "normalize-audio": {
      hint: "EBU R128 ラウドネス正規化",
      submit: "正規化",
      submitBatch: "正規化 ({count} ファイル)",
      progressLabel: "正規化中",
    },
    "fade-audio": {
      "fade-in-s": "フェードイン (秒)",
      "fade-out-s": "フェードアウト (秒)",
      submit: "フェードを適用",
      submitBatch: "フェードを適用 ({count} ファイル)",
      progressLabel: "フェードを適用中",
    },
    "reverse-audio": {
      submit: "逆再生",
      submitBatch: "逆再生 ({count} ファイル)",
      progressLabel: "逆再生中",
    },
    "audio-speed": {
      factor: "速度倍率",
      submit: "速度を変更",
      submitBatch: "速度を変更 ({count}ファイル)",
      progressLabel: "速度変更中",
    },
    "pitch-shift": {
      semitones: "半音",
      hint: "0半音は指定できません",
      submit: "ピッチをシフト",
      submitBatch: "ピッチをシフト ({count}ファイル)",
      progressLabel: "ピッチシフト中",
    },
    "audio-channels": {
      mode: "チャンネルモード",
      "stereo-to-mono": "ステレオからモノラル",
      "mono-to-stereo": "モノラルからステレオ",
      swap: "左右を入れ替え",
      submit: "チャンネルを変換",
      submitBatch: "チャンネルを変換 ({count}ファイル)",
      progressLabel: "チャンネル変換中",
    },
    "silence-removal": {
      "threshold-db": "無音しきい値 (dB)",
      "min-silence-s": "最小無音時間（秒）",
      submit: "無音を削除",
      submitBatch: "無音を削除 ({count}ファイル)",
      progressLabel: "無音削除中",
    },
    "noise-reduction": {
      strength: "強度",
      light: "弱",
      medium: "中",
      strong: "強",
      submit: "ノイズを軽減",
      submitBatch: "ノイズを軽減 ({count}ファイル)",
      progressLabel: "ノイズ軽減中",
    },
    "merge-audio": {
      format: "出力形式",
      mp3: "MP3",
      wav: "WAV",
      flac: "FLAC",
      m4a: "M4A",
      "order-hint": "アップロード順にファイルが結合されます",
      submit: "音声を結合",
      submitBatch: "音声を結合 ({count}ファイル)",
      progressLabel: "音声結合中",
    },
    "split-audio": {
      mode: "分割モード",
      time: "時間で分割",
      parts: "均等分割",
      silence: "無音で分割",
      "segment-s": "セグメント長（秒）",
      "num-parts": "分割数",
      "threshold-db": "無音しきい値 (dB)",
      "min-silence-s": "最小無音時間（秒）",
      submit: "音声を分割",
      submitBatch: "音声を分割 ({count}ファイル)",
      progressLabel: "音声分割中",
    },
    "ringtone-maker": {
      "start-s": "開始時間（秒）",
      "duration-s": "長さ（秒）",
      "max-hint": "最大30秒",
      submit: "着信音を作成",
      submitBatch: "着信音を作成 ({count}ファイル)",
      progressLabel: "着信音作成中",
    },
    "waveform-image": {
      width: "幅 (px)",
      height: "高さ (px)",
      color: "波形の色",
      submit: "波形を生成",
      submitBatch: "波形を生成 ({count}ファイル)",
      progressLabel: "波形生成中",
    },
    "audio-metadata": {
      strip: "すべてのメタデータを削除",
      title: "タイトル",
      artist: "アーティスト",
      album: "アルバム",
      submit: "メタデータを適用",
      submitBatch: "メタデータを適用 ({count}ファイル)",
      progressLabel: "メタデータ適用中",
    },
    "merge-pdf": {
      addFiles: "結合するPDFを追加",
      needTwo: "2つ以上のPDFが必要です",
      orderHint: "{count}個のPDFがこの順序で結合されます",
      submit: "結合",
      submitBatch: "結合 ({count}ファイル)",
      progressLabel: "結合中",
    },
    "split-pdf": {
      mode: "分割モード",
      range: "ページ範囲",
      rangeHint: "例: 1-3, 5, 7-z",
      everyN: "パートあたりのページ数",
      submit: "分割",
      submitBatch: "分割 ({count}ファイル)",
      progressLabel: "分割中",
    },
    "compress-pdf": {
      preset: "品質プリセット",
      screen: "画面用（最小）",
      ebook: "電子書籍用（バランス）",
      printer: "印刷用（最高品質）",
      submit: "圧縮",
      submitBatch: "圧縮 ({count}ファイル)",
      progressLabel: "圧縮中",
    },
    "rotate-pdf": {
      angle: "回転角度",
      range: "ページ範囲",
      rangeHint: "例: 1-3, 5, 1-z（全ページ）",
      submit: "回転",
      submitBatch: "回転 ({count}ファイル)",
      progressLabel: "回転中",
    },
    "convert-document": {
      format: "出力形式",
      submit: "変換",
      submitBatch: "変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "convert-presentation": {
      format: "出力形式",
      submit: "変換",
      submitBatch: "変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "convert-spreadsheet": {
      format: "出力形式",
      hint: "複数シートのブックはCSVへの変換時に最初のシートのみ出力されます。",
      submit: "変換",
      submitBatch: "変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "excel-to-pdf": {
      submit: "PDFに変換",
      submitBatch: "変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "powerpoint-to-pdf": {
      submit: "PDFに変換",
      submitBatch: "変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "word-to-pdf": {
      submit: "PDFに変換",
      submitBatch: "変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "extract-pages": {
      range: "ページ範囲",
      rangeHint: "例: 1-3, 5, 7-z",
      submit: "抽出",
      submitBatch: "抽出 ({count}ファイル)",
      progressLabel: "抽出中",
    },
    "remove-pages": {
      pages: "削除するページ",
      pagesHint: "例: 2, 4-6, z（最終ページ）",
      submit: "削除",
      submitBatch: "削除 ({count}ファイル)",
      progressLabel: "削除中",
    },
    "organize-pdf": {
      order: "ページ順序",
      orderHint: "例: 3,1,2 または 1-z（そのまま）",
      submit: "並べ替え",
      submitBatch: "並べ替え ({count}ファイル)",
      progressLabel: "並べ替え中",
    },
    "protect-pdf": {
      userPassword: "ユーザーパスワード",
      ownerPassword: "オーナーパスワード（任意）",
      ownerPasswordHint: "空の場合はユーザーパスワードが使用されます",
      submit: "保護",
      submitBatch: "保護 ({count}ファイル)",
      progressLabel: "暗号化中",
    },
    "unlock-pdf": {
      password: "パスワード",
      submit: "ロック解除",
      submitBatch: "ロック解除 ({count}ファイル)",
      progressLabel: "復号中",
    },
    "repair-pdf": {
      submit: "修復",
      submitBatch: "修復 ({count}ファイル)",
      progressLabel: "修復中",
    },
    "linearize-pdf": {
      submit: "最適化",
      submitBatch: "最適化 ({count}ファイル)",
      progressLabel: "リニアライズ中",
    },
    "grayscale-pdf": {
      submit: "変換",
      submitBatch: "変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "pdfa-convert": {
      submit: "変換",
      submitBatch: "変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "crop-pdf": {
      margin: "余白（ポイント）",
      submit: "切り抜き",
      submitBatch: "切り抜き ({count}ファイル)",
      progressLabel: "切り抜き中",
    },
    "nup-pdf": {
      perSheet: "1枚あたりのページ数",
      submit: "配置",
      submitBatch: "配置 ({count}ファイル)",
      progressLabel: "配置中",
    },
    "booklet-pdf": {
      perSheet: "1枚あたりのページ数",
      submit: "冊子を作成",
      submitBatch: "冊子を作成 ({count}ファイル)",
      progressLabel: "冊子作成中",
    },
    "watermark-pdf": {
      text: "透かしテキスト",
      position: "位置",
      fontSize: "フォントサイズ",
      opacity: "不透明度",
      rotation: "回転",
      submit: "透かしを追加",
      submitBatch: "透かしを追加 ({count}ファイル)",
      progressLabel: "透かし追加中",
    },
    "pdf-page-numbers": {
      position: "位置",
      fontSize: "フォントサイズ",
      submit: "番号を追加",
      submitBatch: "番号を追加 ({count}ファイル)",
      progressLabel: "番号追加中",
    },
    "flatten-pdf": {
      submit: "フラット化",
      submitBatch: "フラット化 ({count}ファイル)",
      progressLabel: "フラット化中",
    },
    "redact-pdf": {
      terms: "墨消しする語句",
      termsHint: "1行に1語句（最大50件）",
      caseSensitive: "大文字・小文字を区別",
      submit: "墨消し",
      submitBatch: "墨消し ({count}ファイル)",
      progressLabel: "墨消し中",
    },
    "pdf-to-text": {
      submit: "テキストを抽出",
      submitBatch: "テキストを抽出 ({count}ファイル)",
      progressLabel: "抽出中",
    },
    "pdf-to-word": {
      hint: "テキストベースのPDFに最適です。スキャンページにはOCRが必要です",
      submit: "Wordに変換",
      submitBatch: "Wordに変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "pdf-metadata": {
      title: "タイトル",
      author: "著者",
      subject: "件名",
      keywords: "キーワード",
      submit: "メタデータを設定",
      submitBatch: "メタデータを設定 ({count}ファイル)",
      progressLabel: "メタデータ設定中",
    },
    "html-to-pdf": {
      hint: "プライバシー保護のため外部リソースは無効です。",
      submit: "PDFに変換",
      submitBatch: "PDFに変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "markdown-to-docx": {
      submit: "DOCXに変換",
      submitBatch: "変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "markdown-to-html": {
      hint: "ソース内の外部画像は出力にそのまま残ります。",
      submit: "HTMLに変換",
      submitBatch: "変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "markdown-to-pdf": {
      hint: "プライバシー保護のため外部リソースは無効です。",
      submit: "PDFに変換",
      submitBatch: "PDFに変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "epub-convert": {
      format: "出力形式",
      hint: "書籍内の外部リソースは取得されません。",
      submit: "変換",
      submitBatch: "変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "to-epub": {
      submit: "EPUBに変換",
      submitBatch: "変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "csv-excel": {
      sheet: "ワークシート番号",
      submit: "変換",
      submitBatch: "変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "csv-json": {
      pretty: "整形出力",
      submit: "変換",
      submitBatch: "変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "json-xml": {
      pretty: "整形出力",
      submit: "変換",
      submitBatch: "変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "split-csv": {
      rowsPerFile: "1ファイルあたりの行数",
      keepHeader: "各ファイルにヘッダーを残す",
      submit: "分割",
      submitBatch: "分割 ({count}ファイル)",
      progressLabel: "分割中",
    },
    "merge-csvs": {
      submit: "結合",
      submitBatch: "結合 ({count}ファイル)",
      progressLabel: "結合中",
    },
    "yaml-json": {
      submit: "変換",
      submitBatch: "変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "xml-to-csv": {
      submit: "変換",
      submitBatch: "変換 ({count}ファイル)",
      progressLabel: "変換中",
    },
    "create-zip": {
      submit: "ZIPを作成",
      submitBatch: "ZIPを作成 ({count}ファイル)",
      progressLabel: "ZIP作成中",
    },
    "extract-zip": {
      submit: "解凍",
      submitBatch: "解凍 ({count}ファイル)",
      progressLabel: "解凍中",
    },
  },
  urlImport: {
    title: "URLからインポート",
    placeholder: "画像URLを貼り付け（1行に1つ）...",
    importButton: "URLをインポート",
    addButton: "{count}ファイルを追加",
    adding: "追加中...",
    retryButton: "再試行",
    cancelButton: "キャンセル",
    readyCount: "{count}件準備完了",
    failedStatus: "失敗",
  },
  comparison: {
    original: "オリジナル",
    processed: "処理後",
    before: "ビフォー",
    after: "アフター",
    savings: "削減量",
  },
  toolPage: {
    emptyPrompt: "画像をドロップまたはアップロードして開始",
    filesCount: "ファイル（{count}）",
    addMore: "+ 追加",
    clearAll: "すべてクリア",
    acceptDescription: "{exts}ファイルのみ",
    notFound: "ツールが見つかりません",
    configureAndGenerate: "設定を行い、生成してください。",
    processingFailed: "このファイルの処理に失敗しました",
    conversionComplete: "変換完了",
    cannotPreviewDownload:
      "{type}ファイルはブラウザでプレビューできません。ダウンロードボタンでファイルを保存してください。",
    generatingPreview: "プレビューを生成中...",
    cannotPreviewWillProcess:
      "{ext}ファイルはブラウザでプレビューできません。ツールは通常通りこのファイルを処理します。",
    previousImage: "前の画像",
    nextImage: "次の画像",
    imageCounter: "{current} / {total}",
    settingsLabel: "設定",
    downloadAllZip: "一括ダウンロード（ZIP）",
    hideSettings: "設定を隠す",
    imageArea: "画像エリア",
    disabledByAdmin: "このツールは管理者によって無効化されています",
    browseOtherTools: "他のツールを見る",
    privacyNote: "ファイルはサーバー上で処理され、ネットワーク外に送信されません",
    applyAndDownload: "適用してダウンロード",
    andMore: "他 {count} 件",
    importFromFiles: "ファイルからインポート",
    saveToFiles: "ファイルに保存",
    savedToFiles: "ファイルに保存しました",
    adjustSettings: "設定を調整",
    startOver: "新しいファイルでやり直す",
    newFile: "新しいファイル",
    previewUnavailable: "プレビューは処理後に表示されます",
    generatePreview: "プレビューを生成",
    previewFailed: "プレビューの生成に失敗しました",
    backToTools: "ツール一覧に戻る",
    original: "元画像",
    processed: "処理済み",
    saved: "保存済み",
    noChange: "変更なし",
    download: "ダウンロード",
    settingsSaved: "設定は保存されています。",
    tryAgain: "再試行",
    tryDifferentFile: "別のファイルを試す",
    batchPartialSuccess: "{total} 件中 {success} 件処理完了。{failed} 件失敗。",
    dataResultsHint: "結果は上部に表示されています。結果パネルのコピーボタンをご利用ください。",
    downloadAsFile: "ファイルとしてダウンロード",
    downloadAll: "すべてダウンロード",
    downloadFiles: "{count} 件のファイルをダウンロード",
    audioDecodeUnsupported: "この音声形式はブラウザでプレビューできません",
  },
  homePage: {
    generatingPreview: "プレビューを生成中...",
    loadingPreview: "プレビューを読み込み中...",
    changeFile: "ファイルを変更",
    quickActions: "クイックアクション",
    allTools: "すべてのツール",
    searchPlaceholder: "{count} 個のツールを検索...",
    recent: "最近",
    popular: "人気",
    browseByCategory: "カテゴリで探す",
    gettingStarted: "はじめに",
    noToolsMatch: "'{query}' に一致するツールはありません",
    clearSearch: "検索をクリア",
    all: "すべて",
    documents: "PDF",
    data: "ファイル",
    pdf: "PDF",
    files: "ファイル",
    toolCount: "{count} 個のツール",
    heading: "SnapOtter ツール",
  },
  fullscreenGrid: {
    searchPlaceholder: "ツールを検索...",
    hideDetails: "詳細を隠す",
    showDetails: "詳細を表示",
    switchToSidebar: "サイドバー表示に切り替え",
    sidebarButton: "サイドバー",
    noToolsFound: "ツールが見つかりません",
    tryDifferent: "別の検索キーワードをお試しください",
  },
  editor: {
    menu: {
      file: {
        label: "ファイル",
        new: "新規",
        open: "開く",
        save: "保存",
        exportAs: "書き出し...",
        quickExportPng: "PNGで書き出し",
        close: "閉じる",
      },
      edit: {
        label: "編集",
        undo: "元に戻す",
        redo: "やり直し",
        cut: "切り取り",
        copy: "コピー",
        copyMerged: "結合コピー",
        paste: "貼り付け",
        pasteInPlace: "同じ位置に貼り付け",
        delete: "削除",
        freeTransform: "自由変形",
        transform: {
          label: "変形",
          scale: "拡大縮小",
          rotate: "回転",
          skew: "傾斜",
          flipHorizontal: "水平反転",
          flipVertical: "垂直反転",
        },
      },
      image: {
        label: "画像",
        imageSize: "画像サイズ...",
        canvasSize: "キャンバスサイズ...",
        rotation: {
          label: "画像の回転",
          cw90: "時計回り90°",
          ccw90: "反時計回り90°",
          r180: "180°",
          flipHorizontal: "水平反転",
          flipVertical: "垂直反転",
        },
        trim: "トリム",
        adjustments: {
          label: "調整",
          brightnessContrast: "明るさ/コントラスト",
          hueSaturation: "色相/彩度",
          colorBalance: "カラーバランス",
          levels: "レベル",
          curves: "トーンカーブ",
        },
      },
      layer: {
        label: "レイヤー",
        newLayer: "新規レイヤー",
        duplicateLayer: "レイヤーを複製",
        deleteLayer: "レイヤーを削除",
        arrange: {
          label: "順序",
          bringToFront: "最前面へ",
          bringForward: "前面へ",
          sendBackward: "背面へ",
          sendToBack: "最背面へ",
        },
        mergeDown: "下のレイヤーと結合",
        flattenImage: "画像を統合",
      },
      select: {
        label: "選択",
        all: "すべて選択",
        deselect: "選択解除",
        inverse: "選択の反転",
        colorRange: "色域指定...",
      },
      filter: {
        label: "フィルター",
        blur: {
          label: "ぼかし",
          gaussian: "ガウスぼかし",
          motion: "モーションぼかし",
          radial: "放射ぼかし",
          surface: "表面ぼかし",
        },
        sharpen: {
          label: "シャープ",
          sharpen: "シャープ",
          unsharpMask: "アンシャープマスク",
        },
        noise: {
          label: "ノイズ",
          addNoise: "ノイズを追加",
          reduceNoise: "ノイズを軽減",
        },
        pixelate: {
          label: "ピクセレート",
          pixelate: "ピクセレート",
          mosaic: "モザイク",
        },
        stylize: {
          label: "スタイライズ",
          emboss: "エンボス",
          solarize: "ソラリゼーション",
          posterize: "ポスタリゼーション",
        },
        grayscale: "グレースケール",
        sepia: "セピア",
        invert: "階調の反転",
      },
      view: {
        label: "表示",
        zoomIn: "拡大",
        zoomOut: "縮小",
        fitOnScreen: "画面に合わせる",
        actualPixels: "実際のサイズ",
        rulers: "定規",
        grid: "グリッド",
        guides: "ガイド",
        snap: "スナップ",
        panels: "パネル",
      },
    },
    menuBar: {
      backTitle: "SnapOtterに戻る",
    },
    welcome: {
      ariaLabel: "画像ドロップゾーン",
      heading: "画像エディター",
      dropDescription: "ここに画像をドロップして開始",
      openImageButton: "画像を開く",
      newDocumentButton: "新規ドキュメント",
      pasteHint: "またはクリップボードから貼り付け（Ctrl+V）",
    },
    mobile: {
      heading: "デスクトップ推奨",
      description:
        "画像エディターはデスクトップ画面で最適に動作します。フルな編集体験には、より大きなディスプレイのデバイスでお使いください。",
    },
    errors: {
      serverDecodeFailed: "サーバーでのデコードに失敗しました",
    },
    shapes: {
      shape: "シェイプ",
      fill: "塗りつぶし",
      stroke: "枠線",
      strokeWidth: "線幅",
      cornerRadius: "角丸",
      sides: "辺数",
      points: "頂点数",
      dashStyle: "線種",
      solid: "実線",
      dashed: "破線",
      dotted: "点線",
      none: "なし",
      opacity: "不透明度",
      rectangle: "四角形",
      ellipse: "楕円",
      line: "直線",
      arrow: "矢印",
      polygon: "多角形",
      star: "星形",
    },
  },
  settings: {
    heading: "設定",
    nav: {
      general: "一般",
      systemSettings: "システム設定",
      security: "セキュリティ",
      people: "メンバー",
      teams: "チーム",
      roles: "ロール",
      auditLog: "監査ログ",
      usage: "使用状況",
      apiKeys: "APIキー",
      aiFeatures: "AI機能",
      tools: "ツール",
      about: "SnapOtterについて",
    },
    general: {
      heading: "一般",
      description: "ユーザー設定と表示設定。",
      loading: "読み込み中...",
      logOut: "ログアウト",
      defaultToolViewLabel: "デフォルトツール表示",
      defaultToolViewDescription: "ホームページでのツールの表示方法",
      sidebarOption: "サイドバー",
      fullscreenGridOption: "フルスクリーングリッド",
      appVersionLabel: "アプリバージョン",
      appVersionDescription: "SnapOtterの現在のバージョン",
      saveButton: "設定を保存",
      saveSuccess: "設定を保存しました。",
      saveFailed: "設定の保存に失敗しました。",
    },
    system: {
      heading: "システム設定",
      description: "サーバー側の構成と制限。",
      fileUploadLimitLabel: "ファイルアップロード制限（MB）",
      fileUploadLimitDescription: "1回のアップロードの最大ファイルサイズ",
      defaultThemeLabel: "デフォルトテーマ",
      defaultThemeDescription: "新しいセッションに適用されるテーマ",
      lightOption: "ライト",
      darkOption: "ダーク",
      systemOption: "システムに合わせる",
      languageLabel: "言語",
      languageDescription: "インターフェースの言語",
      loginAttemptLimitLabel: "ログイン試行制限",
      loginAttemptLimitDescription: "ロックアウトまでの1分あたりの最大ログイン失敗回数",
      fileManagementHeading: "ファイル管理",
      maxFileAgeLabel: "ファイル最大保持時間（時間）",
      maxFileAgeDescription: "処理済みファイルが自動クリーンアップまで保持される時間",
      startupCleanupLabel: "起動時クリーンアップ",
      startupCleanupDescription: "サーバー起動時に古い一時ファイルをクリーンアップ",
      saveButton: "設定を保存",
      saveSuccess: "設定を保存しました。",
      saveFailed: "設定の保存に失敗しました。",
      limitsAndResources: "制限とリソース",
      maxFileSize: "最大ファイルサイズ",
      maxBatchSize: "最大バッチサイズ",
      concurrentJobs: "同時実行ジョブ数",
      workerThreads: "ワーカースレッド数",
      maxPipelineSteps: "最大Pipelineステップ数",
      processingTimeout: "処理タイムアウト",
      rateLimitPerMin: "レート制限（リクエスト/分）",
      unlimited: "無制限",
      auto: "自動",
      envOverride: "環境変数で設定済み",
      maxCanvasPixels: "最大キャンバスピクセル",
      maxSvgSize: "最大SVGサイズ",
      maxSplitGrid: "最大分割グリッド",
      maxPdfPages: "最大PDFページ数",
      sessionDuration: "セッション期間",
      supportBundleButton: "サポートバンドルをダウンロード",
      supportBundleDescription:
        "トラブルシューティング用の診断 ZIP（設定、ログ、ジョブデータを含む）をダウンロードします。",
      supportBundleFailed: "サポートバンドルのダウンロードに失敗しました。",
    },
    security: {
      heading: "セキュリティ",
      description: "パスワードと認証の設定。",
      changePasswordHeading: "パスワード変更",
      currentPasswordPlaceholder: "現在のパスワード",
      newPasswordPlaceholder: "新しいパスワード",
      confirmPasswordPlaceholder: "新しいパスワードの確認",
      passwordsMismatch: "パスワードが一致しません",
      passwordTooShort: "パスワードは4文字以上必要です",
      changeSuccess: "パスワードを変更しました",
      changeFailed: "パスワードの変更に失敗しました",
      currentPasswordIncorrect: "現在のパスワードが正しくありません",
      changePasswordButton: "パスワード変更",
      loginAttemptLimitNote: "ログイン試行制限はシステム設定で構成できます。",
      adminHeading: "管理者セキュリティ設定",
      adminDescription:
        "エンタープライズセキュリティポリシー設定。すべてのユーザーに適用されます。",
      sessionIdleTimeout: "セッションアイドルタイムアウト（分）",
      sessionIdleTimeoutDesc: "アイドル状態のセッションを自動ログアウトします。0 = 無効。",
      maxSessionsPerUser: "ユーザーあたりの最大セッション数",
      maxSessionsPerUserDesc: "ユーザーあたりの同時セッション数を制限します。0 = 無制限。",
      mfaPolicy: "MFA ポリシー",
      mfaPolicyDesc: "ユーザーに多要素認証を要求します。",
      mfaPolicyOptional: "任意",
      mfaPolicyAdminsOnly: "管理者のみ必須",
      mfaPolicyRequired: "全ユーザー必須",
      ssoEnforcement: "SSO の強制",
      ssoEnforcementDesc: "緊急アクセス用以外のすべてのユーザーに SSO ログインを要求します。",
      ssoBreakGlassUsername: "緊急アクセス用管理者ユーザー名",
      ssoBreakGlassUsernameDesc: "SSO 強制時でもローカル資格情報でログインできる管理者です。",
      passwordMinLength: "パスワードの最小文字数",
      passwordMinLengthDesc: "パスワードに必要な最小文字数です。",
      passwordRequireUppercase: "大文字を必須にする",
      passwordRequireUppercaseDesc: "大文字を1文字以上含める必要があります。",
      passwordRequireNumber: "数字を必須にする",
      passwordRequireNumberDesc: "数字を1文字以上含める必要があります。",
      passwordRequireSpecial: "特殊文字を必須にする",
      passwordRequireSpecialDesc: "特殊文字を1文字以上含める必要があります。",
      passwordPolicyHeading: "パスワードポリシー",
      securitySettingsSaved: "セキュリティ設定を保存しました",
      securitySettingsFailed: "セキュリティ設定の保存に失敗しました",
    },
    people: {
      heading: "メンバー",
      description: "ワークスペースのメンバーと権限を管理",
      userCount: "{count}人のユーザー",
      userCountPlural: "{count}人のユーザー",
      searchPlaceholder: "メンバーを検索...",
      addMembersButton: "メンバー追加",
      newMemberHeading: "新しいメンバー",
      usernamePlaceholder: "ユーザー名",
      passwordPlaceholder: "パスワード",
      roleUserOption: "ユーザー",
      roleEditorOption: "エディター",
      roleAdminOption: "管理者",
      roleUserDescription: "基本ツールへのアクセス",
      roleEditorDescription: "全ファイルとPipeline",
      roleAdminDescription: "フルアクセス",
      noDescription: "説明なし",
      defaultTeamOption: "デフォルト",
      createButton: "作成",
      cancelButton: "キャンセル",
      createSuccess: "ユーザーを作成しました",
      createFailed: "ユーザーの作成に失敗しました",
      userLimitReached: "ユーザー上限に達しました（最大{max}）",
      deleteConfirm: "ユーザー「{username}」を削除しますか？この操作は取り消せません。",
      deleteSuccess: "ユーザー「{username}」を削除しました",
      deleteFailed: "ユーザーの削除に失敗しました",
      editHeading: "{username}を編集",
      updateSuccess: "ユーザーを更新しました",
      updateFailed: "ユーザーの更新に失敗しました",
      cannotRemoveOwnAdmin: "自分の管理者ロールは削除できません",
      resetPasswordHeading: "{username}のパスワードをリセット",
      newPasswordLabel: "新しいパスワード（8文字以上）",
      resetPasswordButton: "パスワードリセット",
      resetPasswordWarning: "このユーザーのすべてのセッションとAPIキーが無効になります。",
      resetSuccess: "パスワードをリセットしました",
      resetFailed: "パスワードのリセットに失敗しました",
      tableHeaderUser: "ユーザー",
      tableHeaderRole: "ロール",
      tableHeaderTeam: "チーム",
      noSearchResults: "検索に一致するメンバーがいません。",
      noUsersFound: "ユーザーが見つかりません。",
      authBadgeLocalOidc: "ローカル + OIDC",
      authBadgeOidc: "OIDC",
      editRoleTeamAction: "ロール/チームを編集",
      resetPasswordAction: "パスワードリセット",
      deleteUserAction: "ユーザー削除",
      saveButton: "保存",
      copyPasswordButton: "パスワードをコピー",
      passwordCopied: "コピーしました！",
      copyPasswordWarning:
        "今すぐこのパスワードをコピーしてください。ユーザー作成後は表示できません。",
    },
    teams: {
      heading: "チーム",
      description: "メンバーをチームに整理して管理を効率化。",
      createButton: "新規チーム作成",
      newTeamHeading: "新しいチーム",
      teamNamePlaceholder: "チーム名",
      createSubmitButton: "作成",
      cancelButton: "キャンセル",
      createSuccess: "チームを作成しました",
      createFailed: "チームの作成に失敗しました",
      duplicateTeamError: "同じ名前のチームが既にあります",
      renameSuccess: "チーム名を変更しました",
      renameFailed: "チーム名の変更に失敗しました",
      deleteConfirm: "チーム「{name}」を削除しますか？メンバーは未割り当てになります。",
      deleteSuccess: "チーム「{name}」を削除しました",
      deleteFailed: "チームの削除に失敗しました",
      cannotDeleteDefault: "デフォルトチームまたはメンバーのいるチームは削除できません",
      tableHeaderTeamName: "チーム名",
      tableHeaderMembers: "メンバー",
      emptyState: "チームが見つかりません。",
      renameSaveButton: "保存",
      renameCancelButton: "キャンセル",
      renameAction: "名前変更",
      deleteAction: "削除",
      totalMembers: "合計メンバー数",
      nameRequired: "チーム名は必須です",
      nameTooLong: "チーム名は50文字以内にしてください",
      duplicateName: "同じ名前のチームが既にあります",
      teamStorageQuota: "ストレージ容量（MB）",
      teamStorageQuotaDesc: "チームの最大ストレージ容量（MB）。空欄で無制限。",
      teamRetentionHours: "保持期間（時間）",
      teamRetentionHoursDesc: "チームの処理ファイル保持期間。空欄でグローバルデフォルトを使用。",
      quotaSaved: "チーム設定を保存しました",
    },
    roles: {
      heading: "ロール",
      description: "ロールと権限を管理。ビルトインロールは変更できません。",
      createButton: "カスタムロール作成",
      newRoleHeading: "新しいロール",
      roleNamePlaceholder: "ロール名",
      descriptionPlaceholder: "説明（任意）",
      permissionsLabel: "権限",
      createSubmitButton: "作成",
      cancelButton: "キャンセル",
      createSuccess: "ロールを作成しました",
      createFailed: "ロールの作成に失敗しました",
      duplicateRoleError: "同じ名前のロールが既にあります",
      editHeading: "ロールを編集：{name}",
      editSaveButton: "保存",
      editCancelButton: "キャンセル",
      updateSuccess: "ロールを更新しました",
      updateFailed: "ロールの更新に失敗しました",
      deleteConfirm: "ロール「{name}」を削除しますか？{count}人のユーザーの再割り当てが必要です。",
      deleteConfirmSimple: "ロール「{name}」を削除しますか？",
      deleteSuccess: "ロール「{name}」を削除しました",
      deleteFailed: "ロールの削除に失敗しました",
      emptyState: "ロールが見つかりません。",
      builtInBadge: "ビルトイン",
      userCountBadge: "{count}人",
      editRoleTitle: "ロールを編集",
      deleteRoleTitle: "ロールを削除",
      permGroup: {
        tools: "ツール",
        files: "ファイル",
        apiKeys: "APIキー",
        pipelines: "Pipeline",
        settings: "設定",
        users: "ユーザー",
        teams: "チーム",
        system: "システム",
      },
    },
    auditLog: {
      heading: "監査ログ",
      allActionsFilter: "すべてのアクション",
      emptyState: "監査ログエントリーはありません。",
      tableHeaderTime: "時刻",
      tableHeaderUser: "ユーザー",
      tableHeaderAction: "アクション",
      tableHeaderTarget: "対象",
      paginationInfo: "{page}/{totalPages}ページ（全{total}件）",
      previousButton: "前へ",
      nextButton: "次へ",
      justNow: "たった今",
      minutesAgo: "{mins}分前",
      hoursAgo: "{hrs}時間前",
      daysAgo: "{days}日前",
    },
    usage: {
      heading: "使用状況",
      description: "ジョブとファイルストレージのローカル使用統計。",
      periodLabel: "期間",
      days7: "7日間",
      days30: "30日間",
      days90: "90日間",
      jobsPerDayHeading: "1日あたりのジョブ数",
      topToolsHeading: "よく使うツール",
      perUserHeading: "ユーザー別使用量",
      durationsHeading: "処理時間パーセンタイル",
      noData: "この期間のデータはありません。",
      dayColumn: "日",
      totalColumn: "合計",
      completedColumn: "完了",
      failedColumn: "失敗",
      toolColumn: "ツール",
      runsColumn: "実行回数",
      userColumn: "ユーザー",
      bytesInColumn: "入力バイト",
      poolColumn: "プール",
      p50Column: "p50",
      p95Column: "p95",
      storageHeading: "ライブラリストレージ",
      storageFiles: "{count} ファイル",
      unknownUser: "（不明）",
      storageByTeam: "チーム別ストレージ",
      teamColumn: "チーム",
      storageColumn: "ストレージ",
      usersColumn: "ユーザー",
    },
    apiKeys: {
      heading: "APIキー",
      description: "SnapOtterへのプログラムアクセス用APIキーを管理。",
      keyNamePlaceholder: "キー名（任意）",
      generateButton: "APIキーを生成",
      removeScopingLabel: "権限スコープを解除",
      restrictPermissionsLabel: "権限を制限（任意）",
      expiresLabel: "有効期限：",
      clearButton: "クリア",
      copyTitle: "コピー",
      keyWarning: "このキーは安全に保管してください。再表示されません。",
      existingKeysHeading: "既存のキー",
      createdPrefix: "{date}に作成",
      scopedPrefix: "スコープ：",
      expiresPrefix: "{date}に期限切れ",
      deleteKeyTitle: "キーを削除",
      deleteConfirm: "このAPIキーを削除しますか？このキーを使用するすべての連携が停止します。",
      emptyState: "まだAPIキーがありません。1つ生成して開始しましょう。",
    },
    tools: {
      heading: "ツール",
      description:
        "個別のツールを有効または無効にします。無効なツールはすべてのユーザーに非表示になります。",
      restartBanner: "変更を反映するには再起動が必要です。",
      searchPlaceholder: "ツールを検索...",
      noSearchResults: "検索に一致するツールがありません。",
      loadFailedError:
        "ツール設定の読み込みに失敗しました。データ損失を防ぐため、保存は無効になっています。",
      saveButton: "ツール設定を保存",
      disabledCount: "{count}個のツールが無効",
    },
    experimental: {
      label: "実験的ツールを有効化",
      description: "開発中のツールを表示します。不安定な場合があります。",
    },
    fileManagement: {
      title: "ファイル管理",
      maxAge: "ファイル最大保持時間（時間）",
      maxAgeDescription: "処理済みファイルが自動クリーンアップまで保持される時間",
      startupCleanup: "起動時クリーンアップ",
      startupCleanupDescription: "サーバー起動時に古い一時ファイルをクリーンアップ",
    },
    dataRetention: {
      title: "データ保持",
      fileMaxAgeHours: "処理ファイルの保持期間（時間）",
      fileMaxAgeHoursDesc: "アップロードおよび処理済みファイルの保持期間。デフォルト: 72時間。",
      jobsRetentionDays: "ジョブ記録の保持期間（日）",
      jobsRetentionDaysDesc: "ジョブメタデータの保持期間。0 = 永久保持。デフォルト: 30日。",
      auditRetentionDays: "監査ログの保持期間（日）",
      auditRetentionDaysDesc: "監査ログエントリの保持期間。0 = 永久保持。デフォルト: 永久。",
    },
    aiFeatures: {
      title: "AI 機能",
      description: "高度なファイル処理のためのAIモデルバンドルを管理します。",
      installAll: "すべてインストール",
      diskUsage: "ディスク使用量: {size}",
      installed: "インストール済み",
      notInstalled: "未インストール",
      queued: "待機中",
      install: "インストール",
      repair: "修復",
      uninstall: "アンインストール",
      installing: "インストール中...",
      importBundle: "バンドルをインポート",
      importDescription:
        "他のインストールからエクスポートした .tar.gz バンドルアーカイブをアップロードします。",
      importButton: "ファイルからインポート",
      importing: "インポート中...",
      importSuccess: "バンドルのインポートに成功しました。",
      importError: "バンドルのインポートに失敗しました: {error}",
    },
    about: {
      heading: "SnapOtterについて",
      appName: "SnapOtter",
      appDescription:
        "セルフホスト型、プライバシー第一のファイル処理スイート。157のツールを搭載。変換、圧縮、編集、文字起こし、OCRなど、画像・動画・音声・ドキュメント・データのワークフローをクラウドにデータを送ることなく自動化できます。",
      versionLabel: "バージョン：",
      linksHeading: "リンク",
      githubLink: "GitHubリポジトリ",
      docsLink: "ドキュメント",
      apiRefLink: "APIリファレンス（Swagger）",
      licenseLabel: "ライセンス:",
      licenseDescription:
        "SnapOtter は GNU Affero General Public License v3 (AGPLv3) に基づくオープンソースソフトウェアです。",
    },
  },
  auth: {
    login: "ログイン",
    logout: "ログアウト",
    username: "ユーザー名",
    password: "パスワード",
    loginButton: "ログイン",
    loggingIn: "ログイン中...",
    invalidCredentials: "ユーザー名またはパスワードが無効です",
    connectionError: "接続エラー",
    signInWith: "{provider}でサインイン",
    signInWithSso: "SSOでサインイン",
    or: "または",
    methodLocal: "ローカル",
    methodOidc: "OIDC",
    methodBoth: "ローカル + OIDC",
    oidcAuthFailed: "認証に失敗しました。もう一度お試しください。",
    oidcProviderUnreachable: "IDプロバイダーに接続できません。しばらく後にお試しください。",
    oidcSessionExpired: "ログインセッションの有効期限が切れました。もう一度お試しください。",
    oidcUserNotAuthorized:
      "お使いのアカウントにはこのアプリケーションへのアクセス権がありません。管理者にお問い合わせください。",
    oidcUserLimitReached: "ユーザー上限に達しました。管理者にお問い合わせください。",
    oidcGenericError: "認証エラー。もう一度お試しください。",
    samlAuthFailed: "SAML 認証に失敗しました。もう一度お試しください。",
    samlUserNotAuthorized:
      "このアプリケーションへのアクセス権がありません。管理者にお問い合わせください。",
    samlUserLimitReached: "ユーザー数の上限に達しました。管理者にお問い合わせください。",
    ssoEnforcedLocalRestricted: "ローカルログインは許可された管理者のみ使用できます。",
    mfaRequired: "認証コードを入力してください",
    mfaRecoveryHint: "リカバリーコードも使用できます",
    verify: "確認",
    verifying: "確認中...",
    mfaInvalidCode: "無効なコードです。もう一度お試しください。",
    mfaEnrollmentRequired: "組織で多要素認証が必須です。アカウント設定で MFA を設定してください。",
    methodSaml: "SAML",
    passwordManagedByProvider: "パスワードはIDプロバイダーで管理されています。",
    enterUsername: "ユーザー名を入力",
    enterPassword: "パスワードを入力",
    heroTitle: "あなたのファイルは、あなたのもの。",
    heroSubtitle: "必要なすべてのツールがここに。",
    rotatingPhrases: [
      "登録不要。アカウント不要。",
      "クラウドへのアップロードは一切なし。",
      "100%ローカル処理。",
      "無料。ずっと無料。",
      "制限なし。隠れた上限なし。",
      "完全オフラインで動作。",
      "バッチ処理も無制限。",
      "157のツールを搭載。",
      "15のAIモデル。あなたのハードウェアで。",
      "Sharp搭載で超高速処理。",
      "エアギャップ環境にも対応。",
      "Dockerコンテナ1つで完結。",
      "オープンソース。いつまでも。",
      "すべてのピクセルがあなたのハードウェアに。",
      "あなたのサーバー。あなたのルール。",
      "docker pullひとつでデプロイ完了。",
      "セルフホストという選択肢。",
      "リサイズも圧縮も変換もローカルで。",
      "無料の画像エディター。透かしなし。",
      "バッチファイル処理を無制限で。",
      "背景除去もオフラインで。",
      "セルフホスト型Canva代替。",
      "APIキー不要。",
      "設計段階からGDPR準拠。",
      "インターネットなしでも動作。",
    ],
  },
  changePassword: {
    title: "パスワードを変更してください",
    description:
      "続行するには新しいパスワードの設定が必要です。8文字以上で大文字、小文字、数字を含めてください。",
    usernameLabel: "ユーザー名",
    currentPasswordLabel: "現在のパスワード",
    currentPasswordPlaceholder: "現在のパスワードを入力",
    newPasswordLabel: "新しいパスワード",
    generateButton: "強力なパスワードを生成",
    newPasswordPlaceholder: "8文字以上",
    confirmPasswordLabel: "新しいパスワードの確認",
    confirmPasswordPlaceholder: "新しいパスワードを再入力",
    passwordsMismatch: "パスワードが一致しません",
    failedError: "パスワードの変更に失敗しました",
    connectionError: "接続エラー",
    changingButton: "変更中...",
    changeButton: "パスワード変更",
    sidebarTitle: "あと少しです",
    sidebarDescription: "強力なパスワードを設定してアカウントを保護すれば、準備完了です。",
  },
  automate: {
    title: "自動化",
    invalidPipelineFile: "有効なSnapOtter Pipelineファイルではありません",
    newerVersion: "このPipelineは新しいバージョンのSnapOtterで作成されました",
    missingName: "Pipelineファイルに名前がありません",
    noSteps: "Pipelineファイルにステップがありません",
    importFailed: "インポートに失敗しました",
    couldNotRead: "Pipelineファイルを読み取れませんでした",
    fileCount: "{count}ファイル",
    fileCountPlural: "{count}ファイル",
    importFromLibrary: "ライブラリからインポート",
    addButton: "+ 追加",
    libraryButton: "ライブラリ",
    clearButton: "クリア",
    processingFailed: "このファイルの処理に失敗しました",
    processingMultiple: "{count}ファイルを処理中...",
    processingPipeline: "Pipelineを処理中...",
    processButton: "処理",
    processButtonMultiple: "処理（{count}）",
    processAllButton: "すべて処理（{count}）",
    addTool: "ツール追加",
    toolPalette: "ツールパレット",
    clickToAdd: "クリックでPipelineに追加",
    savedLabel: "保存済み",
    importButton: "インポート",
    noSavedPipelines: "保存されたPipelineはありません",
    stepCount: "（{count}ステップ）",
    stepCountPlural: "（{count}ステップ）",
    exportPipeline: "Pipelineをエクスポート",
    deletePipeline: "Pipelineを削除",
    moreCount: "+{count}件",
    pipelineBuilder: "Pipelineビルダー",
    addToolsPrompt: "パレットからツールを追加して開始",
    stepsConfigured: "{count}ステップ構成済み",
    stepsConfiguredPlural: "{count}ステップ構成済み",
    noFilesLoaded: "ファイルが読み込まれていません",
    downloadZip: "ZIPをダウンロード",
    saveButton: "保存",
    pipelineNamePlaceholder: "Pipeline名",
    descriptionPlaceholder: "説明",
    savingIndicator: "...",
    cancelButton: "キャンセル",
    preview: "プレビュー",
    previousImage: "前の画像",
    nextImage: "次の画像",
    imageCounter: "{current} / {total}",
    imageArea: "画像エリア",
    templateSocialMedia: "SNS向け最適化",
    templatePrivacyClean: "プライバシークリーン",
    templateWebOptimization: "Web最適化",
    templateProfilePicture: "プロフィール画像",
    templateWatermarkBatch: "一括ウォーターマーク",
    createNew: "新しい自動化を作成",
    savedAutomations: "保存済みの自動化",
    templates: "テンプレート",
    addStep: "ステップ追加",
    removeStep: "削除",
    moveUp: "上へ移動",
    moveDown: "下へ移動",
    savePipeline: "Pipelineを保存",
    runPipeline: "処理",
    pipelineName: "Pipeline名",
    pipelineDescription: "説明（任意）",
    noStepsPrompt: "ステップを追加して自動化を構築",
    noStepsHeading: "ステップがありません",
    searchToolsPlaceholder: "ツールを検索...",
    step: "ステップ",
    modalityWarning: "モダリティ不一致",
    modalityWarningTooltip:
      "このステップは {expected} を想定していますが {received} を受け取ります。パイプラインの実行時に失敗する可能性があります。",
  },
  nav: {
    tools: "ツール",
    reader: "リーダー",
    automate: "自動化",
    editor: "エディター",
    files: "ファイル",
    help: "ヘルプ",
    settings: "設定",
    grid: "グリッド",
  },
  files: {
    myFiles: "マイファイル",
    recentTab: "最近",
    uploadTab: "ファイルをアップロード",
    fileDetailsAriaLabel: "ファイル詳細",
    fileDetailsHeading: "ファイル詳細",
    searchPlaceholder: "ファイルを検索...",
    selectedCount: "{count} 件選択中",
    fileCount: "{count} ファイル",
    fileCountSingular: "{count} ファイル",
    noFilesFound: "ファイルが見つかりません",
    selectFilePrompt: "ファイルを選択して詳細を表示",
    openFile: "ファイルを開く",
    selectFile: "ファイルを選択",
    openInPipeline: "パイプラインで開く",
    dropFilesHere: "ここにファイルをドロップ",
    orClickToSelect: "またはクリックして選択",
    name: "名前",
    format: "形式",
    size: "サイズ",
    dimensions: "寸法",
    version: "バージョン",
    toolsUsed: "使用ツール",
    none: "なし",
    delete: "削除",
    pipeline: "パイプライン",
    download: "ダウンロード",
  },
  dropzone: {
    unsupportedFileType: "このツールではサポートされていないファイルタイプです",
    urlFetchFailed: "URLから画像を取得できませんでした",
    ariaLabel: "ファイルドロップゾーン",
    dropPrompt: "ここに画像をドロップ",
    browseOrPaste: "クリックでファイルを参照、またはクリップボードから貼り付け",
    uploadButton: "アップロード",
    defaultFormats: "PNG、JPG、WebP、HEIC、RAW、PSD、65以上のフォーマット",
    orSeparator: "または",
    urlPlaceholder: "画像URLを貼り付け...",
    urlLoadingIndicator: "...",
    addUrlButton: "追加",
    importMultipleUrls: "複数のURLをインポート...",
    filesSelected: "{count}ファイルを選択済み",
    dropToAdd: "ファイルを追加するにはドロップ",
    dropToReplace: "ファイルを置き換えるにはドロップ",
  },
  reviewPanel: {
    processedResultAlt: "処理結果",
    sizeLabel: "サイズ：{size}",
    typeLabel: "タイプ：{type}",
    processedLabel: "処理時間：{time}",
    undoButton: "元に戻す",
    downloadButton: "ダウンロード",
    openInEditor: "エディターで開く",
    reviewHeading: "レビュー",
    continueEditing: "編集を続行",
  },
  features: {
    notEnabledTitle: "機能が無効です",
    notEnabledDescription:
      "この機能は有効になっていません。管理者に設定からの有効化をご依頼ください。",
    requiresDownload: "この機能には追加ダウンロードが必要です（約{size}）",
    retryButton: "再試行",
    queued: "インストール待ちです...",
    enableButton: "{name}を有効化",
    repairRequired: "修復が必要",
    repairDescription:
      "一部のモデルファイルが見つからないか破損しています。修復すると再ダウンロードされます。",
    repairButton: "{name} を修復",
    lessThanMinute: "残り1分未満",
    oneMinuteLeft: "約1分",
    minutesLeft: "約{mins}分",
    progressMessages: [
      "もうすぐです...たぶん...",
      "良いものには時間がかかります...",
      "お湯が沸くのを待つよりは速いです...",
      "その忍耐力、尊敬します...",
      "見た目以上にがんばっています...",
      "ここからが本番です、信じてください...",
      "裏で大事な仕事をしています...",
      "これが見えているなら、ちゃんと動いています...",
      "すごいものを準備中...",
      "きっと待つ価値がありますよ...",
      "ハラハラ感も体験のうち...",
      "あなたのPCに新しい技を教えています...",
      "あなたのスーパーパワーを設定中...",
      "あなたのファイルが後で感謝するはず...",
      "ローディング中...おしゃれに...",
      "コーヒータイムにちょうどいい待ち時間...",
      "ローマも一日にしてならず...",
      "しっ...天才が仕事中です...",
      "あなたのプロジェクトがこの先の仕上がりに嫉妬中...",
      "ドリームチームを結成中...",
      "すごいものを開封中...",
      "始めるか考え中...冗談です...",
      "どんでん返し：実はちゃんと動いてます...",
      "クリエイティブエンジンをウォーミングアップ中...",
      "イマジネーションをロード中...",
      "スクリーンセーバーじゃないですよ...",
      "偉大なアートにはインストール時間が必要...",
      "未来のあなたが今のあなたに感謝するでしょう...",
      "賢いファイルを取得中...",
      "お楽しみはこれからです...",
    ],
  },
  help: {
    heading: "ヘルプ",
    gettingStarted: {
      heading: "はじめに",
      description:
        "サイドバーからツールを選択するか検索してください。ページにファイルをドラッグするか、アップロードエリアをクリックしてファイルをアップロードします。設定を調整して結果をダウンロードしてください。",
    },
    keyboardShortcuts: {
      heading: "キーボードショートカット",
      focusSearchBar: "検索バーにフォーカス",
      goToTools: "ツールへ移動",
      toggleTheme: "テーマ切り替え",
      goToResize: "リサイズへ移動",
      goToCrop: "クロップへ移動",
      goToCompress: "圧縮へ移動",
      goToConvert: "変換へ移動",
      goToRemoveBackground: "背景除去へ移動",
      goToWatermarkText: "テキストウォーターマークへ移動",
      goToStripMetadata: "メタデータ削除へ移動",
      goToImageInfo: "画像情報へ移動",
      processFile: "ファイルを処理",
      downloadResult: "結果をダウンロード",
    },
    resources: {
      heading: "リソース",
      githubLink: "GitHubリポジトリ",
      reportIssueLink: "問題を報告",
      docsLink: "ドキュメント",
      apiRefLink: "APIリファレンス（Swagger）",
    },
    versionLabel: "SnapOtter v{version}",
  },
  errors: {
    generic: "エラーが発生しました",
    offline: "オフラインです",
    reconnecting: "サーバーに再接続中...",
    connected: "接続しました",
    processingFailed: "このファイルの処理に失敗しました",
    timeout:
      "リクエストがタイムアウトしました。サーバーが過負荷の可能性があります。再試行してください。",
    networkError: "ネットワークエラー。接続を確認してください。",
    invalidCredentials: "ユーザー名またはパスワードが無効です",
    connectionError: "接続エラー",
  },
  sidebar: {
    tools: "ツール",
    grid: "グリッド",
    automate: "自動化",
    editor: "エディター",
    files: "ファイル",
    help: "ヘルプ",
    settings: "設定",
  },
  toolCard: {
    addToFavourites: "お気に入りに追加",
  },
  appLayout: {
    mobileNavTools: "ツール",
    mobileNavAutomate: "自動化",
    mobileNavEditor: "エディター",
    mobileNavFiles: "ファイル",
    mobileNavSettings: "設定",
  },
  a11y: {
    skipToContent: "メインコンテンツへスキップ",
    openSidebar: "サイドバーを開く",
    closeSidebar: "サイドバーを閉じる",
    closeSettings: "設定を閉じる",
    closeHelp: "ヘルプを閉じる",
    closeDialog: "ダイアログを閉じる",
    zoomIn: "拡大",
    zoomOut: "縮小",
    fitToView: "画面に合わせる",
    actualSize: "実寸表示",
    pan: "移動",
    previousImage: "Previous image",
    nextImage: "Next image",
    imageArea: "Image area",
    imageViewer: "Image viewer",
    fileDropZone: "ファイルドロップゾーン",
    imageDropZone: "Image drop zone",
    beforeAfterSlider: "処理前後の比較スライダー",
    imageControls: "Image controls",
    zoomControls: "ズームコントロール",
    dragToReorder: "ドラッグして並べ替え",
    whiteBackground: "白背景",
    blackBackground: "黒背景",
    expandPanel: "パネルを展開",
    collapsePanel: "パネルを折りたたむ",
    swapDimensions: "縦横を入れ替え",
    applyCrop: "切り抜きを適用",
    cancelCrop: "切り抜きをキャンセル",
    fontFamily: "フォント",
    textColor: "文字色",
    flipHorizontal: "左右反転",
    flipVertical: "上下反転",
    hexColorValue: "HEX カラー値",
    backgroundColor: "背景色",
    foregroundColor: "前景色",
    swapColors: "前景色と背景色を入れ替え",
    resetColors: "デフォルトの白黒にリセット",
    foregroundHex: "前景色の HEX 値",
    undo: "元に戻す",
    redo: "やり直し",
    layers: "レイヤー",
    addLayer: "レイヤーを追加",
    deleteLayer: "レイヤーを削除",
    cancelOperation: "操作をキャンセル",
    fill: "塗りつぶし",
    fileDetails: "ファイル詳細",
    language: "言語",
    selected: "選択中",
    deleteKey: "キーを削除",
    editRole: "ロールを編集",
    deleteRole: "ロールを削除",
    notInstalled: "未インストール",
    queued: "インストール待ち",
    installing: "インストール中",
    imageNOfTotal: "画像 {n}/{total}",
    processingComplete: "処理が完了しました",
    processingFailed: "処理に失敗しました",
    settingsDialog: "設定",
    helpDialog: "ヘルプ",
    navigationMenu: "ナビゲーション",
    homeLink: "SnapOtter ホーム",
  },
} as const;

export default ja;
