From 055753d46e0630fd820fdeca8b4fee8c7bcb1ff4 Mon Sep 17 00:00:00 2001 From: Tommy DI LUNA Date: Fri, 24 May 2024 11:11:24 +0200 Subject: [PATCH] InformationBlockView is now more configurable It now has three optional elements: a title, a description, and a button. --- Core | 2 +- app/build.gradle | 1 + .../ui/newMessage/AiPropositionFragment.kt | 2 +- .../NoValidMailboxesFragment.kt | 14 ++++-- .../mail/views/InformationBlockView.kt | 49 ++++++++++++++++--- .../res/drawable/spacer_standard_medium.xml | 21 ++++++++ .../res/layout/fragment_ai_proposition.xml | 2 +- .../layout/fragment_no_valid_mailboxes.xml | 24 ++++++--- .../res/layout/layout_ai_engine_choice.xml | 2 +- .../res/layout/view_information_block.xml | 33 +++++++++++-- app/src/main/res/values-de/strings.xml | 21 +++++++- app/src/main/res/values-es/strings.xml | 21 +++++++- app/src/main/res/values-fr/strings.xml | 24 +++++++-- app/src/main/res/values-it/strings.xml | 25 ++++++++-- app/src/main/res/values/attrs.xml | 7 ++- app/src/main/res/values/strings.xml | 21 +++++++- 16 files changed, 229 insertions(+), 40 deletions(-) create mode 100644 app/src/main/res/drawable/spacer_standard_medium.xml diff --git a/Core b/Core index 97e24a6c14a..0d0612492bf 160000 --- a/Core +++ b/Core @@ -1 +1 @@ -Subproject commit 97e24a6c14a4f2c6226c20238c7da3ea16b759fe +Subproject commit 0d0612492bfd9223032a88745fe0da845e14baf3 diff --git a/app/build.gradle b/app/build.gradle index 5567f0cc0b8..9a3554b50dc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -37,6 +37,7 @@ android { // buildConfigField 'String', 'MAIL_API_PREPROD', '"https://mail.preprod.dev.infomaniak.ch"' buildConfigField 'String', 'SHOP_URL', '"https://ik.me"' buildConfigField 'String', 'CHATBOT_URL', '"https://www.infomaniak.com/chatbot"' + buildConfigField 'String', 'FAQ_URL', '"https://www.infomaniak.com/fr/support/faq/admin2/service-mail"' buildConfigField 'String', 'MANAGE_SIGNATURES_URL', '"https://mail.infomaniak.com/0/settings/signatures"' buildConfigField 'String', 'BUGTRACKER_MAIL_BUCKET_ID', '"app_mail"' diff --git a/app/src/main/java/com/infomaniak/mail/ui/newMessage/AiPropositionFragment.kt b/app/src/main/java/com/infomaniak/mail/ui/newMessage/AiPropositionFragment.kt index e10a1541a33..03ddc9cdd8b 100644 --- a/app/src/main/java/com/infomaniak/mail/ui/newMessage/AiPropositionFragment.kt +++ b/app/src/main/java/com/infomaniak/mail/ui/newMessage/AiPropositionFragment.kt @@ -296,7 +296,7 @@ class AiPropositionFragment : Fragment() { } private fun displayError(status: PropositionStatus) { - binding.errorBlock.setText(status.errorRes!!) + binding.errorBlock.setTitle(status.errorRes!!) setUiVisibilityState(UiState.ERROR) } diff --git a/app/src/main/java/com/infomaniak/mail/ui/noValidMailboxes/NoValidMailboxesFragment.kt b/app/src/main/java/com/infomaniak/mail/ui/noValidMailboxes/NoValidMailboxesFragment.kt index 92dac255b42..b3896c62c3e 100644 --- a/app/src/main/java/com/infomaniak/mail/ui/noValidMailboxes/NoValidMailboxesFragment.kt +++ b/app/src/main/java/com/infomaniak/mail/ui/noValidMailboxes/NoValidMailboxesFragment.kt @@ -17,6 +17,7 @@ */ package com.infomaniak.mail.ui.noValidMailboxes +import android.net.Uri import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -24,8 +25,10 @@ import android.view.ViewGroup import androidx.core.view.isVisible import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels +import com.infomaniak.lib.core.ui.WebViewActivity import com.infomaniak.lib.core.utils.safeBinding import com.infomaniak.lib.core.utils.safeNavigate +import com.infomaniak.mail.BuildConfig import com.infomaniak.mail.MatomoMail.ADD_MAILBOX_NAME import com.infomaniak.mail.MatomoMail.trackNoValidMailboxesEvent import com.infomaniak.mail.R @@ -57,6 +60,8 @@ class NoValidMailboxesFragment : Fragment(), MailboxListFragment { override fun onViewCreated(view: View, savedInstanceState: Bundle?) = with(binding) { super.onViewCreated(view, savedInstanceState) + noValidMailboxesBlock.description = resources.getQuantityString(R.plurals.lockedMailboxDescription, 2) + setupAdapters() setupListeners() @@ -76,6 +81,11 @@ class NoValidMailboxesFragment : Fragment(), MailboxListFragment { } private fun setupListeners() = with(binding) { + noValidMailboxesBlock.setOnInformationClicked { + trackNoValidMailboxesEvent("readFAQ") + context?.let { WebViewActivity.startActivity(it, Uri.parse(BuildConfig.FAQ_URL).toString()) } + } + changeAccountButton.setOnClickListener { trackNoValidMailboxesEvent("switchAccount") safeNavigate(NoValidMailboxesFragmentDirections.actionNoValidMailboxesFragmentToSwitchUserFragment()) @@ -109,9 +119,5 @@ class NoValidMailboxesFragment : Fragment(), MailboxListFragment { invalidPasswordTitle.text = resources.getQuantityString(R.plurals.blockedPasswordTitle, count) lockedMailboxTitle.text = lockedMailboxTitleString - noValidMailboxesEmptyState.apply { - title = lockedMailboxTitleString - description = resources.getQuantityText(R.plurals.lockedMailboxDescription, count) - } } } diff --git a/app/src/main/java/com/infomaniak/mail/views/InformationBlockView.kt b/app/src/main/java/com/infomaniak/mail/views/InformationBlockView.kt index acfba0ed3dc..0be95fc6866 100644 --- a/app/src/main/java/com/infomaniak/mail/views/InformationBlockView.kt +++ b/app/src/main/java/com/infomaniak/mail/views/InformationBlockView.kt @@ -36,12 +36,25 @@ class InformationBlockView @JvmOverloads constructor( private val binding by lazy { ViewInformationBlockBinding.inflate(LayoutInflater.from(context), this, true) } + private var onInformationClicked: (() -> Unit)? = null private var onCloseClicked: (() -> Unit)? = null - var text: CharSequence? - get() = binding.informationText.text + var title: CharSequence? + get() = binding.informationTitle.text set(value) { - binding.informationText.text = value + binding.informationTitle.text = value + } + + var description: CharSequence? + get() = binding.informationDescription.text + set(value) { + binding.informationDescription.text = value + } + + var button: CharSequence? + get() = binding.informationButton.text + set(value) { + binding.informationButton.text = value } var icon: Drawable? @@ -52,7 +65,19 @@ class InformationBlockView @JvmOverloads constructor( init { attrs?.getAttributes(context, R.styleable.InformationBlockView) { - text = getString(R.styleable.InformationBlockView_text) + binding.informationTitle.apply { + isVisible = getBoolean(R.styleable.InformationBlockView_showTitle, true) + text = getString(R.styleable.InformationBlockView_title) + } + binding.informationDescription.apply { + isVisible = getBoolean(R.styleable.InformationBlockView_showDescription, false) + text = getString(R.styleable.InformationBlockView_description) + } + binding.informationButton.apply { + isVisible = getBoolean(R.styleable.InformationBlockView_showButton, false) + text = getString(R.styleable.InformationBlockView_button) + setOnClickListener { onInformationClicked?.invoke() } + } icon = getDrawable(R.styleable.InformationBlockView_icon) binding.closeButton.apply { isVisible = getBoolean(R.styleable.InformationBlockView_showCloseIcon, false) @@ -61,11 +86,23 @@ class InformationBlockView @JvmOverloads constructor( } } + fun setOnInformationClicked(listener: () -> Unit) { + onInformationClicked = listener + } + fun setOnCloseListener(listener: () -> Unit) { onCloseClicked = listener } - fun setText(@StringRes textRes: Int) { - text = context.getText(textRes) + fun setTitle(@StringRes textRes: Int) { + title = context.getText(textRes) + } + + fun setDescription(@StringRes descriptionRes: Int) { + description = context.getText(descriptionRes) + } + + fun setButton(@StringRes buttonRes: Int) { + button = context.getText(buttonRes) } } diff --git a/app/src/main/res/drawable/spacer_standard_medium.xml b/app/src/main/res/drawable/spacer_standard_medium.xml new file mode 100644 index 00000000000..0a1bc2b6f9d --- /dev/null +++ b/app/src/main/res/drawable/spacer_standard_medium.xml @@ -0,0 +1,21 @@ + + + + diff --git a/app/src/main/res/layout/fragment_ai_proposition.xml b/app/src/main/res/layout/fragment_ai_proposition.xml index e234abd81a3..945b3d37fe0 100644 --- a/app/src/main/res/layout/fragment_ai_proposition.xml +++ b/app/src/main/res/layout/fragment_ai_proposition.xml @@ -59,7 +59,7 @@ android:visibility="gone" app:icon="@drawable/ic_warning" app:showCloseIcon="true" - tools:text="@string/aiErrorTooManyRequests" + tools:title="@string/aiErrorTooManyRequests" tools:visibility="visible" /> - + app:icon="@drawable/ic_warning" + app:showCloseIcon="false" + app:title="@string/lockedMailboxTitleIB" + app:showTitle="true" + tools:description="@string/lockedMailboxTitleIB" + app:showDescription="true" + app:button="@string/readFAQ" + app:showButton="true" /> + app:title="@string/aiEngineWarning" /> diff --git a/app/src/main/res/layout/view_information_block.xml b/app/src/main/res/layout/view_information_block.xml index a6d38e9a67a..c1c9ca32a9f 100644 --- a/app/src/main/res/layout/view_information_block.xml +++ b/app/src/main/res/layout/view_information_block.xml @@ -41,20 +41,45 @@ android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_marginEnd="@dimen/alternativeMargin" tools:drawableStartCompat="@drawable/ic_warning" /> - + android:layout_gravity="center_vertical" + android:showDividers="middle" + android:divider="@drawable/spacer_standard_medium" + android:orientation="vertical"> + + + + + + + diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index caa0a2ac485..9723acf683f 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -133,6 +133,7 @@ adresse abtrennen Herunterladen Alle herunterladen + Text bearbeiten Rückmeldung Ordner Hilfe @@ -140,6 +141,7 @@ E-Mails importieren Installieren Kursiv + Einen Hyperlink hinzufügen Mehr Unterhaltungen laden Mit einem anderen Konto anmelden Anmeldung @@ -155,6 +157,7 @@ Planen Sie den Versand von E-Mails für einen späteren Zeitpunkt Siehe Alle + Senden mit abweichender Adresse Teilen Sie Anfangen Start der Synchronisierung @@ -163,6 +166,7 @@ Offene Textformatierung Probieren Unterstreichen Sie + Unsortierte Liste Keine Validieren Sie Ja @@ -172,6 +176,8 @@ Cc: Demnächst… Werbeaktionen + Senden Sie eine Nachricht mit der Adresse : + Wählen Sie die Absenderadresse aus: Sind Sie sicher, dass Sie sich von %s abmelden möchten? Abmelden Zu Kontakten hinzufügen @@ -265,6 +271,7 @@ Login-Fehler Diese Mailbox ist gesperrt Das Passwort muss zwischen 6 und 80 Zeichen lang sein + Diese E-Mail Adresse ist nicht verfügbar Der Zielordner besteht nicht Der Ordner besteht bereits Der Ordnername enthält ungültige Zeichen @@ -276,6 +283,7 @@ Ordner kann nicht erstellt werden Der Ordner kann nicht geleert werden Benutzer ist bereits synchronisiert + Die Herkunft des Absenders wurde authentifiziert. Ich habe verstanden Der Absender %s gehört nicht zu Ihrer Organisation oder Ihren Kontakten. Seien Sie vorsichtig, wenn Sie sensible Informationen weitergeben. @@ -290,18 +298,24 @@ Extern Öffnen des Entwurfs fehlgeschlagen Favoriten + + %d Datei gesendet von SwissTransfer + %d Dateien gesendet von SwissTransfer + Von: Google Play Services sind erforderlich Posteingang + und Laden… - Der Zugriff auf Ihre E-Mail-Adresse ist derzeit gesperrt. Bitte wenden Sie sich an Ihren Administrator. - Der Zugriff auf Ihre Mailboxen ist derzeit gesperrt. Bitte wenden Sie sich an Ihren Administrator. + Der Zugriff auf Ihre E-Mail-Adresse ist derzeit gesperrt.\nFür weitere Informationen, FAQ lesen. + Für weitere Informationen: Blockierte E-Mail-Adresse Gesperrte Mailadressen + Einige Ihrer Mailboxen sind blockiert Meine Signaturen verwalten Erweiterte Aktionen %1$s / %2$s verwendet @@ -365,6 +379,8 @@ Keine Auswahl Sind Sie sicher, dass Sie die Adresse %s lösen möchten? Adresse abtrennen + Dieser Bereich gehört zu %s und fungiert als zentrales Verzeichnis der gemeinsamen Dateien Ihrer Organisation. + FAQ lesen Mehr erfahren Letzte Suchen Sie wurden abgemeldet @@ -517,6 +533,7 @@ Es wurde keine Anwendung gefunden, die diese Aktion bearbeitet Thema: Alle sehen (%d) + Der Absender hat eine oder mehrere grosse Dateien angehängt, die über den SwissTransfer-Link verfügbar sind. Sehen Sie sich Ihre Kontakte und Kalender direkt auf Ihrem Gerät an. Synchronisierung von Kalendern und Kontakten Synchronisieren Sie Ihre Kalender und Kontakte diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 3c4ab3e4246..e1e65fc9890 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -133,6 +133,7 @@ separar dirección Descargar Descargar todo + Editar texto Comentarios Carpetas Ayuda @@ -140,6 +141,7 @@ Importar correos electrónicos Instale Cursiva + Añadir un hipervínculo Cargar más conversaciones Conectarse con otra cuenta Inicio de sesión @@ -155,6 +157,7 @@ Programar un correo electrónico para enviarlo más tarde Véase Todos + Enviar con otra dirección Compartir Empezar Iniciar sincronización @@ -163,6 +166,7 @@ Formato de texto abierto Pruebe Subraye + Lista desordenada Ninguno Validar @@ -172,6 +176,8 @@ Cc: Próximamente… Promociones + Envíe un mensaje con la dirección : + Seleccione la dirección de envío : ¿Seguro que quieres desconectarte de %s? Cerrar sesión Añadir a contactos @@ -265,6 +271,7 @@ Error de inicio de sesión Esta dirección de correo electrónico está bloqueada La contraseña debe tener entre 6 y 80 caracteres + Esta dirección de correo electrónico no está disponible La carpeta de destino no existe La carpeta ya existe El nombre de la carpeta contiene caracteres no válidos @@ -276,6 +283,7 @@ No se puede crear la carpeta Imposible vaciar la carpeta El usuario ya está sincronizado + Se ha autentificado el origen del remitente. Comprendo El remitente %s no forma parte de tu organización ni de tus contactos. Ten cuidado si compartes información sensible. @@ -290,18 +298,24 @@ Exterior No se ha podido abrir el borrador Favoritos + + %d archivo enviado por SwissTransfer + %d archivos enviados por SwissTransfer + De: Se requieren los servicios de Google Play Bandeja de entrada + y Cargando… - El acceso a su dirección de correo electrónico está bloqueado. Póngase en contacto con su administrador. - El acceso a sus buzones de correo está bloqueado. Póngase en contacto con su administrador. + El acceso a su dirección de correo electrónico está bloqueado.\nPara más información, lea las preguntas frecuentes. + Para más información: Dirección de correo electrónico bloqueada Buzones de correo bloqueados + Algunos de sus buzones están bloqueados Gestionar mis firmas Acciones avanzadas %1$s / %2$s usado @@ -365,6 +379,8 @@ Sin selección ¿Estás seguro de que quieres separar la dirección %s? Separar dirección + Este espacio pertenece a %s y centraliza los archivos comunes de tu organización. + Lea las preguntas frecuentes Seguir leyendo Búsquedas recientes Ha sido desconectado @@ -517,6 +533,7 @@ No se ha encontrado ninguna aplicación que gestione esta acción Asunto: Ver todos (%d) + El remitente ha adjuntado uno o varios archivos de gran tamaño, disponibles a través del enlace SwissTransfer. Consulta tus contactos y tu calendario directamente desde tu dispositivo. Sincronización de calendarios y contactos Sincroniza tus calendarios y contactos diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 0b16982ba5a..7df5f3a94e3 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -135,6 +135,7 @@ détacher l’adresse Télécharger Tout télécharger + Editer le texte Feedback Dossiers Aide @@ -142,6 +143,7 @@ Importer des e-mails Installer Italique + Ajouter un lien hypertexte Charger plus de conversations Me connecter avec un autre compte Se connecter @@ -157,6 +159,7 @@ Programmer l’envoi de l’e-mail Consulter Tout + Envoyer avec une autre adresse Partager Commencer Commencer la synchronisation @@ -165,6 +168,7 @@ Ouvrir le formatage de texte Essayer Souligner + Liste non ordonnée Aucun Valider Oui @@ -174,6 +178,8 @@ Cc : À venir… Promotions + Envoyer un message avec l’adresse : + Sélectionner l’adresse d’envoi : Êtes-vous sûr de vouloir vous déconnecter du compte %s ? Me déconnecter Ajouter aux contacts @@ -267,6 +273,7 @@ Erreur de connexion Cette adresse est bloquée Le mot de passe doit comporter entre 6 et 80 caractères + Cette adresse mail n’est pas disponible Le dossier de destination n’existe pas Le dossier existe déjà Le nom du dossier comporte des caractères invalides @@ -278,6 +285,7 @@ Impossible de créer le dossier Impossible de vider le dossier L’utilisateur est déjà synchronisé + La provenance de cet expéditeur a été authentifiée. J’ai compris L’expéditeur %s ne fait pas partie de votre organisation ni de vos contacts. Soyez vigilant si vous partagez des informations sensibles. @@ -294,13 +302,19 @@ Externe Échec de l’ouverture du brouillon Favoris + + %d fichier envoyé via SwissTransfer + %d fichiers envoyés via SwissTransfer + %d fichiers envoyés via SwissTransfer + De : Les Google Play Services sont requis Boîte de réception + et Chargement… - L’accès à votre adresse mail est actuellement bloqué. Nous vous invitons à contacter votre administrateur. - L’accès à vos adresses mail est actuellement bloqué. Nous vous invitons à contacter votre administrateur. + L’accès à votre adresse mail est actuellement bloqué.\nPour plus d’informations, consultez les FAQ. + Pour plus d’informations : L’accès à votre adresse mail est actuellement bloqué. Nous vous invitons à contacter votre administrateur. @@ -308,6 +322,7 @@ Adresses mail bloquées Adresses mail bloquées + Certaines de vos adresses mail sont bloquées Gérer mes signatures Actions avancées %1$s / %2$s utilisés @@ -353,7 +368,7 @@ Notification générales Nouveaux e-mails Sauvegarde des brouillons - Récupération des nouveaux emails + Récupération des nouveaux e-mails Archivé Le brouillon n’a pas pu être sauvegardé L’e-mail n’a pas pu être envoyé @@ -373,6 +388,8 @@ Aucune sélection Êtes-vous sûr de vouloir détacher l’adresse %s ? Détacher l’adresse + Cet espace appartient à %s et centralise les fichiers communs de votre organisation. + Consulter les FAQ En savoir plus Recherches récentes Vous avez été déconnecté @@ -528,6 +545,7 @@ Aucune application n’a été trouvée pour gérer cette action Objet : Voir tout (%d) + L’expéditeur a joint un ou plusieurs fichiers volumineux, disponibles via le lien SwissTransfer. Consultez vos contacts et calendriers directement depuis votre appareil. Synchronisation des calendriers et contacts Synchroniser vos calendriers et contacts diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index ce91bc45b15..5d59883619e 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -133,6 +133,7 @@ staccare l’indirizzo Scarica Scarica tutti + Modifica del testo Feedback Cartelle Aiuto @@ -140,6 +141,7 @@ Importazione di e-mail Installare Corsivo + Aggiungere un collegamento ipertestuale Carica altre conversazioni Accedere con un altro account Accesso @@ -155,6 +157,7 @@ Programmare l’invio di un’e-mail in un secondo momento Vedi Tutti + Invia con un indirizzo diverso Condividi Inizia Avvio della sincronizzazione @@ -163,6 +166,7 @@ Formattazione del testo aperto Prova Sottolineatura + Elenco non ordinato Nessuno Convalidare @@ -172,6 +176,8 @@ Cc: Prossimamente… Promozioni + Invia un messaggio con l’indirizzo : + Seleziona l’indirizzo di invio : Sei sicuro di volerti disconnettere da %s? Disconnettersi Aggiungi ai contatti @@ -265,6 +271,7 @@ Errore di accesso Questo indirizzo e-mail è bloccato La password deve essere compresa tra 6 e 80 caratteri + Questo indirizzo e-mail non è disponibile La cartella di destinazione è inesistente La cartella è già esistente Il nome della cartella contiene caratteri non validi @@ -276,6 +283,7 @@ Impossibile creare la cartella Impossibile svuotare la cartella L’utente è già sincronizzato + L’origine del mittente è stata autenticata. Capisco Il mittente %s non fa parte della vostra organizzazione o dei vostri contatti. Fate attenzione se state condividendo informazioni sensibili. @@ -290,18 +298,24 @@ Esterno Impossibile aprire la bozza Preferiti + + %d file inviato da SwissTransfer + %d file inviati da SwissTransfer + Da: I servizi Google Play sono necessari Posta in arrivo + e Caricamento… - L’accesso al tuo indirizzo e-mail è attualmente bloccato. Si prega di contattare l’amministratore. - L’accesso alle caselle di posta elettronica è attualmente bloccato. Contattare l’amministratore. + L’accesso al tuo indirizzo e-mail è attualmente bloccato.\nPer ulteriori informazioni, leggi le FAQ. + Per ulteriori informazioni: Indirizzo e-mail bloccato Indirizzi e-mail bloccati + Alcuni indirizzi e-mail bloccati Gestisci le mie firme Azioni avanzate %1$s / %2$s usato @@ -365,6 +379,8 @@ Nessuna selezione Sei sicuro di voler staccare l’indirizzo %s? Staccare l’indirizzo + Questo spazio appartiene a %s e centralizza i file condivisi della tua organizzazione. + Leggi le FAQ Per saperne di più Ricerche recenti Sei stato disconnesso @@ -409,7 +425,7 @@ Avete la possibilità di annullare l’invio della vostra email fino a 30 secondi. Periodo di cancellazione dell’invio È possibile personalizzare i dati di utilizzo e operativi che Infomaniak recupera per correggere i bug e migliorare l’applicazione. Entrambi gli strumenti sono ospitati e gestiti esclusivamente da noi.\n\nInfomaniak rispetta la vostra privacy: il codice sorgente di questa applicazione può essere verificato, le informazioni raccolte sono anonime e i vostri dati personali rimangono strettamente confidenziali e non vengono mai condivisi con terze parti. - Vedere il codice sorgente + Vedi il codice sorgente Gestione dei dati Predefinito %d secondi @@ -431,7 +447,7 @@ Matomo è uno strumento di analisi ospitato e gestito esclusivamente da Infomaniak per capire come viene utilizzata l’applicazione.\n\nStudiando questi dati, il nostro team è in grado di migliorare continuamente l’interfaccia dell’applicazione. Matomo Sempre - Chiedetemi + Chiedi Scuro Chiaro Sistema @@ -517,6 +533,7 @@ Non è stata trovata alcuna applicazione in grado di gestire questa azione Oggetto: Vedi tutti (%d) + Il mittente ha allegato uno o più file di grandi dimensioni, disponibili tramite il link SwissTransfer. Visualizza i contatti e il calendario direttamente dal dispositivo. Sincronizzazione di calendari e contatti Sincronizzare i calendari e i contatti diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index 78937d95472..58c41a5def3 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -168,7 +168,12 @@ - + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index eecce9eaab0..8f04bb618f1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -139,6 +139,7 @@ detach mailbox Download Download all + Edit text Feedback Folders Help @@ -146,6 +147,7 @@ Import emails Install Italic + Add a hyperlink Load more conversations Log in with another account Login @@ -161,6 +163,7 @@ Schedule email to send later See All + Send with a different address Share Start Start synchronization @@ -169,6 +172,7 @@ Open text formatting Try Underline + Unordered list None Validate Yes @@ -178,6 +182,8 @@ Cc: Coming soon… Promotions + Send a message with the address : + Select sending address : Are you sure you want to log out from %s? Log out Add to contacts @@ -271,6 +277,7 @@ Login error This mailbox is locked The password must be between 6 and 80 characters + This email address is not available The destination folder does not exist The folder already exists The folder name contains invalid characters @@ -282,6 +289,7 @@ Unable to create the folder Folder cannot be emptied User is already synchronized + The sender’s origin has been authenticated. I understand The sender %s is not part of your organization or your contacts. Be careful if you are sharing sensitive information. @@ -296,18 +304,24 @@ External Failed to open draft Favorites + + %d file sent by SwissTransfer + %d files sent by SwissTransfer + From: Google Play Services are required Inbox + and Loading… - Access to your mailbox is currently blocked. Please contact your administrator. - Access to your mailboxes is currently blocked. Please contact your administrator. + Access to your mailbox is currently blocked.\nFor further information, please read FAQ. + For further information: Blocked mailbox Blocked mailboxes + Some of your mailboxes are blocked Manage my signatures Advanced actions %1$s / %2$s used @@ -371,6 +385,8 @@ No selection Are you sure you want to detach the %s address? Detach mailbox + This space belongs to %s and centralizes your organization’s common files. + Read FAQ Read more Recent searches You have been disconnected @@ -523,6 +539,7 @@ No application has been found to handle this action Subject: See all (%d) + The sender has attached one or more large files, available via the SwissTransfer link. View your contacts and calendar directly from your device. Calendar and contact synchronization Synchronize your calendars and contacts