{
  "schema_version": 1,
  "default_locale": "zh-TW",
  "supported_locales": ["zh-TW", "en", "ja"],
  "locales": {
    "zh-TW": {
      "htmlLang": "zh-Hant",
      "languageLabel": "語言",
      "currencyLabel": "幣值",
      "metaDescription": "PointsTrip 酒店現金價、點數價與每日兌換價值比較工具。",
      "skipLink": "跳到飯店列表",
      "brandHome": "PointsTrip 首頁",
      "navExplore": "探索酒店",
      "navCalendar": "兌換日曆",
      "navPriceAlert": "價格提醒",
      "login": "登入",
      "heroTitle": "找出最值得入住的日期",
      "heroSubtitle": "比較 IHG、Marriott、Hilton 的現金價、點數價與每日兌換價值。",
      "dataSourceNotice": "第三方彙整資料，實際價格與可訂狀態以官方訂房頁為準。",
      "dataFreshness": "第三方彙整資料｜更新：{{date}}｜以官方訂房頁為準。",
      "searchAria": "搜尋酒店",
      "destination": "地點或飯店名",
      "destinationPlaceholder": "搜尋城市、地區或飯店名",
      "dateRange": "入住・退房",
      "dateRangeValue": "6月18日 - 6月22日",
      "datePanelTitle": "選擇入住日期",
      "dateChoiceAria": "選擇日期類型",
      "datePickerAria": "可選住宿日期",
      "checkIn": "入住",
      "checkOut": "退房",
      "applyDates": "套用日期",
      "guests": "旅客",
      "guestsValue": "2 位旅客",
      "guestsValueTemplate": "{{count}} 位旅客",
      "guestPanelTitle": "選擇旅客",
      "decreaseGuests": "減少旅客",
      "increaseGuests": "增加旅客",
      "applyGuests": "套用旅客",
      "search": "搜尋",
      "countryRegion": "國家地區",
      "currentRegion": "目前地區",
      "cityFilter": "城市",
      "allCities": "全部城市",
      "noCalendar": "尚無日曆",
      "hotelOnly": "可瀏覽酒店",
      "calendarPending": "待補日曆",
      "brandFilter": "品牌篩選",
      "all": "全部",
      "sort": "排序",
      "sortPointsLowest": "點數最低",
      "sortCashLowest": "現金最低",
      "sortValueHighest": "每點價值高",
      "advancedFilter": "進階篩選",
      "emptyState": "沒有符合條件的酒店。",
      "cashLowest": "現金最低",
      "pointsLowest": "點數最低",
      "pointValue": "每點價值",
      "recommendation": "建議",
      "pointsWorth": "點數划算",
      "cashWorth": "現金划算",
      "pointsRedeem": "點數兌換",
      "cashStay": "現金入住",
      "pointsBest": "點數最划算",
      "showMore": "顯示更多酒店",
      "favoriteHotel": "收藏飯店",
      "selectedHotelSummary": "選中飯店摘要",
      "calendarTitle": "{{month}} 月兌換日曆",
      "calendarAria": "{{month}} 月兌換日曆",
      "calendarPrevMonth": "上一個月",
      "calendarNextMonth": "下一個月",
      "bestDate": "{{month}}/{{day}} 最划算",
      "priceTitle": "價格比較（每晚）",
      "showAllPrices": "查看全部",
      "showNearbyPrices": "收合",
      "date": "日期",
      "cashWithTax": "現金（含稅）",
      "pointsWithTax": "點數（含稅）",
      "judgement": "判斷",
      "bookCalendar": "查看完整日曆",
      "bookOfficial": "到官方頁確認",
      "viewOfficialSite": "到品牌官網",
      "bookingOfficialNotice": "資料供比較與監控使用，最終價格、點數與可訂狀態以官方訂房頁為準。",
      "accountPanelTitle": "登入 PointsTrip",
      "accountPanelSignedInTitle": "我的帳號",
      "accountButtonSignedIn": "我的帳號",
      "accountSummary": "已收錄 {{count}} 間酒店、{{alerts}} 個提醒條件；目前 {{matches}} 個達標。",
      "accountSummarySignedOut": "目前訪客已收錄 {{count}} 間酒店、{{alerts}} 個提醒。登入後會合併到帳號。",
      "accountSummarySignedIn": "{{email}} 已收錄 {{count}} 間酒店、{{alerts}} 個提醒；目前 {{matches}} 個達標。",
      "accountEmail": "Email",
      "accountEmailPlaceholder": "you@example.com",
      "accountSignIn": "登入 / 建立帳號",
      "accountSignOut": "登出",
      "accountInvalidEmail": "請輸入有效 Email。",
      "accountSignedOutNotice": "用 PointsTrip 帳號收錄收藏酒店與價格提醒；本站不收品牌會員帳密。",
      "accountSignedInNotice": "收藏與提醒已依帳號保存；正式跨裝置同步需接會員 API。",
      "closePanel": "關閉",
      "priceAlertPanelTitle": "價格提醒",
      "alertThreshold": "每點價值門檻",
      "alertEmail": "Email（選填）",
      "saveAlert": "儲存提醒",
      "alertSaved": "已儲存提醒：{{hotel}} ≥ {{value}}",
      "alertCurrentStatus": "目前最佳 {{value}}，{{status}}。",
      "alertHit": "已達標",
      "alertWaiting": "尚未達標",
      "alertNoData": "目前沒有可比較的點數房資料。",
      "localOnlyNotice": "目前為本機提醒，正式通知需接後端或 Email 服務。",
      "complianceNotice": "本站只做資訊比較與官方導流，不代訂、不買賣點數、不收會員帳密。",
      "pointsSuffix": "點",
      "valueCurrency": "元",
      "valueSuffix": "/點",
      "affiliateInviteCode": "邀請碼：{{code}}",
      "affiliateFallback": "可放活動連結、邀請碼、回饋比例與追蹤標籤。",
      "affiliateDefaultTitle": "合作優惠",
      "affiliateDefaultSubtitle": "合作連結",
      "affiliateDefaultCta": "查看優惠",
      "loadError": "資料讀取失敗，請確認 /data/ JSON 是否可用。",
      "weekdays": ["日", "一", "二", "三", "四", "五", "六"]
    },
    "en": {
      "htmlLang": "en",
      "languageLabel": "Language",
      "currencyLabel": "Currency",
      "metaDescription": "PointsTrip compares hotel cash rates, point rates, and daily redemption value.",
      "skipLink": "Skip to hotel list",
      "brandHome": "PointsTrip home",
      "navExplore": "Explore Hotels",
      "navCalendar": "Award Calendar",
      "navPriceAlert": "Price Alerts",
      "login": "Sign in",
      "heroTitle": "Find the best-value stay dates",
      "heroSubtitle": "Compare IHG, Marriott, and Hilton cash rates, point rates, and daily redemption value.",
      "dataSourceNotice": "Third-party aggregated data. Final prices and availability are confirmed on the brand booking page.",
      "dataFreshness": "Third-party data | Updated: {{date}} | Confirm on the brand booking page.",
      "searchAria": "Search hotels",
      "destination": "Place or hotel",
      "destinationPlaceholder": "Search city, area, or hotel name",
      "dateRange": "Check-in / out",
      "dateRangeValue": "Jun 18 - Jun 22",
      "datePanelTitle": "Choose stay dates",
      "dateChoiceAria": "Choose date type",
      "datePickerAria": "Available stay dates",
      "checkIn": "Check-in",
      "checkOut": "Check-out",
      "applyDates": "Apply dates",
      "guests": "Guests",
      "guestsValue": "2 guests",
      "guestsValueTemplate": "{{count}} guests",
      "guestPanelTitle": "Choose guests",
      "decreaseGuests": "Decrease guests",
      "increaseGuests": "Increase guests",
      "applyGuests": "Apply guests",
      "search": "Search",
      "countryRegion": "Countries and regions",
      "currentRegion": "Current region",
      "cityFilter": "City",
      "allCities": "All cities",
      "noCalendar": "No calendar",
      "hotelOnly": "Hotels available",
      "calendarPending": "Calendar pending",
      "brandFilter": "Brand filter",
      "all": "All",
      "sort": "Sort",
      "sortPointsLowest": "Lowest points",
      "sortCashLowest": "Lowest cash",
      "sortValueHighest": "Best point value",
      "advancedFilter": "Advanced filters",
      "emptyState": "No hotels match your filters.",
      "cashLowest": "Lowest cash",
      "pointsLowest": "Lowest points",
      "pointValue": "Point value",
      "recommendation": "Advice",
      "pointsWorth": "Use points",
      "cashWorth": "Pay cash",
      "pointsRedeem": "Redeem points",
      "cashStay": "Cash stay",
      "pointsBest": "Best with points",
      "showMore": "Show more hotels",
      "favoriteHotel": "Save hotel",
      "selectedHotelSummary": "Selected hotel summary",
      "calendarTitle": "{{month}} Award Calendar",
      "calendarAria": "{{month}} award calendar",
      "calendarPrevMonth": "Previous month",
      "calendarNextMonth": "Next month",
      "bestDate": "{{month}}/{{day}} best value",
      "priceTitle": "Price comparison per night",
      "showAllPrices": "Show all",
      "showNearbyPrices": "Collapse",
      "date": "Date",
      "cashWithTax": "Cash incl. tax",
      "pointsWithTax": "Points incl. tax",
      "judgement": "Decision",
      "bookCalendar": "View full calendar",
      "bookOfficial": "Confirm on official page",
      "viewOfficialSite": "Open brand site",
      "bookingOfficialNotice": "Data is for comparison and monitoring. Final cash rates, point rates, and availability are confirmed on the brand booking page.",
      "accountPanelTitle": "Sign in to PointsTrip",
      "accountPanelSignedInTitle": "My account",
      "accountButtonSignedIn": "My account",
      "accountSummary": "{{count}} hotels and {{alerts}} alert rules saved; {{matches}} currently match.",
      "accountSummarySignedOut": "Guest mode has {{count}} saved hotels and {{alerts}} alerts. Sign in to collect them under your account.",
      "accountSummarySignedIn": "{{email}} has {{count}} saved hotels and {{alerts}} alerts; {{matches}} currently match.",
      "accountEmail": "Email",
      "accountEmailPlaceholder": "you@example.com",
      "accountSignIn": "Sign in / create account",
      "accountSignOut": "Sign out",
      "accountInvalidEmail": "Enter a valid email address.",
      "accountSignedOutNotice": "Use a PointsTrip account to collect saved hotels and alerts. We do not collect hotel-brand loyalty credentials.",
      "accountSignedInNotice": "Saved hotels and alerts are stored by account. Production cross-device sync requires the member API.",
      "closePanel": "Close",
      "priceAlertPanelTitle": "Price alert",
      "alertThreshold": "Point value threshold",
      "alertEmail": "Email optional",
      "saveAlert": "Save alert",
      "alertSaved": "Saved alert: {{hotel}} ≥ {{value}}",
      "alertCurrentStatus": "Current best is {{value}}: {{status}}.",
      "alertHit": "matched",
      "alertWaiting": "not matched yet",
      "alertNoData": "No comparable award data is available right now.",
      "localOnlyNotice": "This is a local alert. Production notifications require a backend or email service.",
      "complianceNotice": "This site only compares information and routes users to official booking pages. It does not book for users, trade points, or collect loyalty credentials.",
      "pointsSuffix": "pts",
      "valueCurrency": "TWD",
      "valueSuffix": "/pt",
      "affiliateInviteCode": "Invite code: {{code}}",
      "affiliateFallback": "Use this slot for campaign links, invite codes, rebates, and tracking tags.",
      "affiliateDefaultTitle": "Partner offer",
      "affiliateDefaultSubtitle": "Affiliate link",
      "affiliateDefaultCta": "View offer",
      "loadError": "Data failed to load. Check the /data/ JSON files.",
      "weekdays": ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
    },
    "ja": {
      "htmlLang": "ja",
      "languageLabel": "言語",
      "currencyLabel": "通貨",
      "metaDescription": "PointsTrip はホテルの現金料金、ポイント料金、毎日の交換価値を比較するツールです。",
      "skipLink": "ホテル一覧へ移動",
      "brandHome": "PointsTrip ホーム",
      "navExplore": "ホテル検索",
      "navCalendar": "交換カレンダー",
      "navPriceAlert": "価格アラート",
      "login": "ログイン",
      "heroTitle": "最もお得な宿泊日を見つける",
      "heroSubtitle": "IHG、Marriott、Hilton の現金料金、ポイント料金、毎日の交換価値を比較します。",
      "dataSourceNotice": "第三者集計データです。最終的な料金と空室状況は公式予約ページで確認してください。",
      "dataFreshness": "第三者集計データ｜更新：{{date}}｜公式予約ページで確認。",
      "searchAria": "ホテル検索",
      "destination": "場所またはホテル名",
      "destinationPlaceholder": "都市、地域、ホテル名で検索",
      "dateRange": "チェックイン・アウト",
      "dateRangeValue": "6月18日 - 6月22日",
      "datePanelTitle": "宿泊日を選択",
      "dateChoiceAria": "日付タイプを選択",
      "datePickerAria": "選択可能な宿泊日",
      "checkIn": "チェックイン",
      "checkOut": "チェックアウト",
      "applyDates": "日付を適用",
      "guests": "宿泊者",
      "guestsValue": "2 名",
      "guestsValueTemplate": "{{count}} 名",
      "guestPanelTitle": "宿泊者を選択",
      "decreaseGuests": "宿泊者を減らす",
      "increaseGuests": "宿泊者を増やす",
      "applyGuests": "宿泊者を適用",
      "search": "検索",
      "countryRegion": "国・地域",
      "currentRegion": "現在の地域",
      "cityFilter": "都市",
      "allCities": "すべての都市",
      "noCalendar": "日暦なし",
      "hotelOnly": "ホテル閲覧可",
      "calendarPending": "日暦準備中",
      "brandFilter": "ブランド絞り込み",
      "all": "すべて",
      "sort": "並び替え",
      "sortPointsLowest": "最少ポイント",
      "sortCashLowest": "最安現金",
      "sortValueHighest": "ポイント価値高",
      "advancedFilter": "詳細フィルター",
      "emptyState": "条件に合うホテルがありません。",
      "cashLowest": "最安現金",
      "pointsLowest": "最少ポイント",
      "pointValue": "ポイント価値",
      "recommendation": "おすすめ",
      "pointsWorth": "ポイントがお得",
      "cashWorth": "現金がお得",
      "pointsRedeem": "ポイント交換",
      "cashStay": "現金宿泊",
      "pointsBest": "ポイント最得",
      "showMore": "さらに表示",
      "favoriteHotel": "ホテルを保存",
      "selectedHotelSummary": "選択中ホテル概要",
      "calendarTitle": "{{month}} 月交換カレンダー",
      "calendarAria": "{{month}} 月交換カレンダー",
      "calendarPrevMonth": "前の月",
      "calendarNextMonth": "次の月",
      "bestDate": "{{month}}/{{day}} 最もお得",
      "priceTitle": "価格比較（一泊）",
      "showAllPrices": "すべて表示",
      "showNearbyPrices": "折りたたむ",
      "date": "日付",
      "cashWithTax": "現金（税込）",
      "pointsWithTax": "ポイント（税込）",
      "judgement": "判断",
      "bookCalendar": "全カレンダーを見る",
      "bookOfficial": "公式ページで確認",
      "viewOfficialSite": "ブランド公式サイトへ",
      "bookingOfficialNotice": "データは比較と監視用です。最終的な料金、ポイント数、空室状況は公式予約ページで確認してください。",
      "accountPanelTitle": "PointsTrip にログイン",
      "accountPanelSignedInTitle": "マイアカウント",
      "accountButtonSignedIn": "マイアカウント",
      "accountSummary": "{{count}} 件のホテル、{{alerts}} 件のアラートを保存中。現在 {{matches}} 件が条件一致。",
      "accountSummarySignedOut": "ゲストとして {{count}} 件のホテル、{{alerts}} 件のアラートを保存中。ログイン後、アカウントに統合されます。",
      "accountSummarySignedIn": "{{email}} で {{count}} 件のホテル、{{alerts}} 件のアラートを保存中。現在 {{matches}} 件が条件一致。",
      "accountEmail": "Email",
      "accountEmailPlaceholder": "you@example.com",
      "accountSignIn": "ログイン / アカウント作成",
      "accountSignOut": "ログアウト",
      "accountInvalidEmail": "有効な Email を入力してください。",
      "accountSignedOutNotice": "PointsTrip アカウントで保存ホテルとアラートを管理します。ホテルブランドの会員認証情報は収集しません。",
      "accountSignedInNotice": "保存ホテルとアラートはアカウント別に保存されます。正式な端末間同期には会員 API が必要です。",
      "closePanel": "閉じる",
      "priceAlertPanelTitle": "価格アラート",
      "alertThreshold": "ポイント価値しきい値",
      "alertEmail": "Email（任意）",
      "saveAlert": "アラートを保存",
      "alertSaved": "保存済み：{{hotel}} ≥ {{value}}",
      "alertCurrentStatus": "現在の最高値は {{value}}、{{status}}。",
      "alertHit": "条件一致",
      "alertWaiting": "まだ条件未達",
      "alertNoData": "現在比較できるポイント宿泊データがありません。",
      "localOnlyNotice": "現在はローカル通知です。本番通知にはバックエンドまたは Email サービスが必要です。",
      "complianceNotice": "このサイトは情報比較と公式ページへの導線のみを提供し、代理予約、ポイント売買、会員情報の収集は行いません。",
      "pointsSuffix": "pt",
      "valueCurrency": "元",
      "valueSuffix": "/pt",
      "affiliateInviteCode": "招待コード：{{code}}",
      "affiliateFallback": "キャンペーンリンク、招待コード、還元率、トラッキングタグを配置できます。",
      "affiliateDefaultTitle": "提携オファー",
      "affiliateDefaultSubtitle": "アフィリエイトリンク",
      "affiliateDefaultCta": "オファーを見る",
      "loadError": "データを読み込めません。/data/ JSON を確認してください。",
      "weekdays": ["日", "月", "火", "水", "木", "金", "土"]
    }
  }
}
