Completa i18n IT/EN/FR/DE/ES su sito pubblico, area autenticata e admin.

Tutte le view marketing, legali, viewer, dashboard e admin usano t(); mailer utente-facing e flash localizzati; admin con LocaleResolver e selettore lingua.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-24 00:38:50 +02:00
co-authored by Cursor
parent fb7068f86c
commit b88f44ab1c
158 changed files with 9444 additions and 1536 deletions
+65 -69
View File
@@ -1,150 +1,146 @@
<% content_for :title, "Cookie policy — Match Live TV" %>
<% content_for :meta_description, "Cookie policy di Match Live TV: cookie tecnici, sessione, Google Analytics e gestione del consenso." %>
<% content_for :title, t("legal.cookies.title") %>
<% content_for :meta_description, t("legal.cookies.meta_description") %>
<% content_for :canonical_url, seo_absolute_url(public_cookies_path) %>
<div class="wrap legal-doc">
<h1>Cookie policy</h1>
<h1><%= t("legal.cookies.h1") %></h1>
<p class="legal-meta">
Ultimo aggiornamento: <%= cookie_policy_last_updated %>
· Vedi anche <%= link_to "informativa privacy", public_privacy_path %>
<%= raw t(
"legal.cookies.meta_html",
date: cookie_policy_last_updated,
privacy_link: link_to(t("legal.cookies.privacy_link_text"), public_privacy_path)
) %>
</p>
<section>
<h2>1. Cosa sono i cookie</h2>
<h2><%= t("legal.cookies.s1_title") %></h2>
<p>
I cookie sono piccoli file di testo che i siti salvano sul dispositivo del visitatore.
Servono a far funzionare il sito, ricordare preferenze o, previo consenso, analizzare luso del servizio.
<%= t("legal.cookies.s1_body") %>
</p>
</section>
<section>
<h2>2. Titolare</h2>
<h2><%= t("legal.cookies.s2_title") %></h2>
<p>
<strong><%= MatchLiveTv.privacy_controller_name %></strong>
<%= MatchLiveTv.privacy_controller_address %>
<a href="mailto:<%= MatchLiveTv.privacy_controller_email %>"><%= MatchLiveTv.privacy_controller_email %></a>
<% if MatchLiveTv.privacy_controller_vat.present? %>
· P. IVA <%= MatchLiveTv.privacy_controller_vat %>
· <%= t("legal.cookies.s2_vat_label") %> <%= MatchLiveTv.privacy_controller_vat %>
<% end %>
</p>
</section>
<section>
<h2>3. Come gestiamo il consenso</h2>
<h2><%= t("legal.cookies.s3_title") %></h2>
<p>
Al primo accesso mostriamo un banner che ti permette di accettare tutti i cookie,
usare <strong>solo quelli necessari</strong> o aprire questa pagina per maggiori dettagli.
Puoi modificare la scelta in qualsiasi momento con il link
<strong>«Gestisci cookie»</strong> nel footer.
<%= raw t("legal.cookies.s3_p1_html") %>
</p>
<p>
La preferenza viene memorizzata in un cookie tecnico di prima parte
(<code>mltv_cookie_consent</code>) e in <code>localStorage</code> del browser.
<%= raw t("legal.cookies.s3_p2_html") %>
</p>
</section>
<section>
<h2>4. Cookie e tecnologie che utilizziamo</h2>
<h2><%= t("legal.cookies.s4_title") %></h2>
<h3>4.1 Strettamente necessari (sempre attivi)</h3>
<p>Non richiedono consenso perché indispensabili al funzionamento del sito e dellarea riservata.</p>
<h3><%= t("legal.cookies.s4_1_title") %></h3>
<p><%= t("legal.cookies.s4_1_intro") %></p>
<table class="legal-table">
<thead>
<tr><th>Nome / tipo</th><th>Finalità</th><th>Durata</th><th>Fornitore</th></tr>
<tr><th><%= t("legal.cookies.table_col_name") %></th><th><%= t("legal.cookies.table_col_purpose") %></th><th><%= t("legal.cookies.table_col_duration") %></th><th><%= t("legal.cookies.table_col_provider") %></th></tr>
</thead>
<tbody>
<tr>
<td><code>_app_session</code> (cookie di sessione)</td>
<td>Mantiene laccesso dellutente registrato, protezione CSRF, preferenze di navigazione sicura</td>
<td>Sessione / fino a chiusura browser</td>
<td>Match Live TV (prima parte)</td>
<td><%= raw t("legal.cookies.s4_1_row1_name_html") %></td>
<td><%= t("legal.cookies.s4_1_row1_purpose") %></td>
<td><%= t("legal.cookies.s4_1_row1_duration") %></td>
<td><%= t("legal.cookies.s4_1_row1_provider") %></td>
</tr>
<tr>
<td><code>mltv_cookie_consent</code></td>
<td>Memorizza le scelte sul banner cookie (necessari / analytics)</td>
<td>12 mesi</td>
<td>Match Live TV (prima parte)</td>
<td><%= raw t("legal.cookies.s4_1_row2_name_html") %></td>
<td><%= t("legal.cookies.s4_1_row2_purpose") %></td>
<td><%= t("legal.cookies.s4_1_row2_duration") %></td>
<td><%= t("legal.cookies.s4_1_row2_provider") %></td>
</tr>
</tbody>
</table>
<h3>4.2 Analytics (solo con il tuo consenso)</h3>
<h3><%= t("legal.cookies.s4_2_title") %></h3>
<p>
Se accetti «Tutti i cookie» o abiliti le statistiche nel banner, carichiamo
<strong>Google Analytics 4</strong> per capire come viene usato il sito (pagine visitate, provenienza aggregata, dispositivo).
I dati sono trattati da Google Ireland Limited / Google LLC secondo le loro policy.
<%= raw t("legal.cookies.s4_2_p1_html") %>
</p>
<% if MatchLiveTv.google_analytics_configured? %>
<p class="muted">ID misurazione attivo sul sito: <code><%= MatchLiveTv.google_analytics_measurement_id %></code></p>
<p class="muted"><%= raw t("legal.cookies.s4_2_active_html", id: MatchLiveTv.google_analytics_measurement_id) %></p>
<% else %>
<p class="muted">Google Analytics è configurato solo quando il titolare imposta lID misurazione sul server.</p>
<p class="muted"><%= t("legal.cookies.s4_2_inactive") %></p>
<% end %>
<table class="legal-table">
<thead>
<tr><th>Nome</th><th>Finalità</th><th>Durata</th><th>Fornitore</th></tr>
<tr><th><%= t("legal.cookies.table2_col_name") %></th><th><%= t("legal.cookies.table_col_purpose") %></th><th><%= t("legal.cookies.table_col_duration") %></th><th><%= t("legal.cookies.table_col_provider") %></th></tr>
</thead>
<tbody>
<tr>
<td><code>_ga</code></td>
<td>Distingue gli utenti (statistiche)</td>
<td>2 anni</td>
<td>Google</td>
<td><%= raw t("legal.cookies.s4_2_row1_name_html") %></td>
<td><%= t("legal.cookies.s4_2_row1_purpose") %></td>
<td><%= t("legal.cookies.s4_2_row1_duration") %></td>
<td><%= t("legal.cookies.s4_2_row1_provider") %></td>
</tr>
<tr>
<td><code>_ga_*</code></td>
<td>Mantiene lo stato della sessione Analytics</td>
<td>2 anni</td>
<td>Google</td>
<td><%= raw t("legal.cookies.s4_2_row2_name_html") %></td>
<td><%= t("legal.cookies.s4_2_row2_purpose") %></td>
<td><%= t("legal.cookies.s4_2_row2_duration") %></td>
<td><%= t("legal.cookies.s4_2_row2_provider") %></td>
</tr>
<tr>
<td><code>_gid</code></td>
<td>Distingue gli utenti (statistiche)</td>
<td>24 ore</td>
<td>Google</td>
<td><%= raw t("legal.cookies.s4_2_row3_name_html") %></td>
<td><%= t("legal.cookies.s4_2_row3_purpose") %></td>
<td><%= t("legal.cookies.s4_2_row3_duration") %></td>
<td><%= t("legal.cookies.s4_2_row3_provider") %></td>
</tr>
</tbody>
</table>
<p>
Puoi revocare il consenso dal banner o dalle impostazioni del browser.
Informazioni Google:
<a href="https://policies.google.com/privacy" target="_blank" rel="noopener noreferrer">Privacy Policy Google</a>,
<a href="https://tools.google.com/dlpage/gaoptout" target="_blank" rel="noopener noreferrer">componente opt-out Analytics</a>.
<%= raw t(
"legal.cookies.s4_2_p2_html",
google_privacy_link: link_to(t("legal.cookies.s4_2_google_privacy_link_text"), "https://policies.google.com/privacy", target: "_blank", rel: "noopener noreferrer"),
google_optout_link: link_to(t("legal.cookies.s4_2_google_optout_link_text"), "https://tools.google.com/dlpage/gaoptout", target: "_blank", rel: "noopener noreferrer")
) %>
</p>
<h3>4.3 Cookie di terze parti durante il pagamento</h3>
<h3><%= t("legal.cookies.s4_3_title") %></h3>
<p>
Se acquisti un piano Premium, vieni reindirizzato a <strong>Stripe</strong> (checkout sicuro).
Stripe può impostare cookie propri sul dominio <code>stripe.com</code> per prevenire frodi e completare il pagamento.
Non controlliamo direttamente tali cookie: consulta la
<a href="https://stripe.com/privacy" target="_blank" rel="noopener noreferrer">privacy policy di Stripe</a>.
<%= raw t(
"legal.cookies.s4_3_body_html",
stripe_link: link_to(t("legal.cookies.s4_3_stripe_link_text"), "https://stripe.com/privacy", target: "_blank", rel: "noopener noreferrer")
) %>
</p>
<h3>4.4 YouTube e servizi collegati</h3>
<h3><%= t("legal.cookies.s4_4_title") %></h3>
<p>
Lintegrazione YouTube per le dirette avviene tramite API lato server; il sito pubblico non incorpora
player YouTube con cookie di profilazione. I visitatori che aprono un link YouTube esterno
sono soggetti alle policy di Google/YouTube su quel dominio.
<%= t("legal.cookies.s4_4_body") %>
</p>
</section>
<section>
<h2>5. Come disabilitare i cookie dal browser</h2>
<h2><%= t("legal.cookies.s5_title") %></h2>
<p>
Puoi bloccare o cancellare i cookie dalle impostazioni del browser (Chrome, Firefox, Safari, Edge).
Disabilitando i cookie necessari alcune funzioni (es. login) potrebbero non funzionare.
<%= t("legal.cookies.s5_body") %>
</p>
</section>
<section>
<h2>6. Diritti e contatti</h2>
<h2><%= t("legal.cookies.s6_title") %></h2>
<p>
Per esercitare i diritti previsti dal GDPR (accesso, cancellazione, opposizione, revoca consenso)
scrivi a <a href="mailto:<%= MatchLiveTv.privacy_controller_email %>"><%= MatchLiveTv.privacy_controller_email %></a>.
Dettagli nel <%= link_to "documento privacy", public_privacy_path %>.
<%= raw t(
"legal.cookies.s6_body_html",
email_link: link_to(MatchLiveTv.privacy_controller_email, "mailto:#{MatchLiveTv.privacy_controller_email}"),
privacy_doc_link: link_to(t("legal.cookies.s6_privacy_doc_link_text"), public_privacy_path)
) %>
</p>
</section>
<p style="margin-top:24px">
<button type="button" class="btn btn-secondary" data-cookie-manage>Gestisci preferenze cookie</button>
<button type="button" class="btn btn-secondary" data-cookie-manage><%= t("legal.cookies.manage_button") %></button>
</p>
</div>