@courthive/i18n 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -79,8 +79,8 @@
79
79
  "ovw": "Overview",
80
80
  "prt": "Participants",
81
81
  "evt": "Events",
82
- "sch": "Schedule (legacy)",
83
- "sch2": "Schedule",
82
+ "sch": "Schedule",
83
+ "sch2": "Schedule 2",
84
84
  "ven": "Venues",
85
85
  "rpt": "Reports",
86
86
  "pub": "Publishing",
@@ -132,6 +132,7 @@
132
132
  "to": "To",
133
133
  "h2h": "Head-to-Head",
134
134
  "reg": "Registered",
135
+ "regs": "Registrations",
135
136
  "gdr": "Gender",
136
137
  "dtp": "Draw Type",
137
138
  "drp": "Draw Position",
@@ -424,7 +425,8 @@
424
425
  "restoreSuccess": "Draw restored",
425
426
  "restoreFailure": "Restore failed",
426
427
  "calendarLoadError": "Failed to load calendar",
427
- "deletedDrawsLoadError": "Failed to load deleted draws"
428
+ "deletedDrawsLoadError": "Failed to load deleted draws",
429
+ "providerLockedToActive": "Locked to the active provider in your session. Stop impersonation (or switch providers) to inspect another tenant's deleted draws."
428
430
  }
429
431
  },
430
432
  "round_names": {
@@ -472,7 +474,9 @@
472
474
  "normal": "Normal",
473
475
  "winloss_abbreviation": "W/L",
474
476
  "cancelled": "Cancelled",
475
- "abandoned": "Abandoned"
477
+ "abandoned": "Abandoned",
478
+ "scoreThisMatch": "Score this match",
479
+ "openScorecard": "Open scorecard"
476
480
  },
477
481
  "draws": {
478
482
  "seedlimit": "Seed Limit",
@@ -942,8 +946,10 @@
942
946
  "event": "By Event",
943
947
  "draw": "By Draw",
944
948
  "round": "By Round",
945
- "structure": "By Structure"
946
- }
949
+ "structure": "By Structure",
950
+ "time": "By Time"
951
+ },
952
+ "showCompleted": "Show completed"
947
953
  },
948
954
  "penalties": {
949
955
  "fail2signout": "Failed to Sign Out",
@@ -981,7 +987,8 @@
981
987
  "validationDetails": "Validation details",
982
988
  "dismiss": "Dismiss",
983
989
  "iSavedIt": "I saved it",
984
- "remove": "Remove"
990
+ "remove": "Remove",
991
+ "continueAndUnschedule": "Continue & unschedule"
985
992
  },
