Aggiunge i tornei con hub, pagina pubblica e tabellone per semifinali e finali.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-05 15:05:57 +02:00
co-authored by Cursor
parent d52434fb2e
commit a1f4c24a43
124 changed files with 6979 additions and 91 deletions
+245
View File
@@ -0,0 +1,245 @@
en:
tournaments:
tbd: TBD
index:
title: "Tournaments — %{name}"
heading: Tournaments
lead: Organize a multi-day tournament, delegate broadcasts, and publish groups, standings and a bracket.
new: New tournament
empty: No tournaments yet.
open: Manage
delete: Delete
col_name: Tournament
col_dates: Dates
col_status: Status
upgrade: Tournaments are available on Premium Full.
new:
title: "New tournament — %{name}"
heading: New tournament
submit: Create tournament
form:
name: Name
sport: Sport
venue: Venue
starts_on: Start
ends_on: End
format: Format
courts: Courts (one per line)
knockout_size: Knockout size
description: Description
logo: Tournament logo
logo_hint: PNG, JPEG or WebP. Shown on the public page and in the tournament list.
formats:
groups: Groups only
knockout: Knockout only
mixed: Groups + knockout
free: Open schedule
status:
draft: Draft
published: Published
live: Live
archived: Archived
hub:
title: "%{name} — Tournament"
back: "← Club"
public_page: Public page
publish: Publish
unpublish: Back to draft
archive: Archive
delete: Delete
delete_confirm: "Delete tournament “%{name}”? Teams, schedule, invites and related replays will be removed. This cannot be undone."
tabs:
squadre: Teams
struttura: Structure
calendario: Schedule
dirette: Streaming
tabellone: Bracket
overlap_warning: "Slot %{slot} has %{count} matches (plan limit: %{limit} concurrent streams)."
add_participant: Add team
participant_name: Team name
participant_group: Group
no_group: No group
link_club_team: Link a club team (optional)
add_group: Add group
generate_group_matches: Generate group matches
generate_hint: Builds the round-robin, then you can change times and courts on the schedule.
calendar_edit_hint: Edit date, time, court and teams on each row, then Save. Semis and the final can be set here or on the Bracket tab.
knockout_how_title: Semis and final
knockout_how_groups: Enter group results first. Standings decide 1st and 2nd.
knockout_how_seed: Use “Fill bracket” to put 1sts and 2nds into the semis, or pick the teams yourself.
knockout_how_advance: When you save a semi result, the final fills with the winners automatically.
knockout_round_empty: No matches in this round yet. Fill the bracket, or add a match from the schedule and pick this round.
winner_of: "Winner — %{match}"
winner_tbd: Winner to be decided
group_rank: "%{rank} %{group}"
group_rank_tbd: Qualified from group
schedule_another: Add another match
save_match: Save
logo: Logo
logo_file: Upload logo
logo_hint: Upload team logos here (PNG, JPEG or WebP). They appear on the schedule, overlay and public page.
tournament_logo_hint: Shown on the public page and in the tournament list.
squadre_edit_hint: On each row you can change name, group and logo. Upload a logo or edit the name, then press Save.
schedule_match: Schedule match
home: Home
away: Away
swap_sides: Swap home and away
streaming: Streaming
streaming_pending: pending
streaming_unassigned: Uncovered
streaming_invite: Invite
streaming_revoke: Revoke
streaming_revoke_confirm: "Revoke %{name} from this match?"
streaming_cancel: "Cancel the invite to %{email}?"
streaming_cancel_multi: "Cancel the invite to %{email}? It covers %{count} matches."
court: Court
datetime: Date and time
group: Group
round: Round
no_round:
invite_email: Operator email
stream_plan_title: Broadcast plan
stream_plan_hint: Who is streaming, and where each broadcast stands. Tick uncovered matches and invite an operator below.
stream_plan_invite_title: Invite an operator
stream_plan_invite_hint: Tick matches in the plan, or cover a whole court for a day. The email text is already below, fully editable.
stream_plan_live_col: Status
stream_plan_live:
live: Live
waiting_time: Waiting for kickoff
waiting_operator: Waiting for operator
ended: Ended
uncovered: Uncovered
stream_plan_live_count:
live:
one: "%{count} live"
other: "%{count} live"
waiting_time:
one: "%{count} waiting for kickoff"
other: "%{count} waiting for kickoff"
waiting_operator:
one: "%{count} waiting for operator"
other: "%{count} waiting for operator"
ended:
one: "%{count} ended"
other: "%{count} ended"
uncovered:
one: "%{count} uncovered"
other: "%{count} uncovered"
stream_plan_assigned:
one: "%{count} covered"
other: "%{count} covered"
stream_plan_pending:
one: "%{count} pending"
other: "%{count} pending"
stream_plan_open:
one: "%{count} uncovered"
other: "%{count} uncovered"
stream_plan_select_open: Select uncovered
stream_plan_select_match: Select this match
stream_plan_unscheduled: Unscheduled
stream_plan_match: Match
stream_plan_operator: Operator
stream_plan_invite_selected: Invite selected
stream_plan_court_day: Court and day
stream_plan_court_day_hint: If no matches are ticked, the invite covers every match on this court that day.
stream_plan_invite_court: Invite court and day
stream_plan_customize: Customize email
stream_plan_need_selection: Select at least one match, or invite a court and day.
invite_note: Note
invite_note_placeholder: E.g. Bring the tripod, arrive at 8:30
invite_match: This match
invite_court_day: Court and day
invite_submit: Send invite
invite_save: Save draft
invite_email_body: Email text
invite_email_hint: Pre-filled template, fully editable. Save a draft to come back later; when sending, {{link_invito}} becomes the real invite link. Drop an image into the editor or use the button; click the image and drag the bottom-right corner to resize.
invite_draft_hint: "Draft saved on %{time}. It stays here until you overwrite it."
invite_email_scope_generic: the matches assigned in this invite
invite_editor_toolbar: Formatting
invite_editor_bold: Bold
invite_editor_italic: Italic
invite_editor_underline: Underline
invite_editor_ul: Bulleted list
invite_editor_ol: Numbered list
invite_editor_link: Insert link
invite_editor_link_prompt: Link URL
invite_editor_image: Insert image
invite_image_invalid: Use a PNG, JPEG, WebP or GIF file.
invite_image_too_big: Image too large (max 2 MB).
invite_image_uploading: Uploading image…
invite_image_failed: Upload failed.
result: Result
save_result: Save
propose_knockout: Fill bracket
propose_hint: Fills the first knockout round with group 1sts/2nds. You can edit afterwards.
standings: Standings
played: P
won: W
lost: L
points: Pts
no_matches: No matches scheduled.
page:
title: "%{name} — %{club}"
draft_banner: Draft preview — this page is not public yet.
back_to_list: "← All tournaments"
tabs_label: Tournament sections
tabs:
risultati: Results
tabellone: Bracket
section_live: Live now
section_upcoming: Upcoming
section_board: Match board
board_hint: Every match in the tournament, with a live or replay link when available.
section_groups: Groups and standings
section_bracket: Bracket
bracket_empty: The bracket will appear once standings or knockout rounds are ready.
section_replays: Replays
watch: Watch
watch_live: Watch live
watch_replay: Watch replay
score: Score
no_media:
state:
live: Live
replay: Replay
scheduled: Scheduled
ended: Finished
waiting: Waiting
directory:
meta_title: Tournaments — Match Live TV
meta_description: Follow groups, brackets, live streams and replays of tournaments published on Match Live TV.
heading: Tournaments
hint: Boards, standings and links to live streams or replays. Open a tournament to follow it.
empty: No public tournaments right now.
follow: Follow the board →
section_on_live: Tournaments
live_hint: Groups, bracket and live streams on a page you can share.
all_link: All tournaments
flash:
tournaments:
created: Tournament created. Add teams and the schedule.
updated: Tournament updated.
published: Public page is live.
unpublished: Tournament moved back to draft.
archived: Tournament archived.
deleted: Tournament deleted.
delete_blocked_live: End live streams before deleting this tournament.
archived_locked: This tournament is archived.
group_matches_created: "Created %{count} group matches."
knockout_proposed: "Bracket updated (%{count} matches)."
participant_added: Team registered.
participant_updated: Team updated.
participant_removed: Team removed.
group_added: Group added.
group_removed: Group removed.
match_scheduled: Match added to the schedule.
match_updated: Match updated.
sides_swapped: Home and away swapped.
sides_swap_failed: Could not swap home and away.
match_deleted: Match deleted.
invite_email_sent: "Invite sent to %{email} (link valid 7 days)"
invite_email_failed: "Invite created, but the email to %{email} could not be sent. Copy and share the link."
invite_draft_saved: Email draft saved. You can send it later.
invite_canceled: Invite canceled.
assignment_revoked: Operator removed from this match.
result_saved: Result saved.