namespace TokenTrackerWin;

internal sealed record TrayStrings(
    string FontFamily,
    string TodayTitle,
    string NoData,
    string TokensUnit,
    string OpenDashboard,
    string CloseDashboard,
    string SyncNow,
    string LaunchAtLogin,
    string StarOnGitHub,
    string Quit,
    string ShowPet,
    string HidePet,
    string ClosePet,
    string PetSize,
    string SizeSmall,
    string SizeMedium,
    string SizeLarge)
{
    public static TrayStrings For(string locale)
    {
        return locale switch
        {
            NativeLocalization.ChineseLocale => new(
                "Microsoft YaHei UI",
                "今日",
                "暂无数据",
                "tokens",
                "打开仪表盘",
                "关闭仪表盘",
                "立即同步",
                "开机时启动",
                "在 GitHub 上 Star",
                "退出",
                "显示悬浮宠物",
                "隐藏悬浮宠物",
                "关闭桌面宠物",
                "宠物大小",
                "小",
                "中",
                "大"),
            NativeLocalization.TraditionalChineseLocale => new(
                "Microsoft JhengHei UI",
                "今日",
                "暫無資料",
                "tokens",
                "開啟儀表盤",
                "關閉儀表盤",
                "立即同步",
                "開機時啟動",
                "在 GitHub 上 Star",
                "退出",
                "顯示懸浮寵物",
                "隱藏懸浮寵物",
                "關閉桌面寵物",
                "寵物大小",
                "小",
                "中",
                "大"),
            NativeLocalization.JapaneseLocale => new(
                "Yu Gothic UI",
                "今日",
                "データなし",
                "tokens",
                "ダッシュボードを開く",
                "ダッシュボードを閉じる",
                "今すぐ同期",
                "ログイン時に起動",
                "GitHub で Star",
                "終了",
                "デスクトップペットを表示",
                "デスクトップペットを非表示",
                "デスクトップペットを閉じる",
                "ペットのサイズ",
                "小",
                "中",
                "大"),
            NativeLocalization.KoreanLocale => new(
                "Malgun Gothic",
                "오늘",
                "데이터 없음",
                "tokens",
                "대시보드 열기",
                "대시보드 닫기",
                "지금 동기화",
                "로그인 시 실행",
                "GitHub에서 Star",
                "종료",
                "데스크톱 펫 표시",
                "데스크톱 펫 숨기기",
                "데스크톱 펫 닫기",
                "펫 크기",
                "작게",
                "보통",
                "크게"),
            _ => new(
                "Segoe UI Variable Text",
                "Today",
                "No data",
                "tokens",
                "Open Dashboard",
                "Close Dashboard",
                "Sync Now",
                "Launch at Startup",
                "Star on GitHub",
                "Quit",
                "Show Desktop Pet",
                "Hide Desktop Pet",
                "Close Desktop Pet",
                "Pet Size",
                "Small",
                "Medium",
                "Large"),
        };
    }
}