986
993
  "modals": {
987
994
  "deleteEvents": {
@@ -1051,7 +1058,8 @@
1051
1058
  "editDates": {
1052
1059
  "title": "Edit Dates",
1053
1060
  "startDateLabel": "Start Date",
1054
- "endDateLabel": "End Date"
1061
+ "endDateLabel": "End Date",
1062
+ "timeZoneDetectedHint": "Detected from your browser ({{zone}}). Confirm, change, or clear."
1055
1063
  },
1056
1064
  "invalidParticipants": {
1057
1065
  "title": "Invalid Participants"
@@ -1478,15 +1486,15 @@
1478
1486
  "usageList": "{{name}} is used by: {{events}}"
1479
1487
  },
1480
1488
  "firstLogin": {
1481
- "title": "Set your password",
1482
- "intro": "Your account was created with a temporary password. Choose a new password to finish signing in.",
1483
- "newPasswordLabel": "New password",
1484
- "newPasswordPlaceholder": "minimum 8 characters",
1485
- "confirmPasswordLabel": "Confirm password",
1486
- "confirmPasswordPlaceholder": "re-enter new password",
1487
- "setPassword": "Set password",
1488
- "failed": "Could not set your password. Please try again.",
1489
- "tokenExpired": "This sign-in session expired. Please log in again."
1489
+ "title": "Set Your Password",
1490
+ "intro": "Your administrator assigned you a temporary password. Please choose a new password to continue.",
1491
+ "newPasswordLabel": "New Password",
1492
+ "newPasswordPlaceholder": "At least 8 characters",
1493
+ "confirmPasswordLabel": "Confirm Password",
1494
+ "confirmPasswordPlaceholder": "Re-enter new password",
1495
+ "setPassword": "Set Password",
1496
+ "failed": "Failed to set new password.",
1497
+ "tokenExpired": "Your sign-in expired. Please log in again."
1490
1498
  },
1491
1499
  "forgotPassword": {
1492
1500
  "title": "Reset your password",
@@ -1544,16 +1552,16 @@
1544
1552
  "failed": "Delete failed."
1545
1553
  },
1546
1554
  "contactEmail": {
1547
- "title": "Recovery email",
1548
- "label": "Recovery email",
1555
+ "title": "Contact email",
1556
+ "label": "Email address",
1549
1557
  "save": "Save",
1550
1558
  "resend": "Resend verification",
1551
- "savedPending": "Verification email sent to {{email}}.",
1552
- "resent": "Verification email sent.",
1553
- "alreadyVerified": "Recovery email is already verified.",
1554
- "failed": "Could not update recovery email. Please try again.",
1555
- "statusNotSet": "No recovery email set. Add one so you can recover access if you lose your password.",
1556
- "statusPending": "Pending verification — check {{email}} and click the link.",
1559
+ "savedPending": "Verification email sent to {{email}}. Check your inbox.",
1560
+ "resent": "Verification email re-sent.",
1561
+ "alreadyVerified": "Your contact email is already verified.",
1562
+ "failed": "Could not save contact email.",
1563
+ "statusNotSet": "No contact email is set yet. Set one so you can recover your password by email.",
1564
+ "statusPending": "Pending verification: {{email}}. Click the link in your inbox.",
1557
1565
  "statusVerified": "Verified: {{email}}"
1558
1566
  },
1559
1567
  "editUser": {
@@ -1588,6 +1596,33 @@
1588
1596
  "staff_one": "{{count}} staff",
1589
1597
  "staff_other": "{{count}} staff"
1590
1598
  }
1599
+ },
1600
+ "practiceCapacity": {
1601
+ "title": "Practice court capacity",
1602
+ "help": "Default capacity for PRACTICE bookings that don't set their own. Individual bookings can override this.",
1603
+ "unlimited": "Unlimited",
1604
+ "capped": "Cap simultaneous registrations:",
1605
+ "saved": "Practice capacity updated.",
1606
+ "invalidNumber": "Enter a whole number.",
1607
+ "mustBeNonNegative": "Capacity cannot be negative."
1608
+ },
1609
+ "practiceRegistrations": {
1610
+ "title": "Manage practice registrations",
1611
+ "bookingNotFound": "This practice booking is no longer available.",
1612
+ "currentRegistrations": "Current registrations",
1613
+ "noneYet": "No registrations yet.",
1614
+ "addRegistrant": "Add registrant",
1615
+ "participantLabel": "Participant",
1616
+ "participantPlaceholder": "Type participant name",
1617
+ "startTime": "Start",
1618
+ "endTime": "End",
1619
+ "add": "Add",
1620
+ "added": "Registration added.",
1621
+ "removed": "Registration removed.",
1622
+ "pickParticipant": "Pick a participant from the list.",
1623
+ "pickTimes": "Set both start and end times.",
1624
+ "invalidWindow": "Start time must be before end time.",
1625
+ "conflictWarning": "Registration added — participant has another commitment during this window."
1591
1626
  }
1592
1627
  },
1593
1628
  "dashboard": {
@@ -1609,7 +1644,12 @@
1609
1644
  "viewBracket": "View bracket",
1610
1645
  "allStructures": "All structures",
1611
1646
  "categories": "Categories ({{count}})",
1612
- "noneSet": "None"
1647
+ "noneSet": "None",
1648
+ "practiceCapacity": "Practice capacity",
1649
+ "practiceUnlimited": "Unlimited",
1650
+ "practiceClosed": "Closed",
1651
+ "setTimeZone": "Set time zone",
1652
+ "setTimeZoneDetected": "(detected: {{zone}})"
1613
1653
  },
