export const jaMessages = { setup: { welcomeTitle: "%{title}へようこそ", welcomeSubtitle: "開始するには、Supabaseデータベースに接続する必要があります。", encryptedTitle: "セキュア", encryptedDesc: "データはAES-256で保護されています", turboTitle: "ターボ", turboDesc: "速度とスケールのために最適化されています", getStarted: "開始する", connectionMode: "接続モード", selectVector: "初期化ベクトルを選択してください", quickIgnition: "クイック・イグニッション", autoProvision: "トークンによる自動プロビジョニング", manualSync: "手動同期", existingCredentials: "既存の認証情報を使用する", abortAccess: "アクセスを中止", injectCoordinates: "データベース座標を注入する", platformUrl: "プラットフォームURL", urlHelp: "Project Settings > API > Project URLにあります", anonMatrixKey: "Anon / Matrixキー", keyHelp: "Project Settings > API > anon (public)キーにあります", back: "戻る", engage: "エンゲージ", managedTokenTitle: "フォージ・トークン", managedTokenSubtitle: "Supabase API座標", personalAccessToken: "個人用アクセス・トークン", generateAt: "次で生成", scanOrgs: "組織をスキャン", projectConfigTitle: "プロジェクト構成", engineParameters: "エンジンパラメータ", projectName: "プロジェクト名", hostingSector: "ホスティングセクター", vesselOrg: "ヴェッセル (組織)", initializeSystem: "システムを初期化", provisioning: "プロビジョニング中", provisioningFailed: "プロビジョニング失敗", provisioningFailedDetails: "プロビジョニングに失敗しました。詳細は上記のログを確認してください。", assemblingInfrastructure: "インフラを構築中...", checkLogs: "詳細はログを確認してください", tryAgain: "再試行", useManualConnect: "代わりに手動接続を使用", installationComplete: "インストール完了", installingDatabase: "データベースをインストール中", applyingSchemaDna: "スキーマDNAを適用中...", systemReady: "システム準備完了!", tokenRequired: "トークンが必要です", readyToInstall: "インストールの準備完了", managementToken: "管理トークン", installDatabaseSchema: "データベーススキーマをインストール", retryInstallation: "インストールを再試行", projectIdRequired: "マイグレーションにはプロジェクトIDが必要です。", tokenDescription: "データベーススキーマをインストールし、既存のユーザーを同期するには、Supabaseアクセストークンが必要です。", connectingProvisioning: "Supabaseプロビジョニングエンジンに接続中...", projectReady: "✨ プロジェクトの準備ができました!データベースを初期化中...", startingMigration: "データベースのマイグレーションを開始中...", setupCompleteLog: "🎉 セットアップ完了!", checkingDatabase: "データベースの状態を確認中...", dbNotInitialized: "データベースが初期化されていません。スキーマを設定するためにマイグレーションが必要です。", dbVersionBehind: "データベースのバージョン (%{dbVersion}) がアプリのバージョン (%{appVersion}) より古いです。マイグレーションを推奨します。", dbLegacySchema: "データベースはレガシースキーマを使用していますが、すでに初期化されており動作しています。", skippingMigration: "✅ マイグレーションをスキップします。データベースの準備ができました!", reloadingApp: "新しい認証情報でアプリを再読み込み中...", dbReady: "✅ データベースはすでに設定されており、準備ができています!", setupComplete: "セットアップ完了!", redirecting: "CRMにリダイレクトしています...", liveFeed: "ライブフィード", awaitingSignals: "カーネル信号を待機中...", }, crm: { root: { database_checking: "データベース接続を確認中...", }, changelog: { title: "更新履歴", }, setup_wizard: { welcome: { title: "%{title}へようこそ", subtitle: "データベース構成", description: "開始するには、Supabaseデータベースに接続する必要があります。", no_project: "Supabaseプロジェクトをお持ちではありませんか?", create_free: "こちらで無料で作成できます:", need_title: "必要なもの:", need_url: "SupabaseプロジェクトURLまたはプロジェクトID", need_key: "APIキー (anonまたはpublishableキー)", find_hint: "これらはどこにありますか?", continue: "次へ", }, credentials: { title: "Supabaseに接続", description: "Supabaseプロジェクトの資格情報を入力してください", url_label: "プロジェクトURLまたはID", url_placeholder: "xxxxx または https://xxxxx.supabase.co", url_valid: "有効なSupabase URL", url_project_id: "有効なプロジェクトID (完全なURLに展開されます)", url_invalid_format: "無効なURL形式", url_must_be_supabase: "URLはSupabaseドメインである必要があります", url_hint: "完全なURLまたはプロジェクトIDを入力してください", url_expansion: "%{url} に展開されます", url_default_hint: "完全なURLまたはプロジェクトIDのみを入力してください (プロジェクト設定 → API)", key_label: "APIキー", key_placeholder: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", key_valid_publishable: "有効なpublishableキー形式", key_valid_anon: "有効なanonキー形式", key_incomplete_publishable: "publishableキーが不完全のようです", key_incomplete_anon: "anonキーが不完全のようです", key_invalid: "有効なSupabase APIキー (anonまたはpublishable) である必要があります", key_default_hint: "AnonまたはPublishableキー (プロジェクト設定 → API)", back: "戻る", connect: "接続", error_failed: "接続に失敗しました", }, validating: { title: "接続を確認中", description: "Supabase資格情報をテストしています...", wait: "お待ちください...", }, success: { title: "接続成功!", description: "Supabaseデータベースが接続されました", reloading: "アプリケーションを再読み込み中...", }, }, nav: { dashboard: "ダッシュボード", contacts: "連絡先", companies: "会社", deals: "案件", invoices: "請求書", tasks: "タスク", ai: "AI", users: "ユーザー", settings: "マイ情報", database: "データベース", integrations: "インテグレーション", back: "戻る", }, view: { table: "テーブル", kanban: "カンバン", }, action: { new_task: "新規タスク", new_deal: "新規案件", }, filter: { active: "有効", active_filters: "適用中のフィルター", contact: "連絡先", company: "会社", deal: "案件", loading: "読み込み中...", my_tasks: "自分のタスク", assigned_to: "担当", archived: "アーカイブ済み", priority: "優先度", remove: "%{filter}フィルターを削除", search: "検索", status: "ステータス", }, dashboard: { invoice_revenue: "請求書収益", deal_pipeline: "案件パイプライン", upcoming_tasks: "今後のタスク", task_filters: { overdue: "期限切れ", today: "今日", tomorrow: "明日", this_week: "今週", later: "後で", }, load_more: "さらに読み込む", tasks_empty: "今のところ未処理のタスクはありません。", upcoming_deal_revenue: "今後の売上見込み", revenue: "収益", outstanding_invoices: "未払請求書", deals_chart: { won: "成約", lost: "失注", }, hot_contacts: "ホットコンタクト", create_contact: "連絡先を作成", hot_contacts_empty: { line_1: "ホットコンタクトはまだありません。", line_2: "連絡先を作成して開始しましょう。", }, latest_activity: "最新のアクティビティ", latest_notes: "最新のノート", notes: { on: "対象:", added: "追加", deal: "案件", contact: "連絡先", }, pipeline: { title: "案件パイプライン", }, stepper: { title: "はじめに", progress: "%{total}件中%{step}件", install: "アプリをインストール", add_contact: "最初の連絡先を追加", new_contact: "新規連絡先", add_note: "ノートを追加", add_note_hint: "最初の連絡先にノートを追加しましょう。", add_note_button: "ノートを追加", }, welcome: { title: "ようこそ", body_1: "はローカルで動作するフル機能のCRMです。", body_2: "連絡先、会社、案件、タスクが最初から用意されています。", powered_by: "提供:", fork_of: "は", by_marmelab: "のMarmelabによるフォークです。", }, }, task: { column: { expand: "%{column}列を展開", collapse: "%{column}列を折りたたむ", }, field: { task: "タスク", type: "タイプ", related_to: "関連先", description: "説明", due_date: "期限", completed: "完了", priority: "優先度", status: "ステータス", assigned_to: "担当者", created_by: "作成者", actions: "操作", }, action: { create_task: "タスクを作成", add_task: "タスクを追加", edit_task: "タスクを編集", edit: "編集", mark_complete: "完了にする", snooze_tomorrow: "明日まで延期", postpone_day: "1日延期", show_details: "詳細を表示", postpone_tomorrow: "明日に延期", postpone_next_week: "来週に延期", menu: "タスクの操作", }, notification: { marked_complete: "タスクを完了にしました", snoozed_tomorrow: "タスクを明日まで延期しました", postponed_day: "1日延期しました", created: "タスクを作成しました", updated: "タスクを更新しました", deleted: "タスクを削除しました", deleted_success: "タスクを削除しました", move_failed: "タスクを移動できませんでした。もう一度お試しください。", }, note: { marked_complete: "クイック操作でタスクを完了にしました", marked_complete_quick: "クイック操作で完了", snoozed_to_date: "期限を%{date}に延期しました", postponed_to_date: "期限を%{date}に延期しました", quick_edit: "クイック編集でタスクを更新しました", }, section: { info: "情報", related: "関連", assignment: "割り当て", activity_timeline: "アクティビティ履歴", activity_description: "タスクのステータス変更と更新を追跡します", notes: "ノート", notes_description: "このタスクにノートや更新を追加します", }, related: { none: "関連項目なし", prefix: "Re:", }, entity_type: { link_to: "%{type}にリンク", none: "なし", contact: "連絡先", company: "会社", deal: "案件", }, due: { label: "期限", relative: "期限 %{time}", no_date: "期限なし", overdue_one: "1日遅れ", overdue_many: "%{count}日遅れ", today: "本日が期限", tomorrow: "明日が期限", in_days_one: "1日後が期限", in_days_many: "%{count}日後が期限", }, activity: { loading: "アクティビティを読み込み中...", empty: "アクティビティはありません。", created: "がこのタスクを作成しました", updated: "がこのタスクを更新しました", updated_field: "が%{field}を変更しました", assigned: "がこのタスクを割り当てました", completed: "がこのタスクを完了しました", reopened: "がこのタスクを再開しました", duplicated: "がこのタスクを複製しました", archived: "がこのタスクをアーカイブしました", truncated: "%{total}件中%{count}件のアクティビティを表示しています。古いアクティビティは表示されません。", }, dialog: { edit: { title: "タスクを編集", description: "タスクの詳細、担当、関連先を更新します", }, create: { title: "新しいタスクを作成", title_for: "%{name}の新しいタスクを作成", this_record: "このレコード", description: "説明、期限、担当を含む新しいタスクを追加します", }, }, status: { todo: "未着手", in_progress: "進行中", blocked: "ブロック", done: "完了", cancelled: "キャンセル", other: "その他", }, priority: { low: "低", medium: "中", high: "高", urgent: "緊急", }, type: { none: "なし", email: "メール", demo: "デモ", lunch: "ランチ", meeting: "会議", follow_up: "フォローアップ", thank_you: "お礼", ship: "発送", call: "通話", }, }, note: { placeholder: "ノートを追加", show_options: "オプションを表示", options_hint: "(ファイルを添付、または詳細を変更)", date: "日付", added: "ノートを追加しました", action: { add: "このノートを追加", }, status: { cold: "コールド", warm: "ウォーム", hot: "ホット", in_contract: "契約中", }, }, activity: { added_note: "がノートを追加しました", added_note_about: "がノートを追加しました: ", added_note_about_deal: "が案件についてノートを追加しました", at: "会社:", edit_note: "ノートを編集", delete_note: "ノートを削除", note_deleted: "ノートを削除しました", cancel: "キャンセル", update_note: "ノートを更新", added_deal: "が案件を追加しました", to_company: "会社:", added_company: "が会社を追加しました", added: "が追加しました", pagination: "%{total}件中 %{from}-%{to}件を表示", error_load: "アクティビティログの読み込みに失敗しました", }, deal: { field: { name: "案件名", description: "説明", amount: "金額", expected_closing_date: "完了予定日", stage: "ステージ", category: "カテゴリー", account_manager: "所有者", budget: "予算", }, section: { linked_to: "関連先", misc: "その他", deal_info: "案件情報", company: "会社", contacts: "連絡先", assignment: "割り当て", notes: "ノート", notes_description: "この案件に関する会話、決定事項、更新を追跡します", }, action: { edit: "案件を編集", create: "案件を作成", archive: "アーカイブ", unarchive: "アーカイブ解除", view_archived: "アーカイブ済みの案件を表示", }, notification: { archived: "案件をアーカイブしました", unarchive: "案件のアーカイブを解除しました", error_archiving: "エラー: 案件をアーカイブできませんでした", error_unarchiving: "エラー: 案件のアーカイブを解除できませんでした", }, empty: { title: "案件が見つかりません", description: "案件リストが空のようです。", no_contacts: "連絡先リストが空のようです。", add_contact: "最初の連絡先を追加", before_creating: "してから案件を作成してください。", }, status: { archived: "アーカイブ済み", past: "過去", invalid_date: "無効な日付", }, placeholder: { select_company: "連絡先を表示するには、まず会社を選択してください", }, filter: { only_companies_i_manage: "自分が管理している会社のみ", }, list: { archived_title: "アーカイブ済みの案件", }, stage: { opportunity: "機会", proposal_sent: "提案送付済み", in_negociation: "交渉中", won: "成約", lost: "失注", delayed: "延期", }, category: { other: "その他", copywriting: "コピーライティング", print_project: "印刷プロジェクト", ui_design: "UIデザイン", website_design: "Webサイトデザイン", }, }, contact: { gender: { male: "彼/彼", female: "彼女/彼女", nonbinary: "彼ら/彼ら", }, field: { first_name: "名", last_name: "姓", title: "役職", company: "会社", email: "メールアドレス", email_addresses: "メールアドレス", phone_number: "電話番号", phone_numbers: "電話番号", linkedin_url: "LinkedIn URL", background: "背景情報(バイオグラフィー、知り合った経緯など)", has_newsletter: "ニュースレター購読", account_manager: "アカウントマネージャー", first_seen: "追加日", last_seen_on: "最終アクティビティ:", followed_by: "フォロー中:", subscribed_to_newsletter: "ニュースレターを購読済み", linkedin: "LinkedIn", at: "会社:", }, section: { identity: "本人確認", position: "役職", personal_info: "個人情報", misc: "その他", activity_timeline: "アクティビティ履歴", activity_timeline_description: "インカミングアクティビティのリアルタイム処理ステータス", notes: "ノート", notes_description: "やり取りと結果の永久的な記録", background_info: "背景情報", tags: "タグ", tasks: "タスク", }, action: { edit: "連絡先を編集", show: "連絡先を表示", create: "新規連絡先", export_vcard: "vCardをエクスポート", merge_with_another: "別の連絡先と統合", import: "インポート", }, type: { work: "仕事", home: "自宅", other: "その他", }, empty: { title: "連絡先が見つかりません", description: "連絡先リストが空のようです。", }, filter: { last_activity: "最終アクティビティ", today: "今日", this_week: "今週", before_this_week: "先週以前", before_this_month: "今月以前", before_last_month: "先月以前", engagement: "エンゲージメント", engagement_status: { strong: "強い", active: "アクティブ", cooling: "低下中", cold: "コールド", dormant: "休止中", }, validation: "検証", validation_status: { valid: "有効なメール", risky: "リスクあり", invalid: "無効なメール", }, tags: "タグ", tasks: "タスク", with_pending_tasks: "保留中のタスクあり", account_manager: "アカウントマネージャー", me: "私", search_placeholder: "名前、会社を検索...", }, health: { title: "コンタクトの健全性", no_data: "ヘルスデータはまだ計算されていません。", relationship_strength: "関係の強さ", engagement_score: "エンゲージメントスコア", last_activity: "最終アクティビティ: ", days_ago: "%{days}日前", today: "今日", yesterday: "昨日", contact_validation: "コンタクト検証", bounced: "(バウンス)", validated: "検証済み", status: { valid: "有効", risky: "リスクあり", invalid: "無効", active: "アクティブ", inactive: "非アクティブ", not_found: "見つかりません", }, }, merge: { title: "連絡先の統合", description: "この連絡先を別の連絡先と統合します。", current_contact: "現在の連絡先(削除されます)", target_contact: "統合先の連絡先(保持されます)", what_will_be_merged: "統合される内容:", notes_to_merge: "%{count}件のノートが再割り当てされます", tasks_to_merge: "%{count}件のタスクが再割り当てされます", deals_to_merge: "%{count}件の案件が更新されます", emails_to_merge: "%{count}件のメールアドレスが追加されます", phones_to_merge: "%{count}件の電話番号が追加されます", no_data: "統合する追加データはありません", warning_title: "警告: 破壊的な操作", warning_message: "すべてのデータが2番目の連絡先に転送されます。この操作は取り消せません。", merging: "統合中...", merge_contacts: "連絡先を統合", select_contact: "統合する連絡先を選択してください", success: "連絡先を正常に統合しました", error: "連絡先の統合に失敗しました", }, import: { title: "インポート", description: "CSVファイルから連絡先をインポートする", running: "インポートを実行中です。このタブを閉じないでください。", status: "%{total}件中 %{count}件の連絡先をインポートしました(エラー: %{errors}件)", remaining_time: "残り時間の目安: %{time}", stop: "インポートを停止", error: "インポートに失敗しました。有効なCSVファイルであることを確認してください。", complete: "連絡先のインポートが完了しました。%{count}件をインポートしました(エラー: %{errors}件)", template_hint: "テンプレートとして使用できるサンプルCSVファイルはこちらです", download_sample: "CSVサンプルをダウンロード", csv_file: "CSVファイル", }, }, company: { sector: { communication_services: "通信サービス", consumer_discretionary: "一般消費財・サービス", consumer_staples: "生活必需品", energy: "エネルギー", financials: "金融", health_care: "ヘルスケア", industrials: "産業", information_technology: "情報技術", materials: "素材", real_estate: "不動産", utilities: "公益事業", }, field: { name: "名前", website: "ウェブサイト", phone_number: "電話番号", linkedin: "LinkedIn", twitter: "Twitter/X", facebook: "Facebook", github: "GitHub", logo_url: "ロゴURL", lifecycle_stage: "ライフサイクルステージ", company_type: "会社タイプ", qualification_status: "適格性ステータス", employee_count: "従業員数", revenue_range: "売上範囲", founded_year: "設立年", tax_identifier: "納税者番号", address: "住所", city: "市区町村", zipcode: "郵便番号", state: "都道府県", country: "国", description: "説明", account_manager: "アカウントマネージャー", first_seen: "追加日", followed_by: "フォロー中", size: "規模", revenue: "売上", sector: "セクター", context_links: "コンテキストリンク", }, section: { contact: "連絡先", social_profiles: "ソーシャルプロファイル", context: "コンテキスト", address: "住所", additional_info: "追加情報", advanced_settings: "詳細設定", external_system_integration: "外部システム連携", company_info: "会社情報", main_address: "メイン住所", }, action: { edit: "会社を編集", show: "会社を表示", create: "会社を作成", merge_with_another: "別の会社と統合", }, empty: { title: "会社が見つかりません", description: "会社リストが空のようです。", }, placeholder: { external_id: "例: Salesforce アカウントID", company_name: "会社名", create_hint: "会社名を読み入力して新しく作成する", }, error: { invalid_url: "有効なURLを入力してください", }, notification: { error_creating: "会社の作成中にエラーが発生しました", }, filter: { me: "私", }, health: { title: "会社の健全性", internal_engagement: "内部エンゲージメント", engagement_score: "エンゲージメントスコア", last_activity: "最終アクティビティ: ", today: "今日", yesterday: "昨日", days_ago: "%{days}日前", updated: "更新日", external_health: "外部の健全性", last_checked: "最終確認", status: { engaged: "エンゲージ中", quiet: "静か", at_risk: "リスクあり", unresponsive: "無反応", healthy: "良好", risky: "リスクあり", dead: "停止", unknown: "不明", }, }, size: { 1: "従業員1名", 10: "従業員2-9名", 50: "従業員10-49名", 250: "従業員50-249名", 500: "従業員250名以上", }, merge: { title: "会社の統合", description: "この会社を別の会社と統合します。", current_contact: "現在の会社(削除されます)", target_contact: "統合先の会社(保持されます)", what_will_be_merged: "統合される内容:", contacts_to_merge: "%{count}件の連絡先が再割り当てされます", deals_to_merge: "%{count}件の案件が再割り当てされます", links_to_merge: "%{count}件のコンテキストリンクが追加されます", no_data: "統合する追加データはありません", warning_title: "警告: 破壊的な操作", warning_message: "すべてのデータが2番目の会社に転送されます。この操作は取り消せません。", merging: "統合中...", merge_companies: "会社を統合", select_company: "統合する会社を選択してください", success: "会社を正常に統合しました", error: "会社の統合に失敗しました", }, }, tag: { action: { add: "タグを追加", create: "新しいタグを作成", }, }, integrations: { title: "インテグレーション", description: "APIキー、ウェブフック、インジェクションチャネルを管理し、RealTimeX CRMを外部システムと連携させます。", tabs: { ingestion: "インジェクションチャネル", file_upload: "ファイルアップロード", api_keys: "APIキー", webhooks: "ウェブフック (アウトバウンド)", }, webhooks: { description: "ウェブフックは、CRMでイベントが発生したときに外部システムに通知します。", action: { create: "ウェブフックを作成", create_first: "最初のウェブフックを作成", edit: "ウェブフックを編集", delete: "削除", update: "更新", }, empty: "ウェブフックはまだありません", loading: "読み込み中...", status: { active: "有効", inactive: "無効", more: "+他%{count}件", }, fields: { name: "名前", url: "ウェブフックURL", events: "購読するイベント", created: "作成日: %{date}", last_triggered: "最終実行日: %{date}", failed_deliveries: "配信失敗数: %{count}", }, dialog: { create_title: "ウェブフックを作成", create_description: "イベント通知を受信するための新しいウェブフックを作成します", edit_title: "ウェブフックを編集", edit_description: "ウェブフックの設定を更新します", delete_title: "ウェブフックを削除しますか?", delete_description: "このウェブフックは完全に削除されます。このエンドポイントへのイベント送信は停止されます。この操作は取り消せません。", }, placeholder: { name: "例: Slack通知", url: "https://example.com/webhook", }, notification: { created: "ウェブフックを正常に作成しました", updated: "ウェブフックを正常に更新しました", deleted: "ウェブフックを正常に削除しました", error_creating: "ウェブフックの作成に失敗しました", error_updating: "ウェブフックの更新に失敗しました", error_deleting: "ウェブフックの削除に失敗しました", }, categories: { contacts: "連絡先", companies: "会社", deals: "案件", tasks: "タスク", invoices: "請求書", }, events: { "contact.created": "連絡先作成", "contact.updated": "連絡先更新", "contact.deleted": "連絡先削除", "company.created": "会社作成", "company.updated": "会社更新", "company.deleted": "会社削除", "deal.created": "案件作成", "deal.updated": "案件更新", "deal.deleted": "案件削除", "deal.stage_changed": "案件ステージ変更", "deal.won": "案件成約", "deal.lost": "案件失注", "task.created": "タスク作成", "task.updated": "タスク更新", "task.assigned": "タスク割り当て", "task.completed": "タスク完了", "task.priority_changed": "タスク優先度変更", "task.archived": "タスクアーカイブ", "task.deleted": "タスク削除", "invoice.created": "請求書が作成されました", "invoice.updated": "請求書が更新されました", "invoice.deleted": "請求書が削除されました", "invoice.status_changed": "請求書のステータスが変更されました", "invoice.sent": "請求書が送信されました", }, }, api_keys: { description: "APIキーを使用すると、外部アプリケーションからCRMデータにプログラムでアクセスできます。", action: { create: "APIキーを作成", create_first: "最初のAPIキーを作成", copy: "コピー", copied: "フルAPIキーをクリップボードにコピーしました", done: "完了", }, empty: "APIキーはまだありません", loading: "読み込み中...", fields: { name: "名前", created: "作成日: %{date}", last_used: "最終使用日: %{date}", expires: "有効期限: %{date}", key_hint: "コピーをクリックして、マスクされていないフルキーを取得します", not_available: "APIキーをコピーできません", scopes: "スコープ", expiration: "有効期限(任意)", your_api_key: "あなたのAPIキー", }, dialog: { create_title: "APIキーを作成", create_description: "CRM APIにアクセスするための新しいAPIキーを作成します", created_title: "APIキーを作成しました", created_description: "今すぐこのキーをコピーしてください。二度と表示されません!", delete_title: "APIキーを削除しますか?", delete_description: "このAPIキーは完全に削除されます。このキーを使用しているアプリケーションは即座に動作を停止します。この操作は取り消せません。", warning_copy: "今すぐAPIキーをコピーしたことを確認してください。二度と表示することはできません!", }, placeholder: { name: "例: 本番環境用APIキー", }, scopes: { "contacts:read": "連絡先: 読み取り", "contacts:write": "連絡先: 書き込み", "companies:read": "会社: 読み取り", "companies:write": "会社: 書き込み", "deals:read": "案件: 読み取り", "deals:write": "案件: 書き込み", "tasks:read": "タスク: 読み取り", "tasks:write": "タスク: 書き込み", "invoices:read": "請求書: 読み取り", "invoices:write": "請求書: 書き込み", "activities:write": "アクティビティ: 書き込み (ノート)", }, notification: { deleted: "APIキーを正常に削除しました", error_deleting: "APIキーの削除に失敗しました", error_copying: "APIキーのコピーに失敗しました", }, }, file_upload: { title: "ファイルをアップロード", description: "ドキュメント、画像、音声、またはビデオファイルをアップロードして活動を作成します。ファイルは自動的に保存され、アカウントにリンクされます。", action: { upload: "アップロード", upload_all: "すべてアップロード", clear_completed: "完了したものをクリア", drop_files: "ここにファイルをドロップ...", drag_and_drop: "ファイルをここにドラッグ&ドロップするか、クリックして選択してください", supports_all: "すべてのファイル形式をサポート(実行ファイルはセキュリティのためブロックされます)", }, fields: { ingestion_channel: "インジェクションチャネル", activity_type: "アクティビティタイプ", select_channel: "チャネルを選択...", files_count: "ファイル数 (%{count})", }, types: { note: "ノート", email: "メール", call: "通話録音", meeting: "会議録音", other: "その他", }, how_it_works: { title: "仕組み", step_1: "ファイルは安全なストレージに直接アップロードされます(データベースを肥大化させません)", step_2: "各ファイルは追跡と検索のためにアクティビティレコードを作成します", step_3: "大きなファイルは自動的に処理されます(サイズ制限なし)", step_4: "ファイルは選択したインジェクションチャネルにリンクされます", step_5: "アクティビティはすぐにアクティビティフィードに表示されます", }, notification: { select_channel: "インジェクションチャネルを選択してください", success: "アップロード完了: %{name}", error: "アップロード失敗: %{name}", error_network: "ネットワークエラー", error_status: "ステータス %{status} でアップロードに失敗しました", error_dangerous: "実行ファイルはセキュリティ上の理由で許可されていません", }, }, ingestion: { title: "インジェクションチャネル", description: "CRMにアクティビティを取り込むためのインバウンドチャネル(メール、音声、SMS)を設定します。", action: { create: "チャネルを作成", add: "インジェクションチャネルを追加", add_first: "最初のチャネルを追加", copy_url: "ウェブフックURLをコピー", url_copied: "ウェブフックURLをクリップボードにコピーしました", }, empty: "インジェクションチャネルが設定されていません", loading: "読み込み中...", fields: { webhook_url: "ウェブフックURL", created: "作成日: %{date}", }, dialog: { create_description: "インカミングアクティビティの新しいソースを設定します。", name_label: "チャネル名", provider_label: "プロバイダー", token_label: "認証トークン (検証用)", token_hint: "インバウンドリクエストの検証に必要です。", placeholder_name: "例: USサポートライン", placeholder_token: "Twilio認証トークン", select_provider: "プロバイダーを選択", delete_title: "チャネルを削除しますか?", delete_description: "このソースからのすべての取り込みが停止されます。この操作は取り消せません。", }, providers: { twilio: "Twilio (音声/SMS)", postmark: "Postmark (メール)", generic: "ジェネリック / 内部", }, notification: { created: "インジェクションチャネルを正常に作成しました", deleted: "チャネルを削除しました", error_creating: "チャネルの作成に失敗しました: %{message}", error_deleting: "チャネルの削除に失敗しました", }, }, }, image_editor: { action: { change: "変更", update: "画像を更新", delete: "削除", }, dialog: { title: "画像をアップロードしてサイズ変更", dropzone: "ファイルをドロップしてアップロード、またはクリックして選択してください。", }, alt: "編集可能なコンテンツ", }, document_viewer: { error: { docx: "DOCXコンテンツのレンダリングに失敗しました。", too_large: "ファイルが大きすぎます (最大 50MB)。サイズ: %{size}MB", not_available: "このファイル形式のプレビューは利用できません。", access: "ファイルにアクセスできませんでした。ネットワークの問題、CORSの制限、またはリンクの期限切れの可能性があります。", load: "ドキュメントプレビューの読み込みに失敗しました。", }, action: { download: "ファイルをダウンロード", open_new_tab: "新しいタブで開く", }, }, email_viewer: { error: { parse: "メールファイルの解析に失敗しました", load: "メールの読み込みに失敗しました", }, field: { from: "差出人", to: "宛先", cc: "CC", date: "日付", subject_none: "(件名なし)", content_none: "(コンテンツなし)", attachment: "添付ファイル", attachments: "添付ファイル", unknown: "不明", unknown_type: "不明なタイプ", none: "なし", }, action: { html: "HTML", text: "プレーンテキスト", download_attachment: "添付ファイルをダウンロード", }, }, activity_feed: { empty: "アクティビティはまだありません。", direction: { inbound: "受信", outbound: "送信", }, status: { processing: "処理中", failed: "失敗", completed: "完了", }, label: { processing_content: "コンテンツを処理中...", processing_failed: "処理に失敗しました。", audio_recording: "音声録音", summary: "要約:", }, type: { email: "メール", call: "通話", sms: "SMS", meeting: "会議", note: "ノート", }, }, user: { action: { create: "新規ユーザー", edit: "%{name} を編集", resend_invite: "招待を再送", send_password_reset: "パスワードをリセット", send_reset_link: "リセットリンクを送信", cancel: "キャンセル", sending: "送信中...", send_invitation: "招待を送信", }, field: { administrator: "管理者", disabled: "無効", email_actions: "メール操作", }, section: { create_title: "新規ユーザーを作成", }, empty: { title: "ユーザーが見つかりません", description: "ユーザーリストが空のようです。", }, notification: { invite_sent: "招待メールを再送信しました", created_invite_sent: "ユーザーが作成されました。招待メールが送信されました。", invite_error: "招待メールの再送信に失敗しました", reset_sent: "パスワードリセットメールを送信しました", reset_error: "パスワードリセットメールの送信に失敗しました", created: "ユーザーを作成しました。パスワード設定用のメールがまもなく送信されます。", create_error: "ユーザーの作成中にエラーが発生しました。", updated: "ユーザーを更新しました", error: "エラーが発生しました。もう一度お試しください。", }, dialog: { resend_invitation: { title: "招待を再送", description: "%{email} に新しい招待メールを送信しますか?", fresh_link: "アカウント設定用の新しい招待リンクが送信されます。", }, reset_password: { title: "パスワードをリセット", description: "%{email} にパスワードリセットメールを送信しますか?", reset_link: "パスワードリセット用のリンクが送信されます。", }, }, }, auth: { login_with_code: "コードでログイン", enter_email_for_code: "ログイン用の6桁のコードを受け取るには、メールアドレスを入力してください", code_sent: "6桁のコードがメールに送信されました", enter_verification_code: "確認コードを入力", code_sent_to: "%{email} に6桁のコードを送信しました", invalid_code: "コードが無効か期限切れです。もう一度お試しください。", verify_code: "コードを確認", verifying: "確認中...", resend_code: "コードを再送", back_to_email: "メール入力に戻る", back_to_login: "ログインに戻る", no_access: "このアプリケーションへのアクセス権限がありません。管理者にお問い合わせください。", login_successful: "ログインに成功しました!", set_new_password: "新しいパスワードを設定", choose_password_details: "アカウントの安全なパスワードを選択してください", password_min_length: "パスワードは6文字以上である必要があります", passwords_do_not_match: "パスワードが一致しません", password_updated: "パスワードが正常に更新されました", update_password: "パスワードを更新", updating_password: "更新中...", failed_to_update_password: "パスワードの更新に失敗しました", forgot_password_code_verified: "コードが確認されました!新しいパスワードを設定してください。", sign_in: "サインイン", login_otp_link: "メールコード(OTP)でログイン", send_code: "コードを送信", }, signup: { title: "%{title}へようこそ", subtitle: "セットアップを完了するために、最初のユーザーアカウントを作成してください。", action: { create: "アカウントを作成", creating: "作成中...", }, notification: { success: "最初のユーザーが正常に作成されました", error: "エラーが発生しました。もう一度お試しください。", }, }, settings: { notification: { profile_updated: "プロフィールを更新しました", error: "エラーが発生しました。もう一度お試しください", }, action: { change_password: "パスワードを変更", }, inbound_email: { title: "インバウンドメール", description: "サーバーのインバウンドメールアドレスにメールの送信を開始できます(例:Cc:フィールドに追加)。RealTimeX CRMはメールを処理し、対応する連絡先にノートを追加します。", }, database: { title: "データベース接続", description: "Supabaseデータベースの接続設定を管理します", connected: "接続済み", not_connected: "未接続", no_config: "Supabaseデータベースが設定されていません", configured_on: "%{date} に設定", env_hint: "環境変数の設定を使用しています。UIを介して新しい接続を設定することで、これを上書きできます。", setup_hint: "RealTimeX CRMの使用を開始するには、Supabaseデータベースに接続してください。無料のプロジェクトは以下で作成できます:", anon_key: "匿名キー (Anon Key)", confirm_clear: "データベース設定を消去してもよろしいですか?アプリは次回の起動時に再設定が必要になります。", action: { change: "接続を変更", clear: "設定を消去", connect: "Supabaseに接続", }, }, }, migration: { banner: { title: "データベース更新があります", subtitle: "スキーマ v%{version} をインストールできます", view_details: "詳細を見る", later: "後で", command_copied: "コマンドをコピーしました", dismiss: "閉じる", }, modal: { title: "データベースの移行が必要です", description: "データベースのスキーマを v%{version} に更新する必要があります。以下の手順で移行を完了してください。", overview: { title: "実行内容:", update_schema: "データベースのスキーマを v%{version} に更新します", enable_features: "新機能と改善が有効になります", data_safe: "既存データは影響を受けません", duration: "所要時間は通常2分未満です", }, prerequisites: { title: "前提条件", intro: "次を用意してください:", cli_installed: "Supabase CLI がインストール済み(下記参照)", project_id: "Supabase プロジェクト ID:", db_password: "データベースのパスワード(求められます)", }, install_cli: { title: "Supabase CLI をインストール(未インストールの場合)", macos: "macOS / Linux:", windows_scoop: "Windows (Scoop):", windows_npm: "Windows (npm):", view_all: "すべてのインストール方法を見る", }, run_migration: { title: "移行コマンドを実行", intro: "ターミナルで次を実行してください:", tool_intro: "移行ツールは次を行います:", steps: { login: "Supabase にログインするよう促します(未ログインの場合)", project_id: "プロジェクト ID を入力するよう求めます", password: "データベースのパスワードを求めます", apply: "保留中の移行を自動適用します", deploy: "更新された Edge Function をデプロイします", }, }, refresh: { title: "アプリを更新", description: "移行が完了したら、このページを更新して新機能を利用してください。", }, troubleshooting: { title: "トラブルシューティング:", logout_prefix: "ログインに失敗した場合は", logout_suffix: "を実行して再試行してください", password: "データベースのパスワードが正しいことを確認してください(Supabase ダッシュボードにあります)", report: "問題が解決しない場合は", report_link: "GitHub Issues", }, auto: { tab_title: "✨ 自動移行(推奨)", manual_tab_title: "🛠️ 手動手順", title: "ワンクリック移行", description: "移行スクリプトを自動的に実行します。", project_id: "プロジェクトID", access_token: "Supabaseアクセストークン", generate_token: "トークンを生成", access_token_hint: "CLIにグローバルにログインしていない場合に必要です。", db_password: "データベースパスワード(任意)", db_password_placeholder: "プロジェクトがまだリンクされていない場合のみ入力してください", db_password_hint: "このマシンからこのプロジェクトに初めて接続する場合のみ必要です。", migrating: "移行中...", start: "移行を開始", logs_placeholder: "ログがここに表示されます...", init_log: "🚀 移行プロセスを初期化中...", error_prefix: "❌ エラー: ", failure_toast: "移行に失敗しました。詳細はログを確認してください。", missing_project_id: "設定からプロジェクトIDを特定できませんでした。", }, close: "閉じる", copy: { unsupported: "この環境ではコピーできません。手動でコピーしてください。", success: "クリップボードにコピーしました!", error: "コピーに失敗しました。手動でコピーしてください。", copy_label: "コピー", copied_label: "コピー済み", }, }, }, common: { activity: "アクティビティ", contacts: "%{smart_count} 連絡先", notes: "%{smart_count} ノート", deals: "%{smart_count} 取引", tasks: "%{smart_count} タスク", invoices: "%{smart_count} 請求書", last_activity: "最後の活動 %{distance}前", add_contact: "連絡先を追加", add_invoice: "請求서を追加", }, }, resources: { contacts: { name: "連絡先 |||| 連絡先", fields: { first_name: "名", last_name: "姓", title: "役職", company_id: "会社", email: "メールアドレス", phone_number: "電話番号", linkedin_url: "LinkedIn", sales_id: "アカウントマネージャー", nb_tasks: "タスク", last_seen: "最終アクティビティ", }, }, companies: { name: "会社 |||| 会社", fields: { name: "会社名", website: "ウェブサイト", phone_number: "電話番号", sector: "セクター", size: "規模", sales_id: "アカウントマネージャー", nb_contacts: "連絡先数", nb_deals: "案件数", created_at: "追加日", context_links: "コンテキストリンク", }, }, deals: { name: "案件 |||| 案件", fields: { name: "案件名", amount: "金額", category: "カテゴリー", stage: "ステージ", company_id: "会社", sales_id: "所有者", }, }, tasks: { name: "タスク |||| タスク", fields: { title: "タイトル", description: "説明", type: "タイプ", due_date: "期限", status: "ステータス", priority: "優先度", sales_id: "担当者", contact_id: "連絡先", company_id: "会社", deal_id: "案件", }, }, sales: { name: "ユーザー |||| ユーザー", fields: { first_name: "名", last_name: "姓", email: "メールアドレス", administrator: "管理者", disabled: "無効", }, }, invoices: { name: "請求書 |||| 請求書", fields: { invoice_number: "請求書番号", reference: "参照", company_id: "会社", contact_id: "連絡先", deal_id: "案件", status: "ステータス", issue_date: "発行日", due_date: "支払期限", paid_at: "支払日", currency: "通貨", subtotal: "小計", discount: "値引き", tax_total: "税額", total: "合計", amount_paid: "支払済金額", balance_due: "支払残高", notes: "メモ", payment_terms: "支払条件", terms_and_conditions: "取引条件", sent_at: "送信日時", viewed_at: "閲覧日時", created_at: "作成日時", }, status: { draft: "ドラフト", sent: "送信済", paid: "支払済", overdue: "期限超過", cancelled: "キャンセル", }, section: { details: "詳細", billing: "請求先", items: "明細", activity: "アクティビティ", activity_description: "履歴と連絡事項", actions: "アクション", assigned_to: "作成者", }, item: { name: "品目", description_placeholder: "詳細を追加...", quantity: "数量", unit_price: "単価", tax: "税", total: "合計", tax_rate: "税率", }, item_type: { service: "サービス", product: "商品", hour: "時間", day: "日", deposit: "内金", }, action: { new_invoice: "新規請求書", add_item: "明細追加", edit: "編集", mark_as_sent: "送付済みとしてマーク", mark_as_paid: "支払い済みとしてマーク", mark_as_cancelled: "キャンセル済みとしてマーク", print: "印刷", suggest_number: "番号を提案", export_csv: "CSVへエクスポート", send_email: "メールで送信", download_pdf: "PDFをダウンロード", }, notification: { status_updated: "請求書のステータスを %{status} に更新しました", email_sent: "請求書 #%{number} をクライアントに送信しました", }, helper: { invoice_number: "一意の請求書ID", reference: "外部参照番号(任意)", payment_terms: "例:月末締め翌月末払い", select_company_for_contacts: "会社を選択して連絡先を表示", select_company_for_deals: "会社を選択して案件を表示", }, email: { subject: "件名", body: "メッセージ本文", description: "クライアントに送信する前に、メールメッセージを確認・編集してください。", body_intro: "請求書 #%{number} を添付いたしました。", message_label: "メッセージ (任意)", message_placeholder: "個人的なメッセージを追加...", message_help: "請求書の詳細を含むプロフェッショナルなメールが自動的に生成されます。", attachment_title: "PDF添付", attachment_help: "請求書 %{number}.pdf が自動的に添付されます", cc: "CC", cc_placeholder: "cc@example.com, other@example.com", }, empty_items: "明細がありません", days_overdue: "日超過", }, }, ra: { action: { send: "送信", sending: "送信中...", clear_array_input: "一覧をクリア", confirm: "確認", create_item: "%{item}を作成", remove_all_filters: "すべてのフィルターを解除", reset: "リセット", search_columns: "列を検索", select_all: "すべて選択", select_all_button: "すべて選択", select_row: "この行を選択", unselect: "選択解除", expand: "展開", close: "閉じる", open_menu: "メニューを開く", close_menu: "メニューを閉じる", update: "更新", move_up: "上へ移動", move_down: "下へ移動", open: "開く", toggle_theme: "ライト/ダークモードを切り替え", select_columns: "列", update_application: "アプリを再読み込み", }, boolean: { null: " ", }, page: { empty: "%{name}はまだありません。", invite: "追加しますか?", access_denied: "アクセス拒否", authentication_error: "認証エラー", }, input: { password: { toggle_visible: "パスワードを非表示", toggle_hidden: "パスワードを表示", }, }, message: { access_denied: "このページにアクセスする権限がありません", authentication_error: "認証サーバーがエラーを返し、資格情報を確認できませんでした。", auth_error: "認証トークンの検証中にエラーが発生しました。", bulk_update_content: "%{name} %{recordRepresentation} を更新してよろしいですか? |||| これらの %{smart_count} 件を更新してよろしいですか?", bulk_update_title: "%{name} %{recordRepresentation} を更新 |||| %{smart_count} 件の %{name} を更新", clear_array_input: "一覧をすべてクリアしてよろしいですか?", select_all_limit_reached: "選択できる要素が多すぎます。最初の %{max} 件のみ選択されました。", unsaved_changes: "変更が保存されていません。破棄してよろしいですか?", placeholder_data_warning: "ネットワークの問題: データの更新に失敗しました。", }, navigation: { no_results: "結果が見つかりませんでした。", clear_filters: "フィルターをクリア", no_filtered_results: "現在のフィルターで %{name} が見つかりません。", partial_page_range_info: "%{offsetBegin}-%{offsetEnd} / %{offsetEnd} 以上", current_page: "ページ %{page}", page: "%{page} ページへ", first: "最初のページへ", last: "最後のページへ", previous: "前のページへ", skip_nav: "コンテンツへスキップ", }, sort: { sort_by: "%{field_lower_first} を %{order} で並べ替え", ASC: "昇順", DESC: "降順", }, auth: { auth_check_error: "続行するにはログインしてください", user_menu: "プロフィール", username: "ユーザー名", password: "パスワード", confirm_password: "パスワードの確認", sign_in: "ログイン", sign_in_error: "認証に失敗しました。もう一度お試しください", logout: "ログアウト", email: "メール", }, notification: { i18n_error: "指定された言語の翻訳を読み込めません", logged_out: "セッションが終了しました。再ログインしてください。", not_authorized: "このリソースへのアクセス権限がありません。", application_update_available: "新しいバージョンがあります。", offline: "接続がありません。データを取得できませんでした。", }, validation: { unique: "一意である必要があります", }, saved_queries: { label: "保存済みクエリ", query_name: "クエリ名", new_label: "現在のクエリを保存...", new_dialog_title: "現在のクエリを次の名前で保存", remove_label: "保存済みクエリを削除", remove_label_with_name: "クエリ「%{name}」を削除", remove_dialog_title: "保存済みクエリを削除しますか?", remove_message: "保存済みクエリの一覧からこの項目を削除してよろしいですか?", help: "リストを絞り込み、このクエリを保存して後で使用できます", }, configurable: { customize: "カスタマイズ", configureMode: "このページを設定", inspector: { title: "インスペクタ", content: "UI 要素にカーソルを合わせて設定します", reset: "設定をリセット", hideAll: "すべて非表示", showAll: "すべて表示", }, Datagrid: { title: "データグリッド", unlabeled: "ラベルなし列 #%{column}", }, SimpleForm: { title: "フォーム", unlabeled: "ラベルなし入力 #%{input}", }, SimpleList: { title: "リスト", primaryText: "主要テキスト", secondaryText: "副次テキスト", tertiaryText: "第三テキスト", }, }, }, "ra-supabase": { auth: { password_reset: "パスワード再設定のメールを確認してください。", }, reset_password: { forgot_password: "パスワードをお忘れですか?", forgot_password_details: "6桁のコードを受け取るには、メールアドレスを入力してください。", }, }, };