From 5ec358d88480d420426a6ab63c8504ffeedd2acf Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Wed, 25 Oct 2023 01:10:17 +0000 Subject: [PATCH] chore: Translate django.po in fr_CA 98% of minimum 50% translated source file: 'django.po' on 'fr_CA'. Sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format --- .../conf/locale/fr_CA/LC_MESSAGES/django.po | 227 +++++++++--------- 1 file changed, 119 insertions(+), 108 deletions(-) diff --git a/translations/xblock-lti-consumer/lti_consumer/conf/locale/fr_CA/LC_MESSAGES/django.po b/translations/xblock-lti-consumer/lti_consumer/conf/locale/fr_CA/LC_MESSAGES/django.po index 9302ecb44b5..1f419af0ddb 100644 --- a/translations/xblock-lti-consumer/lti_consumer/conf/locale/fr_CA/LC_MESSAGES/django.po +++ b/translations/xblock-lti-consumer/lti_consumer/conf/locale/fr_CA/LC_MESSAGES/django.po @@ -1,17 +1,16 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. +# edX translation file. +# Copyright (C) 2023 EdX +# This file is distributed under the GNU AFFERO GENERAL PUBLIC LICENSE. +# EdX Team , 2023. # # Translators: # Pierre Mailhot , 2023 # -#, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-13 00:26+0000\n" +"Project-Id-Version: 0.1a\n" +"Report-Msgid-Bugs-To: openedx-translation@googlegroups.com\n" +"POT-Creation-Date: 2023-06-13 08:00+0000\n" "PO-Revision-Date: 2023-06-24 01:02+0000\n" "Last-Translator: Pierre Mailhot , 2023\n" "Language-Team: French (Canada) (https://app.transifex.com/open-edx/teams/147691/fr_CA/)\n" @@ -44,29 +43,29 @@ msgstr "Configuration LTI introuvable." msgid "Invalid token signature." msgstr "Signature de jeton invalide." -#: lti_xblock.py:133 +#: lti_xblock.py:134 msgid "No valid user id found in endpoint URL" msgstr "" "Aucun identifiant utilisateur valide trouvé dans l'URL du point de " "terminaison" -#: lti_xblock.py:146 +#: lti_xblock.py:147 msgid "Configuration on block" msgstr "Configuration sur le bloc" -#: lti_xblock.py:150 +#: lti_xblock.py:151 msgid "Database Configuration" msgstr "Configuration de la base de données" -#: lti_xblock.py:153 +#: lti_xblock.py:154 msgid "Reusable Configuration" msgstr "Configuration réutilisable" -#: lti_xblock.py:260 +#: lti_xblock.py:261 msgid "Display Name" msgstr "Nom d'affichage" -#: lti_xblock.py:262 +#: lti_xblock.py:263 msgid "" "Enter the name that students see for this component. Analytics reports may " "also use the display name to identify this component." @@ -75,15 +74,15 @@ msgstr "" "d'analytiques peuvent également utiliser le nom d'affichage pour identifier " "ce composant." -#: lti_xblock.py:266 +#: lti_xblock.py:267 msgid "LTI Consumer" msgstr "Consommateur LTI" -#: lti_xblock.py:269 +#: lti_xblock.py:270 msgid "LTI Application Information" msgstr "Informations sur l'application LTI" -#: lti_xblock.py:271 +#: lti_xblock.py:272 msgid "" "Enter a description of the third party application. If requesting username " "and/or email, use this text box to inform users why their username and/or " @@ -94,11 +93,11 @@ msgstr "" "informer les utilisateurs pourquoi leur nom d'utilisateur et/ou leur adresse" " courriel seront transférés vers une application tierce." -#: lti_xblock.py:279 +#: lti_xblock.py:280 msgid "Configuration Type" msgstr "Type de configuration" -#: lti_xblock.py:284 +#: lti_xblock.py:285 msgid "" "Select 'Configuration on block' to configure a new LTI Tool. If the support " "staff provided you with a pre-configured LTI reusable Tool ID, " @@ -109,11 +108,11 @@ msgstr "" "LTI préconfiguré, sélectionnez 'Configuration réutilisable' et saisissez-le " "dans le champ de texte ci-dessous." -#: lti_xblock.py:291 +#: lti_xblock.py:292 msgid "LTI Version" msgstr "Version LTI" -#: lti_xblock.py:299 +#: lti_xblock.py:300 msgid "" "Select the LTI version that your tool supports.
The XBlock LTI Consumer" " fully supports LTI 1.1.1, LTI 1.3 and LTI Advantage features." @@ -122,11 +121,11 @@ msgstr "" "LTI Consumer prend entièrement en charge les fonctionnalités LTI 1.1.1, LTI " "1.3 et LTI Advantage." -#: lti_xblock.py:306 +#: lti_xblock.py:307 msgid "LTI Reusable Configuration ID" msgstr "ID de configuration réutilisable LTI" -#: lti_xblock.py:308 +#: lti_xblock.py:309 msgid "" "Enter the reusable LTI external configuration ID provided by the support " "staff." @@ -134,11 +133,11 @@ msgstr "" "Saisissez l’ID de configuration externe LTI réutilisable fourni par le " "personnel d’assistance." -#: lti_xblock.py:313 +#: lti_xblock.py:314 msgid "Tool Launch URL" msgstr "URL de lancement de l'outil" -#: lti_xblock.py:317 +#: lti_xblock.py:318 msgid "" "Enter the LTI 1.3 Tool Launch URL.
This is the URL the LMS will use to" " launch the LTI Tool." @@ -146,11 +145,11 @@ msgstr "" "Entrez l'URL de lancement de l'outil LTI 1.3.
Il s'agit de l'URL que " "le LMS utilisera pour lancer l'outil LTI." -#: lti_xblock.py:322 +#: lti_xblock.py:323 msgid "Tool Initiate Login URL" msgstr "URL de connexion à l'outil" -#: lti_xblock.py:326 +#: lti_xblock.py:327 msgid "" "Enter the LTI 1.3 Tool OIDC Authorization url (can also be called login or " "login initiation URL).
This is the URL the LMS will use to start a LTI " @@ -161,11 +160,11 @@ msgstr "" "l'URL que le LMS utilisera pour démarrer une autorisation LTI avant " "d'effectuer la demande de lancement." -#: lti_xblock.py:332 +#: lti_xblock.py:333 msgid "Registered Redirect URIs" msgstr "URI de redirection enregistrés" -#: lti_xblock.py:334 +#: lti_xblock.py:335 msgid "" "Valid urls the Tool may request us to redirect the id token to. The redirect" " uris are often the same as the launch url/deep linking url so if this field" @@ -180,21 +179,21 @@ msgstr "" "saisissez-les ici. Si vous utilisez ce champ, vous devez saisir tous les URI" " de redirection valides que l'outil peut demander." -#: lti_xblock.py:344 +#: lti_xblock.py:345 msgid "Tool Public Key Mode" msgstr "Mode clé publique de l’outil" -#: lti_xblock.py:352 +#: lti_xblock.py:353 msgid "Select how the tool's public key information will be specified." msgstr "" "Sélectionnez la manière dont les informations de clé publique de l'outil " "seront spécifiées." -#: lti_xblock.py:356 +#: lti_xblock.py:357 msgid "Tool Keyset URL" msgstr "URL du Tool Keyset" -#: lti_xblock.py:360 +#: lti_xblock.py:361 msgid "" "Enter the LTI 1.3 Tool's JWK keysets URL.
This link should retrieve a " "JSON file containing public keys and signature algorithm information, so " @@ -209,11 +208,11 @@ msgstr "" "/> Cela n’est pas requis lors des lancements LTI 1.3 sans demandes LTI " "Advantage ni Basic Outcomes." -#: lti_xblock.py:370 +#: lti_xblock.py:371 msgid "Tool Public Key" msgstr "Clé publique de l'outil" -#: lti_xblock.py:375 +#: lti_xblock.py:376 msgid "" "Enter the LTI 1.3 Tool's public key.
This is a string that starts with " "'-----BEGIN PUBLIC KEY-----' and is required so that the LMS can check if " @@ -227,40 +226,40 @@ msgstr "" "signature de l'outil.
Cela n’est pas requis lors des lancements LTI" " 1.3 sans demandes LTI Advantage ni Basic Outcomes." -#: lti_xblock.py:385 +#: lti_xblock.py:386 msgid "Enable LTI NRPS" msgstr "Activer LTI NRPS" -#: lti_xblock.py:386 +#: lti_xblock.py:387 msgid "Enable LTI Names and Role Provisioning Services." msgstr "Activez les noms LTI et les services de provisionnement de rôles." -#: lti_xblock.py:393 +#: lti_xblock.py:394 msgid "LTI 1.3 Block Client ID - DEPRECATED" msgstr "ID client de block LTI 1.3 - OBSOLÈTE" -#: lti_xblock.py:396 +#: lti_xblock.py:397 msgid "DEPRECATED - This is now stored in the LtiConfiguration model." msgstr "OBSOLÈTE - Ceci est désormais stocké dans le modèle LtiConfiguration." -#: lti_xblock.py:399 +#: lti_xblock.py:400 msgid "LTI 1.3 Block Key - DEPRECATED" msgstr "Clé de block LTI 1.3 - OBSOLÈTE" -#: lti_xblock.py:406 +#: lti_xblock.py:407 msgid "Deep linking" msgstr "Deep linking" -#: lti_xblock.py:407 +#: lti_xblock.py:408 msgid "Select True if you want to enable LTI Advantage Deep Linking." msgstr "" "Sélectionnez True si vous souhaitez activer LTI Advantage Deep Linking." -#: lti_xblock.py:412 +#: lti_xblock.py:413 msgid "Deep Linking Launch URL" msgstr "URL de lancement Deep Linking." -#: lti_xblock.py:416 +#: lti_xblock.py:417 msgid "" "Enter the LTI Advantage Deep Linking Launch URL. If the tool does not " "specify one, use the same value as 'Tool Launch URL'." @@ -268,24 +267,24 @@ msgstr "" "Saisissez l’URL de lancement LTI Advantage Deep Linking. Si l'outil n'en " "spécifie pas, utilisez la même valeur que \"URL de lancement de l'outil\"." -#: lti_xblock.py:421 +#: lti_xblock.py:422 msgid "LTI Assignment and Grades Service" msgstr "Service d'affectation et de notes LTI" -#: lti_xblock.py:423 +#: lti_xblock.py:424 msgid "Disabled" msgstr "Désactivé" -#: lti_xblock.py:424 +#: lti_xblock.py:425 msgid "Allow tools to submit grades only (declarative)" msgstr "Autoriser les outils à soumettre des notes uniquement (déclaratif)" -#: lti_xblock.py:425 +#: lti_xblock.py:426 msgid "Allow tools to manage and submit grade (programmatic)" msgstr "" "Autoriser les outils à gérer et à soumettre des notes (programmatique)" -#: lti_xblock.py:430 +#: lti_xblock.py:431 msgid "" "Enable the LTI-AGS service and select the functionality enabled for LTI " "tools. The 'declarative' mode (default) will provide a tool with a LineItem " @@ -297,11 +296,11 @@ msgstr "" "LineItem créé à partir des paramètres XBlock, tandis que le mode " "'programmatique' permettra aux outils de gérer, créer et lier les notes." -#: lti_xblock.py:438 +#: lti_xblock.py:439 msgid "LTI ID" msgstr "Identifiant LTI" -#: lti_xblock.py:440 +#: lti_xblock.py:441 #, python-brace-format msgid "" "Enter the LTI ID for the external LTI provider. This value must be the same " @@ -315,11 +314,11 @@ msgstr "" "{docs_anchor_open}documentation edX LTI {anchor_close} pour plus de détails " "sur ce paramètre." -#: lti_xblock.py:452 +#: lti_xblock.py:453 msgid "LTI URL" msgstr "URL LTI" -#: lti_xblock.py:454 +#: lti_xblock.py:455 #, python-brace-format msgid "" "Enter the URL of the external tool that this component launches. This " @@ -332,11 +331,11 @@ msgstr "" "/> Consultez la {docs_anchor_open}documentation edX LTI {anchor_close} pour " "plus de détails sur ce paramètre." -#: lti_xblock.py:467 +#: lti_xblock.py:468 msgid "Custom Parameters" msgstr "Paramètres personnalisés" -#: lti_xblock.py:469 +#: lti_xblock.py:470 #, python-brace-format msgid "" "Add the key/value pair for any custom parameters, such as the page your " @@ -350,11 +349,11 @@ msgstr "" "Consultez la {docs_anchor_open}documentation edX LTI {anchor_close} pour " "plus de détails sur ce paramètre." -#: lti_xblock.py:479 +#: lti_xblock.py:480 msgid "LTI Launch Target" msgstr "Cible de lancement LTI" -#: lti_xblock.py:481 +#: lti_xblock.py:482 msgid "" "Select Inline if you want the LTI content to open in an IFrame in the " "current page. Select Modal if you want the LTI content to open in a modal " @@ -369,11 +368,11 @@ msgstr "" "dans une nouvelle fenêtre de navigateur. Ce paramètre n'est utilisé que " "lorsque masquer l'outil externe est défini sur False." -#: lti_xblock.py:495 +#: lti_xblock.py:496 msgid "Button Text" msgstr "Texte du bouton" -#: lti_xblock.py:497 +#: lti_xblock.py:498 msgid "" "Enter the text on the button used to launch the third party application. " "This setting is only used when Hide External Tool is set to False and LTI " @@ -384,11 +383,11 @@ msgstr "" "sur False et que la cible de lancement LTI est définie sur modale ou " "nouvelle fenêtre." -#: lti_xblock.py:505 +#: lti_xblock.py:506 msgid "Inline Height" msgstr "Hauteur en ligne" -#: lti_xblock.py:507 +#: lti_xblock.py:508 msgid "" "Enter the desired pixel height of the iframe which will contain the LTI " "tool. This setting is only used when Hide External Tool is set to False and " @@ -398,11 +397,11 @@ msgstr "" " Ce paramètre n'est utilisé que lorsque masquer l'outil externe est défini " "sur False et que la cible de lancement LTI est définie sur Inline." -#: lti_xblock.py:515 +#: lti_xblock.py:516 msgid "Modal Height" msgstr "Hauteur modale" -#: lti_xblock.py:517 +#: lti_xblock.py:518 msgid "" "Enter the desired viewport percentage height of the modal overlay which will" " contain the LTI tool. This setting is only used when Hide External Tool is " @@ -413,11 +412,11 @@ msgstr "" "lorsque masquer l’outil externe est défini sur False et que la cible de " "lancement LTI est définie sur modale." -#: lti_xblock.py:525 +#: lti_xblock.py:526 msgid "Modal Width" msgstr "Largeur modale" -#: lti_xblock.py:527 +#: lti_xblock.py:528 msgid "" "Enter the desired viewport percentage width of the modal overlay which will " "contain the LTI tool. This setting is only used when Hide External Tool is " @@ -428,11 +427,11 @@ msgstr "" "lorsque masquer l’outil externe est défini sur False et que la cible de " "lancement LTI est définie sur modale." -#: lti_xblock.py:535 +#: lti_xblock.py:536 msgid "Scored" msgstr "Noté" -#: lti_xblock.py:536 +#: lti_xblock.py:537 msgid "" "Select True if this component will receive a numerical score from the " "external LTI system." @@ -440,7 +439,7 @@ msgstr "" "Sélectionnez True si ce composant recevra une note numérique du système LTI " "externe." -#: lti_xblock.py:543 +#: lti_xblock.py:544 msgid "" "Enter the number of points possible for this component. The default value " "is 1.0. This setting is only used when Scored is set to True." @@ -449,7 +448,7 @@ msgstr "" " est 1,0. Ce paramètre est utilisé uniquement lorsque Scored est défini sur " "True." -#: lti_xblock.py:552 +#: lti_xblock.py:553 msgid "" "The score kept in the xblock KVS -- duplicate of the published score in " "django DB" @@ -457,15 +456,15 @@ msgstr "" "La note conservée dans le xblock KVS -- duplicata de la note publiée dans " "Django DB" -#: lti_xblock.py:557 +#: lti_xblock.py:558 msgid "Comment as returned from grader, LTI2.0 spec" msgstr "Rétroaction renvoyé par la notation, spécification LTI2.0" -#: lti_xblock.py:562 +#: lti_xblock.py:563 msgid "Hide External Tool" msgstr "Masquer l'outil externe" -#: lti_xblock.py:564 +#: lti_xblock.py:565 msgid "" "Select True if you want to use this component as a placeholder for syncing " "with an external grading system rather than launch an external tool. This " @@ -476,53 +475,53 @@ msgstr "" "que de lancer un outil externe. Ce paramètre masque le bouton lancer et tous" " les IFrames de ce composant." -#: lti_xblock.py:572 +#: lti_xblock.py:573 msgid "Accept grades past deadline" msgstr "Accepter les notes après la date limite" -#: lti_xblock.py:573 +#: lti_xblock.py:574 msgid "" "Select True to allow third party systems to post grades past the deadline." msgstr "" "Sélectionnez True pour autoriser les systèmes tiers à publier des notes " "après la date limite." -#: lti_xblock.py:581 +#: lti_xblock.py:582 msgid "Request user's username" msgstr "Demander le nom d'utilisateur de l'utilisateur" #. Translators: This is used to request the user's username for a third party #. service. -#: lti_xblock.py:583 +#: lti_xblock.py:584 msgid "Select True to request the user's username." msgstr "" "Sélectionnez True pour demander le nom d'utilisateur de l'utilisateur." -#: lti_xblock.py:588 +#: lti_xblock.py:589 msgid "Request user's full name" msgstr "Demander le nom complet de l'utilisateur" #. Translators: This is used to request the user's full name for a third party #. service. -#: lti_xblock.py:590 +#: lti_xblock.py:591 msgid "Select True to request the user's full name." msgstr "Sélectionnez True pour demander le nom complet de l'utilisateur." -#: lti_xblock.py:595 +#: lti_xblock.py:596 msgid "Request user's email" msgstr "Demander le courriel de l'utilisateur" #. Translators: This is used to request the user's email for a third party #. service. -#: lti_xblock.py:597 +#: lti_xblock.py:598 msgid "Select True to request the user's email address." msgstr "Sélectionnez True pour demander l'adresse courriel de l'utilisateur." -#: lti_xblock.py:603 +#: lti_xblock.py:604 msgid "Send extra parameters" msgstr "Envoyer des paramètres supplémentaires" -#: lti_xblock.py:604 +#: lti_xblock.py:605 msgid "" "Select True to send the extra parameters, which might contain Personally " "Identifiable Information. The processors are site-wide, please consult the " @@ -533,26 +532,32 @@ msgstr "" "s'étendent à l'échelle du site, veuillez consulter l'administrateur du site " "si vous avez des questions." -#: lti_xblock.py:684 +#: lti_xblock.py:685 msgid "Custom Parameters must be a list" msgstr "Les paramètres personnalisés doivent être une liste" -#: lti_xblock.py:691 +#: lti_xblock.py:692 msgid "Custom Parameters should be strings in \"x=y\" format." msgstr "Les paramètres personnalisés doivent être des chaînes au format \"x=y\"." -#: lti_xblock.py:714 +#: lti_xblock.py:702 +msgid "" +"Reusable configuration ID must be set when using external config (Example: " +"\"x:y\")." +msgstr "" + +#: lti_xblock.py:725 msgid "" "The specified LTI ID is not configured in this course's Advanced Settings." msgstr "" "L'ID LTI spécifié n'est pas configuré dans les paramètres avancés de ce " "cours." -#: lti_xblock.py:843 lti_xblock.py:1121 +#: lti_xblock.py:854 lti_xblock.py:1132 msgid "Could not get user data for current request" msgstr "Impossible d'obtenir les données utilisateur pour la demande actuelle" -#: lti_xblock.py:870 +#: lti_xblock.py:881 msgid "" "Could not parse LTI passport: {lti_passport!r}. Should be \"id:key:secret\" " "string." @@ -560,11 +565,11 @@ msgstr "" "Impossible d'analyser le passeport LTI : {lti_passport!r}. Doit être une " "chaîne \"id:key:secret\"." -#: lti_xblock.py:888 lti_xblock.py:902 lti_xblock.py:918 +#: lti_xblock.py:899 lti_xblock.py:913 lti_xblock.py:929 msgid "Could not get user id for current request" msgstr "Impossible d'obtenir l'ID utilisateur pour la demande en cours" -#: lti_xblock.py:1054 +#: lti_xblock.py:1065 msgid "" "Could not parse custom parameter: {custom_parameter!r}. Should be \"x=y\" " "string." @@ -572,61 +577,67 @@ msgstr "" "Impossible d'analyser le paramètre personnalisé : {custom_parameter!r}. Doit" " être une chaîne \"x=y\"." -#: lti_xblock.py:1416 +#: lti_xblock.py:1427 msgid "[LTI]: Real user not found against anon_id: {}" msgstr "[LTI] : utilisateur réel introuvable pour anon_id : {}" -#: models.py:81 +#: models.py:83 msgid "Configuration Stored on XBlock fields" msgstr "Configuration stockée sur les champs XBlock" -#: models.py:82 +#: models.py:84 msgid "Configuration Stored on this model" msgstr "Configuration stockée sur ce modèle" -#: models.py:83 +#: models.py:85 msgid "Configuration Stored on external service" msgstr "Configuration stockée sur un service externe" -#: models.py:115 +#: models.py:117 msgid "LTI configuration data." msgstr "Données de configuration LTI." -#: models.py:122 +#: models.py:124 msgid "The URL of the external tool that initiates the launch." msgstr "L'URL de l'outil externe qui initie le lancement." -#: models.py:127 +#: models.py:129 msgid "Client key provided by the LTI tool provider." msgstr "Clé client fournie par le fournisseur d'outils LTI." -#: models.py:133 +#: models.py:135 msgid "Client secret provided by the LTI tool provider." msgstr "Secret client fourni par le fournisseur d'outils LTI." -#: models.py:139 +#: models.py:141 msgid "Platform's generated Private key. Keep this value secret." msgstr "Clé privée générée par la plateforme. Gardez cette valeur secrète." -#: models.py:145 +#: models.py:147 msgid "Platform's generated Private key ID" msgstr "ID de clé privée généré par la plateforme" -#: models.py:150 +#: models.py:152 msgid "Platform's generated JWK keyset." msgstr "Keyset JWK généré par la plateforme." -#: models.py:156 +#: models.py:158 msgid "Client ID used by LTI tool" msgstr "ID client utilisé par l'outil LTI" -#: models.py:252 +#: models.py:254 msgid "LTI Configuration stores on XBlock needs a block location set." msgstr "" "La configuration LTI stockée sur un XBlock doit avoir un emplacement de " "block défini. " -#: models.py:258 +#: models.py:259 +msgid "" +"LTI Configuration using reusable configuration needs a external ID in " +"\"x:y\" format." +msgstr "" + +#: models.py:266 msgid "" "LTI Configuration stored on the model for LTI 1.3 must have a value for one " "of lti_1p3_tool_public_key or lti_1p3_tool_keyset_url." @@ -634,7 +645,7 @@ msgstr "" "La configuration LTI stockée sur le modèle pour LTI 1.3 doit avoir une " "valeur parmi lti_1p3_tool_public_key ou lti_1p3_tool_keyset_url." -#: models.py:265 +#: models.py:273 msgid "" "CONFIG_ON_XBLOCK and CONFIG_EXTERNAL are not supported for LTI 1.3 " "Proctoring Services." @@ -642,19 +653,19 @@ msgstr "" "CONFIG_ON_XBLOCK et CONFIG_EXTERNAL ne sont pas pris en charge pour les " "services de surveillance LTI 1.3." -#: models.py:273 +#: models.py:281 msgid "Invalid LTI configuration." msgstr "Configuration LTI invalide." -#: plugin/views.py:495 +#: plugin/views.py:561 msgid "The selected content type is not supported by Open edX." msgstr "Le type de contenu sélectionné n'est pas pris en charge par Open edX." -#: plugin/views.py:510 +#: plugin/views.py:576 msgid "You don't have access to save LTI Content Items." msgstr "Vous n'avez pas accès à la sauvegarde des éléments de contenu LTI." -#: plugin/views.py:511 +#: plugin/views.py:577 msgid "" "Please check that you have course staff permissions and double check this " "block's LTI settings."