1614
1654
  "drawers": {
1615
1655
  "editTournament": {
@@ -1624,7 +1664,17 @@
1624
1664
  "activeDates": "Active Dates",
1625
1665
  "timeZoneLabel": "Time zone",
1626
1666
  "timeZonePlaceholder": "e.g. America/New_York",
1627
- "timeZoneInvalid": "Not a recognised IANA time zone"
1667
+ "timeZoneInvalid": "Not a recognised IANA time zone",
1668
+ "tierSystemLabel": "Tier system",
1669
+ "tierSystemPlaceholder": "e.g. ITF_JUNIOR, ATP, PPA",
1670
+ "tierSystemNone": "—",
1671
+ "tierSystemUnknown": "(unknown: {{system}})",
1672
+ "tierValueLabel": "Tier value",
1673
+ "tierValuePlaceholder": "e.g. J500, Masters 1000, Gold",
1674
+ "tierNumericRankLabel": "Tier rank (optional)",
1675
+ "tierNumericRankPlaceholder": "Lower = higher tier",
1676
+ "tierSystemMissing": "Tier value entered without a system",
1677
+ "tierValueMissing": "Tier system entered without a value"
1628
1678
  },
1629
1679
  "addDraw": {
1630
1680
  "missingName": "Missing Draw name",
@@ -1742,7 +1792,12 @@
1742
1792
  "cannotDeleteParticipant": "Participant is assigned to a draw and cannot be deleted",
1743
1793
  "magicLinkSent": "If an account exists for that email, a login link is on its way.",
1744
1794
  "magicLinkInvalid": "That login link is invalid or has expired. Please request a new one.",
1745
- "addedTeamParticipants": "Generated {{count}} team participant(s) from the team column"
1795
+ "addedTeamParticipants": "Generated {{count}} team participant(s) from the team column",
1796
+ "activeDatesPrompt": "Set active dates so the public schedule shows only the days you play.",
1797
+ "activeDatesPromptAction": "Set active dates",
1798
+ "cannotDeleteTournament": "Cannot delete tournament",
1799
+ "tournamentNotEnded": "Cannot delete a tournament before its end date. Set the end date to a past date first, then delete.",
1800
+ "deleteForbidden": "You are not authorized to delete this tournament."
1746
1801
  },
1747
1802
  "loginMenu": {
1748
1803
  "authorization": "Authorization",
@@ -2048,7 +2103,11 @@
2048
2103
  "eventNameRequired": "Event name must be at least 5 characters",
2049
2104
  "any": "Any",
2050
2105
  "custom": "Custom",
2051
- "categorySaveWarning": "Category saved to event but not added to tournament categories"
2106
+ "categorySaveWarning": "Category saved to event but not added to tournament categories",
2107
+ "competitionFormatLabel": "Sport rules",
2108
+ "competitionFormatNone": "None",
2109
+ "competitionFormatTennis": "Tennis (standard)",
2110
+ "competitionFormatIntennse": "INTENNSE (standard)"
2052
2111
  },
2053
2112
  "editFormat": {
2054
2113
  "noChanges": "No changes",
@@ -2071,7 +2130,8 @@
2071
2130
  "autoPlaceParticipants": "Auto place participants",
2072
2131
  "configureDraft": "Configure draft",
2073
2132
  "resolveDraft": "Resolve draft",
2074
- "draftStatus": "Draft"
2133
+ "draftStatus": "Draft",
2134
+ "recalculateStats": "Recalculate stats"
2075
2135
  }
2076
2136
  },
