Aggiunge traduzioni it/en/fr/de/es agli avvisi e toglie gli override Android/iOS.

Un avviso ha un testo per lingua; per differenziare le piattaforme si creano due avvisi. L'app riceve già il copy risolto da Accept-Language.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-20 16:26:30 +02:00
co-authored by Cursor
parent fb82b74e92
commit f02782d0f0
25 changed files with 396 additions and 168 deletions
+5 -5
View File
@@ -421,18 +421,18 @@ de:
severity: Schwere
status: Status
channels: Wo anzeigen
channels_hint: Eine oder mehrere Ziele wählen. Android und iOS sind unabhängig. Der Login-Bereich ist nach der Anmeldung sichtbar (Verein, Teams, Konto).
channels_hint: "Eine oder mehrere Ziele wählen. Android und iOS sind unabhängig: bei unterschiedlichem Text zwei Hinweise anlegen. Der Login-Bereich ist nach der Anmeldung sichtbar (Verein, Teams, Konto)."
title: Titel
body: Text
starts_at: Sichtbar ab
ends_at: Sichtbar bis
window_hint: Leer lassen, um sofort und solange veröffentlicht anzuzeigen.
action_url: Link (optional)
action_url_hint: Bei Updates öffnet eine leere URL den Store der Plattform. Unten können Titel, Text und Link für Android und iOS unterschiedlich sein.
action_url_hint: Bei Updates öffnet eine leere URL den Store der Plattform (Play Store auf Android, App Store auf iOS).
action_label: Button-Text
android_override: Nur Android (optional)
ios_override: Nur iOS (optional)
platform_override_hint: Leer lassen, um gemeinsame Texte und Links zu nutzen. Nur ausfüllen, wenn diese Plattform etwas anderes sehen soll.
locales_legend: Text pro Sprache
locales_hint: Alle App-Sprachen ausfüllen (Italienisch, Englisch, Französisch, Deutsch, Spanisch). Italienisch ist Pflicht; fehlende Sprachen fallen auf Englisch, dann Italienisch zurück.
locale_required: Pflicht
dismissible: Nutzer können den Hinweis schließen
dismissible_hint: Haken entfernen für Wartungshinweise, die sichtbar bleiben sollen.
submit_create: Hinweis speichern
+5 -5
View File
@@ -421,18 +421,18 @@ en:
severity: Severity
status: Status
channels: Where to show it
channels_hint: Select one or more destinations. Android and iOS are independent. The logged-in area is visible after sign-in (club, teams, account).
channels_hint: "Select one or more destinations. Android and iOS are independent: create two notices if the copy should differ. The logged-in area is visible after sign-in (club, teams, account)."
title: Title
body: Body
starts_at: Visible from
ends_at: Visible until
window_hint: Leave empty to show immediately while published.
action_url: Link (optional)
action_url_hint: For updates, an empty URL opens that platform's store. Below you can set a different title, body and link for Android and iOS.
action_url_hint: For updates, an empty URL opens that platform's store (Play Store on Android, App Store on iOS).
action_label: Button label
android_override: Android only (optional)
ios_override: iOS only (optional)
platform_override_hint: Leave empty to use the shared title, body and link. Fill in only if this platform should see different copy or a different URL.
locales_legend: Copy by language
locales_hint: Fill in every app language (Italian, English, French, German, Spanish). Italian is required; missing languages fall back to English, then Italian.
locale_required: required
dismissible: Users can dismiss the notice
dismissible_hint: Uncheck for maintenance notices that should stay visible.
submit_create: Save notice
+5 -5
View File
@@ -421,18 +421,18 @@ es:
severity: Gravedad
status: Estado
channels: Dónde mostrarlo
channels_hint: Elige uno o más destinos. Android e iOS son independientes. El área privada se ve tras iniciar sesión (club, equipos, cuenta).
channels_hint: "Elige uno o más destinos. Android e iOS son independientes: si el texto debe ser distinto, crea dos avisos. El área privada se ve tras iniciar sesión (club, equipos, cuenta)."
title: Título
body: Texto
starts_at: Visible desde
ends_at: Visible hasta
window_hint: Déjalo vacío para mostrarlo de inmediato mientras esté publicado.
action_url: Enlace (opcional)
action_url_hint: En actualizaciones, una URL vacía abre la tienda de esa plataforma. Abajo puedes poner título, texto y enlace distintos para Android e iOS.
action_url_hint: En actualizaciones, una URL vacía abre la tienda de esa plataforma (Play Store en Android, App Store en iOS).
action_label: Texto del botón
android_override: Solo Android (opcional)
ios_override: Solo iOS (opcional)
platform_override_hint: Déjalo vacío para usar el título, texto y enlace comunes. Rellena solo si esta plataforma debe ver un mensaje o un enlace distinto.
locales_legend: Texto por idioma
locales_hint: Completa todos los idiomas de la app (italiano, inglés, francés, alemán, español). El italiano es obligatorio; si falta un idioma, se usa inglés y luego italiano.
locale_required: obligatorio
dismissible: El usuario puede cerrar el aviso
dismissible_hint: Quita la marca para avisos de mantenimiento que deben permanecer visibles.
submit_create: Guardar aviso
+5 -5
View File
@@ -421,18 +421,18 @@ fr:
severity: Gravité
status: Statut
channels: Où l'afficher
channels_hint: Choisissez une ou plusieurs destinations. Android et iOS sont indépendants. L'espace connecté est visible après connexion (club, équipes, compte).
channels_hint: "Choisissez une ou plusieurs destinations. Android et iOS sont indépendants : créez deux alertes si le texte doit différer. L'espace connecté est visible après connexion (club, équipes, compte)."
title: Titre
body: Texte
starts_at: Visible à partir de
ends_at: Visible jusqu'à
window_hint: Laissez vide pour afficher immédiatement tant que l'alerte est publiée.
action_url: Lien (facultatif)
action_url_hint: Pour une mise à jour, une URL vide ouvre le store de la plateforme. Ci-dessous vous pouvez définir titre, texte et lien différents pour Android et iOS.
action_url_hint: Pour une mise à jour, une URL vide ouvre le store de la plateforme (Play Store sur Android, App Store sur iOS).
action_label: Libellé du bouton
android_override: Android uniquement (facultatif)
ios_override: iOS uniquement (facultatif)
platform_override_hint: Laissez vide pour utiliser le titre, le texte et le lien communs. Remplissez seulement si cette plateforme doit voir un message ou un lien différent.
locales_legend: Texte par langue
locales_hint: Renseignez toutes les langues de l'app (italien, anglais, français, allemand, espagnol). L'italien est obligatoire ; les langues manquantes basculent vers l'anglais puis l'italien.
locale_required: obligatoire
dismissible: L'utilisateur peut fermer l'alerte
dismissible_hint: Décochez pour une maintenance qui doit rester visible.
submit_create: Enregistrer l'alerte
+5 -5
View File
@@ -459,18 +459,18 @@ it:
severity: Gravità
status: Stato
channels: Dove mostrarlo
channels_hint: Puoi selezionare una o più destinazioni. Android e iOS sono indipendenti. L'area riservata è visibile dopo il login (società, squadre, account).
channels_hint: "Puoi selezionare una o più destinazioni. Android e iOS sono indipendenti: se il testo deve essere diverso, crea due avvisi. L'area riservata è visibile dopo il login (società, squadre, account)."
title: Titolo
body: Testo
starts_at: Inizio visibilità
ends_at: Fine visibilità
window_hint: Lascia vuoto per mostrare subito e finché resta pubblicato.
action_url: Link (facoltativo)
action_url_hint: Per gli aggiornamenti, se vuoto l'app apre lo store della piattaforma. Sotto puoi impostare titolo, testo e link diversi per Android e iOS.
action_url_hint: Per gli aggiornamenti, se vuoto l'app apre lo store della piattaforma (Play Store su Android, App Store su iOS).
action_label: Etichetta del pulsante
android_override: Solo Android (facoltativo)
ios_override: Solo iOS (facoltativo)
platform_override_hint: Lascia vuoto per usare titolo, testo e link comuni. Compila solo se questa piattaforma deve vedere un messaggio o un link diverso.
locales_legend: Testo per lingua
locales_hint: Compila tutte le lingue dell'app (italiano, inglese, francese, tedesco, spagnolo). L'italiano è obbligatorio; se una lingua manca, l'app usa inglese e poi italiano.
locale_required: obbligatorio
dismissible: L'utente può chiudere l'avviso
dismissible_hint: Togli la spunta per avvisi di manutenzione che devono restare visibili.
submit_create: Salva avviso
+2
View File
@@ -23,6 +23,8 @@ de:
complexity: "muss mindestens 3 aus Kleinbuchstaben, Großbuchstaben, Zahlen und Symbolen enthalten"
app_announcement:
no_channel: Wähle mindestens ein Ziel (Apps, öffentliche Website oder Login-Bereich).
translation_too_long: "Übersetzung %{locale}: ein Feld ist zu lang."
translation_invalid_url: "Übersetzung %{locale}: der Link muss eine http(s)-URL sein."
club:
back_to_club: "← Verein"
sport_label: Hauptsportart
+2
View File
@@ -18,6 +18,8 @@ en:
complexity: "must include at least 3 of: lowercase letters, uppercase letters, numbers and symbols"
app_announcement:
no_channel: Select at least one destination (apps, public website or logged-in area).
translation_too_long: "Translation %{locale}: a field is too long."
translation_invalid_url: "Translation %{locale}: the link must be an http(s) URL."
club:
back_to_club: "← Club"
sport_label: Main sport
+2
View File
@@ -23,6 +23,8 @@ es:
complexity: "debe incluir al menos 3 entre: minúsculas, mayúsculas, números y símbolos"
app_announcement:
no_channel: Elige al menos un destino (apps, sitio público o área privada).
translation_too_long: "Traducción %{locale}: un campo es demasiado largo."
translation_invalid_url: "Traducción %{locale}: el enlace debe ser una URL http(s)."
club:
back_to_club: "← Club"
sport_label: Deporte principal
+2
View File
@@ -23,6 +23,8 @@ fr:
complexity: "doit inclure au moins 3 parmi : minuscules, majuscules, chiffres et symboles"
app_announcement:
no_channel: Choisissez au moins une destination (apps, site public ou espace connecté).
translation_too_long: "Traduction %{locale} : un champ est trop long."
translation_invalid_url: "Traduction %{locale} : le lien doit être une URL http(s)."
club:
back_to_club: "← Club"
sport_label: Sport principal
+2
View File
@@ -18,6 +18,8 @@ it:
complexity: "deve includere almeno 3 tra: lettere minuscole, maiuscole, numeri e simboli"
app_announcement:
no_channel: Seleziona almeno una destinazione (app, sito pubblico o area riservata).
translation_too_long: "Traduzione %{locale}: un campo supera la lunghezza massima."
translation_invalid_url: "Traduzione %{locale}: il link deve essere un URL http(s)."
club:
back_to_club: "← Società"
sport_label: Sport principale