2077
2137
  "participants": {
@@ -2405,7 +2465,14 @@
2405
2465
  "navbarLogoHeight": "Navbar logo height (px)",
2406
2466
  "splashLogoUrl": "Splash logo URL",
2407
2467
  "accentColor": "Accent color (CSS)",
2408
- "stylesheetUrl": "Provider stylesheet URL (escape hatch)"
2468
+ "stylesheetUrl": "Provider stylesheet URL (escape hatch)",
2469
+ "preview": "Live preview (mock navbar)",
2470
+ "uploadThemeAssets": "Upload & link theme assets",
2471
+ "uploadNoFiles": "Choose a .css file (and any fonts) first.",
2472
+ "uploading": "Uploading…",
2473
+ "uploadLinked": "Uploaded {{count}} file(s); stylesheet URL linked.",
2474
+ "uploadedNoCss": "Uploaded {{count}} file(s) — add a .css file to link the stylesheet URL.",
2475
+ "uploadFailed": "Upload failed: {{reason}}"
2409
2476
  },
2410
2477
  "defaults": {
2411
2478
  "defaultEventType": "Default event type",
@@ -2447,14 +2514,17 @@
2447
2514
  "title": "Verify your email",
2448
2515
  "intro": "Click the button below to confirm that this email is yours.",
2449
2516
  "verifyButton": "Verify email",
2450
- "verifying": "Verifying…",
2517
+ "verifying": "Verifying your email…",
2451
2518
  "success": "Verified ✓ — you can now receive password-recovery email at {{email}}. You may close this tab.",
2452
2519
  "successPlain": "Verified ✓. You may close this tab.",
2453
- "missingToken": "This verification link is missing its token. Try clicking the link in your email again, or request a fresh one from the contact-email settings.",
2520
+ "missingToken": "Missing verification token.",
2454
2521
  "tokenExpired": "This verification link has expired. Request a fresh one from your contact-email settings.",
2455
2522
  "tokenMismatch": "This link no longer matches your current contact email — it was probably superseded by a more recent change.",
2456
2523
  "tryAgain": "Try again",
2457
- "failed": "Verification failed. Try requesting a fresh link."
2524
+ "failed": "Verification failed. Try requesting a fresh link.",
2525
+ "verifiedRedirect": "Your email is verified. Taking you to My CourtHive…",
2526
+ "verifiedSignIn": "Your email is verified. You can now sign in.",
2527
+ "invalidOrExpired": "This verification link is invalid or has expired. Sign in to My CourtHive to request a new one."
2458
2528
  },
2459
2529
  "resetPassword": {
2460
2530
  "title": "Set a new password",
@@ -2510,7 +2580,48 @@
2510
2580
  "type": "Type",
2511
2581
  "entries": "Entries",
2512
2582
  "draws": "Draws",
2513
- "noEvents": "No events"
2583
+ "noEvents": "No events",
2584
+ "providerDashboard": {
2585
+ "loading": "Loading dashboard…",
2586
+ "loadError": "Could not load provider configuration.",
2587
+ "brand": {
2588
+ "title": "Brand & Identity",
2589
+ "editTheme": "Edit theme",
2590
+ "logoAlt": "Provider logo",
2591
+ "unnamed": "Unnamed provider",
2592
+ "noBrand": "No brand colors set yet",
2593
+ "themeTokens": "{{count}} theme token override(s)"
2594
+ },
2595
+ "checklist": {
2596
+ "title": "Getting started",
2597
+ "progress": "{{done}} of {{total}} complete",
2598
+ "appName": "Set your display name",
2599
+ "brand": "Set your brand colors",
2600
+ "logo": "Upload a logo",
2601
+ "privacy": "Configure participant privacy"
2602
+ },
2603
+ "config": {
2604
+ "title": "Configuration at a glance",
2605
+ "editSettings": "Edit settings",
2606
+ "permissions": "{{count}} permission(s) enabled",
2607
+ "policies": "{{count}} policy set(s) configured",
2608
+ "privacy": "{{count}} privacy field(s) published",
2609
+ "scoringApp": "Scoring app: {{app}}",
2610
+ "none": "Using platform defaults"
2611
+ },
2612
+ "tournaments": {
2613
+ "title": "Tournaments",
2614
+ "total": "Total",
2615
+ "upcoming": "Upcoming",
2616
+ "live": "In progress",
2617
+ "completed": "Completed",
2618
+ "none": "No tournaments yet",
2619
+ "loadError": "Could not load tournaments"
2620
+ },
2621
+ "activity": {
2622
+ "title": "Activity by year"
2623
+ }
2624
+ }
2514
2625
  },
2515
2626
  "ams": {
2516
2627
  "officials": "Officials",
@@ -2533,5 +2644,73 @@
2533
2644
  "sendVerification": "Send verification",
2534
2645
  "verificationSent": "Verification email sent",
2535
2646
  "alreadyVerified": "Recovery email already verified",
2536
- "noRecoveryEmail": "No recovery email set"
2647
+ "noRecoveryEmail": "No recovery email set",
2648
+ "timepicker": {
2649
+ "am": "AM",
2650
+ "pm": "PM",
2651
+ "selectTime": "Select time",
2652
+ "enterTime": "Enter time",
2653
+ "hour": "Hour",
2654
+ "minute": "Minute",
2655
+ "clear": "Clear"
2656
+ },
2657
+ "onboarding": {
2658
+ "title": "Welcome — let's set up {{name}}",
2659
+ "yourProvider": "your provider",
2660
+ "intro": "{{count}} step(s) left to finish setting up. You can skip any of these and come back later.",
2661
+ "allDone": "You're all set up. 🎉",
2662
+ "setUp": "Set up",
2663
+ "getStarted": "Get started",
2664
+ "skipForNow": "Skip for now",
2665
+ "finish": "Finish"
2666
+ },
2667
+ "me": {
2668
+ "verification": {
2669
+ "title": "Email verification",
2670
+ "checking": "Checking…",
2671
+ "signInToManage": "Sign in to manage email verification.",
2672
+ "yourEmail": "your email",
2673
+ "verified": "✓ {{email}} is verified.",
2674
+ "notVerified": "{{email}} is not verified yet. Verify it to become eligible as an official scorer.",
2675
+ "resend": "Resend verification email",
2676
+ "sent": "Verification email sent — check your inbox.",
2677
+ "sendFailed": "Could not send the email. Please try again later."
2678
+ }
2679
+ },
2680
+ "crowd": {
2681
+ "trackers": "Crowd trackers",
2682
+ "trackersFor": "Crowd trackers — {{label}}",
2683
+ "loading": "Loading…",
2684
+ "close": "Close",
2685
+ "cancel": "Cancel",
2686
+ "promote": "Promote",
2687
+ "demote": "Demote",
2688
+ "noActiveTrackers": "No active crowd trackers",
2689
+ "activeTrackers_one": "{{count}} active tracker",
2690
+ "activeTrackers_other": "{{count}} active trackers",
2691
+ "viewTrackers": "View crowd trackers ({{count}})",
2692
+ "setDelegatedOutcome": "Set delegated outcome",
2693
+ "confirmDelegatedOutcome": "Confirm delegated outcome",
2694
+ "badge": {
2695
+ "official": "OFFICIAL",
2696
+ "participant": "PARTICIPANT",
2697
+ "crowd": "CROWD",
2698
+ "anon": "ANON",
2699
+ "verified": "VERIFIED",
2700
+ "nominated": "NOMINATED"
2701
+ },
2702
+ "reason": {
2703
+ "signInRequired": "Sign-in required to be nominated",
2704
+ "emailNotVerified": "Email not verified — cannot be nominated"
2705
+ },
2706
+ "toast": {
2707
+ "nominateFirst": "Nominate a verified scorer before setting a delegated outcome.",
2708
+ "noOutcomeToConfirm": "No delegated outcome to confirm on this match."
2709
+ },
2710
+ "tooltip": {
2711
+ "liveTracker": "Score reported via live tracker",
2712
+ "unconfirmed": "Unconfirmed delegated score — confirm to make it official",
2713
+ "unconfirmedAria": "Unconfirmed delegated score awaiting confirmation"
2714
+ }
2715
+ }
2537
2716
  }