From 459874e4b59202e40d99b9ae797433b09023631a Mon Sep 17 00:00:00 2001 From: ansible-translation-bot Date: Thu, 18 Mar 2021 09:59:22 -0400 Subject: [PATCH] UI translation strings for devel branch --- awx/locale/fr/LC_MESSAGES/django.po | 3143 ++++++++++++++------------- awx/locale/ja/LC_MESSAGES/django.po | 1794 ++++++++------- awx/locale/zh/LC_MESSAGES/django.po | 3110 +++++++++++++------------- 3 files changed, 4182 insertions(+), 3865 deletions(-) diff --git a/awx/locale/fr/LC_MESSAGES/django.po b/awx/locale/fr/LC_MESSAGES/django.po index bcb54c548b..2f14dcf211 100644 --- a/awx/locale/fr/LC_MESSAGES/django.po +++ b/awx/locale/fr/LC_MESSAGES/django.po @@ -3,12 +3,11 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-28 21:45+0000\n" +"POT-Creation-Date: 2021-03-02 15:56+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -27,35 +26,42 @@ msgid "" "again." msgstr "Délai en secondes pendant lequel un utilisateur peut rester inactif avant de devoir se reconnecter." -#: awx/api/conf.py:17 awx/api/conf.py:26 awx/api/conf.py:34 awx/api/conf.py:50 -#: awx/api/conf.py:62 awx/api/conf.py:74 awx/sso/conf.py:97 awx/sso/conf.py:108 +#: awx/api/conf.py:17 awx/api/conf.py:27 awx/api/conf.py:35 awx/api/conf.py:51 +#: awx/api/conf.py:64 awx/api/conf.py:76 awx/sso/conf.py:97 awx/sso/conf.py:108 #: awx/sso/conf.py:120 awx/sso/conf.py:135 msgid "Authentication" msgstr "Authentification" -#: awx/api/conf.py:24 +#: awx/api/conf.py:19 awx/api/conf.py:53 awx/main/conf.py:269 +#: awx/main/conf.py:281 awx/main/conf.py:294 awx/main/conf.py:516 +#: awx/main/conf.py:529 awx/main/conf.py:542 awx/main/conf.py:557 +#: awx/main/conf.py:695 awx/main/conf.py:777 awx/sso/conf.py:518 +msgid "seconds" +msgstr "secondes" + +#: awx/api/conf.py:25 msgid "Maximum number of simultaneous logged in sessions" msgstr "Le nombre maximum de sessions actives en simultané" -#: awx/api/conf.py:25 +#: awx/api/conf.py:26 msgid "" "Maximum number of simultaneous logged in sessions a user may have. To " "disable enter -1." msgstr "Nombre maximal de connexions actives simultanées dont un utilisateur peut disposer. Pour désactiver cette option, entrez -1." -#: awx/api/conf.py:32 +#: awx/api/conf.py:33 msgid "Enable HTTP Basic Auth" msgstr "Activer l'authentification HTTP de base" -#: awx/api/conf.py:33 +#: awx/api/conf.py:34 msgid "Enable HTTP Basic Auth for the API Browser." msgstr "Activer l'authentification HTTP de base pour le navigateur d'API." -#: awx/api/conf.py:43 +#: awx/api/conf.py:44 msgid "OAuth 2 Timeout Settings" msgstr "OAuth 2 Config Timeout" -#: awx/api/conf.py:44 +#: awx/api/conf.py:45 msgid "" "Dictionary for customizing OAuth 2 timeouts, available items are " "`ACCESS_TOKEN_EXPIRE_SECONDS`, the duration of access tokens in the number " @@ -65,11 +71,11 @@ msgid "" "expired access tokens, in the number of seconds." msgstr "Dictionnaire pour la personnalisation des timeouts OAuth 2, les éléments disponibles sont `ACCESS_TOKEN_EXPIRE_SECONDS`, la durée des jetons d'accès en nombre de secondes, `AUTHORIZATION_CODE_EXPIRE_SECONDS`, la durée des codes d'autorisation en nombre de secondes, et `REFRESH_TOKEN_EXPIRE_SECONDS`, la durée des jetons d’actualisation, après l’expiration des jetons d'accès, en nombre de secondes." -#: awx/api/conf.py:57 +#: awx/api/conf.py:59 msgid "Allow External Users to Create OAuth2 Tokens" msgstr "Autoriser les utilisateurs extérieurs à créer des Jetons OAuth2" -#: awx/api/conf.py:58 +#: awx/api/conf.py:60 msgid "" "For security reasons, users from external auth providers (LDAP, SAML, SSO, " "Radius, and others) are not allowed to create OAuth2 tokens. To change this " @@ -77,11 +83,11 @@ msgid "" "setting is toggled off." msgstr "Pour des raisons de sécurité, les utilisateurs de fournisseurs d'authentification externes (LDAP, SAML, SSO, Radius et autres) ne sont pas autorisés à créer des jetons OAuth2. Pour modifier ce comportement, activez ce paramètre. Les jetons existants ne sont pas supprimés lorsque ce paramètre est désactivé." -#: awx/api/conf.py:71 +#: awx/api/conf.py:73 msgid "Login redirect override URL" msgstr "URL de remplacement de redirection de connexion" -#: awx/api/conf.py:72 +#: awx/api/conf.py:74 msgid "" "URL to which unauthorized users will be redirected to log in. If blank, " "users will be sent to the Tower login page." @@ -126,27 +132,27 @@ msgstr "Nom de champ du string de requête non fourni." msgid "Invalid {field_name} id: {field_id}" msgstr "ID {field_name} non valide : {field_id}" -#: awx/api/filters.py:333 +#: awx/api/filters.py:338 msgid "" "Cannot apply role_level filter to this list because its model does not use " "roles for access control." msgstr "N'a pas pu appliquer le filtre role_level à cette liste car son modèle n'utilise pas de rôles pour le contrôle d'accès." -#: awx/api/generics.py:182 +#: awx/api/generics.py:181 msgid "" "You did not use correct Content-Type in your HTTP request. If you are using " "our REST API, the Content-Type must be application/json" msgstr "Vous n'avez pas utilisé le bon type de contenu dans votre requête HTTP. Si vous utilisez notre API REST, le type de contenu doit être application/json." -#: awx/api/generics.py:623 awx/api/generics.py:685 +#: awx/api/generics.py:647 awx/api/generics.py:709 msgid "\"id\" field must be an integer." msgstr "Le champ \"id\" doit être un nombre entier." -#: awx/api/generics.py:682 +#: awx/api/generics.py:706 msgid "\"id\" is required to disassociate" msgstr "\"id\" est nécessaire pour dissocier" -#: awx/api/generics.py:733 +#: awx/api/generics.py:757 msgid "{} 'id' field is missing." msgstr "Le champ {} 'id' est manquant." @@ -219,7 +225,7 @@ msgstr "Exécution du playbook" msgid "Command" msgstr "Commande" -#: awx/api/serializers.py:318 awx/main/models/unified_jobs.py:547 +#: awx/api/serializers.py:318 awx/main/models/unified_jobs.py:546 msgid "SCM Update" msgstr "Mise à jour SCM" @@ -229,65 +235,65 @@ msgstr "Synchronisation des inventaires" #: awx/api/serializers.py:320 msgid "Management Job" -msgstr "Tâche de gestion" +msgstr "Job de gestion" #: awx/api/serializers.py:321 msgid "Workflow Job" -msgstr "Tâche de workflow" +msgstr "Job de flux de travail" #: awx/api/serializers.py:322 msgid "Workflow Template" -msgstr "Modèle de workflow" +msgstr "Modèle de flux de travail" #: awx/api/serializers.py:323 msgid "Job Template" msgstr "Modèle de tâche" -#: awx/api/serializers.py:709 +#: awx/api/serializers.py:706 msgid "" "Indicates whether all of the events generated by this unified job have been " "saved to the database." msgstr "Indique si tous les événements générés par ce job unifié ont été enregistrés dans la base de données." -#: awx/api/serializers.py:878 +#: awx/api/serializers.py:877 msgid "Write-only field used to change the password." msgstr "Champ en écriture seule servant à modifier le mot de passe." -#: awx/api/serializers.py:880 +#: awx/api/serializers.py:879 msgid "Set if the account is managed by an external service" msgstr "À définir si le compte est géré par un service externe" -#: awx/api/serializers.py:907 +#: awx/api/serializers.py:906 msgid "Password required for new User." msgstr "Mot de passe requis pour le nouvel utilisateur." -#: awx/api/serializers.py:992 +#: awx/api/serializers.py:991 #, python-format msgid "Unable to change %s on user managed by LDAP." msgstr "Impossible de redéfinir %s sur un utilisateur géré par LDAP." -#: awx/api/serializers.py:1088 +#: awx/api/serializers.py:1087 msgid "Must be a simple space-separated string with allowed scopes {}." msgstr "Doit correspondre à une simple chaîne de caractères séparés par des espaces avec dans les limites autorisées {}." -#: awx/api/serializers.py:1186 +#: awx/api/serializers.py:1185 msgid "Authorization Grant Type" msgstr "Type d'autorisation" -#: awx/api/serializers.py:1188 awx/main/credential_plugins/azure_kv.py:30 -#: awx/main/models/credential/__init__.py:960 +#: awx/api/serializers.py:1187 awx/main/credential_plugins/azure_kv.py:30 +#: awx/main/models/credential/__init__.py:950 msgid "Client Secret" msgstr "Question secrète du client" -#: awx/api/serializers.py:1191 +#: awx/api/serializers.py:1190 msgid "Client Type" msgstr "Type de client" -#: awx/api/serializers.py:1194 +#: awx/api/serializers.py:1193 msgid "Redirect URIs" msgstr "Redirection d'URIs." -#: awx/api/serializers.py:1197 +#: awx/api/serializers.py:1196 msgid "Skip Authorization" msgstr "Sauter l'étape d'autorisation" @@ -295,1095 +301,1122 @@ msgstr "Sauter l'étape d'autorisation" msgid "Cannot change max_hosts." msgstr "Impossible de modifier max_hosts." -#: awx/api/serializers.py:1336 +#: awx/api/serializers.py:1334 +#, python-brace-format +msgid "Cannot change local_path for {scm_type}-based projects" +msgstr "Impossible de modifier le local_path pour les projets basés-{scm_type}" + +#: awx/api/serializers.py:1338 msgid "This path is already being used by another manual project." msgstr "Ce chemin est déjà utilisé par un autre projet manuel." -#: awx/api/serializers.py:1338 +#: awx/api/serializers.py:1340 +msgid "SCM branch cannot be used with archive projects." +msgstr "La branche SCM ne peut pas être utilisée pour des projets d'archives." + +#: awx/api/serializers.py:1342 msgid "SCM refspec can only be used with git projects." msgstr "SCM refspec ne peut être utilisé qu'avec les projets git." -#: awx/api/serializers.py:1415 +#: awx/api/serializers.py:1419 msgid "" "One or more job templates depend on branch override behavior for this " "project (ids: {})." msgstr "Un ou plusieurs modèles de tâches dépendent du comportement de remplacement de branche pour ce projet (ids : {})." -#: awx/api/serializers.py:1422 +#: awx/api/serializers.py:1426 msgid "Update options must be set to false for manual projects." msgstr "La Mise à jour des options doit être définie à false pour les projets manuels." -#: awx/api/serializers.py:1428 +#: awx/api/serializers.py:1432 msgid "Array of playbooks available within this project." msgstr "Tableau des playbooks disponibles dans ce projet." -#: awx/api/serializers.py:1447 +#: awx/api/serializers.py:1451 msgid "" "Array of inventory files and directories available within this project, not " "comprehensive." msgstr "Tableau des fichiers d'inventaires et des répertoires disponibles dans ce projet : incomplet." -#: awx/api/serializers.py:1495 awx/api/serializers.py:3048 -#: awx/api/serializers.py:3260 +#: awx/api/serializers.py:1499 awx/api/serializers.py:3088 +#: awx/api/serializers.py:3300 msgid "A count of hosts uniquely assigned to each status." msgstr "Un nombre d'hôtes assignés exclusivement à chaque statut." -#: awx/api/serializers.py:1498 awx/api/serializers.py:3051 +#: awx/api/serializers.py:1502 awx/api/serializers.py:3091 msgid "A count of all plays and tasks for the job run." msgstr "Le nombre de lectures et de tâches liées à l'exécution d'un job." -#: awx/api/serializers.py:1625 +#: awx/api/serializers.py:1629 msgid "Smart inventories must specify host_filter" msgstr "Les inventaires smart doivent spécifier le host_filter" -#: awx/api/serializers.py:1713 +#: awx/api/serializers.py:1721 #, python-format msgid "Invalid port specification: %s" msgstr "Spécification de port non valide : %s" -#: awx/api/serializers.py:1724 +#: awx/api/serializers.py:1732 msgid "Cannot create Host for Smart Inventory" msgstr "Impossible de créer un Hôte pour l' Inventaire Smart" -#: awx/api/serializers.py:1808 +#: awx/api/serializers.py:1750 +msgid "A Group with that name already exists." +msgstr "Un groupe portant ce nom existe déjà." + +#: awx/api/serializers.py:1821 +msgid "A Host with that name already exists." +msgstr "Un hôte de ce nom existe déjà." + +#: awx/api/serializers.py:1826 msgid "Invalid group name." msgstr "Nom de groupe incorrect." -#: awx/api/serializers.py:1813 +#: awx/api/serializers.py:1831 msgid "Cannot create Group for Smart Inventory" msgstr "Impossible de créer de Groupe pour l' Inventaire Smart" -#: awx/api/serializers.py:1888 +#: awx/api/serializers.py:1906 msgid "" "Script must begin with a hashbang sequence: i.e.... #!/usr/bin/env python" msgstr "Le script doit commencer par une séquence hashbang : c.-à-d. ... #!/usr/bin/env python" -#: awx/api/serializers.py:1917 +#: awx/api/serializers.py:1935 msgid "Cloud credential to use for inventory updates." msgstr "Informations d’identification cloud à utiliser pour les mises à jour d'inventaire." -#: awx/api/serializers.py:1938 +#: awx/api/serializers.py:1956 msgid "`{}` is a prohibited environment variable" msgstr "`{}`est une variable d'environnement interdite" -#: awx/api/serializers.py:1949 +#: awx/api/serializers.py:1967 msgid "If 'source' is 'custom', 'source_script' must be provided." msgstr "Si la valeur 'source' est 'custom', 'source_script' doit être défini." -#: awx/api/serializers.py:1955 +#: awx/api/serializers.py:1973 msgid "Must provide an inventory." msgstr "Vous devez fournir un inventaire." -#: awx/api/serializers.py:1959 +#: awx/api/serializers.py:1977 msgid "" "The 'source_script' does not belong to the same organization as the " "inventory." msgstr "Le 'source_script' n'appartient pas à la même organisation que l'inventaire." -#: awx/api/serializers.py:1961 +#: awx/api/serializers.py:1979 msgid "'source_script' doesn't exist." msgstr "'source_script' n'existe pas." -#: awx/api/serializers.py:2063 +#: awx/api/serializers.py:2081 msgid "Cannot use manual project for SCM-based inventory." msgstr "Impossible d'utiliser un projet manuel pour un inventaire SCM." -#: awx/api/serializers.py:2068 +#: awx/api/serializers.py:2086 msgid "Setting not compatible with existing schedules." msgstr "Paramètre incompatible avec les planifications existantes." -#: awx/api/serializers.py:2073 +#: awx/api/serializers.py:2091 msgid "Cannot create Inventory Source for Smart Inventory" -msgstr "Impossible de créer une Source d'inventaire pour l' Inventaire Smart" +msgstr "Impossible de créer une Source d'inventaire pour l' Inventaire Smart" -#: awx/api/serializers.py:2121 +#: awx/api/serializers.py:2139 msgid "Project required for scm type sources." msgstr "Projet requis pour les sources de type scm." -#: awx/api/serializers.py:2130 +#: awx/api/serializers.py:2148 #, python-format msgid "Cannot set %s if not SCM type." msgstr "Impossible de définir %s si pas du type SCM." -#: awx/api/serializers.py:2200 +#: awx/api/serializers.py:2218 msgid "The project used for this job." msgstr "Le projet utilisé pour ce job." -#: awx/api/serializers.py:2455 +#: awx/api/serializers.py:2474 msgid "Modifications not allowed for managed credential types" msgstr "Modifications non autorisées pour les types d'informations d'identification gérés" -#: awx/api/serializers.py:2467 +#: awx/api/serializers.py:2486 msgid "" "Modifications to inputs are not allowed for credential types that are in use" msgstr "Modifications apportées aux entrées non autorisées pour les types d'informations d'identification en cours d'utilisation" -#: awx/api/serializers.py:2472 +#: awx/api/serializers.py:2491 #, python-format msgid "Must be 'cloud' or 'net', not %s" msgstr "Doit être 'cloud' ou 'net', pas %s" -#: awx/api/serializers.py:2478 +#: awx/api/serializers.py:2497 msgid "'ask_at_runtime' is not supported for custom credentials." msgstr "'ask_at_runtime' n'est pas pris en charge pour les informations d'identification personnalisées." -#: awx/api/serializers.py:2526 +#: awx/api/serializers.py:2546 msgid "Credential Type" msgstr "Type d'informations d’identification" -#: awx/api/serializers.py:2607 +#: awx/api/serializers.py:2610 +msgid "Modifications not allowed for managed credentials" +msgstr "Modifications non autorisées pour les types d'informations d'identification gérés" + +#: awx/api/serializers.py:2628 awx/api/serializers.py:2702 +msgid "Galaxy credentials must be owned by an Organization." +msgstr "Les identifiants Galaxy doivent appartenir à une Organisation." + +#: awx/api/serializers.py:2645 msgid "" "You cannot change the credential type of the credential, as it may break the " "functionality of the resources using it." msgstr "Vous ne pouvez pas modifier le type d'identifiants, car cela peut compromettre la fonctionnalité de la ressource les utilisant." -#: awx/api/serializers.py:2619 +#: awx/api/serializers.py:2657 msgid "" "Write-only field used to add user to owner role. If provided, do not give " "either team or organization. Only valid for creation." msgstr "Champ en écriture seule qui sert à ajouter un utilisateur au rôle de propriétaire. Si vous le définissez, n'entrez ni équipe ni organisation. Seulement valable pour la création." -#: awx/api/serializers.py:2624 +#: awx/api/serializers.py:2662 msgid "" "Write-only field used to add team to owner role. If provided, do not give " "either user or organization. Only valid for creation." msgstr "Champ en écriture seule qui sert à ajouter une équipe au rôle de propriétaire. Si vous le définissez, n'entrez ni utilisateur ni organisation. Seulement valable pour la création." -#: awx/api/serializers.py:2629 +#: awx/api/serializers.py:2667 msgid "" "Inherit permissions from organization roles. If provided on creation, do not " "give either user or team." msgstr "Hériter des permissions à partir des rôles d'organisation. Si vous le définissez lors de la création, n'entrez ni utilisateur ni équipe." -#: awx/api/serializers.py:2645 +#: awx/api/serializers.py:2684 msgid "Missing 'user', 'team', or 'organization'." msgstr "Valeur 'utilisateur', 'équipe' ou 'organisation' manquante." -#: awx/api/serializers.py:2662 +#: awx/api/serializers.py:2689 +msgid "" +"Only one of 'user', 'team', or 'organization' should be provided, received " +"{} fields." +msgstr "Un seul des champs \"utilisateur\", \"équipe\" ou \"organisation\" doit être fourni, champs reçu {}." + +#: awx/api/serializers.py:2717 msgid "" "Credential organization must be set and match before assigning to a team" msgstr "L'organisation des informations d'identification doit être définie et mise en correspondance avant de l'attribuer à une équipe" -#: awx/api/serializers.py:2793 +#: awx/api/serializers.py:2843 msgid "This field is required." msgstr "Ce champ est obligatoire." -#: awx/api/serializers.py:2802 +#: awx/api/serializers.py:2852 msgid "Playbook not found for project." msgstr "Playbook introuvable pour le projet." -#: awx/api/serializers.py:2804 +#: awx/api/serializers.py:2854 msgid "Must select playbook for project." msgstr "Un playbook doit être sélectionné pour le project." -#: awx/api/serializers.py:2806 awx/api/serializers.py:2808 +#: awx/api/serializers.py:2856 awx/api/serializers.py:2858 msgid "Project does not allow overriding branch." msgstr "Le projet ne permet pas de branche de remplacement." -#: awx/api/serializers.py:2845 +#: awx/api/serializers.py:2895 msgid "Must be a Personal Access Token." msgstr "Doit être un jeton d'accès personnel." -#: awx/api/serializers.py:2848 +#: awx/api/serializers.py:2898 msgid "Must match the selected webhook service." msgstr "Doit correspondre au service de webhook sélectionné." -#: awx/api/serializers.py:2919 +#: awx/api/serializers.py:2969 msgid "Cannot enable provisioning callback without an inventory set." msgstr "Impossible d'activer le rappel de provisioning sans inventaire défini." -#: awx/api/serializers.py:2922 +#: awx/api/serializers.py:2972 msgid "Must either set a default value or ask to prompt on launch." msgstr "Une valeur par défaut doit être définie ou bien demander une invite au moment du lancement." -#: awx/api/serializers.py:2924 awx/main/models/jobs.py:299 +#: awx/api/serializers.py:2974 awx/main/models/jobs.py:299 msgid "Job Templates must have a project assigned." msgstr "Les Modèles de job doivent avoir un projet attribué." -#: awx/api/serializers.py:3092 +#: awx/api/serializers.py:3132 msgid "No change to job limit" msgstr "Aucun changement à la limite du job" -#: awx/api/serializers.py:3093 +#: awx/api/serializers.py:3133 msgid "All failed and unreachable hosts" msgstr "Tous les hôtes inaccessibles ou ayant échoué" -#: awx/api/serializers.py:3108 +#: awx/api/serializers.py:3148 msgid "Missing passwords needed to start: {}" msgstr "Mots de passe manquants indispensables pour commencer : {}" -#: awx/api/serializers.py:3127 +#: awx/api/serializers.py:3167 msgid "Relaunch by host status not available until job finishes running." msgstr "Relance par statut d'hôte non disponible jusqu'à la fin de l'exécution du job en cours." -#: awx/api/serializers.py:3141 +#: awx/api/serializers.py:3181 msgid "Job Template Project is missing or undefined." msgstr "Le projet de modèle de tâche est manquant ou non défini." -#: awx/api/serializers.py:3143 +#: awx/api/serializers.py:3183 msgid "Job Template Inventory is missing or undefined." msgstr "Le projet de modèle d'inventaire est manquant ou non défini." -#: awx/api/serializers.py:3181 +#: awx/api/serializers.py:3221 msgid "Unknown, job may have been ran before launch configurations were saved." msgstr "Inconnu, il se peut que le job ait été exécuté avant que les configurations de lancement ne soient sauvegardées." -#: awx/api/serializers.py:3252 awx/main/tasks.py:2800 awx/main/tasks.py:2818 +#: awx/api/serializers.py:3292 awx/main/tasks.py:2923 awx/main/tasks.py:2941 msgid "{} are prohibited from use in ad hoc commands." msgstr "{} ne sont pas autorisés à utiliser les commandes ad hoc." -#: awx/api/serializers.py:3340 awx/api/views/__init__.py:4243 +#: awx/api/serializers.py:3380 awx/api/views/__init__.py:4208 #, python-brace-format msgid "" "Standard Output too large to display ({text_size} bytes), only download " "supported for sizes over {supported_size} bytes." msgstr "Sortie standard trop grande pour pouvoir s'afficher ({text_size} octets). Le téléchargement est pris en charge seulement pour une taille supérieure à {supported_size} octets." -#: awx/api/serializers.py:3653 +#: awx/api/serializers.py:3699 msgid "Provided variable {} has no database value to replace with." msgstr "La variable fournie {} n'a pas de valeur de base de données de remplaçage." -#: awx/api/serializers.py:3671 +#: awx/api/serializers.py:3717 msgid "\"$encrypted$ is a reserved keyword, may not be used for {}.\"" msgstr "\"$encrypted$ est un mot clé réservé et ne peut pas être utilisé comme {}.\"" -#: awx/api/serializers.py:4078 +#: awx/api/serializers.py:4124 msgid "A project is required to run a job." msgstr "Un projet est nécessaire pour exécuter une tâche." -#: awx/api/serializers.py:4080 +#: awx/api/serializers.py:4126 msgid "Missing a revision to run due to failed project update." msgstr "Une révision n'a pas été exécutée en raison de l'échec de la mise à jour du projet." -#: awx/api/serializers.py:4084 +#: awx/api/serializers.py:4130 msgid "The inventory associated with this Job Template is being deleted." msgstr "L'inventaire associé à ce modèle de tâche est en cours de suppression." -#: awx/api/serializers.py:4086 awx/api/serializers.py:4202 +#: awx/api/serializers.py:4132 awx/api/serializers.py:4252 msgid "The provided inventory is being deleted." msgstr "L'inventaire fourni est en cours de suppression." -#: awx/api/serializers.py:4094 +#: awx/api/serializers.py:4140 msgid "Cannot assign multiple {} credentials." msgstr "Ne peut pas attribuer plusieurs identifiants {}." -#: awx/api/serializers.py:4098 +#: awx/api/serializers.py:4145 msgid "Cannot assign a Credential of kind `{}`" msgstr "Ne peut pas attribuer d'information d'identification de type `{}`" -#: awx/api/serializers.py:4111 +#: awx/api/serializers.py:4158 msgid "" "Removing {} credential at launch time without replacement is not supported. " "Provided list lacked credential(s): {}." msgstr "Le retrait des identifiants {} au moment du lancement sans procurer de valeurs de remplacement n'est pas pris en charge. La liste fournie manquait d'identifiant(s): {}." -#: awx/api/serializers.py:4200 +#: awx/api/serializers.py:4250 msgid "The inventory associated with this Workflow is being deleted." msgstr "L'inventaire associé à ce flux de travail est en cours de suppression." -#: awx/api/serializers.py:4271 +#: awx/api/serializers.py:4321 msgid "Message type '{}' invalid, must be either 'message' or 'body'" msgstr "Type de message '{}' invalide, doit être soit 'message' soit 'body'" -#: awx/api/serializers.py:4277 +#: awx/api/serializers.py:4327 msgid "Expected string for '{}', found {}, " msgstr "Chaîne attendue pour '{}', trouvé {}, " -#: awx/api/serializers.py:4281 +#: awx/api/serializers.py:4331 msgid "Messages cannot contain newlines (found newline in {} event)" msgstr "Les messages ne peuvent pas contenir de nouvelles lignes (trouvé nouvelle ligne dans l'événement {})" -#: awx/api/serializers.py:4287 +#: awx/api/serializers.py:4337 msgid "Expected dict for 'messages' field, found {}" msgstr "Dict attendu pour le champ 'messages', trouvé {}" -#: awx/api/serializers.py:4291 +#: awx/api/serializers.py:4341 msgid "" "Event '{}' invalid, must be one of 'started', 'success', 'error', or " "'workflow_approval'" msgstr "L'événement '{}' est invalide, il doit être de type 'started', 'success', 'error' ou 'workflow_approval'" -#: awx/api/serializers.py:4297 +#: awx/api/serializers.py:4347 msgid "Expected dict for event '{}', found {}" msgstr "Dict attendu pour l'événement '{}', trouvé {}" -#: awx/api/serializers.py:4302 +#: awx/api/serializers.py:4352 msgid "" "Workflow Approval event '{}' invalid, must be one of 'running', 'approved', " "'timed_out', or 'denied'" -msgstr "L'événement d'approbation de workflow '{}' n'est pas valide, il doit être 'running', 'approved', 'timed_out' ou 'denied'" +msgstr "L'événement d'approbation de flux de travail '{}' n'est pas valide, il doit être sur 'en cours', 'approuvé', 'expiré' ou 'refusé'" -#: awx/api/serializers.py:4309 +#: awx/api/serializers.py:4359 msgid "Expected dict for workflow approval event '{}', found {}" -msgstr "Dict attendu pour l'événement d'approbation du workflow '{}', trouvé {}" +msgstr "Dict attendu pour l'événement d'approbation du flux de travail '{}', trouvé {}" -#: awx/api/serializers.py:4336 +#: awx/api/serializers.py:4386 msgid "Unable to render message '{}': {}" msgstr "Impossible de rendre le message '{}' : {}" -#: awx/api/serializers.py:4338 +#: awx/api/serializers.py:4388 msgid "Field '{}' unavailable" msgstr "Champ '{}' non disponible" -#: awx/api/serializers.py:4340 +#: awx/api/serializers.py:4390 msgid "Security error due to field '{}'" msgstr "Erreur de sécurité due au champ '{}'" -#: awx/api/serializers.py:4360 +#: awx/api/serializers.py:4410 msgid "Webhook body for '{}' should be a json dictionary. Found type '{}'." msgstr "Le corps du webhook pour '{}' doit être un dictionnaire json. Trouvé le type '{}'." -#: awx/api/serializers.py:4363 +#: awx/api/serializers.py:4413 msgid "Webhook body for '{}' is not a valid json dictionary ({})." msgstr "Le corps du webhook pour '{}' n'est pas un dictionnaire json valide ({})." -#: awx/api/serializers.py:4381 +#: awx/api/serializers.py:4431 msgid "" "Missing required fields for Notification Configuration: notification_type" msgstr "Champs obligatoires manquants pour la configuration des notifications : notification_type" -#: awx/api/serializers.py:4408 +#: awx/api/serializers.py:4458 msgid "No values specified for field '{}'" msgstr "Aucune valeur spécifiée pour le champ '{}'" -#: awx/api/serializers.py:4413 +#: awx/api/serializers.py:4463 msgid "HTTP method must be either 'POST' or 'PUT'." msgstr "La méthode HTTP doit être soit 'POST' soit 'PUT'." -#: awx/api/serializers.py:4415 +#: awx/api/serializers.py:4465 msgid "Missing required fields for Notification Configuration: {}." msgstr "Champs obligatoires manquants pour la configuration des notifications : {}." -#: awx/api/serializers.py:4418 +#: awx/api/serializers.py:4468 msgid "Configuration field '{}' incorrect type, expected {}." msgstr "Type de champ de configuration '{}' incorrect, {} attendu." -#: awx/api/serializers.py:4435 +#: awx/api/serializers.py:4485 msgid "Notification body" msgstr "Corps de notification" -#: awx/api/serializers.py:4515 +#: awx/api/serializers.py:4565 msgid "" "Valid DTSTART required in rrule. Value should start with: DTSTART:" "YYYYMMDDTHHMMSSZ" msgstr "DTSTART valide obligatoire dans rrule. La valeur doit commencer par : DTSTART:YYYYMMDDTHHMMSSZ" -#: awx/api/serializers.py:4517 +#: awx/api/serializers.py:4567 msgid "" "DTSTART cannot be a naive datetime. Specify ;TZINFO= or YYYYMMDDTHHMMSSZZ." msgstr "DTSTART ne peut correspondre à une DateHeure naïve. Spécifier ;TZINFO= ou YYYYMMDDTHHMMSSZZ." -#: awx/api/serializers.py:4519 +#: awx/api/serializers.py:4569 msgid "Multiple DTSTART is not supported." msgstr "Une seule valeur DTSTART est prise en charge." -#: awx/api/serializers.py:4521 +#: awx/api/serializers.py:4571 msgid "RRULE required in rrule." msgstr "RRULE obligatoire dans rrule." -#: awx/api/serializers.py:4523 +#: awx/api/serializers.py:4573 msgid "Multiple RRULE is not supported." msgstr "Une seule valeur RRULE est prise en charge." -#: awx/api/serializers.py:4525 +#: awx/api/serializers.py:4575 msgid "INTERVAL required in rrule." msgstr "INTERVAL obligatoire dans rrule." -#: awx/api/serializers.py:4527 +#: awx/api/serializers.py:4577 msgid "SECONDLY is not supported." msgstr "SECONDLY n'est pas pris en charge." -#: awx/api/serializers.py:4529 +#: awx/api/serializers.py:4579 msgid "Multiple BYMONTHDAYs not supported." msgstr "Une seule valeur BYMONTHDAY est prise en charge." -#: awx/api/serializers.py:4531 +#: awx/api/serializers.py:4581 msgid "Multiple BYMONTHs not supported." msgstr "Une seule valeur BYMONTH est prise en charge." -#: awx/api/serializers.py:4533 +#: awx/api/serializers.py:4583 msgid "BYDAY with numeric prefix not supported." msgstr "BYDAY avec un préfixe numérique non pris en charge." -#: awx/api/serializers.py:4535 +#: awx/api/serializers.py:4585 msgid "BYYEARDAY not supported." msgstr "BYYEARDAY non pris en charge." -#: awx/api/serializers.py:4537 +#: awx/api/serializers.py:4587 msgid "BYWEEKNO not supported." msgstr "BYWEEKNO non pris en charge." -#: awx/api/serializers.py:4539 +#: awx/api/serializers.py:4589 msgid "RRULE may not contain both COUNT and UNTIL" msgstr "RRULE peut contenir à la fois COUNT et UNTIL" -#: awx/api/serializers.py:4543 +#: awx/api/serializers.py:4593 msgid "COUNT > 999 is unsupported." msgstr "COUNT > 999 non pris en charge." -#: awx/api/serializers.py:4549 +#: awx/api/serializers.py:4599 msgid "rrule parsing failed validation: {}" msgstr "L'analyse rrule n'a pas pu être validée : {}" -#: awx/api/serializers.py:4611 +#: awx/api/serializers.py:4661 msgid "Inventory Source must be a cloud resource." msgstr "La source d'inventaire doit être une ressource cloud." -#: awx/api/serializers.py:4613 +#: awx/api/serializers.py:4663 msgid "Manual Project cannot have a schedule set." msgstr "Le projet manuel ne peut pas avoir de calendrier défini." -#: awx/api/serializers.py:4616 +#: awx/api/serializers.py:4666 msgid "" "Inventory sources with `update_on_project_update` cannot be scheduled. " "Schedule its source project `{}` instead." msgstr "Impossible de planifier les sources d'inventaire avec `update_on_project_update`. Planifiez plutôt son projet source`{}`." -#: awx/api/serializers.py:4626 +#: awx/api/serializers.py:4676 msgid "" "Count of jobs in the running or waiting state that are targeted for this " "instance" msgstr "Le nombre de jobs en cours d'exécution ou en attente qui sont ciblés pour cette instance." -#: awx/api/serializers.py:4631 +#: awx/api/serializers.py:4681 msgid "Count of all jobs that target this instance" msgstr "Le nombre de jobs qui ciblent cette instance." -#: awx/api/serializers.py:4664 +#: awx/api/serializers.py:4716 msgid "" "Count of jobs in the running or waiting state that are targeted for this " "instance group" msgstr "Le nombre de jobs en cours d'exécution ou en attente qui sont ciblés pour ce groupe d'instances." -#: awx/api/serializers.py:4669 +#: awx/api/serializers.py:4721 msgid "Count of all jobs that target this instance group" msgstr "Le nombre de jobs qui ciblent ce groupe d'instances" -#: awx/api/serializers.py:4674 +#: awx/api/serializers.py:4726 msgid "Indicates whether instance group controls any other group" msgstr "Indique si le groupe d'instances contrôle un autre groupe" -#: awx/api/serializers.py:4678 +#: awx/api/serializers.py:4730 msgid "" "Indicates whether instances in this group are isolated.Isolated groups have " "a designated controller group." msgstr "Indique si les instances de ce groupe sont isolées. Les groupes isolés ont un groupe de contrôleurs désigné." -#: awx/api/serializers.py:4683 +#: awx/api/serializers.py:4735 msgid "" "Indicates whether instances in this group are containerized.Containerized " "groups have a designated Openshift or Kubernetes cluster." msgstr "Indique si les instances de ce groupe sont conteneurisées. Les groupes conteneurisés ont un groupe Openshift ou Kubernetes désigné." -#: awx/api/serializers.py:4691 +#: awx/api/serializers.py:4743 msgid "Policy Instance Percentage" msgstr "Pourcentage d'instances de stratégie" -#: awx/api/serializers.py:4692 +#: awx/api/serializers.py:4744 msgid "" "Minimum percentage of all instances that will be automatically assigned to " "this group when new instances come online." msgstr "Le pourcentage minimum de toutes les instances qui seront automatiquement assignées à ce groupe lorsque de nouvelles instances seront mises en ligne." -#: awx/api/serializers.py:4697 +#: awx/api/serializers.py:4749 msgid "Policy Instance Minimum" msgstr "Instances de stratégies minimum" -#: awx/api/serializers.py:4698 +#: awx/api/serializers.py:4750 msgid "" "Static minimum number of Instances that will be automatically assign to this " "group when new instances come online." msgstr "Nombre minimum statique d'instances qui seront automatiquement assignées à ce groupe lors de la mise en ligne de nouvelles instances." -#: awx/api/serializers.py:4703 +#: awx/api/serializers.py:4755 msgid "Policy Instance List" msgstr "Listes d'instances de stratégie" -#: awx/api/serializers.py:4704 +#: awx/api/serializers.py:4756 msgid "List of exact-match Instances that will be assigned to this group" msgstr "Liste des cas de concordance exacte qui seront assignés à ce groupe." -#: awx/api/serializers.py:4730 +#: awx/api/serializers.py:4782 msgid "Duplicate entry {}." msgstr "Entrée dupliquée {}." -#: awx/api/serializers.py:4732 +#: awx/api/serializers.py:4784 msgid "{} is not a valid hostname of an existing instance." msgstr "{} n'est pas un nom d'hôte valide d'instance existante." -#: awx/api/serializers.py:4734 awx/api/views/mixin.py:98 +#: awx/api/serializers.py:4786 awx/api/views/mixin.py:98 msgid "" "Isolated instances may not be added or removed from instances groups via the " "API." msgstr "Des instances isolées ne peuvent pas être ajoutées ou supprimées de groupes d'instances via l'API." -#: awx/api/serializers.py:4736 awx/api/views/mixin.py:102 +#: awx/api/serializers.py:4788 awx/api/views/mixin.py:102 msgid "Isolated instance group membership may not be managed via the API." msgstr "L'appartenance à un groupe d'instances isolées n'est sans doute pas gérée par l'API." -#: awx/api/serializers.py:4738 awx/api/serializers.py:4743 -#: awx/api/serializers.py:4748 +#: awx/api/serializers.py:4790 awx/api/serializers.py:4795 +#: awx/api/serializers.py:4800 msgid "Containerized instances may not be managed via the API" msgstr "Les instances conteneurisées ne peuvent pas être gérées via l'API" -#: awx/api/serializers.py:4753 +#: awx/api/serializers.py:4805 msgid "tower instance group name may not be changed." msgstr "Le nom de groupe de l'instance Tower ne peut pas être modifié." -#: awx/api/serializers.py:4758 +#: awx/api/serializers.py:4810 msgid "Only Kubernetes credentials can be associated with an Instance Group" msgstr "Seuls les identifiants Kubernetes peuvent être associés à un groupe d'instances" -#: awx/api/serializers.py:4797 +#: awx/api/serializers.py:4849 msgid "" "When present, shows the field name of the role or relationship that changed." msgstr "Le cas échéant, affiche le nom de champ du rôle ou de la relation qui a changé." -#: awx/api/serializers.py:4799 +#: awx/api/serializers.py:4851 msgid "" "When present, shows the model on which the role or relationship was defined." msgstr "Le cas échéant, affiche le modèle sur lequel le rôle ou la relation a été défini." -#: awx/api/serializers.py:4832 +#: awx/api/serializers.py:4884 msgid "" "A summary of the new and changed values when an object is created, updated, " "or deleted" msgstr "Un récapitulatif des valeurs nouvelles et modifiées lorsqu'un objet est créé, mis à jour ou supprimé" -#: awx/api/serializers.py:4834 +#: awx/api/serializers.py:4886 msgid "" "For create, update, and delete events this is the object type that was " "affected. For associate and disassociate events this is the object type " "associated or disassociated with object2." msgstr "Pour créer, mettre à jour et supprimer des événements, il s'agit du type d'objet qui a été affecté. Pour associer et dissocier des événements, il s'agit du type d'objet associé à ou dissocié de object2." -#: awx/api/serializers.py:4837 +#: awx/api/serializers.py:4889 msgid "" "Unpopulated for create, update, and delete events. For associate and " "disassociate events this is the object type that object1 is being associated " "with." msgstr "Laisser vide pour créer, mettre à jour et supprimer des événements. Pour associer et dissocier des événements, il s'agit du type d'objet auquel object1 est associé." -#: awx/api/serializers.py:4840 +#: awx/api/serializers.py:4892 msgid "The action taken with respect to the given object(s)." msgstr "Action appliquée par rapport à l'objet ou aux objets donnés." -#: awx/api/views/__init__.py:181 +#: awx/api/views/__init__.py:186 +msgid "Not found." +msgstr "Introuvable." + +#: awx/api/views/__init__.py:194 msgid "Dashboard" msgstr "Tableau de bord" -#: awx/api/views/__init__.py:271 +#: awx/api/views/__init__.py:284 msgid "Dashboard Jobs Graphs" msgstr "Graphiques de tâches du tableau de bord" -#: awx/api/views/__init__.py:307 +#: awx/api/views/__init__.py:323 #, python-format msgid "Unknown period \"%s\"" msgstr "Période \"%s\" inconnue" -#: awx/api/views/__init__.py:321 +#: awx/api/views/__init__.py:337 msgid "Instances" msgstr "Instances" -#: awx/api/views/__init__.py:329 +#: awx/api/views/__init__.py:345 msgid "Instance Detail" msgstr "Détail de l'instance" -#: awx/api/views/__init__.py:346 +#: awx/api/views/__init__.py:362 msgid "Instance Jobs" msgstr "Jobs d'instance" -#: awx/api/views/__init__.py:360 +#: awx/api/views/__init__.py:376 msgid "Instance's Instance Groups" msgstr "Groupes d'instances de l'instance" -#: awx/api/views/__init__.py:369 +#: awx/api/views/__init__.py:385 msgid "Instance Groups" msgstr "Groupes d'instances" -#: awx/api/views/__init__.py:377 +#: awx/api/views/__init__.py:393 msgid "Instance Group Detail" msgstr "Détail du groupe d'instances" -#: awx/api/views/__init__.py:392 +#: awx/api/views/__init__.py:408 msgid "Isolated Groups can not be removed from the API" msgstr "Les groupes isolés ne peuvent pas être supprimés des l'API" -#: awx/api/views/__init__.py:394 +#: awx/api/views/__init__.py:410 msgid "" "Instance Groups acting as a controller for an Isolated Group can not be " "removed from the API" msgstr "Les groupes d'instance agissant en tant que contrôleur d'un groupe isolé ne peuvent pas être retirés de l'API" -#: awx/api/views/__init__.py:400 +#: awx/api/views/__init__.py:416 msgid "Instance Group Running Jobs" msgstr "Groupe d'instances exécutant les tâches" -#: awx/api/views/__init__.py:409 +#: awx/api/views/__init__.py:425 msgid "Instance Group's Instances" msgstr "Instances du groupe d'instances" -#: awx/api/views/__init__.py:419 +#: awx/api/views/__init__.py:435 msgid "Schedules" msgstr "Calendriers" -#: awx/api/views/__init__.py:433 +#: awx/api/views/__init__.py:449 msgid "Schedule Recurrence Rule Preview" msgstr "Prévisualisation Règle récurrente de planning" -#: awx/api/views/__init__.py:480 +#: awx/api/views/__init__.py:496 msgid "Cannot assign credential when related template is null." msgstr "Impossible d'attribuer des identifiants lorsque le modèle associé est nul." -#: awx/api/views/__init__.py:485 +#: awx/api/views/__init__.py:501 msgid "Related template cannot accept {} on launch." msgstr "Le modèle associé ne peut pas accepter {} au lancement." -#: awx/api/views/__init__.py:487 +#: awx/api/views/__init__.py:503 msgid "" "Credential that requires user input on launch cannot be used in saved launch " "configuration." msgstr "Les identifiants qui nécessitent l'entrée de l'utilisateur au lancement ne peuvent pas être utilisés dans la configuration de lancement sauvegardée." -#: awx/api/views/__init__.py:493 +#: awx/api/views/__init__.py:509 msgid "Related template is not configured to accept credentials on launch." msgstr "Le modèle associé n'est pas configuré pour pouvoir accepter les identifiants au lancement." -#: awx/api/views/__init__.py:495 +#: awx/api/views/__init__.py:511 #, python-brace-format msgid "" "This launch configuration already provides a {credential_type} credential." msgstr "Cette configuration de lancement fournit déjà un identifiant {credential_type}." -#: awx/api/views/__init__.py:498 +#: awx/api/views/__init__.py:514 #, python-brace-format msgid "Related template already uses {credential_type} credential." msgstr "Le modèle associé utilise déjà l'identifiant {credential_type}." -#: awx/api/views/__init__.py:516 +#: awx/api/views/__init__.py:532 msgid "Schedule Jobs List" msgstr "Listes des tâches de planification" -#: awx/api/views/__init__.py:600 awx/api/views/__init__.py:4452 +#: awx/api/views/__init__.py:616 awx/api/views/__init__.py:4419 msgid "" "You cannot assign an Organization participation role as a child role for a " "Team." msgstr "Vous ne pouvez pas attribuer un rôle de Participation à une organisation en tant que rôle enfant pour une Équipe." -#: awx/api/views/__init__.py:604 awx/api/views/__init__.py:4466 +#: awx/api/views/__init__.py:620 awx/api/views/__init__.py:4433 msgid "You cannot grant system-level permissions to a team." msgstr "Vous ne pouvez pas accorder de permissions au niveau système à une équipe." -#: awx/api/views/__init__.py:611 awx/api/views/__init__.py:4458 +#: awx/api/views/__init__.py:627 awx/api/views/__init__.py:4425 msgid "" "You cannot grant credential access to a team when the Organization field " "isn't set, or belongs to a different organization" msgstr "Vous ne pouvez pas accorder d'accès par informations d'identification à une équipe lorsque le champ Organisation n'est pas défini ou qu'elle appartient à une organisation différente" -#: awx/api/views/__init__.py:713 +#: awx/api/views/__init__.py:729 msgid "Project Schedules" msgstr "Calendriers des projets" -#: awx/api/views/__init__.py:724 +#: awx/api/views/__init__.py:740 msgid "Project SCM Inventory Sources" msgstr "Sources d'inventaire SCM du projet" -#: awx/api/views/__init__.py:825 +#: awx/api/views/__init__.py:841 msgid "Project Update Events List" msgstr "Liste des événements de mise à jour du projet" -#: awx/api/views/__init__.py:839 +#: awx/api/views/__init__.py:855 msgid "System Job Events List" msgstr "Liste des événements d'un job système" -#: awx/api/views/__init__.py:873 +#: awx/api/views/__init__.py:889 msgid "Project Update SCM Inventory Updates" msgstr "Mises à jour de l'inventaire SCM de la mise à jour du projet" -#: awx/api/views/__init__.py:918 +#: awx/api/views/__init__.py:934 msgid "Me" msgstr "Moi-même" -#: awx/api/views/__init__.py:927 +#: awx/api/views/__init__.py:943 msgid "OAuth 2 Applications" msgstr "OAuth 2 Applications" -#: awx/api/views/__init__.py:936 +#: awx/api/views/__init__.py:952 msgid "OAuth 2 Application Detail" msgstr "OAuth 2 Détails Application" -#: awx/api/views/__init__.py:949 +#: awx/api/views/__init__.py:965 msgid "OAuth 2 Application Tokens" msgstr "OAuth 2 Jetons Application" -#: awx/api/views/__init__.py:971 +#: awx/api/views/__init__.py:987 msgid "OAuth2 Tokens" msgstr "OAuth2 Jetons" -#: awx/api/views/__init__.py:980 +#: awx/api/views/__init__.py:996 msgid "OAuth2 User Tokens" msgstr "OAuth2 Jetons Utilisateur" -#: awx/api/views/__init__.py:992 +#: awx/api/views/__init__.py:1008 msgid "OAuth2 User Authorized Access Tokens" msgstr "OAuth2 Jetons d'accès Utilisateur autorisé" -#: awx/api/views/__init__.py:1007 +#: awx/api/views/__init__.py:1023 msgid "Organization OAuth2 Applications" msgstr "Organisation OAuth2 Applications" -#: awx/api/views/__init__.py:1019 +#: awx/api/views/__init__.py:1035 msgid "OAuth2 Personal Access Tokens" msgstr "OAuth2 Jetons d'accès personnels" -#: awx/api/views/__init__.py:1034 +#: awx/api/views/__init__.py:1050 msgid "OAuth Token Detail" msgstr "OAuth 2 Détails Jeton" -#: awx/api/views/__init__.py:1096 awx/api/views/__init__.py:4419 +#: awx/api/views/__init__.py:1112 awx/api/views/__init__.py:4386 msgid "" "You cannot grant credential access to a user not in the credentials' " "organization" msgstr "Vous ne pouvez pas accorder d'accès par informations d'identification à un utilisateur ne figurant pas dans l'organisation d'informations d'identification." -#: awx/api/views/__init__.py:1100 awx/api/views/__init__.py:4423 +#: awx/api/views/__init__.py:1116 awx/api/views/__init__.py:4390 msgid "You cannot grant private credential access to another user" msgstr "Vous ne pouvez pas accorder d'accès privé par informations d'identification à un autre utilisateur" -#: awx/api/views/__init__.py:1198 +#: awx/api/views/__init__.py:1214 #, python-format msgid "Cannot change %s." msgstr "Impossible de modifier %s." -#: awx/api/views/__init__.py:1204 +#: awx/api/views/__init__.py:1220 msgid "Cannot delete user." msgstr "Impossible de supprimer l'utilisateur." -#: awx/api/views/__init__.py:1228 +#: awx/api/views/__init__.py:1244 msgid "Deletion not allowed for managed credential types" msgstr "Suppression non autorisée pour les types d'informations d'identification gérés." -#: awx/api/views/__init__.py:1230 +#: awx/api/views/__init__.py:1246 msgid "Credential types that are in use cannot be deleted" msgstr "Les types d'informations d'identification utilisés ne peuvent pas être supprimés." -#: awx/api/views/__init__.py:1381 +#: awx/api/views/__init__.py:1359 +msgid "Deletion not allowed for managed credentials" +msgstr "Suppression non autorisée pour les types d'informations d'identification gérés." + +#: awx/api/views/__init__.py:1404 msgid "External Credential Test" msgstr "Test des informations d'identification externes" -#: awx/api/views/__init__.py:1408 +#: awx/api/views/__init__.py:1439 msgid "Credential Input Source Detail" msgstr "Détail de la source en entrée des informations d'identification" -#: awx/api/views/__init__.py:1416 awx/api/views/__init__.py:1424 +#: awx/api/views/__init__.py:1447 awx/api/views/__init__.py:1455 msgid "Credential Input Sources" msgstr "Sources en entrée des informations d'identification" -#: awx/api/views/__init__.py:1439 +#: awx/api/views/__init__.py:1470 msgid "External Credential Type Test" msgstr "Test du type d'informations d'identification externes" -#: awx/api/views/__init__.py:1497 +#: awx/api/views/__init__.py:1536 msgid "The inventory for this host is already being deleted." msgstr "L'inventaire associé à cet hôte est en cours de suppression." -#: awx/api/views/__init__.py:1614 +#: awx/api/views/__init__.py:1653 msgid "SSLError while trying to connect to {}" msgstr "ErreurSSL lors de la tentative de connexion au {} " -#: awx/api/views/__init__.py:1616 +#: awx/api/views/__init__.py:1655 msgid "Request to {} timed out." msgstr "Délai de requête {} expiré." -#: awx/api/views/__init__.py:1618 +#: awx/api/views/__init__.py:1657 msgid "Unknown exception {} while trying to GET {}" msgstr "Exception inconnue {} lors de la tentative GET {}" -#: awx/api/views/__init__.py:1622 +#: awx/api/views/__init__.py:1661 msgid "" "Unauthorized access. Please check your Insights Credential username and " "password." msgstr "Accès non autorisé. Veuillez vérifier vos identifiants pour Insights." -#: awx/api/views/__init__.py:1626 +#: awx/api/views/__init__.py:1665 msgid "" "Failed to access the Insights API at URL {}. Server responded with {} status " "code and message {}" msgstr "Impossible d'accéder à l'API Insights sur l'URL {}. Le serveur a répondu avec le code de statut {} et le message {}" -#: awx/api/views/__init__.py:1635 +#: awx/api/views/__init__.py:1674 msgid "Expected JSON response from Insights at URL {} but instead got {}" msgstr "Réponse JSON attendue de la part d'Insights sur l'URL {}, mais {} a été reçu à la place" -#: awx/api/views/__init__.py:1653 +#: awx/api/views/__init__.py:1692 msgid "Could not translate Insights system ID {} into an Insights platform ID." msgstr "Impossible de convertir l'ID de système Insights ID {} en ID de plateforme Insights." -#: awx/api/views/__init__.py:1695 +#: awx/api/views/__init__.py:1734 msgid "This host is not recognized as an Insights host." msgstr "Cet hôte n'est pas reconnu comme hôte Insights." -#: awx/api/views/__init__.py:1703 +#: awx/api/views/__init__.py:1742 msgid "The Insights Credential for \"{}\" was not found." msgstr "Informations d'identification Insights pour \"{}\" introuvables." -#: awx/api/views/__init__.py:1782 +#: awx/api/views/__init__.py:1821 msgid "Cyclical Group association." msgstr "Association de groupe cyclique." -#: awx/api/views/__init__.py:1948 +#: awx/api/views/__init__.py:1987 msgid "Inventory subset argument must be a string." msgstr "L'argument de sous-ensemble d'inventaire doit correspondre à une chaîne de caractères." -#: awx/api/views/__init__.py:1952 +#: awx/api/views/__init__.py:1991 msgid "Subset does not use any supported syntax." msgstr "Le sous-ensemble n'utilise pas de syntaxe prise en charge." -#: awx/api/views/__init__.py:2002 +#: awx/api/views/__init__.py:2041 msgid "Inventory Source List" msgstr "Liste des sources d'inventaire" -#: awx/api/views/__init__.py:2014 +#: awx/api/views/__init__.py:2053 msgid "Inventory Sources Update" msgstr "Mise à jour des sources d'inventaire" -#: awx/api/views/__init__.py:2047 +#: awx/api/views/__init__.py:2086 msgid "Could not start because `can_update` returned False" msgstr "Démarrage impossible car `can_update` a renvoyé False" -#: awx/api/views/__init__.py:2055 +#: awx/api/views/__init__.py:2094 msgid "No inventory sources to update." msgstr "Aucune source d'inventaire à actualiser." -#: awx/api/views/__init__.py:2077 +#: awx/api/views/__init__.py:2116 msgid "Inventory Source Schedules" msgstr "Calendriers des sources d'inventaire" -#: awx/api/views/__init__.py:2104 +#: awx/api/views/__init__.py:2143 msgid "Notification Templates can only be assigned when source is one of {}." msgstr "Les modèles de notification ne peuvent être attribués que lorsque la source est l'une des {}." -#: awx/api/views/__init__.py:2202 +#: awx/api/views/__init__.py:2241 msgid "Source already has credential assigned." msgstr "La source a déjà des informations d'identification attribuées." -#: awx/api/views/__init__.py:2350 -msgid "'credentials' cannot be used in combination with 'extra_credentials'." -msgstr "Les 'credentials' (identifiants) ne peuvent pas être utilisés en combinaison à des 'extra_credentials'." - -#: awx/api/views/__init__.py:2368 -msgid "Incorrect type. Expected a list received {}." -msgstr "Type non valide. Liste attendue, {} reçu." - -#: awx/api/views/__init__.py:2466 +#: awx/api/views/__init__.py:2457 msgid "Job Template Schedules" msgstr "Calendriers des modèles de tâche" -#: awx/api/views/__init__.py:2515 +#: awx/api/views/__init__.py:2506 msgid "Field '{}' is missing from survey spec." msgstr "Le champ '{}' manque dans la specification du questionnaire." -#: awx/api/views/__init__.py:2517 +#: awx/api/views/__init__.py:2508 msgid "Expected {} for field '{}', received {} type." msgstr "{} attendu pour le champ '{}', type {} reçu." -#: awx/api/views/__init__.py:2521 +#: awx/api/views/__init__.py:2512 msgid "'spec' doesn't contain any items." msgstr "'spec' ne contient aucun élément." -#: awx/api/views/__init__.py:2535 +#: awx/api/views/__init__.py:2526 #, python-format msgid "Survey question %s is not a json object." msgstr "La question d’enquête %s n'est pas un objet json." -#: awx/api/views/__init__.py:2538 +#: awx/api/views/__init__.py:2529 #, python-brace-format msgid "'{field_name}' missing from survey question {idx}" msgstr "'{field_name}' est manquant dans la question d’enquête {idx}" -#: awx/api/views/__init__.py:2548 +#: awx/api/views/__init__.py:2539 #, python-brace-format msgid "'{field_name}' in survey question {idx} expected to be {type_label}." msgstr "'{field_name}' dans la question d’enquête {idx} doit être {type_label}." -#: awx/api/views/__init__.py:2552 +#: awx/api/views/__init__.py:2543 #, python-format msgid "'variable' '%(item)s' duplicated in survey question %(survey)s." msgstr "'variable' '%(item)s' en double dans la question d’enquête %(survey)s." -#: awx/api/views/__init__.py:2562 +#: awx/api/views/__init__.py:2553 #, python-brace-format msgid "" "'{survey_item[type]}' in survey question {idx} is not one of " "'{allowed_types}' allowed question types." msgstr "'{survey_item[type]}' dans la question d’enquête {idx} n'est pas un des '{allowed_types}' types de questions autorisés." -#: awx/api/views/__init__.py:2572 +#: awx/api/views/__init__.py:2563 #, python-brace-format msgid "" "Default value {survey_item[default]} in survey question {idx} expected to be " "{type_label}." msgstr "La valeur par défaut {survey_item[default]} dans la question d’enquête {idx} doit être {type_label}." -#: awx/api/views/__init__.py:2582 +#: awx/api/views/__init__.py:2573 #, python-brace-format msgid "The {min_or_max} limit in survey question {idx} expected to be integer." msgstr "La limite {min_or_max} dans la question d'enquête {idx} doit correspondre à un nombre entier." -#: awx/api/views/__init__.py:2592 +#: awx/api/views/__init__.py:2583 #, python-brace-format msgid "Survey question {idx} of type {survey_item[type]} must specify choices." msgstr "La question d'enquête {idx} de type {survey_item[type]} doit spécifier des choix." -#: awx/api/views/__init__.py:2606 +#: awx/api/views/__init__.py:2597 msgid "Multiple Choice (Single Select) can only have one default value." msgstr "Les options à choix multiples (une seule sélection) ne peuvent avoir qu'une seule valeur par défaut." -#: awx/api/views/__init__.py:2610 +#: awx/api/views/__init__.py:2601 msgid "Default choice must be answered from the choices listed." msgstr "Une réponse doit être apportée au choix par défaut parmi les choix énumérés." -#: awx/api/views/__init__.py:2619 +#: awx/api/views/__init__.py:2610 #, python-brace-format msgid "" "$encrypted$ is a reserved keyword for password question defaults, survey " "question {idx} is type {survey_item[type]}." msgstr "$encrypted$ est un mot de passe réservé pour les questions (valeurs par défaut) de mots de passe, la question d'enquête {idx} est de type {survey_item[type]}." -#: awx/api/views/__init__.py:2633 +#: awx/api/views/__init__.py:2624 #, python-brace-format msgid "" "$encrypted$ is a reserved keyword, may not be used for new default in " "position {idx}." msgstr "$encrypted$ est un mot de passe réservé; il ne peut pas être utilisé comme nouvelle valeur par défaut à l'emplacement {idx}." -#: awx/api/views/__init__.py:2705 +#: awx/api/views/__init__.py:2696 #, python-brace-format msgid "Cannot assign multiple {credential_type} credentials." msgstr "Ne peut pas attribuer plusieurs identifiants {credential_type}." -#: awx/api/views/__init__.py:2709 +#: awx/api/views/__init__.py:2700 msgid "Cannot assign a Credential of kind `{}`." msgstr "Ne peut pas attribuer d'information d'identification de type `{}`" -#: awx/api/views/__init__.py:2726 -msgid "Extra credentials must be network or cloud." -msgstr "Les informations d'identification supplémentaires doivent être des identifiants réseau ou cloud." - -#: awx/api/views/__init__.py:2748 +#: awx/api/views/__init__.py:2723 msgid "Maximum number of labels for {} reached." msgstr "Nombre maximum d'étiquettes {} atteint." -#: awx/api/views/__init__.py:2871 +#: awx/api/views/__init__.py:2846 msgid "No matching host could be found!" msgstr "Aucun hôte correspondant n'a été trouvé." -#: awx/api/views/__init__.py:2874 +#: awx/api/views/__init__.py:2849 msgid "Multiple hosts matched the request!" msgstr "Plusieurs hôtes correspondent à la requête." -#: awx/api/views/__init__.py:2879 +#: awx/api/views/__init__.py:2854 msgid "Cannot start automatically, user input required!" msgstr "Impossible de démarrer automatiquement, saisie de l'utilisateur obligatoire." -#: awx/api/views/__init__.py:2887 +#: awx/api/views/__init__.py:2862 msgid "Host callback job already pending." msgstr "La tâche de rappel de l'hôte est déjà en attente." -#: awx/api/views/__init__.py:2903 awx/api/views/__init__.py:3664 +#: awx/api/views/__init__.py:2878 awx/api/views/__init__.py:3629 msgid "Error starting job!" msgstr "Erreur lors du démarrage de la tâche." -#: awx/api/views/__init__.py:3027 awx/api/views/__init__.py:3047 +#: awx/api/views/__init__.py:3002 awx/api/views/__init__.py:3022 msgid "Cycle detected." msgstr "Cycle détecté." -#: awx/api/views/__init__.py:3039 +#: awx/api/views/__init__.py:3014 msgid "Relationship not allowed." msgstr "Relation non autorisée." -#: awx/api/views/__init__.py:3268 +#: awx/api/views/__init__.py:3243 msgid "Cannot relaunch slice workflow job orphaned from job template." msgstr "Ne peut pas relancer le découpage de job de flux de travail rendu orphelin à partir d'un modèle de job." -#: awx/api/views/__init__.py:3270 +#: awx/api/views/__init__.py:3245 msgid "Cannot relaunch sliced workflow job after slice count has changed." msgstr "Ne peut pas relancer le découpage de job de flux de travail une fois que le nombre de tranches a été modifié." -#: awx/api/views/__init__.py:3303 +#: awx/api/views/__init__.py:3278 msgid "Workflow Job Template Schedules" -msgstr "Calendriers des modèles de tâche Workflow" +msgstr "Calendriers des modèles de tâche de flux de travail" -#: awx/api/views/__init__.py:3446 awx/api/views/__init__.py:4087 +#: awx/api/views/__init__.py:3421 awx/api/views/__init__.py:4052 msgid "Superuser privileges needed." msgstr "Privilèges de superutilisateur requis." -#: awx/api/views/__init__.py:3479 +#: awx/api/views/__init__.py:3454 msgid "System Job Template Schedules" msgstr "Calendriers des modèles de tâche Système" -#: awx/api/views/__init__.py:3647 +#: awx/api/views/__init__.py:3612 #, python-brace-format msgid "Wait until job finishes before retrying on {status_value} hosts." msgstr "Patientez jusqu'à ce que la tâche se termine avant d'essayer à nouveau les hôtes {status_value}." -#: awx/api/views/__init__.py:3652 +#: awx/api/views/__init__.py:3617 #, python-brace-format msgid "Cannot retry on {status_value} hosts, playbook stats not available." msgstr "Impossible d'essayer à nouveau sur les hôtes {status_value}, les stats de playbook ne sont pas disponibles." -#: awx/api/views/__init__.py:3657 +#: awx/api/views/__init__.py:3622 #, python-brace-format msgid "Cannot relaunch because previous job had 0 {status_value} hosts." msgstr "Impossible de relancer car le job précédent possède 0 {status_value} hôtes." -#: awx/api/views/__init__.py:3686 +#: awx/api/views/__init__.py:3651 msgid "Cannot create schedule because job requires credential passwords." msgstr "Impossible de créer un planning parce que le job exige des mots de passe d'authentification." -#: awx/api/views/__init__.py:3691 +#: awx/api/views/__init__.py:3656 msgid "Cannot create schedule because job was launched by legacy method." msgstr "Impossible de créer un planning parce que le travail a été lancé par la méthode héritée." -#: awx/api/views/__init__.py:3693 +#: awx/api/views/__init__.py:3658 msgid "Cannot create schedule because a related resource is missing." msgstr "Impossible de créer un planning car une ressource associée est manquante." -#: awx/api/views/__init__.py:3748 +#: awx/api/views/__init__.py:3713 msgid "Job Host Summaries List" msgstr "Liste récapitulative des hôtes de la tâche" -#: awx/api/views/__init__.py:3802 +#: awx/api/views/__init__.py:3767 msgid "Job Event Children List" msgstr "Liste des enfants d'événement de la tâche" -#: awx/api/views/__init__.py:3818 +#: awx/api/views/__init__.py:3783 msgid "Job Event Hosts List" msgstr "Liste des hôtes d'événement de la tâche" -#: awx/api/views/__init__.py:3833 +#: awx/api/views/__init__.py:3798 msgid "Job Events List" msgstr "Liste des événements de la tâche" -#: awx/api/views/__init__.py:4044 +#: awx/api/views/__init__.py:4009 msgid "Ad Hoc Command Events List" msgstr "Liste d'événements de la commande ad hoc" -#: awx/api/views/__init__.py:4289 +#: awx/api/views/__init__.py:4256 msgid "Delete not allowed while there are pending notifications" msgstr "Suppression non autorisée tant que des notifications sont en attente" -#: awx/api/views/__init__.py:4297 +#: awx/api/views/__init__.py:4264 msgid "Notification Template Test" msgstr "Test de modèle de notification" -#: awx/api/views/__init__.py:4557 awx/api/views/__init__.py:4572 +#: awx/api/views/__init__.py:4524 awx/api/views/__init__.py:4539 msgid "User does not have permission to approve or deny this workflow." -msgstr "L'utilisateur n'a pas la permission d'approuver ou de refuser ce workflow." +msgstr "L'utilisateur n'a pas la permission d'approuver ou de refuser ce flux de travail." -#: awx/api/views/__init__.py:4559 awx/api/views/__init__.py:4574 +#: awx/api/views/__init__.py:4526 awx/api/views/__init__.py:4541 msgid "This workflow step has already been approved or denied." -msgstr "Cette étape de workflow a déjà été approuvée ou refusée." +msgstr "Cette étape de flux de travail a déjà été approuvée ou refusée." #: awx/api/views/inventory.py:63 msgid "Inventory Update Events List" @@ -1393,7 +1426,11 @@ msgstr "Liste des événements de mise à jour de l'inventaire" msgid "Cannot delete inventory script." msgstr "Impossible de supprimer le script d'inventaire." -#: awx/api/views/inventory.py:149 +#: awx/api/views/inventory.py:137 +msgid "You cannot turn a regular inventory into a \"smart\" inventory." +msgstr "Vous ne pouvez pas transformer un inventaire régulier en un inventaire \"smart\"." + +#: awx/api/views/inventory.py:150 #, python-brace-format msgid "{0}" msgstr "{0}" @@ -1404,7 +1441,7 @@ msgstr "Métriques" #: awx/api/views/mixin.py:46 msgid "Cannot delete job resource when associated workflow job is running." -msgstr "Impossible de supprimer les ressources de tâche lorsqu'une tâche de workflow associée est en cours d'exécution." +msgstr "Impossible de supprimer les ressources de tâche lorsqu'une tâche de flux de travail associée est en cours d'exécution." #: awx/api/views/mixin.py:51 msgid "Cannot delete running job resource." @@ -1418,71 +1455,104 @@ msgstr "Job n'ayant pas terminé de traiter les événements." msgid "Related job {} is still processing events." msgstr "Le job associé {} est toujours en cours de traitement des événements." -#: awx/api/views/root.py:49 awx/templates/rest_framework/api.html:28 +#: awx/api/views/organization.py:232 +#, python-brace-format +msgid "Credential must be a Galaxy credential, not {sub.credential_type.name}." +msgstr "Le titre doit être un titre Galaxy, et non {sub.credential_type.name}.." + +#: awx/api/views/root.py:51 awx/templates/rest_framework/api.html:28 msgid "REST API" msgstr "API REST" -#: awx/api/views/root.py:59 awx/templates/rest_framework/api.html:4 +#: awx/api/views/root.py:61 awx/templates/rest_framework/api.html:4 msgid "AWX REST API" msgstr "API REST AWX" -#: awx/api/views/root.py:72 +#: awx/api/views/root.py:74 msgid "API OAuth 2 Authorization Root" msgstr "API OAuth 2 Authorization Root" -#: awx/api/views/root.py:139 +#: awx/api/views/root.py:141 msgid "Version 2" msgstr "Version 2" -#: awx/api/views/root.py:148 +#: awx/api/views/root.py:150 msgid "Ping" msgstr "Ping" -#: awx/api/views/root.py:180 awx/api/views/root.py:225 awx/conf/apps.py:10 -msgid "Configuration" -msgstr "Configuration" +#: awx/api/views/root.py:182 +msgid "Subscriptions" +msgstr "Abonnements" -#: awx/api/views/root.py:202 awx/api/views/root.py:308 -msgid "Invalid License" -msgstr "Licence non valide" +#: awx/api/views/root.py:204 awx/api/views/root.py:249 +msgid "Invalid Subscription" +msgstr "Abonnement non valide" -#: awx/api/views/root.py:207 +#: awx/api/views/root.py:209 awx/api/views/root.py:254 msgid "The provided credentials are invalid (HTTP 401)." msgstr "Les informations d'identification fournies ne sont pas valides (HTTP 401)." -#: awx/api/views/root.py:209 +#: awx/api/views/root.py:211 awx/api/views/root.py:256 msgid "Unable to connect to proxy server." msgstr "Impossible de se connecter au serveur mandateur." -#: awx/api/views/root.py:211 +#: awx/api/views/root.py:213 awx/api/views/root.py:258 msgid "Could not connect to subscription service." msgstr "Impossible de se connecter au service d'abonnement." -#: awx/api/views/root.py:284 -msgid "Invalid license data" -msgstr "Données de licence non valides" +#: awx/api/views/root.py:227 +msgid "Attach Subscription" +msgstr "Attacher Abonnement" -#: awx/api/views/root.py:286 +#: awx/api/views/root.py:239 +msgid "No subscription pool ID provided." +msgstr "Aucun identifiant de pool d'abonnement n'est fourni." + +#: awx/api/views/root.py:271 +msgid "Error processing subscription metadata." +msgstr "Erreur de traitement des métadonnées d'abonnement." + +#: awx/api/views/root.py:277 awx/conf/apps.py:10 +msgid "Configuration" +msgstr "Configuration" + +#: awx/api/views/root.py:334 +msgid "Invalid subscription data" +msgstr "Données d'abonnement non valides" + +#: awx/api/views/root.py:336 msgid "Missing 'eula_accepted' property" msgstr "Propriété 'eula_accepted' manquante" -#: awx/api/views/root.py:290 +#: awx/api/views/root.py:340 msgid "'eula_accepted' value is invalid" msgstr "La valeur 'eula_accepted' n'est pas valide" -#: awx/api/views/root.py:293 +#: awx/api/views/root.py:343 msgid "'eula_accepted' must be True" msgstr "La valeur 'eula_accepted' doit être True" -#: awx/api/views/root.py:300 +#: awx/api/views/root.py:350 msgid "Invalid JSON" msgstr "Syntaxe JSON non valide" -#: awx/api/views/root.py:319 -msgid "Invalid license" +#: awx/api/views/root.py:355 awx/api/views/root.py:361 +msgid "Legacy license submitted. A subscription manifest is now required." +msgstr "Licence héritée soumise. Un manifeste de souscription est maintenant requis." + +#: awx/api/views/root.py:372 +msgid "Invalid manifest submitted." +msgstr "Manifeste non valable soumis." + +#: awx/api/views/root.py:379 +msgid "Invalid License" msgstr "Licence non valide" -#: awx/api/views/root.py:327 +#: awx/api/views/root.py:391 +msgid "Invalid subscription" +msgstr "Abonnement non valide" + +#: awx/api/views/root.py:399 msgid "Failed to remove license." msgstr "N'a pas pu supprimer la licence." @@ -1642,7 +1712,7 @@ msgstr "Exemple de paramètre qui peut être différent pour chaque utilisateur. msgid "User" msgstr "Utilisateur" -#: awx/conf/fields.py:63 awx/sso/fields.py:595 +#: awx/conf/fields.py:63 awx/sso/fields.py:627 #, python-brace-format msgid "" "Expected None, True, False, a string or list of strings but got {input_type} " @@ -1673,11 +1743,11 @@ msgstr "\"{input}\" n'est pas une chaîne valide." msgid "Expected a list of tuples of max length 2 but got {input_type} instead." msgstr "Liste de tuples de longueur max 2 attendue mais a obtenu {input_type} à la place." -#: awx/conf/registry.py:73 awx/conf/tests/unit/test_registry.py:155 +#: awx/conf/registry.py:73 awx/conf/tests/unit/test_registry.py:156 msgid "All" msgstr "Tous" -#: awx/conf/registry.py:74 awx/conf/tests/unit/test_registry.py:156 +#: awx/conf/registry.py:74 awx/conf/tests/unit/test_registry.py:157 msgid "Changed" msgstr "Modifié" @@ -1685,59 +1755,58 @@ msgstr "Modifié" msgid "User-Defaults" msgstr "Paramètres utilisateur par défaut" -#: awx/conf/registry.py:143 +#: awx/conf/registry.py:145 msgid "This value has been set manually in a settings file." msgstr "Cette valeur a été définie manuellement dans un fichier de configuration." -#: awx/conf/tests/unit/test_registry.py:46 -#: awx/conf/tests/unit/test_registry.py:56 -#: awx/conf/tests/unit/test_registry.py:72 -#: awx/conf/tests/unit/test_registry.py:87 -#: awx/conf/tests/unit/test_registry.py:100 -#: awx/conf/tests/unit/test_registry.py:106 -#: awx/conf/tests/unit/test_registry.py:126 -#: awx/conf/tests/unit/test_registry.py:132 -#: awx/conf/tests/unit/test_registry.py:145 -#: awx/conf/tests/unit/test_registry.py:157 -#: awx/conf/tests/unit/test_registry.py:166 -#: awx/conf/tests/unit/test_registry.py:172 -#: awx/conf/tests/unit/test_registry.py:184 -#: awx/conf/tests/unit/test_registry.py:191 -#: awx/conf/tests/unit/test_registry.py:233 -#: awx/conf/tests/unit/test_registry.py:251 -#: awx/conf/tests/unit/test_settings.py:79 -#: awx/conf/tests/unit/test_settings.py:97 -#: awx/conf/tests/unit/test_settings.py:112 -#: awx/conf/tests/unit/test_settings.py:127 -#: awx/conf/tests/unit/test_settings.py:143 -#: awx/conf/tests/unit/test_settings.py:156 -#: awx/conf/tests/unit/test_settings.py:173 -#: awx/conf/tests/unit/test_settings.py:189 -#: awx/conf/tests/unit/test_settings.py:200 -#: awx/conf/tests/unit/test_settings.py:216 -#: awx/conf/tests/unit/test_settings.py:237 -#: awx/conf/tests/unit/test_settings.py:259 -#: awx/conf/tests/unit/test_settings.py:285 -#: awx/conf/tests/unit/test_settings.py:299 -#: awx/conf/tests/unit/test_settings.py:323 +#: awx/conf/tests/unit/test_registry.py:47 +#: awx/conf/tests/unit/test_registry.py:57 +#: awx/conf/tests/unit/test_registry.py:73 +#: awx/conf/tests/unit/test_registry.py:88 +#: awx/conf/tests/unit/test_registry.py:101 +#: awx/conf/tests/unit/test_registry.py:107 +#: awx/conf/tests/unit/test_registry.py:127 +#: awx/conf/tests/unit/test_registry.py:133 +#: awx/conf/tests/unit/test_registry.py:146 +#: awx/conf/tests/unit/test_registry.py:158 +#: awx/conf/tests/unit/test_registry.py:167 +#: awx/conf/tests/unit/test_registry.py:173 +#: awx/conf/tests/unit/test_registry.py:185 +#: awx/conf/tests/unit/test_registry.py:192 +#: awx/conf/tests/unit/test_registry.py:234 +#: awx/conf/tests/unit/test_registry.py:252 +#: awx/conf/tests/unit/test_settings.py:73 +#: awx/conf/tests/unit/test_settings.py:91 +#: awx/conf/tests/unit/test_settings.py:106 +#: awx/conf/tests/unit/test_settings.py:121 +#: awx/conf/tests/unit/test_settings.py:137 +#: awx/conf/tests/unit/test_settings.py:150 +#: awx/conf/tests/unit/test_settings.py:167 +#: awx/conf/tests/unit/test_settings.py:183 +#: awx/conf/tests/unit/test_settings.py:194 +#: awx/conf/tests/unit/test_settings.py:210 +#: awx/conf/tests/unit/test_settings.py:231 +#: awx/conf/tests/unit/test_settings.py:254 +#: awx/conf/tests/unit/test_settings.py:268 +#: awx/conf/tests/unit/test_settings.py:292 +#: awx/conf/tests/unit/test_settings.py:312 +#: awx/conf/tests/unit/test_settings.py:329 #: awx/conf/tests/unit/test_settings.py:343 -#: awx/conf/tests/unit/test_settings.py:360 -#: awx/conf/tests/unit/test_settings.py:374 -#: awx/conf/tests/unit/test_settings.py:398 -#: awx/conf/tests/unit/test_settings.py:411 -#: awx/conf/tests/unit/test_settings.py:430 -#: awx/conf/tests/unit/test_settings.py:466 awx/main/conf.py:24 -#: awx/main/conf.py:33 awx/main/conf.py:43 awx/main/conf.py:53 -#: awx/main/conf.py:65 awx/main/conf.py:78 awx/main/conf.py:91 -#: awx/main/conf.py:116 awx/main/conf.py:129 awx/main/conf.py:142 -#: awx/main/conf.py:154 awx/main/conf.py:162 awx/main/conf.py:173 -#: awx/main/conf.py:405 awx/main/conf.py:830 awx/main/conf.py:840 -#: awx/main/conf.py:852 +#: awx/conf/tests/unit/test_settings.py:367 +#: awx/conf/tests/unit/test_settings.py:380 +#: awx/conf/tests/unit/test_settings.py:399 +#: awx/conf/tests/unit/test_settings.py:435 awx/main/conf.py:22 +#: awx/main/conf.py:31 awx/main/conf.py:41 awx/main/conf.py:51 +#: awx/main/conf.py:63 awx/main/conf.py:76 awx/main/conf.py:89 +#: awx/main/conf.py:102 awx/main/conf.py:115 awx/main/conf.py:128 +#: awx/main/conf.py:141 awx/main/conf.py:154 awx/main/conf.py:166 +#: awx/main/conf.py:174 awx/main/conf.py:185 awx/main/conf.py:408 +#: awx/main/conf.py:763 awx/main/conf.py:775 msgid "System" msgstr "Système" -#: awx/conf/tests/unit/test_registry.py:151 -#: awx/conf/tests/unit/test_registry.py:158 +#: awx/conf/tests/unit/test_registry.py:152 +#: awx/conf/tests/unit/test_registry.py:159 msgid "OtherSystem" msgstr "Autre Système" @@ -1804,112 +1873,164 @@ msgstr "Impossible d'associer deux éléments d'inventaires différents." msgid "Unable to change inventory on a group." msgstr "Impossible de modifier l'inventaire sur un groupe." -#: awx/main/access.py:1264 +#: awx/main/access.py:1261 msgid "Unable to change organization on a team." msgstr "Impossible de modifier l'organisation d'une équipe." -#: awx/main/access.py:1280 +#: awx/main/access.py:1277 msgid "The {} role cannot be assigned to a team" msgstr "Le rôle {} ne peut pas être attribué à une équipe" -#: awx/main/access.py:1474 +#: awx/main/access.py:1471 msgid "Insufficient access to Job Template credentials." msgstr "Accès insuffisant aux informations d'identification du modèle de tâche." -#: awx/main/access.py:1639 awx/main/access.py:2063 +#: awx/main/access.py:1635 awx/main/access.py:2059 msgid "Job was launched with secret prompts provided by another user." msgstr "La tâche a été lancée avec des invites secrètes fournies par un autre utilisateur." -#: awx/main/access.py:1648 +#: awx/main/access.py:1644 msgid "Job has been orphaned from its job template and organization." msgstr "La tâche est orpheline de son modèle de tâche et de son organisation." -#: awx/main/access.py:1650 +#: awx/main/access.py:1646 msgid "Job was launched with prompted fields you do not have access to." msgstr "La tâche a été lancée avec des champs d'invite auxquels vous n'avez pas accès." -#: awx/main/access.py:1652 +#: awx/main/access.py:1648 msgid "" "Job was launched with unknown prompted fields. Organization admin " "permissions required." msgstr "La tâche a été lancée avec des champs d'invite inconnus. Les autorisations d'administration de l'organisation sont requises." -#: awx/main/access.py:2053 +#: awx/main/access.py:2049 msgid "Workflow Job was launched with unknown prompts." msgstr "Le job de flux de travail a été lancé par des instructions inconnues." -#: awx/main/access.py:2065 +#: awx/main/access.py:2061 msgid "Job was launched with prompts you lack access to." msgstr "Le job a été lancé par des instructions auxquelles vous n'avez pas accès." -#: awx/main/access.py:2067 +#: awx/main/access.py:2063 msgid "Job was launched with prompts no longer accepted." msgstr "Le job a été lancé par des instructions qui ne sont plus acceptées." -#: awx/main/access.py:2079 +#: awx/main/access.py:2075 msgid "" "You do not have permission to the workflow job resources required for " "relaunch." -msgstr "Vous n'avez pas la permission pour accéder aux permissions de tâche de workflow requises pour le second lancement." +msgstr "Vous n'avez pas la permission pour accéder aux permissions de tâche de flux de travail requises pour le second lancement." + +#: awx/main/analytics/collectors.py:36 +msgid "General platform configuration." +msgstr "Configuration générale de la plate-forme." + +#: awx/main/analytics/collectors.py:68 +msgid "Counts of objects such as organizations, inventories, and projects" +msgstr "Nombre d'objets tels que des organisations, des inventaires et des projets" + +#: awx/main/analytics/collectors.py:103 +msgid "Counts of users and teams by organization" +msgstr "Nombre d'utilisateurs et d'équipes par organisation" + +#: awx/main/analytics/collectors.py:115 +msgid "Counts of credentials by credential type" +msgstr "Nombre d’identifiants par type" + +#: awx/main/analytics/collectors.py:127 +msgid "Inventories, their inventory sources, and host counts" +msgstr "Inventaires, leurs sources et le nombre d'hôtes" + +#: awx/main/analytics/collectors.py:152 +msgid "Counts of projects by source control type" +msgstr "Nombre de projets par type de contrôle des sources" + +#: awx/main/analytics/collectors.py:171 +msgid "Cluster topology and capacity" +msgstr "Topologie et capacité des clusters" + +#: awx/main/analytics/collectors.py:220 +msgid "Metadata about the analytics collected" +msgstr "Métadonnées sur les analyses collectées" + +#: awx/main/analytics/collectors.py:283 +msgid "Automation task records" +msgstr "Enregistrement des tâches d'automatisation" + +#: awx/main/analytics/collectors.py:314 +msgid "Data on jobs run" +msgstr "Données sur les Jobs gérés" + +#: awx/main/analytics/collectors.py:351 +msgid "Data on job templates" +msgstr "Données de Modèles de Jobs" + +#: awx/main/analytics/collectors.py:374 +msgid "Data on workflow runs" +msgstr "Données sur les exécutions de flux de travail" + +#: awx/main/analytics/collectors.py:410 +msgid "Data on workflows" +msgstr "Données sur les flux de travail" #: awx/main/apps.py:8 msgid "Main" msgstr "Principal" -#: awx/main/conf.py:22 +#: awx/main/conf.py:20 msgid "Enable Activity Stream" msgstr "Activer le flux d'activité" -#: awx/main/conf.py:23 +#: awx/main/conf.py:21 msgid "Enable capturing activity for the activity stream." msgstr "Activer la capture d'activités pour le flux d'activité." -#: awx/main/conf.py:31 +#: awx/main/conf.py:29 msgid "Enable Activity Stream for Inventory Sync" msgstr "Activer le flux d'activité pour la synchronisation des inventaires" -#: awx/main/conf.py:32 +#: awx/main/conf.py:30 msgid "" "Enable capturing activity for the activity stream when running inventory " "sync." msgstr "Activer la capture d'activités pour le flux d'activité lors de la synchronisation des inventaires en cours d'exécution." -#: awx/main/conf.py:40 +#: awx/main/conf.py:38 msgid "All Users Visible to Organization Admins" msgstr "Tous les utilisateurs visibles pour les administrateurs de l'organisation" -#: awx/main/conf.py:41 +#: awx/main/conf.py:39 msgid "" "Controls whether any Organization Admin can view all users and teams, even " "those not associated with their Organization." msgstr "Contrôle si un administrateur d'organisation peut ou non afficher tous les utilisateurs et les équipes, même ceux qui ne sont pas associés à son organisation." -#: awx/main/conf.py:50 +#: awx/main/conf.py:48 msgid "Organization Admins Can Manage Users and Teams" msgstr "Les administrateurs de l'organisation peuvent gérer les utilisateurs et les équipes." -#: awx/main/conf.py:51 +#: awx/main/conf.py:49 msgid "" "Controls whether any Organization Admin has the privileges to create and " "manage users and teams. You may want to disable this ability if you are " "using an LDAP or SAML integration." msgstr "Contrôle si l'administrateur de l'organisation dispose des privilèges nécessaires pour créer et gérer les utilisateurs et les équipes. Vous pouvez désactiver cette fonctionnalité si vous utilisez une intégration LDAP ou SAML." -#: awx/main/conf.py:62 +#: awx/main/conf.py:60 msgid "Base URL of the Tower host" msgstr "URL de base pour l'hôte Tower" -#: awx/main/conf.py:63 +#: awx/main/conf.py:61 msgid "" "This setting is used by services like notifications to render a valid url to " "the Tower host." msgstr "Ce paramètre est utilisé par des services sous la forme de notifications permettant de rendre valide une URL pour l'hôte Tower." -#: awx/main/conf.py:72 +#: awx/main/conf.py:70 msgid "Remote Host Headers" msgstr "En-têtes d'hôte distant" -#: awx/main/conf.py:73 +#: awx/main/conf.py:71 msgid "" "HTTP headers and meta keys to search to determine remote host name or IP. " "Add additional items to this list, such as \"HTTP_X_FORWARDED_FOR\", if " @@ -1917,115 +2038,125 @@ msgid "" "Adminstrator guide for more details." msgstr "En-têtes HTTP et méta-clés à rechercher afin de déterminer le nom ou l'adresse IP d'un hôte distant. Ajoutez des éléments supplémentaires à cette liste, tels que \"HTTP_X_FORWARDED_FOR\", en présence d'un proxy inverse. Voir la section \"Support Proxy\" du Guide de l'administrateur pour obtenir des détails supplémentaires." -#: awx/main/conf.py:85 -msgid "Proxy IP Whitelist" -msgstr "Liste blanche des IP proxy" +#: awx/main/conf.py:83 +msgid "Proxy IP Allowed List" +msgstr "Liste des IP Proxy autorisés" -#: awx/main/conf.py:86 +#: awx/main/conf.py:84 msgid "" "If Tower is behind a reverse proxy/load balancer, use this setting to " -"whitelist the proxy IP addresses from which Tower should trust custom " +"configure the proxy IP addresses from which Tower should trust custom " "REMOTE_HOST_HEADERS header values. If this setting is an empty list (the " "default), the headers specified by REMOTE_HOST_HEADERS will be trusted " "unconditionally')" msgstr "Si Tower se trouve derrière un proxy inverse/équilibreur de charge, utilisez ce paramètre pour mettre sur liste blanche les adresses IP du proxy en provenance desquelles Tower devra approuver les valeurs d'en-tête REMOTE_HOST_HEADERS personnalisées. Si ce paramètre correspond à une liste vide (valeur par défaut), les en-têtes spécifiés par\n" "REMOTE_HOST_HEADERS seront approuvés sans condition)" -#: awx/main/conf.py:112 +#: awx/main/conf.py:98 msgid "License" msgstr "Licence" -#: awx/main/conf.py:113 +#: awx/main/conf.py:99 msgid "" "The license controls which features and functionality are enabled. Use /api/" "v2/config/ to update or change the license." msgstr "La licence détermine les fonctionnalités et les fonctions activées. Utilisez /api/v2/config/ pour mettre à jour ou modifier la licence." -#: awx/main/conf.py:127 +#: awx/main/conf.py:113 msgid "Red Hat customer username" msgstr "Nom d'utilisateur du client Red Hat" -#: awx/main/conf.py:128 -msgid "" -"This username is used to retrieve license information and to send Automation " -"Analytics" -msgstr "Ce nom d'utilisateur est utilisé pour récupérer les informations de licence à envoyer à Automation Analytics" +#: awx/main/conf.py:114 +msgid "This username is used to send data to Automation Analytics" +msgstr "Ce nom d'utilisateur est utilisé pour envoyer des données à Automation Analytics" -#: awx/main/conf.py:140 +#: awx/main/conf.py:126 msgid "Red Hat customer password" msgstr "Mot de passe client Red Hat" -#: awx/main/conf.py:141 -msgid "" -"This password is used to retrieve license information and to send Automation " -"Analytics" -msgstr "Ce mot de passe est utilisé pour récupérer les informations de licence à envoyer à Automation Analytics" +#: awx/main/conf.py:127 +msgid "This password is used to send data to Automation Analytics" +msgstr "Ce mot de passe est utilisé pour envoyer des données à Automation Analytics" + +#: awx/main/conf.py:139 +msgid "Red Hat or Satellite username" +msgstr "Nom d'utilisateur Red Hat ou Satellite" + +#: awx/main/conf.py:140 +msgid "This username is used to retrieve subscription and content information" +msgstr "Ce nom d'utilisateur est utilisé pour récupérer les informations relatives à l'abonnement et au contenu" #: awx/main/conf.py:152 -msgid "Automation Analytics upload URL." -msgstr "URL de téléchargement d’Automation Analytics." +msgid "Red Hat or Satellite password" +msgstr "Mot de passe Red Hat ou Satellite" #: awx/main/conf.py:153 +msgid "This password is used to retrieve subscription and content information" +msgstr "Ce mot de passe est utilisé pour récupérer les informations relatives à l'abonnement et au contenu" + +#: awx/main/conf.py:164 +msgid "Automation Analytics upload URL" +msgstr "URL de téléchargement d’Automation Analytics." + +#: awx/main/conf.py:165 msgid "" "This setting is used to to configure data collection for the Automation " "Analytics dashboard" msgstr "Ce paramètre est utilisé pour configurer la collecte de données pour le tableau de bord d'Automation Analytics" -#: awx/main/conf.py:161 +#: awx/main/conf.py:173 msgid "Unique identifier for an AWX/Tower installation" msgstr "Identifiant unique pour une installation AWX/Tower" -#: awx/main/conf.py:170 +#: awx/main/conf.py:182 msgid "Custom virtual environment paths" msgstr "Chemins d'environnement virtuels personnalisés" -#: awx/main/conf.py:171 +#: awx/main/conf.py:183 msgid "" "Paths where Tower will look for custom virtual environments (in addition to /" "var/lib/awx/venv/). Enter one path per line." msgstr "Chemins d'accès où Tower recherchera des environnements virtuels personnalisés (en plus de /var/lib/awx/venv/). Saisissez un chemin par ligne." -#: awx/main/conf.py:181 +#: awx/main/conf.py:193 msgid "Ansible Modules Allowed for Ad Hoc Jobs" msgstr "Modules Ansible autorisés pour des tâches ad hoc" -#: awx/main/conf.py:182 +#: awx/main/conf.py:194 msgid "List of modules allowed to be used by ad-hoc jobs." msgstr "Liste des modules que des tâches ad hoc sont autorisées à utiliser." -#: awx/main/conf.py:183 awx/main/conf.py:205 awx/main/conf.py:214 -#: awx/main/conf.py:225 awx/main/conf.py:235 awx/main/conf.py:245 -#: awx/main/conf.py:256 awx/main/conf.py:267 awx/main/conf.py:278 -#: awx/main/conf.py:290 awx/main/conf.py:299 awx/main/conf.py:312 -#: awx/main/conf.py:325 awx/main/conf.py:337 awx/main/conf.py:348 -#: awx/main/conf.py:359 awx/main/conf.py:371 awx/main/conf.py:383 -#: awx/main/conf.py:394 awx/main/conf.py:414 awx/main/conf.py:424 -#: awx/main/conf.py:434 awx/main/conf.py:450 awx/main/conf.py:463 -#: awx/main/conf.py:477 awx/main/conf.py:491 awx/main/conf.py:503 -#: awx/main/conf.py:513 awx/main/conf.py:524 awx/main/conf.py:534 -#: awx/main/conf.py:545 awx/main/conf.py:555 awx/main/conf.py:565 -#: awx/main/conf.py:577 awx/main/conf.py:589 awx/main/conf.py:601 -#: awx/main/conf.py:615 awx/main/conf.py:627 +#: awx/main/conf.py:195 awx/main/conf.py:217 awx/main/conf.py:226 +#: awx/main/conf.py:237 awx/main/conf.py:247 awx/main/conf.py:257 +#: awx/main/conf.py:267 awx/main/conf.py:279 awx/main/conf.py:292 +#: awx/main/conf.py:302 awx/main/conf.py:315 awx/main/conf.py:328 +#: awx/main/conf.py:340 awx/main/conf.py:351 awx/main/conf.py:362 +#: awx/main/conf.py:374 awx/main/conf.py:386 awx/main/conf.py:397 +#: awx/main/conf.py:417 awx/main/conf.py:427 awx/main/conf.py:437 +#: awx/main/conf.py:450 awx/main/conf.py:461 awx/main/conf.py:471 +#: awx/main/conf.py:482 awx/main/conf.py:492 awx/main/conf.py:502 +#: awx/main/conf.py:514 awx/main/conf.py:527 awx/main/conf.py:540 +#: awx/main/conf.py:555 awx/main/conf.py:568 msgid "Jobs" msgstr "Tâches" -#: awx/main/conf.py:192 +#: awx/main/conf.py:204 msgid "Always" msgstr "Toujours" -#: awx/main/conf.py:193 +#: awx/main/conf.py:205 msgid "Never" msgstr "Jamais" -#: awx/main/conf.py:194 +#: awx/main/conf.py:206 msgid "Only On Job Template Definitions" msgstr "Définitions de Modèle de job uniquement" -#: awx/main/conf.py:197 +#: awx/main/conf.py:209 msgid "When can extra variables contain Jinja templates?" msgstr "Quand des variables supplémentaires peuvent-elles contenir des modèles Jinja ?" -#: awx/main/conf.py:199 +#: awx/main/conf.py:211 msgid "" "Ansible allows variable substitution via the Jinja2 templating language for " "--extra-vars. This poses a potential security risk where Tower users with " @@ -2034,55 +2165,45 @@ msgid "" "to \"template\" or \"never\"." msgstr "Ansible permet la substitution de variables via le langage de modèle Jinja2 pour --extra-vars. Cela pose un risque potentiel de sécurité où les utilisateurs de Tower ayant la possibilité de spécifier des vars supplémentaires au moment du lancement du job peuvent utiliser les modèles Jinja2 pour exécuter arbitrairement Python. Il est recommandé de définir cette valeur à \"template\" (modèle) ou \"never\" (jamais)." -#: awx/main/conf.py:212 +#: awx/main/conf.py:224 msgid "Enable job isolation" msgstr "Activer l'isolement des tâches" -#: awx/main/conf.py:213 +#: awx/main/conf.py:225 msgid "" "Isolates an Ansible job from protected parts of the system to prevent " "exposing sensitive information." msgstr "Permet d'isoler une tâche Ansible des parties protégées du système pour éviter l'exposition d'informations sensibles." -#: awx/main/conf.py:221 +#: awx/main/conf.py:233 msgid "Job execution path" msgstr "Chemin d'exécution de la tâche" -#: awx/main/conf.py:222 +#: awx/main/conf.py:234 msgid "" "The directory in which Tower will create new temporary directories for job " "execution and isolation (such as credential files and custom inventory " "scripts)." msgstr "Répertoire dans lequel Tower créera des répertoires temporaires pour l'exécution et l'isolation de la tâche (comme les fichiers des informations d'identification et les scripts d'inventaire personnalisés)." -#: awx/main/conf.py:233 +#: awx/main/conf.py:245 msgid "Paths to hide from isolated jobs" msgstr "Chemins à dissimuler des tâches isolées" -#: awx/main/conf.py:234 +#: awx/main/conf.py:246 msgid "" "Additional paths to hide from isolated processes. Enter one path per line." msgstr "Chemins supplémentaires à dissimuler des processus isolés. Saisissez un chemin par ligne." -#: awx/main/conf.py:243 +#: awx/main/conf.py:255 msgid "Paths to expose to isolated jobs" msgstr "Chemins à exposer aux tâches isolées" -#: awx/main/conf.py:244 +#: awx/main/conf.py:256 msgid "" -"Whitelist of paths that would otherwise be hidden to expose to isolated " -"jobs. Enter one path per line." -msgstr "Liste blanche des chemins qui seraient autrement dissimulés de façon à ne pas être exposés aux tâches isolées. Saisissez un chemin par ligne." - -#: awx/main/conf.py:254 -msgid "Verbosity level for isolated node management tasks" -msgstr "Niveau de verbosité pour les tâches de gestion de nœuds isolés" - -#: awx/main/conf.py:255 -msgid "" -"This can be raised to aid in debugging connection issues for isolated task " -"execution" -msgstr "Cela peut être soulevé pour aider à déboguer les problèmes de connexion pour l'exécution de tâches isolées." +"List of paths that would otherwise be hidden to expose to isolated jobs. " +"Enter one path per line." +msgstr "Liste des chemins d’accès qui seraient autrement dissimulés de façon à ne pas être exposés aux tâches isolées. Saisissez un chemin par ligne." #: awx/main/conf.py:265 msgid "Isolated status check interval" @@ -2094,298 +2215,244 @@ msgid "" "isolated instances." msgstr "Nombre de secondes de veille entre les vérifications de statut pour les tâches s'exécutant sur des instances isolées." -#: awx/main/conf.py:275 +#: awx/main/conf.py:276 msgid "Isolated launch timeout" msgstr "Délai d'attente du lancement isolé" -#: awx/main/conf.py:276 +#: awx/main/conf.py:277 msgid "" "The timeout (in seconds) for launching jobs on isolated instances. This " "includes the time needed to copy source control files (playbooks) to the " "isolated instance." msgstr "Délai d'attente (en secondes) pour lancer des tâches sur des instances isolées. Cela inclut la durée nécessaire pour copier les fichiers de contrôle de la source (playbook) sur l'instance isolée." -#: awx/main/conf.py:287 +#: awx/main/conf.py:289 msgid "Isolated connection timeout" msgstr "Délai d'attente de connexion isolée" -#: awx/main/conf.py:288 +#: awx/main/conf.py:290 msgid "" "Ansible SSH connection timeout (in seconds) to use when communicating with " "isolated instances. Value should be substantially greater than expected " "network latency." msgstr "Délai d'attente de connexion SSH Ansible (en secondes) à utiliser lors de la communication avec des instances isolées. La valeur doit être nettement supérieure à la latence du réseau attendue." -#: awx/main/conf.py:297 +#: awx/main/conf.py:300 msgid "Isolated host key checking" msgstr "Vérification de la clé d’hôte isolée" -#: awx/main/conf.py:298 +#: awx/main/conf.py:301 msgid "" "When set to True, AWX will enforce strict host key checking for " "communication with isolated nodes." msgstr "Si cette valeur est définie sur True, AWX applique une vérification stricte de la clé d’hôte pour la communication avec les nœuds isolés." -#: awx/main/conf.py:308 +#: awx/main/conf.py:311 msgid "Generate RSA keys for isolated instances" msgstr "Génère des clés RSA pour les instances isolées" -#: awx/main/conf.py:309 +#: awx/main/conf.py:312 msgid "" "If set, a random RSA key will be generated and distributed to isolated " "instances. To disable this behavior and manage authentication for isolated " "instances outside of Tower, disable this setting." msgstr "Si définie, une clé RSA sera générée de manière aléatoire et distribuée aux instances isolées. Pour désactiver ce comportement, et gérer l'authentification pour les instances isolées en dehors de Tower, désactiver ce paramètre." -#: awx/main/conf.py:323 awx/main/conf.py:324 +#: awx/main/conf.py:326 awx/main/conf.py:327 msgid "The RSA private key for SSH traffic to isolated instances" msgstr "Clé privée RSA pour le trafic SSH vers des instances isolées" -#: awx/main/conf.py:335 awx/main/conf.py:336 +#: awx/main/conf.py:338 awx/main/conf.py:339 msgid "The RSA public key for SSH traffic to isolated instances" msgstr "Clé publique RSA pour le trafic SSH vers des instances isolées" -#: awx/main/conf.py:345 +#: awx/main/conf.py:348 msgid "Enable detailed resource profiling on all playbook runs" msgstr "Activer le profilage détaillé des ressources sur toutes les exécutions du playbook" -#: awx/main/conf.py:346 +#: awx/main/conf.py:349 msgid "" "If set, detailed resource profiling data will be collected on all jobs. This " "data can be gathered with `sosreport`." msgstr "Si cette valeur est définie, des données détaillées sur le profilage des ressources seront recueillies pour toutes les tâches. Ces données peuvent être collectées avec `sosreport`." -#: awx/main/conf.py:356 +#: awx/main/conf.py:359 msgid "Interval (in seconds) between polls for cpu usage." msgstr "Intervalle (en secondes) entre les interrogations pour l'utilisation du cpu." -#: awx/main/conf.py:357 +#: awx/main/conf.py:360 msgid "" "Interval (in seconds) between polls for cpu usage. Setting this lower than " "the default will affect playbook performance." -msgstr "Intervalle (en secondes) entre les interrogations pour l'utilisation du cpu. La définition de ce paramètre sur un niveau inférieur à celui par défaut affecte les performances du playbook." +msgstr "Intervalle (en secondes) entre les interrogations cpu. La performance du playbook sera affecte si vous réglez ce paramètre à un niveau inférieur à celui de la valeur par défaut." -#: awx/main/conf.py:368 +#: awx/main/conf.py:371 msgid "Interval (in seconds) between polls for memory usage." msgstr "Intervalle (en secondes) entre les interrogations pour l'utilisation de la mémoire." -#: awx/main/conf.py:369 +#: awx/main/conf.py:372 msgid "" "Interval (in seconds) between polls for memory usage. Setting this lower " "than the default will affect playbook performance." msgstr "Intervalle (en secondes) entre les interrogations pour l'utilisation de la mémoire. La définition de ce paramètre sur un niveau inférieur à celui par défaut affectera les performances du playbook." -#: awx/main/conf.py:380 +#: awx/main/conf.py:383 msgid "Interval (in seconds) between polls for PID count." msgstr "Intervalle (en secondes) entre les interrogations pour le comptage PID." -#: awx/main/conf.py:381 +#: awx/main/conf.py:384 msgid "" "Interval (in seconds) between polls for PID count. Setting this lower than " "the default will affect playbook performance." msgstr "Intervalle (en secondes) entre les interrogations pour le comptage PID. La définition de ce paramètre sur un niveau inférieur à celui par défaut affecte les performances du playbook." -#: awx/main/conf.py:392 +#: awx/main/conf.py:395 msgid "Extra Environment Variables" msgstr "Variables d'environnement supplémentaires" -#: awx/main/conf.py:393 +#: awx/main/conf.py:396 msgid "" "Additional environment variables set for playbook runs, inventory updates, " "project updates, and notification sending." msgstr "Variables d'environnement supplémentaires définies pour les exécutions de Playbook, les mises à jour de projet et l'envoi de notifications." -#: awx/main/conf.py:403 +#: awx/main/conf.py:406 msgid "Gather data for Automation Analytics" msgstr "Recueillir des données pour Automation Analytics" -#: awx/main/conf.py:404 +#: awx/main/conf.py:407 msgid "Enables Tower to gather data on automation and send it to Red Hat." msgstr "Permet à Tower de recueillir des données sur l'automatisation et de les envoyer à Red Hat." -#: awx/main/conf.py:412 +#: awx/main/conf.py:415 msgid "Run Project Updates With Higher Verbosity" msgstr "Exécuter des mises à jour de projet avec une plus grande verbosité" -#: awx/main/conf.py:413 +#: awx/main/conf.py:416 msgid "" "Adds the CLI -vvv flag to ansible-playbook runs of project_update.yml used " "for project updates." msgstr "Ajoute le drapeau CLI -vvv aux exécutions ansible-playbook de project_update.yml utilisées pour les mises à jour du projet." -#: awx/main/conf.py:422 +#: awx/main/conf.py:425 msgid "Enable Role Download" msgstr "Active le téléchargement du rôle" -#: awx/main/conf.py:423 +#: awx/main/conf.py:426 msgid "" "Allows roles to be dynamically downloaded from a requirements.yml file for " "SCM projects." msgstr "Permet aux rôles d'être téléchargés dynamiquement à partir du fichier requirements.yml pour les projets SCM." -#: awx/main/conf.py:432 +#: awx/main/conf.py:435 msgid "Enable Collection(s) Download" msgstr "Activer le téléchargement de la ou des collections" -#: awx/main/conf.py:433 +#: awx/main/conf.py:436 msgid "" "Allows collections to be dynamically downloaded from a requirements.yml file " "for SCM projects." msgstr "Permet aux collections d'être téléchargés dynamiquement à partir du fichier requirements.yml pour les projets SCM." -#: awx/main/conf.py:443 -msgid "Primary Galaxy Server URL" -msgstr "URL du serveur Galaxy primaire" - #: awx/main/conf.py:445 +msgid "Follow symlinks" +msgstr "Suivre les liens symboliques" + +#: awx/main/conf.py:447 msgid "" -"For organizations that run their own Galaxy service, this gives the option " -"to specify a host as the primary galaxy server. Requirements will be " -"downloaded from the primary if the specific role or collection is available " -"there. If the content is not avilable in the primary, or if this field is " -"left blank, it will default to galaxy.ansible.com." -msgstr "Pour les organisations qui exploitent leur propre service Galaxy, cela donne la possibilité de spécifier un hôte comme serveur Galaxy primaire. Les exigences seront téléchargées à partir du primaire si le rôle ou la collection spécifique y est disponible. Si le contenu n'est pas disponible dans le primaire, ou si ce champ est laissé vide, il sera par défaut galaxy.ansible.com." +"Follow symbolic links when scanning for playbooks. Be aware that setting " +"this to True can lead to infinite recursion if a link points to a parent " +"directory of itself." +msgstr "Suivez les liens symboliques lorsque vous recherchez des playbooks. Sachez que le réglage sur True peut entraîner une récursion infinie si un lien pointe vers un répertoire parent de lui-même." -#: awx/main/conf.py:459 -msgid "Primary Galaxy Server Username" -msgstr "Nom d'utilisateur du serveur Galaxy primaire" - -#: awx/main/conf.py:460 -msgid "" -"For using a galaxy server at higher precedence than the public Ansible " -"Galaxy. The username to use for basic authentication against the Galaxy " -"instance, this is mutually exclusive with PRIMARY_GALAXY_TOKEN." -msgstr "Permet d’utiliser un serveur Galaxy à une priorité plus élevée que le Galaxy Ansible public. Le nom d'utilisateur à utiliser pour l'authentification de base sur la base de l'instance Galaxy, ceci est mutuellement exclusif avec PRIMARY_GALAXY_TOKEN." - -#: awx/main/conf.py:473 -msgid "Primary Galaxy Server Password" -msgstr "Mot de passe du serveur Galaxy primaire" - -#: awx/main/conf.py:474 -msgid "" -"For using a galaxy server at higher precedence than the public Ansible " -"Galaxy. The password to use for basic authentication against the Galaxy " -"instance, this is mutually exclusive with PRIMARY_GALAXY_TOKEN." -msgstr "Permet d’utiliser un serveur Galaxy à une priorité plus élevée que le Galaxy Ansible public. Le mot de passe à utiliser pour l'authentification de base sur la base de l'instance Galaxy, ceci est mutuellement exclusif avec PRIMARY_GALAXY_TOKEN." - -#: awx/main/conf.py:487 -msgid "Primary Galaxy Server Token" -msgstr "Jeton du serveur Galaxy primaire" - -#: awx/main/conf.py:488 -msgid "" -"For using a galaxy server at higher precedence than the public Ansible " -"Galaxy. The token to use for connecting with the Galaxy instance, this is " -"mutually exclusive with corresponding username and password settings." -msgstr "Permet d’utiliser un serveur Galaxy à une priorité plus élevée que le Galaxy Ansible publique. Le jeton à utiliser pour se connecter avec l'instance Galaxy, ceci est mutuellement exclusif avec les paramètres de nom d'utilisateur et de mot de passe correspondants." - -#: awx/main/conf.py:500 -msgid "Primary Galaxy Authentication URL" -msgstr "URL d'authentification du Galaxy primaire" - -#: awx/main/conf.py:501 -msgid "" -"For using a galaxy server at higher precedence than the public Ansible " -"Galaxy. The token_endpoint of a Keycloak server." -msgstr "Permet d’utiliser un serveur Galaxy à une priorité plus élevée que le Galaxy Ansible public. Le token_endpoint d'un serveur Keycloak." - -#: awx/main/conf.py:511 -msgid "Allow Access to Public Galaxy" -msgstr "Permettre l'accès au Galaxy public" - -#: awx/main/conf.py:512 -msgid "" -"Allow or deny access to the public Ansible Galaxy during project updates." -msgstr "Autoriser ou refuser l'accès au Galaxy Ansible public pendant les mises à jour du projet." - -#: awx/main/conf.py:521 +#: awx/main/conf.py:458 msgid "Ignore Ansible Galaxy SSL Certificate Verification" msgstr "Ignorer la vérification du certificat SSL Galaxy Ansible" -#: awx/main/conf.py:522 +#: awx/main/conf.py:459 msgid "" -"If set to true, certificate validation will not be done wheninstalling " +"If set to true, certificate validation will not be done when installing " "content from any Galaxy server." msgstr "S'il est défini à true, la validation du certificat ne sera pas effectuée lors de l'installation de contenu à partir d'un serveur Galaxy." -#: awx/main/conf.py:532 +#: awx/main/conf.py:469 msgid "Standard Output Maximum Display Size" msgstr "Taille d'affichage maximale pour une sortie standard" -#: awx/main/conf.py:533 +#: awx/main/conf.py:470 msgid "" "Maximum Size of Standard Output in bytes to display before requiring the " "output be downloaded." msgstr "Taille maximale d'une sortie standard en octets à afficher avant de demander le téléchargement de la sortie." -#: awx/main/conf.py:542 +#: awx/main/conf.py:479 msgid "Job Event Standard Output Maximum Display Size" msgstr "Taille d'affichage maximale pour une sortie standard d'événement de tâche" -#: awx/main/conf.py:544 +#: awx/main/conf.py:481 msgid "" "Maximum Size of Standard Output in bytes to display for a single job or ad " "hoc command event. `stdout` will end with `…` when truncated." msgstr "Taille maximale de la sortie standard en octets à afficher pour une seule tâche ou pour un seul événement de commande ad hoc. `stdout` se terminera par `...` quand il sera tronqué." -#: awx/main/conf.py:553 +#: awx/main/conf.py:490 msgid "Maximum Scheduled Jobs" msgstr "Nombre max. de tâches planifiées" -#: awx/main/conf.py:554 +#: awx/main/conf.py:491 msgid "" "Maximum number of the same job template that can be waiting to run when " "launching from a schedule before no more are created." msgstr "Nombre maximal du même modèle de tâche qui peut être mis en attente d'exécution lors de son lancement à partir d'un calendrier, avant que d'autres ne soient créés." -#: awx/main/conf.py:563 +#: awx/main/conf.py:500 msgid "Ansible Callback Plugins" msgstr "Plug-ins de rappel Ansible" -#: awx/main/conf.py:564 +#: awx/main/conf.py:501 msgid "" "List of paths to search for extra callback plugins to be used when running " "jobs. Enter one path per line." msgstr "Liste des chemins servant à rechercher d'autres plug-ins de rappel qui serviront lors de l'exécution de tâches. Saisissez un chemin par ligne." -#: awx/main/conf.py:574 +#: awx/main/conf.py:511 msgid "Default Job Timeout" msgstr "Délai d'attente par défaut des tâches" -#: awx/main/conf.py:575 +#: awx/main/conf.py:512 msgid "" "Maximum time in seconds to allow jobs to run. Use value of 0 to indicate " "that no timeout should be imposed. A timeout set on an individual job " "template will override this." msgstr "Délai maximal (en secondes) d'exécution des tâches. Utilisez la valeur 0 pour indiquer qu'aucun délai ne doit être imposé. Un délai d'attente défini sur celui d'un modèle de tâche précis écrasera cette valeur." -#: awx/main/conf.py:586 +#: awx/main/conf.py:524 msgid "Default Inventory Update Timeout" msgstr "Délai d'attente par défaut pour la mise à jour d'inventaire" -#: awx/main/conf.py:587 +#: awx/main/conf.py:525 msgid "" "Maximum time in seconds to allow inventory updates to run. Use value of 0 to " "indicate that no timeout should be imposed. A timeout set on an individual " "inventory source will override this." msgstr "Délai maximal en secondes d'exécution des mises à jour d'inventaire. Utilisez la valeur 0 pour indiquer qu'aucun délai ne doit être imposé. Un délai d'attente défini sur celui d'une source d'inventaire précise écrasera cette valeur." -#: awx/main/conf.py:598 +#: awx/main/conf.py:537 msgid "Default Project Update Timeout" msgstr "Délai d'attente par défaut pour la mise à jour de projet" -#: awx/main/conf.py:599 +#: awx/main/conf.py:538 msgid "" "Maximum time in seconds to allow project updates to run. Use value of 0 to " "indicate that no timeout should be imposed. A timeout set on an individual " "project will override this." msgstr "Délai maximal en secondes d'exécution des mises à jour de projet. Utilisez la valeur 0 pour indiquer qu'aucun délai ne doit être imposé. Un délai d'attente défini sur celui d'un projet précis écrasera cette valeur." -#: awx/main/conf.py:610 +#: awx/main/conf.py:550 msgid "Per-Host Ansible Fact Cache Timeout" msgstr "Expiration du délai d’attente du cache Ansible Fact Cache par hôte" -#: awx/main/conf.py:611 +#: awx/main/conf.py:551 msgid "" "Maximum time, in seconds, that stored Ansible facts are considered valid " "since the last time they were modified. Only valid, non-stale, facts will be " @@ -2394,74 +2461,74 @@ msgid "" "timeout should be imposed." msgstr "Durée maximale, en secondes, pendant laquelle les faits Ansible sont considérés comme valides depuis leur dernière modification. Seuls les faits valides - non périmés - seront accessibles par un Playbook. Remarquez que cela n'a aucune incidence sur la suppression d'ansible_facts de la base de données. Utiliser une valeur de 0 pour indiquer qu'aucun timeout ne soit imposé." -#: awx/main/conf.py:624 -msgid "Maximum number of forks per job." +#: awx/main/conf.py:565 +msgid "Maximum number of forks per job" msgstr "Nombre maximum de fourches par tâche." -#: awx/main/conf.py:625 +#: awx/main/conf.py:566 msgid "" "Saving a Job Template with more than this number of forks will result in an " "error. When set to 0, no limit is applied." msgstr "L'enregistrement d'un modèle de tâche avec un nombre de fourches supérieur à ce nombre entraînera une erreur. Lorsqu'il est défini sur 0, aucune limite n'est appliquée." -#: awx/main/conf.py:636 +#: awx/main/conf.py:577 msgid "Logging Aggregator" msgstr "Agrégateur de journalisation" -#: awx/main/conf.py:637 +#: awx/main/conf.py:578 msgid "Hostname/IP where external logs will be sent to." msgstr "Nom d'hôte / IP où les journaux externes seront envoyés." -#: awx/main/conf.py:638 awx/main/conf.py:649 awx/main/conf.py:661 -#: awx/main/conf.py:671 awx/main/conf.py:683 awx/main/conf.py:698 -#: awx/main/conf.py:710 awx/main/conf.py:719 awx/main/conf.py:729 -#: awx/main/conf.py:741 awx/main/conf.py:752 awx/main/conf.py:764 -#: awx/main/conf.py:777 awx/main/conf.py:787 awx/main/conf.py:799 -#: awx/main/conf.py:810 awx/main/conf.py:820 +#: awx/main/conf.py:579 awx/main/conf.py:590 awx/main/conf.py:602 +#: awx/main/conf.py:612 awx/main/conf.py:624 awx/main/conf.py:639 +#: awx/main/conf.py:651 awx/main/conf.py:660 awx/main/conf.py:670 +#: awx/main/conf.py:682 awx/main/conf.py:693 awx/main/conf.py:706 +#: awx/main/conf.py:719 awx/main/conf.py:731 awx/main/conf.py:742 +#: awx/main/conf.py:752 msgid "Logging" msgstr "Journalisation" -#: awx/main/conf.py:646 +#: awx/main/conf.py:587 msgid "Logging Aggregator Port" msgstr "Port d'agrégateur de journalisation" -#: awx/main/conf.py:647 +#: awx/main/conf.py:588 msgid "" "Port on Logging Aggregator to send logs to (if required and not provided in " "Logging Aggregator)." msgstr "Port d'agrégateur de journalisation où envoyer les journaux (le cas échéant ou si non fourni dans l'agrégateur de journalisation)." -#: awx/main/conf.py:659 +#: awx/main/conf.py:600 msgid "Logging Aggregator Type" msgstr "Type d'agrégateur de journalisation" -#: awx/main/conf.py:660 +#: awx/main/conf.py:601 msgid "Format messages for the chosen log aggregator." msgstr "Formater les messages pour l'agrégateur de journalisation que vous aurez choisi." -#: awx/main/conf.py:669 +#: awx/main/conf.py:610 msgid "Logging Aggregator Username" msgstr "Nom d'utilisateur de l'agrégateur de journalisation" -#: awx/main/conf.py:670 +#: awx/main/conf.py:611 msgid "Username for external log aggregator (if required; HTTP/s only)." msgstr "Nom d'utilisateur pour l'agrégateur de journalisation externe (le cas échéant ; HTTP/s uniquement)." -#: awx/main/conf.py:681 +#: awx/main/conf.py:622 msgid "Logging Aggregator Password/Token" msgstr "Mot de passe / Jeton d'agrégateur de journalisation" -#: awx/main/conf.py:682 +#: awx/main/conf.py:623 msgid "" "Password or authentication token for external log aggregator (if required; " "HTTP/s only)." msgstr "Mot de passe ou jeton d'authentification d'agrégateur de journalisation externe (le cas échéant ; HTTP/s uniquement)." -#: awx/main/conf.py:691 +#: awx/main/conf.py:632 msgid "Loggers Sending Data to Log Aggregator Form" msgstr "Journaliseurs à l'origine des envois de données à l'agrégateur de journaux" -#: awx/main/conf.py:692 +#: awx/main/conf.py:633 msgid "" "List of loggers that will send HTTP logs to the collector, these can include " "any or all of: \n" @@ -2475,11 +2542,11 @@ msgstr "Liste des journaliseurs qui enverront des journaux HTTP au collecteur no "job_events - données de rappel issues d'événements de tâche Ansible\n" "system_tracking - données générées par des tâches de scan." -#: awx/main/conf.py:705 +#: awx/main/conf.py:646 msgid "Log System Tracking Facts Individually" msgstr "Système de journalisation traçant des facts individuellement" -#: awx/main/conf.py:706 +#: awx/main/conf.py:647 msgid "" "If set, system tracking facts will be sent for each package, service, or " "other item found in a scan, allowing for greater search query granularity. " @@ -2487,47 +2554,47 @@ msgid "" "efficiency in fact processing." msgstr "Si défini, les facts de traçage de système seront envoyés pour chaque package, service, ou autre item se trouvant dans un scan, ce qui permet une meilleure granularité de recherche. Si non définis, les facts seront envoyés sous forme de dictionnaire unique, ce qui permet une meilleure efficacité du processus pour les facts." -#: awx/main/conf.py:717 +#: awx/main/conf.py:658 msgid "Enable External Logging" msgstr "Activer la journalisation externe" -#: awx/main/conf.py:718 +#: awx/main/conf.py:659 msgid "Enable sending logs to external log aggregator." msgstr "Activer l'envoi de journaux à un agrégateur de journaux externe." -#: awx/main/conf.py:727 +#: awx/main/conf.py:668 msgid "Cluster-wide Tower unique identifier." msgstr "Identificateur unique Tower" -#: awx/main/conf.py:728 +#: awx/main/conf.py:669 msgid "Useful to uniquely identify Tower instances." msgstr "Utile pour identifier les instances Tower spécifiquement." -#: awx/main/conf.py:737 +#: awx/main/conf.py:678 msgid "Logging Aggregator Protocol" msgstr "Protocole de l'agrégateur de journalisation" -#: awx/main/conf.py:738 +#: awx/main/conf.py:679 msgid "" "Protocol used to communicate with log aggregator. HTTPS/HTTP assumes HTTPS " "unless http:// is explicitly used in the Logging Aggregator hostname." msgstr "Le protocole utilisé pour communiquer avec l'agrégateur de journalisation. HTTPS/HTTP assume HTTPS à moins que http:// ne soit explicitement utilisé dans le nom d'hôte de l'agrégateur de journalisation." -#: awx/main/conf.py:748 +#: awx/main/conf.py:689 msgid "TCP Connection Timeout" msgstr "Expiration du délai d'attente de connexion TCP" -#: awx/main/conf.py:749 +#: awx/main/conf.py:690 msgid "" "Number of seconds for a TCP connection to external log aggregator to " "timeout. Applies to HTTPS and TCP log aggregator protocols." msgstr "Délai d'attente (nombre de secondes) entre une connexion TCP et un agrégateur de journalisation externe. S'applique aux protocoles des agrégateurs de journalisation HTTPS et TCP." -#: awx/main/conf.py:759 +#: awx/main/conf.py:701 msgid "Enable/disable HTTPS certificate verification" msgstr "Activer/désactiver la vérification de certificat HTTPS" -#: awx/main/conf.py:760 +#: awx/main/conf.py:702 msgid "" "Flag to control enable/disable of certificate verification when " "LOG_AGGREGATOR_PROTOCOL is \"https\". If enabled, Tower's log handler will " @@ -2535,11 +2602,11 @@ msgid "" "connection." msgstr "Indicateur permettant de contrôler l'activation/désactivation de la vérification des certificats lorsque LOG_AGGREGATOR_PROTOCOL est \"https\". S'il est activé, le gestionnaire de journal de Tower vérifiera le certificat envoyé par l'agrégateur de journalisation externe avant d'établir la connexion." -#: awx/main/conf.py:772 +#: awx/main/conf.py:714 msgid "Logging Aggregator Level Threshold" msgstr "Seuil du niveau de l'agrégateur de journalisation" -#: awx/main/conf.py:773 +#: awx/main/conf.py:715 msgid "" "Level threshold used by log handler. Severities from lowest to highest are " "DEBUG, INFO, WARNING, ERROR, CRITICAL. Messages less severe than the " @@ -2547,198 +2614,144 @@ msgid "" "anlytics ignore this setting)" msgstr "Seuil de niveau utilisé par le gestionnaire de journal. Les niveaux de gravité sont les suivants (de la plus faible à la plus grave) : DEBUG (débogage), INFO, WARNING (avertissement), ERROR (erreur), CRITICAL (critique). Les messages moins graves que le seuil seront ignorés par le gestionnaire de journal. (les messages sous la catégorie awx.anlytics ignorent ce paramètre)" -#: awx/main/conf.py:785 -msgid "Enabled external log aggregation auditing" -msgstr "Activation de l’audit d’agrégation des journaux externes" - -#: awx/main/conf.py:786 -msgid "" -"When enabled, all external logs emitted by Tower will also be written to /" -"var/log/tower/external.log. This is an experimental setting intended to be " -"used for debugging external log aggregation issues (and may be subject to " -"change in the future)." -msgstr "Lorsque cette option est activée, tous les journaux externes émis par Tower seront également écrits dans /var/log/tower/external.log. Il s'agit d'un paramètre expérimental destiné à être utilisé pour le débogage de problèmes d'agrégation de journaux externes (et qui pourrait être modifié à l'avenir)." - -#: awx/main/conf.py:795 +#: awx/main/conf.py:727 msgid "Maximum disk persistance for external log aggregation (in GB)" msgstr "Persistance maximale du disque pour l'agrégation de journalisation externe (en Go)" -#: awx/main/conf.py:796 +#: awx/main/conf.py:728 msgid "" "Amount of data to store (in gigabytes) during an outage of the external log " "aggregator (defaults to 1). Equivalent to the rsyslogd queue.maxdiskspace " "setting." msgstr "Quantité de données à stocker (en gigaoctets) lors d'une panne de l'agrégateur de journalisation externe (valeur par défaut : 1). Équivalent au paramètre rsyslogd queue.maxdiskspace." -#: awx/main/conf.py:806 +#: awx/main/conf.py:738 msgid "File system location for rsyslogd disk persistence" msgstr "Emplacement du système de fichiers pour la persistance du disque rsyslogd" -#: awx/main/conf.py:807 +#: awx/main/conf.py:739 msgid "" "Location to persist logs that should be retried after an outage of the " "external log aggregator (defaults to /var/lib/awx). Equivalent to the " "rsyslogd queue.spoolDirectory setting." msgstr "Emplacement de persistance des journaux qui doivent être réessayés après une panne de l'agrégateur de journalisation externe (par défaut : /var/lib/awx). Équivalent au paramètre rsyslogd queue.spoolDirectory." -#: awx/main/conf.py:817 +#: awx/main/conf.py:749 msgid "Enable rsyslogd debugging" msgstr "Activer le débogage de rsyslogd" -#: awx/main/conf.py:818 +#: awx/main/conf.py:750 msgid "" "Enabled high verbosity debugging for rsyslogd. Useful for debugging " "connection issues for external log aggregation." msgstr "Activation du débogage de la verbosité élevée de rsyslogd. Utile pour le débogage des problèmes de connexion pour l'agrégation de journalisation externe." -#: awx/main/conf.py:828 -msgid "Message Durability" -msgstr "Durabilité des messages" - -#: awx/main/conf.py:829 -msgid "" -"When set (the default), underlying queues will be persisted to disk. " -"Disable this to enable higher message bus throughput." -msgstr "Lorsque cette option est définie (valeur par défaut), les files d'attente sous-jacentes sont conservées sur le disque. Désactivez cette option pour permettre un débit de bus de message plus élevé." - -#: awx/main/conf.py:838 +#: awx/main/conf.py:761 msgid "Last gather date for Automation Analytics." msgstr "Dernière date de rassemblement pour Automation Analytics." -#: awx/main/conf.py:848 +#: awx/main/conf.py:771 msgid "Automation Analytics Gather Interval" msgstr "Intervalle de collecte des données d'automatisation" -#: awx/main/conf.py:849 +#: awx/main/conf.py:772 msgid "Interval (in seconds) between data gathering." msgstr "Intervalle (en secondes) entre les collectes de données." -#: awx/main/conf.py:871 awx/sso/conf.py:1239 +#: awx/main/conf.py:795 awx/sso/conf.py:1543 msgid "\n" msgstr "\n" -#: awx/main/conf.py:892 -msgid "" -"A URL for Primary Galaxy must be defined before disabling public Galaxy." -msgstr "Une URL pour le Galaxy primaire doit être définie avant de désactiver le Galaxy public." - -#: awx/main/conf.py:912 -msgid "Cannot provide field if PRIMARY_GALAXY_URL is not set." -msgstr "Ne peut pas fournir de champ si PRIMARY_GALAXY_URL n'est pas défini." - -#: awx/main/conf.py:925 -#, python-brace-format -msgid "" -"Galaxy server settings are not available until Ansible {min_version}, you " -"are running {current_version}." -msgstr "Les paramètres du serveur Galaxy ne sont disponibles qu’à partir d’Ansible {min_version}, vous exécutez la version {current_version}." - -#: awx/main/conf.py:934 -msgid "" -"Setting Galaxy token and authentication URL is mutually exclusive with " -"username and password." -msgstr "La définition du jeton Galaxy et de l'URL d'authentification est mutuellement exclusive avec le nom d'utilisateur et le mot de passe." - -#: awx/main/conf.py:937 -msgid "If authenticating via username and password, both must be provided." -msgstr "En cas d'authentification par nom d'utilisateur et mot de passe, les deux doivent être fournis." - -#: awx/main/conf.py:943 -msgid "" -"If authenticating via token, both token and authentication URL must be " -"provided." -msgstr "En cas d'authentification par jeton, le jeton et l'URL d'authentification doivent tous deux être fournis." - -#: awx/main/constants.py:17 +#: awx/main/constants.py:16 msgid "Sudo" msgstr "Sudo" -#: awx/main/constants.py:17 +#: awx/main/constants.py:16 msgid "Su" msgstr "Su" -#: awx/main/constants.py:17 +#: awx/main/constants.py:16 msgid "Pbrun" msgstr "Pbrun" -#: awx/main/constants.py:17 +#: awx/main/constants.py:16 msgid "Pfexec" msgstr "Pfexec" -#: awx/main/constants.py:18 +#: awx/main/constants.py:17 msgid "DZDO" msgstr "DZDO" -#: awx/main/constants.py:18 +#: awx/main/constants.py:17 msgid "Pmrun" msgstr "Pmrun" -#: awx/main/constants.py:18 +#: awx/main/constants.py:17 msgid "Runas" msgstr "Runas" -#: awx/main/constants.py:19 +#: awx/main/constants.py:18 msgid "Enable" msgstr "Activer" -#: awx/main/constants.py:19 +#: awx/main/constants.py:18 msgid "Doas" msgstr "Comme" -#: awx/main/constants.py:19 +#: awx/main/constants.py:18 msgid "Ksu" msgstr "Ksu" -#: awx/main/constants.py:20 +#: awx/main/constants.py:19 msgid "Machinectl" msgstr "Machinectl" -#: awx/main/constants.py:20 +#: awx/main/constants.py:19 msgid "Sesu" msgstr "Sesu" -#: awx/main/constants.py:22 +#: awx/main/constants.py:21 msgid "None" msgstr "Aucun" -#: awx/main/credential_plugins/aim.py:16 +#: awx/main/credential_plugins/aim.py:11 msgid "CyberArk AIM URL" msgstr "URL CyberArk AIM" -#: awx/main/credential_plugins/aim.py:21 +#: awx/main/credential_plugins/aim.py:16 msgid "Application ID" msgstr "ID d'application" -#: awx/main/credential_plugins/aim.py:26 +#: awx/main/credential_plugins/aim.py:21 msgid "Client Key" msgstr "Clé du client" -#: awx/main/credential_plugins/aim.py:32 +#: awx/main/credential_plugins/aim.py:27 msgid "Client Certificate" msgstr "Certificat client" -#: awx/main/credential_plugins/aim.py:38 +#: awx/main/credential_plugins/aim.py:33 msgid "Verify SSL Certificates" msgstr "Vérifier les certificats SSL" -#: awx/main/credential_plugins/aim.py:44 +#: awx/main/credential_plugins/aim.py:39 msgid "Object Query" msgstr "Requête d'objet" -#: awx/main/credential_plugins/aim.py:46 +#: awx/main/credential_plugins/aim.py:41 msgid "" "Lookup query for the object. Ex: Safe=TestSafe;Object=testAccountName123" msgstr "Requête de recherche pour l'objet. Ex. : Safe=TestSafe;Object=testAccountName123" -#: awx/main/credential_plugins/aim.py:49 +#: awx/main/credential_plugins/aim.py:44 msgid "Object Query Format" msgstr "Format de requête d'objet" -#: awx/main/credential_plugins/aim.py:55 +#: awx/main/credential_plugins/aim.py:50 msgid "Reason" msgstr "Raison" -#: awx/main/credential_plugins/aim.py:57 +#: awx/main/credential_plugins/aim.py:52 msgid "" "Object request reason. This is only needed if it is required by the object's " "policy." @@ -2749,12 +2762,12 @@ msgid "Vault URL (DNS Name)" msgstr "URL du coffre (nom DNS)" #: awx/main/credential_plugins/azure_kv.py:26 -#: awx/main/models/credential/__init__.py:956 +#: awx/main/models/credential/__init__.py:946 msgid "Client ID" msgstr "ID du client" #: awx/main/credential_plugins/azure_kv.py:35 -#: awx/main/models/credential/__init__.py:965 +#: awx/main/models/credential/__init__.py:955 msgid "Tenant ID" msgstr "ID Client" @@ -2775,142 +2788,176 @@ msgid "The name of the secret to look up." msgstr "Nom du secret à rechercher." #: awx/main/credential_plugins/azure_kv.py:51 -#: awx/main/credential_plugins/conjur.py:47 +#: awx/main/credential_plugins/conjur.py:42 msgid "Secret Version" msgstr "Version secrète" #: awx/main/credential_plugins/azure_kv.py:53 -#: awx/main/credential_plugins/conjur.py:49 -#: awx/main/credential_plugins/hashivault.py:67 +#: awx/main/credential_plugins/conjur.py:44 +#: awx/main/credential_plugins/hashivault.py:89 msgid "" "Used to specify a specific secret version (if left empty, the latest version " "will be used)." msgstr "Utilisé pour spécifier une version secrète spécifique (si elle est laissée vide, la dernière version sera utilisée)." -#: awx/main/credential_plugins/conjur.py:18 +#: awx/main/credential_plugins/conjur.py:13 msgid "Conjur URL" msgstr "URL Conjur" -#: awx/main/credential_plugins/conjur.py:23 +#: awx/main/credential_plugins/conjur.py:18 msgid "API Key" msgstr "Clé API" -#: awx/main/credential_plugins/conjur.py:28 awx/main/models/inventory.py:1018 +#: awx/main/credential_plugins/conjur.py:23 +#: awx/main/migrations/_inventory_source_vars.py:147 msgid "Account" msgstr "Compte" -#: awx/main/credential_plugins/conjur.py:32 -#: awx/main/models/credential/__init__.py:598 -#: awx/main/models/credential/__init__.py:654 -#: awx/main/models/credential/__init__.py:712 -#: awx/main/models/credential/__init__.py:785 -#: awx/main/models/credential/__init__.py:834 -#: awx/main/models/credential/__init__.py:860 -#: awx/main/models/credential/__init__.py:887 -#: awx/main/models/credential/__init__.py:947 -#: awx/main/models/credential/__init__.py:1020 -#: awx/main/models/credential/__init__.py:1051 -#: awx/main/models/credential/__init__.py:1101 +#: awx/main/credential_plugins/conjur.py:27 +#: awx/main/models/credential/__init__.py:606 +#: awx/main/models/credential/__init__.py:662 +#: awx/main/models/credential/__init__.py:720 +#: awx/main/models/credential/__init__.py:793 +#: awx/main/models/credential/__init__.py:851 +#: awx/main/models/credential/__init__.py:877 +#: awx/main/models/credential/__init__.py:937 +#: awx/main/models/credential/__init__.py:1010 +#: awx/main/models/credential/__init__.py:1041 +#: awx/main/models/credential/__init__.py:1091 msgid "Username" msgstr "Nom d'utilisateur" -#: awx/main/credential_plugins/conjur.py:36 +#: awx/main/credential_plugins/conjur.py:31 msgid "Public Key Certificate" msgstr "Certificat de clé publique" -#: awx/main/credential_plugins/conjur.py:42 +#: awx/main/credential_plugins/conjur.py:37 msgid "Secret Identifier" msgstr "Identifiant secret" -#: awx/main/credential_plugins/conjur.py:44 +#: awx/main/credential_plugins/conjur.py:39 msgid "The identifier for the secret e.g., /some/identifier" msgstr "Identifiant du secret, par exemple : /un/identifiant" -#: awx/main/credential_plugins/hashivault.py:19 +#: awx/main/credential_plugins/hashivault.py:14 msgid "Server URL" msgstr "URL du serveur" -#: awx/main/credential_plugins/hashivault.py:22 +#: awx/main/credential_plugins/hashivault.py:17 msgid "The URL to the HashiCorp Vault" msgstr "URL du coffre HashiCorp" -#: awx/main/credential_plugins/hashivault.py:25 -#: awx/main/models/credential/__init__.py:986 -#: awx/main/models/credential/__init__.py:1003 +#: awx/main/credential_plugins/hashivault.py:20 +#: awx/main/models/credential/__init__.py:976 +#: awx/main/models/credential/__init__.py:993 msgid "Token" msgstr "Token" -#: awx/main/credential_plugins/hashivault.py:28 +#: awx/main/credential_plugins/hashivault.py:23 msgid "The access token used to authenticate to the Vault server" msgstr "Jeton d'accès utilisé pour s'authentifier auprès du serveur Vault" -#: awx/main/credential_plugins/hashivault.py:31 +#: awx/main/credential_plugins/hashivault.py:26 msgid "CA Certificate" msgstr "Certificat CA" -#: awx/main/credential_plugins/hashivault.py:34 +#: awx/main/credential_plugins/hashivault.py:29 msgid "" "The CA certificate used to verify the SSL certificate of the Vault server" msgstr "Le certificat CA utilisé pour vérifier le certificat SSL du serveur Vault" +#: awx/main/credential_plugins/hashivault.py:32 +msgid "AppRole role_id" +msgstr "AppRole role_id" + +#: awx/main/credential_plugins/hashivault.py:35 +msgid "The Role ID for AppRole Authentication" +msgstr "L'ID de rôle pour l'authentification AppRole" + #: awx/main/credential_plugins/hashivault.py:38 +msgid "AppRole secret_id" +msgstr "AppRole secret_id" + +#: awx/main/credential_plugins/hashivault.py:42 +msgid "The Secret ID for AppRole Authentication" +msgstr "ID secrète pour l'authentification AppRole" + +#: awx/main/credential_plugins/hashivault.py:45 +msgid "Path to Approle Auth" +msgstr "Le chemin d’accès vers AppRole Auth" + +#: awx/main/credential_plugins/hashivault.py:49 +msgid "" +"The AppRole Authentication path to use if one isn't provided in the metadata " +"when linking to an input field. Defaults to 'approle'" +msgstr "Le chemin d'authentification AppRole à utiliser si un chemin n'est pas fourni dans les métadonnées lors de la liaison avec un champ de saisie. La valeur par défaut est \"approle\"" + +#: awx/main/credential_plugins/hashivault.py:54 msgid "Path to Secret" msgstr "Chemin d'accès au secret" -#: awx/main/credential_plugins/hashivault.py:40 +#: awx/main/credential_plugins/hashivault.py:56 msgid "The path to the secret stored in the secret backend e.g, /some/secret/" msgstr "Chemin d'accès au secret stocké dans le backend du secret, par exemple /un/secret/" -#: awx/main/credential_plugins/hashivault.py:48 +#: awx/main/credential_plugins/hashivault.py:59 +msgid "Path to Auth" +msgstr "Chemin d'accès à Auth" + +#: awx/main/credential_plugins/hashivault.py:62 +msgid "The path where the Authentication method is mounted e.g, approle" +msgstr "Le chemin où la méthode d'authentification est montée, par exemple, approle" + +#: awx/main/credential_plugins/hashivault.py:70 msgid "API Version" msgstr "Version de l'API" -#: awx/main/credential_plugins/hashivault.py:50 +#: awx/main/credential_plugins/hashivault.py:72 msgid "" "API v1 is for static key/value lookups. API v2 is for versioned key/value " "lookups." msgstr "API v1 convient aux recherches de clé statique/valeur. API v2 convient aux recherches clé/valeur versionnées." -#: awx/main/credential_plugins/hashivault.py:55 +#: awx/main/credential_plugins/hashivault.py:77 msgid "Name of Secret Backend" msgstr "Nom du backend secret" -#: awx/main/credential_plugins/hashivault.py:57 +#: awx/main/credential_plugins/hashivault.py:79 msgid "" "The name of the kv secret backend (if left empty, the first segment of the " "secret path will be used)." msgstr "Nom du backend secret (s'il est laissé vide, le premier segment du chemin secret sera utilisé)." -#: awx/main/credential_plugins/hashivault.py:60 -#: awx/main/models/inventory.py:1023 +#: awx/main/credential_plugins/hashivault.py:82 +#: awx/main/migrations/_inventory_source_vars.py:152 msgid "Key Name" msgstr "Nom de la clé" -#: awx/main/credential_plugins/hashivault.py:62 +#: awx/main/credential_plugins/hashivault.py:84 msgid "The name of the key to look up in the secret." msgstr "Nom de la clé à rechercher dans le secret." -#: awx/main/credential_plugins/hashivault.py:65 +#: awx/main/credential_plugins/hashivault.py:87 msgid "Secret Version (v2 only)" msgstr "Version secrète (v2 uniquement)" -#: awx/main/credential_plugins/hashivault.py:74 +#: awx/main/credential_plugins/hashivault.py:96 msgid "Unsigned Public Key" msgstr "Clé publique non signée" -#: awx/main/credential_plugins/hashivault.py:79 +#: awx/main/credential_plugins/hashivault.py:101 msgid "Role Name" msgstr "Nom du rôle" -#: awx/main/credential_plugins/hashivault.py:81 +#: awx/main/credential_plugins/hashivault.py:103 msgid "The name of the role used to sign." msgstr "Le nom du rôle utilisé pour signer." -#: awx/main/credential_plugins/hashivault.py:84 +#: awx/main/credential_plugins/hashivault.py:106 msgid "Valid Principals" msgstr "Principaux valides" -#: awx/main/credential_plugins/hashivault.py:86 +#: awx/main/credential_plugins/hashivault.py:108 msgid "" "Valid principals (either usernames or hostnames) that the certificate should " "be signed for." @@ -2945,99 +2992,147 @@ msgstr "requis pour %s" msgid "secret values must be of type string, not {}" msgstr "les valeurs secrètes doivent être sous forme de string, et non pas {}" -#: awx/main/fields.py:667 +#: awx/main/fields.py:675 #, python-format msgid "cannot be set unless \"%s\" is set" msgstr "ne peut être défini à moins que \"%s\" ne soit défini" -#: awx/main/fields.py:702 +#: awx/main/fields.py:710 msgid "must be set when SSH key is encrypted." msgstr "doit être défini lorsque la clé SSH est chiffrée." -#: awx/main/fields.py:710 +#: awx/main/fields.py:718 msgid "should not be set when SSH key is not encrypted." msgstr "ne doit pas être défini lorsque la clé SSH n'est pas chiffrée." -#: awx/main/fields.py:769 +#: awx/main/fields.py:777 msgid "'dependencies' is not supported for custom credentials." msgstr "les dépendances ne sont pas prises en charge pour les identifiants personnalisés." -#: awx/main/fields.py:783 +#: awx/main/fields.py:791 msgid "\"tower\" is a reserved field name" msgstr "\"tower\" est un nom de champ réservé" -#: awx/main/fields.py:790 +#: awx/main/fields.py:798 #, python-format msgid "field IDs must be unique (%s)" msgstr "les ID de champ doivent être uniques (%s)" -#: awx/main/fields.py:805 +#: awx/main/fields.py:813 msgid "{} is not a {}" msgstr "{} n'est pas un(e) {}" -#: awx/main/fields.py:811 +#: awx/main/fields.py:819 #, python-brace-format msgid "{sub_key} not allowed for {element_type} type ({element_id})" msgstr "{sub_key} non autorisé pour le type {element_type} ({element_id})" -#: awx/main/fields.py:869 +#: awx/main/fields.py:877 msgid "" "Environment variable {} may affect Ansible configuration so its use is not " "allowed in credentials." msgstr "La variable d'environnement {} peut affecter la configuration Ansible, donc son utilisation n'est pas autorisée pour les identifiants." -#: awx/main/fields.py:875 -msgid "Environment variable {} is blacklisted from use in credentials." -msgstr "La variable d'environnement {} n'est pas autorisée pour les identifiants." +#: awx/main/fields.py:883 +msgid "Environment variable {} is not allowed to be used in credentials." +msgstr "La variable d'environnement {} ne peut pas être utilisée dans les identifiants." -#: awx/main/fields.py:903 +#: awx/main/fields.py:911 msgid "" "Must define unnamed file injector in order to reference `tower.filename`." msgstr "Doit définir l'injecteur de fichier sans nom pour pouvoir référencer « tower.filename »." -#: awx/main/fields.py:910 +#: awx/main/fields.py:918 msgid "Cannot directly reference reserved `tower` namespace container." msgstr "Impossible de référencer directement le conteneur d'espace de nommage réservé « Tower »." -#: awx/main/fields.py:920 +#: awx/main/fields.py:928 msgid "Must use multi-file syntax when injecting multiple files" msgstr "Doit utiliser la syntaxe multi-fichier lors de l'injection de plusieurs fichiers." -#: awx/main/fields.py:940 +#: awx/main/fields.py:948 #, python-brace-format msgid "{sub_key} uses an undefined field ({error_msg})" msgstr "{sub_key} utilise un champ non défini ({error_msg})" -#: awx/main/fields.py:947 +#: awx/main/fields.py:955 +msgid "Encountered unsafe code execution: {}" +msgstr "A rencontré une exécution de code dangereuse : {}" + +#: awx/main/fields.py:959 #, python-brace-format msgid "" "Syntax error rendering template for {sub_key} inside of {type} ({error_msg})" msgstr "Il y a une erreur de rendu de modèle pour {sub_key} dans {type} ({error_msg})" -#: awx/main/middleware.py:118 +#: awx/main/middleware.py:95 msgid "Formats of all available named urls" msgstr "Formats de toutes les URL nommées disponibles" -#: awx/main/middleware.py:119 +#: awx/main/middleware.py:96 msgid "" "Read-only list of key-value pairs that shows the standard format of all " "available named URLs." msgstr "Liste en lecture seule de paires clé/valeur qui affiche le format standard de toutes les URL nommées disponibles." -#: awx/main/middleware.py:121 awx/main/middleware.py:131 +#: awx/main/middleware.py:98 awx/main/middleware.py:108 msgid "Named URL" msgstr "URL nommée" -#: awx/main/middleware.py:128 +#: awx/main/middleware.py:105 msgid "List of all named url graph nodes." msgstr "Liste de tous les noeuds de graphique des URL nommées." -#: awx/main/middleware.py:129 +#: awx/main/middleware.py:106 msgid "" "Read-only list of key-value pairs that exposes named URL graph topology. Use " "this list to programmatically generate named URLs for resources" msgstr "Liste en lecture seule de paires clé/valeur qui affiche la topologie des graphiques des URL nommées. Utilisez cette liste pour générer via un programme des URL nommées pour les ressources" +#: awx/main/migrations/_inventory_source_vars.py:145 +msgid "Image ID" +msgstr "ID d'image" + +#: awx/main/migrations/_inventory_source_vars.py:146 +msgid "Availability Zone" +msgstr "Zone de disponibilité" + +#: awx/main/migrations/_inventory_source_vars.py:148 +msgid "Instance ID" +msgstr "ID d'instance" + +#: awx/main/migrations/_inventory_source_vars.py:149 +msgid "Instance State" +msgstr "État de l'instance" + +#: awx/main/migrations/_inventory_source_vars.py:150 +msgid "Platform" +msgstr "Plateforme " + +#: awx/main/migrations/_inventory_source_vars.py:151 +msgid "Instance Type" +msgstr "Type d'instance" + +#: awx/main/migrations/_inventory_source_vars.py:153 +msgid "Region" +msgstr "Région" + +#: awx/main/migrations/_inventory_source_vars.py:154 +msgid "Security Group" +msgstr "Groupe de sécurité" + +#: awx/main/migrations/_inventory_source_vars.py:155 +msgid "Tags" +msgstr "Balises" + +#: awx/main/migrations/_inventory_source_vars.py:156 +msgid "Tag None" +msgstr "Ne rien baliser" + +#: awx/main/migrations/_inventory_source_vars.py:157 +msgid "VPC ID" +msgstr "ID VPC" + #: awx/main/models/activity_stream.py:28 msgid "Entity Created" msgstr "Entité créée" @@ -3084,17 +3179,17 @@ msgstr "Module non pris en charge pour les commandes ad hoc." msgid "No argument passed to %s module." msgstr "Aucun argument transmis au module %s." -#: awx/main/models/base.py:33 awx/main/models/base.py:39 -#: awx/main/models/base.py:44 awx/main/models/base.py:49 +#: awx/main/models/base.py:34 awx/main/models/base.py:40 +#: awx/main/models/base.py:45 awx/main/models/base.py:50 msgid "Run" msgstr "Exécuter" -#: awx/main/models/base.py:34 awx/main/models/base.py:40 -#: awx/main/models/base.py:45 awx/main/models/base.py:50 +#: awx/main/models/base.py:35 awx/main/models/base.py:41 +#: awx/main/models/base.py:46 awx/main/models/base.py:51 msgid "Check" msgstr "Vérifier" -#: awx/main/models/base.py:35 +#: awx/main/models/base.py:36 msgid "Scan" msgstr "Scanner" @@ -3104,190 +3199,196 @@ msgid "" "Tower documentation for details on each type." msgstr "Spécifiez le type d'information d'identification à créer. Consultez la documentation d’Ansible Tower pour en savoir plus sur chaque type." -#: awx/main/models/credential/__init__.py:110 -#: awx/main/models/credential/__init__.py:353 +#: awx/main/models/credential/__init__.py:114 +#: awx/main/models/credential/__init__.py:358 msgid "" "Enter inputs using either JSON or YAML syntax. Refer to the Ansible Tower " "documentation for example syntax." msgstr "Entrez les variables avec la syntaxe JSON ou YAML. Consultez la documentation d’Ansible Tower pour avoir un exemple de syntaxe." -#: awx/main/models/credential/__init__.py:325 -#: awx/main/models/credential/__init__.py:594 +#: awx/main/models/credential/__init__.py:329 +#: awx/main/models/credential/__init__.py:602 msgid "Machine" msgstr "Machine" -#: awx/main/models/credential/__init__.py:326 -#: awx/main/models/credential/__init__.py:680 +#: awx/main/models/credential/__init__.py:330 +#: awx/main/models/credential/__init__.py:688 msgid "Vault" msgstr "Coffre-fort" -#: awx/main/models/credential/__init__.py:327 -#: awx/main/models/credential/__init__.py:707 +#: awx/main/models/credential/__init__.py:331 +#: awx/main/models/credential/__init__.py:715 msgid "Network" msgstr "Réseau" -#: awx/main/models/credential/__init__.py:328 -#: awx/main/models/credential/__init__.py:649 +#: awx/main/models/credential/__init__.py:332 +#: awx/main/models/credential/__init__.py:657 msgid "Source Control" msgstr "Contrôle de la source" -#: awx/main/models/credential/__init__.py:329 +#: awx/main/models/credential/__init__.py:333 msgid "Cloud" msgstr "Cloud" -#: awx/main/models/credential/__init__.py:330 +#: awx/main/models/credential/__init__.py:334 msgid "Personal Access Token" msgstr "Jeton d'accès personnel" -#: awx/main/models/credential/__init__.py:331 -#: awx/main/models/credential/__init__.py:1015 +#: awx/main/models/credential/__init__.py:335 +#: awx/main/models/credential/__init__.py:1005 msgid "Insights" msgstr "Insights" -#: awx/main/models/credential/__init__.py:332 +#: awx/main/models/credential/__init__.py:336 msgid "External" msgstr "Externe" -#: awx/main/models/credential/__init__.py:333 +#: awx/main/models/credential/__init__.py:337 msgid "Kubernetes" msgstr "Kubernetes" -#: awx/main/models/credential/__init__.py:359 +#: awx/main/models/credential/__init__.py:338 +msgid "Galaxy/Automation Hub" +msgstr "Galaxie/Pôle d'automatisation" + +#: awx/main/models/credential/__init__.py:364 msgid "" "Enter injectors using either JSON or YAML syntax. Refer to the Ansible Tower " "documentation for example syntax." msgstr "Entrez les injecteurs avec la syntaxe JSON ou YAML. Consultez la documentation d’Ansible Tower pour avoir un exemple de syntaxe." -#: awx/main/models/credential/__init__.py:428 +#: awx/main/models/credential/__init__.py:433 #, python-format msgid "adding %s credential type" msgstr "ajout type d'identifiants %s" -#: awx/main/models/credential/__init__.py:602 -#: awx/main/models/credential/__init__.py:658 -#: awx/main/models/credential/__init__.py:716 -#: awx/main/models/credential/__init__.py:838 -#: awx/main/models/credential/__init__.py:864 -#: awx/main/models/credential/__init__.py:891 -#: awx/main/models/credential/__init__.py:951 -#: awx/main/models/credential/__init__.py:1024 -#: awx/main/models/credential/__init__.py:1055 -#: awx/main/models/credential/__init__.py:1105 +#: awx/main/models/credential/__init__.py:610 +#: awx/main/models/credential/__init__.py:666 +#: awx/main/models/credential/__init__.py:724 +#: awx/main/models/credential/__init__.py:855 +#: awx/main/models/credential/__init__.py:881 +#: awx/main/models/credential/__init__.py:941 +#: awx/main/models/credential/__init__.py:1014 +#: awx/main/models/credential/__init__.py:1045 +#: awx/main/models/credential/__init__.py:1097 msgid "Password" msgstr "Mot de passe" -#: awx/main/models/credential/__init__.py:608 -#: awx/main/models/credential/__init__.py:721 +#: awx/main/models/credential/__init__.py:616 +#: awx/main/models/credential/__init__.py:729 msgid "SSH Private Key" msgstr "Clé privée SSH" -#: awx/main/models/credential/__init__.py:615 +#: awx/main/models/credential/__init__.py:623 msgid "Signed SSH Certificate" msgstr "Certificat SSH signé" -#: awx/main/models/credential/__init__.py:621 -#: awx/main/models/credential/__init__.py:670 -#: awx/main/models/credential/__init__.py:728 +#: awx/main/models/credential/__init__.py:629 +#: awx/main/models/credential/__init__.py:678 +#: awx/main/models/credential/__init__.py:736 msgid "Private Key Passphrase" msgstr "Phrase de passe pour la clé privée" -#: awx/main/models/credential/__init__.py:627 +#: awx/main/models/credential/__init__.py:635 msgid "Privilege Escalation Method" msgstr "Méthode d'escalade privilégiée" -#: awx/main/models/credential/__init__.py:629 +#: awx/main/models/credential/__init__.py:637 msgid "" "Specify a method for \"become\" operations. This is equivalent to specifying " "the --become-method Ansible parameter." msgstr "Spécifiez une méthode pour les opérations « become ». Cela équivaut à définir le paramètre Ansible --become-method." -#: awx/main/models/credential/__init__.py:634 +#: awx/main/models/credential/__init__.py:642 msgid "Privilege Escalation Username" msgstr "Nom d’utilisateur pour l’élévation des privilèges" -#: awx/main/models/credential/__init__.py:638 +#: awx/main/models/credential/__init__.py:646 msgid "Privilege Escalation Password" msgstr "Mot de passe pour l’élévation des privilèges" -#: awx/main/models/credential/__init__.py:663 +#: awx/main/models/credential/__init__.py:671 msgid "SCM Private Key" msgstr "Clé privée SCM" -#: awx/main/models/credential/__init__.py:685 +#: awx/main/models/credential/__init__.py:693 msgid "Vault Password" msgstr "Mot de passe Vault" -#: awx/main/models/credential/__init__.py:691 +#: awx/main/models/credential/__init__.py:699 msgid "Vault Identifier" msgstr "Identifiant Archivage sécurisé" -#: awx/main/models/credential/__init__.py:694 +#: awx/main/models/credential/__init__.py:702 msgid "" "Specify an (optional) Vault ID. This is equivalent to specifying the --vault-" "id Ansible parameter for providing multiple Vault passwords. Note: this " "feature only works in Ansible 2.4+." msgstr "Spécifiez un ID d'archivage sécurisé (facultatif). Ceci équivaut à spécifier le paramètre --vault-id d'Ansible pour fournir plusieurs mots de passe d'archivage sécurisé. Remarque : cette fonctionnalité ne fonctionne que dans Ansible 2.4+." -#: awx/main/models/credential/__init__.py:733 +#: awx/main/models/credential/__init__.py:741 msgid "Authorize" msgstr "Autoriser" -#: awx/main/models/credential/__init__.py:737 +#: awx/main/models/credential/__init__.py:745 msgid "Authorize Password" msgstr "Mot de passe d’autorisation" -#: awx/main/models/credential/__init__.py:751 +#: awx/main/models/credential/__init__.py:759 msgid "Amazon Web Services" msgstr "Amazon Web Services" -#: awx/main/models/credential/__init__.py:756 +#: awx/main/models/credential/__init__.py:764 msgid "Access Key" msgstr "Clé d’accès" -#: awx/main/models/credential/__init__.py:760 +#: awx/main/models/credential/__init__.py:768 msgid "Secret Key" msgstr "Clé secrète" -#: awx/main/models/credential/__init__.py:765 +#: awx/main/models/credential/__init__.py:773 msgid "STS Token" msgstr "Token STS" -#: awx/main/models/credential/__init__.py:768 +#: awx/main/models/credential/__init__.py:776 msgid "" "Security Token Service (STS) is a web service that enables you to request " "temporary, limited-privilege credentials for AWS Identity and Access " "Management (IAM) users." msgstr "Le service de jeton de sécurité (STS) est un service Web qui permet de demander des informations d’identification provisoires avec des privilèges limités pour les utilisateurs d’AWS Identity and Access Management (IAM)." -#: awx/main/models/credential/__init__.py:780 awx/main/models/inventory.py:833 +#: awx/main/models/credential/__init__.py:788 awx/main/models/inventory.py:826 msgid "OpenStack" msgstr "OpenStack" -#: awx/main/models/credential/__init__.py:789 +#: awx/main/models/credential/__init__.py:797 msgid "Password (API Key)" msgstr "Mot de passe (clé API)" -#: awx/main/models/credential/__init__.py:794 -#: awx/main/models/credential/__init__.py:1046 +#: awx/main/models/credential/__init__.py:802 +#: awx/main/models/credential/__init__.py:1036 msgid "Host (Authentication URL)" msgstr "Hôte (URL d’authentification)" -#: awx/main/models/credential/__init__.py:796 +#: awx/main/models/credential/__init__.py:804 msgid "" "The host to authenticate with. For example, https://openstack.business.com/" "v2.0/" -msgstr "Hôte avec lequel s’authentifier. Exemple,\n" -"https://openstack.business.com/v2.0/" +msgstr "Hôte avec lequel s’authentifier. Exemple, https://openstack.business.com/v2.0/" -#: awx/main/models/credential/__init__.py:800 +#: awx/main/models/credential/__init__.py:808 msgid "Project (Tenant Name)" msgstr "Projet (nom du client)" -#: awx/main/models/credential/__init__.py:804 +#: awx/main/models/credential/__init__.py:812 +msgid "Project (Domain Name)" +msgstr "Projet (nom de domaine)" + +#: awx/main/models/credential/__init__.py:816 msgid "Domain Name" msgstr "Nom de domaine" -#: awx/main/models/credential/__init__.py:806 +#: awx/main/models/credential/__init__.py:818 msgid "" "OpenStack domains define administrative boundaries. It is only needed for " "Keystone v3 authentication URLs. Refer to Ansible Tower documentation for " @@ -3296,156 +3397,156 @@ msgstr "Les domaines OpenStack définissent les limites administratives. Ils son #: awx/main/models/credential/__init__.py:824 msgid "Region Name" -msgstr "Nom de la region" +msgstr "Nom de la région" #: awx/main/models/credential/__init__.py:826 -msgid "" -"For some cloud providers, like OVH, region must be specified." -msgstr "" -"Chez certains fournisseurs, comme OVH, vous devez spécifier le nom de la région" +msgid "For some cloud providers, like OVH, region must be specified" +msgstr "Pour certains fournisseurs de cloud, comme OVH, la région doit être précisée" -#: awx/main/models/credential/__init__.py:812 -#: awx/main/models/credential/__init__.py:1110 +#: awx/main/models/credential/__init__.py:829 +#: awx/main/models/credential/__init__.py:1109 #: awx/main/models/credential/__init__.py:1144 msgid "Verify SSL" msgstr "Vérifier SSL" -#: awx/main/models/credential/__init__.py:823 awx/main/models/inventory.py:830 +#: awx/main/models/credential/__init__.py:840 awx/main/models/inventory.py:824 msgid "VMware vCenter" msgstr "VMware vCenter" -#: awx/main/models/credential/__init__.py:828 +#: awx/main/models/credential/__init__.py:845 msgid "VCenter Host" msgstr "Hôte vCenter" -#: awx/main/models/credential/__init__.py:830 +#: awx/main/models/credential/__init__.py:847 msgid "" "Enter the hostname or IP address that corresponds to your VMware vCenter." msgstr "Saisir le nom d’hôte ou l’adresse IP qui correspond à votre VMware vCenter." -#: awx/main/models/credential/__init__.py:849 awx/main/models/inventory.py:831 +#: awx/main/models/credential/__init__.py:866 awx/main/models/inventory.py:825 msgid "Red Hat Satellite 6" msgstr "Red Hat Satellite 6" -#: awx/main/models/credential/__init__.py:854 +#: awx/main/models/credential/__init__.py:871 msgid "Satellite 6 URL" msgstr "URL Satellite 6" -#: awx/main/models/credential/__init__.py:856 +#: awx/main/models/credential/__init__.py:873 msgid "" "Enter the URL that corresponds to your Red Hat Satellite 6 server. For " "example, https://satellite.example.org" msgstr "Veuillez saisir l’URL qui correspond à votre serveur Red Hat Satellite 6. Par exemple, https://satellite.example.org" -#: awx/main/models/credential/__init__.py:875 awx/main/models/inventory.py:832 -msgid "Red Hat CloudForms" -msgstr "Red Hat CloudForms" - -#: awx/main/models/credential/__init__.py:880 -msgid "CloudForms URL" -msgstr "URL CloudForms" - -#: awx/main/models/credential/__init__.py:882 -msgid "" -"Enter the URL for the virtual machine that corresponds to your CloudForms " -"instance. For example, https://cloudforms.example.org" -msgstr "Veuillez saisir l’URL de la machine virtuelle qui correspond à votre instance de CloudForm. Par exemple, https://cloudforms.example.org" - -#: awx/main/models/credential/__init__.py:902 awx/main/models/inventory.py:828 +#: awx/main/models/credential/__init__.py:892 awx/main/models/inventory.py:822 msgid "Google Compute Engine" msgstr "Google Compute Engine" -#: awx/main/models/credential/__init__.py:907 +#: awx/main/models/credential/__init__.py:897 msgid "Service Account Email Address" msgstr "Adresse électronique du compte de service" -#: awx/main/models/credential/__init__.py:909 +#: awx/main/models/credential/__init__.py:899 msgid "" "The email address assigned to the Google Compute Engine service account." msgstr "Adresse électronique attribuée au compte de service Google Compute Engine." -#: awx/main/models/credential/__init__.py:915 +#: awx/main/models/credential/__init__.py:905 msgid "" "The Project ID is the GCE assigned identification. It is often constructed " "as three words or two words followed by a three-digit number. Examples: " "project-id-000 and another-project-id" msgstr "L’ID du projet est l’identifiant attribué par GCE. Il se compose souvent de deux ou trois mots suivis d’un nombre à trois chiffres. Exemples : project-id-000 and another-project-id" -#: awx/main/models/credential/__init__.py:921 +#: awx/main/models/credential/__init__.py:911 msgid "RSA Private Key" msgstr "Clé privée RSA" -#: awx/main/models/credential/__init__.py:926 +#: awx/main/models/credential/__init__.py:916 msgid "" "Paste the contents of the PEM file associated with the service account email." msgstr "Collez le contenu du fichier PEM associé à l’adresse électronique du compte de service." -#: awx/main/models/credential/__init__.py:936 awx/main/models/inventory.py:829 +#: awx/main/models/credential/__init__.py:926 awx/main/models/inventory.py:823 msgid "Microsoft Azure Resource Manager" msgstr "Microsoft Azure Resource Manager" -#: awx/main/models/credential/__init__.py:941 +#: awx/main/models/credential/__init__.py:931 msgid "Subscription ID" msgstr "ID d’abonnement" -#: awx/main/models/credential/__init__.py:943 +#: awx/main/models/credential/__init__.py:933 msgid "Subscription ID is an Azure construct, which is mapped to a username." msgstr "L’ID d’abonnement est une construction Azure mappée à un nom d’utilisateur." -#: awx/main/models/credential/__init__.py:969 +#: awx/main/models/credential/__init__.py:959 msgid "Azure Cloud Environment" msgstr "Environnement Cloud Azure" -#: awx/main/models/credential/__init__.py:971 +#: awx/main/models/credential/__init__.py:961 msgid "" "Environment variable AZURE_CLOUD_ENVIRONMENT when using Azure GovCloud or " "Azure stack." msgstr "Variable d'environnement AZURE_CLOUD_ENVIRONMENT avec Azure GovCloud ou une pile Azure." -#: awx/main/models/credential/__init__.py:981 +#: awx/main/models/credential/__init__.py:971 msgid "GitHub Personal Access Token" msgstr "Jeton d'accès personnel GitHub" -#: awx/main/models/credential/__init__.py:989 +#: awx/main/models/credential/__init__.py:979 msgid "This token needs to come from your profile settings in GitHub" msgstr "Ce jeton doit provenir de vos paramètres de profil dans GitHub" -#: awx/main/models/credential/__init__.py:998 +#: awx/main/models/credential/__init__.py:988 msgid "GitLab Personal Access Token" msgstr "Jeton d'accès personnel GitLab" -#: awx/main/models/credential/__init__.py:1006 +#: awx/main/models/credential/__init__.py:996 msgid "This token needs to come from your profile settings in GitLab" msgstr "Ce jeton doit provenir de vos paramètres de profil dans GitLab" -#: awx/main/models/credential/__init__.py:1041 awx/main/models/inventory.py:834 +#: awx/main/models/credential/__init__.py:1031 awx/main/models/inventory.py:827 msgid "Red Hat Virtualization" msgstr "Red Hat Virtualization" -#: awx/main/models/credential/__init__.py:1048 +#: awx/main/models/credential/__init__.py:1038 msgid "The host to authenticate with." msgstr "Hôte avec lequel s’authentifier." -#: awx/main/models/credential/__init__.py:1060 +#: awx/main/models/credential/__init__.py:1050 msgid "CA File" msgstr "Fichier CA" -#: awx/main/models/credential/__init__.py:1062 +#: awx/main/models/credential/__init__.py:1052 msgid "Absolute file path to the CA file to use (optional)" msgstr "Chemin d'accès absolu vers le fichier CA à utiliser (en option)" -#: awx/main/models/credential/__init__.py:1091 awx/main/models/inventory.py:835 +#: awx/main/models/credential/__init__.py:1081 awx/main/models/inventory.py:828 msgid "Ansible Tower" msgstr "Ansible Tower" -#: awx/main/models/credential/__init__.py:1096 +#: awx/main/models/credential/__init__.py:1086 msgid "Ansible Tower Hostname" msgstr "Nom d'hôte Ansible Tower" -#: awx/main/models/credential/__init__.py:1098 +#: awx/main/models/credential/__init__.py:1088 msgid "The Ansible Tower base URL to authenticate with." msgstr "L'URL basé Ansible Tower avec lequel s'authentifier." +#: awx/main/models/credential/__init__.py:1093 +msgid "" +"The Ansible Tower user to authenticate as.This should not be set if an OAuth " +"token is being used." +msgstr "L'utilisateur Ansible Tower doit s'authentifier en tant que tel. Ne doit pas être défini si un jeton OAuth est utilisé." + +#: awx/main/models/credential/__init__.py:1102 +msgid "OAuth Token" +msgstr "Jeton OAuth" + +#: awx/main/models/credential/__init__.py:1105 +msgid "" +"An OAuth token to use to authenticate to Tower with.This should not be set " +"if username/password are being used." +msgstr "Un jeton OAuth à utiliser pour s'authentifier auprès de Tower. Ne doit pas être défini si un nom d'utilisateur/mot de passe est utilisé." + #: awx/main/models/credential/__init__.py:1130 msgid "OpenShift or Kubernetes API Bearer Token" msgstr "Jeton du porteur d’API OpenShift ou Kubernetes" @@ -3466,464 +3567,447 @@ msgstr "Token du porteur d'authentification d'API" msgid "Certificate Authority data" msgstr "Données de l'autorité de certification" -#: awx/main/models/credential/__init__.py:1190 +#: awx/main/models/credential/__init__.py:1162 +msgid "Ansible Galaxy/Automation Hub API Token" +msgstr "Jeton Galaxy/API Pôle d'automatisation" + +#: awx/main/models/credential/__init__.py:1166 +msgid "Galaxy Server URL" +msgstr "URL du serveur Galaxy" + +#: awx/main/models/credential/__init__.py:1168 +msgid "The URL of the Galaxy instance to connect to." +msgstr "L'URL de l'instance de la Galaxie à laquelle se connecter." + +#: awx/main/models/credential/__init__.py:1171 +msgid "Auth Server URL" +msgstr "URL Serveur Auth" + +#: awx/main/models/credential/__init__.py:1174 +msgid "The URL of a Keycloak server token_endpoint, if using SSO auth." +msgstr "L'URL d'un serveur Keycloak token_endpoint, si vous utilisez l'authentification SSO." + +#: awx/main/models/credential/__init__.py:1179 +msgid "API Token" +msgstr "Token API" + +#: awx/main/models/credential/__init__.py:1183 +msgid "A token to use for authentication against the Galaxy instance." +msgstr "Un jeton à utiliser pour l'authentification contre l'instance Galaxy." + +#: awx/main/models/credential/__init__.py:1222 msgid "Target must be a non-external credential" msgstr "La cible doit être une information d'identification non externe" -#: awx/main/models/credential/__init__.py:1195 +#: awx/main/models/credential/__init__.py:1227 msgid "Source must be an external credential" msgstr "La source doit être une information d'identification externe" -#: awx/main/models/credential/__init__.py:1202 +#: awx/main/models/credential/__init__.py:1234 msgid "Input field must be defined on target credential (options are {})." msgstr "Le champ de saisie doit être défini sur des informations d'identification externes (les options sont {})." -#: awx/main/models/events.py:152 awx/main/models/events.py:674 +#: awx/main/models/events.py:165 awx/main/models/events.py:707 msgid "Host Failed" msgstr "Échec de l'hôte" -#: awx/main/models/events.py:153 +#: awx/main/models/events.py:166 msgid "Host Started" msgstr "Hôte démarré" -#: awx/main/models/events.py:154 awx/main/models/events.py:675 +#: awx/main/models/events.py:167 awx/main/models/events.py:708 msgid "Host OK" msgstr "Hôte OK" -#: awx/main/models/events.py:155 +#: awx/main/models/events.py:168 msgid "Host Failure" msgstr "Échec de l'hôte" -#: awx/main/models/events.py:156 awx/main/models/events.py:681 +#: awx/main/models/events.py:169 awx/main/models/events.py:714 msgid "Host Skipped" msgstr "Hôte ignoré" -#: awx/main/models/events.py:157 awx/main/models/events.py:676 +#: awx/main/models/events.py:170 awx/main/models/events.py:709 msgid "Host Unreachable" msgstr "Hôte inaccessible" -#: awx/main/models/events.py:158 awx/main/models/events.py:172 +#: awx/main/models/events.py:171 awx/main/models/events.py:185 msgid "No Hosts Remaining" msgstr "Aucun hôte restant" -#: awx/main/models/events.py:159 +#: awx/main/models/events.py:172 msgid "Host Polling" msgstr "Interrogation de l'hôte" -#: awx/main/models/events.py:160 +#: awx/main/models/events.py:173 msgid "Host Async OK" msgstr "Désynchronisation des hôtes OK" -#: awx/main/models/events.py:161 +#: awx/main/models/events.py:174 msgid "Host Async Failure" msgstr "Échec de désynchronisation des hôtes" -#: awx/main/models/events.py:162 +#: awx/main/models/events.py:175 msgid "Item OK" msgstr "Élément OK" -#: awx/main/models/events.py:163 +#: awx/main/models/events.py:176 msgid "Item Failed" msgstr "Échec de l'élément" -#: awx/main/models/events.py:164 +#: awx/main/models/events.py:177 msgid "Item Skipped" msgstr "Élément ignoré" -#: awx/main/models/events.py:165 +#: awx/main/models/events.py:178 msgid "Host Retry" msgstr "Nouvel essai de l'hôte" -#: awx/main/models/events.py:167 +#: awx/main/models/events.py:180 msgid "File Difference" msgstr "Écart entre les fichiers" -#: awx/main/models/events.py:168 +#: awx/main/models/events.py:181 msgid "Playbook Started" msgstr "Playbook démarré" -#: awx/main/models/events.py:169 +#: awx/main/models/events.py:182 msgid "Running Handlers" msgstr "Descripteurs d'exécution" -#: awx/main/models/events.py:170 +#: awx/main/models/events.py:183 msgid "Including File" msgstr "Ajout de fichier" -#: awx/main/models/events.py:171 +#: awx/main/models/events.py:184 msgid "No Hosts Matched" msgstr "Aucun hôte correspondant" -#: awx/main/models/events.py:173 +#: awx/main/models/events.py:186 msgid "Task Started" msgstr "Tâche démarrée" -#: awx/main/models/events.py:175 +#: awx/main/models/events.py:188 msgid "Variables Prompted" msgstr "Variables demandées" -#: awx/main/models/events.py:176 +#: awx/main/models/events.py:189 msgid "Gathering Facts" msgstr "Collecte des faits" -#: awx/main/models/events.py:177 +#: awx/main/models/events.py:190 msgid "internal: on Import for Host" msgstr "interne : à l'importation pour l'hôte" -#: awx/main/models/events.py:178 +#: awx/main/models/events.py:191 msgid "internal: on Not Import for Host" msgstr "interne : à la non-importation pour l'hôte" -#: awx/main/models/events.py:179 +#: awx/main/models/events.py:192 msgid "Play Started" msgstr "Scène démarrée" -#: awx/main/models/events.py:180 +#: awx/main/models/events.py:193 msgid "Playbook Complete" msgstr "Playbook terminé" -#: awx/main/models/events.py:184 awx/main/models/events.py:691 +#: awx/main/models/events.py:197 awx/main/models/events.py:724 msgid "Debug" msgstr "Déboguer" -#: awx/main/models/events.py:185 awx/main/models/events.py:692 +#: awx/main/models/events.py:198 awx/main/models/events.py:725 msgid "Verbose" msgstr "Verbeux" -#: awx/main/models/events.py:186 awx/main/models/events.py:693 +#: awx/main/models/events.py:199 awx/main/models/events.py:726 msgid "Deprecated" msgstr "Obsolète" -#: awx/main/models/events.py:187 awx/main/models/events.py:694 +#: awx/main/models/events.py:200 awx/main/models/events.py:727 msgid "Warning" msgstr "Avertissement" -#: awx/main/models/events.py:188 awx/main/models/events.py:695 +#: awx/main/models/events.py:201 awx/main/models/events.py:728 msgid "System Warning" msgstr "Avertissement système" -#: awx/main/models/events.py:189 awx/main/models/events.py:696 +#: awx/main/models/events.py:202 awx/main/models/events.py:729 #: awx/main/models/unified_jobs.py:75 msgid "Error" msgstr "Erreur" -#: awx/main/models/ha.py:175 +#: awx/main/models/ha.py:184 msgid "Instances that are members of this InstanceGroup" msgstr "Instances membres de ce GroupeInstances." -#: awx/main/models/ha.py:180 +#: awx/main/models/ha.py:189 msgid "Instance Group to remotely control this group." msgstr "Groupe d'instances pour contrôler ce groupe à distance." -#: awx/main/models/ha.py:200 +#: awx/main/models/ha.py:209 msgid "Percentage of Instances to automatically assign to this group" msgstr "Le pourcentage d'instances qui seront automatiquement assignées à ce groupe" -#: awx/main/models/ha.py:204 +#: awx/main/models/ha.py:213 msgid "" "Static minimum number of Instances to automatically assign to this group" msgstr "Nombre minimum statique d'instances qui seront automatiquement assignées à ce groupe." -#: awx/main/models/ha.py:209 +#: awx/main/models/ha.py:218 msgid "" "List of exact-match Instances that will always be automatically assigned to " "this group" msgstr "Liste des cas de concordance exacte qui seront toujours assignés automatiquement à ce groupe." -#: awx/main/models/inventory.py:80 +#: awx/main/models/inventory.py:74 msgid "Hosts have a direct link to this inventory." msgstr "Les hôtes ont un lien direct vers cet inventaire." -#: awx/main/models/inventory.py:81 +#: awx/main/models/inventory.py:75 msgid "Hosts for inventory generated using the host_filter property." msgstr "Hôtes pour inventaire générés avec la propriété host_filter." -#: awx/main/models/inventory.py:86 +#: awx/main/models/inventory.py:80 msgid "inventories" msgstr "inventaires" -#: awx/main/models/inventory.py:93 +#: awx/main/models/inventory.py:87 msgid "Organization containing this inventory." msgstr "Organisation contenant cet inventaire." -#: awx/main/models/inventory.py:100 +#: awx/main/models/inventory.py:94 msgid "Inventory variables in JSON or YAML format." msgstr "Variables d'inventaire au format JSON ou YAML." -#: awx/main/models/inventory.py:105 +#: awx/main/models/inventory.py:99 msgid "" "This field is deprecated and will be removed in a future release. Flag " "indicating whether any hosts in this inventory have failed." msgstr "Ce champ est obsolète et sera supprimé dans une prochaine version. Indicateur signalant si des hôtes de cet inventaire ont échoué." -#: awx/main/models/inventory.py:111 +#: awx/main/models/inventory.py:105 msgid "" "This field is deprecated and will be removed in a future release. Total " "number of hosts in this inventory." msgstr "Ce champ est obsolète et sera supprimé dans une prochaine version. Nombre total d'hôtes dans cet inventaire." -#: awx/main/models/inventory.py:117 +#: awx/main/models/inventory.py:111 msgid "" "This field is deprecated and will be removed in a future release. Number of " "hosts in this inventory with active failures." msgstr "Ce champ est obsolète et sera supprimé dans une prochaine version. Nombre d'hôtes dans cet inventaire avec des échecs actifs." -#: awx/main/models/inventory.py:123 +#: awx/main/models/inventory.py:117 msgid "" "This field is deprecated and will be removed in a future release. Total " "number of groups in this inventory." msgstr "Ce champ est obsolète et sera supprimé dans une prochaine version. Nombre total de groupes dans cet inventaire." -#: awx/main/models/inventory.py:129 +#: awx/main/models/inventory.py:123 msgid "" "This field is deprecated and will be removed in a future release. Flag " "indicating whether this inventory has any external inventory sources." msgstr "Ce champ est obsolète et sera supprimé dans une prochaine version. Indicateur signalant si cet inventaire a des sources d’inventaire externes." -#: awx/main/models/inventory.py:135 +#: awx/main/models/inventory.py:129 msgid "" "Total number of external inventory sources configured within this inventory." msgstr "Nombre total de sources d'inventaire externes configurées dans cet inventaire." -#: awx/main/models/inventory.py:140 +#: awx/main/models/inventory.py:134 msgid "Number of external inventory sources in this inventory with failures." msgstr "Nombre total de sources d'inventaire externes en échec dans cet inventaire." -#: awx/main/models/inventory.py:147 +#: awx/main/models/inventory.py:141 msgid "Kind of inventory being represented." msgstr "Genre d'inventaire représenté." -#: awx/main/models/inventory.py:153 +#: awx/main/models/inventory.py:147 msgid "Filter that will be applied to the hosts of this inventory." msgstr "Filtre appliqué aux hôtes de cet inventaire." -#: awx/main/models/inventory.py:181 +#: awx/main/models/inventory.py:175 msgid "" "Credentials to be used by hosts belonging to this inventory when accessing " "Red Hat Insights API." msgstr "Informations d'identification à utiliser par les hôtes appartenant à cet inventaire lors de l'accès à l'API Red Hat Insights ." -#: awx/main/models/inventory.py:190 +#: awx/main/models/inventory.py:184 msgid "Flag indicating the inventory is being deleted." msgstr "Marqueur indiquant que cet inventaire est en cours de suppression." -#: awx/main/models/inventory.py:245 +#: awx/main/models/inventory.py:239 msgid "Could not parse subset as slice specification." msgstr "N'a pas pu traiter les sous-ensembles en tant que spécification de découpage." -#: awx/main/models/inventory.py:249 +#: awx/main/models/inventory.py:243 msgid "Slice number must be less than total number of slices." msgstr "Le nombre de tranches doit être inférieur au nombre total de tranches." -#: awx/main/models/inventory.py:251 +#: awx/main/models/inventory.py:245 msgid "Slice number must be 1 or higher." msgstr "Le nombre de tranches doit être 1 ou valeur supérieure." -#: awx/main/models/inventory.py:388 +#: awx/main/models/inventory.py:382 msgid "Assignment not allowed for Smart Inventory" msgstr "Attribution non autorisée pour un inventaire Smart" -#: awx/main/models/inventory.py:390 awx/main/models/projects.py:166 +#: awx/main/models/inventory.py:384 awx/main/models/projects.py:166 msgid "Credential kind must be 'insights'." msgstr "Le genre d'informations d'identification doit être 'insights'." -#: awx/main/models/inventory.py:475 +#: awx/main/models/inventory.py:469 msgid "Is this host online and available for running jobs?" msgstr "Cet hôte est-il en ligne et disponible pour exécuter des tâches ?" -#: awx/main/models/inventory.py:481 +#: awx/main/models/inventory.py:475 msgid "" "The value used by the remote inventory source to uniquely identify the host" msgstr "Valeur utilisée par la source d'inventaire distante pour identifier l'hôte de façon unique" -#: awx/main/models/inventory.py:486 +#: awx/main/models/inventory.py:480 msgid "Host variables in JSON or YAML format." msgstr "Variables d'hôte au format JSON ou YAML." -#: awx/main/models/inventory.py:509 +#: awx/main/models/inventory.py:503 msgid "Inventory source(s) that created or modified this host." msgstr "Sources d'inventaire qui ont créé ou modifié cet hôte." -#: awx/main/models/inventory.py:514 +#: awx/main/models/inventory.py:508 msgid "Arbitrary JSON structure of most recent ansible_facts, per-host." msgstr "Structure JSON arbitraire des faits ansible les plus récents, par hôte." -#: awx/main/models/inventory.py:520 +#: awx/main/models/inventory.py:514 msgid "The date and time ansible_facts was last modified." msgstr "Date et heure de la dernière modification apportée à ansible_facts." -#: awx/main/models/inventory.py:527 +#: awx/main/models/inventory.py:521 msgid "Red Hat Insights host unique identifier." msgstr "Identifiant unique de l'hôte de Red Hat Insights." -#: awx/main/models/inventory.py:641 +#: awx/main/models/inventory.py:635 msgid "Group variables in JSON or YAML format." msgstr "Variables de groupe au format JSON ou YAML." -#: awx/main/models/inventory.py:647 +#: awx/main/models/inventory.py:641 msgid "Hosts associated directly with this group." msgstr "Hôtes associés directement à ce groupe." -#: awx/main/models/inventory.py:653 +#: awx/main/models/inventory.py:647 msgid "Inventory source(s) that created or modified this group." msgstr "Sources d'inventaire qui ont créé ou modifié ce groupe." -#: awx/main/models/inventory.py:825 +#: awx/main/models/inventory.py:819 msgid "File, Directory or Script" msgstr "Fichier, répertoire ou script" -#: awx/main/models/inventory.py:826 +#: awx/main/models/inventory.py:820 msgid "Sourced from a Project" msgstr "Provenance d'un projet" -#: awx/main/models/inventory.py:827 +#: awx/main/models/inventory.py:821 msgid "Amazon EC2" msgstr "Amazon EC2" -#: awx/main/models/inventory.py:836 +#: awx/main/models/inventory.py:829 msgid "Custom Script" msgstr "Script personnalisé" -#: awx/main/models/inventory.py:953 +#: awx/main/models/inventory.py:863 msgid "Inventory source variables in YAML or JSON format." msgstr "Variables de source d'inventaire au format JSON ou YAML." -#: awx/main/models/inventory.py:964 +#: awx/main/models/inventory.py:868 msgid "" -"Comma-separated list of filter expressions (EC2 only). Hosts are imported " -"when ANY of the filters match." -msgstr "Liste d'expressions de filtre séparées par des virgules (EC2 uniquement). Les hôtes sont importés lorsque l'UN des filtres correspondent." +"Retrieve the enabled state from the given dict of host variables. The " +"enabled variable may be specified as \"foo.bar\", in which case the lookup " +"will traverse into nested dicts, equivalent to: from_dict.get(\"foo\", {})." +"get(\"bar\", default)" +msgstr "Récupérez l'état activé à partir de la variable dict donnée de l'hôte. La variable activée peut être spécifiée comme \"foo.bar\", auquel cas la recherche se fera dans des dict imbriqués, équivalent à : from_dict.get(\"foo\", {}).get(\"bar\", par défaut)" -#: awx/main/models/inventory.py:970 -msgid "Limit groups automatically created from inventory source (EC2 only)." -msgstr "Limiter automatiquement les groupes créés à partir de la source d'inventaire (EC2 uniquement)." +#: awx/main/models/inventory.py:876 +msgid "" +"Only used when enabled_var is set. Value when the host is considered " +"enabled. For example if enabled_var=\"status.power_state\"and enabled_value=" +"\"powered_on\" with host variables:{ \"status\": { \"power_state\": " +"\"powered_on\", \"created\": \"2020-08-04T18:13:04+00:00\", \"healthy" +"\": true }, \"name\": \"foobar\", \"ip_address\": \"192.168.2.1\"}" +"The host would be marked enabled. If power_state where any value other than " +"powered_on then the host would be disabled when imported into Tower. If the " +"key is not found then the host will be enabled" +msgstr "Utilisé uniquement lorsque enabled_var est défini. Valeur lorsque l'hôte est considéré comme activé. Par exemple, si enabled_var=\"status.power_state \"et enabled_value=\"powered_on\" avec les variables de l'hôte:{ \"status\" : { \"power_state\" : \"powered_on\", \"created\" : \"2020-08-04T18:13:04+00:00\", \"healthy\" : true }, \"name\" : \"foobar\", \"ip_address\" : \"192.168.2.1\"}, l'hôte serait marqué comme étant activé. Si power_state contient une valeur autre que power_on, alors l'hôte sera désactivé lors de l'importation dans Tower. Si la clé n'est pas trouvée, alors l'hôte sera activé" -#: awx/main/models/inventory.py:974 +#: awx/main/models/inventory.py:896 +msgid "Regex where only matching hosts will be imported into Tower." +msgstr "Regex où seuls les hôtes correspondants seront importés dans Tower." + +#: awx/main/models/inventory.py:900 msgid "Overwrite local groups and hosts from remote inventory source." msgstr "Écraser les groupes locaux et les hôtes de la source d'inventaire distante." -#: awx/main/models/inventory.py:978 +#: awx/main/models/inventory.py:904 msgid "Overwrite local variables from remote inventory source." msgstr "Écraser les variables locales de la source d'inventaire distante." -#: awx/main/models/inventory.py:983 awx/main/models/jobs.py:154 +#: awx/main/models/inventory.py:909 awx/main/models/jobs.py:154 #: awx/main/models/projects.py:135 msgid "The amount of time (in seconds) to run before the task is canceled." msgstr "Délai écoulé (en secondes) avant que la tâche ne soit annulée." -#: awx/main/models/inventory.py:1016 -msgid "Image ID" -msgstr "ID d'image" - -#: awx/main/models/inventory.py:1017 -msgid "Availability Zone" -msgstr "Zone de disponibilité" - -#: awx/main/models/inventory.py:1019 -msgid "Instance ID" -msgstr "ID d'instance" - -#: awx/main/models/inventory.py:1020 -msgid "Instance State" -msgstr "État de l'instance" - -#: awx/main/models/inventory.py:1021 -msgid "Platform" -msgstr "Plateforme " - -#: awx/main/models/inventory.py:1022 -msgid "Instance Type" -msgstr "Type d'instance" - -#: awx/main/models/inventory.py:1024 -msgid "Region" -msgstr "Région" - -#: awx/main/models/inventory.py:1025 -msgid "Security Group" -msgstr "Groupe de sécurité" - -#: awx/main/models/inventory.py:1026 -msgid "Tags" -msgstr "Balises" - -#: awx/main/models/inventory.py:1027 -msgid "Tag None" -msgstr "Ne rien baliser" - -#: awx/main/models/inventory.py:1028 -msgid "VPC ID" -msgstr "ID VPC" - -#: awx/main/models/inventory.py:1096 +#: awx/main/models/inventory.py:926 #, python-format msgid "" "Cloud-based inventory sources (such as %s) require credentials for the " "matching cloud service." msgstr "Les sources d'inventaire cloud (telles que %s) requièrent des informations d'identification pour le service cloud correspondant." -#: awx/main/models/inventory.py:1102 +#: awx/main/models/inventory.py:932 msgid "Credential is required for a cloud source." msgstr "Les informations d'identification sont requises pour une source cloud." -#: awx/main/models/inventory.py:1105 +#: awx/main/models/inventory.py:935 msgid "" "Credentials of type machine, source control, insights and vault are " "disallowed for custom inventory sources." msgstr "Les identifiants de type machine, contrôle de la source, insights ou archivage sécurisé ne sont pas autorisés par les sources d'inventaire personnalisées." -#: awx/main/models/inventory.py:1110 +#: awx/main/models/inventory.py:940 msgid "" "Credentials of type insights and vault are disallowed for scm inventory " "sources." msgstr "Les identifiants de type insights ou archivage sécurisé ne sont pas autorisés pour les sources d'inventaire scm." -#: awx/main/models/inventory.py:1170 -#, python-format -msgid "Invalid %(source)s region: %(region)s" -msgstr "Région %(source)s non valide : %(region)s" - -#: awx/main/models/inventory.py:1194 -#, python-format -msgid "Invalid filter expression: %(filter)s" -msgstr "Expression de filtre non valide : %(filter)s" - -#: awx/main/models/inventory.py:1215 -#, python-format -msgid "Invalid group by choice: %(choice)s" -msgstr "Choix de regroupement non valide : %(choice)s" - -#: awx/main/models/inventory.py:1243 +#: awx/main/models/inventory.py:1004 msgid "Project containing inventory file used as source." msgstr "Projet contenant le fichier d'inventaire utilisé comme source." -#: awx/main/models/inventory.py:1416 +#: awx/main/models/inventory.py:1177 msgid "" "More than one SCM-based inventory source with update on project update per-" "inventory not allowed." msgstr "On n'autorise pas plus d'une source d'inventaire basé SCM avec mise à jour pré-inventaire ou mise à jour projet." -#: awx/main/models/inventory.py:1423 +#: awx/main/models/inventory.py:1184 msgid "" "Cannot update SCM-based inventory source on launch if set to update on " "project update. Instead, configure the corresponding source project to " "update on launch." msgstr "Impossible de mettre à jour une source d'inventaire SCM lors du lancement si elle est définie pour se mettre à jour lors de l'actualisation du projet. À la place, configurez le projet source correspondant pour qu'il se mette à jour au moment du lancement." -#: awx/main/models/inventory.py:1429 +#: awx/main/models/inventory.py:1190 msgid "Cannot set source_path if not SCM type." msgstr "Impossible de définir chemin_source si pas du type SCM." -#: awx/main/models/inventory.py:1472 +#: awx/main/models/inventory.py:1233 msgid "" "Inventory files from this Project Update were used for the inventory update." msgstr "Les fichiers d'inventaire de cette mise à jour de projet ont été utilisés pour la mise à jour de l'inventaire." -#: awx/main/models/inventory.py:1583 +#: awx/main/models/inventory.py:1344 msgid "Inventory script contents" msgstr "Contenus des scripts d'inventaire" -#: awx/main/models/inventory.py:1588 +#: awx/main/models/inventory.py:1349 msgid "Organization owning this inventory script" msgstr "Organisation propriétaire de ce script d'inventaire." @@ -3961,89 +4045,89 @@ msgstr "Le modèle de tâche doit fournir un inventaire ou permettre d'en demand msgid "Maximum number of forks ({settings.MAX_FORKS}) exceeded." msgstr "Nombre maximum de fourches ({settings.MAX_FORKS}) dépassé." -#: awx/main/models/jobs.py:463 +#: awx/main/models/jobs.py:459 msgid "Project is missing." msgstr "Le projet est manquant." -#: awx/main/models/jobs.py:467 +#: awx/main/models/jobs.py:463 msgid "Project does not allow override of branch." msgstr "Le projet ne permet pas de remplacer la branche." -#: awx/main/models/jobs.py:477 awx/main/models/workflow.py:545 +#: awx/main/models/jobs.py:473 awx/main/models/workflow.py:545 msgid "Field is not configured to prompt on launch." msgstr "Le champ n'est pas configuré pour être invité au lancement." -#: awx/main/models/jobs.py:483 +#: awx/main/models/jobs.py:479 msgid "Saved launch configurations cannot provide passwords needed to start." msgstr "Les configurations de lancement sauvegardées ne peuvent pas fournir les mots de passe nécessaires au démarrage." -#: awx/main/models/jobs.py:491 +#: awx/main/models/jobs.py:487 msgid "Job Template {} is missing or undefined." msgstr "Modèle de Job {} manquant ou non défini." -#: awx/main/models/jobs.py:574 awx/main/models/projects.py:278 -#: awx/main/models/projects.py:497 +#: awx/main/models/jobs.py:570 awx/main/models/projects.py:283 +#: awx/main/models/projects.py:507 msgid "SCM Revision" msgstr "Révision SCM" -#: awx/main/models/jobs.py:575 +#: awx/main/models/jobs.py:571 msgid "The SCM Revision from the Project used for this job, if available" msgstr "Révision SCM du projet utilisé pour cette tâche, le cas échéant" -#: awx/main/models/jobs.py:583 +#: awx/main/models/jobs.py:579 msgid "" "The SCM Refresh task used to make sure the playbooks were available for the " "job run" msgstr "Activité d'actualisation du SCM qui permet de s'assurer que les playbooks étaient disponibles pour l'exécution de la tâche" -#: awx/main/models/jobs.py:588 +#: awx/main/models/jobs.py:584 msgid "" "If part of a sliced job, the ID of the inventory slice operated on. If not " "part of sliced job, parameter is not used." msgstr "Si faisant partie d'un job découpé, l'ID de l'inventaire sur lequel l'opération de découpage a eu lieu. Si ne fait pas partie d'un job découpé, le paramètre ne sera pas utilisé." -#: awx/main/models/jobs.py:594 +#: awx/main/models/jobs.py:590 msgid "" "If ran as part of sliced jobs, the total number of slices. If 1, job is not " "part of a sliced job." msgstr "Si exécuté en tant que job découpé, le nombre total de tranches. Si égal à 1, le job ne fait pas partie d'un job découpé." -#: awx/main/models/jobs.py:676 +#: awx/main/models/jobs.py:672 #, python-brace-format msgid "{status_value} is not a valid status option." msgstr "{status_value} ne correspond pas à une option de statut valide." -#: awx/main/models/jobs.py:926 +#: awx/main/models/jobs.py:928 msgid "" "Inventory applied as a prompt, assuming job template prompts for inventory" msgstr "Inventaire appliqué en tant qu'invite, en supposant que le modèle de tâche demande un inventaire" -#: awx/main/models/jobs.py:1085 +#: awx/main/models/jobs.py:1087 msgid "job host summaries" msgstr "récapitulatifs des hôtes pour la tâche" -#: awx/main/models/jobs.py:1144 +#: awx/main/models/jobs.py:1146 msgid "Remove jobs older than a certain number of days" msgstr "Supprimer les tâches plus anciennes qu'un certain nombre de jours" -#: awx/main/models/jobs.py:1145 +#: awx/main/models/jobs.py:1147 msgid "Remove activity stream entries older than a certain number of days" msgstr "Supprimer les entrées du flux d'activité plus anciennes qu'un certain nombre de jours" -#: awx/main/models/jobs.py:1146 +#: awx/main/models/jobs.py:1148 msgid "Removes expired browser sessions from the database" msgstr "Supprime les sessions de navigateur expirées dans la base de données" -#: awx/main/models/jobs.py:1147 +#: awx/main/models/jobs.py:1149 msgid "Removes expired OAuth 2 access tokens and refresh tokens" msgstr "Supprime les jetons d'accès OAuth 2 et les jetons d’actualisation arrivés à expiration" -#: awx/main/models/jobs.py:1217 +#: awx/main/models/jobs.py:1219 #, python-brace-format msgid "Variables {list_of_keys} are not allowed for system jobs." msgstr "Les variables {list_of_keys} ne sont pas autorisées pour les tâches système." -#: awx/main/models/jobs.py:1233 +#: awx/main/models/jobs.py:1235 msgid "days must be a positive integer." msgstr "jours doit être un entier positif." @@ -4082,63 +4166,59 @@ msgstr "Jeton d'accès personnel pour la restitution du statut à l'API du servi msgid "Unique identifier of the event that triggered this webhook" msgstr "Identifiant unique de l'événement qui a déclenché ce webhook" -#: awx/main/models/notifications.py:42 +#: awx/main/models/notifications.py:41 msgid "Email" msgstr "Email" -#: awx/main/models/notifications.py:43 +#: awx/main/models/notifications.py:42 msgid "Slack" msgstr "Slack" -#: awx/main/models/notifications.py:44 +#: awx/main/models/notifications.py:43 msgid "Twilio" msgstr "Twilio" -#: awx/main/models/notifications.py:45 +#: awx/main/models/notifications.py:44 msgid "Pagerduty" msgstr "Pagerduty" -#: awx/main/models/notifications.py:46 +#: awx/main/models/notifications.py:45 msgid "Grafana" msgstr "Grafana" -#: awx/main/models/notifications.py:47 -msgid "HipChat" -msgstr "HipChat" - -#: awx/main/models/notifications.py:48 awx/main/models/unified_jobs.py:545 +#: awx/main/models/notifications.py:46 awx/main/models/unified_jobs.py:544 msgid "Webhook" msgstr "Webhook" -#: awx/main/models/notifications.py:49 +#: awx/main/models/notifications.py:47 msgid "Mattermost" msgstr "Mattermost" -#: awx/main/models/notifications.py:50 +#: awx/main/models/notifications.py:48 msgid "Rocket.Chat" msgstr "Rocket.Chat" -#: awx/main/models/notifications.py:51 +#: awx/main/models/notifications.py:49 msgid "IRC" msgstr "IRC" -#: awx/main/models/notifications.py:82 +#: awx/main/models/notifications.py:80 msgid "Optional custom messages for notification template." msgstr "Messages personnalisés optionnels pour le modèle de notification." -#: awx/main/models/notifications.py:212 awx/main/models/unified_jobs.py:70 +#: awx/main/models/notifications.py:210 awx/main/models/unified_jobs.py:70 msgid "Pending" msgstr "En attente" -#: awx/main/models/notifications.py:213 awx/main/models/unified_jobs.py:73 +#: awx/main/models/notifications.py:211 awx/main/models/unified_jobs.py:73 msgid "Successful" msgstr "Réussi" -#: awx/main/models/notifications.py:214 awx/main/models/unified_jobs.py:74 +#: awx/main/models/notifications.py:212 awx/main/models/unified_jobs.py:74 msgid "Failed" msgstr "Échec" -#: awx/main/models/notifications.py:467 +#: awx/main/models/notifications.py:480 msgid "status must be either running, succeeded or failed" msgstr "le statut doit être soit en cours, soit réussi, soit échoué" @@ -4207,11 +4287,11 @@ msgid "" "authentication provider ({})" msgstr "Les jetons OAuth2 ne peuvent pas être créés par des utilisateurs associés à un fournisseur d'authentification externe." -#: awx/main/models/organization.py:51 +#: awx/main/models/organization.py:57 msgid "Maximum number of hosts allowed to be managed by this organization." msgstr "Nombre maximum d'hôtes autorisés à être gérés par cette organisation." -#: awx/main/models/projects.py:53 awx/main/models/unified_jobs.py:539 +#: awx/main/models/projects.py:53 awx/main/models/unified_jobs.py:538 msgid "Manual" msgstr "Manuel" @@ -4220,17 +4300,17 @@ msgid "Git" msgstr "Git" #: awx/main/models/projects.py:55 -msgid "Mercurial" -msgstr "Mercurial" - -#: awx/main/models/projects.py:56 msgid "Subversion" msgstr "Subversion" -#: awx/main/models/projects.py:57 +#: awx/main/models/projects.py:56 msgid "Red Hat Insights" msgstr "Red Hat Insights" +#: awx/main/models/projects.py:57 +msgid "Remote Archive" +msgstr "Archive à distance" + #: awx/main/models/projects.py:83 msgid "" "Local path (relative to PROJECTS_ROOT) containing playbooks and related " @@ -4297,52 +4377,52 @@ msgstr "Le type d'informations d'identification doit être 'scm'." msgid "Invalid credential." msgstr "Informations d'identification non valides." -#: awx/main/models/projects.py:259 +#: awx/main/models/projects.py:264 msgid "Update the project when a job is launched that uses the project." msgstr "Mettez à jour le projet lorsqu'une tâche qui l'utilise est lancée." -#: awx/main/models/projects.py:264 +#: awx/main/models/projects.py:269 msgid "" "The number of seconds after the last project update ran that a new project " "update will be launched as a job dependency." msgstr "Délai écoulé (en secondes) entre la dernière mise à jour du projet et le lancement d'une nouvelle mise à jour de projet en tant que dépendance de la tâche." -#: awx/main/models/projects.py:269 +#: awx/main/models/projects.py:274 msgid "" "Allow changing the SCM branch or revision in a job template that uses this " "project." msgstr "Permet de modifier la branche ou la révision SCM dans un modèle de tâche qui utilise ce projet." -#: awx/main/models/projects.py:279 +#: awx/main/models/projects.py:284 msgid "The last revision fetched by a project update" msgstr "Dernière révision récupérée par une mise à jour du projet" -#: awx/main/models/projects.py:286 +#: awx/main/models/projects.py:291 msgid "Playbook Files" msgstr "Fichiers de playbook" -#: awx/main/models/projects.py:287 +#: awx/main/models/projects.py:292 msgid "List of playbooks found in the project" msgstr "Liste des playbooks trouvés dans le projet" -#: awx/main/models/projects.py:294 +#: awx/main/models/projects.py:299 msgid "Inventory Files" msgstr "Fichiers d'inventaire" -#: awx/main/models/projects.py:295 +#: awx/main/models/projects.py:300 msgid "" "Suggested list of content that could be Ansible inventory in the project" msgstr "Suggestion de liste de contenu qui pourrait être un inventaire Ansible dans le projet" -#: awx/main/models/projects.py:332 +#: awx/main/models/projects.py:337 msgid "Organization cannot be changed when in use by job templates." msgstr "L'organisation ne peut pas être modifiée lorsqu'elle est utilisée par les modèles de tâche." -#: awx/main/models/projects.py:490 +#: awx/main/models/projects.py:500 msgid "Parts of the project update playbook that will be run." msgstr "Certaines parties du projet mettent à jour le playbook qui sera exécuté." -#: awx/main/models/projects.py:498 +#: awx/main/models/projects.py:508 msgid "" "The SCM Revision discovered by this update for the given project and branch." msgstr "Révision SCM découverte par cette mise à jour pour le projet et la branche donnés." @@ -4499,7 +4579,7 @@ msgstr "Peut utiliser %s dans un modèle de tâche" #: awx/main/models/rbac.py:74 msgid "Can approve or deny a workflow approval node" -msgstr "Peut approuver ou refuser un nœud d'approbation de workflow" +msgstr "Peut approuver ou refuser un nœud d'approbation de flux de travail" #: awx/main/models/rbac.py:138 msgid "roles" @@ -4571,81 +4651,81 @@ msgstr "Mise à jour en cours" msgid "The organization used to determine access to this template." msgstr "Organisation utilisée pour déterminer l'accès à ce modèle." -#: awx/main/models/unified_jobs.py:466 +#: awx/main/models/unified_jobs.py:465 msgid "Field is not allowed on launch." msgstr "Champ non autorisé au lancement." -#: awx/main/models/unified_jobs.py:494 +#: awx/main/models/unified_jobs.py:493 #, python-brace-format msgid "" "Variables {list_of_keys} provided, but this template cannot accept variables." msgstr "Variables {list_of_keys} fournies, mais ce modèle ne peut pas accepter de variables." -#: awx/main/models/unified_jobs.py:540 +#: awx/main/models/unified_jobs.py:539 msgid "Relaunch" msgstr "Relancer" -#: awx/main/models/unified_jobs.py:541 +#: awx/main/models/unified_jobs.py:540 msgid "Callback" msgstr "Rappeler" -#: awx/main/models/unified_jobs.py:542 +#: awx/main/models/unified_jobs.py:541 msgid "Scheduled" msgstr "Planifié" -#: awx/main/models/unified_jobs.py:543 +#: awx/main/models/unified_jobs.py:542 msgid "Dependency" msgstr "Dépendance" -#: awx/main/models/unified_jobs.py:544 +#: awx/main/models/unified_jobs.py:543 msgid "Workflow" -msgstr "Workflow" +msgstr "Flux de travail" -#: awx/main/models/unified_jobs.py:546 +#: awx/main/models/unified_jobs.py:545 msgid "Sync" msgstr "Sync" -#: awx/main/models/unified_jobs.py:601 +#: awx/main/models/unified_jobs.py:600 msgid "The node the job executed on." msgstr "Nœud sur lequel la tâche s'est exécutée." -#: awx/main/models/unified_jobs.py:607 +#: awx/main/models/unified_jobs.py:606 msgid "The instance that managed the isolated execution environment." msgstr "L'instance qui gère l'environnement d'exécution isolé." -#: awx/main/models/unified_jobs.py:634 +#: awx/main/models/unified_jobs.py:633 msgid "The date and time the job was queued for starting." msgstr "Date et heure auxquelles la tâche a été mise en file d'attente pour le démarrage." -#: awx/main/models/unified_jobs.py:639 +#: awx/main/models/unified_jobs.py:638 msgid "" "If True, the task manager has already processed potential dependencies for " "this job." msgstr "Si la valeur True est définie, le gestionnaire de tâches a déjà traité les dépendances potentielles de cette tâche." -#: awx/main/models/unified_jobs.py:645 +#: awx/main/models/unified_jobs.py:644 msgid "The date and time the job finished execution." msgstr "Date et heure de fin d'exécution de la tâche." -#: awx/main/models/unified_jobs.py:652 +#: awx/main/models/unified_jobs.py:651 msgid "The date and time when the cancel request was sent." msgstr "Date et heure d'envoi de la demande d'annulation." -#: awx/main/models/unified_jobs.py:659 +#: awx/main/models/unified_jobs.py:658 msgid "Elapsed time in seconds that the job ran." msgstr "Délai écoulé (en secondes) pendant lequel la tâche s'est exécutée." -#: awx/main/models/unified_jobs.py:681 +#: awx/main/models/unified_jobs.py:680 msgid "" "A status field to indicate the state of the job if it wasn't able to run and " "capture stdout" msgstr "Champ d'état indiquant l'état de la tâche si elle n'a pas pu s'exécuter et capturer stdout" -#: awx/main/models/unified_jobs.py:710 +#: awx/main/models/unified_jobs.py:709 msgid "The Instance group the job was run under" msgstr "Groupe d'instances sous lequel la tâche a été exécutée" -#: awx/main/models/unified_jobs.py:718 +#: awx/main/models/unified_jobs.py:717 msgid "The organization used to determine access to this unified job." msgstr "Organisation utilisée pour déterminer l'accès à cette tâche unifiée." @@ -4680,7 +4760,7 @@ msgid "" "Bad launch configuration starting template {template_pk} as part of workflow " "{workflow_pk}. Errors:\n" "{error_text}" -msgstr "Modèle de démarrage de configuration de lancement incorrect {template_pk} dans le cadre du workflow {workflow_pk}. Erreurs :\n" +msgstr "Modèle de démarrage de configuration de lancement incorrect {template_pk} dans le cadre du flux de travail {workflow_pk}. Erreurs :\n" "{error_text}" #: awx/main/models/workflow.py:595 @@ -4689,51 +4769,43 @@ msgid "" "job was created from." msgstr "S'il est créé automatiquement pour l'exécution d'un job découpé, le modèle de job à partir duquel le job de flux de travail a été créé." -#: awx/main/models/workflow.py:687 awx/main/models/workflow.py:721 +#: awx/main/models/workflow.py:687 awx/main/models/workflow.py:727 msgid "" "The amount of time (in seconds) before the approval node expires and fails." msgstr "Délai (en secondes) avant que le nœud d'approbation n'expire et n'échoue." -#: awx/main/models/workflow.py:725 +#: awx/main/models/workflow.py:731 msgid "" "Shows when an approval node (with a timeout assigned to it) has timed out." msgstr "Indique quand un nœud d'approbation (auquel un délai d'attente a été affecté) a dépassé le délai d’attente." -#: awx/main/notifications/grafana_backend.py:86 +#: awx/main/notifications/grafana_backend.py:81 msgid "Error converting time {} or timeEnd {} to int." msgstr "Erreur de conversion de time {} ou timeEnd {} en entier." -#: awx/main/notifications/grafana_backend.py:88 +#: awx/main/notifications/grafana_backend.py:83 msgid "Error converting time {} and/or timeEnd {} to int." msgstr "Erreur de conversion de time {} et/ou timeEnd {} en entier." -#: awx/main/notifications/grafana_backend.py:102 -#: awx/main/notifications/grafana_backend.py:104 +#: awx/main/notifications/grafana_backend.py:97 +#: awx/main/notifications/grafana_backend.py:99 msgid "Error sending notification grafana: {}" msgstr "Erreur lors de l'envoi du grafana de notification : {}" -#: awx/main/notifications/hipchat_backend.py:50 -msgid "Error sending messages: {}" -msgstr "Erreur lors de l'envoi de messages : {}" - -#: awx/main/notifications/hipchat_backend.py:52 -msgid "Error sending message to hipchat: {}" -msgstr "Erreur lors de l'envoi d'un message à hipchat : {}" - #: awx/main/notifications/irc_backend.py:56 msgid "Exception connecting to irc server: {}" msgstr "Exception lors de la connexion au serveur irc : {}" -#: awx/main/notifications/mattermost_backend.py:50 -#: awx/main/notifications/mattermost_backend.py:52 +#: awx/main/notifications/mattermost_backend.py:49 +#: awx/main/notifications/mattermost_backend.py:51 msgid "Error sending notification mattermost: {}" msgstr "Erreur d'envoi de notification mattermost: {}" -#: awx/main/notifications/pagerduty_backend.py:64 +#: awx/main/notifications/pagerduty_backend.py:75 msgid "Exception connecting to PagerDuty: {}" msgstr "Exception lors de la connexion à PagerDuty : {}" -#: awx/main/notifications/pagerduty_backend.py:73 +#: awx/main/notifications/pagerduty_backend.py:84 #: awx/main/notifications/slack_backend.py:58 #: awx/main/notifications/twilio_backend.py:48 msgid "Exception sending messages: {}" @@ -4748,8 +4820,8 @@ msgstr "Erreur d'envoi de notification rocket.chat: {}" msgid "Exception connecting to Twilio: {}" msgstr "Exception lors de la connexion à Twilio : {}" -#: awx/main/notifications/webhook_backend.py:75 -#: awx/main/notifications/webhook_backend.py:77 +#: awx/main/notifications/webhook_backend.py:76 +#: awx/main/notifications/webhook_backend.py:78 msgid "Error sending notification webhook: {}" msgstr "Erreur lors de l'envoi d'un webhook de notification : {}" @@ -4760,46 +4832,63 @@ msgid "" "job node(s) missing unified job template and error handling path [{no_ufjt}]." msgstr "Aucun chemin de traitement des erreurs pour le ou les nœuds de tâche de flux de travail [{node_status}]. Le ou les nœuds de tâche de flux de travail n'ont pas de modèle de tâche unifié ni de chemin de traitement des erreurs [{no_ufjt}]." -#: awx/main/scheduler/task_manager.py:118 +#: awx/main/scheduler/task_manager.py:163 msgid "" "Workflow Job spawned from workflow could not start because it would result " "in recursion (spawn order, most recent first: {})" msgstr "Job de flux de travail lancé à partir d'un flux, ne pouvant démarrer, pour cause de récursion (ordre de génération, le plus récent d'abord : {})" -#: awx/main/scheduler/task_manager.py:126 +#: awx/main/scheduler/task_manager.py:171 msgid "" "Job spawned from workflow could not start because it was missing a related " "resource such as project or inventory" msgstr "Job lancé en provenance d'un flux de travail, ne pouvant démarrer, pour cause de ressource manquante, comme un projet ou inventaire" -#: awx/main/scheduler/task_manager.py:135 +#: awx/main/scheduler/task_manager.py:180 msgid "" "Job spawned from workflow could not start because it was not in the right " "state or required manual credentials" -msgstr "Tâche, lancée à partir du workflow, ne pouvant démarrer, pour faute d'être dans l'état qui convient ou nécessitant des informations d'identification manuelles adéquates." +msgstr "Tâche, lancée à partir du flux de travail, ne pouvant démarrer, pour faute d'être dans l'état qui convient ou nécessitant des informations d'identification manuelles adéquates." -#: awx/main/scheduler/task_manager.py:176 +#: awx/main/scheduler/task_manager.py:221 msgid "No error handling paths found, marking workflow as failed" msgstr "Aucun chemin de traitement des erreurs trouvé, flux de travail marqué comme étant en échec" -#: awx/main/scheduler/task_manager.py:508 +#: awx/main/scheduler/task_manager.py:506 +#, python-brace-format +msgid "waiting for {blocked_by._meta.model_name}-{blocked_by.id} to finish" +msgstr "patientez jusqu’à ce que {blocked_by._meta.model_name}-{blocked_by.id} se terminent" + +#: awx/main/scheduler/task_manager.py:557 +msgid "" +"This job is not ready to start because there is not enough available " +"capacity." +msgstr "Ce travail n'est pas prêt à démarrer car les capacités disponibles sont insuffisantes." + +#: awx/main/scheduler/task_manager.py:577 #, python-brace-format msgid "The approval node {name} ({pk}) has expired after {timeout} seconds." msgstr "Le nœud d'approbation {name} ({pk}) a expiré après {timeout} secondes." -#: awx/main/tasks.py:1049 +#: awx/main/tasks.py:598 +msgid "" +"Scheduled job could not start because it was not in the " +"right state or required manual credentials" +msgstr "Tâche programmée ne pouvant démarrer, pour faute d'être dans l'état qui convient ou nécessitant des informations d'identification manuelles adéquates." + +#: awx/main/tasks.py:1076 msgid "Invalid virtual environment selected: {}" msgstr "Environnement virtuel non valide sélectionné : {}" -#: awx/main/tasks.py:1853 +#: awx/main/tasks.py:1885 msgid "Job could not start because it does not have a valid inventory." msgstr "Le job n'a pas pu commencer parce qu'il n'a pas d'inventaire valide." -#: awx/main/tasks.py:1857 +#: awx/main/tasks.py:1889 msgid "Job could not start because it does not have a valid project." msgstr "La tâche n'a pas pu commencer parce qu'elle n'a pas de projet valide." -#: awx/main/tasks.py:1862 +#: awx/main/tasks.py:1894 msgid "" "The project revision for this job template is unknown due to a failed update." msgstr "La révision de projet de ce modèle de job n'est pas connue en raison d'un échec de mise à jour." @@ -4819,63 +4908,79 @@ msgid "" "missing unified job template and error handling path [{}]." msgstr "Aucun chemin de traitement des erreurs pour le ou les nœuds de tâche de flux de travail []. Le ou les nœuds de tâche de flux de travail n'ont pas de modèle de tâche unifié ni de chemin de traitement des erreurs [{}]." -#: awx/main/utils/common.py:87 +#: awx/main/utils/common.py:86 #, python-format msgid "Unable to convert \"%s\" to boolean" msgstr "Impossible de convertir \"%s\" en booléen" -#: awx/main/utils/common.py:261 +#: awx/main/utils/common.py:212 +#, python-format +msgid "Error importing Tower License: %s" +msgstr "Erreur d'importation de la licence Tower : %s" + +#: awx/main/utils/common.py:227 #, python-format msgid "Unsupported SCM type \"%s\"" msgstr "Type de SCM \"%s\" non pris en charge" -#: awx/main/utils/common.py:268 awx/main/utils/common.py:280 -#: awx/main/utils/common.py:299 +#: awx/main/utils/common.py:234 awx/main/utils/common.py:246 +#: awx/main/utils/common.py:265 #, python-format msgid "Invalid %s URL" msgstr "URL %s non valide" -#: awx/main/utils/common.py:270 awx/main/utils/common.py:309 +#: awx/main/utils/common.py:236 awx/main/utils/common.py:275 #, python-format msgid "Unsupported %s URL" msgstr "URL %s non prise en charge" -#: awx/main/utils/common.py:311 +#: awx/main/utils/common.py:277 #, python-format msgid "Unsupported host \"%s\" for file:// URL" msgstr "Hôte \"%s\" non pris en charge pour le fichier ://URL" -#: awx/main/utils/common.py:313 +#: awx/main/utils/common.py:279 #, python-format msgid "Host is required for %s URL" msgstr "L'hôte est requis pour l'URL %s" -#: awx/main/utils/common.py:331 +#: awx/main/utils/common.py:297 #, python-format msgid "Username must be \"git\" for SSH access to %s." msgstr "Le nom d'utilisateur doit être \"git\" pour l'accès SSH à %s." -#: awx/main/utils/common.py:337 -#, python-format -msgid "Username must be \"hg\" for SSH access to %s." -msgstr "Le nom d'utilisateur doit être \"hg\" pour l'accès SSH à %s." - -#: awx/main/utils/common.py:668 +#: awx/main/utils/common.py:628 #, python-brace-format msgid "Input type `{data_type}` is not a dictionary" msgstr "Le type d'entrée ’{data_type}’ n'est pas un dictionnaire" -#: awx/main/utils/common.py:701 +#: awx/main/utils/common.py:661 #, python-brace-format msgid "Variables not compatible with JSON standard (error: {json_error})" msgstr "Variables non compatibles avec la norme JSON (error : {json_error})" -#: awx/main/utils/common.py:707 +#: awx/main/utils/common.py:667 #, python-brace-format msgid "" "Cannot parse as JSON (error: {json_error}) or YAML (error: {yaml_error})." msgstr "Impossible d'analyser avec JSON (erreur : {json_error}) ou YAML (erreur : {yaml_error})." +#: awx/main/utils/licensing.py:58 +msgid "Invalid manifest: a subscription manifest zip file is required." +msgstr "Manifeste non valide : un fichier zip du manifeste d'abonnement est nécessaire." + +#: awx/main/utils/licensing.py:63 +msgid "Invalid manifest: missing required files." +msgstr "Manifeste non valide : fichiers requis manquants." + +#: awx/main/utils/licensing.py:72 +msgid "Invalid manifest: signature verification failed." +msgstr "Manifeste non valide : la vérification de la signature a échoué." + +#: awx/main/utils/licensing.py:82 +msgid "Invalid manifest: manifest contains no subscriptions." +msgstr "Manifeste non valide : le manifeste ne contient pas d'abonnements." + #: awx/main/validators.py:67 #, python-format msgid "Invalid certificate or key: %s..." @@ -4982,290 +5087,6 @@ msgstr "Erreur serveur" msgid "A server error has occurred." msgstr "Une erreur serveur s'est produite." -#: awx/settings/defaults.py:683 -msgid "US East (Northern Virginia)" -msgstr "Est des États-Unis (Virginie du Nord)" - -#: awx/settings/defaults.py:684 -msgid "US East (Ohio)" -msgstr "Est des États-Unis (Ohio)" - -#: awx/settings/defaults.py:685 -msgid "US West (Oregon)" -msgstr "Ouest des États-Unis (Oregon)" - -#: awx/settings/defaults.py:686 -msgid "US West (Northern California)" -msgstr "Ouest des États-Unis (Nord de la Californie)" - -#: awx/settings/defaults.py:687 -msgid "Canada (Central)" -msgstr "Canada (Central)" - -#: awx/settings/defaults.py:688 -msgid "EU (Frankfurt)" -msgstr "UE (Francfort)" - -#: awx/settings/defaults.py:689 -msgid "EU (Ireland)" -msgstr "UE (Irlande)" - -#: awx/settings/defaults.py:690 -msgid "EU (London)" -msgstr "UE (Londres)" - -#: awx/settings/defaults.py:691 -msgid "Asia Pacific (Singapore)" -msgstr "Asie-Pacifique (Singapour)" - -#: awx/settings/defaults.py:692 -msgid "Asia Pacific (Sydney)" -msgstr "Asie-Pacifique (Sydney)" - -#: awx/settings/defaults.py:693 -msgid "Asia Pacific (Tokyo)" -msgstr "Asie-Pacifique (Tokyo)" - -#: awx/settings/defaults.py:694 -msgid "Asia Pacific (Seoul)" -msgstr "Asie-Pacifique (Séoul)" - -#: awx/settings/defaults.py:695 -msgid "Asia Pacific (Mumbai)" -msgstr "Asie-Pacifique (Mumbai)" - -#: awx/settings/defaults.py:696 -msgid "South America (Sao Paulo)" -msgstr "Amérique du Sud (Sao Paulo)" - -#: awx/settings/defaults.py:697 -msgid "US West (GovCloud)" -msgstr "Ouest des États-Unis (GovCloud)" - -#: awx/settings/defaults.py:698 -msgid "China (Beijing)" -msgstr "Chine (Pékin)" - -#: awx/settings/defaults.py:747 -msgid "US East 1 (B)" -msgstr "Est des États-Unis 1 (B)" - -#: awx/settings/defaults.py:748 -msgid "US East 1 (C)" -msgstr "Est des États-Unis 1 (C)" - -#: awx/settings/defaults.py:749 -msgid "US East 1 (D)" -msgstr "Est des États-Unis 1 (D)" - -#: awx/settings/defaults.py:750 -msgid "US East 4 (A)" -msgstr "Est des États-Unis 4 (A)" - -#: awx/settings/defaults.py:751 -msgid "US East 4 (B)" -msgstr "Est des États-Unis 4 (B)" - -#: awx/settings/defaults.py:752 -msgid "US East 4 (C)" -msgstr "Est des États-Unis 4 (C)" - -#: awx/settings/defaults.py:753 -msgid "US Central (A)" -msgstr "Centre des États-Unis (A)" - -#: awx/settings/defaults.py:754 -msgid "US Central (B)" -msgstr "Centre des États-Unis (B)" - -#: awx/settings/defaults.py:755 -msgid "US Central (C)" -msgstr "Centre des États-Unis (C)" - -#: awx/settings/defaults.py:756 -msgid "US Central (F)" -msgstr "Centre des États-Unis (F)" - -#: awx/settings/defaults.py:757 -msgid "US West (A)" -msgstr "Ouest des États-Unis (A)" - -#: awx/settings/defaults.py:758 -msgid "US West (B)" -msgstr "Ouest des États-Unis (B)" - -#: awx/settings/defaults.py:759 -msgid "US West (C)" -msgstr "Ouest des États-Unis (C)" - -#: awx/settings/defaults.py:760 -msgid "Europe West 1 (B)" -msgstr "Europe de l'Ouest 1 (B)" - -#: awx/settings/defaults.py:761 -msgid "Europe West 1 (C)" -msgstr "Europe de l'Ouest 1 (C)" - -#: awx/settings/defaults.py:762 -msgid "Europe West 1 (D)" -msgstr "Europe de l'Ouest 1 (D)" - -#: awx/settings/defaults.py:763 -msgid "Europe West 2 (A)" -msgstr "Europe de l'Ouest 2 (A)" - -#: awx/settings/defaults.py:764 -msgid "Europe West 2 (B)" -msgstr "Europe de l'Ouest 2 (B)" - -#: awx/settings/defaults.py:765 -msgid "Europe West 2 (C)" -msgstr "Europe de l'Ouest 2 (C)" - -#: awx/settings/defaults.py:766 -msgid "Asia East (A)" -msgstr "Asie de l'Est (A)" - -#: awx/settings/defaults.py:767 -msgid "Asia East (B)" -msgstr "Asie de l'Est (B)" - -#: awx/settings/defaults.py:768 -msgid "Asia East (C)" -msgstr "Asie de l'Est (C)" - -#: awx/settings/defaults.py:769 -msgid "Asia Southeast (A)" -msgstr "Asie du Sud-Est (A)" - -#: awx/settings/defaults.py:770 -msgid "Asia Southeast (B)" -msgstr "Asie du Sud-Est (B)" - -#: awx/settings/defaults.py:771 -msgid "Asia Northeast (A)" -msgstr "Asie du Nord-Est (A)" - -#: awx/settings/defaults.py:772 -msgid "Asia Northeast (B)" -msgstr "Asie du Nord-Est (B)" - -#: awx/settings/defaults.py:773 -msgid "Asia Northeast (C)" -msgstr "Asie du Nord-Est (C)" - -#: awx/settings/defaults.py:774 -msgid "Australia Southeast (A)" -msgstr "Sud-est de l'Australie (A)" - -#: awx/settings/defaults.py:775 -msgid "Australia Southeast (B)" -msgstr "Sud-est de l'Australie (B)" - -#: awx/settings/defaults.py:776 -msgid "Australia Southeast (C)" -msgstr "Sud-est de l'Australie (C)" - -#: awx/settings/defaults.py:798 -msgid "US East" -msgstr "Est des États-Unis" - -#: awx/settings/defaults.py:799 -msgid "US East 2" -msgstr "Est des États-Unis 2" - -#: awx/settings/defaults.py:800 -msgid "US Central" -msgstr "Centre des États-Unis" - -#: awx/settings/defaults.py:801 -msgid "US North Central" -msgstr "Centre-Nord des États-Unis" - -#: awx/settings/defaults.py:802 -msgid "US South Central" -msgstr "Centre-Sud des États-Unis" - -#: awx/settings/defaults.py:803 -msgid "US West Central" -msgstr "Centre-Ouest des États-Unis" - -#: awx/settings/defaults.py:804 -msgid "US West" -msgstr "Ouest des États-Unis" - -#: awx/settings/defaults.py:805 -msgid "US West 2" -msgstr "Ouest des États-Unis 2" - -#: awx/settings/defaults.py:806 -msgid "Canada East" -msgstr "Est du Canada" - -#: awx/settings/defaults.py:807 -msgid "Canada Central" -msgstr "Centre du Canada" - -#: awx/settings/defaults.py:808 -msgid "Brazil South" -msgstr "Sud du Brésil" - -#: awx/settings/defaults.py:809 -msgid "Europe North" -msgstr "Europe du Nord" - -#: awx/settings/defaults.py:810 -msgid "Europe West" -msgstr "Europe de l'Ouest" - -#: awx/settings/defaults.py:811 -msgid "UK West" -msgstr "Ouest du Royaume-Uni" - -#: awx/settings/defaults.py:812 -msgid "UK South" -msgstr "Sud du Royaume-Uni" - -#: awx/settings/defaults.py:813 -msgid "Asia East" -msgstr "Asie de l'Est" - -#: awx/settings/defaults.py:814 -msgid "Asia Southeast" -msgstr "Asie du Sud-Est" - -#: awx/settings/defaults.py:815 -msgid "Australia East" -msgstr "Est de l'Australie" - -#: awx/settings/defaults.py:816 -msgid "Australia Southeast" -msgstr "Sud-Est de l'Australie" - -#: awx/settings/defaults.py:817 -msgid "India West" -msgstr "Ouest de l'Inde" - -#: awx/settings/defaults.py:818 -msgid "India South" -msgstr "Sud de l'Inde" - -#: awx/settings/defaults.py:819 -msgid "Japan East" -msgstr "Est du Japon" - -#: awx/settings/defaults.py:820 -msgid "Japan West" -msgstr "Ouest du Japon" - -#: awx/settings/defaults.py:821 -msgid "Korea Central" -msgstr "Centre de la Corée" - -#: awx/settings/defaults.py:822 -msgid "Korea South" -msgstr "Sud de la Corée" - #: awx/sso/apps.py:9 msgid "Single Sign-On" msgstr "Single Sign-On" @@ -5287,7 +5108,7 @@ msgstr "Mappage avec des administrateurs/utilisateurs d'organisation appartenant msgid "" "Mapping of team members (users) from social auth accounts. Configuration\n" "details are available in Tower documentation." -msgstr "Mappage des membres de l'équipe (utilisateurs) appartenant à des comptes d'authentification sociale. Les informations de configuration sont disponibles dans la documentation Tower." +msgstr "Mappage des membres de l'équipe (utilisateurs) appartenant à des comptes d'authentification sociale. Les informations de configuration sont disponibles dans la documentation Tower." #: awx/sso/conf.py:92 msgid "Authentication Backends" @@ -5488,7 +5309,7 @@ msgid "" "which users are placed into which Tower organizations relative to their LDAP " "group memberships. Configuration details are available in the Ansible Tower " "documentation." -msgstr "Mappage entre les administrateurs/utilisateurs de l'organisation et les groupes LDAP. Ce paramètre détermine les utilisateurs qui sont placés dans les organisations Tower par rapport à leurs appartenances à un groupe LDAP. Les informations de configuration sont disponibles dans la documentation Ansible Tower." +msgstr "Mappage entre les administrateurs/utilisateurs de l'organisation et les groupes LDAP. Ce paramètre détermine les utilisateurs qui sont placés dans les organisations Tower par rapport à leurs appartenances à un groupe LDAP. Les informations de configuration sont disponibles dans la documentation Ansible Tower." #: awx/sso/conf.py:401 msgid "LDAP Team Map" @@ -5498,8 +5319,7 @@ msgstr "Mappe d'équipes LDAP" msgid "" "Mapping between team members (users) and LDAP groups. Configuration details " "are available in the Ansible Tower documentation." -msgstr "Mappage entre des membres de l'équipe (utilisateurs) et des groupes LDAP. Les informations\n" -" de configuration sont disponibles dans la documentation Ansible Tower." +msgstr "Mappage entre des membres de l'équipe (utilisateurs) et des groupes LDAP. Les informations de configuration sont disponibles dans la documentation Ansible Tower." #: awx/sso/conf.py:437 msgid "RADIUS Server" @@ -5541,7 +5361,7 @@ msgid "Hostname of TACACS+ server." msgstr "Nom d'hôte du serveur TACACS+" #: awx/sso/conf.py:480 awx/sso/conf.py:492 awx/sso/conf.py:504 -#: awx/sso/conf.py:516 awx/sso/conf.py:527 awx/sso/models.py:15 +#: awx/sso/conf.py:516 awx/sso/conf.py:528 awx/sso/models.py:15 msgid "TACACS+" msgstr "TACACS+" @@ -5569,159 +5389,160 @@ msgstr "Expiration du délai d'attente d'autorisation de la session TACACS+." msgid "TACACS+ session timeout value in seconds, 0 disables timeout." msgstr "Valeur du délai d'attente de la session TACACS+ en secondes, 0 désactive le délai d'attente." -#: awx/sso/conf.py:525 +#: awx/sso/conf.py:526 msgid "TACACS+ Authentication Protocol" msgstr "Protocole d'autorisation TACACS+" -#: awx/sso/conf.py:526 +#: awx/sso/conf.py:527 msgid "Choose the authentication protocol used by TACACS+ client." msgstr "Choisissez le protocole d'authentification utilisé par le client TACACS+." -#: awx/sso/conf.py:540 +#: awx/sso/conf.py:541 msgid "Google OAuth2 Callback URL" msgstr "URL de rappel OAuth2 pour Google" -#: awx/sso/conf.py:541 awx/sso/conf.py:634 awx/sso/conf.py:699 +#: awx/sso/conf.py:542 awx/sso/conf.py:635 awx/sso/conf.py:700 +#: awx/sso/conf.py:855 awx/sso/conf.py:944 msgid "" "Provide this URL as the callback URL for your application as part of your " "registration process. Refer to the Ansible Tower documentation for more " "detail." msgstr "Fournir cette URL comme URL d'appel pour votre application dans le cadre de votre processus d'enregistrement. Voir la documentation Ansible Tower pour obtenir plus d'informations." -#: awx/sso/conf.py:544 awx/sso/conf.py:556 awx/sso/conf.py:568 -#: awx/sso/conf.py:581 awx/sso/conf.py:595 awx/sso/conf.py:607 -#: awx/sso/conf.py:619 +#: awx/sso/conf.py:545 awx/sso/conf.py:557 awx/sso/conf.py:569 +#: awx/sso/conf.py:582 awx/sso/conf.py:596 awx/sso/conf.py:608 +#: awx/sso/conf.py:620 msgid "Google OAuth2" msgstr "OAuth2 pour Google" -#: awx/sso/conf.py:554 +#: awx/sso/conf.py:555 msgid "Google OAuth2 Key" msgstr "Clé OAuth2 pour Google" -#: awx/sso/conf.py:555 +#: awx/sso/conf.py:556 msgid "The OAuth2 key from your web application." msgstr "Clé OAuth2 de votre application Web." -#: awx/sso/conf.py:566 +#: awx/sso/conf.py:567 msgid "Google OAuth2 Secret" msgstr "Secret OAuth2 pour Google" -#: awx/sso/conf.py:567 +#: awx/sso/conf.py:568 msgid "The OAuth2 secret from your web application." msgstr "Secret OAuth2 de votre application Web." -#: awx/sso/conf.py:578 -msgid "Google OAuth2 Whitelisted Domains" -msgstr "Domaines sur liste blanche OAuth2 pour Google" - #: awx/sso/conf.py:579 +msgid "Google OAuth2 Allowed Domains" +msgstr "Domaines autorisés par Google OAuth2" + +#: awx/sso/conf.py:580 msgid "" "Update this setting to restrict the domains who are allowed to login using " "Google OAuth2." msgstr "Mettez à jour ce paramètre pour limiter les domaines qui sont autorisés à se connecter à l'aide de l'authentification OAuth2 avec un compte Google." -#: awx/sso/conf.py:590 +#: awx/sso/conf.py:591 msgid "Google OAuth2 Extra Arguments" msgstr "Arguments OAuth2 supplémentaires pour Google" -#: awx/sso/conf.py:591 +#: awx/sso/conf.py:592 msgid "" "Extra arguments for Google OAuth2 login. You can restrict it to only allow a " "single domain to authenticate, even if the user is logged in with multple " "Google accounts. Refer to the Ansible Tower documentation for more detail." msgstr "Arguments supplémentaires pour l'authentification OAuth2. Vous pouvez autoriser un seul domaine à s'authentifier, même si l'utilisateur est connecté avec plusieurs comptes Google. Voir la documentation Ansible Tower pour obtenir plus d'informations." -#: awx/sso/conf.py:605 +#: awx/sso/conf.py:606 msgid "Google OAuth2 Organization Map" msgstr "Mappe d'organisations OAuth2 pour Google" -#: awx/sso/conf.py:617 +#: awx/sso/conf.py:618 msgid "Google OAuth2 Team Map" msgstr "Mappe d'équipes OAuth2 pour Google" -#: awx/sso/conf.py:633 +#: awx/sso/conf.py:634 msgid "GitHub OAuth2 Callback URL" msgstr "URL de rappel OAuth2 pour GitHub" -#: awx/sso/conf.py:637 awx/sso/conf.py:649 awx/sso/conf.py:660 -#: awx/sso/conf.py:672 awx/sso/conf.py:684 +#: awx/sso/conf.py:638 awx/sso/conf.py:650 awx/sso/conf.py:661 +#: awx/sso/conf.py:673 awx/sso/conf.py:685 awx/sso/conf.py:905 msgid "GitHub OAuth2" msgstr "OAuth2 pour GitHub" -#: awx/sso/conf.py:647 +#: awx/sso/conf.py:648 msgid "GitHub OAuth2 Key" msgstr "Clé OAuth2 pour GitHub" -#: awx/sso/conf.py:648 +#: awx/sso/conf.py:649 msgid "The OAuth2 key (Client ID) from your GitHub developer application." msgstr "Clé OAuth2 (ID client) de votre application de développeur GitHub." -#: awx/sso/conf.py:658 +#: awx/sso/conf.py:659 msgid "GitHub OAuth2 Secret" msgstr "Secret OAuth2 pour GitHub" -#: awx/sso/conf.py:659 +#: awx/sso/conf.py:660 msgid "" "The OAuth2 secret (Client Secret) from your GitHub developer application." msgstr "Secret OAuth2 (secret client) de votre application de développeur GitHub." -#: awx/sso/conf.py:670 +#: awx/sso/conf.py:671 msgid "GitHub OAuth2 Organization Map" msgstr "Mappe d'organisations OAuth2 pour GitHub" -#: awx/sso/conf.py:682 +#: awx/sso/conf.py:683 msgid "GitHub OAuth2 Team Map" msgstr "Mappe d'équipes OAuth2 pour GitHub" -#: awx/sso/conf.py:698 +#: awx/sso/conf.py:699 msgid "GitHub Organization OAuth2 Callback URL" msgstr "URL de rappel OAuth2 pour les organisations GitHub" -#: awx/sso/conf.py:702 awx/sso/conf.py:714 awx/sso/conf.py:725 -#: awx/sso/conf.py:738 awx/sso/conf.py:749 awx/sso/conf.py:761 +#: awx/sso/conf.py:703 awx/sso/conf.py:715 awx/sso/conf.py:726 +#: awx/sso/conf.py:739 awx/sso/conf.py:750 awx/sso/conf.py:762 msgid "GitHub Organization OAuth2" msgstr "OAuth2 pour les organisations GitHub" -#: awx/sso/conf.py:712 +#: awx/sso/conf.py:713 msgid "GitHub Organization OAuth2 Key" msgstr "Clé OAuth2 pour les organisations GitHub" -#: awx/sso/conf.py:713 awx/sso/conf.py:791 +#: awx/sso/conf.py:714 awx/sso/conf.py:792 msgid "The OAuth2 key (Client ID) from your GitHub organization application." msgstr "Clé OAuth2 (ID client) de votre application d'organisation GitHub." -#: awx/sso/conf.py:723 +#: awx/sso/conf.py:724 msgid "GitHub Organization OAuth2 Secret" msgstr "Secret OAuth2 pour les organisations GitHub" -#: awx/sso/conf.py:724 awx/sso/conf.py:802 +#: awx/sso/conf.py:725 awx/sso/conf.py:803 msgid "" "The OAuth2 secret (Client Secret) from your GitHub organization application." msgstr "Secret OAuth2 (secret client) de votre application d'organisation GitHub." -#: awx/sso/conf.py:735 +#: awx/sso/conf.py:736 msgid "GitHub Organization Name" msgstr "Nom de l'organisation GitHub" -#: awx/sso/conf.py:736 +#: awx/sso/conf.py:737 msgid "" "The name of your GitHub organization, as used in your organization's URL: " "https://github.com//." msgstr "Nom de votre organisation GitHub, tel qu'utilisé dans l'URL de votre organisation : https://github.com//." -#: awx/sso/conf.py:747 +#: awx/sso/conf.py:748 msgid "GitHub Organization OAuth2 Organization Map" msgstr "Mappe d'organisations OAuth2 pour les organisations GitHub" -#: awx/sso/conf.py:759 +#: awx/sso/conf.py:760 msgid "GitHub Organization OAuth2 Team Map" msgstr "Mappe d'équipes OAuth2 pour les organisations GitHub" -#: awx/sso/conf.py:775 +#: awx/sso/conf.py:776 msgid "GitHub Team OAuth2 Callback URL" msgstr "URL de rappel OAuth2 pour les équipes GitHub" -#: awx/sso/conf.py:776 +#: awx/sso/conf.py:777 awx/sso/conf.py:1045 msgid "" "Create an organization-owned application at https://github.com/organizations/" "/settings/applications and obtain an OAuth2 key (Client ID) and " @@ -5729,172 +5550,338 @@ msgid "" "application." msgstr "Créez une application appartenant à une organisation sur https://github.com/organizations//settings/applications et obtenez une clé OAuth2 (ID client) et un secret (secret client). Entrez cette URL comme URL de rappel de votre application." -#: awx/sso/conf.py:780 awx/sso/conf.py:792 awx/sso/conf.py:803 -#: awx/sso/conf.py:816 awx/sso/conf.py:827 awx/sso/conf.py:839 +#: awx/sso/conf.py:781 awx/sso/conf.py:793 awx/sso/conf.py:804 +#: awx/sso/conf.py:817 awx/sso/conf.py:828 awx/sso/conf.py:840 msgid "GitHub Team OAuth2" msgstr "OAuth2 pour les équipes GitHub" -#: awx/sso/conf.py:790 +#: awx/sso/conf.py:791 msgid "GitHub Team OAuth2 Key" msgstr "Clé OAuth2 pour les équipes GitHub" -#: awx/sso/conf.py:801 +#: awx/sso/conf.py:802 msgid "GitHub Team OAuth2 Secret" msgstr "Secret OAuth2 pour les équipes GitHub" -#: awx/sso/conf.py:813 +#: awx/sso/conf.py:814 msgid "GitHub Team ID" msgstr "ID d'équipe GitHub" -#: awx/sso/conf.py:814 +#: awx/sso/conf.py:815 msgid "" "Find the numeric team ID using the Github API: http://fabian-kostadinov." "github.io/2015/01/16/how-to-find-a-github-team-id/." msgstr "Recherchez votre ID d'équipe numérique à l'aide de l'API Github : http://fabian-kostadinov.github.io/2015/01/16/how-to-find-a-github-team-id/." -#: awx/sso/conf.py:825 +#: awx/sso/conf.py:826 msgid "GitHub Team OAuth2 Organization Map" msgstr "Mappe d'organisations OAuth2 pour les équipes GitHub" -#: awx/sso/conf.py:837 +#: awx/sso/conf.py:838 msgid "GitHub Team OAuth2 Team Map" -msgstr "Mappe d'équipes OAuth2 pour les équipes GitHub" +msgstr "GitHub Team OAuth2 Team Map" -#: awx/sso/conf.py:853 +#: awx/sso/conf.py:854 +msgid "GitHub Enterprise OAuth2 Callback URL" +msgstr "GitHub Enterprise OAuth2 Callback URL" + +#: awx/sso/conf.py:858 awx/sso/conf.py:871 awx/sso/conf.py:883 +#: awx/sso/conf.py:894 awx/sso/conf.py:917 awx/sso/conf.py:929 +#: awx/sso/conf.py:960 awx/sso/conf.py:972 awx/sso/conf.py:1062 +#: awx/sso/conf.py:1074 +msgid "GitHub Enterprise OAuth2" +msgstr "GitHub Enterprise OAuth2" + +#: awx/sso/conf.py:868 +msgid "GitHub Enterprise URL" +msgstr "GitHub Enterprise URL" + +#: awx/sso/conf.py:869 awx/sso/conf.py:958 awx/sso/conf.py:1060 +msgid "" +"The URL for your Github Enterprise instance, e.g.: http(s)://hostname/. " +"Refer to Github Enterprise documentation for more details." +msgstr "L'URL de votre instance Github Enterprise, par exemple : http(s)://hostname/. Consultez la documentation de Github Enterprise pour plus de détails." + +#: awx/sso/conf.py:880 +msgid "GitHub Enterprise API URL" +msgstr "GitHub Enterprise API URL" + +#: awx/sso/conf.py:881 awx/sso/conf.py:970 awx/sso/conf.py:1072 +msgid "" +"The API URL for your GitHub Enterprise instance, e.g.: http(s)://hostname/" +"api/v3/. Refer to Github Enterprise documentation for more details." +msgstr "L'URL de l'API pour votre instance GitHub Enterprise, par exemple : http(s)://hostname/api/v3/. Reportez-vous à la documentation de Github Enterprise pour plus de détails." + +#: awx/sso/conf.py:892 +msgid "GitHub Enterprise OAuth2 Key" +msgstr "GitHub Enterprise OAuth2 Key" + +#: awx/sso/conf.py:893 +msgid "" +"The OAuth2 key (Client ID) from your GitHub Enterprise developer application." +msgstr "Clé OAuth2 (ID client) de votre application de développeur GitHub Enterprise." + +#: awx/sso/conf.py:903 +msgid "GitHub Enterprise OAuth2 Secret" +msgstr "GitHub Enterprise OAuth2 Secret" + +#: awx/sso/conf.py:904 +msgid "" +"The OAuth2 secret (Client Secret) from your GitHub Enterprise developer " +"application." +msgstr "Secret OAuth2 (secret client) de votre application de développeur GitHub Enterprise." + +#: awx/sso/conf.py:915 +msgid "GitHub Enterprise OAuth2 Organization Map" +msgstr "Mappe d'organisations Github Enterprise OAuth2" + +#: awx/sso/conf.py:927 +msgid "GitHub Enterprise OAuth2 Team Map" +msgstr "Mappe d'équipe GitHub Enterprise OAuth2" + +#: awx/sso/conf.py:943 +msgid "GitHub Enterprise Organization OAuth2 Callback URL" +msgstr "URL de rappel GitHub Enterprise Organization OAuth2" + +#: awx/sso/conf.py:947 awx/sso/conf.py:983 awx/sso/conf.py:994 +#: awx/sso/conf.py:1007 awx/sso/conf.py:1018 awx/sso/conf.py:1030 +msgid "GitHub Enterprise Organization OAuth2" +msgstr "GitHub Enterprise Organization OAuth2" + +#: awx/sso/conf.py:957 +msgid "GitHub Enterprise Organization URL" +msgstr "GitHub Enterprise Organization URL" + +#: awx/sso/conf.py:969 +msgid "GitHub Enterprise Organization API URL" +msgstr "GitHub Enterprise Organization API URL" + +#: awx/sso/conf.py:981 +msgid "GitHub Enterprise Organization OAuth2 Key" +msgstr "Clé OAuth2 GitHub Enterprise Organization" + +#: awx/sso/conf.py:982 awx/sso/conf.py:1084 +msgid "" +"The OAuth2 key (Client ID) from your GitHub Enterprise organization " +"application." +msgstr "Clé OAuth2 (ID client) de votre application d'organisation GitHub Enterprise." + +#: awx/sso/conf.py:992 +msgid "GitHub Enterprise Organization OAuth2 Secret" +msgstr "Secret OAuth2 pour les organisations GitHub Enterprise" + +#: awx/sso/conf.py:993 awx/sso/conf.py:1095 +msgid "" +"The OAuth2 secret (Client Secret) from your GitHub Enterprise organization " +"application." +msgstr "Secret OAuth2 (secret client) de votre application d'organisation GitHub Enterprise." + +#: awx/sso/conf.py:1004 +msgid "GitHub Enterprise Organization Name" +msgstr "Nom de l'organisation GitHub Enterprise" + +#: awx/sso/conf.py:1005 +msgid "" +"The name of your GitHub Enterprise organization, as used in your " +"organization's URL: https://github.com//." +msgstr "Nom de votre organisation GitHub Enterprise, tel qu'utilisé dans l'URL de votre organisation : https://github.com//." + +#: awx/sso/conf.py:1016 +msgid "GitHub Enterprise Organization OAuth2 Organization Map" +msgstr "Mappe d'organisations OAuth2 pour les organisations GitHub Enterprise" + +#: awx/sso/conf.py:1028 +msgid "GitHub Enterprise Organization OAuth2 Team Map" +msgstr "Mappe d'équipes OAuth2 GitHub Enterprise" + +#: awx/sso/conf.py:1044 +msgid "GitHub Enterprise Team OAuth2 Callback URL" +msgstr "URL de rappel OAuth2 GitHub Enterprise Team" + +#: awx/sso/conf.py:1049 awx/sso/conf.py:1085 awx/sso/conf.py:1096 +#: awx/sso/conf.py:1109 awx/sso/conf.py:1120 awx/sso/conf.py:1132 +msgid "GitHub Enterprise Team OAuth2" +msgstr "OAuth2 GitHub Enterprise Team" + +#: awx/sso/conf.py:1059 +msgid "GitHub Enterprise Team URL" +msgstr "URL GitHub Enterprise Team" + +#: awx/sso/conf.py:1071 +msgid "GitHub Enterprise Team API URL" +msgstr "URL de l'API GitHub Enterprise Team" + +#: awx/sso/conf.py:1083 +msgid "GitHub Enterprise Team OAuth2 Key" +msgstr "Clé OAuth2 GitHub Enterprise Team" + +#: awx/sso/conf.py:1094 +msgid "GitHub Enterprise Team OAuth2 Secret" +msgstr "OAuth2 Secret GitHub Enterprise Team" + +#: awx/sso/conf.py:1106 +msgid "GitHub Enterprise Team ID" +msgstr "ID GitHub Enterprise Team" + +#: awx/sso/conf.py:1107 +msgid "" +"Find the numeric team ID using the Github Enterprise API: http://fabian-" +"kostadinov.github.io/2015/01/16/how-to-find-a-github-team-id/." +msgstr "Recherchez votre ID d'équipe numérique à l'aide de l'API Github : http://fabian-kostadinov.github.io/2015/01/16/how-to-find-a-github-team-id/." + +#: awx/sso/conf.py:1118 +msgid "GitHub Enterprise Team OAuth2 Organization Map" +msgstr "Mappe d'organisations OAuth2 pour les organisations GitHub" + +#: awx/sso/conf.py:1130 +msgid "GitHub Enterprise Team OAuth2 Team Map" +msgstr "GitHub Enterprise Team OAuth2 Team Map" + +#: awx/sso/conf.py:1146 msgid "Azure AD OAuth2 Callback URL" msgstr "URL de rappel OAuth2 pour Azure AD" -#: awx/sso/conf.py:854 +#: awx/sso/conf.py:1147 msgid "" "Provide this URL as the callback URL for your application as part of your " "registration process. Refer to the Ansible Tower documentation for more " "detail. " msgstr "Fournir cette URL comme URL d'appel pour votre application dans le cadre de votre processus d'enregistrement. Voir la documentation Ansible Tower pour plus de détails." -#: awx/sso/conf.py:857 awx/sso/conf.py:869 awx/sso/conf.py:880 -#: awx/sso/conf.py:892 awx/sso/conf.py:904 +#: awx/sso/conf.py:1150 awx/sso/conf.py:1162 awx/sso/conf.py:1173 +#: awx/sso/conf.py:1185 awx/sso/conf.py:1197 msgid "Azure AD OAuth2" msgstr "OAuth2 pour Azure AD" -#: awx/sso/conf.py:867 +#: awx/sso/conf.py:1160 msgid "Azure AD OAuth2 Key" msgstr "Clé OAuth2 pour Azure AD" -#: awx/sso/conf.py:868 +#: awx/sso/conf.py:1161 msgid "The OAuth2 key (Client ID) from your Azure AD application." msgstr "Clé OAuth2 (ID client) de votre application Azure AD." -#: awx/sso/conf.py:878 +#: awx/sso/conf.py:1171 msgid "Azure AD OAuth2 Secret" msgstr "Secret OAuth2 pour Azure AD" -#: awx/sso/conf.py:879 +#: awx/sso/conf.py:1172 msgid "The OAuth2 secret (Client Secret) from your Azure AD application." msgstr "Secret OAuth2 (secret client) de votre application Azure AD." -#: awx/sso/conf.py:890 +#: awx/sso/conf.py:1183 msgid "Azure AD OAuth2 Organization Map" msgstr "Mappe d'organisations OAuth2 pour Azure AD" -#: awx/sso/conf.py:902 +#: awx/sso/conf.py:1195 msgid "Azure AD OAuth2 Team Map" msgstr "Mappe d'équipes OAuth2 pour Azure AD" -#: awx/sso/conf.py:927 +#: awx/sso/conf.py:1219 +msgid "Automatically Create Organizations and Teams on SAML Login" +msgstr "Créer automatiquement des organisations et des équipes sur la connexion SAML" + +#: awx/sso/conf.py:1220 +msgid "" +"When enabled (the default), mapped Organizations and Teams will be created " +"automatically on successful SAML login." +msgstr "Lorsque cette option est activée (par défaut), les organisations et les équipes mapées seront créées automatiquement si la connexion SAML est réussie." + +#: awx/sso/conf.py:1222 awx/sso/conf.py:1235 awx/sso/conf.py:1248 +#: awx/sso/conf.py:1261 awx/sso/conf.py:1275 awx/sso/conf.py:1288 +#: awx/sso/conf.py:1300 awx/sso/conf.py:1320 awx/sso/conf.py:1337 +#: awx/sso/conf.py:1355 awx/sso/conf.py:1390 awx/sso/conf.py:1421 +#: awx/sso/conf.py:1434 awx/sso/conf.py:1450 awx/sso/conf.py:1462 +#: awx/sso/conf.py:1474 awx/sso/conf.py:1493 awx/sso/models.py:16 +msgid "SAML" +msgstr "SAML" + +#: awx/sso/conf.py:1231 msgid "SAML Assertion Consumer Service (ACS) URL" msgstr "URL ACS (Assertion Consumer Service) SAML" -#: awx/sso/conf.py:928 +#: awx/sso/conf.py:1232 msgid "" "Register Tower as a service provider (SP) with each identity provider (IdP) " "you have configured. Provide your SP Entity ID and this ACS URL for your " "application." msgstr "Enregistrez Tower en tant que fournisseur de services (SP) auprès de chaque fournisseur d'identité (IdP) configuré. Entrez votre ID d'entité SP et cette URL ACS pour votre application." -#: awx/sso/conf.py:931 awx/sso/conf.py:944 awx/sso/conf.py:957 -#: awx/sso/conf.py:971 awx/sso/conf.py:984 awx/sso/conf.py:996 -#: awx/sso/conf.py:1016 awx/sso/conf.py:1033 awx/sso/conf.py:1051 -#: awx/sso/conf.py:1086 awx/sso/conf.py:1117 awx/sso/conf.py:1130 -#: awx/sso/conf.py:1146 awx/sso/conf.py:1158 awx/sso/conf.py:1170 -#: awx/sso/conf.py:1189 awx/sso/models.py:16 -msgid "SAML" -msgstr "SAML" - -#: awx/sso/conf.py:941 +#: awx/sso/conf.py:1245 msgid "SAML Service Provider Metadata URL" msgstr "URL de métadonnées du fournisseur de services SAML" -#: awx/sso/conf.py:942 +#: awx/sso/conf.py:1246 msgid "" "If your identity provider (IdP) allows uploading an XML metadata file, you " "can download one from this URL." msgstr "Si votre fournisseur d'identité (IdP) permet de télécharger un fichier de métadonnées XML, vous pouvez le faire à partir de cette URL." -#: awx/sso/conf.py:953 +#: awx/sso/conf.py:1257 msgid "SAML Service Provider Entity ID" msgstr "ID d'entité du fournisseur de services SAML" -#: awx/sso/conf.py:954 +#: awx/sso/conf.py:1258 msgid "" "The application-defined unique identifier used as the audience of the SAML " "service provider (SP) configuration. This is usually the URL for Tower." msgstr "Identifiant unique défini par l'application utilisé comme audience dans la configuration du fournisseur de services (SP) SAML. Il s'agit généralement de l'URL de Tower." -#: awx/sso/conf.py:968 +#: awx/sso/conf.py:1272 msgid "SAML Service Provider Public Certificate" msgstr "Certificat public du fournisseur de services SAML" -#: awx/sso/conf.py:969 +#: awx/sso/conf.py:1273 msgid "" "Create a keypair for Tower to use as a service provider (SP) and include the " "certificate content here." msgstr "Créez une paire de clés pour que Tower puisse être utilisé comme fournisseur de services (SP) et entrez le contenu du certificat ici." -#: awx/sso/conf.py:981 +#: awx/sso/conf.py:1285 msgid "SAML Service Provider Private Key" msgstr "Clé privée du fournisseur de services SAML" -#: awx/sso/conf.py:982 +#: awx/sso/conf.py:1286 msgid "" "Create a keypair for Tower to use as a service provider (SP) and include the " "private key content here." msgstr "Créez une paire de clés pour que Tower puisse être utilisé comme fournisseur de services (SP) et entrez le contenu de la clé privée ici." -#: awx/sso/conf.py:993 +#: awx/sso/conf.py:1297 msgid "SAML Service Provider Organization Info" msgstr "Infos organisationnelles du fournisseur de services SAML" -#: awx/sso/conf.py:994 +#: awx/sso/conf.py:1298 msgid "" "Provide the URL, display name, and the name of your app. Refer to the " "Ansible Tower documentation for example syntax." msgstr "Fournir cette URL, le nom d'affichage, le nom de votre app. Voir la documentation Ansible Tower pour obtenir des exemples de syntaxe." -#: awx/sso/conf.py:1012 +#: awx/sso/conf.py:1316 msgid "SAML Service Provider Technical Contact" msgstr "Contact technique du fournisseur de services SAML" -#: awx/sso/conf.py:1013 +#: awx/sso/conf.py:1317 msgid "" "Provide the name and email address of the technical contact for your service " "provider. Refer to the Ansible Tower documentation for example syntax." msgstr "Fournir le nom et l'adresse email d'un contact Technique pour le fournisseur de services. Voir la documentation Ansible Tower pour obtenir des exemples de syntaxe." -#: awx/sso/conf.py:1029 +#: awx/sso/conf.py:1333 msgid "SAML Service Provider Support Contact" msgstr "Contact support du fournisseur de services SAML" -#: awx/sso/conf.py:1030 +#: awx/sso/conf.py:1334 msgid "" "Provide the name and email address of the support contact for your service " "provider. Refer to the Ansible Tower documentation for example syntax." msgstr "Fournir le nom et l'adresse email d'un contact Support pour le fournisseur de services. Voir la documentation Ansible Tower pour obtenir des exemples de syntaxe." -#: awx/sso/conf.py:1045 +#: awx/sso/conf.py:1349 msgid "SAML Enabled Identity Providers" msgstr "Fournisseurs d'identité compatibles SAML" -#: awx/sso/conf.py:1046 +#: awx/sso/conf.py:1350 msgid "" "Configure the Entity ID, SSO URL and certificate for each identity provider " "(IdP) in use. Multiple SAML IdPs are supported. Some IdPs may provide user " @@ -5903,57 +5890,57 @@ msgid "" "additional details and syntax." msgstr "Configurez l'ID d'entité, l'URL SSO et le certificat pour chaque fournisseur d'identité (IdP) utilisé. Plusieurs IdP SAML sont pris en charge. Certains IdP peuvent fournir des données utilisateur à l'aide de noms d'attributs qui diffèrent des OID par défaut. Les noms d'attributs peuvent être remplacés pour chaque IdP. Voir la documentation Ansible Tower pour obtenir des exemples de syntaxe." -#: awx/sso/conf.py:1082 +#: awx/sso/conf.py:1386 msgid "SAML Security Config" msgstr "Config de sécurité SAML" -#: awx/sso/conf.py:1083 +#: awx/sso/conf.py:1387 msgid "" "A dict of key value pairs that are passed to the underlying python-saml " "security setting https://github.com/onelogin/python-saml#settings" msgstr "Un dictionnaire de paires de valeurs clés qui sont passées au paramètre de sécurité saus-jacent python-saml https://github.com/onelogin/python-saml#settings" -#: awx/sso/conf.py:1114 +#: awx/sso/conf.py:1418 msgid "SAML Service Provider extra configuration data" msgstr "Données de configuration supplémentaires du fournisseur du service SAML" -#: awx/sso/conf.py:1115 +#: awx/sso/conf.py:1419 msgid "" "A dict of key value pairs to be passed to the underlying python-saml Service " "Provider configuration setting." msgstr "Un dictionnaire de paires de valeurs clés qui sont passées au paramètre de configuration sous-jacent du Fournisseur de service python-saml." -#: awx/sso/conf.py:1127 +#: awx/sso/conf.py:1431 msgid "SAML IDP to extra_data attribute mapping" msgstr "IDP SAM pour la mappage d'attributs extra_data" -#: awx/sso/conf.py:1128 +#: awx/sso/conf.py:1432 msgid "" "A list of tuples that maps IDP attributes to extra_attributes. Each " "attribute will be a list of values, even if only 1 value." msgstr "Liste des tuples qui mappent les attributs IDP en extra_attributes. Chaque attribut correspondra à une liste de valeurs, même si 1 seule valeur." -#: awx/sso/conf.py:1144 +#: awx/sso/conf.py:1448 msgid "SAML Organization Map" msgstr "Mappe d'organisations SAML" -#: awx/sso/conf.py:1156 +#: awx/sso/conf.py:1460 msgid "SAML Team Map" msgstr "Mappe d'équipes SAML" -#: awx/sso/conf.py:1168 +#: awx/sso/conf.py:1472 msgid "SAML Organization Attribute Mapping" msgstr "Mappage d'attributs d'organisation SAML" -#: awx/sso/conf.py:1169 +#: awx/sso/conf.py:1473 msgid "Used to translate user organization membership into Tower." msgstr "Utilisé pour traduire l'adhésion organisation de l'utilisateur dans Tower." -#: awx/sso/conf.py:1187 +#: awx/sso/conf.py:1491 msgid "SAML Team Attribute Mapping" msgstr "Mappage d'attributs d'équipe SAML" -#: awx/sso/conf.py:1188 +#: awx/sso/conf.py:1492 msgid "Used to translate user team membership into Tower." msgstr "Utilisé pour traduire l'adhésion équipe de l'utilisateur dans Tower." @@ -5961,71 +5948,83 @@ msgstr "Utilisé pour traduire l'adhésion équipe de l'utilisateur dans Tower." msgid "Invalid field." msgstr "Champ invalide." -#: awx/sso/fields.py:250 +#: awx/sso/fields.py:270 #, python-brace-format msgid "Invalid connection option(s): {invalid_options}." msgstr "Option(s) de connexion non valide(s) : {invalid_options}." -#: awx/sso/fields.py:334 +#: awx/sso/fields.py:354 msgid "Base" msgstr "Base" -#: awx/sso/fields.py:335 +#: awx/sso/fields.py:355 msgid "One Level" msgstr "Un niveau" -#: awx/sso/fields.py:336 +#: awx/sso/fields.py:356 msgid "Subtree" msgstr "Sous-arborescence" -#: awx/sso/fields.py:354 +#: awx/sso/fields.py:374 #, python-brace-format msgid "Expected a list of three items but got {length} instead." msgstr "Une liste de trois éléments était attendue, mais {length} a été obtenu à la place." -#: awx/sso/fields.py:355 +#: awx/sso/fields.py:375 #, python-brace-format msgid "Expected an instance of LDAPSearch but got {input_type} instead." msgstr "Une instance de LDAPSearch était attendue, mais {input_type} a été obtenu à la place." -#: awx/sso/fields.py:391 +#: awx/sso/fields.py:411 #, python-brace-format msgid "" "Expected an instance of LDAPSearch or LDAPSearchUnion but got {input_type} " "instead." msgstr "Une instance de LDAPSearch ou de LDAPSearchUnion était attendue, mais {input_type} a été obtenu à la place." -#: awx/sso/fields.py:429 +#: awx/sso/fields.py:449 #, python-brace-format msgid "Invalid user attribute(s): {invalid_attrs}." msgstr "Attribut(s) d'utilisateur non valide(s) : {invalid_attrs}." -#: awx/sso/fields.py:447 +#: awx/sso/fields.py:467 #, python-brace-format msgid "Expected an instance of LDAPGroupType but got {input_type} instead." msgstr "Une instance de LDAPGroupType était attendue, mais {input_type} a été obtenu à la place." -#: awx/sso/fields.py:487 +#: awx/sso/fields.py:468 +#, python-brace-format +msgid "Missing required parameters in {dependency}." +msgstr "Les paramètres requis manquants dans {dependency}." + +#: awx/sso/fields.py:469 +#, python-brace-format +msgid "" +"Invalid group_type parameters. Expected instance of dict but got " +"{parameters_type} instead." +msgstr "Paramètres group_type non valides. Instance attendue de dict mais obtenue à la place." + +#: awx/sso/fields.py:519 #, python-brace-format msgid "Invalid key(s): {invalid_keys}." msgstr "Clé(s) invalide(s) : {invalid_keys}." -#: awx/sso/fields.py:513 +#: awx/sso/fields.py:545 #, python-brace-format msgid "Invalid user flag: \"{invalid_flag}\"." msgstr "Drapeau d'utilisateur non valide : \"{invalid_flag}\"." -#: awx/sso/fields.py:667 +#: awx/sso/fields.py:699 #, python-brace-format msgid "Invalid language code(s) for org info: {invalid_lang_codes}." msgstr "Code(s) langage non valide(s) pour les infos organis. : {invalid_lang_codes}." -#: awx/sso/pipeline.py:27 +#: awx/sso/pipeline.py:28 #, python-brace-format msgid "An account cannot be found for {0}" msgstr "Impossible de trouver un compte pour {0}" -#: awx/sso/pipeline.py:33 +#: awx/sso/pipeline.py:34 msgid "Your account is inactive" msgstr "Votre compte est inactif" @@ -6097,9 +6096,9 @@ msgstr "Infos de connexion personnalisées" msgid "" "If needed, you can add specific information (such as a legal notice or a " "disclaimer) to a text box in the login modal using this setting. Any content " -"added must be in plain text, as custom HTML or other markup languages are " -"not supported." -msgstr "Si nécessaire, vous pouvez ajouter des informations particulières (telles qu'une mention légale ou une clause de non-responsabilité) à une zone de texte dans la fenêtre modale de connexion, grâce à ce paramètre. Tout contenu ajouté doit l'être en texte brut, dans la mesure où le langage HTML personnalisé et les autres langages de balisage ne sont pas pris en charge." +"added must be in plain text or an HTML fragment, as other markup languages " +"are not supported." +msgstr "Si nécessaire, vous pouvez ajouter des informations particulières (telles qu'une mention légale ou une clause de non-responsabilité) à une zone de texte dans la fenêtre modale de connexion, grâce à ce paramètre. Tout contenu ajouté doit l'être en texte brut, car le langage HTML personnalisé et les autres langages de balisage ne sont pas pris en charge." #: awx/ui/conf.py:45 msgid "Custom Logo" @@ -6141,3 +6140,29 @@ msgstr "Format de logo personnalisé non valide. Entrez une URL de données avec msgid "Invalid base64-encoded data in data URL." msgstr "Données codées en base64 non valides dans l'URL de données" +#: awx/ui_next/apps.py:9 +msgid "UI_Next" +msgstr "UI_Next" + +#: awx/ui_next/urls.py:20 +#, python-format +msgid "%s Upgrading" +msgstr "%s Mise à jour" + +#: awx/ui_next/urls.py:21 +msgid "Logo" +msgstr "Logo" + +#: awx/ui_next/urls.py:22 +msgid "Loading" +msgstr "Chargement en cours..." + +#: awx/ui_next/urls.py:23 +#, python-format +msgid "%s is currently upgrading." +msgstr "%s est en cours de mise à niveau." + +#: awx/ui_next/urls.py:24 +msgid "This page will refresh when complete." +msgstr "Cette page sera rafraîchie une fois terminée." + diff --git a/awx/locale/ja/LC_MESSAGES/django.po b/awx/locale/ja/LC_MESSAGES/django.po index abc2ad15aa..35da6f31dc 100644 --- a/awx/locale/ja/LC_MESSAGES/django.po +++ b/awx/locale/ja/LC_MESSAGES/django.po @@ -3,12 +3,11 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-09-29 15:20+0000\n" +"POT-Creation-Date: 2021-03-02 15:56+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -27,35 +26,42 @@ msgid "" "again." msgstr "ユーザーが再ログインするまでに非アクティブな状態になる秒数です。" -#: awx/api/conf.py:17 awx/api/conf.py:26 awx/api/conf.py:34 awx/api/conf.py:50 -#: awx/api/conf.py:62 awx/api/conf.py:74 awx/sso/conf.py:97 awx/sso/conf.py:108 +#: awx/api/conf.py:17 awx/api/conf.py:27 awx/api/conf.py:35 awx/api/conf.py:51 +#: awx/api/conf.py:64 awx/api/conf.py:76 awx/sso/conf.py:97 awx/sso/conf.py:108 #: awx/sso/conf.py:120 awx/sso/conf.py:135 msgid "Authentication" msgstr "認証" -#: awx/api/conf.py:24 +#: awx/api/conf.py:19 awx/api/conf.py:53 awx/main/conf.py:269 +#: awx/main/conf.py:281 awx/main/conf.py:294 awx/main/conf.py:516 +#: awx/main/conf.py:529 awx/main/conf.py:542 awx/main/conf.py:557 +#: awx/main/conf.py:695 awx/main/conf.py:777 awx/sso/conf.py:518 +msgid "seconds" +msgstr "秒" + +#: awx/api/conf.py:25 msgid "Maximum number of simultaneous logged in sessions" msgstr "同時ログインセッションの最大数" -#: awx/api/conf.py:25 +#: awx/api/conf.py:26 msgid "" "Maximum number of simultaneous logged in sessions a user may have. To " "disable enter -1." msgstr "ユーザーが実行できる同時ログインセッションの最大数です。無効にするには -1 を入力します。" -#: awx/api/conf.py:32 +#: awx/api/conf.py:33 msgid "Enable HTTP Basic Auth" msgstr "HTTP Basic 認証の有効化" -#: awx/api/conf.py:33 +#: awx/api/conf.py:34 msgid "Enable HTTP Basic Auth for the API Browser." msgstr "API ブラウザーの HTTP Basic 認証を有効にします。" -#: awx/api/conf.py:43 +#: awx/api/conf.py:44 msgid "OAuth 2 Timeout Settings" msgstr "OAuth 2 タイムアウト設定" -#: awx/api/conf.py:44 +#: awx/api/conf.py:45 msgid "" "Dictionary for customizing OAuth 2 timeouts, available items are " "`ACCESS_TOKEN_EXPIRE_SECONDS`, the duration of access tokens in the number " @@ -65,11 +71,11 @@ msgid "" "expired access tokens, in the number of seconds." msgstr "OAuth 2 タイムアウトをカスタマイズするための辞書です。利用可能な項目は、`ACCESS_TOKEN_EXPIRE_SECONDS` (アクセストークンの期間 (秒数))、`AUTHORIZATION_CODE_EXPIRE_SECONDS` (認証コードの期間 (秒数))、`REFRESH_TOKEN_EXPIRE_SECONDS` (アクセストークンが失効した後の更新トークンの期間 (秒数)) です。" -#: awx/api/conf.py:57 +#: awx/api/conf.py:59 msgid "Allow External Users to Create OAuth2 Tokens" msgstr "外部ユーザーによる OAuth2 トークンの作成を許可" -#: awx/api/conf.py:58 +#: awx/api/conf.py:60 msgid "" "For security reasons, users from external auth providers (LDAP, SAML, SSO, " "Radius, and others) are not allowed to create OAuth2 tokens. To change this " @@ -77,11 +83,11 @@ msgid "" "setting is toggled off." msgstr "セキュリティー上の理由により、外部の認証プロバイダー (LDAP、SAML、SSO、Radius など) のユーザーは OAuth2 トークンを作成できません。この動作を変更するには、当設定を有効にします。この設定をオフに指定した場合は、既存のトークンは削除されません。" -#: awx/api/conf.py:71 +#: awx/api/conf.py:73 msgid "Login redirect override URL" msgstr "ログインリダイレクトオーバーライド URL" -#: awx/api/conf.py:72 +#: awx/api/conf.py:74 msgid "" "URL to which unauthorized users will be redirected to log in. If blank, " "users will be sent to the Tower login page." @@ -132,7 +138,7 @@ msgid "" "roles for access control." msgstr "モデルがアクセスコントロールにロールを使用していないので、このリストに role_level フィルターを適用できません。" -#: awx/api/generics.py:183 +#: awx/api/generics.py:181 msgid "" "You did not use correct Content-Type in your HTTP request. If you are using " "our REST API, the Content-Type must be application/json" @@ -243,1167 +249,1172 @@ msgstr "ワークフローテンプレート" msgid "Job Template" msgstr "ジョブテンプレート" -#: awx/api/serializers.py:709 +#: awx/api/serializers.py:706 msgid "" "Indicates whether all of the events generated by this unified job have been " "saved to the database." msgstr "この統一されたジョブで生成されるイベントすべてがデータベースに保存されているかどうかを示します。" -#: awx/api/serializers.py:880 +#: awx/api/serializers.py:877 msgid "Write-only field used to change the password." msgstr "パスワードを変更するために使用される書き込み専用フィールド。" -#: awx/api/serializers.py:882 +#: awx/api/serializers.py:879 msgid "Set if the account is managed by an external service" msgstr "アカウントが外部サービスで管理される場合に設定されます" -#: awx/api/serializers.py:909 +#: awx/api/serializers.py:906 msgid "Password required for new User." msgstr "新規ユーザーのパスワードを入力してください。" -#: awx/api/serializers.py:994 +#: awx/api/serializers.py:991 #, python-format msgid "Unable to change %s on user managed by LDAP." msgstr "LDAP で管理されたユーザーの %s を変更できません。" -#: awx/api/serializers.py:1090 +#: awx/api/serializers.py:1087 msgid "Must be a simple space-separated string with allowed scopes {}." msgstr "許可されたスコープ {} のある単純なスペースで区切られた文字列でなければなりません。" -#: awx/api/serializers.py:1188 +#: awx/api/serializers.py:1185 msgid "Authorization Grant Type" msgstr "認証付与タイプ" -#: awx/api/serializers.py:1190 awx/main/credential_plugins/azure_kv.py:30 -#: awx/main/models/credential/__init__.py:972 +#: awx/api/serializers.py:1187 awx/main/credential_plugins/azure_kv.py:30 +#: awx/main/models/credential/__init__.py:950 msgid "Client Secret" msgstr "クライアントシークレット" -#: awx/api/serializers.py:1193 +#: awx/api/serializers.py:1190 msgid "Client Type" msgstr "クライアントタイプ" -#: awx/api/serializers.py:1196 +#: awx/api/serializers.py:1193 msgid "Redirect URIs" msgstr "リダイレクト URI" -#: awx/api/serializers.py:1199 +#: awx/api/serializers.py:1196 msgid "Skip Authorization" msgstr "認証のスキップ" -#: awx/api/serializers.py:1306 +#: awx/api/serializers.py:1303 msgid "Cannot change max_hosts." msgstr "max_hosts を変更できません。" -#: awx/api/serializers.py:1339 +#: awx/api/serializers.py:1334 +#, python-brace-format +msgid "Cannot change local_path for {scm_type}-based projects" +msgstr "{scm_type} ベースのプロジェクトの local_path を変更できません。" + +#: awx/api/serializers.py:1338 msgid "This path is already being used by another manual project." msgstr "このパスは別の手動プロジェクトですでに使用されています。" -#: awx/api/serializers.py:1341 +#: awx/api/serializers.py:1340 msgid "SCM branch cannot be used with archive projects." msgstr "SCM ブランチはアーカイブプロジェクトでは使用できません。" -#: awx/api/serializers.py:1343 +#: awx/api/serializers.py:1342 msgid "SCM refspec can only be used with git projects." msgstr "SCM refspec は、git プロジェクトでのみ使用できます。" -#: awx/api/serializers.py:1420 +#: awx/api/serializers.py:1419 msgid "" "One or more job templates depend on branch override behavior for this " "project (ids: {})." msgstr "1 つまたは複数のジョブテンプレートは、このプロジェクトのブランチオーバーライドに依存しています (ids: {})。" -#: awx/api/serializers.py:1427 +#: awx/api/serializers.py:1426 msgid "Update options must be set to false for manual projects." msgstr "手動プロジェクトについては更新オプションを false に設定する必要があります。" -#: awx/api/serializers.py:1433 +#: awx/api/serializers.py:1432 msgid "Array of playbooks available within this project." msgstr "このプロジェクト内で利用可能な一連の Playbook。" -#: awx/api/serializers.py:1452 +#: awx/api/serializers.py:1451 msgid "" "Array of inventory files and directories available within this project, not " "comprehensive." msgstr "このプロジェクト内で利用可能な一連のインベントリーファイルおよびディレクトリー (包括的な一覧ではありません)。" -#: awx/api/serializers.py:1500 awx/api/serializers.py:3089 -#: awx/api/serializers.py:3301 +#: awx/api/serializers.py:1499 awx/api/serializers.py:3088 +#: awx/api/serializers.py:3300 msgid "A count of hosts uniquely assigned to each status." msgstr "各ステータスに一意に割り当てられたホスト数です。" -#: awx/api/serializers.py:1503 awx/api/serializers.py:3092 +#: awx/api/serializers.py:1502 awx/api/serializers.py:3091 msgid "A count of all plays and tasks for the job run." msgstr "ジョブ実行用のすべてのプレイおよびタスクの数です。" -#: awx/api/serializers.py:1630 +#: awx/api/serializers.py:1629 msgid "Smart inventories must specify host_filter" msgstr "スマートインベントリーは host_filter を指定する必要があります" -#: awx/api/serializers.py:1722 +#: awx/api/serializers.py:1721 #, python-format msgid "Invalid port specification: %s" msgstr "無効なポート指定: %s" -#: awx/api/serializers.py:1733 +#: awx/api/serializers.py:1732 msgid "Cannot create Host for Smart Inventory" msgstr "スマートインベントリーのホストを作成できません" -#: awx/api/serializers.py:1751 +#: awx/api/serializers.py:1750 msgid "A Group with that name already exists." msgstr "その名前のグループはすでに存在します。" -#: awx/api/serializers.py:1822 +#: awx/api/serializers.py:1821 msgid "A Host with that name already exists." msgstr "その名前のホストはすでに存在します。" -#: awx/api/serializers.py:1827 +#: awx/api/serializers.py:1826 msgid "Invalid group name." msgstr "無効なグループ名。" -#: awx/api/serializers.py:1832 +#: awx/api/serializers.py:1831 msgid "Cannot create Group for Smart Inventory" msgstr "スマートインベントリーのグループを作成できません" -#: awx/api/serializers.py:1907 +#: awx/api/serializers.py:1906 msgid "" "Script must begin with a hashbang sequence: i.e.... #!/usr/bin/env python" msgstr "スクリプトは hashbang シーケンスで開始する必要があります (例: .... #!/usr/bin/env python)" -#: awx/api/serializers.py:1936 +#: awx/api/serializers.py:1935 msgid "Cloud credential to use for inventory updates." msgstr "インベントリー更新に使用するクラウド認証情報" -#: awx/api/serializers.py:1957 +#: awx/api/serializers.py:1956 msgid "`{}` is a prohibited environment variable" msgstr "`{}` は禁止されている環境変数です" -#: awx/api/serializers.py:1968 +#: awx/api/serializers.py:1967 msgid "If 'source' is 'custom', 'source_script' must be provided." msgstr "「source」が「custom」である場合、「source_script」を指定する必要があります。" -#: awx/api/serializers.py:1974 +#: awx/api/serializers.py:1973 msgid "Must provide an inventory." msgstr "インベントリーを指定する必要があります。" -#: awx/api/serializers.py:1978 +#: awx/api/serializers.py:1977 msgid "" "The 'source_script' does not belong to the same organization as the " "inventory." msgstr "「source_script」はインベントリーと同じ組織に属しません。" -#: awx/api/serializers.py:1980 +#: awx/api/serializers.py:1979 msgid "'source_script' doesn't exist." msgstr "「source_script」は存在しません。" -#: awx/api/serializers.py:2082 +#: awx/api/serializers.py:2081 msgid "Cannot use manual project for SCM-based inventory." msgstr "SCM ベースのインベントリーの手動プロジェクトを使用できません。" -#: awx/api/serializers.py:2087 +#: awx/api/serializers.py:2086 msgid "Setting not compatible with existing schedules." msgstr "設定は既存スケジュールとの互換性がありません。" -#: awx/api/serializers.py:2092 +#: awx/api/serializers.py:2091 msgid "Cannot create Inventory Source for Smart Inventory" msgstr "スマートインベントリーのインベントリーソースを作成できません" -#: awx/api/serializers.py:2140 +#: awx/api/serializers.py:2139 msgid "Project required for scm type sources." msgstr "SCM タイプのソースに必要なプロジェクト。" -#: awx/api/serializers.py:2149 +#: awx/api/serializers.py:2148 #, python-format msgid "Cannot set %s if not SCM type." -msgstr "SCM タイプでない場合 %s を設定できません。" +msgstr "SCM タイプでない場合は %s を設定できません。" -#: awx/api/serializers.py:2219 +#: awx/api/serializers.py:2218 msgid "The project used for this job." msgstr "このジョブに使用するプロジェクト" -#: awx/api/serializers.py:2475 +#: awx/api/serializers.py:2474 msgid "Modifications not allowed for managed credential types" msgstr "管理されている認証情報タイプで変更は許可されません" -#: awx/api/serializers.py:2487 +#: awx/api/serializers.py:2486 msgid "" "Modifications to inputs are not allowed for credential types that are in use" msgstr "入力への変更は使用中の認証情報タイプで許可されません" -#: awx/api/serializers.py:2492 +#: awx/api/serializers.py:2491 #, python-format msgid "Must be 'cloud' or 'net', not %s" msgstr "「cloud」または「net」にする必要があります (%s ではない)" -#: awx/api/serializers.py:2498 +#: awx/api/serializers.py:2497 msgid "'ask_at_runtime' is not supported for custom credentials." msgstr "「ask_at_runtime」はカスタム認証情報ではサポートされません。" -#: awx/api/serializers.py:2547 +#: awx/api/serializers.py:2546 msgid "Credential Type" msgstr "認証情報タイプ" -#: awx/api/serializers.py:2611 +#: awx/api/serializers.py:2610 msgid "Modifications not allowed for managed credentials" msgstr "管理されている認証情報では変更が許可されません" -#: awx/api/serializers.py:2629 awx/api/serializers.py:2703 +#: awx/api/serializers.py:2628 awx/api/serializers.py:2702 msgid "Galaxy credentials must be owned by an Organization." msgstr "Galaxy 認証情報は組織が所有している必要があります。" -#: awx/api/serializers.py:2646 +#: awx/api/serializers.py:2645 msgid "" "You cannot change the credential type of the credential, as it may break the " "functionality of the resources using it." msgstr "認証情報の認証情報タイプを変更することはできません。これにより、認証情報を使用するリソースの機能が中断する可能性があるためです。" -#: awx/api/serializers.py:2658 +#: awx/api/serializers.py:2657 msgid "" "Write-only field used to add user to owner role. If provided, do not give " "either team or organization. Only valid for creation." msgstr "ユーザーを所有者ロールに追加するために使用される書き込み専用フィールドです。提供されている場合は、チームまたは組織のいずれも指定しないでください。作成時にのみ有効です。" -#: awx/api/serializers.py:2663 +#: awx/api/serializers.py:2662 msgid "" "Write-only field used to add team to owner role. If provided, do not give " "either user or organization. Only valid for creation." msgstr "チームを所有者ロールに追加するために使用される書き込み専用フィールドです。提供されている場合は、ユーザーまたは組織のいずれも指定しないでください。作成時にのみ有効です。" -#: awx/api/serializers.py:2668 +#: awx/api/serializers.py:2667 msgid "" "Inherit permissions from organization roles. If provided on creation, do not " "give either user or team." msgstr "組織ロールからパーミッションを継承します。作成時に提供される場合は、ユーザーまたはチームのいずれも指定しないでください。" -#: awx/api/serializers.py:2685 +#: awx/api/serializers.py:2684 msgid "Missing 'user', 'team', or 'organization'." msgstr "「user」、「team」、または「organization」がありません。" -#: awx/api/serializers.py:2690 +#: awx/api/serializers.py:2689 msgid "" "Only one of 'user', 'team', or 'organization' should be provided, received " "{} fields." msgstr "「user」、「team」、または「organization」のいずれか 1 つのみを指定し、{} フィールドを受け取る必要があります。" -#: awx/api/serializers.py:2718 +#: awx/api/serializers.py:2717 msgid "" "Credential organization must be set and match before assigning to a team" msgstr "認証情報の組織が設定され、一致している状態でチームに割り当てる必要があります。" -#: awx/api/serializers.py:2844 +#: awx/api/serializers.py:2843 msgid "This field is required." msgstr "このフィールドは必須です。" -#: awx/api/serializers.py:2853 +#: awx/api/serializers.py:2852 msgid "Playbook not found for project." msgstr "プロジェクトの Playbook が見つかりません。" -#: awx/api/serializers.py:2855 +#: awx/api/serializers.py:2854 msgid "Must select playbook for project." msgstr "プロジェクトの Playbook を選択してください。" -#: awx/api/serializers.py:2857 awx/api/serializers.py:2859 +#: awx/api/serializers.py:2856 awx/api/serializers.py:2858 msgid "Project does not allow overriding branch." msgstr "プロジェクトは、ブランチをオーバーライドできません。" -#: awx/api/serializers.py:2896 +#: awx/api/serializers.py:2895 msgid "Must be a Personal Access Token." msgstr "パーソナルアクセストークンである必要があります。" -#: awx/api/serializers.py:2899 +#: awx/api/serializers.py:2898 msgid "Must match the selected webhook service." msgstr "選択した Webhook サービスと一致する必要があります。" -#: awx/api/serializers.py:2970 +#: awx/api/serializers.py:2969 msgid "Cannot enable provisioning callback without an inventory set." msgstr "インベントリー設定なしにプロビジョニングコールバックを有効にすることはできません。" -#: awx/api/serializers.py:2973 +#: awx/api/serializers.py:2972 msgid "Must either set a default value or ask to prompt on launch." msgstr "起動時にプロントを出すには、デフォルト値を設定するか、またはプロンプトを出すよう指定する必要があります。" -#: awx/api/serializers.py:2975 awx/main/models/jobs.py:299 +#: awx/api/serializers.py:2974 awx/main/models/jobs.py:299 msgid "Job Templates must have a project assigned." msgstr "ジョブテンプレートにはプロジェクトを割り当てる必要があります。" -#: awx/api/serializers.py:3133 +#: awx/api/serializers.py:3132 msgid "No change to job limit" msgstr "ジョブ制限に変更はありません" -#: awx/api/serializers.py:3134 +#: awx/api/serializers.py:3133 msgid "All failed and unreachable hosts" msgstr "失敗している、到達できないすべてのホスト" -#: awx/api/serializers.py:3149 +#: awx/api/serializers.py:3148 msgid "Missing passwords needed to start: {}" msgstr "起動に必要なパスワードが見つかりません: {}" -#: awx/api/serializers.py:3168 +#: awx/api/serializers.py:3167 msgid "Relaunch by host status not available until job finishes running." msgstr "ホストのステータス別の再起動はジョブが実行を終了するまで利用できません。" -#: awx/api/serializers.py:3182 +#: awx/api/serializers.py:3181 msgid "Job Template Project is missing or undefined." msgstr "ジョブテンプレートプロジェクトが見つからないか、または定義されていません。" -#: awx/api/serializers.py:3184 +#: awx/api/serializers.py:3183 msgid "Job Template Inventory is missing or undefined." msgstr "ジョブテンプレートインベントリーが見つからないか、または定義されていません。" -#: awx/api/serializers.py:3222 +#: awx/api/serializers.py:3221 msgid "Unknown, job may have been ran before launch configurations were saved." msgstr "不明です。ジョブは起動設定が保存される前に実行された可能性があります。" -#: awx/api/serializers.py:3293 awx/main/tasks.py:2838 awx/main/tasks.py:2856 +#: awx/api/serializers.py:3292 awx/main/tasks.py:2923 awx/main/tasks.py:2941 msgid "{} are prohibited from use in ad hoc commands." msgstr "{} の使用はアドホックコマンドで禁止されています。" -#: awx/api/serializers.py:3381 awx/api/views/__init__.py:4211 +#: awx/api/serializers.py:3380 awx/api/views/__init__.py:4208 #, python-brace-format msgid "" "Standard Output too large to display ({text_size} bytes), only download " "supported for sizes over {supported_size} bytes." msgstr "標準出力が大きすぎて表示できません ({text_size} バイト)。サイズが {supported_size} バイトを超える場合はダウンロードのみがサポートされます。" -#: awx/api/serializers.py:3694 +#: awx/api/serializers.py:3699 msgid "Provided variable {} has no database value to replace with." msgstr "指定された変数 {} には置き換えるデータベースの値がありません。" -#: awx/api/serializers.py:3712 +#: awx/api/serializers.py:3717 msgid "\"$encrypted$ is a reserved keyword, may not be used for {}.\"" msgstr "\"$encrypted$ は予約されたキーワードで、{} には使用できません。\"" -#: awx/api/serializers.py:4119 +#: awx/api/serializers.py:4124 msgid "A project is required to run a job." msgstr "ジョブを実行するにはプロジェクトが必要です。" -#: awx/api/serializers.py:4121 +#: awx/api/serializers.py:4126 msgid "Missing a revision to run due to failed project update." msgstr "プロジェクトの更新に失敗したため、実行するリビジョンがありません。" -#: awx/api/serializers.py:4125 +#: awx/api/serializers.py:4130 msgid "The inventory associated with this Job Template is being deleted." msgstr "このジョブテンプレートに関連付けられているインベントリーが削除されています。" -#: awx/api/serializers.py:4127 awx/api/serializers.py:4244 +#: awx/api/serializers.py:4132 awx/api/serializers.py:4252 msgid "The provided inventory is being deleted." msgstr "指定されたインベントリーが削除されています。" -#: awx/api/serializers.py:4135 +#: awx/api/serializers.py:4140 msgid "Cannot assign multiple {} credentials." msgstr "複数の {} 認証情報を割り当てることができません。" -#: awx/api/serializers.py:4140 +#: awx/api/serializers.py:4145 msgid "Cannot assign a Credential of kind `{}`" msgstr "`{}`の種類の認証情報を割り当てることができません。" -#: awx/api/serializers.py:4153 +#: awx/api/serializers.py:4158 msgid "" "Removing {} credential at launch time without replacement is not supported. " "Provided list lacked credential(s): {}." msgstr "置き換えなしで起動時に {} 認証情報を削除することはサポートされていません。指定された一覧には認証情報がありません: {}" -#: awx/api/serializers.py:4242 +#: awx/api/serializers.py:4250 msgid "The inventory associated with this Workflow is being deleted." msgstr "このワークフローに関連付けられているインベントリーが削除されています。" -#: awx/api/serializers.py:4313 +#: awx/api/serializers.py:4321 msgid "Message type '{}' invalid, must be either 'message' or 'body'" msgstr "メッセージタイプ '{}' が無効です。'メッセージ' または 'ボディー' のいずれかに指定する必要があります。" -#: awx/api/serializers.py:4319 +#: awx/api/serializers.py:4327 msgid "Expected string for '{}', found {}, " msgstr "'{}' の文字列が必要ですが、{} が見つかりました。 " -#: awx/api/serializers.py:4323 +#: awx/api/serializers.py:4331 msgid "Messages cannot contain newlines (found newline in {} event)" msgstr "メッセージでは改行を追加できません ({} イベントに改行が含まれます)" -#: awx/api/serializers.py:4329 +#: awx/api/serializers.py:4337 msgid "Expected dict for 'messages' field, found {}" msgstr "'messages' フィールドには辞書が必要ですが、{} が見つかりました。" -#: awx/api/serializers.py:4333 +#: awx/api/serializers.py:4341 msgid "" "Event '{}' invalid, must be one of 'started', 'success', 'error', or " "'workflow_approval'" msgstr "イベント '{}' は無効です。'started'、'success'、'error' または 'workflow_approval' のいずれかでなければなりません。" -#: awx/api/serializers.py:4339 +#: awx/api/serializers.py:4347 msgid "Expected dict for event '{}', found {}" msgstr "イベント '{}' には辞書が必要ですが、{} が見つかりました。" -#: awx/api/serializers.py:4344 +#: awx/api/serializers.py:4352 msgid "" "Workflow Approval event '{}' invalid, must be one of 'running', 'approved', " "'timed_out', or 'denied'" msgstr "ワークフロー承認イベント '{}' が無効です。'running'、'approved'、'timed_out' または 'denied' のいずれかでなければなりません。" -#: awx/api/serializers.py:4351 +#: awx/api/serializers.py:4359 msgid "Expected dict for workflow approval event '{}', found {}" msgstr "ワークフロー承認イベント '{}' には辞書が必要ですが、{} が見つかりました。" -#: awx/api/serializers.py:4378 +#: awx/api/serializers.py:4386 msgid "Unable to render message '{}': {}" msgstr "メッセージ '{}' のレンダリングができません: {}" -#: awx/api/serializers.py:4380 +#: awx/api/serializers.py:4388 msgid "Field '{}' unavailable" msgstr "フィールド '{}' が利用できません" -#: awx/api/serializers.py:4382 +#: awx/api/serializers.py:4390 msgid "Security error due to field '{}'" msgstr "フィールド '{}' が原因のセキュリティーエラー" -#: awx/api/serializers.py:4402 +#: awx/api/serializers.py:4410 msgid "Webhook body for '{}' should be a json dictionary. Found type '{}'." msgstr "'{}' の Webhook のボディーは json 辞書でなければなりません。'{}' のタイプが見つかりました。" -#: awx/api/serializers.py:4405 +#: awx/api/serializers.py:4413 msgid "Webhook body for '{}' is not a valid json dictionary ({})." msgstr "'{}' の Webhook ボディーは有効な json 辞書ではありません ({})。" -#: awx/api/serializers.py:4423 +#: awx/api/serializers.py:4431 msgid "" "Missing required fields for Notification Configuration: notification_type" msgstr "通知設定の必須フィールドがありません: notification_type" -#: awx/api/serializers.py:4450 +#: awx/api/serializers.py:4458 msgid "No values specified for field '{}'" msgstr "フィールド '{}' に値が指定されていません" -#: awx/api/serializers.py:4455 +#: awx/api/serializers.py:4463 msgid "HTTP method must be either 'POST' or 'PUT'." msgstr "HTTP メソッドは 'POST' または 'PUT' のいずれかでなければなりません。" -#: awx/api/serializers.py:4457 +#: awx/api/serializers.py:4465 msgid "Missing required fields for Notification Configuration: {}." msgstr "通知設定の必須フィールドがありません: {}。" -#: awx/api/serializers.py:4460 +#: awx/api/serializers.py:4468 msgid "Configuration field '{}' incorrect type, expected {}." msgstr "設定フィールド '{}' のタイプが正しくありません。{} が予期されました。" -#: awx/api/serializers.py:4477 +#: awx/api/serializers.py:4485 msgid "Notification body" msgstr "通知ボディー" -#: awx/api/serializers.py:4557 +#: awx/api/serializers.py:4565 msgid "" "Valid DTSTART required in rrule. Value should start with: DTSTART:" "YYYYMMDDTHHMMSSZ" msgstr "有効な DTSTART が rrule で必要です。値は DTSTART:YYYYMMDDTHHMMSSZ で開始する必要があります。" -#: awx/api/serializers.py:4559 +#: awx/api/serializers.py:4567 msgid "" "DTSTART cannot be a naive datetime. Specify ;TZINFO= or YYYYMMDDTHHMMSSZZ." msgstr "DTSTART をネイティブの日時にすることができません。;TZINFO= or YYYYMMDDTHHMMSSZZ を指定します。" -#: awx/api/serializers.py:4561 +#: awx/api/serializers.py:4569 msgid "Multiple DTSTART is not supported." msgstr "複数の DTSTART はサポートされません。" -#: awx/api/serializers.py:4563 +#: awx/api/serializers.py:4571 msgid "RRULE required in rrule." msgstr "RRULE が rrule で必要です。" -#: awx/api/serializers.py:4565 +#: awx/api/serializers.py:4573 msgid "Multiple RRULE is not supported." msgstr "複数の RRULE はサポートされません。" -#: awx/api/serializers.py:4567 +#: awx/api/serializers.py:4575 msgid "INTERVAL required in rrule." msgstr "INTERVAL が rrule で必要です。" -#: awx/api/serializers.py:4569 +#: awx/api/serializers.py:4577 msgid "SECONDLY is not supported." msgstr "SECONDLY はサポートされません。" -#: awx/api/serializers.py:4571 +#: awx/api/serializers.py:4579 msgid "Multiple BYMONTHDAYs not supported." msgstr "複数の BYMONTHDAY はサポートされません。" -#: awx/api/serializers.py:4573 +#: awx/api/serializers.py:4581 msgid "Multiple BYMONTHs not supported." msgstr "複数の BYMONTH はサポートされません。" -#: awx/api/serializers.py:4575 +#: awx/api/serializers.py:4583 msgid "BYDAY with numeric prefix not supported." msgstr "数字の接頭辞のある BYDAY はサポートされません。" -#: awx/api/serializers.py:4577 +#: awx/api/serializers.py:4585 msgid "BYYEARDAY not supported." msgstr "BYYEARDAY はサポートされません。" -#: awx/api/serializers.py:4579 +#: awx/api/serializers.py:4587 msgid "BYWEEKNO not supported." msgstr "BYWEEKNO はサポートされません。" -#: awx/api/serializers.py:4581 +#: awx/api/serializers.py:4589 msgid "RRULE may not contain both COUNT and UNTIL" msgstr "RRULE には COUNT と UNTIL の両方を含めることができません" -#: awx/api/serializers.py:4585 +#: awx/api/serializers.py:4593 msgid "COUNT > 999 is unsupported." msgstr "COUNT > 999 はサポートされません。" -#: awx/api/serializers.py:4591 +#: awx/api/serializers.py:4599 msgid "rrule parsing failed validation: {}" msgstr "rrule の構文解析で検証に失敗しました: {}" -#: awx/api/serializers.py:4653 +#: awx/api/serializers.py:4661 msgid "Inventory Source must be a cloud resource." msgstr "インベントリーソースはクラウドリソースでなければなりません。" -#: awx/api/serializers.py:4655 +#: awx/api/serializers.py:4663 msgid "Manual Project cannot have a schedule set." msgstr "手動プロジェクトにはスケジュールを設定できません。" -#: awx/api/serializers.py:4658 +#: awx/api/serializers.py:4666 msgid "" "Inventory sources with `update_on_project_update` cannot be scheduled. " "Schedule its source project `{}` instead." msgstr "「update_on_project_update」が設定されたインベントリーソースはスケジュールできません。代わりのそのソースプロジェクト「{}」 をスケジュールします。" -#: awx/api/serializers.py:4668 +#: awx/api/serializers.py:4676 msgid "" "Count of jobs in the running or waiting state that are targeted for this " "instance" msgstr "このインスタンスにターゲット設定されている実行中または待機状態のジョブの数" -#: awx/api/serializers.py:4673 +#: awx/api/serializers.py:4681 msgid "Count of all jobs that target this instance" msgstr "このインスタンスをターゲットに設定するすべてのジョブの数" -#: awx/api/serializers.py:4708 +#: awx/api/serializers.py:4716 msgid "" "Count of jobs in the running or waiting state that are targeted for this " "instance group" msgstr "このインスタンスグループにターゲット設定されている実行中または待機状態のジョブの数" -#: awx/api/serializers.py:4713 +#: awx/api/serializers.py:4721 msgid "Count of all jobs that target this instance group" msgstr "このインスタンスグループをターゲットに設定するすべてのジョブの数" -#: awx/api/serializers.py:4718 +#: awx/api/serializers.py:4726 msgid "Indicates whether instance group controls any other group" msgstr "インスタンスグループが他のグループを制御するかどうかを指定します。" -#: awx/api/serializers.py:4722 +#: awx/api/serializers.py:4730 msgid "" "Indicates whether instances in this group are isolated.Isolated groups have " "a designated controller group." msgstr "このグループ内でインスタンスを分離させるかを指定します。分離されたグループには指定したコントローラーグループがあります。" -#: awx/api/serializers.py:4727 +#: awx/api/serializers.py:4735 msgid "" "Indicates whether instances in this group are containerized.Containerized " "groups have a designated Openshift or Kubernetes cluster." msgstr "このグループ内でインスタンスをコンテナー化するかを指定します。コンテナー化したグループには、指定の OpenShift または Kubernetes クラスターが含まれます。" -#: awx/api/serializers.py:4735 +#: awx/api/serializers.py:4743 msgid "Policy Instance Percentage" msgstr "ポリシーインスタンスの割合" -#: awx/api/serializers.py:4736 +#: awx/api/serializers.py:4744 msgid "" "Minimum percentage of all instances that will be automatically assigned to " "this group when new instances come online." msgstr "新規インスタンスがオンラインになると、このグループに自動的に最小限割り当てられるインスタンスの割合を選択します。" -#: awx/api/serializers.py:4741 +#: awx/api/serializers.py:4749 msgid "Policy Instance Minimum" msgstr "ポリシーインスタンスの最小値" -#: awx/api/serializers.py:4742 +#: awx/api/serializers.py:4750 msgid "" "Static minimum number of Instances that will be automatically assign to this " "group when new instances come online." msgstr "新規インスタンスがオンラインになると、このグループに自動的に最小限割り当てられるインスタンス数を入力します。" -#: awx/api/serializers.py:4747 +#: awx/api/serializers.py:4755 msgid "Policy Instance List" msgstr "ポリシーインスタンスの一覧" -#: awx/api/serializers.py:4748 +#: awx/api/serializers.py:4756 msgid "List of exact-match Instances that will be assigned to this group" msgstr "このグループに割り当てられる完全一致のインスタンスの一覧" -#: awx/api/serializers.py:4774 +#: awx/api/serializers.py:4782 msgid "Duplicate entry {}." msgstr "重複するエントリー {}。" -#: awx/api/serializers.py:4776 +#: awx/api/serializers.py:4784 msgid "{} is not a valid hostname of an existing instance." msgstr "{} は既存インスタンスの有効なホスト名ではありません。" -#: awx/api/serializers.py:4778 awx/api/views/mixin.py:98 +#: awx/api/serializers.py:4786 awx/api/views/mixin.py:98 msgid "" "Isolated instances may not be added or removed from instances groups via the " "API." msgstr "分離されたインスタンスは、API 経由でインスタンスグループから追加したり、削除したりすることができません。" -#: awx/api/serializers.py:4780 awx/api/views/mixin.py:102 +#: awx/api/serializers.py:4788 awx/api/views/mixin.py:102 msgid "Isolated instance group membership may not be managed via the API." msgstr "分離されたインスタンスグループのメンバーシップは API で管理できません。" -#: awx/api/serializers.py:4782 awx/api/serializers.py:4787 -#: awx/api/serializers.py:4792 +#: awx/api/serializers.py:4790 awx/api/serializers.py:4795 +#: awx/api/serializers.py:4800 msgid "Containerized instances may not be managed via the API" msgstr "コンテナー化されたインスタンスは API で管理されないことがあります" -#: awx/api/serializers.py:4797 +#: awx/api/serializers.py:4805 msgid "tower instance group name may not be changed." msgstr "Tower のインスタンスグループ名は変更できません。" -#: awx/api/serializers.py:4802 +#: awx/api/serializers.py:4810 msgid "Only Kubernetes credentials can be associated with an Instance Group" msgstr "インスタンスグループに関連付けることができる Kubernetes 認証情報のみです" -#: awx/api/serializers.py:4841 +#: awx/api/serializers.py:4849 msgid "" "When present, shows the field name of the role or relationship that changed." msgstr "これがある場合には、変更された関係またはロールのフィールド名を表示します。" -#: awx/api/serializers.py:4843 +#: awx/api/serializers.py:4851 msgid "" "When present, shows the model on which the role or relationship was defined." msgstr "これがある場合には、ロールまたは関係が定義されているモデルを表示します。" -#: awx/api/serializers.py:4876 +#: awx/api/serializers.py:4884 msgid "" "A summary of the new and changed values when an object is created, updated, " "or deleted" msgstr "オブジェクトの作成、更新または削除時の新規値および変更された値の概要" -#: awx/api/serializers.py:4878 +#: awx/api/serializers.py:4886 msgid "" "For create, update, and delete events this is the object type that was " "affected. For associate and disassociate events this is the object type " "associated or disassociated with object2." msgstr "作成、更新、および削除イベントの場合、これは影響を受けたオブジェクトタイプになります。関連付けおよび関連付け解除イベントの場合、これは object2 に関連付けられたか、またはその関連付けが解除されたオブジェクトタイプになります。" -#: awx/api/serializers.py:4881 +#: awx/api/serializers.py:4889 msgid "" "Unpopulated for create, update, and delete events. For associate and " "disassociate events this is the object type that object1 is being associated " "with." msgstr "作成、更新、および削除イベントの場合は設定されません。関連付けおよび関連付け解除イベントの場合、これは object1 が関連付けられるオブジェクトタイプになります。" -#: awx/api/serializers.py:4884 +#: awx/api/serializers.py:4892 msgid "The action taken with respect to the given object(s)." msgstr "指定されたオブジェクトについて実行されたアクション。" -#: awx/api/views/__init__.py:185 +#: awx/api/views/__init__.py:186 msgid "Not found." msgstr "見つかりません" -#: awx/api/views/__init__.py:193 +#: awx/api/views/__init__.py:194 msgid "Dashboard" msgstr "ダッシュボード" -#: awx/api/views/__init__.py:290 +#: awx/api/views/__init__.py:284 msgid "Dashboard Jobs Graphs" msgstr "ダッシュボードのジョブグラフ" -#: awx/api/views/__init__.py:326 +#: awx/api/views/__init__.py:323 #, python-format msgid "Unknown period \"%s\"" msgstr "不明な期間 \"%s\"" -#: awx/api/views/__init__.py:340 +#: awx/api/views/__init__.py:337 msgid "Instances" msgstr "インスタンス" -#: awx/api/views/__init__.py:348 +#: awx/api/views/__init__.py:345 msgid "Instance Detail" msgstr "インスタンスの詳細" -#: awx/api/views/__init__.py:365 +#: awx/api/views/__init__.py:362 msgid "Instance Jobs" msgstr "インスタンスジョブ" -#: awx/api/views/__init__.py:379 +#: awx/api/views/__init__.py:376 msgid "Instance's Instance Groups" msgstr "インスタンスのインスタンスグループ" -#: awx/api/views/__init__.py:388 +#: awx/api/views/__init__.py:385 msgid "Instance Groups" msgstr "インスタンスグループ" -#: awx/api/views/__init__.py:396 +#: awx/api/views/__init__.py:393 msgid "Instance Group Detail" msgstr "インスタンスグループの詳細" -#: awx/api/views/__init__.py:411 +#: awx/api/views/__init__.py:408 msgid "Isolated Groups can not be removed from the API" msgstr "分離されたグループは API から削除できません" -#: awx/api/views/__init__.py:413 +#: awx/api/views/__init__.py:410 msgid "" "Instance Groups acting as a controller for an Isolated Group can not be " "removed from the API" msgstr "分離されたグループのコントローラーとして動作するインスタンスグループは API から削除できません" -#: awx/api/views/__init__.py:419 +#: awx/api/views/__init__.py:416 msgid "Instance Group Running Jobs" msgstr "ジョブを実行しているインスタンスグループ" -#: awx/api/views/__init__.py:428 +#: awx/api/views/__init__.py:425 msgid "Instance Group's Instances" msgstr "インスタンスグループのインスタンス" -#: awx/api/views/__init__.py:438 +#: awx/api/views/__init__.py:435 msgid "Schedules" msgstr "スケジュール" -#: awx/api/views/__init__.py:452 +#: awx/api/views/__init__.py:449 msgid "Schedule Recurrence Rule Preview" msgstr "繰り返しルールプレビューのスケジュール" -#: awx/api/views/__init__.py:499 +#: awx/api/views/__init__.py:496 msgid "Cannot assign credential when related template is null." msgstr "関連するテンプレートが null の場合は認証情報を割り当てることができません。" -#: awx/api/views/__init__.py:504 +#: awx/api/views/__init__.py:501 msgid "Related template cannot accept {} on launch." msgstr "関連するテンプレートは起動時に {} を受け入れません。" -#: awx/api/views/__init__.py:506 +#: awx/api/views/__init__.py:503 msgid "" "Credential that requires user input on launch cannot be used in saved launch " "configuration." msgstr "起動時にユーザー入力を必要とする認証情報は保存された起動設定で使用できません。" -#: awx/api/views/__init__.py:512 +#: awx/api/views/__init__.py:509 msgid "Related template is not configured to accept credentials on launch." msgstr "関連するテンプレートは起動時に認証情報を受け入れるよう設定されていません。" -#: awx/api/views/__init__.py:514 +#: awx/api/views/__init__.py:511 #, python-brace-format msgid "" "This launch configuration already provides a {credential_type} credential." msgstr "この起動設定は {credential_type} 認証情報をすでに指定しています。" -#: awx/api/views/__init__.py:517 +#: awx/api/views/__init__.py:514 #, python-brace-format msgid "Related template already uses {credential_type} credential." msgstr "関連するテンプレートは {credential_type} 認証情報をすでに使用しています。" -#: awx/api/views/__init__.py:535 +#: awx/api/views/__init__.py:532 msgid "Schedule Jobs List" msgstr "スケジュールジョブの一覧" -#: awx/api/views/__init__.py:619 awx/api/views/__init__.py:4420 +#: awx/api/views/__init__.py:616 awx/api/views/__init__.py:4419 msgid "" "You cannot assign an Organization participation role as a child role for a " "Team." msgstr "組織の参加ロールをチームの子ロールとして割り当てることができません。" -#: awx/api/views/__init__.py:623 awx/api/views/__init__.py:4434 +#: awx/api/views/__init__.py:620 awx/api/views/__init__.py:4433 msgid "You cannot grant system-level permissions to a team." msgstr "システムレベルのパーミッションをチームに付与できません。" -#: awx/api/views/__init__.py:630 awx/api/views/__init__.py:4426 +#: awx/api/views/__init__.py:627 awx/api/views/__init__.py:4425 msgid "" "You cannot grant credential access to a team when the Organization field " "isn't set, or belongs to a different organization" msgstr "組織フィールドが設定されていないか、または別の組織に属する場合に認証情報のアクセス権をチームに付与できません" -#: awx/api/views/__init__.py:732 +#: awx/api/views/__init__.py:729 msgid "Project Schedules" msgstr "プロジェクトのスケジュール" -#: awx/api/views/__init__.py:743 +#: awx/api/views/__init__.py:740 msgid "Project SCM Inventory Sources" msgstr "プロジェクト SCM のインベントリーソース" -#: awx/api/views/__init__.py:844 +#: awx/api/views/__init__.py:841 msgid "Project Update Events List" msgstr "プロジェクト更新イベント一覧" -#: awx/api/views/__init__.py:858 +#: awx/api/views/__init__.py:855 msgid "System Job Events List" msgstr "システムジョブイベント一覧" -#: awx/api/views/__init__.py:892 +#: awx/api/views/__init__.py:889 msgid "Project Update SCM Inventory Updates" msgstr "プロジェクト更新 SCM のインベントリー更新" -#: awx/api/views/__init__.py:937 +#: awx/api/views/__init__.py:934 msgid "Me" msgstr "自分" -#: awx/api/views/__init__.py:946 +#: awx/api/views/__init__.py:943 msgid "OAuth 2 Applications" msgstr "OAuth 2 アプリケーション" -#: awx/api/views/__init__.py:955 +#: awx/api/views/__init__.py:952 msgid "OAuth 2 Application Detail" msgstr "OAuth 2 アプリケーションの詳細" -#: awx/api/views/__init__.py:968 +#: awx/api/views/__init__.py:965 msgid "OAuth 2 Application Tokens" msgstr "OAuth 2 アプリケーショントークン" -#: awx/api/views/__init__.py:990 +#: awx/api/views/__init__.py:987 msgid "OAuth2 Tokens" msgstr "OAuth2 トークン" -#: awx/api/views/__init__.py:999 +#: awx/api/views/__init__.py:996 msgid "OAuth2 User Tokens" msgstr "OAuth2 ユーザートークン" -#: awx/api/views/__init__.py:1011 +#: awx/api/views/__init__.py:1008 msgid "OAuth2 User Authorized Access Tokens" msgstr "OAuth2 ユーザー認可アクセストークン" -#: awx/api/views/__init__.py:1026 +#: awx/api/views/__init__.py:1023 msgid "Organization OAuth2 Applications" msgstr "組織 OAuth2 アプリケーション" -#: awx/api/views/__init__.py:1038 +#: awx/api/views/__init__.py:1035 msgid "OAuth2 Personal Access Tokens" msgstr "OAuth2 パーソナルアクセストークン" -#: awx/api/views/__init__.py:1053 +#: awx/api/views/__init__.py:1050 msgid "OAuth Token Detail" msgstr "OAuth トークンの詳細" -#: awx/api/views/__init__.py:1115 awx/api/views/__init__.py:4387 +#: awx/api/views/__init__.py:1112 awx/api/views/__init__.py:4386 msgid "" "You cannot grant credential access to a user not in the credentials' " "organization" msgstr "認証情報の組織に属さないユーザーに認証情報のアクセス権を付与することはできません" -#: awx/api/views/__init__.py:1119 awx/api/views/__init__.py:4391 +#: awx/api/views/__init__.py:1116 awx/api/views/__init__.py:4390 msgid "You cannot grant private credential access to another user" msgstr "非公開の認証情報のアクセス権を別のユーザーに付与することはできません" -#: awx/api/views/__init__.py:1217 +#: awx/api/views/__init__.py:1214 #, python-format msgid "Cannot change %s." msgstr "%s を変更できません。" -#: awx/api/views/__init__.py:1223 +#: awx/api/views/__init__.py:1220 msgid "Cannot delete user." msgstr "ユーザーを削除できません。" -#: awx/api/views/__init__.py:1247 +#: awx/api/views/__init__.py:1244 msgid "Deletion not allowed for managed credential types" msgstr "管理されている認証情報タイプで削除は許可されません" -#: awx/api/views/__init__.py:1249 +#: awx/api/views/__init__.py:1246 msgid "Credential types that are in use cannot be deleted" msgstr "使用中の認証情報タイプを削除できません" -#: awx/api/views/__init__.py:1362 +#: awx/api/views/__init__.py:1359 msgid "Deletion not allowed for managed credentials" msgstr "管理されている認証情報では削除が許可されません" -#: awx/api/views/__init__.py:1407 +#: awx/api/views/__init__.py:1404 msgid "External Credential Test" msgstr "外部認証情報のテスト" -#: awx/api/views/__init__.py:1442 +#: awx/api/views/__init__.py:1439 msgid "Credential Input Source Detail" msgstr "認証情報の入力ソース詳細" -#: awx/api/views/__init__.py:1450 awx/api/views/__init__.py:1458 +#: awx/api/views/__init__.py:1447 awx/api/views/__init__.py:1455 msgid "Credential Input Sources" msgstr "認証情報の入力ソース" -#: awx/api/views/__init__.py:1473 +#: awx/api/views/__init__.py:1470 msgid "External Credential Type Test" msgstr "外部認証情報の種類テスト" -#: awx/api/views/__init__.py:1539 +#: awx/api/views/__init__.py:1536 msgid "The inventory for this host is already being deleted." msgstr "このホストのインベントリーはすでに削除されています。" -#: awx/api/views/__init__.py:1656 +#: awx/api/views/__init__.py:1653 msgid "SSLError while trying to connect to {}" msgstr "{} への接続試行中に SSL エラーが発生しました" -#: awx/api/views/__init__.py:1658 +#: awx/api/views/__init__.py:1655 msgid "Request to {} timed out." msgstr "{} の要求がタイムアウトになりました。" -#: awx/api/views/__init__.py:1660 +#: awx/api/views/__init__.py:1657 msgid "Unknown exception {} while trying to GET {}" msgstr "GET {} の試行中に不明の例外 {} が発生しました" -#: awx/api/views/__init__.py:1664 +#: awx/api/views/__init__.py:1661 msgid "" "Unauthorized access. Please check your Insights Credential username and " "password." msgstr "不正アクセスです。Insights 認証情報のユーザー名およびパスワードを確認してください。" -#: awx/api/views/__init__.py:1668 +#: awx/api/views/__init__.py:1665 msgid "" "Failed to access the Insights API at URL {}. Server responded with {} status " "code and message {}" msgstr "URL {} で Insights API にアクセスできませんでした。サーバーが {} ステータスコードおよびメッセージ {} を出して応答しました。" -#: awx/api/views/__init__.py:1677 +#: awx/api/views/__init__.py:1674 msgid "Expected JSON response from Insights at URL {} but instead got {}" msgstr "Insights からの JSON 応答を想定していましたが、URL {} の代わりに {} を取得しました。" -#: awx/api/views/__init__.py:1695 +#: awx/api/views/__init__.py:1692 msgid "Could not translate Insights system ID {} into an Insights platform ID." msgstr "Insights システム ID {} から Insights プラットフォーム ID に変換できませんでした。" -#: awx/api/views/__init__.py:1737 +#: awx/api/views/__init__.py:1734 msgid "This host is not recognized as an Insights host." msgstr "このホストは Insights ホストとして認識されていません。" -#: awx/api/views/__init__.py:1745 +#: awx/api/views/__init__.py:1742 msgid "The Insights Credential for \"{}\" was not found." msgstr "\"{}\" の Insights 認証情報が見つかりませんでした。" -#: awx/api/views/__init__.py:1824 +#: awx/api/views/__init__.py:1821 msgid "Cyclical Group association." msgstr "循環的なグループの関連付け" -#: awx/api/views/__init__.py:1990 +#: awx/api/views/__init__.py:1987 msgid "Inventory subset argument must be a string." msgstr "インベントリーサブセットの引数は文字列でなければなりません。" -#: awx/api/views/__init__.py:1994 +#: awx/api/views/__init__.py:1991 msgid "Subset does not use any supported syntax." msgstr "サポートされている構文がサブセットで使用されていません。" -#: awx/api/views/__init__.py:2044 +#: awx/api/views/__init__.py:2041 msgid "Inventory Source List" msgstr "インベントリーソース一覧" -#: awx/api/views/__init__.py:2056 +#: awx/api/views/__init__.py:2053 msgid "Inventory Sources Update" msgstr "インベントリーソースの更新" -#: awx/api/views/__init__.py:2089 +#: awx/api/views/__init__.py:2086 msgid "Could not start because `can_update` returned False" msgstr "`can_update` が False を返したので開始できませんでした" -#: awx/api/views/__init__.py:2097 +#: awx/api/views/__init__.py:2094 msgid "No inventory sources to update." msgstr "更新するインベントリーソースがありません。" -#: awx/api/views/__init__.py:2119 +#: awx/api/views/__init__.py:2116 msgid "Inventory Source Schedules" msgstr "インベントリーソースのスケジュール" -#: awx/api/views/__init__.py:2146 +#: awx/api/views/__init__.py:2143 msgid "Notification Templates can only be assigned when source is one of {}." msgstr "ソースが {} のいずれかである場合、通知テンプレートのみを割り当てることができます。" -#: awx/api/views/__init__.py:2244 +#: awx/api/views/__init__.py:2241 msgid "Source already has credential assigned." msgstr "ソースには認証情報がすでに割り当てられています。" -#: awx/api/views/__init__.py:2460 +#: awx/api/views/__init__.py:2457 msgid "Job Template Schedules" msgstr "ジョブテンプレートスケジュール" -#: awx/api/views/__init__.py:2509 +#: awx/api/views/__init__.py:2506 msgid "Field '{}' is missing from survey spec." msgstr "Survey の指定にフィールド '{}' がありません。" -#: awx/api/views/__init__.py:2511 +#: awx/api/views/__init__.py:2508 msgid "Expected {} for field '{}', received {} type." msgstr "フィールド '{}' の予期される {}。{} タイプを受信しました。" -#: awx/api/views/__init__.py:2515 +#: awx/api/views/__init__.py:2512 msgid "'spec' doesn't contain any items." msgstr "「spec」には項目が含まれません。" -#: awx/api/views/__init__.py:2529 +#: awx/api/views/__init__.py:2526 #, python-format msgid "Survey question %s is not a json object." msgstr "Survey の質問 %s は json オブジェクトではありません。" -#: awx/api/views/__init__.py:2532 +#: awx/api/views/__init__.py:2529 #, python-brace-format msgid "'{field_name}' missing from survey question {idx}" msgstr "Survey の質問 {idx} に '{field_name}' がありません。" -#: awx/api/views/__init__.py:2542 +#: awx/api/views/__init__.py:2539 #, python-brace-format msgid "'{field_name}' in survey question {idx} expected to be {type_label}." -msgstr "Survey の質問 {idx} の '{field_name}' は {type_label} である必要があります。" +msgstr "Survey の質問 {idx} の '{field_name}' は {type_label} である必要があります。" -#: awx/api/views/__init__.py:2546 +#: awx/api/views/__init__.py:2543 #, python-format msgid "'variable' '%(item)s' duplicated in survey question %(survey)s." msgstr "Survey の質問 %(survey)s で '変数' '%(item)s' が重複しています。" -#: awx/api/views/__init__.py:2556 +#: awx/api/views/__init__.py:2553 #, python-brace-format msgid "" "'{survey_item[type]}' in survey question {idx} is not one of " "'{allowed_types}' allowed question types." msgstr "Survey の質問 {idx} の '{survey_item[type]}' は、'{allowed_types}' で許可されている質問タイプではありません。" -#: awx/api/views/__init__.py:2566 +#: awx/api/views/__init__.py:2563 #, python-brace-format msgid "" "Default value {survey_item[default]} in survey question {idx} expected to be " "{type_label}." msgstr "Survey の質問 {idx} のデフォルト値 {survey_item[default]} は、{type_label} である必要があります。" -#: awx/api/views/__init__.py:2576 +#: awx/api/views/__init__.py:2573 #, python-brace-format msgid "The {min_or_max} limit in survey question {idx} expected to be integer." msgstr "Survey の質問 {idx} の {min_or_max} の制限は整数である必要があります。" -#: awx/api/views/__init__.py:2586 +#: awx/api/views/__init__.py:2583 #, python-brace-format msgid "Survey question {idx} of type {survey_item[type]} must specify choices." msgstr "タイプ {survey_item[type]} の Survey の質問 {idx} には選択肢を指定する必要があります。" -#: awx/api/views/__init__.py:2600 +#: awx/api/views/__init__.py:2597 msgid "Multiple Choice (Single Select) can only have one default value." msgstr "選択肢方式 (単一の選択) では、デフォルト値を 1 つだけ使用できます。" -#: awx/api/views/__init__.py:2604 +#: awx/api/views/__init__.py:2601 msgid "Default choice must be answered from the choices listed." msgstr "デフォルトで指定されている選択項目は、一覧から回答する必要があります。" -#: awx/api/views/__init__.py:2613 +#: awx/api/views/__init__.py:2610 #, python-brace-format msgid "" "$encrypted$ is a reserved keyword for password question defaults, survey " "question {idx} is type {survey_item[type]}." msgstr "$encrypted$ は、デフォルト設定されているパスワードの質問に予約されたキーワードで、Survey の質問 {idx} は {survey_item[type]} タイプです。" -#: awx/api/views/__init__.py:2627 +#: awx/api/views/__init__.py:2624 #, python-brace-format msgid "" "$encrypted$ is a reserved keyword, may not be used for new default in " "position {idx}." msgstr "$encrypted$ は予約されたキーワードで、位置 {idx} の新規デフォルトに使用できません。" -#: awx/api/views/__init__.py:2699 +#: awx/api/views/__init__.py:2696 #, python-brace-format msgid "Cannot assign multiple {credential_type} credentials." msgstr "複数の {credential_type} 認証情報を割り当てることができません。" -#: awx/api/views/__init__.py:2703 +#: awx/api/views/__init__.py:2700 msgid "Cannot assign a Credential of kind `{}`." msgstr "`{}`の種類の認証情報を割り当てることができません。" -#: awx/api/views/__init__.py:2726 +#: awx/api/views/__init__.py:2723 msgid "Maximum number of labels for {} reached." msgstr "{} のラベルの最大数に達しました。" -#: awx/api/views/__init__.py:2849 +#: awx/api/views/__init__.py:2846 msgid "No matching host could be found!" msgstr "一致するホストが見つかりませんでした!" -#: awx/api/views/__init__.py:2852 +#: awx/api/views/__init__.py:2849 msgid "Multiple hosts matched the request!" msgstr "複数のホストが要求に一致しました!" -#: awx/api/views/__init__.py:2857 +#: awx/api/views/__init__.py:2854 msgid "Cannot start automatically, user input required!" msgstr "自動的に開始できません。ユーザー入力が必要です!" -#: awx/api/views/__init__.py:2865 +#: awx/api/views/__init__.py:2862 msgid "Host callback job already pending." msgstr "ホストのコールバックジョブがすでに保留中です。" -#: awx/api/views/__init__.py:2881 awx/api/views/__init__.py:3632 +#: awx/api/views/__init__.py:2878 awx/api/views/__init__.py:3629 msgid "Error starting job!" msgstr "ジョブの開始時にエラーが発生しました!" -#: awx/api/views/__init__.py:3005 awx/api/views/__init__.py:3025 +#: awx/api/views/__init__.py:3002 awx/api/views/__init__.py:3022 msgid "Cycle detected." msgstr "サイクルが検出されました。" -#: awx/api/views/__init__.py:3017 +#: awx/api/views/__init__.py:3014 msgid "Relationship not allowed." msgstr "リレーションシップは許可されていません。" -#: awx/api/views/__init__.py:3246 +#: awx/api/views/__init__.py:3243 msgid "Cannot relaunch slice workflow job orphaned from job template." msgstr "ジョブテンプレートから孤立しているスライスされたワークフロージョブを再起動することはできません。" -#: awx/api/views/__init__.py:3248 +#: awx/api/views/__init__.py:3245 msgid "Cannot relaunch sliced workflow job after slice count has changed." msgstr "スライス数を変更した後は、スライスされたワークフロージョブを再起動することはできません。" -#: awx/api/views/__init__.py:3281 +#: awx/api/views/__init__.py:3278 msgid "Workflow Job Template Schedules" msgstr "ワークフロージョブテンプレートのスケジュール" -#: awx/api/views/__init__.py:3424 awx/api/views/__init__.py:4055 +#: awx/api/views/__init__.py:3421 awx/api/views/__init__.py:4052 msgid "Superuser privileges needed." msgstr "スーパーユーザー権限が必要です。" -#: awx/api/views/__init__.py:3457 +#: awx/api/views/__init__.py:3454 msgid "System Job Template Schedules" msgstr "システムジョブテンプレートのスケジュール" -#: awx/api/views/__init__.py:3615 +#: awx/api/views/__init__.py:3612 #, python-brace-format msgid "Wait until job finishes before retrying on {status_value} hosts." msgstr "ジョブの終了を待機してから {status_value} ホストで再試行します。" -#: awx/api/views/__init__.py:3620 +#: awx/api/views/__init__.py:3617 #, python-brace-format msgid "Cannot retry on {status_value} hosts, playbook stats not available." msgstr "Playbook 統計を利用できないため、{status_value} ホストで再試行できません。" -#: awx/api/views/__init__.py:3625 +#: awx/api/views/__init__.py:3622 #, python-brace-format msgid "Cannot relaunch because previous job had 0 {status_value} hosts." msgstr "直前のジョブにあるのが 0 {status_value} ホストがあるため、再起動できません。" -#: awx/api/views/__init__.py:3654 +#: awx/api/views/__init__.py:3651 msgid "Cannot create schedule because job requires credential passwords." msgstr "ジョブには認証情報パスワードが必要なため、スケジュールを削除できません。" -#: awx/api/views/__init__.py:3659 +#: awx/api/views/__init__.py:3656 msgid "Cannot create schedule because job was launched by legacy method." msgstr "ジョブがレガシー方式で起動したため、スケジュールを作成できません。" -#: awx/api/views/__init__.py:3661 +#: awx/api/views/__init__.py:3658 msgid "Cannot create schedule because a related resource is missing." msgstr "関連するリソースがないため、スケジュールを作成できません。" -#: awx/api/views/__init__.py:3716 +#: awx/api/views/__init__.py:3713 msgid "Job Host Summaries List" msgstr "ジョブホスト概要一覧" -#: awx/api/views/__init__.py:3770 +#: awx/api/views/__init__.py:3767 msgid "Job Event Children List" msgstr "ジョブイベント子一覧" -#: awx/api/views/__init__.py:3786 +#: awx/api/views/__init__.py:3783 msgid "Job Event Hosts List" msgstr "ジョブイベントホスト一覧" -#: awx/api/views/__init__.py:3801 +#: awx/api/views/__init__.py:3798 msgid "Job Events List" msgstr "ジョブイベント一覧" -#: awx/api/views/__init__.py:4012 +#: awx/api/views/__init__.py:4009 msgid "Ad Hoc Command Events List" msgstr "アドホックコマンドイベント一覧" -#: awx/api/views/__init__.py:4257 +#: awx/api/views/__init__.py:4256 msgid "Delete not allowed while there are pending notifications" msgstr "保留中の通知がある場合に削除は許可されません" -#: awx/api/views/__init__.py:4265 +#: awx/api/views/__init__.py:4264 msgid "Notification Template Test" msgstr "通知テンプレートテスト" -#: awx/api/views/__init__.py:4525 awx/api/views/__init__.py:4540 +#: awx/api/views/__init__.py:4524 awx/api/views/__init__.py:4539 msgid "User does not have permission to approve or deny this workflow." msgstr "このワークフローを承認または拒否するパーミッションはありません。" -#: awx/api/views/__init__.py:4527 awx/api/views/__init__.py:4542 +#: awx/api/views/__init__.py:4526 awx/api/views/__init__.py:4541 msgid "This workflow step has already been approved or denied." msgstr "このワークフローの手順はすでに承認または拒否されています。" @@ -1444,76 +1455,104 @@ msgstr "ジョブはイベント処理を終了していません。" msgid "Related job {} is still processing events." msgstr "関連するジョブ {} は依然としてイベントを処理しています。" -#: awx/api/views/organization.py:230 +#: awx/api/views/organization.py:232 #, python-brace-format msgid "Credential must be a Galaxy credential, not {sub.credential_type.name}." msgstr "認証情報は、{sub.credential_type.name} ではなく、Galaxy 認証情報にする必要があります。" -#: awx/api/views/root.py:50 awx/templates/rest_framework/api.html:28 +#: awx/api/views/root.py:51 awx/templates/rest_framework/api.html:28 msgid "REST API" msgstr "REST API" -#: awx/api/views/root.py:60 awx/templates/rest_framework/api.html:4 +#: awx/api/views/root.py:61 awx/templates/rest_framework/api.html:4 msgid "AWX REST API" msgstr "AWX REST API" -#: awx/api/views/root.py:73 +#: awx/api/views/root.py:74 msgid "API OAuth 2 Authorization Root" msgstr "API OAuth 2 認証ルート" -#: awx/api/views/root.py:140 +#: awx/api/views/root.py:141 msgid "Version 2" msgstr "バージョン 2" -#: awx/api/views/root.py:149 +#: awx/api/views/root.py:150 msgid "Ping" msgstr "Ping" -#: awx/api/views/root.py:181 awx/api/views/root.py:226 awx/conf/apps.py:10 -msgid "Configuration" -msgstr "Configuration (構成)" +#: awx/api/views/root.py:182 +msgid "Subscriptions" +msgstr "サブスクリプション" -#: awx/api/views/root.py:203 awx/api/views/root.py:310 -msgid "Invalid License" -msgstr "無効なライセンス" +#: awx/api/views/root.py:204 awx/api/views/root.py:249 +msgid "Invalid Subscription" +msgstr "無効なサブスクリプション" -#: awx/api/views/root.py:208 +#: awx/api/views/root.py:209 awx/api/views/root.py:254 msgid "The provided credentials are invalid (HTTP 401)." msgstr "指定した認証情報は無効 (HTTP 401) です。" -#: awx/api/views/root.py:210 +#: awx/api/views/root.py:211 awx/api/views/root.py:256 msgid "Unable to connect to proxy server." msgstr "プロキシサーバーに接続できません。" -#: awx/api/views/root.py:212 +#: awx/api/views/root.py:213 awx/api/views/root.py:258 msgid "Could not connect to subscription service." msgstr "サブスクリプションサービスに接続できませんでした。" -#: awx/api/views/root.py:286 -msgid "Invalid license data" -msgstr "無効なライセンスデータ" +#: awx/api/views/root.py:227 +msgid "Attach Subscription" +msgstr "サブスクリプションの割り当て" -#: awx/api/views/root.py:288 +#: awx/api/views/root.py:239 +msgid "No subscription pool ID provided." +msgstr "サブスクリプションプール ID が指定されていません。" + +#: awx/api/views/root.py:271 +msgid "Error processing subscription metadata." +msgstr "サブスクリプションメタデータの処理中にエラーが発生しました。" + +#: awx/api/views/root.py:277 awx/conf/apps.py:10 +msgid "Configuration" +msgstr "Configuration (構成)" + +#: awx/api/views/root.py:334 +msgid "Invalid subscription data" +msgstr "無効なサブスクリプションデータ" + +#: awx/api/views/root.py:336 msgid "Missing 'eula_accepted' property" msgstr "'eula_accepted' プロパティーがありません" -#: awx/api/views/root.py:292 +#: awx/api/views/root.py:340 msgid "'eula_accepted' value is invalid" msgstr "'eula_accepted' 値は無効です。" -#: awx/api/views/root.py:295 +#: awx/api/views/root.py:343 msgid "'eula_accepted' must be True" msgstr "'eula_accepted' は True でなければなりません" -#: awx/api/views/root.py:302 +#: awx/api/views/root.py:350 msgid "Invalid JSON" msgstr "無効な JSON" -#: awx/api/views/root.py:321 -msgid "Invalid license" +#: awx/api/views/root.py:355 awx/api/views/root.py:361 +msgid "Legacy license submitted. A subscription manifest is now required." +msgstr "古いライセンスが送信されました。サブスクリプションマニフェストが必要になります。" + +#: awx/api/views/root.py:372 +msgid "Invalid manifest submitted." +msgstr "無効なマニフェストが送信されました。" + +#: awx/api/views/root.py:379 +msgid "Invalid License" msgstr "無効なライセンス" -#: awx/api/views/root.py:329 +#: awx/api/views/root.py:391 +msgid "Invalid subscription" +msgstr "無効なサブスクリプション" + +#: awx/api/views/root.py:399 msgid "Failed to remove license." msgstr "ライセンスを削除できませんでした。" @@ -1673,7 +1712,7 @@ msgstr "ユーザーごとに異なる設定例" msgid "User" msgstr "ユーザー" -#: awx/conf/fields.py:63 awx/sso/fields.py:595 +#: awx/conf/fields.py:63 awx/sso/fields.py:627 #, python-brace-format msgid "" "Expected None, True, False, a string or list of strings but got {input_type} " @@ -1716,7 +1755,7 @@ msgstr "変更済み" msgid "User-Defaults" msgstr "ユーザー設定" -#: awx/conf/registry.py:143 +#: awx/conf/registry.py:145 msgid "This value has been set manually in a settings file." msgstr "この値は設定ファイルに手動で設定されました。" @@ -1756,12 +1795,13 @@ msgstr "この値は設定ファイルに手動で設定されました。" #: awx/conf/tests/unit/test_settings.py:367 #: awx/conf/tests/unit/test_settings.py:380 #: awx/conf/tests/unit/test_settings.py:399 -#: awx/conf/tests/unit/test_settings.py:435 awx/main/conf.py:23 -#: awx/main/conf.py:32 awx/main/conf.py:42 awx/main/conf.py:52 -#: awx/main/conf.py:64 awx/main/conf.py:77 awx/main/conf.py:90 -#: awx/main/conf.py:115 awx/main/conf.py:128 awx/main/conf.py:141 -#: awx/main/conf.py:153 awx/main/conf.py:161 awx/main/conf.py:172 -#: awx/main/conf.py:392 awx/main/conf.py:742 awx/main/conf.py:754 +#: awx/conf/tests/unit/test_settings.py:435 awx/main/conf.py:22 +#: awx/main/conf.py:31 awx/main/conf.py:41 awx/main/conf.py:51 +#: awx/main/conf.py:63 awx/main/conf.py:76 awx/main/conf.py:89 +#: awx/main/conf.py:102 awx/main/conf.py:115 awx/main/conf.py:128 +#: awx/main/conf.py:141 awx/main/conf.py:154 awx/main/conf.py:166 +#: awx/main/conf.py:174 awx/main/conf.py:185 awx/main/conf.py:408 +#: awx/main/conf.py:763 awx/main/conf.py:775 msgid "System" msgstr "システム" @@ -1819,7 +1859,7 @@ msgstr "ホスト数が利用可能なインスタンスの上限を上回って msgid "" "You have already reached the maximum number of %s hosts allowed for your " "organization. Contact your System Administrator for assistance." -msgstr "組織で許容できるホストの最大数 %s にすでに到達しています。システム管理者にお問い合わせください。" +msgstr "組織で許容できるホストの最大数 %s にすでに到達しています。システム管理者にお問い合わせください。" #: awx/main/access.py:927 msgid "Unable to change inventory on a host." @@ -1909,19 +1949,11 @@ msgstr "ソース管理タイプ別のプロジェクト数" msgid "Cluster topology and capacity" msgstr "クラスターのトポロジーと容量" -#: awx/main/analytics/collectors.py:197 -msgid "Counts of jobs by status" -msgstr "ステータス別のジョブ数" - -#: awx/main/analytics/collectors.py:207 -msgid "Counts of jobs by execution node" -msgstr "実行ノードごとのジョブ数" - -#: awx/main/analytics/collectors.py:222 +#: awx/main/analytics/collectors.py:220 msgid "Metadata about the analytics collected" msgstr "収集された分析に関するメタデータ" -#: awx/main/analytics/collectors.py:285 +#: awx/main/analytics/collectors.py:283 msgid "Automation task records" msgstr "自動化タスクレコード" @@ -1945,60 +1977,60 @@ msgstr "ワークフローに関するデータ" msgid "Main" msgstr "メイン" -#: awx/main/conf.py:21 +#: awx/main/conf.py:20 msgid "Enable Activity Stream" msgstr "アクティビティーストリームの有効化" -#: awx/main/conf.py:22 +#: awx/main/conf.py:21 msgid "Enable capturing activity for the activity stream." msgstr "アクティビティーストリームのアクティビティーのキャプチャーを有効にします。" -#: awx/main/conf.py:30 +#: awx/main/conf.py:29 msgid "Enable Activity Stream for Inventory Sync" msgstr "インベントリー同期のアクティビティティーストリームの有効化" -#: awx/main/conf.py:31 +#: awx/main/conf.py:30 msgid "" "Enable capturing activity for the activity stream when running inventory " "sync." msgstr "インベントリー同期の実行時にアクティビティーストリームのアクティビティーのキャプチャーを有効にします。" -#: awx/main/conf.py:39 +#: awx/main/conf.py:38 msgid "All Users Visible to Organization Admins" msgstr "組織管理者に表示されるすべてのユーザー" -#: awx/main/conf.py:40 +#: awx/main/conf.py:39 msgid "" "Controls whether any Organization Admin can view all users and teams, even " "those not associated with their Organization." msgstr "組織管理者が、それぞれの組織に関連付けられていないすべてのユーザーおよびチームを閲覧できるかどうかを制御します。" -#: awx/main/conf.py:49 +#: awx/main/conf.py:48 msgid "Organization Admins Can Manage Users and Teams" msgstr "組織管理者はユーザーおよびチームを管理できる" -#: awx/main/conf.py:50 +#: awx/main/conf.py:49 msgid "" "Controls whether any Organization Admin has the privileges to create and " "manage users and teams. You may want to disable this ability if you are " "using an LDAP or SAML integration." msgstr "組織管理者がユーザーおよびチームを作成し、管理する権限を持つようにするかどうかを制御します。LDAP または SAML 統合を使用している場合はこの機能を無効にする必要がある場合があります。" -#: awx/main/conf.py:61 +#: awx/main/conf.py:60 msgid "Base URL of the Tower host" msgstr "Tower ホストのベース URL" -#: awx/main/conf.py:62 +#: awx/main/conf.py:61 msgid "" "This setting is used by services like notifications to render a valid url to " "the Tower host." msgstr "この設定は、有効な URL を Tower ホストにレンダリングする通知などのサービスで使用されます。" -#: awx/main/conf.py:71 +#: awx/main/conf.py:70 msgid "Remote Host Headers" msgstr "リモートホストヘッダー" -#: awx/main/conf.py:72 +#: awx/main/conf.py:71 msgid "" "HTTP headers and meta keys to search to determine remote host name or IP. " "Add additional items to this list, such as \"HTTP_X_FORWARDED_FOR\", if " @@ -2006,11 +2038,11 @@ msgid "" "Adminstrator guide for more details." msgstr "リモートホスト名または IP を判別するために検索する HTTP ヘッダーおよびメタキーです。リバースプロキシーの後ろの場合は、\"HTTP_X_FORWARDED_FOR\" のように項目をこの一覧に追加します。詳細は、Administrator Guide の「Proxy Support」セクションを参照してください。" -#: awx/main/conf.py:84 +#: awx/main/conf.py:83 msgid "Proxy IP Allowed List" msgstr "プロキシ IP 許可リスト" -#: awx/main/conf.py:85 +#: awx/main/conf.py:84 msgid "" "If Tower is behind a reverse proxy/load balancer, use this setting to " "configure the proxy IP addresses from which Tower should trust custom " @@ -2019,99 +2051,111 @@ msgid "" "unconditionally')" msgstr "Tower がリバースプロキシー/ロードバランサーの背後にある場合は、この設定を使用して、Tower がカスタム REMOTE_HOST_HEADERS ヘッダーの値を信頼するのに使用するプロキシー IP アドレスを設定します。この設定が空のリスト (デフォルト) の場合は、REMOTE_HOST_HEADERS で指定されるヘッダーは条件なしに信頼されます')" -#: awx/main/conf.py:111 +#: awx/main/conf.py:98 msgid "License" msgstr "ライセンス" -#: awx/main/conf.py:112 +#: awx/main/conf.py:99 msgid "" "The license controls which features and functionality are enabled. Use /api/" "v2/config/ to update or change the license." msgstr "ライセンスで、どの特徴および機能を有効にするかを管理します。/api/v2/config/ を使用してライセンスを更新または変更してください。" -#: awx/main/conf.py:126 +#: awx/main/conf.py:113 msgid "Red Hat customer username" msgstr "Red Hat のお客様ユーザー名" -#: awx/main/conf.py:127 -msgid "" -"This username is used to retrieve license information and to send Automation " -"Analytics" -msgstr "このユーザー名を使用して、ライセンス情報の受信、自動化アナリティクスの送信を行います。" +#: awx/main/conf.py:114 +msgid "This username is used to send data to Automation Analytics" +msgstr "このユーザー名は、Automation Analytics にデータを送信するために使用されます" -#: awx/main/conf.py:139 +#: awx/main/conf.py:126 msgid "Red Hat customer password" msgstr "Red Hat のお客様パスワード" -#: awx/main/conf.py:140 -msgid "" -"This password is used to retrieve license information and to send Automation " -"Analytics" -msgstr "このパスワードを使用して、ライセンス情報の受信、自動化アナリティクスの送信を行います。" +#: awx/main/conf.py:127 +msgid "This password is used to send data to Automation Analytics" +msgstr "このパスワードは、Automation Analytics にデータを送信するために使用されます" -#: awx/main/conf.py:151 -msgid "Automation Analytics upload URL." -msgstr "自動化アナリティクスのアップロード用 URL" +#: awx/main/conf.py:139 +msgid "Red Hat or Satellite username" +msgstr "Red Hat または Satellite のユーザー名" + +#: awx/main/conf.py:140 +msgid "This username is used to retrieve subscription and content information" +msgstr "このユーザー名は、サブスクリプションおよびコンテンツ情報を取得するために使用されます" #: awx/main/conf.py:152 +msgid "Red Hat or Satellite password" +msgstr "Red Hat または Satellite のパスワード" + +#: awx/main/conf.py:153 +msgid "This password is used to retrieve subscription and content information" +msgstr "このパスワードは、サブスクリプションおよびコンテンツ情報を取得するために使用されます" + +#: awx/main/conf.py:164 +msgid "Automation Analytics upload URL" +msgstr "自動化アナリティクスのアップロード用 URL" + +#: awx/main/conf.py:165 msgid "" "This setting is used to to configure data collection for the Automation " "Analytics dashboard" msgstr "この設定は、自動化アナリティクスダッシュボードのデータ収集を設定するのに使用します。" -#: awx/main/conf.py:160 +#: awx/main/conf.py:173 msgid "Unique identifier for an AWX/Tower installation" msgstr "AWX/Tower インストールの一意識別子" -#: awx/main/conf.py:169 +#: awx/main/conf.py:182 msgid "Custom virtual environment paths" msgstr "カスタムの仮想環境パス" -#: awx/main/conf.py:170 +#: awx/main/conf.py:183 msgid "" "Paths where Tower will look for custom virtual environments (in addition to /" "var/lib/awx/venv/). Enter one path per line." msgstr "Tower が (/var/lib/awx/venv/ 以外に) カスタムの仮想環境を検索するパス。1 行にパスを 1 つ入力してください。" -#: awx/main/conf.py:180 +#: awx/main/conf.py:193 msgid "Ansible Modules Allowed for Ad Hoc Jobs" msgstr "アドホックジョブで許可される Ansible モジュール" -#: awx/main/conf.py:181 +#: awx/main/conf.py:194 msgid "List of modules allowed to be used by ad-hoc jobs." msgstr "アドホックジョブで使用できるモジュール一覧。" -#: awx/main/conf.py:182 awx/main/conf.py:204 awx/main/conf.py:213 -#: awx/main/conf.py:224 awx/main/conf.py:234 awx/main/conf.py:244 -#: awx/main/conf.py:254 awx/main/conf.py:265 awx/main/conf.py:277 -#: awx/main/conf.py:286 awx/main/conf.py:299 awx/main/conf.py:312 -#: awx/main/conf.py:324 awx/main/conf.py:335 awx/main/conf.py:346 -#: awx/main/conf.py:358 awx/main/conf.py:370 awx/main/conf.py:381 -#: awx/main/conf.py:401 awx/main/conf.py:411 awx/main/conf.py:421 -#: awx/main/conf.py:434 awx/main/conf.py:445 awx/main/conf.py:455 -#: awx/main/conf.py:466 awx/main/conf.py:476 awx/main/conf.py:486 -#: awx/main/conf.py:498 awx/main/conf.py:510 awx/main/conf.py:522 -#: awx/main/conf.py:536 awx/main/conf.py:548 +#: awx/main/conf.py:195 awx/main/conf.py:217 awx/main/conf.py:226 +#: awx/main/conf.py:237 awx/main/conf.py:247 awx/main/conf.py:257 +#: awx/main/conf.py:267 awx/main/conf.py:279 awx/main/conf.py:292 +#: awx/main/conf.py:302 awx/main/conf.py:315 awx/main/conf.py:328 +#: awx/main/conf.py:340 awx/main/conf.py:351 awx/main/conf.py:362 +#: awx/main/conf.py:374 awx/main/conf.py:386 awx/main/conf.py:397 +#: awx/main/conf.py:417 awx/main/conf.py:427 awx/main/conf.py:437 +#: awx/main/conf.py:450 awx/main/conf.py:461 awx/main/conf.py:471 +#: awx/main/conf.py:482 awx/main/conf.py:492 awx/main/conf.py:502 +#: awx/main/conf.py:514 awx/main/conf.py:527 awx/main/conf.py:540 +#: awx/main/conf.py:555 awx/main/conf.py:568 msgid "Jobs" msgstr "ジョブ" -#: awx/main/conf.py:191 +#: awx/main/conf.py:204 msgid "Always" msgstr "常時" -#: awx/main/conf.py:192 +#: awx/main/conf.py:205 msgid "Never" msgstr "なし" -#: awx/main/conf.py:193 +#: awx/main/conf.py:206 msgid "Only On Job Template Definitions" msgstr "ジョブテンプレートの定義のみ" -#: awx/main/conf.py:196 +#: awx/main/conf.py:209 msgid "When can extra variables contain Jinja templates?" msgstr "いつ追加変数に Jinja テンプレートが含まれるか?" -#: awx/main/conf.py:198 +#: awx/main/conf.py:211 msgid "" "Ansible allows variable substitution via the Jinja2 templating language for " "--extra-vars. This poses a potential security risk where Tower users with " @@ -2120,294 +2164,294 @@ msgid "" "to \"template\" or \"never\"." msgstr "Ansible は Jinja2 テンプレート言語を使用した --extra-vars の変数置き換えを許可します。これにより、ジョブの起動時に追加変数を指定できる Tower ユーザーが Jinja2 テンプレートを使用して任意の Python を実行できるようになるためセキュリティー上のリスクが生じます。この値は「template」または「never」に設定することをお勧めします。" -#: awx/main/conf.py:211 +#: awx/main/conf.py:224 msgid "Enable job isolation" msgstr "ジョブの分離の有効化" -#: awx/main/conf.py:212 +#: awx/main/conf.py:225 msgid "" "Isolates an Ansible job from protected parts of the system to prevent " "exposing sensitive information." msgstr "機密情報の公開を防ぐためにシステムの保護された部分から Ansible ジョブを分離します。" -#: awx/main/conf.py:220 +#: awx/main/conf.py:233 msgid "Job execution path" msgstr "ジョブの実行パス" -#: awx/main/conf.py:221 +#: awx/main/conf.py:234 msgid "" "The directory in which Tower will create new temporary directories for job " "execution and isolation (such as credential files and custom inventory " "scripts)." msgstr "Tower がジョブの実行および分離用に新規の一時ディレクトリーを作成するディレクトリーです (認証情報ファイルおよびカスタムインベントリースクリプトなど)。" -#: awx/main/conf.py:232 +#: awx/main/conf.py:245 msgid "Paths to hide from isolated jobs" msgstr "分離されたジョブから非表示にするパス" -#: awx/main/conf.py:233 +#: awx/main/conf.py:246 msgid "" "Additional paths to hide from isolated processes. Enter one path per line." msgstr "分離されたプロセスには公開しないその他のパスです。1 行に 1 つのパスを入力します。" -#: awx/main/conf.py:242 +#: awx/main/conf.py:255 msgid "Paths to expose to isolated jobs" msgstr "分離されたジョブに公開するパス" -#: awx/main/conf.py:243 +#: awx/main/conf.py:256 msgid "" "List of paths that would otherwise be hidden to expose to isolated jobs. " "Enter one path per line." msgstr "分離されたジョブに公開するために非表示にされるパスの一覧。1 行に 1 つのパスを入力します。" -#: awx/main/conf.py:252 +#: awx/main/conf.py:265 msgid "Isolated status check interval" msgstr "分離されたステータスチェックの間隔" -#: awx/main/conf.py:253 +#: awx/main/conf.py:266 msgid "" "The number of seconds to sleep between status checks for jobs running on " "isolated instances." msgstr "分離されたインスタンスで実行されるジョブに対するステータスチェック間にスリープ状態になる期間の秒数。" -#: awx/main/conf.py:262 +#: awx/main/conf.py:276 msgid "Isolated launch timeout" msgstr "分離された起動のタイムアウト" -#: awx/main/conf.py:263 +#: awx/main/conf.py:277 msgid "" "The timeout (in seconds) for launching jobs on isolated instances. This " "includes the time needed to copy source control files (playbooks) to the " "isolated instance." msgstr "分離されたインスタンスでジョブを起動する際のタイムアウト (秒数)。これにはソースコントロールファイル (Playbook) を分離されたインスタンスにコピーするために必要な時間が含まれます。" -#: awx/main/conf.py:274 +#: awx/main/conf.py:289 msgid "Isolated connection timeout" msgstr "分離された接続のタイムアウト" -#: awx/main/conf.py:275 +#: awx/main/conf.py:290 msgid "" "Ansible SSH connection timeout (in seconds) to use when communicating with " "isolated instances. Value should be substantially greater than expected " "network latency." msgstr "分離されたインスタンスと通信する際に使用される Ansible SSH 接続のタイムアウト (秒数) です。値は予想されるネットワークの待ち時間よりも大幅に大きな値になるはずです。" -#: awx/main/conf.py:284 +#: awx/main/conf.py:300 msgid "Isolated host key checking" msgstr "分離されたホストキーチェック" -#: awx/main/conf.py:285 +#: awx/main/conf.py:301 msgid "" "When set to True, AWX will enforce strict host key checking for " "communication with isolated nodes." msgstr "True に設定すると、AWX は、分離したノードとの通信に対するホストキーの厳密なチェックを有効にします。" -#: awx/main/conf.py:295 +#: awx/main/conf.py:311 msgid "Generate RSA keys for isolated instances" msgstr "分離されたインスタンスの RSA 鍵の生成" -#: awx/main/conf.py:296 +#: awx/main/conf.py:312 msgid "" "If set, a random RSA key will be generated and distributed to isolated " "instances. To disable this behavior and manage authentication for isolated " "instances outside of Tower, disable this setting." msgstr "設定されている場合、RSA 鍵が生成され、分離されたインスタンスに配布されます。この動作を無効にし、Tower の外部にある分離されたインスタンスの認証を管理するには、この設定を無効にします。" -#: awx/main/conf.py:310 awx/main/conf.py:311 +#: awx/main/conf.py:326 awx/main/conf.py:327 msgid "The RSA private key for SSH traffic to isolated instances" msgstr "分離されたインスタンスへの SSH トラフィック用の RSA 秘密鍵" -#: awx/main/conf.py:322 awx/main/conf.py:323 +#: awx/main/conf.py:338 awx/main/conf.py:339 msgid "The RSA public key for SSH traffic to isolated instances" msgstr "分離されたインスタンスへの SSH トラフィック用の RSA 公開鍵" -#: awx/main/conf.py:332 +#: awx/main/conf.py:348 msgid "Enable detailed resource profiling on all playbook runs" msgstr "全 Playbook の実行に対する詳細なリソースプロファイリングを有効にする" -#: awx/main/conf.py:333 +#: awx/main/conf.py:349 msgid "" "If set, detailed resource profiling data will be collected on all jobs. This " "data can be gathered with `sosreport`." msgstr "設定されている場合には、すべてのジョブに対するリソースプロファイリングデータが収集されます。このデータは、`sosreport` で収集できます。" -#: awx/main/conf.py:343 +#: awx/main/conf.py:359 msgid "Interval (in seconds) between polls for cpu usage." msgstr "CPU 使用率のポーリングの間隔 (秒単位)。" -#: awx/main/conf.py:344 +#: awx/main/conf.py:360 msgid "" "Interval (in seconds) between polls for cpu usage. Setting this lower than " "the default will affect playbook performance." msgstr "CPU 使用率のポーリングの間隔 (秒単位)。これをデフォルトよりも小さい値に設定すると Playbook のパフォーマンスに影響があります。" -#: awx/main/conf.py:355 +#: awx/main/conf.py:371 msgid "Interval (in seconds) between polls for memory usage." msgstr "メモリー使用率のポーリングの間隔 (秒単位)。" -#: awx/main/conf.py:356 +#: awx/main/conf.py:372 msgid "" "Interval (in seconds) between polls for memory usage. Setting this lower " "than the default will affect playbook performance." msgstr "メモリー使用率のポーリングの間隔 (秒単位)。これをデフォルトよりも小さい値に設定すると Playbook のパフォーマンスに影響があります。" -#: awx/main/conf.py:367 +#: awx/main/conf.py:383 msgid "Interval (in seconds) between polls for PID count." msgstr "PID 数のポーリングの間隔 (秒単位)。" -#: awx/main/conf.py:368 +#: awx/main/conf.py:384 msgid "" "Interval (in seconds) between polls for PID count. Setting this lower than " "the default will affect playbook performance." msgstr "PID 数のポーリングの間隔 (秒単位)。これをデフォルトよりも小さい値に設定すると Playbook のパフォーマンスに影響があります。" -#: awx/main/conf.py:379 +#: awx/main/conf.py:395 msgid "Extra Environment Variables" msgstr "追加の環境変数" -#: awx/main/conf.py:380 +#: awx/main/conf.py:396 msgid "" "Additional environment variables set for playbook runs, inventory updates, " "project updates, and notification sending." msgstr "Playbook 実行、インベントリー更新、プロジェクト更新および通知の送信に設定される追加の環境変数。" -#: awx/main/conf.py:390 +#: awx/main/conf.py:406 msgid "Gather data for Automation Analytics" msgstr "自動化アナリティクス向けにデータを収集する" -#: awx/main/conf.py:391 +#: awx/main/conf.py:407 msgid "Enables Tower to gather data on automation and send it to Red Hat." msgstr "Tower が自動化のデータを収集して Red Hat に送信できるようにします。" -#: awx/main/conf.py:399 +#: awx/main/conf.py:415 msgid "Run Project Updates With Higher Verbosity" msgstr "より詳細なプロジェクト更新を実行する" -#: awx/main/conf.py:400 +#: awx/main/conf.py:416 msgid "" "Adds the CLI -vvv flag to ansible-playbook runs of project_update.yml used " "for project updates." msgstr "プロジェクトの更新に使用する project_update.yml の ansible-playbook に CLI -vvv フラグを追加します。" -#: awx/main/conf.py:409 +#: awx/main/conf.py:425 msgid "Enable Role Download" msgstr "ロールのダウンロードを有効にする" -#: awx/main/conf.py:410 +#: awx/main/conf.py:426 msgid "" "Allows roles to be dynamically downloaded from a requirements.yml file for " "SCM projects." msgstr "ロールが SCM プロジェクトの requirements.yml ファイルから動的にダウンロードされるのを許可します。" -#: awx/main/conf.py:419 +#: awx/main/conf.py:435 msgid "Enable Collection(s) Download" msgstr "コレクションのダウンロードを有効にする" -#: awx/main/conf.py:420 +#: awx/main/conf.py:436 msgid "" "Allows collections to be dynamically downloaded from a requirements.yml file " "for SCM projects." msgstr "コレクションが SCM プロジェクトの requirements.yml ファイルから動的にダウンロードされるのを許可します。" -#: awx/main/conf.py:429 +#: awx/main/conf.py:445 msgid "Follow symlinks" msgstr "シンボリックリンクをたどる" -#: awx/main/conf.py:431 +#: awx/main/conf.py:447 msgid "" "Follow symbolic links when scanning for playbooks. Be aware that setting " "this to True can lead to infinite recursion if a link points to a parent " "directory of itself." msgstr "Playbook をスキャンするときは、シンボリックリンクをたどってください。リンクがそれ自体の親ディレクトリーを指している場合は、これを True に設定すると、無限再帰が発生する可能性があることに注意してください。" -#: awx/main/conf.py:442 +#: awx/main/conf.py:458 msgid "Ignore Ansible Galaxy SSL Certificate Verification" msgstr "Ansible Galaxy SSL 証明書の検証を無視する" -#: awx/main/conf.py:443 +#: awx/main/conf.py:459 msgid "" "If set to true, certificate validation will not be done when installing " "content from any Galaxy server." msgstr "True に設定すると、任意の Galaxy サーバーからコンテンツをインストールする時に証明書は検証されません。" -#: awx/main/conf.py:453 +#: awx/main/conf.py:469 msgid "Standard Output Maximum Display Size" msgstr "標準出力の最大表示サイズ" -#: awx/main/conf.py:454 +#: awx/main/conf.py:470 msgid "" "Maximum Size of Standard Output in bytes to display before requiring the " "output be downloaded." msgstr "出力のダウンロードを要求する前に表示される標準出力の最大サイズ (バイト単位)。" -#: awx/main/conf.py:463 +#: awx/main/conf.py:479 msgid "Job Event Standard Output Maximum Display Size" msgstr "ジョブイベントの標準出力の最大表示サイズ" -#: awx/main/conf.py:465 +#: awx/main/conf.py:481 msgid "" "Maximum Size of Standard Output in bytes to display for a single job or ad " "hoc command event. `stdout` will end with `…` when truncated." msgstr "単一ジョブまたはアドホックコマンドイベントについて表示される標準出力の最大サイズ (バイト単位)。`stdout` は切り捨てが実行されると `…` で終了します。" -#: awx/main/conf.py:474 +#: awx/main/conf.py:490 msgid "Maximum Scheduled Jobs" msgstr "スケジュール済みジョブの最大数" -#: awx/main/conf.py:475 +#: awx/main/conf.py:491 msgid "" "Maximum number of the same job template that can be waiting to run when " "launching from a schedule before no more are created." msgstr "スケジュールからの起動時に実行を待機している同じジョブテンプレートの最大数です (これ以上作成されることはありません)。" -#: awx/main/conf.py:484 +#: awx/main/conf.py:500 msgid "Ansible Callback Plugins" msgstr "Ansible コールバックプラグイン" -#: awx/main/conf.py:485 +#: awx/main/conf.py:501 msgid "" "List of paths to search for extra callback plugins to be used when running " "jobs. Enter one path per line." msgstr "ジョブの実行時に使用される追加のコールバックプラグインを検索する際のパスの一覧です。1 行に 1 つのパスを入力します。" -#: awx/main/conf.py:495 +#: awx/main/conf.py:511 msgid "Default Job Timeout" msgstr "デフォルトのジョブタイムアウト" -#: awx/main/conf.py:496 +#: awx/main/conf.py:512 msgid "" "Maximum time in seconds to allow jobs to run. Use value of 0 to indicate " "that no timeout should be imposed. A timeout set on an individual job " "template will override this." msgstr "ジョブの実行可能な最大時間 (秒数) です。値 0 が使用されている場合はタイムアウトを設定できないことを示します。個別のジョブテンプレートに設定されるタイムアウトはこれを上書きします。" -#: awx/main/conf.py:507 +#: awx/main/conf.py:524 msgid "Default Inventory Update Timeout" msgstr "デフォルトのインベントリー更新タイムアウト" -#: awx/main/conf.py:508 +#: awx/main/conf.py:525 msgid "" "Maximum time in seconds to allow inventory updates to run. Use value of 0 to " "indicate that no timeout should be imposed. A timeout set on an individual " "inventory source will override this." msgstr "インベントリー更新の実行可能な最大時間 (秒数)。値 0 が設定されている場合はタイムアウトを設定できないことを示します。個別のインベントリーソースに設定されるタイムアウトはこれを上書きします。" -#: awx/main/conf.py:519 +#: awx/main/conf.py:537 msgid "Default Project Update Timeout" msgstr "デフォルトのプロジェクト更新タイムアウト" -#: awx/main/conf.py:520 +#: awx/main/conf.py:538 msgid "" "Maximum time in seconds to allow project updates to run. Use value of 0 to " "indicate that no timeout should be imposed. A timeout set on an individual " "project will override this." msgstr "プロジェクト更新の実行可能な最大時間 (秒数)。値 0 が設定されている場合はタイムアウトを設定できないことを示します。個別のプロジェクトに設定されるタイムアウトはこれを上書きします。" -#: awx/main/conf.py:531 +#: awx/main/conf.py:550 msgid "Per-Host Ansible Fact Cache Timeout" msgstr "ホストあたりの Ansible ファクトキャッシュのタイムアウト" -#: awx/main/conf.py:532 +#: awx/main/conf.py:551 msgid "" "Maximum time, in seconds, that stored Ansible facts are considered valid " "since the last time they were modified. Only valid, non-stale, facts will be " @@ -2416,74 +2460,74 @@ msgid "" "timeout should be imposed." msgstr "保存される Ansible ファクトが最後に変更されてから有効とみなされる最大時間 (秒数) です。有効な新規のファクトのみが Playbook でアクセスできます。ansible_facts のデータベースからの削除はこれによる影響を受けません。タイムアウトが設定されないことを示すには 0 の値を使用します。" -#: awx/main/conf.py:545 -msgid "Maximum number of forks per job." -msgstr "ジョブ別のフォークの最大数。" +#: awx/main/conf.py:565 +msgid "Maximum number of forks per job" +msgstr "ジョブ別のフォークの最大数" -#: awx/main/conf.py:546 +#: awx/main/conf.py:566 msgid "" "Saving a Job Template with more than this number of forks will result in an " "error. When set to 0, no limit is applied." msgstr "この数を超えるフォークを指定してジョブテンプレートを保存すると、エラーが発生します。 0 に設定すると、制限は適用されません。" -#: awx/main/conf.py:557 +#: awx/main/conf.py:577 msgid "Logging Aggregator" msgstr "ログアグリゲーター" -#: awx/main/conf.py:558 +#: awx/main/conf.py:578 msgid "Hostname/IP where external logs will be sent to." msgstr "外部ログの送信先のホスト名/IP" -#: awx/main/conf.py:559 awx/main/conf.py:570 awx/main/conf.py:582 -#: awx/main/conf.py:592 awx/main/conf.py:604 awx/main/conf.py:619 -#: awx/main/conf.py:631 awx/main/conf.py:640 awx/main/conf.py:650 -#: awx/main/conf.py:662 awx/main/conf.py:673 awx/main/conf.py:685 -#: awx/main/conf.py:698 awx/main/conf.py:710 awx/main/conf.py:721 -#: awx/main/conf.py:731 +#: awx/main/conf.py:579 awx/main/conf.py:590 awx/main/conf.py:602 +#: awx/main/conf.py:612 awx/main/conf.py:624 awx/main/conf.py:639 +#: awx/main/conf.py:651 awx/main/conf.py:660 awx/main/conf.py:670 +#: awx/main/conf.py:682 awx/main/conf.py:693 awx/main/conf.py:706 +#: awx/main/conf.py:719 awx/main/conf.py:731 awx/main/conf.py:742 +#: awx/main/conf.py:752 msgid "Logging" msgstr "ロギング" -#: awx/main/conf.py:567 +#: awx/main/conf.py:587 msgid "Logging Aggregator Port" msgstr "ログアグリゲーターポート" -#: awx/main/conf.py:568 +#: awx/main/conf.py:588 msgid "" "Port on Logging Aggregator to send logs to (if required and not provided in " "Logging Aggregator)." msgstr "ログの送信先のログアグリゲーターのポート (必要な場合。ログアグリゲーターでは指定されません)。" -#: awx/main/conf.py:580 +#: awx/main/conf.py:600 msgid "Logging Aggregator Type" msgstr "ログアグリゲーターのタイプ" -#: awx/main/conf.py:581 +#: awx/main/conf.py:601 msgid "Format messages for the chosen log aggregator." msgstr "選択されたログアグリゲーターのメッセージのフォーマット。" -#: awx/main/conf.py:590 +#: awx/main/conf.py:610 msgid "Logging Aggregator Username" msgstr "ログアグリゲーターのユーザー名" -#: awx/main/conf.py:591 +#: awx/main/conf.py:611 msgid "Username for external log aggregator (if required; HTTP/s only)." msgstr "外部ログアグリゲーターのユーザー名 (必要な場合、HTTP/s のみ)。" -#: awx/main/conf.py:602 +#: awx/main/conf.py:622 msgid "Logging Aggregator Password/Token" msgstr "ログアグリゲーターのパスワード/トークン" -#: awx/main/conf.py:603 +#: awx/main/conf.py:623 msgid "" "Password or authentication token for external log aggregator (if required; " "HTTP/s only)." msgstr "外部ログアグリゲーターのパスワードまたは認証トークン (必要な場合、HTTP/s のみ)。" -#: awx/main/conf.py:612 +#: awx/main/conf.py:632 msgid "Loggers Sending Data to Log Aggregator Form" msgstr "ログアグリゲーターフォームにデータを送信するロガー" -#: awx/main/conf.py:613 +#: awx/main/conf.py:633 msgid "" "List of loggers that will send HTTP logs to the collector, these can include " "any or all of: \n" @@ -2497,11 +2541,11 @@ msgstr "HTTP ログをコレクターに送信するロガーの一覧です。 "job_events - Ansible ジョブイベントからのコールバックデータ\n" "system_tracking - スキャンジョブから生成されるファクト" -#: awx/main/conf.py:626 +#: awx/main/conf.py:646 msgid "Log System Tracking Facts Individually" msgstr "ログシステムトラッキングの個別ファクト" -#: awx/main/conf.py:627 +#: awx/main/conf.py:647 msgid "" "If set, system tracking facts will be sent for each package, service, or " "other item found in a scan, allowing for greater search query granularity. " @@ -2509,47 +2553,47 @@ msgid "" "efficiency in fact processing." msgstr "設定されている場合、スキャンで見つかる各パッケージ、サービスその他の項目についてのシステムトラッキングのファクトが送信され、検索クエリーの詳細度が上がります。設定されていない場合、ファクトは単一辞書として送信され、ファクトの処理の効率が上がります。" -#: awx/main/conf.py:638 +#: awx/main/conf.py:658 msgid "Enable External Logging" msgstr "外部ログの有効化" -#: awx/main/conf.py:639 +#: awx/main/conf.py:659 msgid "Enable sending logs to external log aggregator." msgstr "外部ログアグリゲーターへのログ送信の有効化" -#: awx/main/conf.py:648 +#: awx/main/conf.py:668 msgid "Cluster-wide Tower unique identifier." msgstr "クラスター全体での Tower 固有識別子。" -#: awx/main/conf.py:649 +#: awx/main/conf.py:669 msgid "Useful to uniquely identify Tower instances." msgstr "Tower インスタンスを一意に識別するのに役立ちます。" -#: awx/main/conf.py:658 +#: awx/main/conf.py:678 msgid "Logging Aggregator Protocol" msgstr "ログアグリゲーターのプロトコル" -#: awx/main/conf.py:659 +#: awx/main/conf.py:679 msgid "" "Protocol used to communicate with log aggregator. HTTPS/HTTP assumes HTTPS " "unless http:// is explicitly used in the Logging Aggregator hostname." msgstr "ログアグリゲーターとの通信に使用されるプロトコルです。HTTPS/HTTP については、 http:// がログアグリゲーターのホスト名で明示的に使用されていない限り HTTPS の使用が前提となります。" -#: awx/main/conf.py:669 +#: awx/main/conf.py:689 msgid "TCP Connection Timeout" msgstr "TCP 接続のタイムアウト" -#: awx/main/conf.py:670 +#: awx/main/conf.py:690 msgid "" "Number of seconds for a TCP connection to external log aggregator to " "timeout. Applies to HTTPS and TCP log aggregator protocols." msgstr "外部ログアグリゲーターへの TCP 接続がタイムアウトする秒数です。HTTPS および TCP ログアグリゲータープロトコルに適用されます。" -#: awx/main/conf.py:680 +#: awx/main/conf.py:701 msgid "Enable/disable HTTPS certificate verification" msgstr "HTTPS 証明書の検証を有効化/無効化" -#: awx/main/conf.py:681 +#: awx/main/conf.py:702 msgid "" "Flag to control enable/disable of certificate verification when " "LOG_AGGREGATOR_PROTOCOL is \"https\". If enabled, Tower's log handler will " @@ -2557,11 +2601,11 @@ msgid "" "connection." msgstr "LOG_AGGREGATOR_PROTOCOL が「https」の場合の証明書の検証の有効化/無効化を制御するフラグです。有効にされている場合、Tower のログハンドラーは接続を確立する前に外部ログアグリゲーターによって送信される証明書を検証します。" -#: awx/main/conf.py:693 +#: awx/main/conf.py:714 msgid "Logging Aggregator Level Threshold" msgstr "ログアグリゲーターレベルのしきい値" -#: awx/main/conf.py:694 +#: awx/main/conf.py:715 msgid "" "Level threshold used by log handler. Severities from lowest to highest are " "DEBUG, INFO, WARNING, ERROR, CRITICAL. Messages less severe than the " @@ -2569,51 +2613,51 @@ msgid "" "anlytics ignore this setting)" msgstr "ログハンドラーによって使用されるレベルのしきい値です。重大度は低い順から高い順に DEBUG、INFO、WARNING、ERROR、CRITICAL になります。しきい値より重大度の低いメッセージはログハンドラーによって無視されます (カテゴリー awx.anlytics の下にあるメッセージはこの設定を無視します)。" -#: awx/main/conf.py:706 +#: awx/main/conf.py:727 msgid "Maximum disk persistance for external log aggregation (in GB)" msgstr "外部ログ集計の最大ディスク永続性 (GB)" -#: awx/main/conf.py:707 +#: awx/main/conf.py:728 msgid "" "Amount of data to store (in gigabytes) during an outage of the external log " "aggregator (defaults to 1). Equivalent to the rsyslogd queue.maxdiskspace " "setting." msgstr "外部ログアグリゲーターの停止中に保存するデータ容量 (GB、デフォルトは 1)。rsyslogd queue.maxdiskspace 設定と同じです。" -#: awx/main/conf.py:717 +#: awx/main/conf.py:738 msgid "File system location for rsyslogd disk persistence" msgstr "rsyslogd ディスク永続性のファイルシステムの場所" -#: awx/main/conf.py:718 +#: awx/main/conf.py:739 msgid "" "Location to persist logs that should be retried after an outage of the " "external log aggregator (defaults to /var/lib/awx). Equivalent to the " "rsyslogd queue.spoolDirectory setting." msgstr "外部ログアグリゲーターが停止した後に再試行する必要のあるログを永続化する場所 (デフォルト: /var/lib/awx)。rsyslogd queue.spoolDirectory の設定と同じです。" -#: awx/main/conf.py:728 +#: awx/main/conf.py:749 msgid "Enable rsyslogd debugging" msgstr "rsyslogd デバッグを有効にする" -#: awx/main/conf.py:729 +#: awx/main/conf.py:750 msgid "" "Enabled high verbosity debugging for rsyslogd. Useful for debugging " "connection issues for external log aggregation." msgstr "rsyslogd の詳細デバッグを有効にしました。外部ログ集計の接続問題のデバッグに役立ちます。" -#: awx/main/conf.py:740 +#: awx/main/conf.py:761 msgid "Last gather date for Automation Analytics." msgstr "自動化アナリティクス向けにデータを最後に収集した日" -#: awx/main/conf.py:750 +#: awx/main/conf.py:771 msgid "Automation Analytics Gather Interval" msgstr "自動化アナリティクスの収集間隔" -#: awx/main/conf.py:751 +#: awx/main/conf.py:772 msgid "Interval (in seconds) between data gathering." msgstr "データ収集の間隔 (秒単位)" -#: awx/main/conf.py:773 awx/sso/conf.py:1250 +#: awx/main/conf.py:795 awx/sso/conf.py:1543 msgid "\n" msgstr "\n" @@ -2717,12 +2761,12 @@ msgid "Vault URL (DNS Name)" msgstr "Vault URL (DNS 名)" #: awx/main/credential_plugins/azure_kv.py:26 -#: awx/main/models/credential/__init__.py:968 +#: awx/main/models/credential/__init__.py:946 msgid "Client ID" msgstr "クライアント ID" #: awx/main/credential_plugins/azure_kv.py:35 -#: awx/main/models/credential/__init__.py:977 +#: awx/main/models/credential/__init__.py:955 msgid "Tenant ID" msgstr "テナント ID" @@ -2764,7 +2808,7 @@ msgid "API Key" msgstr "API キー" #: awx/main/credential_plugins/conjur.py:23 -#: awx/main/migrations/_inventory_source_vars.py:142 +#: awx/main/migrations/_inventory_source_vars.py:147 msgid "Account" msgstr "アカウント" @@ -2773,13 +2817,12 @@ msgstr "アカウント" #: awx/main/models/credential/__init__.py:662 #: awx/main/models/credential/__init__.py:720 #: awx/main/models/credential/__init__.py:793 -#: awx/main/models/credential/__init__.py:846 -#: awx/main/models/credential/__init__.py:872 -#: awx/main/models/credential/__init__.py:899 -#: awx/main/models/credential/__init__.py:959 -#: awx/main/models/credential/__init__.py:1032 -#: awx/main/models/credential/__init__.py:1063 -#: awx/main/models/credential/__init__.py:1113 +#: awx/main/models/credential/__init__.py:851 +#: awx/main/models/credential/__init__.py:877 +#: awx/main/models/credential/__init__.py:937 +#: awx/main/models/credential/__init__.py:1010 +#: awx/main/models/credential/__init__.py:1041 +#: awx/main/models/credential/__init__.py:1091 msgid "Username" msgstr "ユーザー名" @@ -2804,8 +2847,8 @@ msgid "The URL to the HashiCorp Vault" msgstr "HashiCorp Vault の URL" #: awx/main/credential_plugins/hashivault.py:20 -#: awx/main/models/credential/__init__.py:998 -#: awx/main/models/credential/__init__.py:1015 +#: awx/main/models/credential/__init__.py:976 +#: awx/main/models/credential/__init__.py:993 msgid "Token" msgstr "トークン" @@ -2885,7 +2928,7 @@ msgid "" msgstr "KV シークレットバックエンド名 (空白の場合は、シークレットパスの最初のセグメントが使用されます)。" #: awx/main/credential_plugins/hashivault.py:82 -#: awx/main/migrations/_inventory_source_vars.py:147 +#: awx/main/migrations/_inventory_source_vars.py:152 msgid "Key Name" msgstr "キー名" @@ -3021,71 +3064,71 @@ msgid "" "Syntax error rendering template for {sub_key} inside of {type} ({error_msg})" msgstr "{type} 内で {sub_key} テンプレートのレンダリング中に構文エラーが発生しました ({error_msg})" -#: awx/main/middleware.py:118 +#: awx/main/middleware.py:95 msgid "Formats of all available named urls" msgstr "利用可能なすべての名前付き url の形式" -#: awx/main/middleware.py:119 +#: awx/main/middleware.py:96 msgid "" "Read-only list of key-value pairs that shows the standard format of all " "available named URLs." msgstr "名前付き URL を持つ利用可能なすべての標準形式を表示するキーと値のペアの読み取り専用リストです。" -#: awx/main/middleware.py:121 awx/main/middleware.py:131 +#: awx/main/middleware.py:98 awx/main/middleware.py:108 msgid "Named URL" msgstr "名前付き URL" -#: awx/main/middleware.py:128 +#: awx/main/middleware.py:105 msgid "List of all named url graph nodes." msgstr "すべての名前付き URL グラフノードの一覧です。" -#: awx/main/middleware.py:129 +#: awx/main/middleware.py:106 msgid "" "Read-only list of key-value pairs that exposes named URL graph topology. Use " "this list to programmatically generate named URLs for resources" msgstr "名前付き URL グラフトポロジーを公開するキーと値のペアの読み取り専用一覧です。この一覧を使用してリソースの名前付き URL をプログラムで生成します。" -#: awx/main/migrations/_inventory_source_vars.py:140 +#: awx/main/migrations/_inventory_source_vars.py:145 msgid "Image ID" msgstr "イメージ ID" -#: awx/main/migrations/_inventory_source_vars.py:141 +#: awx/main/migrations/_inventory_source_vars.py:146 msgid "Availability Zone" msgstr "アベイラビリティーゾーン" -#: awx/main/migrations/_inventory_source_vars.py:143 +#: awx/main/migrations/_inventory_source_vars.py:148 msgid "Instance ID" msgstr "インスタンス ID" -#: awx/main/migrations/_inventory_source_vars.py:144 +#: awx/main/migrations/_inventory_source_vars.py:149 msgid "Instance State" msgstr "インスタンスの状態" -#: awx/main/migrations/_inventory_source_vars.py:145 +#: awx/main/migrations/_inventory_source_vars.py:150 msgid "Platform" msgstr "プラットフォーム" -#: awx/main/migrations/_inventory_source_vars.py:146 +#: awx/main/migrations/_inventory_source_vars.py:151 msgid "Instance Type" msgstr "インスタンスタイプ" -#: awx/main/migrations/_inventory_source_vars.py:148 +#: awx/main/migrations/_inventory_source_vars.py:153 msgid "Region" msgstr "リージョン" -#: awx/main/migrations/_inventory_source_vars.py:149 +#: awx/main/migrations/_inventory_source_vars.py:154 msgid "Security Group" msgstr "セキュリティーグループ" -#: awx/main/migrations/_inventory_source_vars.py:150 +#: awx/main/migrations/_inventory_source_vars.py:155 msgid "Tags" msgstr "タグ" -#: awx/main/migrations/_inventory_source_vars.py:151 +#: awx/main/migrations/_inventory_source_vars.py:156 msgid "Tag None" msgstr "タグ None" -#: awx/main/migrations/_inventory_source_vars.py:152 +#: awx/main/migrations/_inventory_source_vars.py:157 msgid "VPC ID" msgstr "VPC ID" @@ -3191,7 +3234,7 @@ msgid "Personal Access Token" msgstr "パーソナルアクセストークン" #: awx/main/models/credential/__init__.py:335 -#: awx/main/models/credential/__init__.py:1027 +#: awx/main/models/credential/__init__.py:1005 msgid "Insights" msgstr "Insights" @@ -3221,13 +3264,12 @@ msgstr "%s 認証情報タイプの追加" #: awx/main/models/credential/__init__.py:610 #: awx/main/models/credential/__init__.py:666 #: awx/main/models/credential/__init__.py:724 -#: awx/main/models/credential/__init__.py:850 -#: awx/main/models/credential/__init__.py:876 -#: awx/main/models/credential/__init__.py:903 -#: awx/main/models/credential/__init__.py:963 -#: awx/main/models/credential/__init__.py:1036 -#: awx/main/models/credential/__init__.py:1067 -#: awx/main/models/credential/__init__.py:1119 +#: awx/main/models/credential/__init__.py:855 +#: awx/main/models/credential/__init__.py:881 +#: awx/main/models/credential/__init__.py:941 +#: awx/main/models/credential/__init__.py:1014 +#: awx/main/models/credential/__init__.py:1045 +#: awx/main/models/credential/__init__.py:1097 msgid "Password" msgstr "パスワード" @@ -3323,7 +3365,7 @@ msgid "Password (API Key)" msgstr "パスワード (API キー)" #: awx/main/models/credential/__init__.py:802 -#: awx/main/models/credential/__init__.py:1058 +#: awx/main/models/credential/__init__.py:1036 msgid "Host (Authentication URL)" msgstr "ホスト (認証 URL)" @@ -3353,220 +3395,214 @@ msgid "" msgstr "OpenStack ドメインは管理上の境界を定義します。これは Keystone v3 認証 URL にのみ必要です。共通するシナリオについては Ansible Tower ドキュメントを参照してください。" #: awx/main/models/credential/__init__.py:824 -#: awx/main/models/credential/__init__.py:1131 -#: awx/main/models/credential/__init__.py:1166 +msgid "Region Name" +msgstr "リージョン名" + +#: awx/main/models/credential/__init__.py:826 +msgid "For some cloud providers, like OVH, region must be specified" +msgstr "OVH などの一部のクラウドプロバイダーでは、リージョンを指定する必要があります" + +#: awx/main/models/credential/__init__.py:829 +#: awx/main/models/credential/__init__.py:1109 +#: awx/main/models/credential/__init__.py:1144 msgid "Verify SSL" msgstr "SSL の検証" -#: awx/main/models/credential/__init__.py:835 awx/main/models/inventory.py:824 +#: awx/main/models/credential/__init__.py:840 awx/main/models/inventory.py:824 msgid "VMware vCenter" msgstr "VMware vCenter" -#: awx/main/models/credential/__init__.py:840 +#: awx/main/models/credential/__init__.py:845 msgid "VCenter Host" msgstr "vCenter ホスト" -#: awx/main/models/credential/__init__.py:842 +#: awx/main/models/credential/__init__.py:847 msgid "" "Enter the hostname or IP address that corresponds to your VMware vCenter." msgstr "VMware vCenter に対応するホスト名または IP アドレスを入力します。" -#: awx/main/models/credential/__init__.py:861 awx/main/models/inventory.py:825 +#: awx/main/models/credential/__init__.py:866 awx/main/models/inventory.py:825 msgid "Red Hat Satellite 6" msgstr "Red Hat Satellite 6" -#: awx/main/models/credential/__init__.py:866 +#: awx/main/models/credential/__init__.py:871 msgid "Satellite 6 URL" msgstr "Satellite 6 URL" -#: awx/main/models/credential/__init__.py:868 +#: awx/main/models/credential/__init__.py:873 msgid "" "Enter the URL that corresponds to your Red Hat Satellite 6 server. For " "example, https://satellite.example.org" msgstr "Red Hat Satellite 6 Server に対応する URL を入力します (例: https://satellite.example.org)。" -#: awx/main/models/credential/__init__.py:887 -msgid "Red Hat CloudForms" -msgstr "Red Hat CloudForms" - -#: awx/main/models/credential/__init__.py:892 -msgid "CloudForms URL" -msgstr "CloudForms URL" - -#: awx/main/models/credential/__init__.py:894 -msgid "" -"Enter the URL for the virtual machine that corresponds to your CloudForms " -"instance. For example, https://cloudforms.example.org" -msgstr "CloudForms インスタンスに対応する仮想マシンの URL を入力します (例: https://cloudforms.example.org)。" - -#: awx/main/models/credential/__init__.py:914 awx/main/models/inventory.py:822 +#: awx/main/models/credential/__init__.py:892 awx/main/models/inventory.py:822 msgid "Google Compute Engine" msgstr "Google Compute Engine" -#: awx/main/models/credential/__init__.py:919 +#: awx/main/models/credential/__init__.py:897 msgid "Service Account Email Address" msgstr "サービスアカウントのメールアドレス" -#: awx/main/models/credential/__init__.py:921 +#: awx/main/models/credential/__init__.py:899 msgid "" "The email address assigned to the Google Compute Engine service account." msgstr "Google Compute Engine サービスアカウントに割り当てられたメールアドレス。" -#: awx/main/models/credential/__init__.py:927 +#: awx/main/models/credential/__init__.py:905 msgid "" "The Project ID is the GCE assigned identification. It is often constructed " "as three words or two words followed by a three-digit number. Examples: " "project-id-000 and another-project-id" msgstr "プロジェクト ID は GCE によって割り当てられる識別情報です。これは 3 語か、または 2 語とそれに続く 3 桁の数字のいずれかで構成されます。例: project-id-000、another-project-id" -#: awx/main/models/credential/__init__.py:933 +#: awx/main/models/credential/__init__.py:911 msgid "RSA Private Key" msgstr "RSA 秘密鍵" -#: awx/main/models/credential/__init__.py:938 +#: awx/main/models/credential/__init__.py:916 msgid "" "Paste the contents of the PEM file associated with the service account email." msgstr "サービスアカウントメールに関連付けられた PEM ファイルの内容を貼り付けます。" -#: awx/main/models/credential/__init__.py:948 awx/main/models/inventory.py:823 +#: awx/main/models/credential/__init__.py:926 awx/main/models/inventory.py:823 msgid "Microsoft Azure Resource Manager" msgstr "Microsoft Azure Resource Manager" -#: awx/main/models/credential/__init__.py:953 +#: awx/main/models/credential/__init__.py:931 msgid "Subscription ID" msgstr "サブスクリプション ID" -#: awx/main/models/credential/__init__.py:955 +#: awx/main/models/credential/__init__.py:933 msgid "Subscription ID is an Azure construct, which is mapped to a username." msgstr "サブスクリプション ID は、ユーザー名にマップされる Azure コンストラクトです。" -#: awx/main/models/credential/__init__.py:981 +#: awx/main/models/credential/__init__.py:959 msgid "Azure Cloud Environment" msgstr "Azure クラウド環境" -#: awx/main/models/credential/__init__.py:983 +#: awx/main/models/credential/__init__.py:961 msgid "" "Environment variable AZURE_CLOUD_ENVIRONMENT when using Azure GovCloud or " "Azure stack." msgstr "Azure GovCloud または Azure スタック使用時の環境変数 AZURE_CLOUD_ENVIRONMENT。" -#: awx/main/models/credential/__init__.py:993 +#: awx/main/models/credential/__init__.py:971 msgid "GitHub Personal Access Token" msgstr "GitHub パーソナルアクセストークン" -#: awx/main/models/credential/__init__.py:1001 +#: awx/main/models/credential/__init__.py:979 msgid "This token needs to come from your profile settings in GitHub" msgstr "このトークンは GitHub のプロファイル設定から取得する必要があります。" -#: awx/main/models/credential/__init__.py:1010 +#: awx/main/models/credential/__init__.py:988 msgid "GitLab Personal Access Token" msgstr "GitLab パーソナルアクセストークン" -#: awx/main/models/credential/__init__.py:1018 +#: awx/main/models/credential/__init__.py:996 msgid "This token needs to come from your profile settings in GitLab" msgstr "このトークンは GitLab のプロファイル設定から取得する必要があります。" -#: awx/main/models/credential/__init__.py:1053 awx/main/models/inventory.py:827 +#: awx/main/models/credential/__init__.py:1031 awx/main/models/inventory.py:827 msgid "Red Hat Virtualization" msgstr "Red Hat Virtualization" -#: awx/main/models/credential/__init__.py:1060 +#: awx/main/models/credential/__init__.py:1038 msgid "The host to authenticate with." msgstr "認証するホスト。" -#: awx/main/models/credential/__init__.py:1072 +#: awx/main/models/credential/__init__.py:1050 msgid "CA File" msgstr "CA ファイル" -#: awx/main/models/credential/__init__.py:1074 +#: awx/main/models/credential/__init__.py:1052 msgid "Absolute file path to the CA file to use (optional)" msgstr "使用する CA ファイルへの絶対ファイルパス (オプション)" -#: awx/main/models/credential/__init__.py:1103 awx/main/models/inventory.py:828 +#: awx/main/models/credential/__init__.py:1081 awx/main/models/inventory.py:828 msgid "Ansible Tower" msgstr "Ansible Tower" -#: awx/main/models/credential/__init__.py:1108 +#: awx/main/models/credential/__init__.py:1086 msgid "Ansible Tower Hostname" msgstr "Ansible Tower ホスト名" -#: awx/main/models/credential/__init__.py:1110 +#: awx/main/models/credential/__init__.py:1088 msgid "The Ansible Tower base URL to authenticate with." msgstr "認証で使用する Ansible Tower ベース URL。" -#: awx/main/models/credential/__init__.py:1115 +#: awx/main/models/credential/__init__.py:1093 msgid "" "The Ansible Tower user to authenticate as.This should not be set if an OAuth " "token is being used." msgstr "認証する AnsibleTower ユーザー。OAuth トークンが使用されている場合は、これを設定しないでください。" -#: awx/main/models/credential/__init__.py:1124 +#: awx/main/models/credential/__init__.py:1102 msgid "OAuth Token" msgstr "OAuth トークン" -#: awx/main/models/credential/__init__.py:1127 +#: awx/main/models/credential/__init__.py:1105 msgid "" "An OAuth token to use to authenticate to Tower with.This should not be set " "if username/password are being used." msgstr "Tower への認証に使用する OAuth トークン。ユーザー名/パスワードが使用されている場合は設定しないでください。" -#: awx/main/models/credential/__init__.py:1152 +#: awx/main/models/credential/__init__.py:1130 msgid "OpenShift or Kubernetes API Bearer Token" msgstr "OpenShift または Kubernetes API Bearer トークン" -#: awx/main/models/credential/__init__.py:1156 +#: awx/main/models/credential/__init__.py:1134 msgid "OpenShift or Kubernetes API Endpoint" msgstr "OpenShift または Kubernetes API エンドポイント" -#: awx/main/models/credential/__init__.py:1158 +#: awx/main/models/credential/__init__.py:1136 msgid "The OpenShift or Kubernetes API Endpoint to authenticate with." msgstr "認証する OpenShift または Kubernetes API エンドポイント。" -#: awx/main/models/credential/__init__.py:1161 +#: awx/main/models/credential/__init__.py:1139 msgid "API authentication bearer token" msgstr "API 認証ベアラートークン" -#: awx/main/models/credential/__init__.py:1171 +#: awx/main/models/credential/__init__.py:1149 msgid "Certificate Authority data" msgstr "認証局データ" -#: awx/main/models/credential/__init__.py:1184 +#: awx/main/models/credential/__init__.py:1162 msgid "Ansible Galaxy/Automation Hub API Token" msgstr "Ansible Galaxy/Automation Hub API トークン" -#: awx/main/models/credential/__init__.py:1188 +#: awx/main/models/credential/__init__.py:1166 msgid "Galaxy Server URL" msgstr "Galaxy Server URL" -#: awx/main/models/credential/__init__.py:1190 +#: awx/main/models/credential/__init__.py:1168 msgid "The URL of the Galaxy instance to connect to." msgstr "接続する Galaxy インスタンスの URL。" -#: awx/main/models/credential/__init__.py:1193 +#: awx/main/models/credential/__init__.py:1171 msgid "Auth Server URL" msgstr "認証サーバー URL" -#: awx/main/models/credential/__init__.py:1196 +#: awx/main/models/credential/__init__.py:1174 msgid "The URL of a Keycloak server token_endpoint, if using SSO auth." msgstr "SSO 認証を使用している場合は、Keycloak サーバー token_endpoint の URL。" -#: awx/main/models/credential/__init__.py:1201 +#: awx/main/models/credential/__init__.py:1179 msgid "API Token" msgstr "API トークン" -#: awx/main/models/credential/__init__.py:1205 +#: awx/main/models/credential/__init__.py:1183 msgid "A token to use for authentication against the Galaxy instance." msgstr "Galaxy インスタンスに対する認証に使用するトークン。" -#: awx/main/models/credential/__init__.py:1244 +#: awx/main/models/credential/__init__.py:1222 msgid "Target must be a non-external credential" msgstr "ターゲットには、外部の認証情報以外を使用してください。" -#: awx/main/models/credential/__init__.py:1249 +#: awx/main/models/credential/__init__.py:1227 msgid "Source must be an external credential" msgstr "ソースは、外部の認証情報でなければなりません。" -#: awx/main/models/credential/__init__.py:1256 +#: awx/main/models/credential/__init__.py:1234 msgid "Input field must be defined on target credential (options are {})." msgstr "入力フィールドは、ターゲットの認証情報 (オプションは {}) で定義する必要があります。" @@ -3815,7 +3851,7 @@ msgstr "スライス番号は 1 以上でなければなりません。" msgid "Assignment not allowed for Smart Inventory" msgstr "割り当てはスマートインベントリーでは許可されません" -#: awx/main/models/inventory.py:384 awx/main/models/projects.py:167 +#: awx/main/models/inventory.py:384 awx/main/models/projects.py:166 msgid "Credential kind must be 'insights'." msgstr "認証情報の種類は「insights」である必要があります。" @@ -3913,7 +3949,7 @@ msgid "Overwrite local variables from remote inventory source." msgstr "リモートインベントリーソースからのローカル変数を上書きします。" #: awx/main/models/inventory.py:909 awx/main/models/jobs.py:154 -#: awx/main/models/projects.py:136 +#: awx/main/models/projects.py:135 msgid "The amount of time (in seconds) to run before the task is canceled." msgstr "タスクが取り消される前の実行時間 (秒数)。" @@ -4028,8 +4064,8 @@ msgstr "保存された起動設定は、開始に必要なパスワードを提 msgid "Job Template {} is missing or undefined." msgstr "ジョブテンプレート {} が見つからないか、または定義されていません。" -#: awx/main/models/jobs.py:570 awx/main/models/projects.py:284 -#: awx/main/models/projects.py:508 +#: awx/main/models/jobs.py:570 awx/main/models/projects.py:283 +#: awx/main/models/projects.py:507 msgid "SCM Revision" msgstr "SCM リビジョン" @@ -4060,37 +4096,37 @@ msgstr "スライスされたジョブの一部として実行された場合に msgid "{status_value} is not a valid status option." msgstr "{status_value} は、有効なステータスオプションではありません。" -#: awx/main/models/jobs.py:922 +#: awx/main/models/jobs.py:928 msgid "" "Inventory applied as a prompt, assuming job template prompts for inventory" msgstr "インベントリーがプロンプトとして適用されると、ジョブテンプレートでインベントリーをプロンプトで要求することが前提となります。" -#: awx/main/models/jobs.py:1081 +#: awx/main/models/jobs.py:1087 msgid "job host summaries" msgstr "ジョブホストの概要" -#: awx/main/models/jobs.py:1140 +#: awx/main/models/jobs.py:1146 msgid "Remove jobs older than a certain number of days" msgstr "特定の日数より前のジョブを削除" -#: awx/main/models/jobs.py:1141 +#: awx/main/models/jobs.py:1147 msgid "Remove activity stream entries older than a certain number of days" msgstr "特定の日数より前のアクティビティーストリームのエントリーを削除" -#: awx/main/models/jobs.py:1142 +#: awx/main/models/jobs.py:1148 msgid "Removes expired browser sessions from the database" msgstr "期限切れブラウザーセッションをデータベースから削除" -#: awx/main/models/jobs.py:1143 +#: awx/main/models/jobs.py:1149 msgid "Removes expired OAuth 2 access tokens and refresh tokens" msgstr "期限切れの OAuth 2 アクセストークンを削除し、トークンを更新" -#: awx/main/models/jobs.py:1213 +#: awx/main/models/jobs.py:1219 #, python-brace-format msgid "Variables {list_of_keys} are not allowed for system jobs." msgstr "システムジョブでは変数 {list_of_keys} を使用できません。" -#: awx/main/models/jobs.py:1229 +#: awx/main/models/jobs.py:1235 msgid "days must be a positive integer." msgstr "日数は正の整数である必要があります。" @@ -4181,7 +4217,7 @@ msgstr "成功" msgid "Failed" msgstr "失敗" -#: awx/main/models/notifications.py:466 +#: awx/main/models/notifications.py:480 msgid "status must be either running, succeeded or failed" msgstr "ステータスは、実行中、成功、失敗のいずれかでなければなりません。" @@ -4263,133 +4299,129 @@ msgid "Git" msgstr "Git" #: awx/main/models/projects.py:55 -msgid "Mercurial" -msgstr "Mercurial" - -#: awx/main/models/projects.py:56 msgid "Subversion" msgstr "Subversion" -#: awx/main/models/projects.py:57 +#: awx/main/models/projects.py:56 msgid "Red Hat Insights" msgstr "Red Hat Insights" -#: awx/main/models/projects.py:58 +#: awx/main/models/projects.py:57 msgid "Remote Archive" msgstr "リモートアーカイブ" -#: awx/main/models/projects.py:84 +#: awx/main/models/projects.py:83 msgid "" "Local path (relative to PROJECTS_ROOT) containing playbooks and related " "files for this project." msgstr "このプロジェクトの Playbook および関連するファイルを含むローカルパス (PROJECTS_ROOT との相対)。" -#: awx/main/models/projects.py:93 +#: awx/main/models/projects.py:92 msgid "SCM Type" msgstr "SCM タイプ" -#: awx/main/models/projects.py:94 +#: awx/main/models/projects.py:93 msgid "Specifies the source control system used to store the project." msgstr "プロジェクトを保存するために使用されるソースコントロールシステムを指定します。" -#: awx/main/models/projects.py:100 +#: awx/main/models/projects.py:99 msgid "SCM URL" msgstr "SCM URL" -#: awx/main/models/projects.py:101 +#: awx/main/models/projects.py:100 msgid "The location where the project is stored." msgstr "プロジェクトが保存される場所。" -#: awx/main/models/projects.py:107 +#: awx/main/models/projects.py:106 msgid "SCM Branch" msgstr "SCM ブランチ" -#: awx/main/models/projects.py:108 +#: awx/main/models/projects.py:107 msgid "Specific branch, tag or commit to checkout." msgstr "チェックアウトする特定のブランチ、タグまたはコミット。" -#: awx/main/models/projects.py:114 +#: awx/main/models/projects.py:113 msgid "SCM refspec" msgstr "SCM refspec" -#: awx/main/models/projects.py:115 +#: awx/main/models/projects.py:114 msgid "For git projects, an additional refspec to fetch." msgstr "git プロジェクトについては、追加の refspec を使用して取得します。" -#: awx/main/models/projects.py:119 +#: awx/main/models/projects.py:118 msgid "Discard any local changes before syncing the project." msgstr "ローカル変更を破棄してからプロジェクトを同期します。" -#: awx/main/models/projects.py:123 +#: awx/main/models/projects.py:122 msgid "Delete the project before syncing." msgstr "プロジェクトを削除してから同期します。" -#: awx/main/models/projects.py:152 +#: awx/main/models/projects.py:151 msgid "Invalid SCM URL." msgstr "無効な SCM URL。" -#: awx/main/models/projects.py:155 +#: awx/main/models/projects.py:154 msgid "SCM URL is required." msgstr "SCM URL が必要です。" -#: awx/main/models/projects.py:163 +#: awx/main/models/projects.py:162 msgid "Insights Credential is required for an Insights Project." msgstr "Insights 認証情報が Insights プロジェクトに必要です。" -#: awx/main/models/projects.py:169 +#: awx/main/models/projects.py:168 msgid "Credential kind must be 'scm'." msgstr "認証情報の種類は 'scm' にする必要があります。" -#: awx/main/models/projects.py:186 +#: awx/main/models/projects.py:185 msgid "Invalid credential." msgstr "無効な認証情報。" -#: awx/main/models/projects.py:265 +#: awx/main/models/projects.py:264 msgid "Update the project when a job is launched that uses the project." msgstr "プロジェクトを使用するジョブの起動時にプロジェクトを更新します。" -#: awx/main/models/projects.py:270 +#: awx/main/models/projects.py:269 msgid "" "The number of seconds after the last project update ran that a new project " "update will be launched as a job dependency." msgstr "最終プロジェクト更新を実行して新規プロジェクトの更新をジョブの依存関係として起動した後の秒数。" -#: awx/main/models/projects.py:275 +#: awx/main/models/projects.py:274 msgid "" "Allow changing the SCM branch or revision in a job template that uses this " "project." msgstr "このプロジェクトを使用するジョブテンプレートで SCM ブランチまたはリビジョンを変更できるようにします。" -#: awx/main/models/projects.py:285 +#: awx/main/models/projects.py:284 msgid "The last revision fetched by a project update" msgstr "プロジェクト更新で取得される最新リビジョン" -#: awx/main/models/projects.py:292 +#: awx/main/models/projects.py:291 msgid "Playbook Files" msgstr "Playbook ファイル" -#: awx/main/models/projects.py:293 +#: awx/main/models/projects.py:292 msgid "List of playbooks found in the project" msgstr "プロジェクトにある Playbook の一覧" -#: awx/main/models/projects.py:300 +#: awx/main/models/projects.py:299 msgid "Inventory Files" msgstr "インベントリーファイル" -#: awx/main/models/projects.py:301 +#: awx/main/models/projects.py:300 msgid "" "Suggested list of content that could be Ansible inventory in the project" msgstr "プロジェクト内の Ansible インベントリーの可能性のあるコンテンツの一覧" -#: awx/main/models/projects.py:338 +#: awx/main/models/projects.py:337 msgid "Organization cannot be changed when in use by job templates." msgstr "組織は、ジョブテンプレートで使用中の場合には変更できません。" -#: awx/main/models/projects.py:501 +#: awx/main/models/projects.py:500 msgid "Parts of the project update playbook that will be run." msgstr "実行予定のプロジェクト更新 Playbook の一部。" -#: awx/main/models/projects.py:509 +#: awx/main/models/projects.py:508 msgid "" "The SCM Revision discovered by this update for the given project and branch." msgstr "指定のプロジェクトおよびブランチ用にこの更新が検出した SCM リビジョン" @@ -4736,12 +4768,12 @@ msgid "" "job was created from." msgstr "スライスされたジョブの実行のために自動的に作成された場合は、ワークフロージョブが作成されたジョブテンプレートです。" -#: awx/main/models/workflow.py:687 awx/main/models/workflow.py:721 +#: awx/main/models/workflow.py:687 awx/main/models/workflow.py:727 msgid "" "The amount of time (in seconds) before the approval node expires and fails." msgstr "承認ノードが期限切れになり、失敗するまでの時間 (秒単位)。" -#: awx/main/models/workflow.py:725 +#: awx/main/models/workflow.py:731 msgid "" "Shows when an approval node (with a timeout assigned to it) has timed out." msgstr "承認ノード (タイムアウトが割り当てられている場合) がタイムアウトになると表示されます。" @@ -4787,8 +4819,8 @@ msgstr "通知 rocket.chat 送信時のエラー: {}" msgid "Exception connecting to Twilio: {}" msgstr "Twilio への接続時の例外: {}" -#: awx/main/notifications/webhook_backend.py:75 -#: awx/main/notifications/webhook_backend.py:77 +#: awx/main/notifications/webhook_backend.py:76 +#: awx/main/notifications/webhook_backend.py:78 msgid "Error sending notification webhook: {}" msgstr "通知 webhook の送信時のエラー: {}" @@ -4799,52 +4831,63 @@ msgid "" "job node(s) missing unified job template and error handling path [{no_ufjt}]." msgstr "ワークフロージョブのノードにエラー処理パスがありません [{node_status}] ワークフロージョブのノードに統一されたジョブテンプレートおよびエラー処理パスがありません [{no_ufjt}]。" -#: awx/main/scheduler/task_manager.py:127 +#: awx/main/scheduler/task_manager.py:163 msgid "" "Workflow Job spawned from workflow could not start because it would result " "in recursion (spawn order, most recent first: {})" msgstr "ワークフローから起動されるワークフロージョブは、再帰が生じるために開始できませんでした (起動順、もっとも新しいものから: {})" -#: awx/main/scheduler/task_manager.py:135 +#: awx/main/scheduler/task_manager.py:171 msgid "" "Job spawned from workflow could not start because it was missing a related " "resource such as project or inventory" msgstr "ワークフローから起動されるジョブは、プロジェクトまたはインベントリーなどの関連するリソースがないために開始できませんでした" -#: awx/main/scheduler/task_manager.py:144 +#: awx/main/scheduler/task_manager.py:180 msgid "" "Job spawned from workflow could not start because it was not in the right " "state or required manual credentials" msgstr "ワークフローから起動されるジョブは、正常な状態にないか、または手動の認証が必要であるために開始できませんでした" -#: awx/main/scheduler/task_manager.py:185 +#: awx/main/scheduler/task_manager.py:221 msgid "No error handling paths found, marking workflow as failed" msgstr "エラーの処理パスが見つかりません。ワークフローを失敗としてマークしました" -#: awx/main/scheduler/task_manager.py:523 +#: awx/main/scheduler/task_manager.py:506 +#, python-brace-format +msgid "waiting for {blocked_by._meta.model_name}-{blocked_by.id} to finish" +msgstr "{blocked_by._meta.model_name}-{blocked_by.id} が終わるのを待機中" + +#: awx/main/scheduler/task_manager.py:557 +msgid "" +"This job is not ready to start because there is not enough available " +"capacity." +msgstr "使用可能な容量が十分でないため、このジョブを開始する準備ができていません。" + +#: awx/main/scheduler/task_manager.py:577 #, python-brace-format msgid "The approval node {name} ({pk}) has expired after {timeout} seconds." msgstr "承認ノード {name} ({pk}) は {timeout} 秒後に失効しました。" -#: awx/main/tasks.py:599 +#: awx/main/tasks.py:598 msgid "" "Scheduled job could not start because it was not in the " "right state or required manual credentials" msgstr "スケジュール済みのジョブは、正常な状態にないか、手動の認証が必要であるために開始できませんでした" -#: awx/main/tasks.py:1070 +#: awx/main/tasks.py:1076 msgid "Invalid virtual environment selected: {}" msgstr "無効な仮想環境が選択されました: {}" -#: awx/main/tasks.py:1857 +#: awx/main/tasks.py:1885 msgid "Job could not start because it does not have a valid inventory." msgstr "ジョブは有効なインベントリーがないために開始できませんでした。" -#: awx/main/tasks.py:1861 +#: awx/main/tasks.py:1889 msgid "Job could not start because it does not have a valid project." msgstr "ジョブは有効なプロジェクトがないために開始できませんでした。" -#: awx/main/tasks.py:1866 +#: awx/main/tasks.py:1894 msgid "" "The project revision for this job template is unknown due to a failed update." msgstr "更新に失敗したため、このジョブテンプレートのプロジェクトリビジョンは不明です。" @@ -4864,63 +4907,79 @@ msgid "" "missing unified job template and error handling path [{}]." msgstr "ワークフロージョブのノードにエラーハンドルパスがありません [] ワークフロージョブのノードに統一されたジョブテンプレートおよびエラーハンドルパスがありません [{}]。" -#: awx/main/utils/common.py:87 +#: awx/main/utils/common.py:86 #, python-format msgid "Unable to convert \"%s\" to boolean" msgstr "\"%s\" をブール値に変換できません" -#: awx/main/utils/common.py:248 +#: awx/main/utils/common.py:212 +#, python-format +msgid "Error importing Tower License: %s" +msgstr "Tower ライセンスのインポート中にエラー: %s" + +#: awx/main/utils/common.py:227 #, python-format msgid "Unsupported SCM type \"%s\"" msgstr "サポートされない SCM タイプ \"%s\"" -#: awx/main/utils/common.py:255 awx/main/utils/common.py:267 -#: awx/main/utils/common.py:286 +#: awx/main/utils/common.py:234 awx/main/utils/common.py:246 +#: awx/main/utils/common.py:265 #, python-format msgid "Invalid %s URL" msgstr "無効な %s URL" -#: awx/main/utils/common.py:257 awx/main/utils/common.py:297 +#: awx/main/utils/common.py:236 awx/main/utils/common.py:275 #, python-format msgid "Unsupported %s URL" msgstr "サポートされない %s URL" -#: awx/main/utils/common.py:299 +#: awx/main/utils/common.py:277 #, python-format msgid "Unsupported host \"%s\" for file:// URL" msgstr "file:// URL でサポートされないホスト \"%s\"" -#: awx/main/utils/common.py:301 +#: awx/main/utils/common.py:279 #, python-format msgid "Host is required for %s URL" msgstr "%s URL にはホストが必要です" -#: awx/main/utils/common.py:319 +#: awx/main/utils/common.py:297 #, python-format msgid "Username must be \"git\" for SSH access to %s." msgstr "%s への SSH アクセスではユーザー名を \"git\" にする必要があります。" -#: awx/main/utils/common.py:325 -#, python-format -msgid "Username must be \"hg\" for SSH access to %s." -msgstr "%s への SSH アクセスではユーザー名を \"hg\" にする必要があります。" - -#: awx/main/utils/common.py:656 +#: awx/main/utils/common.py:628 #, python-brace-format msgid "Input type `{data_type}` is not a dictionary" -msgstr "入力タイプ `{data_type}` は辞書ではありません" +msgstr "入力タイプ `{data_type}` は辞書ではありません" -#: awx/main/utils/common.py:689 +#: awx/main/utils/common.py:661 #, python-brace-format msgid "Variables not compatible with JSON standard (error: {json_error})" msgstr "変数には JSON 標準との互換性がありません (エラー: {json_error})" -#: awx/main/utils/common.py:695 +#: awx/main/utils/common.py:667 #, python-brace-format msgid "" "Cannot parse as JSON (error: {json_error}) or YAML (error: {yaml_error})." msgstr "JSON (エラー: {json_error}) または YAML (エラー: {yaml_error}) として解析できません。" +#: awx/main/utils/licensing.py:58 +msgid "Invalid manifest: a subscription manifest zip file is required." +msgstr "無効なマニフェスト: サブスクリプションマニフェストの zip ファイルが必要です。" + +#: awx/main/utils/licensing.py:63 +msgid "Invalid manifest: missing required files." +msgstr "無効なマニフェスト: 必要なファイルがありません。" + +#: awx/main/utils/licensing.py:72 +msgid "Invalid manifest: signature verification failed." +msgstr "無効なマニフェスト: 署名の検証に失敗しました。" + +#: awx/main/utils/licensing.py:82 +msgid "Invalid manifest: manifest contains no subscriptions." +msgstr "無効なマニフェスト: マニフェストにサブスクリプションが含まれていません。" + #: awx/main/validators.py:67 #, python-format msgid "Invalid certificate or key: %s..." @@ -5299,7 +5358,7 @@ msgid "Hostname of TACACS+ server." msgstr "TACACS+ サーバーのホスト名。" #: awx/sso/conf.py:480 awx/sso/conf.py:492 awx/sso/conf.py:504 -#: awx/sso/conf.py:516 awx/sso/conf.py:527 awx/sso/models.py:15 +#: awx/sso/conf.py:516 awx/sso/conf.py:528 awx/sso/models.py:15 msgid "TACACS+" msgstr "TACACS+" @@ -5327,159 +5386,160 @@ msgstr "TACACS+ 認証セッションタイムアウト" msgid "TACACS+ session timeout value in seconds, 0 disables timeout." msgstr "TACACS+ セッションのタイムアウト値 (秒数) です。0 はタイムアウトを無効にします。" -#: awx/sso/conf.py:525 +#: awx/sso/conf.py:526 msgid "TACACS+ Authentication Protocol" msgstr "TACACS+ 認証プロトコル" -#: awx/sso/conf.py:526 +#: awx/sso/conf.py:527 msgid "Choose the authentication protocol used by TACACS+ client." msgstr "TACACS+ クライアントによって使用される認証プロトコルを選択します。" -#: awx/sso/conf.py:540 +#: awx/sso/conf.py:541 msgid "Google OAuth2 Callback URL" msgstr "Google OAuth2 コールバック URL" -#: awx/sso/conf.py:541 awx/sso/conf.py:634 awx/sso/conf.py:699 +#: awx/sso/conf.py:542 awx/sso/conf.py:635 awx/sso/conf.py:700 +#: awx/sso/conf.py:855 awx/sso/conf.py:944 msgid "" "Provide this URL as the callback URL for your application as part of your " "registration process. Refer to the Ansible Tower documentation for more " "detail." msgstr "登録プロセスの一環として、この URL をアプリケーションのコールバック URL として指定します。詳細については、Ansible Tower ドキュメントを参照してください。" -#: awx/sso/conf.py:544 awx/sso/conf.py:556 awx/sso/conf.py:568 -#: awx/sso/conf.py:581 awx/sso/conf.py:595 awx/sso/conf.py:607 -#: awx/sso/conf.py:619 +#: awx/sso/conf.py:545 awx/sso/conf.py:557 awx/sso/conf.py:569 +#: awx/sso/conf.py:582 awx/sso/conf.py:596 awx/sso/conf.py:608 +#: awx/sso/conf.py:620 msgid "Google OAuth2" msgstr "Google OAuth2" -#: awx/sso/conf.py:554 +#: awx/sso/conf.py:555 msgid "Google OAuth2 Key" msgstr "Google OAuth2 キー" -#: awx/sso/conf.py:555 +#: awx/sso/conf.py:556 msgid "The OAuth2 key from your web application." -msgstr "web アプリケーションの OAuth2 キー " +msgstr "web アプリケーションの OAuth2 キー" -#: awx/sso/conf.py:566 +#: awx/sso/conf.py:567 msgid "Google OAuth2 Secret" msgstr "Google OAuth2 シークレット" -#: awx/sso/conf.py:567 +#: awx/sso/conf.py:568 msgid "The OAuth2 secret from your web application." msgstr "web アプリケーションの OAuth2 シークレット" -#: awx/sso/conf.py:578 +#: awx/sso/conf.py:579 msgid "Google OAuth2 Allowed Domains" msgstr "GoogleOAuth2 で許可されているドメイン" -#: awx/sso/conf.py:579 +#: awx/sso/conf.py:580 msgid "" "Update this setting to restrict the domains who are allowed to login using " "Google OAuth2." msgstr "この設定を更新し、Google OAuth2 を使用してログインできるドメインを制限します。" -#: awx/sso/conf.py:590 +#: awx/sso/conf.py:591 msgid "Google OAuth2 Extra Arguments" msgstr "Google OAuth2 追加引数" -#: awx/sso/conf.py:591 +#: awx/sso/conf.py:592 msgid "" "Extra arguments for Google OAuth2 login. You can restrict it to only allow a " "single domain to authenticate, even if the user is logged in with multple " "Google accounts. Refer to the Ansible Tower documentation for more detail." msgstr "Google OAuth2 ログインの追加引数です。ユーザーが複数の Google アカウントでログインしている場合でも、単一ドメインの認証のみを許可するように制限できます。詳細については、Ansible Tower ドキュメントを参照してください。" -#: awx/sso/conf.py:605 +#: awx/sso/conf.py:606 msgid "Google OAuth2 Organization Map" msgstr "Google OAuth2 組織マップ" -#: awx/sso/conf.py:617 +#: awx/sso/conf.py:618 msgid "Google OAuth2 Team Map" msgstr "Google OAuth2 チームマップ" -#: awx/sso/conf.py:633 +#: awx/sso/conf.py:634 msgid "GitHub OAuth2 Callback URL" msgstr "GitHub OAuth2 コールバック URL" -#: awx/sso/conf.py:637 awx/sso/conf.py:649 awx/sso/conf.py:660 -#: awx/sso/conf.py:672 awx/sso/conf.py:684 +#: awx/sso/conf.py:638 awx/sso/conf.py:650 awx/sso/conf.py:661 +#: awx/sso/conf.py:673 awx/sso/conf.py:685 awx/sso/conf.py:905 msgid "GitHub OAuth2" msgstr "GitHub OAuth2" -#: awx/sso/conf.py:647 +#: awx/sso/conf.py:648 msgid "GitHub OAuth2 Key" msgstr "GitHub OAuth2 キー" -#: awx/sso/conf.py:648 +#: awx/sso/conf.py:649 msgid "The OAuth2 key (Client ID) from your GitHub developer application." msgstr "GitHub 開発者アプリケーションからの OAuth2 キー (クライアント ID)。" -#: awx/sso/conf.py:658 +#: awx/sso/conf.py:659 msgid "GitHub OAuth2 Secret" msgstr "GitHub OAuth2 シークレット" -#: awx/sso/conf.py:659 +#: awx/sso/conf.py:660 msgid "" "The OAuth2 secret (Client Secret) from your GitHub developer application." msgstr "GitHub 開発者アプリケーションからの OAuth2 シークレット (クライアントシークレット)。" -#: awx/sso/conf.py:670 +#: awx/sso/conf.py:671 msgid "GitHub OAuth2 Organization Map" msgstr "GitHub OAuth2 組織マップ" -#: awx/sso/conf.py:682 +#: awx/sso/conf.py:683 msgid "GitHub OAuth2 Team Map" msgstr "GitHub OAuth2 チームマップ" -#: awx/sso/conf.py:698 +#: awx/sso/conf.py:699 msgid "GitHub Organization OAuth2 Callback URL" msgstr "GitHub 組織 OAuth2 コールバック URL" -#: awx/sso/conf.py:702 awx/sso/conf.py:714 awx/sso/conf.py:725 -#: awx/sso/conf.py:738 awx/sso/conf.py:749 awx/sso/conf.py:761 +#: awx/sso/conf.py:703 awx/sso/conf.py:715 awx/sso/conf.py:726 +#: awx/sso/conf.py:739 awx/sso/conf.py:750 awx/sso/conf.py:762 msgid "GitHub Organization OAuth2" msgstr "GitHub 組織 OAuth2" -#: awx/sso/conf.py:712 +#: awx/sso/conf.py:713 msgid "GitHub Organization OAuth2 Key" msgstr "GitHub 組織 OAuth2 キー" -#: awx/sso/conf.py:713 awx/sso/conf.py:791 +#: awx/sso/conf.py:714 awx/sso/conf.py:792 msgid "The OAuth2 key (Client ID) from your GitHub organization application." msgstr "GitHub 組織アプリケーションからの OAuth2 キー (クライアント ID)。" -#: awx/sso/conf.py:723 +#: awx/sso/conf.py:724 msgid "GitHub Organization OAuth2 Secret" msgstr "GitHub 組織 OAuth2 シークレット" -#: awx/sso/conf.py:724 awx/sso/conf.py:802 +#: awx/sso/conf.py:725 awx/sso/conf.py:803 msgid "" "The OAuth2 secret (Client Secret) from your GitHub organization application." msgstr "GitHub 組織アプリケーションからの OAuth2 シークレット (クライアントシークレット)。" -#: awx/sso/conf.py:735 +#: awx/sso/conf.py:736 msgid "GitHub Organization Name" msgstr "GitHub 組織名" -#: awx/sso/conf.py:736 +#: awx/sso/conf.py:737 msgid "" "The name of your GitHub organization, as used in your organization's URL: " "https://github.com//." msgstr "GitHub 組織の名前で、組織の URL (https://github.com//) で使用されます。" -#: awx/sso/conf.py:747 +#: awx/sso/conf.py:748 msgid "GitHub Organization OAuth2 Organization Map" msgstr "GitHub 組織 OAuth2 組織マップ" -#: awx/sso/conf.py:759 +#: awx/sso/conf.py:760 msgid "GitHub Organization OAuth2 Team Map" msgstr "GitHub 組織 OAuth2 チームマップ" -#: awx/sso/conf.py:775 +#: awx/sso/conf.py:776 msgid "GitHub Team OAuth2 Callback URL" msgstr "GitHub チーム OAuth2 コールバック URL" -#: awx/sso/conf.py:776 +#: awx/sso/conf.py:777 awx/sso/conf.py:1045 msgid "" "Create an organization-owned application at https://github.com/organizations/" "/settings/applications and obtain an OAuth2 key (Client ID) and " @@ -5487,182 +5547,338 @@ msgid "" "application." msgstr "組織が所有するアプリケーションを https://github.com/organizations//settings/applications に作成し、OAuth2 キー (クライアント ID) およびシークレット (クライアントシークレット) を取得します。この URL をアプリケーションのコールバック URL として指定します。" -#: awx/sso/conf.py:780 awx/sso/conf.py:792 awx/sso/conf.py:803 -#: awx/sso/conf.py:816 awx/sso/conf.py:827 awx/sso/conf.py:839 +#: awx/sso/conf.py:781 awx/sso/conf.py:793 awx/sso/conf.py:804 +#: awx/sso/conf.py:817 awx/sso/conf.py:828 awx/sso/conf.py:840 msgid "GitHub Team OAuth2" msgstr "GitHub チーム OAuth2" -#: awx/sso/conf.py:790 +#: awx/sso/conf.py:791 msgid "GitHub Team OAuth2 Key" msgstr "GitHub チーム OAuth2 キー" -#: awx/sso/conf.py:801 +#: awx/sso/conf.py:802 msgid "GitHub Team OAuth2 Secret" msgstr "GitHub チーム OAuth2 シークレット" -#: awx/sso/conf.py:813 +#: awx/sso/conf.py:814 msgid "GitHub Team ID" msgstr "GitHub チーム ID" -#: awx/sso/conf.py:814 +#: awx/sso/conf.py:815 msgid "" "Find the numeric team ID using the Github API: http://fabian-kostadinov." "github.io/2015/01/16/how-to-find-a-github-team-id/." msgstr "Github API を使用して数値のチーム ID を検索します: http://fabian-kostadinov.github.io/2015/01/16/how-to-find-a-github-team-id/" -#: awx/sso/conf.py:825 +#: awx/sso/conf.py:826 msgid "GitHub Team OAuth2 Organization Map" msgstr "GitHub チーム OAuth2 組織マップ" -#: awx/sso/conf.py:837 +#: awx/sso/conf.py:838 msgid "GitHub Team OAuth2 Team Map" msgstr "GitHub チーム OAuth2 チームマップ" -#: awx/sso/conf.py:853 +#: awx/sso/conf.py:854 +msgid "GitHub Enterprise OAuth2 Callback URL" +msgstr "GitHub Enterprise OAuth2 コールバック URL" + +#: awx/sso/conf.py:858 awx/sso/conf.py:871 awx/sso/conf.py:883 +#: awx/sso/conf.py:894 awx/sso/conf.py:917 awx/sso/conf.py:929 +#: awx/sso/conf.py:960 awx/sso/conf.py:972 awx/sso/conf.py:1062 +#: awx/sso/conf.py:1074 +msgid "GitHub Enterprise OAuth2" +msgstr "GitHub Enterprise OAuth2" + +#: awx/sso/conf.py:868 +msgid "GitHub Enterprise URL" +msgstr "GitHub Enterprise URL" + +#: awx/sso/conf.py:869 awx/sso/conf.py:958 awx/sso/conf.py:1060 +msgid "" +"The URL for your Github Enterprise instance, e.g.: http(s)://hostname/. " +"Refer to Github Enterprise documentation for more details." +msgstr "Github Enterprise インスタンスの URL (例: http(s)://hostname/)。詳細については、Github Enterprise ドキュメントを参照してください。" + +#: awx/sso/conf.py:880 +msgid "GitHub Enterprise API URL" +msgstr "GitHub Enterprise API URL" + +#: awx/sso/conf.py:881 awx/sso/conf.py:970 awx/sso/conf.py:1072 +msgid "" +"The API URL for your GitHub Enterprise instance, e.g.: http(s)://hostname/" +"api/v3/. Refer to Github Enterprise documentation for more details." +msgstr "GitHub Enterprise インスタンスの API URL (例: http(s)://hostname/api/v3/)。詳細については、Github Enterprise ドキュメントを参照してください。" + +#: awx/sso/conf.py:892 +msgid "GitHub Enterprise OAuth2 Key" +msgstr "GitHub Enterprise OAuth2 Key" + +#: awx/sso/conf.py:893 +msgid "" +"The OAuth2 key (Client ID) from your GitHub Enterprise developer application." +msgstr "GitHub Enterprise 開発者アプリケーションからの OAuth2 キー (クライアント ID)。" + +#: awx/sso/conf.py:903 +msgid "GitHub Enterprise OAuth2 Secret" +msgstr "GitHub Enterprise OAuth2 Secret" + +#: awx/sso/conf.py:904 +msgid "" +"The OAuth2 secret (Client Secret) from your GitHub Enterprise developer " +"application." +msgstr "GitHub Enterprise 開発者アプリケーションからの OAuth2 シークレット (クライアントシークレット)。" + +#: awx/sso/conf.py:915 +msgid "GitHub Enterprise OAuth2 Organization Map" +msgstr "GitHub Enterprise OAuth2 組織マップ" + +#: awx/sso/conf.py:927 +msgid "GitHub Enterprise OAuth2 Team Map" +msgstr "GitHub Enterprise OAuth2 チームマップ" + +#: awx/sso/conf.py:943 +msgid "GitHub Enterprise Organization OAuth2 Callback URL" +msgstr "GitHub Enterprise 組織 OAuth2 コールバック URL" + +#: awx/sso/conf.py:947 awx/sso/conf.py:983 awx/sso/conf.py:994 +#: awx/sso/conf.py:1007 awx/sso/conf.py:1018 awx/sso/conf.py:1030 +msgid "GitHub Enterprise Organization OAuth2" +msgstr "GitHub Enterprise 組織 OAuth2" + +#: awx/sso/conf.py:957 +msgid "GitHub Enterprise Organization URL" +msgstr "GitHub Enterprise 組織 URL" + +#: awx/sso/conf.py:969 +msgid "GitHub Enterprise Organization API URL" +msgstr "GitHub Enterprise 組織 API URL" + +#: awx/sso/conf.py:981 +msgid "GitHub Enterprise Organization OAuth2 Key" +msgstr "GitHub Enterprise 組織 OAuth2 キー" + +#: awx/sso/conf.py:982 awx/sso/conf.py:1084 +msgid "" +"The OAuth2 key (Client ID) from your GitHub Enterprise organization " +"application." +msgstr "GitHub Enterprise 組織アプリケーションからの OAuth2 キー (クライアント ID)。" + +#: awx/sso/conf.py:992 +msgid "GitHub Enterprise Organization OAuth2 Secret" +msgstr "GitHub Enterprise 組織 OAuth2 シークレット" + +#: awx/sso/conf.py:993 awx/sso/conf.py:1095 +msgid "" +"The OAuth2 secret (Client Secret) from your GitHub Enterprise organization " +"application." +msgstr "GitHub Enterprise 組織アプリケーションからの OAuth2 シークレット (クライアントシークレット)。" + +#: awx/sso/conf.py:1004 +msgid "GitHub Enterprise Organization Name" +msgstr "GitHub Enterprise 組織名" + +#: awx/sso/conf.py:1005 +msgid "" +"The name of your GitHub Enterprise organization, as used in your " +"organization's URL: https://github.com//." +msgstr "GitHub Enterprise 組織の名前で、組織の URL (https://github.com//) で使用されます。" + +#: awx/sso/conf.py:1016 +msgid "GitHub Enterprise Organization OAuth2 Organization Map" +msgstr "GitHub Enterprise 組織 OAuth2 組織マップ" + +#: awx/sso/conf.py:1028 +msgid "GitHub Enterprise Organization OAuth2 Team Map" +msgstr "GitHub Enterprise 組織 OAuth2 チームマップ" + +#: awx/sso/conf.py:1044 +msgid "GitHub Enterprise Team OAuth2 Callback URL" +msgstr "GitHub Enterprise チーム OAuth2 コールバック URL" + +#: awx/sso/conf.py:1049 awx/sso/conf.py:1085 awx/sso/conf.py:1096 +#: awx/sso/conf.py:1109 awx/sso/conf.py:1120 awx/sso/conf.py:1132 +msgid "GitHub Enterprise Team OAuth2" +msgstr "GitHub Enterprise Team OAuth2" + +#: awx/sso/conf.py:1059 +msgid "GitHub Enterprise Team URL" +msgstr "GitHub Enterprise Team URL" + +#: awx/sso/conf.py:1071 +msgid "GitHub Enterprise Team API URL" +msgstr "GitHub Enterprise Team API URL" + +#: awx/sso/conf.py:1083 +msgid "GitHub Enterprise Team OAuth2 Key" +msgstr "GitHub Enterprise チーム OAuth2 キー" + +#: awx/sso/conf.py:1094 +msgid "GitHub Enterprise Team OAuth2 Secret" +msgstr "GitHub Enterprise チーム OAuth2 シークレット" + +#: awx/sso/conf.py:1106 +msgid "GitHub Enterprise Team ID" +msgstr "GitHub Enterprise チーム ID" + +#: awx/sso/conf.py:1107 +msgid "" +"Find the numeric team ID using the Github Enterprise API: http://fabian-" +"kostadinov.github.io/2015/01/16/how-to-find-a-github-team-id/." +msgstr "Github Enterprise API を使用して数値のチーム ID を検索します: http://fabian-kostadinov.github.io/2015/01/16/how-to-find-a-github-team-id/" + +#: awx/sso/conf.py:1118 +msgid "GitHub Enterprise Team OAuth2 Organization Map" +msgstr "GitHub Enterprise チーム OAuth2 組織マップ" + +#: awx/sso/conf.py:1130 +msgid "GitHub Enterprise Team OAuth2 Team Map" +msgstr "GitHub Enterprise チーム OAuth2 チームマップ" + +#: awx/sso/conf.py:1146 msgid "Azure AD OAuth2 Callback URL" msgstr "Azure AD OAuth2 コールバック URL" -#: awx/sso/conf.py:854 +#: awx/sso/conf.py:1147 msgid "" "Provide this URL as the callback URL for your application as part of your " "registration process. Refer to the Ansible Tower documentation for more " "detail. " msgstr "登録プロセスの一環として、この URL をアプリケーションのコールバック URL として指定します。詳細については、Ansible Tower ドキュメントを参照してください。" -#: awx/sso/conf.py:857 awx/sso/conf.py:869 awx/sso/conf.py:880 -#: awx/sso/conf.py:892 awx/sso/conf.py:904 +#: awx/sso/conf.py:1150 awx/sso/conf.py:1162 awx/sso/conf.py:1173 +#: awx/sso/conf.py:1185 awx/sso/conf.py:1197 msgid "Azure AD OAuth2" msgstr "Azure AD OAuth2" -#: awx/sso/conf.py:867 +#: awx/sso/conf.py:1160 msgid "Azure AD OAuth2 Key" msgstr "Azure AD OAuth2 キー" -#: awx/sso/conf.py:868 +#: awx/sso/conf.py:1161 msgid "The OAuth2 key (Client ID) from your Azure AD application." msgstr "Azure AD アプリケーションからの OAuth2 キー (クライアント ID)。" -#: awx/sso/conf.py:878 +#: awx/sso/conf.py:1171 msgid "Azure AD OAuth2 Secret" msgstr "Azure AD OAuth2 シークレット" -#: awx/sso/conf.py:879 +#: awx/sso/conf.py:1172 msgid "The OAuth2 secret (Client Secret) from your Azure AD application." msgstr "Azure AD アプリケーションからの OAuth2 シークレット (クライアントシークレット)。" -#: awx/sso/conf.py:890 +#: awx/sso/conf.py:1183 msgid "Azure AD OAuth2 Organization Map" msgstr "Azure AD OAuth2 組織マップ" -#: awx/sso/conf.py:902 +#: awx/sso/conf.py:1195 msgid "Azure AD OAuth2 Team Map" msgstr "Azure AD OAuth2 チームマップ" -#: awx/sso/conf.py:926 +#: awx/sso/conf.py:1219 msgid "Automatically Create Organizations and Teams on SAML Login" msgstr "SAML ログインで組織とチームを自動的に作成" -#: awx/sso/conf.py:927 +#: awx/sso/conf.py:1220 msgid "" "When enabled (the default), mapped Organizations and Teams will be created " "automatically on successful SAML login." msgstr "有効にすると (デフォルト)、マップされた組織とチームは、SAML ログインが成功すると自動的に作成されます。" -#: awx/sso/conf.py:929 awx/sso/conf.py:942 awx/sso/conf.py:955 -#: awx/sso/conf.py:968 awx/sso/conf.py:982 awx/sso/conf.py:995 -#: awx/sso/conf.py:1007 awx/sso/conf.py:1027 awx/sso/conf.py:1044 -#: awx/sso/conf.py:1062 awx/sso/conf.py:1097 awx/sso/conf.py:1128 -#: awx/sso/conf.py:1141 awx/sso/conf.py:1157 awx/sso/conf.py:1169 -#: awx/sso/conf.py:1181 awx/sso/conf.py:1200 awx/sso/models.py:16 +#: awx/sso/conf.py:1222 awx/sso/conf.py:1235 awx/sso/conf.py:1248 +#: awx/sso/conf.py:1261 awx/sso/conf.py:1275 awx/sso/conf.py:1288 +#: awx/sso/conf.py:1300 awx/sso/conf.py:1320 awx/sso/conf.py:1337 +#: awx/sso/conf.py:1355 awx/sso/conf.py:1390 awx/sso/conf.py:1421 +#: awx/sso/conf.py:1434 awx/sso/conf.py:1450 awx/sso/conf.py:1462 +#: awx/sso/conf.py:1474 awx/sso/conf.py:1493 awx/sso/models.py:16 msgid "SAML" msgstr "SAML" -#: awx/sso/conf.py:938 +#: awx/sso/conf.py:1231 msgid "SAML Assertion Consumer Service (ACS) URL" msgstr "SAML アサーションコンシューマー サービス (ACS) URL" -#: awx/sso/conf.py:939 +#: awx/sso/conf.py:1232 msgid "" "Register Tower as a service provider (SP) with each identity provider (IdP) " "you have configured. Provide your SP Entity ID and this ACS URL for your " "application." msgstr "設定済みの各アイデンティティープロバイダー (IdP) で Tower をサービスプロバイダー (SP) として登録します。SP エンティティー ID およびアプリケーションのこの ACS URL を指定します。" -#: awx/sso/conf.py:952 +#: awx/sso/conf.py:1245 msgid "SAML Service Provider Metadata URL" msgstr "SAML サービスプロバイダーメタデータ URL" -#: awx/sso/conf.py:953 +#: awx/sso/conf.py:1246 msgid "" "If your identity provider (IdP) allows uploading an XML metadata file, you " "can download one from this URL." msgstr "アイデンティティープロバイダー (IdP) が XML メタデータファイルのアップロードを許可する場合、この URL からダウンロードできます。" -#: awx/sso/conf.py:964 +#: awx/sso/conf.py:1257 msgid "SAML Service Provider Entity ID" msgstr "SAML サービスプロバイダーエンティティー ID" -#: awx/sso/conf.py:965 +#: awx/sso/conf.py:1258 msgid "" "The application-defined unique identifier used as the audience of the SAML " "service provider (SP) configuration. This is usually the URL for Tower." msgstr "SAML サービスプロバイダー (SP) 設定の対象として使用されるアプリケーションで定義される固有識別子です。通常これは Tower の URL になります。" -#: awx/sso/conf.py:979 +#: awx/sso/conf.py:1272 msgid "SAML Service Provider Public Certificate" msgstr "SAML サービスプロバイダーの公開証明書" -#: awx/sso/conf.py:980 +#: awx/sso/conf.py:1273 msgid "" "Create a keypair for Tower to use as a service provider (SP) and include the " "certificate content here." msgstr "サービスプロバイダー (SP) として使用するための Tower のキーペアを作成し、ここに証明書の内容を組み込みます。" -#: awx/sso/conf.py:992 +#: awx/sso/conf.py:1285 msgid "SAML Service Provider Private Key" msgstr "SAML サービスプロバイダーの秘密鍵|" -#: awx/sso/conf.py:993 +#: awx/sso/conf.py:1286 msgid "" "Create a keypair for Tower to use as a service provider (SP) and include the " "private key content here." msgstr "サービスプロバイダー (SP) として使用するための Tower のキーペアを作成し、ここに秘密鍵の内容を組み込みます。" -#: awx/sso/conf.py:1004 +#: awx/sso/conf.py:1297 msgid "SAML Service Provider Organization Info" msgstr "SAML サービスプロバイダーの組織情報" -#: awx/sso/conf.py:1005 +#: awx/sso/conf.py:1298 msgid "" "Provide the URL, display name, and the name of your app. Refer to the " "Ansible Tower documentation for example syntax." msgstr "アプリケーションの URL、表示名、および名前を指定します。構文のサンプルについては Ansible Tower ドキュメントを参照してください。" -#: awx/sso/conf.py:1023 +#: awx/sso/conf.py:1316 msgid "SAML Service Provider Technical Contact" msgstr "SAML サービスプロバイダーテクニカルサポートの問い合わせ先" -#: awx/sso/conf.py:1024 +#: awx/sso/conf.py:1317 msgid "" "Provide the name and email address of the technical contact for your service " "provider. Refer to the Ansible Tower documentation for example syntax." msgstr "サービスプロバイダーのテクニカルサポート担当の名前およびメールアドレスを指定します。構文のサンプルについては Ansible Tower ドキュメントを参照してください。" -#: awx/sso/conf.py:1040 +#: awx/sso/conf.py:1333 msgid "SAML Service Provider Support Contact" msgstr "SAML サービスプロバイダーサポートの問い合わせ先" -#: awx/sso/conf.py:1041 +#: awx/sso/conf.py:1334 msgid "" "Provide the name and email address of the support contact for your service " "provider. Refer to the Ansible Tower documentation for example syntax." msgstr "サービスプロバイダーのサポート担当の名前およびメールアドレスを指定します。構文のサンプルについては Ansible Tower ドキュメントを参照してください。" -#: awx/sso/conf.py:1056 +#: awx/sso/conf.py:1349 msgid "SAML Enabled Identity Providers" msgstr "SAML で有効にされたアイデンティティープロバイダー" -#: awx/sso/conf.py:1057 +#: awx/sso/conf.py:1350 msgid "" "Configure the Entity ID, SSO URL and certificate for each identity provider " "(IdP) in use. Multiple SAML IdPs are supported. Some IdPs may provide user " @@ -5671,57 +5887,57 @@ msgid "" "additional details and syntax." msgstr "使用中のそれぞれのアイデンティティープロバイダー (IdP) についてのエンティティー ID、SSO URL および証明書を設定します。複数の SAML IdP がサポートされます。一部の IdP はデフォルト OID とは異なる属性名を使用してユーザーデータを提供することがあります。それぞれの IdP について属性名が上書きされる可能性があります。追加の詳細および構文については、Ansible ドキュメントを参照してください。" -#: awx/sso/conf.py:1093 +#: awx/sso/conf.py:1386 msgid "SAML Security Config" msgstr "SAML セキュリティー設定" -#: awx/sso/conf.py:1094 +#: awx/sso/conf.py:1387 msgid "" "A dict of key value pairs that are passed to the underlying python-saml " "security setting https://github.com/onelogin/python-saml#settings" msgstr "基礎となる python-saml セキュリティー設定に渡されるキー値ペアの辞書: https://github.com/onelogin/python-saml#settings" -#: awx/sso/conf.py:1125 +#: awx/sso/conf.py:1418 msgid "SAML Service Provider extra configuration data" msgstr "SAML サービスプロバイダーの追加設定データ" -#: awx/sso/conf.py:1126 +#: awx/sso/conf.py:1419 msgid "" "A dict of key value pairs to be passed to the underlying python-saml Service " "Provider configuration setting." msgstr "基礎となる python-saml サービスプロバイダー設定に渡されるキー値ペアの辞書。" -#: awx/sso/conf.py:1138 +#: awx/sso/conf.py:1431 msgid "SAML IDP to extra_data attribute mapping" msgstr "SAML IDP の extra_data 属性へのマッピング" -#: awx/sso/conf.py:1139 +#: awx/sso/conf.py:1432 msgid "" "A list of tuples that maps IDP attributes to extra_attributes. Each " "attribute will be a list of values, even if only 1 value." msgstr "IDP 属性を extra_attributes にマップするタプルの一覧です。各属性は 1 つの値のみの場合も値の一覧となります。" -#: awx/sso/conf.py:1155 +#: awx/sso/conf.py:1448 msgid "SAML Organization Map" msgstr "SAML 組織マップ" -#: awx/sso/conf.py:1167 +#: awx/sso/conf.py:1460 msgid "SAML Team Map" msgstr "SAML チームマップ" -#: awx/sso/conf.py:1179 +#: awx/sso/conf.py:1472 msgid "SAML Organization Attribute Mapping" msgstr "SAML 組織属性マッピング" -#: awx/sso/conf.py:1180 +#: awx/sso/conf.py:1473 msgid "Used to translate user organization membership into Tower." msgstr "ユーザー組織メンバーシップを Tower に変換するために使用されます。" -#: awx/sso/conf.py:1198 +#: awx/sso/conf.py:1491 msgid "SAML Team Attribute Mapping" msgstr "SAML チーム属性マッピング" -#: awx/sso/conf.py:1199 +#: awx/sso/conf.py:1492 msgid "Used to translate user team membership into Tower." msgstr "ユーザーチームメンバーシップを Tower に変換するために使用されます。" @@ -5729,61 +5945,73 @@ msgstr "ユーザーチームメンバーシップを Tower に変換するた msgid "Invalid field." msgstr "無効なフィールドです。" -#: awx/sso/fields.py:250 +#: awx/sso/fields.py:270 #, python-brace-format msgid "Invalid connection option(s): {invalid_options}." msgstr "無効な接続オプション: {invalid_options}" -#: awx/sso/fields.py:334 +#: awx/sso/fields.py:354 msgid "Base" msgstr "ベース" -#: awx/sso/fields.py:335 +#: awx/sso/fields.py:355 msgid "One Level" msgstr "1 レベル" -#: awx/sso/fields.py:336 +#: awx/sso/fields.py:356 msgid "Subtree" msgstr "サブツリー" -#: awx/sso/fields.py:354 +#: awx/sso/fields.py:374 #, python-brace-format msgid "Expected a list of three items but got {length} instead." msgstr "3 つの項目の一覧が必要でしたが、{length} を取得しました。" -#: awx/sso/fields.py:355 +#: awx/sso/fields.py:375 #, python-brace-format msgid "Expected an instance of LDAPSearch but got {input_type} instead." msgstr "LDAPSearch のインスタンスが必要でしたが、{input_type} を取得しました。" -#: awx/sso/fields.py:391 +#: awx/sso/fields.py:411 #, python-brace-format msgid "" "Expected an instance of LDAPSearch or LDAPSearchUnion but got {input_type} " "instead." msgstr "LDAPSearch または LDAPSearchUnion のインスタンスが必要でしたが、{input_type} を取得しました。" -#: awx/sso/fields.py:429 +#: awx/sso/fields.py:449 #, python-brace-format msgid "Invalid user attribute(s): {invalid_attrs}." msgstr "無効なユーザー属性: {invalid_attrs}" -#: awx/sso/fields.py:447 +#: awx/sso/fields.py:467 #, python-brace-format msgid "Expected an instance of LDAPGroupType but got {input_type} instead." msgstr "LDAPGroupType のインスタンスが必要でしたが、{input_type} が取得されました。" -#: awx/sso/fields.py:487 +#: awx/sso/fields.py:468 +#, python-brace-format +msgid "Missing required parameters in {dependency}." +msgstr "{dependency} に必要なパラメーターがありません。" + +#: awx/sso/fields.py:469 +#, python-brace-format +msgid "" +"Invalid group_type parameters. Expected instance of dict but got " +"{parameters_type} instead." +msgstr "無効な group_type パラメーター。辞書のインスタンスが必要ですが、{parameters_type} が見つかりました。" + +#: awx/sso/fields.py:519 #, python-brace-format msgid "Invalid key(s): {invalid_keys}." msgstr "無効なキー: {invalid_keys}" -#: awx/sso/fields.py:513 +#: awx/sso/fields.py:545 #, python-brace-format msgid "Invalid user flag: \"{invalid_flag}\"." msgstr "無効なユーザーフラグ: \"{invalid_flag}\"" -#: awx/sso/fields.py:667 +#: awx/sso/fields.py:699 #, python-brace-format msgid "Invalid language code(s) for org info: {invalid_lang_codes}." msgstr "組織情報の無効な言語コード: {invalid_lang_codes}" @@ -5909,3 +6137,29 @@ msgstr "カスタムロゴの無効な形式です。base64 エンコードさ msgid "Invalid base64-encoded data in data URL." msgstr "データ URL の無効な base64 エンコードされたデータ。" +#: awx/ui_next/apps.py:9 +msgid "UI_Next" +msgstr "UI_Next" + +#: awx/ui_next/urls.py:20 +#, python-format +msgid "%s Upgrading" +msgstr "%s アップグレード中" + +#: awx/ui_next/urls.py:21 +msgid "Logo" +msgstr "ロゴ" + +#: awx/ui_next/urls.py:22 +msgid "Loading" +msgstr "ロード中" + +#: awx/ui_next/urls.py:23 +#, python-format +msgid "%s is currently upgrading." +msgstr "%s が現在アップグレード中です。" + +#: awx/ui_next/urls.py:24 +msgid "This page will refresh when complete." +msgstr "このページは完了すると更新されます。" + diff --git a/awx/locale/zh/LC_MESSAGES/django.po b/awx/locale/zh/LC_MESSAGES/django.po index 7827966e11..62ca0a10e3 100644 --- a/awx/locale/zh/LC_MESSAGES/django.po +++ b/awx/locale/zh/LC_MESSAGES/django.po @@ -3,12 +3,11 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-28 21:45+0000\n" +"POT-Creation-Date: 2021-03-02 15:56+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -27,35 +26,42 @@ msgid "" "again." msgstr "用户在需要再次登录前处于不活跃状态的秒数。" -#: awx/api/conf.py:17 awx/api/conf.py:26 awx/api/conf.py:34 awx/api/conf.py:50 -#: awx/api/conf.py:62 awx/api/conf.py:74 awx/sso/conf.py:97 awx/sso/conf.py:108 +#: awx/api/conf.py:17 awx/api/conf.py:27 awx/api/conf.py:35 awx/api/conf.py:51 +#: awx/api/conf.py:64 awx/api/conf.py:76 awx/sso/conf.py:97 awx/sso/conf.py:108 #: awx/sso/conf.py:120 awx/sso/conf.py:135 msgid "Authentication" msgstr "身份验证" -#: awx/api/conf.py:24 +#: awx/api/conf.py:19 awx/api/conf.py:53 awx/main/conf.py:269 +#: awx/main/conf.py:281 awx/main/conf.py:294 awx/main/conf.py:516 +#: awx/main/conf.py:529 awx/main/conf.py:542 awx/main/conf.py:557 +#: awx/main/conf.py:695 awx/main/conf.py:777 awx/sso/conf.py:518 +msgid "seconds" +msgstr "秒" + +#: awx/api/conf.py:25 msgid "Maximum number of simultaneous logged in sessions" msgstr "同步登录会话的最大数量" -#: awx/api/conf.py:25 +#: awx/api/conf.py:26 msgid "" "Maximum number of simultaneous logged in sessions a user may have. To " "disable enter -1." msgstr "用户可以具有的同步登录会话的最大数量。要禁用,请输入 -1。" -#: awx/api/conf.py:32 +#: awx/api/conf.py:33 msgid "Enable HTTP Basic Auth" msgstr "启用 HTTP 基本身份验证" -#: awx/api/conf.py:33 +#: awx/api/conf.py:34 msgid "Enable HTTP Basic Auth for the API Browser." msgstr "为 API 浏览器启用 HTTP 基本身份验证。" -#: awx/api/conf.py:43 +#: awx/api/conf.py:44 msgid "OAuth 2 Timeout Settings" msgstr "OAuth 2 超时设置" -#: awx/api/conf.py:44 +#: awx/api/conf.py:45 msgid "" "Dictionary for customizing OAuth 2 timeouts, available items are " "`ACCESS_TOKEN_EXPIRE_SECONDS`, the duration of access tokens in the number " @@ -65,11 +71,11 @@ msgid "" "expired access tokens, in the number of seconds." msgstr "自定义 OAuth 2 超时的字典,可用项为 `ACCESS_TOKEN_EXPIRE_SECONDS`(访问令牌的持续时间,单位为秒数),`AUTHORIZATION_CODE_EXPIRE_SECONDS`(授权代码的持续时间,单位为秒数),以及 `REFRESH_TOKEN_EXPIRE_SECONDS`(访问令牌过期后刷新令牌的持续时间,单位为秒数)。" -#: awx/api/conf.py:57 +#: awx/api/conf.py:59 msgid "Allow External Users to Create OAuth2 Tokens" msgstr "允许外部用户创建 OAuth2 令牌" -#: awx/api/conf.py:58 +#: awx/api/conf.py:60 msgid "" "For security reasons, users from external auth providers (LDAP, SAML, SSO, " "Radius, and others) are not allowed to create OAuth2 tokens. To change this " @@ -77,11 +83,11 @@ msgid "" "setting is toggled off." msgstr "出于安全考虑,不允许来自外部验证提供商(LDAP、SAML、SSO、Radius 等)的用户创建 OAuth2 令牌。要更改此行为,请启用此设置。此设置关闭时不会删除现有令牌。" -#: awx/api/conf.py:71 +#: awx/api/conf.py:73 msgid "Login redirect override URL" msgstr "登录重定向覆写 URL" -#: awx/api/conf.py:72 +#: awx/api/conf.py:74 msgid "" "URL to which unauthorized users will be redirected to log in. If blank, " "users will be sent to the Tower login page." @@ -126,27 +132,27 @@ msgstr "没有提供查询字符串字段名称。" msgid "Invalid {field_name} id: {field_id}" msgstr "无效的 {field_name} ID:{field_id}" -#: awx/api/filters.py:333 +#: awx/api/filters.py:338 msgid "" "Cannot apply role_level filter to this list because its model does not use " "roles for access control." msgstr "无法将 role_level 过滤器应用到此列表,因为其模型不使用角色来进行访问控制。" -#: awx/api/generics.py:182 +#: awx/api/generics.py:181 msgid "" "You did not use correct Content-Type in your HTTP request. If you are using " "our REST API, the Content-Type must be application/json" msgstr "您没有在 HTTP 请求中使用正确的 Content-Type。如果您使用的是 REST API,Content-Type 必须是 application/json" -#: awx/api/generics.py:623 awx/api/generics.py:685 +#: awx/api/generics.py:647 awx/api/generics.py:709 msgid "\"id\" field must be an integer." msgstr "“id”字段必须是整数。" -#: awx/api/generics.py:682 +#: awx/api/generics.py:706 msgid "\"id\" is required to disassociate" msgstr "需要“id”才能解除关联" -#: awx/api/generics.py:733 +#: awx/api/generics.py:757 msgid "{} 'id' field is missing." msgstr "{} 'id' 字段缺失。" @@ -197,7 +203,8 @@ msgstr "JSON 解析错误 - 不是 JSON 对象" msgid "" "JSON parse error - %s\n" "Possible cause: trailing comma." -msgstr "JSON 解析错误 - %s 可能的原因:结尾逗号。" +msgstr "JSON 解析错误 - %s\n" +"可能的原因:结尾逗号。" #: awx/api/serializers.py:169 msgid "" @@ -218,7 +225,7 @@ msgstr "Playbook 运行" msgid "Command" msgstr "命令" -#: awx/api/serializers.py:318 awx/main/models/unified_jobs.py:547 +#: awx/api/serializers.py:318 awx/main/models/unified_jobs.py:546 msgid "SCM Update" msgstr "SCM 更新" @@ -242,51 +249,51 @@ msgstr "工作流模板" msgid "Job Template" msgstr "作业模板" -#: awx/api/serializers.py:709 +#: awx/api/serializers.py:706 msgid "" "Indicates whether all of the events generated by this unified job have been " "saved to the database." msgstr "表明该统一作业生成的所有事件是否已保存到数据库中。" -#: awx/api/serializers.py:878 +#: awx/api/serializers.py:877 msgid "Write-only field used to change the password." msgstr "用于更改密码只写字段。" -#: awx/api/serializers.py:880 +#: awx/api/serializers.py:879 msgid "Set if the account is managed by an external service" msgstr "设定帐户是否由外部服务管理" -#: awx/api/serializers.py:907 +#: awx/api/serializers.py:906 msgid "Password required for new User." msgstr "新用户需要密码。" -#: awx/api/serializers.py:992 +#: awx/api/serializers.py:991 #, python-format msgid "Unable to change %s on user managed by LDAP." msgstr "无法对 LDAP 管理的用户更改 %s。" -#: awx/api/serializers.py:1088 +#: awx/api/serializers.py:1087 msgid "Must be a simple space-separated string with allowed scopes {}." msgstr "必须是一个使用允许范围 {} 的以空格分隔的简单字符串。" -#: awx/api/serializers.py:1186 +#: awx/api/serializers.py:1185 msgid "Authorization Grant Type" msgstr "授权授予类型" -#: awx/api/serializers.py:1188 awx/main/credential_plugins/azure_kv.py:30 -#: awx/main/models/credential/__init__.py:960 +#: awx/api/serializers.py:1187 awx/main/credential_plugins/azure_kv.py:30 +#: awx/main/models/credential/__init__.py:950 msgid "Client Secret" msgstr "客户端机密" -#: awx/api/serializers.py:1191 +#: awx/api/serializers.py:1190 msgid "Client Type" msgstr "客户端类型" -#: awx/api/serializers.py:1194 +#: awx/api/serializers.py:1193 msgid "Redirect URIs" msgstr "重定向 URI" -#: awx/api/serializers.py:1197 +#: awx/api/serializers.py:1196 msgid "Skip Authorization" msgstr "跳过授权" @@ -294,1093 +301,1120 @@ msgstr "跳过授权" msgid "Cannot change max_hosts." msgstr "无法更改 max_hosts。" -#: awx/api/serializers.py:1336 +#: awx/api/serializers.py:1334 +#, python-brace-format +msgid "Cannot change local_path for {scm_type}-based projects" +msgstr "无法为基于 {scm_type} 的项目更改 local_path" + +#: awx/api/serializers.py:1338 msgid "This path is already being used by another manual project." msgstr "此路径已经被另一个手动项目使用。" -#: awx/api/serializers.py:1338 +#: awx/api/serializers.py:1340 +msgid "SCM branch cannot be used with archive projects." +msgstr "SCM 分支不能用于存档项目。" + +#: awx/api/serializers.py:1342 msgid "SCM refspec can only be used with git projects." msgstr "SCM refspec 只能用于 git 项目。" -#: awx/api/serializers.py:1415 +#: awx/api/serializers.py:1419 msgid "" "One or more job templates depend on branch override behavior for this " "project (ids: {})." msgstr "一个或多个作业模板依赖于此项目的分支覆写行为(ids:{})。" -#: awx/api/serializers.py:1422 +#: awx/api/serializers.py:1426 msgid "Update options must be set to false for manual projects." msgstr "手动项目必须将更新选项设置为 false。" -#: awx/api/serializers.py:1428 +#: awx/api/serializers.py:1432 msgid "Array of playbooks available within this project." msgstr "此项目中可用的 playbook 数组。" -#: awx/api/serializers.py:1447 +#: awx/api/serializers.py:1451 msgid "" "Array of inventory files and directories available within this project, not " "comprehensive." msgstr "此项目中可用的清单文件和目录数组,不全面。" -#: awx/api/serializers.py:1495 awx/api/serializers.py:3048 -#: awx/api/serializers.py:3260 +#: awx/api/serializers.py:1499 awx/api/serializers.py:3088 +#: awx/api/serializers.py:3300 msgid "A count of hosts uniquely assigned to each status." msgstr "分配给每个状态的唯一主机数量。" -#: awx/api/serializers.py:1498 awx/api/serializers.py:3051 +#: awx/api/serializers.py:1502 awx/api/serializers.py:3091 msgid "A count of all plays and tasks for the job run." msgstr "作业运行中的所有 play 和作业数量。" -#: awx/api/serializers.py:1625 +#: awx/api/serializers.py:1629 msgid "Smart inventories must specify host_filter" msgstr "智能清单必须指定 host_filter" -#: awx/api/serializers.py:1713 +#: awx/api/serializers.py:1721 #, python-format msgid "Invalid port specification: %s" msgstr "无效的端口规格:%s" -#: awx/api/serializers.py:1724 +#: awx/api/serializers.py:1732 msgid "Cannot create Host for Smart Inventory" msgstr "无法为智能清单创建主机" -#: awx/api/serializers.py:1808 +#: awx/api/serializers.py:1750 +msgid "A Group with that name already exists." +msgstr "有这个名称的组已存在。" + +#: awx/api/serializers.py:1821 +msgid "A Host with that name already exists." +msgstr "具有这个名称的主机已存在。" + +#: awx/api/serializers.py:1826 msgid "Invalid group name." msgstr "无效的组名称。" -#: awx/api/serializers.py:1813 +#: awx/api/serializers.py:1831 msgid "Cannot create Group for Smart Inventory" msgstr "无法为智能清单创建组" -#: awx/api/serializers.py:1888 +#: awx/api/serializers.py:1906 msgid "" "Script must begin with a hashbang sequence: i.e.... #!/usr/bin/env python" msgstr "脚本必须以 hashbang 序列开头:即... #!/usr/bin/env python" -#: awx/api/serializers.py:1917 +#: awx/api/serializers.py:1935 msgid "Cloud credential to use for inventory updates." msgstr "用于库存更新的云凭证。" -#: awx/api/serializers.py:1938 +#: awx/api/serializers.py:1956 msgid "`{}` is a prohibited environment variable" msgstr "`{}` 是禁止的环境变量" -#: awx/api/serializers.py:1949 +#: awx/api/serializers.py:1967 msgid "If 'source' is 'custom', 'source_script' must be provided." msgstr "如果 'source' 是 'custom',则必须提供 'source_script'。" -#: awx/api/serializers.py:1955 +#: awx/api/serializers.py:1973 msgid "Must provide an inventory." msgstr "必须提供清单。" -#: awx/api/serializers.py:1959 +#: awx/api/serializers.py:1977 msgid "" "The 'source_script' does not belong to the same organization as the " "inventory." msgstr "'source_script' 与清单不属于同一机构。" -#: awx/api/serializers.py:1961 +#: awx/api/serializers.py:1979 msgid "'source_script' doesn't exist." msgstr "'source_script' 不存在。" -#: awx/api/serializers.py:2063 +#: awx/api/serializers.py:2081 msgid "Cannot use manual project for SCM-based inventory." msgstr "无法在基于 SCM 的清单中使用手动项目。" -#: awx/api/serializers.py:2068 +#: awx/api/serializers.py:2086 msgid "Setting not compatible with existing schedules." msgstr "设置与现有计划不兼容。" -#: awx/api/serializers.py:2073 +#: awx/api/serializers.py:2091 msgid "Cannot create Inventory Source for Smart Inventory" msgstr "无法为智能清单创建清单源" -#: awx/api/serializers.py:2121 +#: awx/api/serializers.py:2139 msgid "Project required for scm type sources." msgstr "scm 类型源所需的项目。" -#: awx/api/serializers.py:2130 +#: awx/api/serializers.py:2148 #, python-format msgid "Cannot set %s if not SCM type." msgstr "如果不是 SCM 类型,则无法设置 %s。" -#: awx/api/serializers.py:2200 +#: awx/api/serializers.py:2218 msgid "The project used for this job." msgstr "用于此作业的项目。" -#: awx/api/serializers.py:2455 +#: awx/api/serializers.py:2474 msgid "Modifications not allowed for managed credential types" msgstr "不允许对受管凭证类型进行修改" -#: awx/api/serializers.py:2467 +#: awx/api/serializers.py:2486 msgid "" "Modifications to inputs are not allowed for credential types that are in use" msgstr "对于正在使用的凭证类型,不允许对输入进行修改" -#: awx/api/serializers.py:2472 +#: awx/api/serializers.py:2491 #, python-format msgid "Must be 'cloud' or 'net', not %s" msgstr "必须为 'cloud' 或 'net',不能为 %s" -#: awx/api/serializers.py:2478 +#: awx/api/serializers.py:2497 msgid "'ask_at_runtime' is not supported for custom credentials." msgstr "自定义凭证不支持 'ask_at_runtime'。" -#: awx/api/serializers.py:2526 +#: awx/api/serializers.py:2546 msgid "Credential Type" msgstr "凭证类型" -#: awx/api/serializers.py:2607 +#: awx/api/serializers.py:2610 +msgid "Modifications not allowed for managed credentials" +msgstr "不允许对受管凭证进行修改" + +#: awx/api/serializers.py:2628 awx/api/serializers.py:2702 +msgid "Galaxy credentials must be owned by an Organization." +msgstr "Galaxy 凭证必须属于机构。" + +#: awx/api/serializers.py:2645 msgid "" "You cannot change the credential type of the credential, as it may break the " "functionality of the resources using it." msgstr "您无法更改凭证的凭证类型,因为它可能会破坏使用该凭证的资源的功能。" -#: awx/api/serializers.py:2619 +#: awx/api/serializers.py:2657 msgid "" "Write-only field used to add user to owner role. If provided, do not give " "either team or organization. Only valid for creation." msgstr "用于将用户添加到所有者角色的只写字段。如果提供,则不给出团队或机构。只在创建时有效。" -#: awx/api/serializers.py:2624 +#: awx/api/serializers.py:2662 msgid "" "Write-only field used to add team to owner role. If provided, do not give " "either user or organization. Only valid for creation." msgstr "用于将团队添加到所有者角色的只写字段。如果提供,则不给出用户或机构。只在创建时有效。" -#: awx/api/serializers.py:2629 +#: awx/api/serializers.py:2667 msgid "" "Inherit permissions from organization roles. If provided on creation, do not " "give either user or team." msgstr "从机构角色继承权限。如果在创建时提供,则不给出用户或团队。" -#: awx/api/serializers.py:2645 +#: awx/api/serializers.py:2684 msgid "Missing 'user', 'team', or 'organization'." msgstr "缺少 'user' 、'team' 或 'organization'。" -#: awx/api/serializers.py:2662 +#: awx/api/serializers.py:2689 +msgid "" +"Only one of 'user', 'team', or 'organization' should be provided, received " +"{} fields." +msgstr "应该只提供 'user'、'team' 或 'organization' 中的一个,接收到 {} 字段。" + +#: awx/api/serializers.py:2717 msgid "" "Credential organization must be set and match before assigning to a team" msgstr "在分配给团队之前,必须设置凭证机构并匹配" -#: awx/api/serializers.py:2793 +#: awx/api/serializers.py:2843 msgid "This field is required." msgstr "此字段是必需的。" -#: awx/api/serializers.py:2802 +#: awx/api/serializers.py:2852 msgid "Playbook not found for project." msgstr "未找到用于项目的 playbook。" -#: awx/api/serializers.py:2804 +#: awx/api/serializers.py:2854 msgid "Must select playbook for project." msgstr "必须为项目选择 playbook。" -#: awx/api/serializers.py:2806 awx/api/serializers.py:2808 +#: awx/api/serializers.py:2856 awx/api/serializers.py:2858 msgid "Project does not allow overriding branch." msgstr "项目不允许覆写分支。" -#: awx/api/serializers.py:2845 +#: awx/api/serializers.py:2895 msgid "Must be a Personal Access Token." msgstr "必须是一个个人访问令牌。" -#: awx/api/serializers.py:2848 +#: awx/api/serializers.py:2898 msgid "Must match the selected webhook service." msgstr "必须与所选 Webhook 服务匹配。" -#: awx/api/serializers.py:2919 +#: awx/api/serializers.py:2969 msgid "Cannot enable provisioning callback without an inventory set." msgstr "无法在没有清单集的情况下启用部署回调。" -#: awx/api/serializers.py:2922 +#: awx/api/serializers.py:2972 msgid "Must either set a default value or ask to prompt on launch." msgstr "必须设置默认值或要求启动时提示。" -#: awx/api/serializers.py:2924 awx/main/models/jobs.py:299 +#: awx/api/serializers.py:2974 awx/main/models/jobs.py:299 msgid "Job Templates must have a project assigned." msgstr "作业模板必须分配有一个项目。" -#: awx/api/serializers.py:3092 +#: awx/api/serializers.py:3132 msgid "No change to job limit" msgstr "作业限制没有发生改变" -#: awx/api/serializers.py:3093 +#: awx/api/serializers.py:3133 msgid "All failed and unreachable hosts" msgstr "所有失败且无法访问的主机" -#: awx/api/serializers.py:3108 +#: awx/api/serializers.py:3148 msgid "Missing passwords needed to start: {}" msgstr "缺少启动时所需的密码:{}" -#: awx/api/serializers.py:3127 +#: awx/api/serializers.py:3167 msgid "Relaunch by host status not available until job finishes running." msgstr "在作业结束运行前,按主机状态重新启动不可用。" -#: awx/api/serializers.py:3141 +#: awx/api/serializers.py:3181 msgid "Job Template Project is missing or undefined." msgstr "作业模板项目缺失或未定义。" -#: awx/api/serializers.py:3143 +#: awx/api/serializers.py:3183 msgid "Job Template Inventory is missing or undefined." msgstr "作业模板清单缺失或未定义。" -#: awx/api/serializers.py:3181 +#: awx/api/serializers.py:3221 msgid "Unknown, job may have been ran before launch configurations were saved." msgstr "未知,在保存启动配置前作业可能已经运行。" -#: awx/api/serializers.py:3252 awx/main/tasks.py:2800 awx/main/tasks.py:2818 +#: awx/api/serializers.py:3292 awx/main/tasks.py:2923 awx/main/tasks.py:2941 msgid "{} are prohibited from use in ad hoc commands." msgstr "{} 被禁止在临时命令中使用。" -#: awx/api/serializers.py:3340 awx/api/views/__init__.py:4243 +#: awx/api/serializers.py:3380 awx/api/views/__init__.py:4208 #, python-brace-format msgid "" "Standard Output too large to display ({text_size} bytes), only download " "supported for sizes over {supported_size} bytes." msgstr "标准输出太大,无法显示({text_size} 字节),超过 {supported_size} 字节的大小只支持下载。" -#: awx/api/serializers.py:3653 +#: awx/api/serializers.py:3699 msgid "Provided variable {} has no database value to replace with." msgstr "提供的变量 {} 没有要替换的数据库值。" -#: awx/api/serializers.py:3671 +#: awx/api/serializers.py:3717 msgid "\"$encrypted$ is a reserved keyword, may not be used for {}.\"" msgstr "\"$encrypted$ 是一个保留的关键字,可能不能用于 {}\"" -#: awx/api/serializers.py:4078 +#: awx/api/serializers.py:4124 msgid "A project is required to run a job." msgstr "运行一个作业时需要一个项目。" -#: awx/api/serializers.py:4080 +#: awx/api/serializers.py:4126 msgid "Missing a revision to run due to failed project update." msgstr "由于项目更新失败,缺少运行的修订版本。" -#: awx/api/serializers.py:4084 +#: awx/api/serializers.py:4130 msgid "The inventory associated with this Job Template is being deleted." msgstr "与此作业模板关联的清单将被删除。" -#: awx/api/serializers.py:4086 awx/api/serializers.py:4202 +#: awx/api/serializers.py:4132 awx/api/serializers.py:4252 msgid "The provided inventory is being deleted." msgstr "提供的清单将被删除。" -#: awx/api/serializers.py:4094 +#: awx/api/serializers.py:4140 msgid "Cannot assign multiple {} credentials." msgstr "无法分配多个 {} 凭证。" -#: awx/api/serializers.py:4098 +#: awx/api/serializers.py:4145 msgid "Cannot assign a Credential of kind `{}`" msgstr "无法分配类型为 `{}` 的凭证" -#: awx/api/serializers.py:4111 +#: awx/api/serializers.py:4158 msgid "" "Removing {} credential at launch time without replacement is not supported. " "Provided list lacked credential(s): {}." msgstr "不支持在不替换的情况下在启动时删除 {} 凭证。提供的列表缺少凭证:{}。" -#: awx/api/serializers.py:4200 +#: awx/api/serializers.py:4250 msgid "The inventory associated with this Workflow is being deleted." msgstr "与此 Workflow 关联的清单将被删除。" -#: awx/api/serializers.py:4271 +#: awx/api/serializers.py:4321 msgid "Message type '{}' invalid, must be either 'message' or 'body'" msgstr "消息类型 '{}' 无效,必须是 'message' 或 'body'" -#: awx/api/serializers.py:4277 +#: awx/api/serializers.py:4327 msgid "Expected string for '{}', found {}, " msgstr "'{}' 的预期字符串,找到 {}," -#: awx/api/serializers.py:4281 +#: awx/api/serializers.py:4331 msgid "Messages cannot contain newlines (found newline in {} event)" msgstr "消息不能包含新行(在 {} 事件中找到新行)" -#: awx/api/serializers.py:4287 +#: awx/api/serializers.py:4337 msgid "Expected dict for 'messages' field, found {}" msgstr "'messages' 字段的预期字典,找到 {}" -#: awx/api/serializers.py:4291 +#: awx/api/serializers.py:4341 msgid "" "Event '{}' invalid, must be one of 'started', 'success', 'error', or " "'workflow_approval'" msgstr "事件 '{}' 无效,必须是 'started'、'success'、'error' 或 'workflow_approval' 之一" -#: awx/api/serializers.py:4297 +#: awx/api/serializers.py:4347 msgid "Expected dict for event '{}', found {}" msgstr "事件 '{}' 的预期字典,找到 {}" -#: awx/api/serializers.py:4302 +#: awx/api/serializers.py:4352 msgid "" "Workflow Approval event '{}' invalid, must be one of 'running', 'approved', " "'timed_out', or 'denied'" msgstr "工作流批准事件 '{}' 无效,必须是 'running'、'approved'、'timed_out' 或 'denied' 之一。" -#: awx/api/serializers.py:4309 +#: awx/api/serializers.py:4359 msgid "Expected dict for workflow approval event '{}', found {}" msgstr "工作流批准事件 '{}' 的预期字典,找到 {}" -#: awx/api/serializers.py:4336 +#: awx/api/serializers.py:4386 msgid "Unable to render message '{}': {}" msgstr "无法呈现消息 '{}':{}" -#: awx/api/serializers.py:4338 +#: awx/api/serializers.py:4388 msgid "Field '{}' unavailable" msgstr "字段 '{}' 不可用" -#: awx/api/serializers.py:4340 +#: awx/api/serializers.py:4390 msgid "Security error due to field '{}'" msgstr "因为字段 '{}' 导致安全错误" -#: awx/api/serializers.py:4360 +#: awx/api/serializers.py:4410 msgid "Webhook body for '{}' should be a json dictionary. Found type '{}'." msgstr "'{}' 的 Webhook 正文应该是 json 字典。找到类型 '{}'。" -#: awx/api/serializers.py:4363 +#: awx/api/serializers.py:4413 msgid "Webhook body for '{}' is not a valid json dictionary ({})." msgstr "'{}' 的 Webhook 正文不是有效的 json 字典 ({})。" -#: awx/api/serializers.py:4381 +#: awx/api/serializers.py:4431 msgid "" "Missing required fields for Notification Configuration: notification_type" msgstr "通知配置缺少所需字段:notification_type" -#: awx/api/serializers.py:4408 +#: awx/api/serializers.py:4458 msgid "No values specified for field '{}'" msgstr "没有为字段 '{}' 指定值" -#: awx/api/serializers.py:4413 +#: awx/api/serializers.py:4463 msgid "HTTP method must be either 'POST' or 'PUT'." msgstr "HTTP 方法必须是 'POST' 或 'PUT'。" -#: awx/api/serializers.py:4415 +#: awx/api/serializers.py:4465 msgid "Missing required fields for Notification Configuration: {}." msgstr "通知配置缺少所需字段:{}。" -#: awx/api/serializers.py:4418 +#: awx/api/serializers.py:4468 msgid "Configuration field '{}' incorrect type, expected {}." msgstr "配置字段 '{}' 类型错误,预期为 {}。" -#: awx/api/serializers.py:4435 +#: awx/api/serializers.py:4485 msgid "Notification body" msgstr "通知正文" -#: awx/api/serializers.py:4515 +#: awx/api/serializers.py:4565 msgid "" "Valid DTSTART required in rrule. Value should start with: DTSTART:" "YYYYMMDDTHHMMSSZ" msgstr "rrule 中需要有效的 DTSTART。值应该以 DTSTART:YYYMMDDTHHMMSSZ 开头" -#: awx/api/serializers.py:4517 +#: awx/api/serializers.py:4567 msgid "" "DTSTART cannot be a naive datetime. Specify ;TZINFO= or YYYYMMDDTHHMMSSZZ." msgstr "DTSTART 不能是一个不带时区的日期时间。指定 ;TZINFO= 或 YYYMMDDTHHMMSSZ。" -#: awx/api/serializers.py:4519 +#: awx/api/serializers.py:4569 msgid "Multiple DTSTART is not supported." msgstr "不支持多个 DTSTART。" -#: awx/api/serializers.py:4521 +#: awx/api/serializers.py:4571 msgid "RRULE required in rrule." msgstr "rrule 中需要 RRULE。" -#: awx/api/serializers.py:4523 +#: awx/api/serializers.py:4573 msgid "Multiple RRULE is not supported." msgstr "不支持多个 RRULE。" -#: awx/api/serializers.py:4525 +#: awx/api/serializers.py:4575 msgid "INTERVAL required in rrule." msgstr "rrule 需要 INTERVAL。" -#: awx/api/serializers.py:4527 +#: awx/api/serializers.py:4577 msgid "SECONDLY is not supported." msgstr "不支持 SECONDLY。" -#: awx/api/serializers.py:4529 +#: awx/api/serializers.py:4579 msgid "Multiple BYMONTHDAYs not supported." msgstr "不支持多个 BYMONTHDAY。" -#: awx/api/serializers.py:4531 +#: awx/api/serializers.py:4581 msgid "Multiple BYMONTHs not supported." msgstr "不支持多个 BYMONTH。" -#: awx/api/serializers.py:4533 +#: awx/api/serializers.py:4583 msgid "BYDAY with numeric prefix not supported." msgstr "不支持带有数字前缀的 BYDAY。" -#: awx/api/serializers.py:4535 +#: awx/api/serializers.py:4585 msgid "BYYEARDAY not supported." msgstr "不支持 BYYEARDAY。" -#: awx/api/serializers.py:4537 +#: awx/api/serializers.py:4587 msgid "BYWEEKNO not supported." msgstr "不支持 BYWEEKNO。" -#: awx/api/serializers.py:4539 +#: awx/api/serializers.py:4589 msgid "RRULE may not contain both COUNT and UNTIL" msgstr "RRULE 可能不包含 COUNT 和 UNTIL" -#: awx/api/serializers.py:4543 +#: awx/api/serializers.py:4593 msgid "COUNT > 999 is unsupported." msgstr "不支持 COUNT > 999。" -#: awx/api/serializers.py:4549 +#: awx/api/serializers.py:4599 msgid "rrule parsing failed validation: {}" msgstr "rrule 解析失败验证:{}" -#: awx/api/serializers.py:4611 +#: awx/api/serializers.py:4661 msgid "Inventory Source must be a cloud resource." msgstr "清单源必须是云资源。" -#: awx/api/serializers.py:4613 +#: awx/api/serializers.py:4663 msgid "Manual Project cannot have a schedule set." msgstr "手动项目不能有计划集。" -#: awx/api/serializers.py:4616 +#: awx/api/serializers.py:4666 msgid "" "Inventory sources with `update_on_project_update` cannot be scheduled. " "Schedule its source project `{}` instead." msgstr "无法调度带有 `update_on_project_update` 的清单源。改为调度其源项目 `{}`。" -#: awx/api/serializers.py:4626 +#: awx/api/serializers.py:4676 msgid "" "Count of jobs in the running or waiting state that are targeted for this " "instance" msgstr "处于运行状态或等待状态的针对此实例的作业计数" -#: awx/api/serializers.py:4631 +#: awx/api/serializers.py:4681 msgid "Count of all jobs that target this instance" msgstr "所有针对此实例的作业计数" -#: awx/api/serializers.py:4664 +#: awx/api/serializers.py:4716 msgid "" "Count of jobs in the running or waiting state that are targeted for this " "instance group" msgstr "处于运行状态或等待状态的针对此实例组的作业计数" -#: awx/api/serializers.py:4669 +#: awx/api/serializers.py:4721 msgid "Count of all jobs that target this instance group" msgstr "所有针对此实例组的作业计数" -#: awx/api/serializers.py:4674 +#: awx/api/serializers.py:4726 msgid "Indicates whether instance group controls any other group" msgstr "指明实例组是否控制任何其他组" -#: awx/api/serializers.py:4678 +#: awx/api/serializers.py:4730 msgid "" "Indicates whether instances in this group are isolated.Isolated groups have " "a designated controller group." msgstr "指明此组中的实例是否被隔离。隔离的组具有指定的控制器组。" -#: awx/api/serializers.py:4683 +#: awx/api/serializers.py:4735 msgid "" "Indicates whether instances in this group are containerized.Containerized " "groups have a designated Openshift or Kubernetes cluster." msgstr "指明此组中的实例是否容器化。容器化的组具有指定的 Openshift 或 Kubernetes 集群。" -#: awx/api/serializers.py:4691 +#: awx/api/serializers.py:4743 msgid "Policy Instance Percentage" msgstr "策略实例百分比" -#: awx/api/serializers.py:4692 +#: awx/api/serializers.py:4744 msgid "" "Minimum percentage of all instances that will be automatically assigned to " "this group when new instances come online." msgstr "新实例上线时将自动分配给此组的所有实例的最小百分比。" -#: awx/api/serializers.py:4697 +#: awx/api/serializers.py:4749 msgid "Policy Instance Minimum" msgstr "策略实例最小值" -#: awx/api/serializers.py:4698 +#: awx/api/serializers.py:4750 msgid "" "Static minimum number of Instances that will be automatically assign to this " "group when new instances come online." msgstr "新实例上线时自动分配给此组的静态最小实例数量。" -#: awx/api/serializers.py:4703 +#: awx/api/serializers.py:4755 msgid "Policy Instance List" msgstr "策略实例列表" -#: awx/api/serializers.py:4704 +#: awx/api/serializers.py:4756 msgid "List of exact-match Instances that will be assigned to this group" msgstr "将分配给此组的完全匹配实例的列表" -#: awx/api/serializers.py:4730 +#: awx/api/serializers.py:4782 msgid "Duplicate entry {}." msgstr "重复条目 {}。" -#: awx/api/serializers.py:4732 +#: awx/api/serializers.py:4784 msgid "{} is not a valid hostname of an existing instance." msgstr "{} 不是现有实例的有效主机名。" -#: awx/api/serializers.py:4734 awx/api/views/mixin.py:98 +#: awx/api/serializers.py:4786 awx/api/views/mixin.py:98 msgid "" "Isolated instances may not be added or removed from instances groups via the " "API." msgstr "可能无法通过 API 为实例组添加或删除隔离的实例。" -#: awx/api/serializers.py:4736 awx/api/views/mixin.py:102 +#: awx/api/serializers.py:4788 awx/api/views/mixin.py:102 msgid "Isolated instance group membership may not be managed via the API." msgstr "可能无法通过 API 管理隔离的实例组成员资格。" -#: awx/api/serializers.py:4738 awx/api/serializers.py:4743 -#: awx/api/serializers.py:4748 +#: awx/api/serializers.py:4790 awx/api/serializers.py:4795 +#: awx/api/serializers.py:4800 msgid "Containerized instances may not be managed via the API" msgstr "可能无法通过 API 管理容器化实例" -#: awx/api/serializers.py:4753 +#: awx/api/serializers.py:4805 msgid "tower instance group name may not be changed." msgstr "可能不会更改 tower 实例组名称。" -#: awx/api/serializers.py:4758 +#: awx/api/serializers.py:4810 msgid "Only Kubernetes credentials can be associated with an Instance Group" msgstr "只有 Kubernetes 凭证可以与实例组关联" -#: awx/api/serializers.py:4797 +#: awx/api/serializers.py:4849 msgid "" "When present, shows the field name of the role or relationship that changed." msgstr "存在时,显示更改的角色或关系的字段名称。" -#: awx/api/serializers.py:4799 +#: awx/api/serializers.py:4851 msgid "" "When present, shows the model on which the role or relationship was defined." msgstr "存在时,显示定义角色或关系的模型。" -#: awx/api/serializers.py:4832 +#: awx/api/serializers.py:4884 msgid "" "A summary of the new and changed values when an object is created, updated, " "or deleted" msgstr "创建、更新或删除对象时新值和更改值的概述" -#: awx/api/serializers.py:4834 +#: awx/api/serializers.py:4886 msgid "" "For create, update, and delete events this is the object type that was " "affected. For associate and disassociate events this is the object type " "associated or disassociated with object2." msgstr "对于创建、更新和删除事件,这是受影响的对象类型。对于关联和解除关联事件,这是与对象 2 关联或解除关联的对象类型。" -#: awx/api/serializers.py:4837 +#: awx/api/serializers.py:4889 msgid "" "Unpopulated for create, update, and delete events. For associate and " "disassociate events this is the object type that object1 is being associated " "with." msgstr "创建、更新和删除事件未填充。对于关联和解除关联事件,这是对象 1 要关联的对象类型。" -#: awx/api/serializers.py:4840 +#: awx/api/serializers.py:4892 msgid "The action taken with respect to the given object(s)." msgstr "对给定对象执行的操作。" -#: awx/api/views/__init__.py:181 +#: awx/api/views/__init__.py:186 +msgid "Not found." +msgstr "未找到。" + +#: awx/api/views/__init__.py:194 msgid "Dashboard" msgstr "仪表板" -#: awx/api/views/__init__.py:271 +#: awx/api/views/__init__.py:284 msgid "Dashboard Jobs Graphs" msgstr "仪表板作业图形" -#: awx/api/views/__init__.py:307 +#: awx/api/views/__init__.py:323 #, python-format msgid "Unknown period \"%s\"" msgstr "未知时期 \"%s\"" -#: awx/api/views/__init__.py:321 +#: awx/api/views/__init__.py:337 msgid "Instances" msgstr "实例" -#: awx/api/views/__init__.py:329 +#: awx/api/views/__init__.py:345 msgid "Instance Detail" msgstr "实例详情" -#: awx/api/views/__init__.py:346 +#: awx/api/views/__init__.py:362 msgid "Instance Jobs" msgstr "实例作业" -#: awx/api/views/__init__.py:360 +#: awx/api/views/__init__.py:376 msgid "Instance's Instance Groups" msgstr "实例的实例组" -#: awx/api/views/__init__.py:369 +#: awx/api/views/__init__.py:385 msgid "Instance Groups" msgstr "实例组" -#: awx/api/views/__init__.py:377 +#: awx/api/views/__init__.py:393 msgid "Instance Group Detail" msgstr "实例组详情" -#: awx/api/views/__init__.py:392 +#: awx/api/views/__init__.py:408 msgid "Isolated Groups can not be removed from the API" msgstr "无法从 API 中删除隔离的组" -#: awx/api/views/__init__.py:394 +#: awx/api/views/__init__.py:410 msgid "" "Instance Groups acting as a controller for an Isolated Group can not be " "removed from the API" msgstr "无法从 API 中删除作为隔离组控制器的实例组" -#: awx/api/views/__init__.py:400 +#: awx/api/views/__init__.py:416 msgid "Instance Group Running Jobs" msgstr "实例组的运行作业" -#: awx/api/views/__init__.py:409 +#: awx/api/views/__init__.py:425 msgid "Instance Group's Instances" msgstr "实例组的实例" -#: awx/api/views/__init__.py:419 +#: awx/api/views/__init__.py:435 msgid "Schedules" msgstr "计划" -#: awx/api/views/__init__.py:433 +#: awx/api/views/__init__.py:449 msgid "Schedule Recurrence Rule Preview" msgstr "计划重复规则预览" -#: awx/api/views/__init__.py:480 +#: awx/api/views/__init__.py:496 msgid "Cannot assign credential when related template is null." msgstr "当相关模板为 null 时无法分配凭证。" -#: awx/api/views/__init__.py:485 +#: awx/api/views/__init__.py:501 msgid "Related template cannot accept {} on launch." msgstr "相关的模板无法在启动时接受 {}。" -#: awx/api/views/__init__.py:487 +#: awx/api/views/__init__.py:503 msgid "" "Credential that requires user input on launch cannot be used in saved launch " "configuration." msgstr "在启动时需要用户输入的凭证不能用于保存的启动配置。" -#: awx/api/views/__init__.py:493 +#: awx/api/views/__init__.py:509 msgid "Related template is not configured to accept credentials on launch." msgstr "相关的模板未配置为在启动时接受凭证。" -#: awx/api/views/__init__.py:495 +#: awx/api/views/__init__.py:511 #, python-brace-format msgid "" "This launch configuration already provides a {credential_type} credential." msgstr "此启动配置已经提供了 {credential_type} 凭证。" -#: awx/api/views/__init__.py:498 +#: awx/api/views/__init__.py:514 #, python-brace-format msgid "Related template already uses {credential_type} credential." msgstr "相关的模板已使用 {credential_type} 凭证。" -#: awx/api/views/__init__.py:516 +#: awx/api/views/__init__.py:532 msgid "Schedule Jobs List" msgstr "调度作业列表" -#: awx/api/views/__init__.py:600 awx/api/views/__init__.py:4452 +#: awx/api/views/__init__.py:616 awx/api/views/__init__.py:4419 msgid "" "You cannot assign an Organization participation role as a child role for a " "Team." msgstr "您不能分配机构参与角色作为团队的子角色。" -#: awx/api/views/__init__.py:604 awx/api/views/__init__.py:4466 +#: awx/api/views/__init__.py:620 awx/api/views/__init__.py:4433 msgid "You cannot grant system-level permissions to a team." msgstr "您不能为团队授予系统级别权限。" -#: awx/api/views/__init__.py:611 awx/api/views/__init__.py:4458 +#: awx/api/views/__init__.py:627 awx/api/views/__init__.py:4425 msgid "" "You cannot grant credential access to a team when the Organization field " "isn't set, or belongs to a different organization" msgstr "您不能在机构字段未设置或属于不同机构时为团队授予凭证访问权限" -#: awx/api/views/__init__.py:713 +#: awx/api/views/__init__.py:729 msgid "Project Schedules" msgstr "项目计划" -#: awx/api/views/__init__.py:724 +#: awx/api/views/__init__.py:740 msgid "Project SCM Inventory Sources" msgstr "项目 SCM 清单源" -#: awx/api/views/__init__.py:825 +#: awx/api/views/__init__.py:841 msgid "Project Update Events List" msgstr "项目更新事件列表" -#: awx/api/views/__init__.py:839 +#: awx/api/views/__init__.py:855 msgid "System Job Events List" msgstr "系统作业事件列表" -#: awx/api/views/__init__.py:873 +#: awx/api/views/__init__.py:889 msgid "Project Update SCM Inventory Updates" msgstr "项目更新 SCM 清单更新" -#: awx/api/views/__init__.py:918 +#: awx/api/views/__init__.py:934 msgid "Me" msgstr "我" -#: awx/api/views/__init__.py:927 +#: awx/api/views/__init__.py:943 msgid "OAuth 2 Applications" msgstr "OAuth 2 应用" -#: awx/api/views/__init__.py:936 +#: awx/api/views/__init__.py:952 msgid "OAuth 2 Application Detail" msgstr "OAuth 2 应用详情" -#: awx/api/views/__init__.py:949 +#: awx/api/views/__init__.py:965 msgid "OAuth 2 Application Tokens" msgstr "OAuth 2 应用令牌" -#: awx/api/views/__init__.py:971 +#: awx/api/views/__init__.py:987 msgid "OAuth2 Tokens" msgstr "OAuth2 令牌" -#: awx/api/views/__init__.py:980 +#: awx/api/views/__init__.py:996 msgid "OAuth2 User Tokens" msgstr "OAuth2 用户令牌" -#: awx/api/views/__init__.py:992 +#: awx/api/views/__init__.py:1008 msgid "OAuth2 User Authorized Access Tokens" msgstr "OAuth2 用户授权访问令牌" -#: awx/api/views/__init__.py:1007 +#: awx/api/views/__init__.py:1023 msgid "Organization OAuth2 Applications" msgstr "机构 OAuth2 应用" -#: awx/api/views/__init__.py:1019 +#: awx/api/views/__init__.py:1035 msgid "OAuth2 Personal Access Tokens" msgstr "OAuth2 个人访问令牌" -#: awx/api/views/__init__.py:1034 +#: awx/api/views/__init__.py:1050 msgid "OAuth Token Detail" msgstr "OAuth 令牌详情" -#: awx/api/views/__init__.py:1096 awx/api/views/__init__.py:4419 +#: awx/api/views/__init__.py:1112 awx/api/views/__init__.py:4386 msgid "" "You cannot grant credential access to a user not in the credentials' " "organization" msgstr "您不能为不在凭证机构中的用户授予凭证访问权限" -#: awx/api/views/__init__.py:1100 awx/api/views/__init__.py:4423 +#: awx/api/views/__init__.py:1116 awx/api/views/__init__.py:4390 msgid "You cannot grant private credential access to another user" msgstr "您不能为其他用户授予私有凭证访问权限" -#: awx/api/views/__init__.py:1198 +#: awx/api/views/__init__.py:1214 #, python-format msgid "Cannot change %s." msgstr "无法更改 %s。" -#: awx/api/views/__init__.py:1204 +#: awx/api/views/__init__.py:1220 msgid "Cannot delete user." msgstr "无法删除用户。" -#: awx/api/views/__init__.py:1228 +#: awx/api/views/__init__.py:1244 msgid "Deletion not allowed for managed credential types" msgstr "不允许删除受管凭证类型" -#: awx/api/views/__init__.py:1230 +#: awx/api/views/__init__.py:1246 msgid "Credential types that are in use cannot be deleted" msgstr "无法删除正在使用中的凭证类型" -#: awx/api/views/__init__.py:1381 +#: awx/api/views/__init__.py:1359 +msgid "Deletion not allowed for managed credentials" +msgstr "不允许删除受管凭证" + +#: awx/api/views/__init__.py:1404 msgid "External Credential Test" msgstr "外部凭证测试" -#: awx/api/views/__init__.py:1408 +#: awx/api/views/__init__.py:1439 msgid "Credential Input Source Detail" msgstr "凭证输入源详情" -#: awx/api/views/__init__.py:1416 awx/api/views/__init__.py:1424 +#: awx/api/views/__init__.py:1447 awx/api/views/__init__.py:1455 msgid "Credential Input Sources" msgstr "凭证输入源" -#: awx/api/views/__init__.py:1439 +#: awx/api/views/__init__.py:1470 msgid "External Credential Type Test" msgstr "外部凭证类型测试" -#: awx/api/views/__init__.py:1497 +#: awx/api/views/__init__.py:1536 msgid "The inventory for this host is already being deleted." msgstr "此主机的清单已经被删除。" -#: awx/api/views/__init__.py:1614 +#: awx/api/views/__init__.py:1653 msgid "SSLError while trying to connect to {}" msgstr "尝试连接到 {} 时出现 SSLError" -#: awx/api/views/__init__.py:1616 +#: awx/api/views/__init__.py:1655 msgid "Request to {} timed out." msgstr "请求 {} 超时。" -#: awx/api/views/__init__.py:1618 +#: awx/api/views/__init__.py:1657 msgid "Unknown exception {} while trying to GET {}" msgstr "尝试 GET {} 时出现未知异常 {}" -#: awx/api/views/__init__.py:1622 +#: awx/api/views/__init__.py:1661 msgid "" "Unauthorized access. Please check your Insights Credential username and " "password." msgstr "未授权访问。请检查您的 Insights 用户名和密码。" -#: awx/api/views/__init__.py:1626 +#: awx/api/views/__init__.py:1665 msgid "" "Failed to access the Insights API at URL {}. Server responded with {} status " "code and message {}" msgstr "无法通过 URL {} 访问 Insights API。服务器以 {} 状态代码和消息 {} 作为响应" -#: awx/api/views/__init__.py:1635 +#: awx/api/views/__init__.py:1674 msgid "Expected JSON response from Insights at URL {} but instead got {}" msgstr "访问 URL {} 时来自 Insights 的预期 JSON 响应,但实际为 {}" -#: awx/api/views/__init__.py:1653 +#: awx/api/views/__init__.py:1692 msgid "Could not translate Insights system ID {} into an Insights platform ID." msgstr "无法将 Insights 系统 ID {} 转换为 Insights 平台 ID。" -#: awx/api/views/__init__.py:1695 +#: awx/api/views/__init__.py:1734 msgid "This host is not recognized as an Insights host." msgstr "此主机不被识别为 Insights 主机。" -#: awx/api/views/__init__.py:1703 +#: awx/api/views/__init__.py:1742 msgid "The Insights Credential for \"{}\" was not found." msgstr "未找到 \"{}\" 的 Insights 凭证。" -#: awx/api/views/__init__.py:1782 +#: awx/api/views/__init__.py:1821 msgid "Cyclical Group association." msgstr "周期性组关联。" -#: awx/api/views/__init__.py:1948 +#: awx/api/views/__init__.py:1987 msgid "Inventory subset argument must be a string." msgstr "清单子集参数必须是字符串。" -#: awx/api/views/__init__.py:1952 +#: awx/api/views/__init__.py:1991 msgid "Subset does not use any supported syntax." msgstr "子集未使用任何支持的语法。" -#: awx/api/views/__init__.py:2002 +#: awx/api/views/__init__.py:2041 msgid "Inventory Source List" msgstr "清单源列表" -#: awx/api/views/__init__.py:2014 +#: awx/api/views/__init__.py:2053 msgid "Inventory Sources Update" msgstr "清单源更新" -#: awx/api/views/__init__.py:2047 +#: awx/api/views/__init__.py:2086 msgid "Could not start because `can_update` returned False" msgstr "无法启动,因为 `can_update` 返回 False" -#: awx/api/views/__init__.py:2055 +#: awx/api/views/__init__.py:2094 msgid "No inventory sources to update." msgstr "没有需要更新的清单源。" -#: awx/api/views/__init__.py:2077 +#: awx/api/views/__init__.py:2116 msgid "Inventory Source Schedules" msgstr "清单源计划" -#: awx/api/views/__init__.py:2104 +#: awx/api/views/__init__.py:2143 msgid "Notification Templates can only be assigned when source is one of {}." msgstr "只有源是 {} 之一时才能分配通知模板。" -#: awx/api/views/__init__.py:2202 +#: awx/api/views/__init__.py:2241 msgid "Source already has credential assigned." msgstr "源已经分配有凭证。" -#: awx/api/views/__init__.py:2350 -msgid "'credentials' cannot be used in combination with 'extra_credentials'." -msgstr "'credentials' 无法与 'extra_credentials' 结合使用。" - -#: awx/api/views/__init__.py:2368 -msgid "Incorrect type. Expected a list received {}." -msgstr "类型不正确。预期为列表,收到的是 {}。" - -#: awx/api/views/__init__.py:2466 +#: awx/api/views/__init__.py:2457 msgid "Job Template Schedules" msgstr "作业模板计划" -#: awx/api/views/__init__.py:2515 +#: awx/api/views/__init__.py:2506 msgid "Field '{}' is missing from survey spec." msgstr "问卷调查规格中缺少字段 '{}'。" -#: awx/api/views/__init__.py:2517 +#: awx/api/views/__init__.py:2508 msgid "Expected {} for field '{}', received {} type." msgstr "字段 '{}' 预期为 {},收到的是 {} 类型。" -#: awx/api/views/__init__.py:2521 +#: awx/api/views/__init__.py:2512 msgid "'spec' doesn't contain any items." msgstr "'spec' 不包含任何项。" -#: awx/api/views/__init__.py:2535 +#: awx/api/views/__init__.py:2526 #, python-format msgid "Survey question %s is not a json object." msgstr "问卷调查问题 %s 不是 json 对象。" -#: awx/api/views/__init__.py:2538 +#: awx/api/views/__init__.py:2529 #, python-brace-format msgid "'{field_name}' missing from survey question {idx}" msgstr "问卷调查问题 {idx} 中缺少 '{field_name}'" -#: awx/api/views/__init__.py:2548 +#: awx/api/views/__init__.py:2539 #, python-brace-format msgid "'{field_name}' in survey question {idx} expected to be {type_label}." msgstr "问卷调查问题 {idx} 中的 '{field_name}' 预期为 {type_label}。" -#: awx/api/views/__init__.py:2552 +#: awx/api/views/__init__.py:2543 #, python-format msgid "'variable' '%(item)s' duplicated in survey question %(survey)s." msgstr "问卷调查问题 %(survey)s 中的 'variable' '%(item)s' 重复。" -#: awx/api/views/__init__.py:2562 +#: awx/api/views/__init__.py:2553 #, python-brace-format msgid "" "'{survey_item[type]}' in survey question {idx} is not one of " "'{allowed_types}' allowed question types." msgstr "问卷调查问题 {idx} 中的 '{survey_item[type]}' 不是 '{allowed_types}' 允许的问题类型之一。" -#: awx/api/views/__init__.py:2572 +#: awx/api/views/__init__.py:2563 #, python-brace-format msgid "" "Default value {survey_item[default]} in survey question {idx} expected to be " "{type_label}." msgstr "问卷调查问题 {idx} 中的默认值 {survey_item[default]} 预期为 {type_label}。" -#: awx/api/views/__init__.py:2582 +#: awx/api/views/__init__.py:2573 #, python-brace-format msgid "The {min_or_max} limit in survey question {idx} expected to be integer." msgstr "问卷调查问题 {idx} 中的 {min_or_max} 限制预期为整数。" -#: awx/api/views/__init__.py:2592 +#: awx/api/views/__init__.py:2583 #, python-brace-format msgid "Survey question {idx} of type {survey_item[type]} must specify choices." msgstr "类型为 {survey_item[type]} 的问卷调查问题 {idx} 必须指定选择。" -#: awx/api/views/__init__.py:2606 +#: awx/api/views/__init__.py:2597 msgid "Multiple Choice (Single Select) can only have one default value." msgstr "多项选择(单选)只能有一个默认值。" -#: awx/api/views/__init__.py:2610 +#: awx/api/views/__init__.py:2601 msgid "Default choice must be answered from the choices listed." msgstr "默认的选择必须从列出的选择中回答。" -#: awx/api/views/__init__.py:2619 +#: awx/api/views/__init__.py:2610 #, python-brace-format msgid "" "$encrypted$ is a reserved keyword for password question defaults, survey " "question {idx} is type {survey_item[type]}." msgstr "$encrypted$ 是密码问题默认值的保留关键字,问卷调查问题 {idx} 的类型是 {survey_item[type]}。" -#: awx/api/views/__init__.py:2633 +#: awx/api/views/__init__.py:2624 #, python-brace-format msgid "" "$encrypted$ is a reserved keyword, may not be used for new default in " "position {idx}." msgstr "$encrypted$ 是一个保留关键字,可能无法用于位置 {idx} 中的新默认值。" -#: awx/api/views/__init__.py:2705 +#: awx/api/views/__init__.py:2696 #, python-brace-format msgid "Cannot assign multiple {credential_type} credentials." msgstr "无法分配多个 {credential_type} 凭证。" -#: awx/api/views/__init__.py:2709 +#: awx/api/views/__init__.py:2700 msgid "Cannot assign a Credential of kind `{}`." msgstr "无法分配种类为 `{}` 的凭证。" -#: awx/api/views/__init__.py:2726 -msgid "Extra credentials must be network or cloud." -msgstr "额外凭证必须是网络或云。" - -#: awx/api/views/__init__.py:2748 +#: awx/api/views/__init__.py:2723 msgid "Maximum number of labels for {} reached." msgstr "已达到 {} 的最大标签数。" -#: awx/api/views/__init__.py:2871 +#: awx/api/views/__init__.py:2846 msgid "No matching host could be found!" msgstr "无法找到匹配的主机!" -#: awx/api/views/__init__.py:2874 +#: awx/api/views/__init__.py:2849 msgid "Multiple hosts matched the request!" msgstr "多个主机与请求匹配!" -#: awx/api/views/__init__.py:2879 +#: awx/api/views/__init__.py:2854 msgid "Cannot start automatically, user input required!" msgstr "无法自动启动,需要用户输入!" -#: awx/api/views/__init__.py:2887 +#: awx/api/views/__init__.py:2862 msgid "Host callback job already pending." msgstr "主机回调作业已经待处理。" -#: awx/api/views/__init__.py:2903 awx/api/views/__init__.py:3664 +#: awx/api/views/__init__.py:2878 awx/api/views/__init__.py:3629 msgid "Error starting job!" msgstr "启动作业出错!" -#: awx/api/views/__init__.py:3027 awx/api/views/__init__.py:3047 +#: awx/api/views/__init__.py:3002 awx/api/views/__init__.py:3022 msgid "Cycle detected." msgstr "检测到循环。" -#: awx/api/views/__init__.py:3039 +#: awx/api/views/__init__.py:3014 msgid "Relationship not allowed." msgstr "不允许使用关系。" -#: awx/api/views/__init__.py:3268 +#: awx/api/views/__init__.py:3243 msgid "Cannot relaunch slice workflow job orphaned from job template." msgstr "无法重新启动从作业模板中孤立的分片工作流作业。" -#: awx/api/views/__init__.py:3270 +#: awx/api/views/__init__.py:3245 msgid "Cannot relaunch sliced workflow job after slice count has changed." msgstr "分片计数发生变化后无法重新启动分片工作流作业。" -#: awx/api/views/__init__.py:3303 +#: awx/api/views/__init__.py:3278 msgid "Workflow Job Template Schedules" msgstr "工作流作业模板计划" -#: awx/api/views/__init__.py:3446 awx/api/views/__init__.py:4087 +#: awx/api/views/__init__.py:3421 awx/api/views/__init__.py:4052 msgid "Superuser privileges needed." msgstr "需要超级用户权限。" -#: awx/api/views/__init__.py:3479 +#: awx/api/views/__init__.py:3454 msgid "System Job Template Schedules" msgstr "系统作业模板计划" -#: awx/api/views/__init__.py:3647 +#: awx/api/views/__init__.py:3612 #, python-brace-format msgid "Wait until job finishes before retrying on {status_value} hosts." msgstr "在 {status_value} 主机上重试前等待作业完成。" -#: awx/api/views/__init__.py:3652 +#: awx/api/views/__init__.py:3617 #, python-brace-format msgid "Cannot retry on {status_value} hosts, playbook stats not available." msgstr "无法在 {status_value} 主机上重试,playbook 统计数据不可用。" -#: awx/api/views/__init__.py:3657 +#: awx/api/views/__init__.py:3622 #, python-brace-format msgid "Cannot relaunch because previous job had 0 {status_value} hosts." msgstr "无法重新启动,因为以前的作业有 0 个 {status_value} 主机。" -#: awx/api/views/__init__.py:3686 +#: awx/api/views/__init__.py:3651 msgid "Cannot create schedule because job requires credential passwords." msgstr "无法创建计划,因为作业需要凭证密码。" -#: awx/api/views/__init__.py:3691 +#: awx/api/views/__init__.py:3656 msgid "Cannot create schedule because job was launched by legacy method." msgstr "无法创建计划,因为作业是由旧方法启动的。" -#: awx/api/views/__init__.py:3693 +#: awx/api/views/__init__.py:3658 msgid "Cannot create schedule because a related resource is missing." msgstr "无法创建计划,因为缺少相关资源。" -#: awx/api/views/__init__.py:3748 +#: awx/api/views/__init__.py:3713 msgid "Job Host Summaries List" msgstr "作业主机摘要列表" -#: awx/api/views/__init__.py:3802 +#: awx/api/views/__init__.py:3767 msgid "Job Event Children List" msgstr "作业事件子级列表" -#: awx/api/views/__init__.py:3818 +#: awx/api/views/__init__.py:3783 msgid "Job Event Hosts List" msgstr "作业事件主机列表" -#: awx/api/views/__init__.py:3833 +#: awx/api/views/__init__.py:3798 msgid "Job Events List" msgstr "作业事件列表" -#: awx/api/views/__init__.py:4044 +#: awx/api/views/__init__.py:4009 msgid "Ad Hoc Command Events List" msgstr "临时命令事件列表" -#: awx/api/views/__init__.py:4289 +#: awx/api/views/__init__.py:4256 msgid "Delete not allowed while there are pending notifications" msgstr "在有待处理的通知时不允许删除" -#: awx/api/views/__init__.py:4297 +#: awx/api/views/__init__.py:4264 msgid "Notification Template Test" msgstr "通知模板测试" -#: awx/api/views/__init__.py:4557 awx/api/views/__init__.py:4572 +#: awx/api/views/__init__.py:4524 awx/api/views/__init__.py:4539 msgid "User does not have permission to approve or deny this workflow." msgstr "用户没有批准或拒绝此工作流的权限。" -#: awx/api/views/__init__.py:4559 awx/api/views/__init__.py:4574 +#: awx/api/views/__init__.py:4526 awx/api/views/__init__.py:4541 msgid "This workflow step has already been approved or denied." msgstr "此工作流步骤已经被批准或拒绝。" @@ -1392,7 +1426,11 @@ msgstr "清单更新事件列表" msgid "Cannot delete inventory script." msgstr "无法删除清单脚本。" -#: awx/api/views/inventory.py:149 +#: awx/api/views/inventory.py:137 +msgid "You cannot turn a regular inventory into a \"smart\" inventory." +msgstr "您无法将常规清单变为\"智能\"清单。" + +#: awx/api/views/inventory.py:150 #, python-brace-format msgid "{0}" msgstr "{0}" @@ -1417,71 +1455,104 @@ msgstr "作业还没有完成处理事件。" msgid "Related job {} is still processing events." msgstr "相关的作业 {} 仍在处理事件。" -#: awx/api/views/root.py:49 awx/templates/rest_framework/api.html:28 +#: awx/api/views/organization.py:232 +#, python-brace-format +msgid "Credential must be a Galaxy credential, not {sub.credential_type.name}." +msgstr "凭证必须是 Galaxy 凭证,不是 {sub.credential_type.name}。" + +#: awx/api/views/root.py:51 awx/templates/rest_framework/api.html:28 msgid "REST API" msgstr "REST API" -#: awx/api/views/root.py:59 awx/templates/rest_framework/api.html:4 +#: awx/api/views/root.py:61 awx/templates/rest_framework/api.html:4 msgid "AWX REST API" msgstr "AWX REST API" -#: awx/api/views/root.py:72 +#: awx/api/views/root.py:74 msgid "API OAuth 2 Authorization Root" msgstr "API OAuth 2 授权根" -#: awx/api/views/root.py:139 +#: awx/api/views/root.py:141 msgid "Version 2" msgstr "版本 2" -#: awx/api/views/root.py:148 +#: awx/api/views/root.py:150 msgid "Ping" msgstr "Ping" -#: awx/api/views/root.py:180 awx/api/views/root.py:225 awx/conf/apps.py:10 -msgid "Configuration" -msgstr "配置" +#: awx/api/views/root.py:182 +msgid "Subscriptions" +msgstr "订阅" -#: awx/api/views/root.py:202 awx/api/views/root.py:308 -msgid "Invalid License" -msgstr "无效许可证" +#: awx/api/views/root.py:204 awx/api/views/root.py:249 +msgid "Invalid Subscription" +msgstr "无效订阅" -#: awx/api/views/root.py:207 +#: awx/api/views/root.py:209 awx/api/views/root.py:254 msgid "The provided credentials are invalid (HTTP 401)." msgstr "提供的凭证无效 (HTTP 401)。" -#: awx/api/views/root.py:209 +#: awx/api/views/root.py:211 awx/api/views/root.py:256 msgid "Unable to connect to proxy server." msgstr "无法连接到代理服务器。" -#: awx/api/views/root.py:211 +#: awx/api/views/root.py:213 awx/api/views/root.py:258 msgid "Could not connect to subscription service." msgstr "无法连接订阅服务。" -#: awx/api/views/root.py:284 -msgid "Invalid license data" -msgstr "无效的许可证数据" +#: awx/api/views/root.py:227 +msgid "Attach Subscription" +msgstr "附加订阅" -#: awx/api/views/root.py:286 +#: awx/api/views/root.py:239 +msgid "No subscription pool ID provided." +msgstr "没有提供订阅池 ID。" + +#: awx/api/views/root.py:271 +msgid "Error processing subscription metadata." +msgstr "处理订阅元数据出错。" + +#: awx/api/views/root.py:277 awx/conf/apps.py:10 +msgid "Configuration" +msgstr "配置" + +#: awx/api/views/root.py:334 +msgid "Invalid subscription data" +msgstr "无效的订阅数据" + +#: awx/api/views/root.py:336 msgid "Missing 'eula_accepted' property" msgstr "缺少 'eula_accepted' 属性" -#: awx/api/views/root.py:290 +#: awx/api/views/root.py:340 msgid "'eula_accepted' value is invalid" msgstr "'eula_accepted' 值无效" -#: awx/api/views/root.py:293 +#: awx/api/views/root.py:343 msgid "'eula_accepted' must be True" msgstr "'eula_accepted' 必须为 True" -#: awx/api/views/root.py:300 +#: awx/api/views/root.py:350 msgid "Invalid JSON" msgstr "无效的 JSON" -#: awx/api/views/root.py:319 -msgid "Invalid license" -msgstr "无效的许可证" +#: awx/api/views/root.py:355 awx/api/views/root.py:361 +msgid "Legacy license submitted. A subscription manifest is now required." +msgstr "提交了旧的许可证。现在需要使用一个订阅清单。" -#: awx/api/views/root.py:327 +#: awx/api/views/root.py:372 +msgid "Invalid manifest submitted." +msgstr "提交了无效的清单。" + +#: awx/api/views/root.py:379 +msgid "Invalid License" +msgstr "无效许可证" + +#: awx/api/views/root.py:391 +msgid "Invalid subscription" +msgstr "无效订阅" + +#: awx/api/views/root.py:399 msgid "Failed to remove license." msgstr "删除许可证失败。" @@ -1641,7 +1712,7 @@ msgstr "每个用户之间可以各不相同的设置示例。" msgid "User" msgstr "用户" -#: awx/conf/fields.py:63 awx/sso/fields.py:595 +#: awx/conf/fields.py:63 awx/sso/fields.py:627 #, python-brace-format msgid "" "Expected None, True, False, a string or list of strings but got {input_type} " @@ -1672,11 +1743,11 @@ msgstr "\"{input}\" 不是有效字符串。" msgid "Expected a list of tuples of max length 2 but got {input_type} instead." msgstr "预期为最大长度为 2 的元组列表,但实际为 {input_type}。" -#: awx/conf/registry.py:73 awx/conf/tests/unit/test_registry.py:155 +#: awx/conf/registry.py:73 awx/conf/tests/unit/test_registry.py:156 msgid "All" msgstr "所有" -#: awx/conf/registry.py:74 awx/conf/tests/unit/test_registry.py:156 +#: awx/conf/registry.py:74 awx/conf/tests/unit/test_registry.py:157 msgid "Changed" msgstr "已更改" @@ -1684,59 +1755,58 @@ msgstr "已更改" msgid "User-Defaults" msgstr "User-Defaults" -#: awx/conf/registry.py:143 +#: awx/conf/registry.py:145 msgid "This value has been set manually in a settings file." msgstr "此值已在设置文件中手动设置。" -#: awx/conf/tests/unit/test_registry.py:46 -#: awx/conf/tests/unit/test_registry.py:56 -#: awx/conf/tests/unit/test_registry.py:72 -#: awx/conf/tests/unit/test_registry.py:87 -#: awx/conf/tests/unit/test_registry.py:100 -#: awx/conf/tests/unit/test_registry.py:106 -#: awx/conf/tests/unit/test_registry.py:126 -#: awx/conf/tests/unit/test_registry.py:132 -#: awx/conf/tests/unit/test_registry.py:145 -#: awx/conf/tests/unit/test_registry.py:157 -#: awx/conf/tests/unit/test_registry.py:166 -#: awx/conf/tests/unit/test_registry.py:172 -#: awx/conf/tests/unit/test_registry.py:184 -#: awx/conf/tests/unit/test_registry.py:191 -#: awx/conf/tests/unit/test_registry.py:233 -#: awx/conf/tests/unit/test_registry.py:251 -#: awx/conf/tests/unit/test_settings.py:79 -#: awx/conf/tests/unit/test_settings.py:97 -#: awx/conf/tests/unit/test_settings.py:112 -#: awx/conf/tests/unit/test_settings.py:127 -#: awx/conf/tests/unit/test_settings.py:143 -#: awx/conf/tests/unit/test_settings.py:156 -#: awx/conf/tests/unit/test_settings.py:173 -#: awx/conf/tests/unit/test_settings.py:189 -#: awx/conf/tests/unit/test_settings.py:200 -#: awx/conf/tests/unit/test_settings.py:216 -#: awx/conf/tests/unit/test_settings.py:237 -#: awx/conf/tests/unit/test_settings.py:259 -#: awx/conf/tests/unit/test_settings.py:285 -#: awx/conf/tests/unit/test_settings.py:299 -#: awx/conf/tests/unit/test_settings.py:323 +#: awx/conf/tests/unit/test_registry.py:47 +#: awx/conf/tests/unit/test_registry.py:57 +#: awx/conf/tests/unit/test_registry.py:73 +#: awx/conf/tests/unit/test_registry.py:88 +#: awx/conf/tests/unit/test_registry.py:101 +#: awx/conf/tests/unit/test_registry.py:107 +#: awx/conf/tests/unit/test_registry.py:127 +#: awx/conf/tests/unit/test_registry.py:133 +#: awx/conf/tests/unit/test_registry.py:146 +#: awx/conf/tests/unit/test_registry.py:158 +#: awx/conf/tests/unit/test_registry.py:167 +#: awx/conf/tests/unit/test_registry.py:173 +#: awx/conf/tests/unit/test_registry.py:185 +#: awx/conf/tests/unit/test_registry.py:192 +#: awx/conf/tests/unit/test_registry.py:234 +#: awx/conf/tests/unit/test_registry.py:252 +#: awx/conf/tests/unit/test_settings.py:73 +#: awx/conf/tests/unit/test_settings.py:91 +#: awx/conf/tests/unit/test_settings.py:106 +#: awx/conf/tests/unit/test_settings.py:121 +#: awx/conf/tests/unit/test_settings.py:137 +#: awx/conf/tests/unit/test_settings.py:150 +#: awx/conf/tests/unit/test_settings.py:167 +#: awx/conf/tests/unit/test_settings.py:183 +#: awx/conf/tests/unit/test_settings.py:194 +#: awx/conf/tests/unit/test_settings.py:210 +#: awx/conf/tests/unit/test_settings.py:231 +#: awx/conf/tests/unit/test_settings.py:254 +#: awx/conf/tests/unit/test_settings.py:268 +#: awx/conf/tests/unit/test_settings.py:292 +#: awx/conf/tests/unit/test_settings.py:312 +#: awx/conf/tests/unit/test_settings.py:329 #: awx/conf/tests/unit/test_settings.py:343 -#: awx/conf/tests/unit/test_settings.py:360 -#: awx/conf/tests/unit/test_settings.py:374 -#: awx/conf/tests/unit/test_settings.py:398 -#: awx/conf/tests/unit/test_settings.py:411 -#: awx/conf/tests/unit/test_settings.py:430 -#: awx/conf/tests/unit/test_settings.py:466 awx/main/conf.py:24 -#: awx/main/conf.py:33 awx/main/conf.py:43 awx/main/conf.py:53 -#: awx/main/conf.py:65 awx/main/conf.py:78 awx/main/conf.py:91 -#: awx/main/conf.py:116 awx/main/conf.py:129 awx/main/conf.py:142 -#: awx/main/conf.py:154 awx/main/conf.py:162 awx/main/conf.py:173 -#: awx/main/conf.py:405 awx/main/conf.py:830 awx/main/conf.py:840 -#: awx/main/conf.py:852 +#: awx/conf/tests/unit/test_settings.py:367 +#: awx/conf/tests/unit/test_settings.py:380 +#: awx/conf/tests/unit/test_settings.py:399 +#: awx/conf/tests/unit/test_settings.py:435 awx/main/conf.py:22 +#: awx/main/conf.py:31 awx/main/conf.py:41 awx/main/conf.py:51 +#: awx/main/conf.py:63 awx/main/conf.py:76 awx/main/conf.py:89 +#: awx/main/conf.py:102 awx/main/conf.py:115 awx/main/conf.py:128 +#: awx/main/conf.py:141 awx/main/conf.py:154 awx/main/conf.py:166 +#: awx/main/conf.py:174 awx/main/conf.py:185 awx/main/conf.py:408 +#: awx/main/conf.py:763 awx/main/conf.py:775 msgid "System" msgstr "系统" -#: awx/conf/tests/unit/test_registry.py:151 -#: awx/conf/tests/unit/test_registry.py:158 +#: awx/conf/tests/unit/test_registry.py:152 +#: awx/conf/tests/unit/test_registry.py:159 msgid "OtherSystem" msgstr "OtherSystem" @@ -1803,112 +1873,164 @@ msgstr "无法将两个项与不同的清单关联。" msgid "Unable to change inventory on a group." msgstr "无法更改组上的清单。" -#: awx/main/access.py:1264 +#: awx/main/access.py:1261 msgid "Unable to change organization on a team." msgstr "无法更改团队上的机构。" -#: awx/main/access.py:1280 +#: awx/main/access.py:1277 msgid "The {} role cannot be assigned to a team" msgstr "无法为团队分配 {} 角色" -#: awx/main/access.py:1474 +#: awx/main/access.py:1471 msgid "Insufficient access to Job Template credentials." msgstr "对作业模板凭证的访问权限不足。" -#: awx/main/access.py:1639 awx/main/access.py:2063 +#: awx/main/access.py:1635 awx/main/access.py:2059 msgid "Job was launched with secret prompts provided by another user." msgstr "作业是使用其他用户提供的机密提示启动的。" -#: awx/main/access.py:1648 +#: awx/main/access.py:1644 msgid "Job has been orphaned from its job template and organization." msgstr "作业已从其作业模板和机构中孤立。" -#: awx/main/access.py:1650 +#: awx/main/access.py:1646 msgid "Job was launched with prompted fields you do not have access to." msgstr "作业启动时带有您无法访问的提示字段。" -#: awx/main/access.py:1652 +#: awx/main/access.py:1648 msgid "" "Job was launched with unknown prompted fields. Organization admin " "permissions required." msgstr "作业以未知的提示字段启动。需要机构管理员权限。" -#: awx/main/access.py:2053 +#: awx/main/access.py:2049 msgid "Workflow Job was launched with unknown prompts." msgstr "工作流作业启动时显示未知提示。" -#: awx/main/access.py:2065 +#: awx/main/access.py:2061 msgid "Job was launched with prompts you lack access to." msgstr "作业启动时显示您无法访问的提示。" -#: awx/main/access.py:2067 +#: awx/main/access.py:2063 msgid "Job was launched with prompts no longer accepted." msgstr "作业启动时显示不再接受的提示。" -#: awx/main/access.py:2079 +#: awx/main/access.py:2075 msgid "" "You do not have permission to the workflow job resources required for " "relaunch." msgstr "您没有权限访问重新启动所需的工作流作业资源。" +#: awx/main/analytics/collectors.py:36 +msgid "General platform configuration." +msgstr "通用平台配置。" + +#: awx/main/analytics/collectors.py:68 +msgid "Counts of objects such as organizations, inventories, and projects" +msgstr "机构、清单和项目等对象计数" + +#: awx/main/analytics/collectors.py:103 +msgid "Counts of users and teams by organization" +msgstr "机构用户和团队计数" + +#: awx/main/analytics/collectors.py:115 +msgid "Counts of credentials by credential type" +msgstr "根据凭证类型列出的凭证计数" + +#: awx/main/analytics/collectors.py:127 +msgid "Inventories, their inventory sources, and host counts" +msgstr "清单、清单源和主机计数" + +#: awx/main/analytics/collectors.py:152 +msgid "Counts of projects by source control type" +msgstr "根据源控制类型的项目计数" + +#: awx/main/analytics/collectors.py:171 +msgid "Cluster topology and capacity" +msgstr "集群拓扑和容量" + +#: awx/main/analytics/collectors.py:220 +msgid "Metadata about the analytics collected" +msgstr "关于收集的分析数据的元数据" + +#: awx/main/analytics/collectors.py:283 +msgid "Automation task records" +msgstr "自动化任务记录" + +#: awx/main/analytics/collectors.py:314 +msgid "Data on jobs run" +msgstr "作业运行的数据" + +#: awx/main/analytics/collectors.py:351 +msgid "Data on job templates" +msgstr "作业模板的数据" + +#: awx/main/analytics/collectors.py:374 +msgid "Data on workflow runs" +msgstr "工作流运行的数据" + +#: awx/main/analytics/collectors.py:410 +msgid "Data on workflows" +msgstr "工作流的数据" + #: awx/main/apps.py:8 msgid "Main" msgstr "主要" -#: awx/main/conf.py:22 +#: awx/main/conf.py:20 msgid "Enable Activity Stream" msgstr "启用活动流" -#: awx/main/conf.py:23 +#: awx/main/conf.py:21 msgid "Enable capturing activity for the activity stream." msgstr "为活动流启用捕获活动。" -#: awx/main/conf.py:31 +#: awx/main/conf.py:29 msgid "Enable Activity Stream for Inventory Sync" msgstr "为清单同步启用活动流" -#: awx/main/conf.py:32 +#: awx/main/conf.py:30 msgid "" "Enable capturing activity for the activity stream when running inventory " "sync." msgstr "在运行清单同步时,为活动流启用捕获活动。" -#: awx/main/conf.py:40 +#: awx/main/conf.py:38 msgid "All Users Visible to Organization Admins" msgstr "机构管理员可见所有用户" -#: awx/main/conf.py:41 +#: awx/main/conf.py:39 msgid "" "Controls whether any Organization Admin can view all users and teams, even " "those not associated with their Organization." msgstr "控制任何机构管理员是否可查看所有用户和团队,甚至包括与其机构没有关联的用户和团队。" -#: awx/main/conf.py:50 +#: awx/main/conf.py:48 msgid "Organization Admins Can Manage Users and Teams" msgstr "机构管理员可以管理用户和团队" -#: awx/main/conf.py:51 +#: awx/main/conf.py:49 msgid "" "Controls whether any Organization Admin has the privileges to create and " "manage users and teams. You may want to disable this ability if you are " "using an LDAP or SAML integration." msgstr "控制机构管理员是否具有创建和管理用户和团队的权限。如果您使用 LDAP 或 SAML 集成,您可能需要禁用此功能。" -#: awx/main/conf.py:62 +#: awx/main/conf.py:60 msgid "Base URL of the Tower host" msgstr "Tower 主机的基本 URL" -#: awx/main/conf.py:63 +#: awx/main/conf.py:61 msgid "" "This setting is used by services like notifications to render a valid url to " "the Tower host." msgstr "此设置供通知类的服务用来为 Tower 主机呈现有效的 URL。" -#: awx/main/conf.py:72 +#: awx/main/conf.py:70 msgid "Remote Host Headers" msgstr "远程主机标头" -#: awx/main/conf.py:73 +#: awx/main/conf.py:71 msgid "" "HTTP headers and meta keys to search to determine remote host name or IP. " "Add additional items to this list, such as \"HTTP_X_FORWARDED_FOR\", if " @@ -1916,114 +2038,124 @@ msgid "" "Adminstrator guide for more details." msgstr "为确定远程主机名或 IP 而搜索的 HTTP 标头和元键。如果位于反向代理后端,请将其他项添加到此列表,如 \"HTTP_X_FORWARDED_FOR\"。请参阅管理员指南的“代理支持”部分以了解更多详情。" -#: awx/main/conf.py:85 -msgid "Proxy IP Whitelist" -msgstr "代理 IP 白名单" +#: awx/main/conf.py:83 +msgid "Proxy IP Allowed List" +msgstr "代理 IP 允许列表" -#: awx/main/conf.py:86 +#: awx/main/conf.py:84 msgid "" "If Tower is behind a reverse proxy/load balancer, use this setting to " -"whitelist the proxy IP addresses from which Tower should trust custom " +"configure the proxy IP addresses from which Tower should trust custom " "REMOTE_HOST_HEADERS header values. If this setting is an empty list (the " "default), the headers specified by REMOTE_HOST_HEADERS will be trusted " "unconditionally')" msgstr "如果 Tower 位于反向代理/负载均衡器后端,则使用此设置可将 Tower 应该信任自定义 REMOTE_HOST_HEADERS 标头值的代理服务器 IP 地址列入白名单。如果此设置为空列表(默认设置),则将无条件地信任由 REMOTE_HOST_HEADERS 指定的标头。" -#: awx/main/conf.py:112 +#: awx/main/conf.py:98 msgid "License" msgstr "许可证" -#: awx/main/conf.py:113 +#: awx/main/conf.py:99 msgid "" "The license controls which features and functionality are enabled. Use /api/" "v2/config/ to update or change the license." msgstr "许可证控制启用哪些特性和功能。使用 /api/v2/config/ 来更新或更改许可证。" -#: awx/main/conf.py:127 +#: awx/main/conf.py:113 msgid "Red Hat customer username" msgstr "红帽客户用户名" -#: awx/main/conf.py:128 -msgid "" -"This username is used to retrieve license information and to send Automation " -"Analytics" -msgstr "此用户名用于检索许可证信息并发送自动化分析" +#: awx/main/conf.py:114 +msgid "This username is used to send data to Automation Analytics" +msgstr "向 Automation Analytics 发送数据所使用的用户名" -#: awx/main/conf.py:140 +#: awx/main/conf.py:126 msgid "Red Hat customer password" msgstr "红帽客户密码" -#: awx/main/conf.py:141 -msgid "" -"This password is used to retrieve license information and to send Automation " -"Analytics" -msgstr "此密码用于检索许可证信息并发送自动化分析" +#: awx/main/conf.py:127 +msgid "This password is used to send data to Automation Analytics" +msgstr "向 Automation Analytics 发送数据所使用的密码" + +#: awx/main/conf.py:139 +msgid "Red Hat or Satellite username" +msgstr "Red Hat 或 Satellite 用户名" + +#: awx/main/conf.py:140 +msgid "This username is used to retrieve subscription and content information" +msgstr "检索订阅和内容信息所使用的用户名" #: awx/main/conf.py:152 -msgid "Automation Analytics upload URL." -msgstr "自动化分析上传 URL。" +msgid "Red Hat or Satellite password" +msgstr "Red Hat 或 Satellite 密码" #: awx/main/conf.py:153 +msgid "This password is used to retrieve subscription and content information" +msgstr "检索订阅和内容信息所使用的密码" + +#: awx/main/conf.py:164 +msgid "Automation Analytics upload URL" +msgstr "Automation Analytics 上传 URL" + +#: awx/main/conf.py:165 msgid "" "This setting is used to to configure data collection for the Automation " "Analytics dashboard" msgstr "此设置用于为自动化分析仪表板配置数据收集" -#: awx/main/conf.py:161 +#: awx/main/conf.py:173 msgid "Unique identifier for an AWX/Tower installation" msgstr "AWX/Tower 安装的唯一标识符" -#: awx/main/conf.py:170 +#: awx/main/conf.py:182 msgid "Custom virtual environment paths" msgstr "自定义虚拟环境路径" -#: awx/main/conf.py:171 +#: awx/main/conf.py:183 msgid "" "Paths where Tower will look for custom virtual environments (in addition to /" "var/lib/awx/venv/). Enter one path per line." msgstr "(除了 /var/lib/awx/venv/ 之外)Tower 将在这些路径查找自定义虚拟环境。每行输入一个路径。" -#: awx/main/conf.py:181 +#: awx/main/conf.py:193 msgid "Ansible Modules Allowed for Ad Hoc Jobs" msgstr "允许用于临时作业的 Ansible 模块" -#: awx/main/conf.py:182 +#: awx/main/conf.py:194 msgid "List of modules allowed to be used by ad-hoc jobs." msgstr "允许供临时作业使用的模块列表。" -#: awx/main/conf.py:183 awx/main/conf.py:205 awx/main/conf.py:214 -#: awx/main/conf.py:225 awx/main/conf.py:235 awx/main/conf.py:245 -#: awx/main/conf.py:256 awx/main/conf.py:267 awx/main/conf.py:278 -#: awx/main/conf.py:290 awx/main/conf.py:299 awx/main/conf.py:312 -#: awx/main/conf.py:325 awx/main/conf.py:337 awx/main/conf.py:348 -#: awx/main/conf.py:359 awx/main/conf.py:371 awx/main/conf.py:383 -#: awx/main/conf.py:394 awx/main/conf.py:414 awx/main/conf.py:424 -#: awx/main/conf.py:434 awx/main/conf.py:450 awx/main/conf.py:463 -#: awx/main/conf.py:477 awx/main/conf.py:491 awx/main/conf.py:503 -#: awx/main/conf.py:513 awx/main/conf.py:524 awx/main/conf.py:534 -#: awx/main/conf.py:545 awx/main/conf.py:555 awx/main/conf.py:565 -#: awx/main/conf.py:577 awx/main/conf.py:589 awx/main/conf.py:601 -#: awx/main/conf.py:615 awx/main/conf.py:627 +#: awx/main/conf.py:195 awx/main/conf.py:217 awx/main/conf.py:226 +#: awx/main/conf.py:237 awx/main/conf.py:247 awx/main/conf.py:257 +#: awx/main/conf.py:267 awx/main/conf.py:279 awx/main/conf.py:292 +#: awx/main/conf.py:302 awx/main/conf.py:315 awx/main/conf.py:328 +#: awx/main/conf.py:340 awx/main/conf.py:351 awx/main/conf.py:362 +#: awx/main/conf.py:374 awx/main/conf.py:386 awx/main/conf.py:397 +#: awx/main/conf.py:417 awx/main/conf.py:427 awx/main/conf.py:437 +#: awx/main/conf.py:450 awx/main/conf.py:461 awx/main/conf.py:471 +#: awx/main/conf.py:482 awx/main/conf.py:492 awx/main/conf.py:502 +#: awx/main/conf.py:514 awx/main/conf.py:527 awx/main/conf.py:540 +#: awx/main/conf.py:555 awx/main/conf.py:568 msgid "Jobs" msgstr "作业" -#: awx/main/conf.py:192 +#: awx/main/conf.py:204 msgid "Always" msgstr "始终" -#: awx/main/conf.py:193 +#: awx/main/conf.py:205 msgid "Never" msgstr "永不" -#: awx/main/conf.py:194 +#: awx/main/conf.py:206 msgid "Only On Job Template Definitions" msgstr "仅在作业模板定义中" -#: awx/main/conf.py:197 +#: awx/main/conf.py:209 msgid "When can extra variables contain Jinja templates?" msgstr "额外变量何时可以包含 Jinja 模板?" -#: awx/main/conf.py:199 +#: awx/main/conf.py:211 msgid "" "Ansible allows variable substitution via the Jinja2 templating language for " "--extra-vars. This poses a potential security risk where Tower users with " @@ -2032,55 +2164,45 @@ msgid "" "to \"template\" or \"never\"." msgstr "Ansible 允许通过 Jinja2 模板语言为 --extra-vars 替换变量。这会带来潜在的安全风险,因为能够在作业启动时指定额外变量的 Tower 用户可使用 Jinja2 模板来运行任意 Python。建议将此值设为 \"template\" 或 \"never\"。" -#: awx/main/conf.py:212 +#: awx/main/conf.py:224 msgid "Enable job isolation" msgstr "启用作业隔离" -#: awx/main/conf.py:213 +#: awx/main/conf.py:225 msgid "" "Isolates an Ansible job from protected parts of the system to prevent " "exposing sensitive information." msgstr "将 Ansible 作业与系统受保护的部分隔离,以防止公开敏感信息。" -#: awx/main/conf.py:221 +#: awx/main/conf.py:233 msgid "Job execution path" msgstr "作业执行路径" -#: awx/main/conf.py:222 +#: awx/main/conf.py:234 msgid "" "The directory in which Tower will create new temporary directories for job " "execution and isolation (such as credential files and custom inventory " "scripts)." msgstr "Tower 将在此目录下为作业执行和隔离创建新临时目录(如凭证文件和自定义清单脚本)。" -#: awx/main/conf.py:233 +#: awx/main/conf.py:245 msgid "Paths to hide from isolated jobs" msgstr "向隔离作业隐藏的路径" -#: awx/main/conf.py:234 +#: awx/main/conf.py:246 msgid "" "Additional paths to hide from isolated processes. Enter one path per line." msgstr "向隔离进程隐藏的其他路径。每行输入一个路径。" -#: awx/main/conf.py:243 +#: awx/main/conf.py:255 msgid "Paths to expose to isolated jobs" msgstr "向隔离作业公开的路径" -#: awx/main/conf.py:244 +#: awx/main/conf.py:256 msgid "" -"Whitelist of paths that would otherwise be hidden to expose to isolated " -"jobs. Enter one path per line." -msgstr "要向隔离作业公开的原本隐藏的路径白名单。每行输入一个路径。" - -#: awx/main/conf.py:254 -msgid "Verbosity level for isolated node management tasks" -msgstr "隔离节点管理任务的详细程度" - -#: awx/main/conf.py:255 -msgid "" -"This can be raised to aid in debugging connection issues for isolated task " -"execution" -msgstr "可以提高此设置来帮助对隔离任务执行中的连接问题进行调试。" +"List of paths that would otherwise be hidden to expose to isolated jobs. " +"Enter one path per line." +msgstr "要向隔离作业公开的原本隐藏的路径列表。每行输入一个路径。" #: awx/main/conf.py:265 msgid "Isolated status check interval" @@ -2092,298 +2214,244 @@ msgid "" "isolated instances." msgstr "在隔离实例中运行的任务的状态检查间休眠的秒数。" -#: awx/main/conf.py:275 +#: awx/main/conf.py:276 msgid "Isolated launch timeout" msgstr "隔离启动超时" -#: awx/main/conf.py:276 +#: awx/main/conf.py:277 msgid "" "The timeout (in seconds) for launching jobs on isolated instances. This " "includes the time needed to copy source control files (playbooks) to the " "isolated instance." msgstr "在隔离的实例中启动作业的超时时间(以秒为单位)。这包括将源控制文件 (playbook) 复制到隔离实例所需的时间。" -#: awx/main/conf.py:287 +#: awx/main/conf.py:289 msgid "Isolated connection timeout" msgstr "隔离连接超时" -#: awx/main/conf.py:288 +#: awx/main/conf.py:290 msgid "" "Ansible SSH connection timeout (in seconds) to use when communicating with " "isolated instances. Value should be substantially greater than expected " "network latency." msgstr "与隔离的实例通信时使用的 Ansible SSH 连接超时(以秒为单位)。值应显著大于预期的网络延迟。" -#: awx/main/conf.py:297 +#: awx/main/conf.py:300 msgid "Isolated host key checking" msgstr "隔离主机密钥检查" -#: awx/main/conf.py:298 +#: awx/main/conf.py:301 msgid "" "When set to True, AWX will enforce strict host key checking for " "communication with isolated nodes." msgstr "当设置为 True 时,AWX 将针对与隔离的节点进行通信实行严格的主机密钥检查。" -#: awx/main/conf.py:308 +#: awx/main/conf.py:311 msgid "Generate RSA keys for isolated instances" msgstr "为隔离的实例生成 RSA 密钥" -#: awx/main/conf.py:309 +#: awx/main/conf.py:312 msgid "" "If set, a random RSA key will be generated and distributed to isolated " "instances. To disable this behavior and manage authentication for isolated " "instances outside of Tower, disable this setting." msgstr "如果设置,将生成随机 RSA 密钥并将其分发到隔离的实例。要禁用此行为并管理 Tower 之外的隔离实例的身份验证,请禁用此设置。" -#: awx/main/conf.py:323 awx/main/conf.py:324 +#: awx/main/conf.py:326 awx/main/conf.py:327 msgid "The RSA private key for SSH traffic to isolated instances" msgstr "到隔离实例的 SSH 流量的 RSA 私钥" -#: awx/main/conf.py:335 awx/main/conf.py:336 +#: awx/main/conf.py:338 awx/main/conf.py:339 msgid "The RSA public key for SSH traffic to isolated instances" msgstr "到隔离实例的 SSH 流量的 RSA 公钥" -#: awx/main/conf.py:345 +#: awx/main/conf.py:348 msgid "Enable detailed resource profiling on all playbook runs" msgstr "启用所有 playbook 运行的详细资源分析" -#: awx/main/conf.py:346 +#: awx/main/conf.py:349 msgid "" "If set, detailed resource profiling data will be collected on all jobs. This " "data can be gathered with `sosreport`." msgstr "如果设置,将收集所有作业的详细资源分析数据。这些数据可使用 `sosreport` 进行收集。" -#: awx/main/conf.py:356 +#: awx/main/conf.py:359 msgid "Interval (in seconds) between polls for cpu usage." msgstr "cpu 用量轮询间隔(以秒为单位)。" -#: awx/main/conf.py:357 +#: awx/main/conf.py:360 msgid "" "Interval (in seconds) between polls for cpu usage. Setting this lower than " "the default will affect playbook performance." -msgstr "cpu 用量轮询间隔(以秒为单位)。此设置低于默认值会影响 playbook 性能。" +msgstr "cpu 用量轮询间隔(以秒为单位)。此设置低于默认值会影响 playbook 的性能。" -#: awx/main/conf.py:368 +#: awx/main/conf.py:371 msgid "Interval (in seconds) between polls for memory usage." msgstr "内存用量轮询间隔(以秒为单位)。" -#: awx/main/conf.py:369 +#: awx/main/conf.py:372 msgid "" "Interval (in seconds) between polls for memory usage. Setting this lower " "than the default will affect playbook performance." msgstr "内存用量轮询间隔(以秒为单位)。此设置低于默认值会影响 playbook 性能。" -#: awx/main/conf.py:380 +#: awx/main/conf.py:383 msgid "Interval (in seconds) between polls for PID count." msgstr "PID 计数轮询间隔(以秒为单位)。" -#: awx/main/conf.py:381 +#: awx/main/conf.py:384 msgid "" "Interval (in seconds) between polls for PID count. Setting this lower than " "the default will affect playbook performance." msgstr "PID 计数轮询间隔(以秒为单位)。此设置低于默认值会影响 playbook 的性能。" -#: awx/main/conf.py:392 +#: awx/main/conf.py:395 msgid "Extra Environment Variables" msgstr "额外环境变量" -#: awx/main/conf.py:393 +#: awx/main/conf.py:396 msgid "" "Additional environment variables set for playbook runs, inventory updates, " "project updates, and notification sending." msgstr "为 playbook 运行、库存更新、项目更新和通知发送设置的额外环境变量。" -#: awx/main/conf.py:403 +#: awx/main/conf.py:406 msgid "Gather data for Automation Analytics" msgstr "为自动化分析收集数据" -#: awx/main/conf.py:404 +#: awx/main/conf.py:407 msgid "Enables Tower to gather data on automation and send it to Red Hat." msgstr "允许 Tower 收集自动化数据并将其发送给红帽。" -#: awx/main/conf.py:412 +#: awx/main/conf.py:415 msgid "Run Project Updates With Higher Verbosity" msgstr "以更高的详细程度运行项目更新" -#: awx/main/conf.py:413 +#: awx/main/conf.py:416 msgid "" "Adds the CLI -vvv flag to ansible-playbook runs of project_update.yml used " "for project updates." msgstr "将 CLI -vvv 标记添加到用于项目更新的 project_update.yml 的 ansible-playbook 运行。" -#: awx/main/conf.py:422 +#: awx/main/conf.py:425 msgid "Enable Role Download" msgstr "启用角色下载" -#: awx/main/conf.py:423 +#: awx/main/conf.py:426 msgid "" "Allows roles to be dynamically downloaded from a requirements.yml file for " "SCM projects." msgstr "允许从 SCM 项目的 requirements.yml 文件中动态下载角色。" -#: awx/main/conf.py:432 +#: awx/main/conf.py:435 msgid "Enable Collection(s) Download" msgstr "启用集合下载" -#: awx/main/conf.py:433 +#: awx/main/conf.py:436 msgid "" "Allows collections to be dynamically downloaded from a requirements.yml file " "for SCM projects." msgstr "允许从 SCM 项目的 requirements.yml 文件中动态下载集合。" -#: awx/main/conf.py:443 -msgid "Primary Galaxy Server URL" -msgstr "主 Galaxy 服务器 URL" - #: awx/main/conf.py:445 +msgid "Follow symlinks" +msgstr "跟随符号链接" + +#: awx/main/conf.py:447 msgid "" -"For organizations that run their own Galaxy service, this gives the option " -"to specify a host as the primary galaxy server. Requirements will be " -"downloaded from the primary if the specific role or collection is available " -"there. If the content is not avilable in the primary, or if this field is " -"left blank, it will default to galaxy.ansible.com." -msgstr "对于运行其自己的 Galaxy 服务的机构,这提供了将主机指定为主 galaxy 服务器的选项。如果特定角色或集合可用,则需要从主服务器下载这些要求。如果内容在主服务器中不可用,或者此字段留空,则默认为 galaxy.ansible.com。" +"Follow symbolic links when scanning for playbooks. Be aware that setting " +"this to True can lead to infinite recursion if a link points to a parent " +"directory of itself." +msgstr "在扫描 playbook 时跟随的符号链接。请注意,如果链接指向其自身的父目录,则将其设置为 True 可能会导致无限递归。" -#: awx/main/conf.py:459 -msgid "Primary Galaxy Server Username" -msgstr "主 Galaxy 服务器用户名" - -#: awx/main/conf.py:460 -msgid "" -"For using a galaxy server at higher precedence than the public Ansible " -"Galaxy. The username to use for basic authentication against the Galaxy " -"instance, this is mutually exclusive with PRIMARY_GALAXY_TOKEN." -msgstr "适用于以高于公共 Ansible Galaxy 的优先级使用 galaxy 服务器的情况。用于针对 Galaxy 实例进行基本身份验证的用户名,与 PRIMARY_GALAXY_TOKEN 相互排斥。" - -#: awx/main/conf.py:473 -msgid "Primary Galaxy Server Password" -msgstr "主 Galaxy 服务器密码" - -#: awx/main/conf.py:474 -msgid "" -"For using a galaxy server at higher precedence than the public Ansible " -"Galaxy. The password to use for basic authentication against the Galaxy " -"instance, this is mutually exclusive with PRIMARY_GALAXY_TOKEN." -msgstr "适用于以高于公共 Ansible Galaxy 的优先级使用 galaxy 服务器的情况。用于针对 Galaxy 实例进行基本身份验证的密码,与 PRIMARY_GALAXY_TOKEN 相互排斥。" - -#: awx/main/conf.py:487 -msgid "Primary Galaxy Server Token" -msgstr "主 Galaxy 服务器令牌" - -#: awx/main/conf.py:488 -msgid "" -"For using a galaxy server at higher precedence than the public Ansible " -"Galaxy. The token to use for connecting with the Galaxy instance, this is " -"mutually exclusive with corresponding username and password settings." -msgstr "适用于以高于公共 Ansible Galaxy 的优先级使用 galaxy 服务器的情况。用于连接 Galaxy 实例的令牌,与对应的用户名和密码设置相互排斥。" - -#: awx/main/conf.py:500 -msgid "Primary Galaxy Authentication URL" -msgstr "主 Galaxy 身份验证 URL" - -#: awx/main/conf.py:501 -msgid "" -"For using a galaxy server at higher precedence than the public Ansible " -"Galaxy. The token_endpoint of a Keycloak server." -msgstr "适用于以高于公共 Ansible Galaxy 的优先级使用 galaxy 服务器的情况。Keycloak 服务器的 token_endpoint。" - -#: awx/main/conf.py:511 -msgid "Allow Access to Public Galaxy" -msgstr "允许访问公共 Galaxy" - -#: awx/main/conf.py:512 -msgid "" -"Allow or deny access to the public Ansible Galaxy during project updates." -msgstr "在项目更新期间允许或拒绝访问公共 Ansible Galaxy。" - -#: awx/main/conf.py:521 +#: awx/main/conf.py:458 msgid "Ignore Ansible Galaxy SSL Certificate Verification" msgstr "忽略 Ansible Galaxy SSL 证书验证" -#: awx/main/conf.py:522 +#: awx/main/conf.py:459 msgid "" -"If set to true, certificate validation will not be done wheninstalling " +"If set to true, certificate validation will not be done when installing " "content from any Galaxy server." msgstr "如果设为 true,则在从任何 Galaxy 服务器安装内容时将不执行证书验证。" -#: awx/main/conf.py:532 +#: awx/main/conf.py:469 msgid "Standard Output Maximum Display Size" msgstr "标准输出最大显示大小" -#: awx/main/conf.py:533 +#: awx/main/conf.py:470 msgid "" "Maximum Size of Standard Output in bytes to display before requiring the " "output be downloaded." msgstr "要求下载输出前显示的最大标准输出大小(以字节为单位)。" -#: awx/main/conf.py:542 +#: awx/main/conf.py:479 msgid "Job Event Standard Output Maximum Display Size" msgstr "作业事件标准输出最大显示大小" -#: awx/main/conf.py:544 +#: awx/main/conf.py:481 msgid "" "Maximum Size of Standard Output in bytes to display for a single job or ad " "hoc command event. `stdout` will end with `…` when truncated." msgstr "为单个作业或临时命令事件显示的最大标准输出大小(以字节为单位)。`stdout` 在截断时会以 `…` 结束。" -#: awx/main/conf.py:553 +#: awx/main/conf.py:490 msgid "Maximum Scheduled Jobs" msgstr "最多调度作业" -#: awx/main/conf.py:554 +#: awx/main/conf.py:491 msgid "" "Maximum number of the same job template that can be waiting to run when " "launching from a schedule before no more are created." msgstr "从计划启动时可以等待运行的同一作业模板的最大数量,此后不再创建更多模板。" -#: awx/main/conf.py:563 +#: awx/main/conf.py:500 msgid "Ansible Callback Plugins" msgstr "Ansible 回调插件" -#: awx/main/conf.py:564 +#: awx/main/conf.py:501 msgid "" "List of paths to search for extra callback plugins to be used when running " "jobs. Enter one path per line." msgstr "用于搜索供运行作业时使用的额外回调插件的路径列表。每行输入一个路径。" -#: awx/main/conf.py:574 +#: awx/main/conf.py:511 msgid "Default Job Timeout" msgstr "默认作业超时" -#: awx/main/conf.py:575 +#: awx/main/conf.py:512 msgid "" "Maximum time in seconds to allow jobs to run. Use value of 0 to indicate " "that no timeout should be imposed. A timeout set on an individual job " "template will override this." msgstr "允许运行作业的最长时间(以秒为单位)。使用 0 值表示不应应用超时。在单个作业模板中设置的超时会覆写此值。" -#: awx/main/conf.py:586 +#: awx/main/conf.py:524 msgid "Default Inventory Update Timeout" msgstr "默认清单更新超时" -#: awx/main/conf.py:587 +#: awx/main/conf.py:525 msgid "" "Maximum time in seconds to allow inventory updates to run. Use value of 0 to " "indicate that no timeout should be imposed. A timeout set on an individual " "inventory source will override this." msgstr "允许运行清单更新的最长时间(以秒为单位)。使用 0 值表示不应应用超时。在单个清单源中设置的超时会覆写此值。" -#: awx/main/conf.py:598 +#: awx/main/conf.py:537 msgid "Default Project Update Timeout" msgstr "默认项目更新超时" -#: awx/main/conf.py:599 +#: awx/main/conf.py:538 msgid "" "Maximum time in seconds to allow project updates to run. Use value of 0 to " "indicate that no timeout should be imposed. A timeout set on an individual " "project will override this." msgstr "允许运行项目更新的最长时间(以秒为单位)。使用 0 值表示不应应用超时。在单个项目中设置的超时会覆写此值。" -#: awx/main/conf.py:610 +#: awx/main/conf.py:550 msgid "Per-Host Ansible Fact Cache Timeout" msgstr "每个主机 Ansible 事实缓存超时" -#: awx/main/conf.py:611 +#: awx/main/conf.py:551 msgid "" "Maximum time, in seconds, that stored Ansible facts are considered valid " "since the last time they were modified. Only valid, non-stale, facts will be " @@ -2392,74 +2460,74 @@ msgid "" "timeout should be imposed." msgstr "存储的 Ansible 事实自上次修改后被视为有效的最长时间(以秒为单位)。只有有效且未过时的事实才会被 playbook 访问。注意,这不会影响从数据库中删除 ansible_facts。使用 0 值表示不应应用超时。" -#: awx/main/conf.py:624 -msgid "Maximum number of forks per job." +#: awx/main/conf.py:565 +msgid "Maximum number of forks per job" msgstr "每个作业的最大 fork 数量。" -#: awx/main/conf.py:625 +#: awx/main/conf.py:566 msgid "" "Saving a Job Template with more than this number of forks will result in an " "error. When set to 0, no limit is applied." msgstr "在保存作业模板时带有比这个数量更多的 fork 会出错。如果设置为 0,则代表没有限制。" -#: awx/main/conf.py:636 +#: awx/main/conf.py:577 msgid "Logging Aggregator" msgstr "日志记录聚合器" -#: awx/main/conf.py:637 +#: awx/main/conf.py:578 msgid "Hostname/IP where external logs will be sent to." msgstr "外部日志发送到的主机名/IP。" -#: awx/main/conf.py:638 awx/main/conf.py:649 awx/main/conf.py:661 -#: awx/main/conf.py:671 awx/main/conf.py:683 awx/main/conf.py:698 -#: awx/main/conf.py:710 awx/main/conf.py:719 awx/main/conf.py:729 -#: awx/main/conf.py:741 awx/main/conf.py:752 awx/main/conf.py:764 -#: awx/main/conf.py:777 awx/main/conf.py:787 awx/main/conf.py:799 -#: awx/main/conf.py:810 awx/main/conf.py:820 +#: awx/main/conf.py:579 awx/main/conf.py:590 awx/main/conf.py:602 +#: awx/main/conf.py:612 awx/main/conf.py:624 awx/main/conf.py:639 +#: awx/main/conf.py:651 awx/main/conf.py:660 awx/main/conf.py:670 +#: awx/main/conf.py:682 awx/main/conf.py:693 awx/main/conf.py:706 +#: awx/main/conf.py:719 awx/main/conf.py:731 awx/main/conf.py:742 +#: awx/main/conf.py:752 msgid "Logging" msgstr "日志记录" -#: awx/main/conf.py:646 +#: awx/main/conf.py:587 msgid "Logging Aggregator Port" msgstr "日志记录聚合器端口" -#: awx/main/conf.py:647 +#: awx/main/conf.py:588 msgid "" "Port on Logging Aggregator to send logs to (if required and not provided in " "Logging Aggregator)." msgstr "将日志发送到的日志记录聚合器上的端口(如果需要且未在日志聚合器中提供)。" -#: awx/main/conf.py:659 +#: awx/main/conf.py:600 msgid "Logging Aggregator Type" msgstr "日志记录聚合器类型" -#: awx/main/conf.py:660 +#: awx/main/conf.py:601 msgid "Format messages for the chosen log aggregator." msgstr "所选日志聚合器的格式消息。" -#: awx/main/conf.py:669 +#: awx/main/conf.py:610 msgid "Logging Aggregator Username" msgstr "日志记录聚合器用户名" -#: awx/main/conf.py:670 +#: awx/main/conf.py:611 msgid "Username for external log aggregator (if required; HTTP/s only)." msgstr "外部日志聚合器的用户名(如果需要。只支持 HTTP/s)。" -#: awx/main/conf.py:681 +#: awx/main/conf.py:622 msgid "Logging Aggregator Password/Token" msgstr "日志记录聚合器密码/令牌" -#: awx/main/conf.py:682 +#: awx/main/conf.py:623 msgid "" "Password or authentication token for external log aggregator (if required; " "HTTP/s only)." msgstr "外部日志聚合器的密码或身份验证令牌(如果需要。HTTP/s)。" -#: awx/main/conf.py:691 +#: awx/main/conf.py:632 msgid "Loggers Sending Data to Log Aggregator Form" msgstr "将数据发送到日志聚合器表单的日志记录器" -#: awx/main/conf.py:692 +#: awx/main/conf.py:633 msgid "" "List of loggers that will send HTTP logs to the collector, these can include " "any or all of: \n" @@ -2473,11 +2541,11 @@ msgstr "将 HTTP 日志发送到收集器的日志记录器列表,其中包括 "job_events - Ansible 作业事件的回调数据\n" "system_tracking - 从扫描作业收集的事实。" -#: awx/main/conf.py:705 +#: awx/main/conf.py:646 msgid "Log System Tracking Facts Individually" msgstr "单独记录系统跟踪事实" -#: awx/main/conf.py:706 +#: awx/main/conf.py:647 msgid "" "If set, system tracking facts will be sent for each package, service, or " "other item found in a scan, allowing for greater search query granularity. " @@ -2485,47 +2553,47 @@ msgid "" "efficiency in fact processing." msgstr "如果设置,则会为扫描中找到的每个软件包、服务或其他项发送系统跟踪事实,以便提高搜索查询的粒度。如果未设置,则将以单一字典形式发送事实,从而提高事实处理的效率。" -#: awx/main/conf.py:717 +#: awx/main/conf.py:658 msgid "Enable External Logging" msgstr "启用外部日志记录" -#: awx/main/conf.py:718 +#: awx/main/conf.py:659 msgid "Enable sending logs to external log aggregator." msgstr "启用将日志发送到外部日志聚合器。" -#: awx/main/conf.py:727 +#: awx/main/conf.py:668 msgid "Cluster-wide Tower unique identifier." msgstr "集群范围的 Tower 唯一标识符。" -#: awx/main/conf.py:728 +#: awx/main/conf.py:669 msgid "Useful to uniquely identify Tower instances." msgstr "用于唯一标识 Tower 实例。" -#: awx/main/conf.py:737 +#: awx/main/conf.py:678 msgid "Logging Aggregator Protocol" msgstr "日志记录聚合器协议" -#: awx/main/conf.py:738 +#: awx/main/conf.py:679 msgid "" "Protocol used to communicate with log aggregator. HTTPS/HTTP assumes HTTPS " "unless http:// is explicitly used in the Logging Aggregator hostname." msgstr "用于与日志聚合器通信的协议。HTTPS/HTTP 假设 HTTPS,除非在日志记录聚合器主机名中明确使用 http://。" -#: awx/main/conf.py:748 +#: awx/main/conf.py:689 msgid "TCP Connection Timeout" msgstr "TCP 连接超时" -#: awx/main/conf.py:749 +#: awx/main/conf.py:690 msgid "" "Number of seconds for a TCP connection to external log aggregator to " "timeout. Applies to HTTPS and TCP log aggregator protocols." msgstr "与外部日志聚合器的 TCP 连接超时的秒数。适用于 HTTPS 和 TCP 日志聚合器协议。" -#: awx/main/conf.py:759 +#: awx/main/conf.py:701 msgid "Enable/disable HTTPS certificate verification" msgstr "启用/禁用 HTTPS 证书验证" -#: awx/main/conf.py:760 +#: awx/main/conf.py:702 msgid "" "Flag to control enable/disable of certificate verification when " "LOG_AGGREGATOR_PROTOCOL is \"https\". If enabled, Tower's log handler will " @@ -2533,11 +2601,11 @@ msgid "" "connection." msgstr "当 LOG_aggregator_PROTOCOL 为 \"https\" 时,用来控制证书启用/禁用证书验证的标记。如果启用,Tower 的日志处理程序会在建立连接前验证外部日志聚合器发送的证书。" -#: awx/main/conf.py:772 +#: awx/main/conf.py:714 msgid "Logging Aggregator Level Threshold" msgstr "日志记录聚合器级别阈值" -#: awx/main/conf.py:773 +#: awx/main/conf.py:715 msgid "" "Level threshold used by log handler. Severities from lowest to highest are " "DEBUG, INFO, WARNING, ERROR, CRITICAL. Messages less severe than the " @@ -2545,198 +2613,144 @@ msgid "" "anlytics ignore this setting)" msgstr "日志处理程序使用的级别阈值。从最低到最高的严重性为:DEBUG、INFO、WARNING、ERROR、CRITICAL。日志处理程序会忽略严重性低于阈值的消息。(类别 awx.anlytics 下的消息会忽略此设置)" -#: awx/main/conf.py:785 -msgid "Enabled external log aggregation auditing" -msgstr "启用外部日志聚合审核" - -#: awx/main/conf.py:786 -msgid "" -"When enabled, all external logs emitted by Tower will also be written to /" -"var/log/tower/external.log. This is an experimental setting intended to be " -"used for debugging external log aggregation issues (and may be subject to " -"change in the future)." -msgstr "启用后,Tower 发出的所有外部日志也会写入 /var/log/tower/external.log。这是一个实验性设置,用于调试外部日志聚合问题(将来可能会有变化)。" - -#: awx/main/conf.py:795 +#: awx/main/conf.py:727 msgid "Maximum disk persistance for external log aggregation (in GB)" msgstr "外部日志聚合的最大磁盘持久性存储(以 GB 为单位)" -#: awx/main/conf.py:796 +#: awx/main/conf.py:728 msgid "" "Amount of data to store (in gigabytes) during an outage of the external log " "aggregator (defaults to 1). Equivalent to the rsyslogd queue.maxdiskspace " "setting." msgstr "外部日志聚合器停机时要保存的数据量(以 GB 为单位)(默认为 1),与 rsyslogd queue.maxdiskspace 设置相同。" -#: awx/main/conf.py:806 +#: awx/main/conf.py:738 msgid "File system location for rsyslogd disk persistence" msgstr "rsyslogd 磁盘持久存储在文件系统中的位置" -#: awx/main/conf.py:807 +#: awx/main/conf.py:739 msgid "" "Location to persist logs that should be retried after an outage of the " "external log aggregator (defaults to /var/lib/awx). Equivalent to the " "rsyslogd queue.spoolDirectory setting." -msgstr "在外部日志聚合器停止工作后,重试的持久性日志的位置(默认为 /var/lib/awx)。与 rsyslogd queue.spoolDirectory 的设置相同。" +msgstr "在外部日志聚合器停止工作后,重试的持久性日志的位置(默认为 /var/lib/awx)。与 rsyslogd queue.spoolDirectory 的设置相同。" -#: awx/main/conf.py:817 +#: awx/main/conf.py:749 msgid "Enable rsyslogd debugging" msgstr "启用 rsyslogd 调试" -#: awx/main/conf.py:818 +#: awx/main/conf.py:750 msgid "" "Enabled high verbosity debugging for rsyslogd. Useful for debugging " "connection issues for external log aggregation." msgstr "为 rsyslogd 启用高度详细调试。用于调试外部日志聚合的连接问题。" -#: awx/main/conf.py:828 -msgid "Message Durability" -msgstr "消息持续时间" - -#: awx/main/conf.py:829 -msgid "" -"When set (the default), underlying queues will be persisted to disk. " -"Disable this to enable higher message bus throughput." -msgstr "如果设置(默认值),底层队列将保留到磁盘中。禁用此设置可启用更高消息总线吞吐量。" - -#: awx/main/conf.py:838 +#: awx/main/conf.py:761 msgid "Last gather date for Automation Analytics." msgstr "为自动化分析收集的最新数据" -#: awx/main/conf.py:848 +#: awx/main/conf.py:771 msgid "Automation Analytics Gather Interval" msgstr "自动化分析收集间隔" -#: awx/main/conf.py:849 +#: awx/main/conf.py:772 msgid "Interval (in seconds) between data gathering." msgstr "收集数据间的间隔(以秒为单位)。" -#: awx/main/conf.py:871 awx/sso/conf.py:1239 +#: awx/main/conf.py:795 awx/sso/conf.py:1543 msgid "\n" msgstr "\n" -#: awx/main/conf.py:892 -msgid "" -"A URL for Primary Galaxy must be defined before disabling public Galaxy." -msgstr "在禁用公共 Galaxy 之前,必须定义主 Galaxy 的 URL。" - -#: awx/main/conf.py:912 -msgid "Cannot provide field if PRIMARY_GALAXY_URL is not set." -msgstr "如果未设置 PRIMARY_Galaxy_URL,则无法提供字段。" - -#: awx/main/conf.py:925 -#, python-brace-format -msgid "" -"Galaxy server settings are not available until Ansible {min_version}, you " -"are running {current_version}." -msgstr "在 Ansible {min_version} 之前,Galaxy 服务器设置不可用,您正在运行 {current_version}。" - -#: awx/main/conf.py:934 -msgid "" -"Setting Galaxy token and authentication URL is mutually exclusive with " -"username and password." -msgstr "设置 Galaxy 令牌和验证 URL 与用户名和密码相互排斥。" - -#: awx/main/conf.py:937 -msgid "If authenticating via username and password, both must be provided." -msgstr "如果通过用户名和密码进行身份验证,则必须提供两者。" - -#: awx/main/conf.py:943 -msgid "" -"If authenticating via token, both token and authentication URL must be " -"provided." -msgstr "如果通过令牌进行身份验证,则必须提供令牌和身份验证 URL。" - -#: awx/main/constants.py:17 +#: awx/main/constants.py:16 msgid "Sudo" msgstr "Sudo" -#: awx/main/constants.py:17 +#: awx/main/constants.py:16 msgid "Su" msgstr "Su" -#: awx/main/constants.py:17 +#: awx/main/constants.py:16 msgid "Pbrun" msgstr "Pbrun" -#: awx/main/constants.py:17 +#: awx/main/constants.py:16 msgid "Pfexec" msgstr "Pfexec" -#: awx/main/constants.py:18 +#: awx/main/constants.py:17 msgid "DZDO" msgstr "DZDO" -#: awx/main/constants.py:18 +#: awx/main/constants.py:17 msgid "Pmrun" msgstr "Pmrun" -#: awx/main/constants.py:18 +#: awx/main/constants.py:17 msgid "Runas" msgstr "Runas" -#: awx/main/constants.py:19 +#: awx/main/constants.py:18 msgid "Enable" msgstr "启用" -#: awx/main/constants.py:19 +#: awx/main/constants.py:18 msgid "Doas" msgstr "Doas" -#: awx/main/constants.py:19 +#: awx/main/constants.py:18 msgid "Ksu" msgstr "Ksu" -#: awx/main/constants.py:20 +#: awx/main/constants.py:19 msgid "Machinectl" msgstr "Machinectl" -#: awx/main/constants.py:20 +#: awx/main/constants.py:19 msgid "Sesu" msgstr "Sesu" -#: awx/main/constants.py:22 +#: awx/main/constants.py:21 msgid "None" msgstr "无" -#: awx/main/credential_plugins/aim.py:16 +#: awx/main/credential_plugins/aim.py:11 msgid "CyberArk AIM URL" msgstr "CyberArk AIM URL" -#: awx/main/credential_plugins/aim.py:21 +#: awx/main/credential_plugins/aim.py:16 msgid "Application ID" msgstr "应用 ID" -#: awx/main/credential_plugins/aim.py:26 +#: awx/main/credential_plugins/aim.py:21 msgid "Client Key" msgstr "客户端密钥" -#: awx/main/credential_plugins/aim.py:32 +#: awx/main/credential_plugins/aim.py:27 msgid "Client Certificate" msgstr "客户端证书" -#: awx/main/credential_plugins/aim.py:38 +#: awx/main/credential_plugins/aim.py:33 msgid "Verify SSL Certificates" msgstr "验证 SSL 证书" -#: awx/main/credential_plugins/aim.py:44 +#: awx/main/credential_plugins/aim.py:39 msgid "Object Query" msgstr "对象查询" -#: awx/main/credential_plugins/aim.py:46 +#: awx/main/credential_plugins/aim.py:41 msgid "" "Lookup query for the object. Ex: Safe=TestSafe;Object=testAccountName123" msgstr "对象的查找查询。例如:\"Safe=TestSafe;Object=testAccountName123\"" -#: awx/main/credential_plugins/aim.py:49 +#: awx/main/credential_plugins/aim.py:44 msgid "Object Query Format" msgstr "对象查询格式" -#: awx/main/credential_plugins/aim.py:55 +#: awx/main/credential_plugins/aim.py:50 msgid "Reason" msgstr "原因" -#: awx/main/credential_plugins/aim.py:57 +#: awx/main/credential_plugins/aim.py:52 msgid "" "Object request reason. This is only needed if it is required by the object's " "policy." @@ -2747,12 +2761,12 @@ msgid "Vault URL (DNS Name)" msgstr "Vault URL(DNS 名称)" #: awx/main/credential_plugins/azure_kv.py:26 -#: awx/main/models/credential/__init__.py:956 +#: awx/main/models/credential/__init__.py:946 msgid "Client ID" msgstr "客户端 ID" #: awx/main/credential_plugins/azure_kv.py:35 -#: awx/main/models/credential/__init__.py:965 +#: awx/main/models/credential/__init__.py:955 msgid "Tenant ID" msgstr "租户 ID" @@ -2773,142 +2787,176 @@ msgid "The name of the secret to look up." msgstr "要查找的机密的名称。" #: awx/main/credential_plugins/azure_kv.py:51 -#: awx/main/credential_plugins/conjur.py:47 +#: awx/main/credential_plugins/conjur.py:42 msgid "Secret Version" msgstr "机密版本" #: awx/main/credential_plugins/azure_kv.py:53 -#: awx/main/credential_plugins/conjur.py:49 -#: awx/main/credential_plugins/hashivault.py:67 +#: awx/main/credential_plugins/conjur.py:44 +#: awx/main/credential_plugins/hashivault.py:89 msgid "" "Used to specify a specific secret version (if left empty, the latest version " "will be used)." msgstr "用于指定特定机密版本(如果留空,则会使用最新版本)。" -#: awx/main/credential_plugins/conjur.py:18 +#: awx/main/credential_plugins/conjur.py:13 msgid "Conjur URL" msgstr "Conjur URL" -#: awx/main/credential_plugins/conjur.py:23 +#: awx/main/credential_plugins/conjur.py:18 msgid "API Key" msgstr "API 密钥" -#: awx/main/credential_plugins/conjur.py:28 awx/main/models/inventory.py:1018 +#: awx/main/credential_plugins/conjur.py:23 +#: awx/main/migrations/_inventory_source_vars.py:147 msgid "Account" msgstr "帐户" -#: awx/main/credential_plugins/conjur.py:32 -#: awx/main/models/credential/__init__.py:598 -#: awx/main/models/credential/__init__.py:654 -#: awx/main/models/credential/__init__.py:712 -#: awx/main/models/credential/__init__.py:785 -#: awx/main/models/credential/__init__.py:834 -#: awx/main/models/credential/__init__.py:860 -#: awx/main/models/credential/__init__.py:887 -#: awx/main/models/credential/__init__.py:947 -#: awx/main/models/credential/__init__.py:1020 -#: awx/main/models/credential/__init__.py:1051 -#: awx/main/models/credential/__init__.py:1101 +#: awx/main/credential_plugins/conjur.py:27 +#: awx/main/models/credential/__init__.py:606 +#: awx/main/models/credential/__init__.py:662 +#: awx/main/models/credential/__init__.py:720 +#: awx/main/models/credential/__init__.py:793 +#: awx/main/models/credential/__init__.py:851 +#: awx/main/models/credential/__init__.py:877 +#: awx/main/models/credential/__init__.py:937 +#: awx/main/models/credential/__init__.py:1010 +#: awx/main/models/credential/__init__.py:1041 +#: awx/main/models/credential/__init__.py:1091 msgid "Username" msgstr "用户名" -#: awx/main/credential_plugins/conjur.py:36 +#: awx/main/credential_plugins/conjur.py:31 msgid "Public Key Certificate" msgstr "公钥证书" -#: awx/main/credential_plugins/conjur.py:42 +#: awx/main/credential_plugins/conjur.py:37 msgid "Secret Identifier" msgstr "机密标识符" -#: awx/main/credential_plugins/conjur.py:44 +#: awx/main/credential_plugins/conjur.py:39 msgid "The identifier for the secret e.g., /some/identifier" msgstr "机密的标识符,如 /some/identifier" -#: awx/main/credential_plugins/hashivault.py:19 +#: awx/main/credential_plugins/hashivault.py:14 msgid "Server URL" msgstr "服务器 URL" -#: awx/main/credential_plugins/hashivault.py:22 +#: awx/main/credential_plugins/hashivault.py:17 msgid "The URL to the HashiCorp Vault" msgstr "HashiCorp Vault 的 URL" -#: awx/main/credential_plugins/hashivault.py:25 -#: awx/main/models/credential/__init__.py:986 -#: awx/main/models/credential/__init__.py:1003 +#: awx/main/credential_plugins/hashivault.py:20 +#: awx/main/models/credential/__init__.py:976 +#: awx/main/models/credential/__init__.py:993 msgid "Token" msgstr "令牌" -#: awx/main/credential_plugins/hashivault.py:28 +#: awx/main/credential_plugins/hashivault.py:23 msgid "The access token used to authenticate to the Vault server" msgstr "用于向 Vault 服务器进行身份验证的访问令牌" -#: awx/main/credential_plugins/hashivault.py:31 +#: awx/main/credential_plugins/hashivault.py:26 msgid "CA Certificate" msgstr "CA 证书" -#: awx/main/credential_plugins/hashivault.py:34 +#: awx/main/credential_plugins/hashivault.py:29 msgid "" "The CA certificate used to verify the SSL certificate of the Vault server" msgstr "用于验证 Vault 服务器 SSL 证书的 CA 证书" +#: awx/main/credential_plugins/hashivault.py:32 +msgid "AppRole role_id" +msgstr "AppRole role_id" + +#: awx/main/credential_plugins/hashivault.py:35 +msgid "The Role ID for AppRole Authentication" +msgstr "AppRole 身份验证的角色 ID" + #: awx/main/credential_plugins/hashivault.py:38 +msgid "AppRole secret_id" +msgstr "AppRole secret_id" + +#: awx/main/credential_plugins/hashivault.py:42 +msgid "The Secret ID for AppRole Authentication" +msgstr "AppRole 身份验证的 Secret ID" + +#: awx/main/credential_plugins/hashivault.py:45 +msgid "Path to Approle Auth" +msgstr "Approle Auth 的路径" + +#: awx/main/credential_plugins/hashivault.py:49 +msgid "" +"The AppRole Authentication path to use if one isn't provided in the metadata " +"when linking to an input field. Defaults to 'approle'" +msgstr "如果元数据中没有在链接到输入字段时提供,则要使用的 AppRole Authentication 路径。默认为 'approle'" + +#: awx/main/credential_plugins/hashivault.py:54 msgid "Path to Secret" msgstr "机密的路径" -#: awx/main/credential_plugins/hashivault.py:40 +#: awx/main/credential_plugins/hashivault.py:56 msgid "The path to the secret stored in the secret backend e.g, /some/secret/" msgstr "存储在机密后端的机密路径,如 /some/secret/" -#: awx/main/credential_plugins/hashivault.py:48 +#: awx/main/credential_plugins/hashivault.py:59 +msgid "Path to Auth" +msgstr "到 Auth 的路径" + +#: awx/main/credential_plugins/hashivault.py:62 +msgid "The path where the Authentication method is mounted e.g, approle" +msgstr "Authentication 方法被挂载的路径,如 approle" + +#: awx/main/credential_plugins/hashivault.py:70 msgid "API Version" msgstr "API 版本" -#: awx/main/credential_plugins/hashivault.py:50 +#: awx/main/credential_plugins/hashivault.py:72 msgid "" "API v1 is for static key/value lookups. API v2 is for versioned key/value " "lookups." msgstr "API v1 用于静态键/值查找。API v2 用于版本化的键/值查找。" -#: awx/main/credential_plugins/hashivault.py:55 +#: awx/main/credential_plugins/hashivault.py:77 msgid "Name of Secret Backend" msgstr "机密后端名称" -#: awx/main/credential_plugins/hashivault.py:57 +#: awx/main/credential_plugins/hashivault.py:79 msgid "" "The name of the kv secret backend (if left empty, the first segment of the " "secret path will be used)." msgstr "kv 机密后端的名称(如果留空,将使用机密路径的第一个分段)。" -#: awx/main/credential_plugins/hashivault.py:60 -#: awx/main/models/inventory.py:1023 +#: awx/main/credential_plugins/hashivault.py:82 +#: awx/main/migrations/_inventory_source_vars.py:152 msgid "Key Name" msgstr "密钥名称" -#: awx/main/credential_plugins/hashivault.py:62 +#: awx/main/credential_plugins/hashivault.py:84 msgid "The name of the key to look up in the secret." msgstr "在机密中查找的密钥名称。" -#: awx/main/credential_plugins/hashivault.py:65 +#: awx/main/credential_plugins/hashivault.py:87 msgid "Secret Version (v2 only)" msgstr "机密版本(仅限 v2)" -#: awx/main/credential_plugins/hashivault.py:74 +#: awx/main/credential_plugins/hashivault.py:96 msgid "Unsigned Public Key" msgstr "未签名的公钥" -#: awx/main/credential_plugins/hashivault.py:79 +#: awx/main/credential_plugins/hashivault.py:101 msgid "Role Name" msgstr "角色名称" -#: awx/main/credential_plugins/hashivault.py:81 +#: awx/main/credential_plugins/hashivault.py:103 msgid "The name of the role used to sign." msgstr "用于签名的角色的名称。" -#: awx/main/credential_plugins/hashivault.py:84 +#: awx/main/credential_plugins/hashivault.py:106 msgid "Valid Principals" msgstr "有效主体" -#: awx/main/credential_plugins/hashivault.py:86 +#: awx/main/credential_plugins/hashivault.py:108 msgid "" "Valid principals (either usernames or hostnames) that the certificate should " "be signed for." @@ -2943,99 +2991,147 @@ msgstr "为 %s 所需" msgid "secret values must be of type string, not {}" msgstr "机密值必须是字符串类型,不能是 {}" -#: awx/main/fields.py:667 +#: awx/main/fields.py:675 #, python-format msgid "cannot be set unless \"%s\" is set" msgstr "无法设置,除非设置了 \"%s\"" -#: awx/main/fields.py:702 +#: awx/main/fields.py:710 msgid "must be set when SSH key is encrypted." msgstr "必须在 SSH 密钥加密时设置。" -#: awx/main/fields.py:710 +#: awx/main/fields.py:718 msgid "should not be set when SSH key is not encrypted." msgstr "不应在 SSH 密钥没有加密时设置。" -#: awx/main/fields.py:769 +#: awx/main/fields.py:777 msgid "'dependencies' is not supported for custom credentials." msgstr "'dependencies' 不支持用于自定义凭证。" -#: awx/main/fields.py:783 +#: awx/main/fields.py:791 msgid "\"tower\" is a reserved field name" msgstr "\"tower\" 是保留字段名称" -#: awx/main/fields.py:790 +#: awx/main/fields.py:798 #, python-format msgid "field IDs must be unique (%s)" msgstr "字段 ID 必须是唯一的 (%s)" -#: awx/main/fields.py:805 +#: awx/main/fields.py:813 msgid "{} is not a {}" msgstr "{} 不是 {}" -#: awx/main/fields.py:811 +#: awx/main/fields.py:819 #, python-brace-format msgid "{sub_key} not allowed for {element_type} type ({element_id})" msgstr "{sub_key} 不允许用于 {element_type} 类型 ({element_id})" -#: awx/main/fields.py:869 +#: awx/main/fields.py:877 msgid "" "Environment variable {} may affect Ansible configuration so its use is not " "allowed in credentials." msgstr "环境变量 {} 可能会影响 Ansible 配置,因此在凭证中不允许使用它。" -#: awx/main/fields.py:875 -msgid "Environment variable {} is blacklisted from use in credentials." -msgstr "环境变量 {} 列入了禁止在凭证中使用的黑名单。" +#: awx/main/fields.py:883 +msgid "Environment variable {} is not allowed to be used in credentials." +msgstr "不允许在凭证中使用环境变量 {}。" -#: awx/main/fields.py:903 +#: awx/main/fields.py:911 msgid "" "Must define unnamed file injector in order to reference `tower.filename`." msgstr "必须定义未命名的文件注入程序,以便引用 `tower.filename`。" -#: awx/main/fields.py:910 +#: awx/main/fields.py:918 msgid "Cannot directly reference reserved `tower` namespace container." msgstr "无法直接引用保留的 `tower` 命名空间容器。" -#: awx/main/fields.py:920 +#: awx/main/fields.py:928 msgid "Must use multi-file syntax when injecting multiple files" msgstr "在注入多个文件时必须使用多文件语法" -#: awx/main/fields.py:940 +#: awx/main/fields.py:948 #, python-brace-format msgid "{sub_key} uses an undefined field ({error_msg})" msgstr "{sub_key} 使用了未定义字段 ({error_msg})" -#: awx/main/fields.py:947 +#: awx/main/fields.py:955 +msgid "Encountered unsafe code execution: {}" +msgstr "遇到不安全的代码执行:{}" + +#: awx/main/fields.py:959 #, python-brace-format msgid "" "Syntax error rendering template for {sub_key} inside of {type} ({error_msg})" msgstr "为 {type} 内的 {sub_key} 呈现模板时出现语法错误 ({error_msg})" -#: awx/main/middleware.py:118 +#: awx/main/middleware.py:95 msgid "Formats of all available named urls" msgstr "所有可用命名 url 的格式" -#: awx/main/middleware.py:119 +#: awx/main/middleware.py:96 msgid "" "Read-only list of key-value pairs that shows the standard format of all " "available named URLs." msgstr "键值对的只读列表,显示所有可用命名 URL 的标准格式。" -#: awx/main/middleware.py:121 awx/main/middleware.py:131 +#: awx/main/middleware.py:98 awx/main/middleware.py:108 msgid "Named URL" msgstr "命名 URL" -#: awx/main/middleware.py:128 +#: awx/main/middleware.py:105 msgid "List of all named url graph nodes." msgstr "所有命名 url 图形节点的列表。" -#: awx/main/middleware.py:129 +#: awx/main/middleware.py:106 msgid "" "Read-only list of key-value pairs that exposes named URL graph topology. Use " "this list to programmatically generate named URLs for resources" msgstr "键值对的只读列表,显示命名 URL 图形拓扑。使用此列表以编程方式为资源生成命名 URL。" +#: awx/main/migrations/_inventory_source_vars.py:145 +msgid "Image ID" +msgstr "镜像 ID" + +#: awx/main/migrations/_inventory_source_vars.py:146 +msgid "Availability Zone" +msgstr "可用性区域" + +#: awx/main/migrations/_inventory_source_vars.py:148 +msgid "Instance ID" +msgstr "实例 ID" + +#: awx/main/migrations/_inventory_source_vars.py:149 +msgid "Instance State" +msgstr "实例状态" + +#: awx/main/migrations/_inventory_source_vars.py:150 +msgid "Platform" +msgstr "平台" + +#: awx/main/migrations/_inventory_source_vars.py:151 +msgid "Instance Type" +msgstr "实例类型" + +#: awx/main/migrations/_inventory_source_vars.py:153 +msgid "Region" +msgstr "区域" + +#: awx/main/migrations/_inventory_source_vars.py:154 +msgid "Security Group" +msgstr "安全组" + +#: awx/main/migrations/_inventory_source_vars.py:155 +msgid "Tags" +msgstr "标签" + +#: awx/main/migrations/_inventory_source_vars.py:156 +msgid "Tag None" +msgstr "标签 None" + +#: awx/main/migrations/_inventory_source_vars.py:157 +msgid "VPC ID" +msgstr "VPC ID" + #: awx/main/models/activity_stream.py:28 msgid "Entity Created" msgstr "已创建实体" @@ -3082,17 +3178,17 @@ msgstr "不支持用于临时命令的模块。" msgid "No argument passed to %s module." msgstr "没有将参数传递给 %s 模块。" -#: awx/main/models/base.py:33 awx/main/models/base.py:39 -#: awx/main/models/base.py:44 awx/main/models/base.py:49 +#: awx/main/models/base.py:34 awx/main/models/base.py:40 +#: awx/main/models/base.py:45 awx/main/models/base.py:50 msgid "Run" msgstr "运行" -#: awx/main/models/base.py:34 awx/main/models/base.py:40 -#: awx/main/models/base.py:45 awx/main/models/base.py:50 +#: awx/main/models/base.py:35 awx/main/models/base.py:41 +#: awx/main/models/base.py:46 awx/main/models/base.py:51 msgid "Check" msgstr "检查" -#: awx/main/models/base.py:35 +#: awx/main/models/base.py:36 msgid "Scan" msgstr "扫描" @@ -3102,337 +3198,354 @@ msgid "" "Tower documentation for details on each type." msgstr "指定您要创建的凭证类型。有关每种类型的详情,请参阅 Ansible Tower 文档。" -#: awx/main/models/credential/__init__.py:110 -#: awx/main/models/credential/__init__.py:353 +#: awx/main/models/credential/__init__.py:114 +#: awx/main/models/credential/__init__.py:358 msgid "" "Enter inputs using either JSON or YAML syntax. Refer to the Ansible Tower " "documentation for example syntax." msgstr "使用 JSON 或 YAML 语法进行输入。示例语法请参阅 Ansible Tower 文档。" -#: awx/main/models/credential/__init__.py:325 -#: awx/main/models/credential/__init__.py:594 +#: awx/main/models/credential/__init__.py:329 +#: awx/main/models/credential/__init__.py:602 msgid "Machine" msgstr "机器" -#: awx/main/models/credential/__init__.py:326 -#: awx/main/models/credential/__init__.py:680 +#: awx/main/models/credential/__init__.py:330 +#: awx/main/models/credential/__init__.py:688 msgid "Vault" msgstr "Vault" -#: awx/main/models/credential/__init__.py:327 -#: awx/main/models/credential/__init__.py:707 +#: awx/main/models/credential/__init__.py:331 +#: awx/main/models/credential/__init__.py:715 msgid "Network" msgstr "网络" -#: awx/main/models/credential/__init__.py:328 -#: awx/main/models/credential/__init__.py:649 +#: awx/main/models/credential/__init__.py:332 +#: awx/main/models/credential/__init__.py:657 msgid "Source Control" msgstr "源控制" -#: awx/main/models/credential/__init__.py:329 +#: awx/main/models/credential/__init__.py:333 msgid "Cloud" msgstr "云" -#: awx/main/models/credential/__init__.py:330 +#: awx/main/models/credential/__init__.py:334 msgid "Personal Access Token" msgstr "个人访问令牌" -#: awx/main/models/credential/__init__.py:331 -#: awx/main/models/credential/__init__.py:1015 +#: awx/main/models/credential/__init__.py:335 +#: awx/main/models/credential/__init__.py:1005 msgid "Insights" msgstr "Insights" -#: awx/main/models/credential/__init__.py:332 +#: awx/main/models/credential/__init__.py:336 msgid "External" msgstr "外部" -#: awx/main/models/credential/__init__.py:333 +#: awx/main/models/credential/__init__.py:337 msgid "Kubernetes" msgstr "Kubernetes" -#: awx/main/models/credential/__init__.py:359 +#: awx/main/models/credential/__init__.py:338 +msgid "Galaxy/Automation Hub" +msgstr "Galaxy/Automation Hub" + +#: awx/main/models/credential/__init__.py:364 msgid "" "Enter injectors using either JSON or YAML syntax. Refer to the Ansible Tower " "documentation for example syntax." msgstr "使用 JSON 或 YAML 语法输入注入程序。示例语法请参阅 Ansible Tower 文档。" -#: awx/main/models/credential/__init__.py:428 +#: awx/main/models/credential/__init__.py:433 #, python-format msgid "adding %s credential type" msgstr "添加 %s 凭证类型" -#: awx/main/models/credential/__init__.py:602 -#: awx/main/models/credential/__init__.py:658 -#: awx/main/models/credential/__init__.py:716 -#: awx/main/models/credential/__init__.py:838 -#: awx/main/models/credential/__init__.py:864 -#: awx/main/models/credential/__init__.py:891 -#: awx/main/models/credential/__init__.py:951 -#: awx/main/models/credential/__init__.py:1024 -#: awx/main/models/credential/__init__.py:1055 -#: awx/main/models/credential/__init__.py:1105 +#: awx/main/models/credential/__init__.py:610 +#: awx/main/models/credential/__init__.py:666 +#: awx/main/models/credential/__init__.py:724 +#: awx/main/models/credential/__init__.py:855 +#: awx/main/models/credential/__init__.py:881 +#: awx/main/models/credential/__init__.py:941 +#: awx/main/models/credential/__init__.py:1014 +#: awx/main/models/credential/__init__.py:1045 +#: awx/main/models/credential/__init__.py:1097 msgid "Password" msgstr "密码" -#: awx/main/models/credential/__init__.py:608 -#: awx/main/models/credential/__init__.py:721 +#: awx/main/models/credential/__init__.py:616 +#: awx/main/models/credential/__init__.py:729 msgid "SSH Private Key" msgstr "SSH 私钥" -#: awx/main/models/credential/__init__.py:615 +#: awx/main/models/credential/__init__.py:623 msgid "Signed SSH Certificate" msgstr "签名的 SSH 证书" -#: awx/main/models/credential/__init__.py:621 -#: awx/main/models/credential/__init__.py:670 -#: awx/main/models/credential/__init__.py:728 +#: awx/main/models/credential/__init__.py:629 +#: awx/main/models/credential/__init__.py:678 +#: awx/main/models/credential/__init__.py:736 msgid "Private Key Passphrase" msgstr "私钥密码" -#: awx/main/models/credential/__init__.py:627 +#: awx/main/models/credential/__init__.py:635 msgid "Privilege Escalation Method" msgstr "权限升级方法" -#: awx/main/models/credential/__init__.py:629 +#: awx/main/models/credential/__init__.py:637 msgid "" "Specify a method for \"become\" operations. This is equivalent to specifying " "the --become-method Ansible parameter." msgstr "指定 \"become\" 操作的方法。这等同于指定 --become-method Ansible 参数。" -#: awx/main/models/credential/__init__.py:634 +#: awx/main/models/credential/__init__.py:642 msgid "Privilege Escalation Username" msgstr "权限升级用户名" -#: awx/main/models/credential/__init__.py:638 +#: awx/main/models/credential/__init__.py:646 msgid "Privilege Escalation Password" msgstr "权限升级密码" -#: awx/main/models/credential/__init__.py:663 +#: awx/main/models/credential/__init__.py:671 msgid "SCM Private Key" msgstr "SCM 私钥" -#: awx/main/models/credential/__init__.py:685 +#: awx/main/models/credential/__init__.py:693 msgid "Vault Password" msgstr "Vault 密码" -#: awx/main/models/credential/__init__.py:691 +#: awx/main/models/credential/__init__.py:699 msgid "Vault Identifier" msgstr "Vault 标识符" -#: awx/main/models/credential/__init__.py:694 +#: awx/main/models/credential/__init__.py:702 msgid "" "Specify an (optional) Vault ID. This is equivalent to specifying the --vault-" "id Ansible parameter for providing multiple Vault passwords. Note: this " "feature only works in Ansible 2.4+." msgstr "指定(可选)Vault ID。这等同于为提供多个 Vault 密码指定 --vault-id Ansible 参数。请注意:此功能只在 Ansible 2.4+ 中有效。" -#: awx/main/models/credential/__init__.py:733 +#: awx/main/models/credential/__init__.py:741 msgid "Authorize" msgstr "授权" -#: awx/main/models/credential/__init__.py:737 +#: awx/main/models/credential/__init__.py:745 msgid "Authorize Password" msgstr "授权密码" -#: awx/main/models/credential/__init__.py:751 +#: awx/main/models/credential/__init__.py:759 msgid "Amazon Web Services" msgstr "Amazon Web Services" -#: awx/main/models/credential/__init__.py:756 +#: awx/main/models/credential/__init__.py:764 msgid "Access Key" msgstr "访问密钥" -#: awx/main/models/credential/__init__.py:760 +#: awx/main/models/credential/__init__.py:768 msgid "Secret Key" msgstr "机密密钥" -#: awx/main/models/credential/__init__.py:765 +#: awx/main/models/credential/__init__.py:773 msgid "STS Token" msgstr "STS 令牌" -#: awx/main/models/credential/__init__.py:768 +#: awx/main/models/credential/__init__.py:776 msgid "" "Security Token Service (STS) is a web service that enables you to request " "temporary, limited-privilege credentials for AWS Identity and Access " "Management (IAM) users." msgstr "安全令牌服务 (STS) 是一个 Web 服务,让您可以为 AWS 身份和访问管理 (IAM) 用户请求临时的有限权限凭证。" -#: awx/main/models/credential/__init__.py:780 awx/main/models/inventory.py:833 +#: awx/main/models/credential/__init__.py:788 awx/main/models/inventory.py:826 msgid "OpenStack" msgstr "OpenStack" -#: awx/main/models/credential/__init__.py:789 +#: awx/main/models/credential/__init__.py:797 msgid "Password (API Key)" msgstr "密码(API 密钥)" -#: awx/main/models/credential/__init__.py:794 -#: awx/main/models/credential/__init__.py:1046 +#: awx/main/models/credential/__init__.py:802 +#: awx/main/models/credential/__init__.py:1036 msgid "Host (Authentication URL)" msgstr "主机(身份验证 URL)" -#: awx/main/models/credential/__init__.py:796 +#: awx/main/models/credential/__init__.py:804 msgid "" "The host to authenticate with. For example, https://openstack.business.com/" "v2.0/" msgstr "要进行身份验证的主机。例如:https://openstack.business.com/v_2.0/" -#: awx/main/models/credential/__init__.py:800 +#: awx/main/models/credential/__init__.py:808 msgid "Project (Tenant Name)" msgstr "项目(租户名称)" -#: awx/main/models/credential/__init__.py:804 +#: awx/main/models/credential/__init__.py:812 +msgid "Project (Domain Name)" +msgstr "项目(域名)" + +#: awx/main/models/credential/__init__.py:816 msgid "Domain Name" msgstr "域名" -#: awx/main/models/credential/__init__.py:806 +#: awx/main/models/credential/__init__.py:818 msgid "" "OpenStack domains define administrative boundaries. It is only needed for " "Keystone v3 authentication URLs. Refer to Ansible Tower documentation for " "common scenarios." msgstr "OpenStack 域定义了管理边界。只有 Keystone v3 身份验证 URL 需要域。常见的情景请参阅 Ansible Tower 文档。" -#: awx/main/models/credential/__init__.py:812 -#: awx/main/models/credential/__init__.py:1110 +#: awx/main/models/credential/__init__.py:824 +msgid "Region Name" +msgstr "区域名称" + +#: awx/main/models/credential/__init__.py:826 +msgid "For some cloud providers, like OVH, region must be specified" +msgstr "对于某些云供应商,如 OVH,必须指定区域" + +#: awx/main/models/credential/__init__.py:829 +#: awx/main/models/credential/__init__.py:1109 #: awx/main/models/credential/__init__.py:1144 msgid "Verify SSL" msgstr "验证 SSL" -#: awx/main/models/credential/__init__.py:823 awx/main/models/inventory.py:830 +#: awx/main/models/credential/__init__.py:840 awx/main/models/inventory.py:824 msgid "VMware vCenter" msgstr "VMware vCenter" -#: awx/main/models/credential/__init__.py:828 +#: awx/main/models/credential/__init__.py:845 msgid "VCenter Host" msgstr "vCenter 主机" -#: awx/main/models/credential/__init__.py:830 +#: awx/main/models/credential/__init__.py:847 msgid "" "Enter the hostname or IP address that corresponds to your VMware vCenter." msgstr "输入与 VMware vCenter 对应的主机名或 IP 地址。" -#: awx/main/models/credential/__init__.py:849 awx/main/models/inventory.py:831 +#: awx/main/models/credential/__init__.py:866 awx/main/models/inventory.py:825 msgid "Red Hat Satellite 6" msgstr "红帽卫星 6" -#: awx/main/models/credential/__init__.py:854 +#: awx/main/models/credential/__init__.py:871 msgid "Satellite 6 URL" msgstr "卫星 6 URL" -#: awx/main/models/credential/__init__.py:856 +#: awx/main/models/credential/__init__.py:873 msgid "" "Enter the URL that corresponds to your Red Hat Satellite 6 server. For " "example, https://satellite.example.org" msgstr "输入与您的红帽卫星 6 服务器对应的 URL。例如:https://satellite.example.org" -#: awx/main/models/credential/__init__.py:875 awx/main/models/inventory.py:832 -msgid "Red Hat CloudForms" -msgstr "Red Hat CloudForms" - -#: awx/main/models/credential/__init__.py:880 -msgid "CloudForms URL" -msgstr "CloudForms URL" - -#: awx/main/models/credential/__init__.py:882 -msgid "" -"Enter the URL for the virtual machine that corresponds to your CloudForms " -"instance. For example, https://cloudforms.example.org" -msgstr "输入与您的 CloudForms 实例对应的虚拟机的 URL。例如:https://cloudforms.example.org" - -#: awx/main/models/credential/__init__.py:902 awx/main/models/inventory.py:828 +#: awx/main/models/credential/__init__.py:892 awx/main/models/inventory.py:822 msgid "Google Compute Engine" msgstr "Google Compute Engine" -#: awx/main/models/credential/__init__.py:907 +#: awx/main/models/credential/__init__.py:897 msgid "Service Account Email Address" msgstr "服务账户电子邮件地址" -#: awx/main/models/credential/__init__.py:909 +#: awx/main/models/credential/__init__.py:899 msgid "" "The email address assigned to the Google Compute Engine service account." msgstr "分配给 Google Compute Engine 服务账户的电子邮件地址。" -#: awx/main/models/credential/__init__.py:915 +#: awx/main/models/credential/__init__.py:905 msgid "" "The Project ID is the GCE assigned identification. It is often constructed " "as three words or two words followed by a three-digit number. Examples: " "project-id-000 and another-project-id" msgstr "项目 ID 是 GCE 分配的标识。它通常由两三个单词构成,后跟三位数字。示例:project-id-000 和 another-project-id" -#: awx/main/models/credential/__init__.py:921 +#: awx/main/models/credential/__init__.py:911 msgid "RSA Private Key" msgstr "RSA 私钥" -#: awx/main/models/credential/__init__.py:926 +#: awx/main/models/credential/__init__.py:916 msgid "" "Paste the contents of the PEM file associated with the service account email." msgstr "粘贴与服务账户电子邮件关联的 PEM 文件的内容。" -#: awx/main/models/credential/__init__.py:936 awx/main/models/inventory.py:829 +#: awx/main/models/credential/__init__.py:926 awx/main/models/inventory.py:823 msgid "Microsoft Azure Resource Manager" msgstr "Microsoft Azure Resource Manager" -#: awx/main/models/credential/__init__.py:941 +#: awx/main/models/credential/__init__.py:931 msgid "Subscription ID" msgstr "订阅 ID" -#: awx/main/models/credential/__init__.py:943 +#: awx/main/models/credential/__init__.py:933 msgid "Subscription ID is an Azure construct, which is mapped to a username." msgstr "订阅 ID 是一个 Azure 构造函数,它映射到一个用户名。" -#: awx/main/models/credential/__init__.py:969 +#: awx/main/models/credential/__init__.py:959 msgid "Azure Cloud Environment" msgstr "Azure 云环境" -#: awx/main/models/credential/__init__.py:971 +#: awx/main/models/credential/__init__.py:961 msgid "" "Environment variable AZURE_CLOUD_ENVIRONMENT when using Azure GovCloud or " "Azure stack." msgstr "使用 Azure GovCloud 或 Azure 堆栈时的环境变量 Azure_CLOUD_ENVIRONMENT。" -#: awx/main/models/credential/__init__.py:981 +#: awx/main/models/credential/__init__.py:971 msgid "GitHub Personal Access Token" msgstr "GitHub 个人访问令牌" -#: awx/main/models/credential/__init__.py:989 +#: awx/main/models/credential/__init__.py:979 msgid "This token needs to come from your profile settings in GitHub" msgstr "此令牌需要来自您在 GitHub 中的配置文件设置" -#: awx/main/models/credential/__init__.py:998 +#: awx/main/models/credential/__init__.py:988 msgid "GitLab Personal Access Token" msgstr "GitLab 个人访问令牌" -#: awx/main/models/credential/__init__.py:1006 +#: awx/main/models/credential/__init__.py:996 msgid "This token needs to come from your profile settings in GitLab" msgstr "此令牌需要来自您在 GitLab 中的配置文件设置" -#: awx/main/models/credential/__init__.py:1041 awx/main/models/inventory.py:834 +#: awx/main/models/credential/__init__.py:1031 awx/main/models/inventory.py:827 msgid "Red Hat Virtualization" msgstr "红帽虚拟化" -#: awx/main/models/credential/__init__.py:1048 +#: awx/main/models/credential/__init__.py:1038 msgid "The host to authenticate with." msgstr "要进行验证的主机。" -#: awx/main/models/credential/__init__.py:1060 +#: awx/main/models/credential/__init__.py:1050 msgid "CA File" msgstr "CA 文件" -#: awx/main/models/credential/__init__.py:1062 +#: awx/main/models/credential/__init__.py:1052 msgid "Absolute file path to the CA file to use (optional)" msgstr "要使用的 CA 文件的绝对文件路径(可选)" -#: awx/main/models/credential/__init__.py:1091 awx/main/models/inventory.py:835 +#: awx/main/models/credential/__init__.py:1081 awx/main/models/inventory.py:828 msgid "Ansible Tower" msgstr "Ansible Tower" -#: awx/main/models/credential/__init__.py:1096 +#: awx/main/models/credential/__init__.py:1086 msgid "Ansible Tower Hostname" msgstr "Ansible Tower 主机名" -#: awx/main/models/credential/__init__.py:1098 +#: awx/main/models/credential/__init__.py:1088 msgid "The Ansible Tower base URL to authenticate with." msgstr "要进行身份验证的 Ansible Tower 基本 URL。" +#: awx/main/models/credential/__init__.py:1093 +msgid "" +"The Ansible Tower user to authenticate as.This should not be set if an OAuth " +"token is being used." +msgstr "要使用 OAuth 令牌进行身份验证的 Ansible Tower 用户。" + +#: awx/main/models/credential/__init__.py:1102 +msgid "OAuth Token" +msgstr "OAuth 令牌" + +#: awx/main/models/credential/__init__.py:1105 +msgid "" +"An OAuth token to use to authenticate to Tower with.This should not be set " +"if username/password are being used." +msgstr "用于使用 Tower 身份验证的 OAuth 令牌。如果使用了用户名/密码,则不要设置此令牌。" + #: awx/main/models/credential/__init__.py:1130 msgid "OpenShift or Kubernetes API Bearer Token" msgstr "OpenShift 或 Kubernetes API 持有者令牌" @@ -3453,464 +3566,447 @@ msgstr "API 身份验证持有者令牌" msgid "Certificate Authority data" msgstr "证书颁发机构数据" -#: awx/main/models/credential/__init__.py:1190 +#: awx/main/models/credential/__init__.py:1162 +msgid "Ansible Galaxy/Automation Hub API Token" +msgstr "Ansible Galaxy/Automation Hub API 令牌" + +#: awx/main/models/credential/__init__.py:1166 +msgid "Galaxy Server URL" +msgstr "Galaxy Server URL" + +#: awx/main/models/credential/__init__.py:1168 +msgid "The URL of the Galaxy instance to connect to." +msgstr "要连接的 Galaxy 实例的 URL。" + +#: awx/main/models/credential/__init__.py:1171 +msgid "Auth Server URL" +msgstr "Auth 服务器 URL" + +#: awx/main/models/credential/__init__.py:1174 +msgid "The URL of a Keycloak server token_endpoint, if using SSO auth." +msgstr "如果使用 SSO 身份验证,Keycloak 服务器 token_endpoint 的 URL。" + +#: awx/main/models/credential/__init__.py:1179 +msgid "API Token" +msgstr "API 令牌" + +#: awx/main/models/credential/__init__.py:1183 +msgid "A token to use for authentication against the Galaxy instance." +msgstr "用于针对 Galaxy 实例进行身份验证的令牌。" + +#: awx/main/models/credential/__init__.py:1222 msgid "Target must be a non-external credential" msgstr "目标必须是非外部凭证" -#: awx/main/models/credential/__init__.py:1195 +#: awx/main/models/credential/__init__.py:1227 msgid "Source must be an external credential" msgstr "源必须是外部凭证" -#: awx/main/models/credential/__init__.py:1202 +#: awx/main/models/credential/__init__.py:1234 msgid "Input field must be defined on target credential (options are {})." msgstr "输入字段必须在目标凭证上定义(选项为 {})。" -#: awx/main/models/events.py:152 awx/main/models/events.py:674 +#: awx/main/models/events.py:165 awx/main/models/events.py:707 msgid "Host Failed" msgstr "主机故障" -#: awx/main/models/events.py:153 +#: awx/main/models/events.py:166 msgid "Host Started" msgstr "主机已启动" -#: awx/main/models/events.py:154 awx/main/models/events.py:675 +#: awx/main/models/events.py:167 awx/main/models/events.py:708 msgid "Host OK" msgstr "主机正常" -#: awx/main/models/events.py:155 +#: awx/main/models/events.py:168 msgid "Host Failure" msgstr "主机故障" -#: awx/main/models/events.py:156 awx/main/models/events.py:681 +#: awx/main/models/events.py:169 awx/main/models/events.py:714 msgid "Host Skipped" msgstr "主机已跳过" -#: awx/main/models/events.py:157 awx/main/models/events.py:676 +#: awx/main/models/events.py:170 awx/main/models/events.py:709 msgid "Host Unreachable" msgstr "主机无法访问" -#: awx/main/models/events.py:158 awx/main/models/events.py:172 +#: awx/main/models/events.py:171 awx/main/models/events.py:185 msgid "No Hosts Remaining" msgstr "没有剩余主机" -#: awx/main/models/events.py:159 +#: awx/main/models/events.py:172 msgid "Host Polling" msgstr "主机轮询" -#: awx/main/models/events.py:160 +#: awx/main/models/events.py:173 msgid "Host Async OK" msgstr "主机异步正常" -#: awx/main/models/events.py:161 +#: awx/main/models/events.py:174 msgid "Host Async Failure" msgstr "主机同步故障" -#: awx/main/models/events.py:162 +#: awx/main/models/events.py:175 msgid "Item OK" msgstr "项正常" -#: awx/main/models/events.py:163 +#: awx/main/models/events.py:176 msgid "Item Failed" msgstr "项故障" -#: awx/main/models/events.py:164 +#: awx/main/models/events.py:177 msgid "Item Skipped" msgstr "项已跳过" -#: awx/main/models/events.py:165 +#: awx/main/models/events.py:178 msgid "Host Retry" msgstr "主机重试" -#: awx/main/models/events.py:167 +#: awx/main/models/events.py:180 msgid "File Difference" msgstr "文件差异" -#: awx/main/models/events.py:168 +#: awx/main/models/events.py:181 msgid "Playbook Started" msgstr "Playbook 已启动" -#: awx/main/models/events.py:169 +#: awx/main/models/events.py:182 msgid "Running Handlers" msgstr "正在运行的处理程序" -#: awx/main/models/events.py:170 +#: awx/main/models/events.py:183 msgid "Including File" msgstr "包含文件" -#: awx/main/models/events.py:171 +#: awx/main/models/events.py:184 msgid "No Hosts Matched" msgstr "未匹配主机" -#: awx/main/models/events.py:173 +#: awx/main/models/events.py:186 msgid "Task Started" msgstr "任务已启动" -#: awx/main/models/events.py:175 +#: awx/main/models/events.py:188 msgid "Variables Prompted" msgstr "提示变量" -#: awx/main/models/events.py:176 +#: awx/main/models/events.py:189 msgid "Gathering Facts" msgstr "收集事实" -#: awx/main/models/events.py:177 +#: awx/main/models/events.py:190 msgid "internal: on Import for Host" msgstr "内部:导入主机时" -#: awx/main/models/events.py:178 +#: awx/main/models/events.py:191 msgid "internal: on Not Import for Host" msgstr "内部:不为主机导入时" -#: awx/main/models/events.py:179 +#: awx/main/models/events.py:192 msgid "Play Started" msgstr "Play 已启动" -#: awx/main/models/events.py:180 +#: awx/main/models/events.py:193 msgid "Playbook Complete" msgstr "Playbook 完成" -#: awx/main/models/events.py:184 awx/main/models/events.py:691 +#: awx/main/models/events.py:197 awx/main/models/events.py:724 msgid "Debug" msgstr "调试" -#: awx/main/models/events.py:185 awx/main/models/events.py:692 +#: awx/main/models/events.py:198 awx/main/models/events.py:725 msgid "Verbose" msgstr "详细" -#: awx/main/models/events.py:186 awx/main/models/events.py:693 +#: awx/main/models/events.py:199 awx/main/models/events.py:726 msgid "Deprecated" msgstr "已弃用" -#: awx/main/models/events.py:187 awx/main/models/events.py:694 +#: awx/main/models/events.py:200 awx/main/models/events.py:727 msgid "Warning" msgstr "警告" -#: awx/main/models/events.py:188 awx/main/models/events.py:695 +#: awx/main/models/events.py:201 awx/main/models/events.py:728 msgid "System Warning" msgstr "系统警告" -#: awx/main/models/events.py:189 awx/main/models/events.py:696 +#: awx/main/models/events.py:202 awx/main/models/events.py:729 #: awx/main/models/unified_jobs.py:75 msgid "Error" msgstr "错误" -#: awx/main/models/ha.py:175 +#: awx/main/models/ha.py:184 msgid "Instances that are members of this InstanceGroup" msgstr "属于此实例组成员的实例" -#: awx/main/models/ha.py:180 +#: awx/main/models/ha.py:189 msgid "Instance Group to remotely control this group." msgstr "远程控制此组的实例组。" -#: awx/main/models/ha.py:200 +#: awx/main/models/ha.py:209 msgid "Percentage of Instances to automatically assign to this group" msgstr "自动分配给此组的实例百分比" -#: awx/main/models/ha.py:204 +#: awx/main/models/ha.py:213 msgid "" "Static minimum number of Instances to automatically assign to this group" msgstr "自动分配给此组的静态最小实例数量" -#: awx/main/models/ha.py:209 +#: awx/main/models/ha.py:218 msgid "" "List of exact-match Instances that will always be automatically assigned to " "this group" msgstr "将始终自动分配给此组的完全匹配实例的列表" -#: awx/main/models/inventory.py:80 +#: awx/main/models/inventory.py:74 msgid "Hosts have a direct link to this inventory." msgstr "主机具有指向此清单的直接链接。" -#: awx/main/models/inventory.py:81 +#: awx/main/models/inventory.py:75 msgid "Hosts for inventory generated using the host_filter property." msgstr "使用 host_filter 属性生成的清单的主机。" -#: awx/main/models/inventory.py:86 +#: awx/main/models/inventory.py:80 msgid "inventories" msgstr "清单" -#: awx/main/models/inventory.py:93 +#: awx/main/models/inventory.py:87 msgid "Organization containing this inventory." msgstr "包含此清单的机构。" -#: awx/main/models/inventory.py:100 +#: awx/main/models/inventory.py:94 msgid "Inventory variables in JSON or YAML format." msgstr "JSON 或 YAML 格式的清单变量。" -#: awx/main/models/inventory.py:105 +#: awx/main/models/inventory.py:99 msgid "" "This field is deprecated and will be removed in a future release. Flag " "indicating whether any hosts in this inventory have failed." msgstr "此字段已弃用,并将在以后的发行版本中删除。指示此清单中是否有任何主机故障的标记。" -#: awx/main/models/inventory.py:111 +#: awx/main/models/inventory.py:105 msgid "" "This field is deprecated and will be removed in a future release. Total " "number of hosts in this inventory." msgstr "此字段已弃用,并将在以后的发行版本中删除。此清单中的主机总数。" -#: awx/main/models/inventory.py:117 +#: awx/main/models/inventory.py:111 msgid "" "This field is deprecated and will be removed in a future release. Number of " "hosts in this inventory with active failures." msgstr "此字段已弃用,并将在以后的发行版本中删除。此清单中有活跃故障的主机数量。" -#: awx/main/models/inventory.py:123 +#: awx/main/models/inventory.py:117 msgid "" "This field is deprecated and will be removed in a future release. Total " "number of groups in this inventory." msgstr "此字段已弃用,并将在以后的发行版本中删除。此清单中的总组数。" -#: awx/main/models/inventory.py:129 +#: awx/main/models/inventory.py:123 msgid "" "This field is deprecated and will be removed in a future release. Flag " "indicating whether this inventory has any external inventory sources." msgstr "此字段已弃用,并将在以后的发行版本中删除。表示此清单是否有任何外部清单源的标记。" -#: awx/main/models/inventory.py:135 +#: awx/main/models/inventory.py:129 msgid "" "Total number of external inventory sources configured within this inventory." msgstr "在此清单中配置的外部清单源总数。" -#: awx/main/models/inventory.py:140 +#: awx/main/models/inventory.py:134 msgid "Number of external inventory sources in this inventory with failures." msgstr "此清单中有故障的外部清单源数量。" -#: awx/main/models/inventory.py:147 +#: awx/main/models/inventory.py:141 msgid "Kind of inventory being represented." msgstr "所代表的清单种类。" -#: awx/main/models/inventory.py:153 +#: awx/main/models/inventory.py:147 msgid "Filter that will be applied to the hosts of this inventory." msgstr "将应用到此清单的主机的过滤器。" -#: awx/main/models/inventory.py:181 +#: awx/main/models/inventory.py:175 msgid "" "Credentials to be used by hosts belonging to this inventory when accessing " "Red Hat Insights API." msgstr "访问红帽 Insights API 时供属于此清单的主机使用的凭证。" -#: awx/main/models/inventory.py:190 +#: awx/main/models/inventory.py:184 msgid "Flag indicating the inventory is being deleted." msgstr "指示正在删除清单的标记。" -#: awx/main/models/inventory.py:245 +#: awx/main/models/inventory.py:239 msgid "Could not parse subset as slice specification." msgstr "无法将子集作为分片规格来解析。" -#: awx/main/models/inventory.py:249 +#: awx/main/models/inventory.py:243 msgid "Slice number must be less than total number of slices." msgstr "分片数量必须小于分片总数。" -#: awx/main/models/inventory.py:251 +#: awx/main/models/inventory.py:245 msgid "Slice number must be 1 or higher." msgstr "分片数量必须为 1 或更高。" -#: awx/main/models/inventory.py:388 +#: awx/main/models/inventory.py:382 msgid "Assignment not allowed for Smart Inventory" msgstr "智能清单不允许分配" -#: awx/main/models/inventory.py:390 awx/main/models/projects.py:166 +#: awx/main/models/inventory.py:384 awx/main/models/projects.py:166 msgid "Credential kind must be 'insights'." msgstr "凭证种类必须是 'inights'。" -#: awx/main/models/inventory.py:475 +#: awx/main/models/inventory.py:469 msgid "Is this host online and available for running jobs?" msgstr "此主机是否在线,并可用于运行作业?" -#: awx/main/models/inventory.py:481 +#: awx/main/models/inventory.py:475 msgid "" "The value used by the remote inventory source to uniquely identify the host" msgstr "远程清单源用来唯一标识主机的值" -#: awx/main/models/inventory.py:486 +#: awx/main/models/inventory.py:480 msgid "Host variables in JSON or YAML format." msgstr "JSON 或 YAML 格式的主机变量。" -#: awx/main/models/inventory.py:509 +#: awx/main/models/inventory.py:503 msgid "Inventory source(s) that created or modified this host." msgstr "创建或修改此主机的清单源。" -#: awx/main/models/inventory.py:514 +#: awx/main/models/inventory.py:508 msgid "Arbitrary JSON structure of most recent ansible_facts, per-host." msgstr "每个主机最近的 ansible_facts 的任意 JSON 结构。" -#: awx/main/models/inventory.py:520 +#: awx/main/models/inventory.py:514 msgid "The date and time ansible_facts was last modified." msgstr "最后修改 ansible_facts 的日期和时间。" -#: awx/main/models/inventory.py:527 +#: awx/main/models/inventory.py:521 msgid "Red Hat Insights host unique identifier." msgstr "红帽 Insights 主机唯一标识符。" -#: awx/main/models/inventory.py:641 +#: awx/main/models/inventory.py:635 msgid "Group variables in JSON or YAML format." msgstr "JSON 或 YAML 格式的组变量。" -#: awx/main/models/inventory.py:647 +#: awx/main/models/inventory.py:641 msgid "Hosts associated directly with this group." msgstr "与此组直接关联的主机。" -#: awx/main/models/inventory.py:653 +#: awx/main/models/inventory.py:647 msgid "Inventory source(s) that created or modified this group." msgstr "创建或修改此组的清单源。" -#: awx/main/models/inventory.py:825 +#: awx/main/models/inventory.py:819 msgid "File, Directory or Script" msgstr "文件、目录或脚本" -#: awx/main/models/inventory.py:826 +#: awx/main/models/inventory.py:820 msgid "Sourced from a Project" msgstr "源于项目" -#: awx/main/models/inventory.py:827 +#: awx/main/models/inventory.py:821 msgid "Amazon EC2" msgstr "Amazon EC2" -#: awx/main/models/inventory.py:836 +#: awx/main/models/inventory.py:829 msgid "Custom Script" msgstr "自定义脚本" -#: awx/main/models/inventory.py:953 +#: awx/main/models/inventory.py:863 msgid "Inventory source variables in YAML or JSON format." msgstr "YAML 或 JSON 格式的清单源变量。" -#: awx/main/models/inventory.py:964 +#: awx/main/models/inventory.py:868 msgid "" -"Comma-separated list of filter expressions (EC2 only). Hosts are imported " -"when ANY of the filters match." -msgstr "以逗号分隔的过滤器表达式列表(仅限 EC2)。当任何过滤器匹配时会导入主机。" +"Retrieve the enabled state from the given dict of host variables. The " +"enabled variable may be specified as \"foo.bar\", in which case the lookup " +"will traverse into nested dicts, equivalent to: from_dict.get(\"foo\", {})." +"get(\"bar\", default)" +msgstr "从给定的主机变量字典中检索启用的状态。启用的变量可以指定为 \"foo.bar\",此时查找将进入嵌套字典,相当于: from_dict.get(\"foo\", {}).get(\"bar\", default)" -#: awx/main/models/inventory.py:970 -msgid "Limit groups automatically created from inventory source (EC2 only)." -msgstr "限制从清单源自动创建的组(仅限 EC2)。" +#: awx/main/models/inventory.py:876 +msgid "" +"Only used when enabled_var is set. Value when the host is considered " +"enabled. For example if enabled_var=\"status.power_state\"and enabled_value=" +"\"powered_on\" with host variables:{ \"status\": { \"power_state\": " +"\"powered_on\", \"created\": \"2020-08-04T18:13:04+00:00\", \"healthy" +"\": true }, \"name\": \"foobar\", \"ip_address\": \"192.168.2.1\"}" +"The host would be marked enabled. If power_state where any value other than " +"powered_on then the host would be disabled when imported into Tower. If the " +"key is not found then the host will be enabled" +msgstr "仅在设置 enabled_var 时使用。 主机被视为启用时的值。 例如: if enabled_var=\"status.power_state\"and enabled_value=\"powered_on\" with host variables:{ \"status\": { \"power_state\": \"powered_on\", \"created\": \"2020-08-04T18:13:04+00:00\", \"healthy\": true }, \"name\": \"foobar\", \"ip_address\": \"192.168.2.1\"}The host would be marked enabled. 如果 power_state 在除 powered_on 以外的任何值,则会在导入 Tower 时禁用主机。 如果没有找到密钥,则会启用主机" -#: awx/main/models/inventory.py:974 +#: awx/main/models/inventory.py:896 +msgid "Regex where only matching hosts will be imported into Tower." +msgstr "正则表达式,仅把与它匹配的主机导入到 Tower 中。" + +#: awx/main/models/inventory.py:900 msgid "Overwrite local groups and hosts from remote inventory source." msgstr "从远程清单源覆盖本地组和主机。" -#: awx/main/models/inventory.py:978 +#: awx/main/models/inventory.py:904 msgid "Overwrite local variables from remote inventory source." msgstr "从远程清单源覆盖本地变量。" -#: awx/main/models/inventory.py:983 awx/main/models/jobs.py:154 +#: awx/main/models/inventory.py:909 awx/main/models/jobs.py:154 #: awx/main/models/projects.py:135 msgid "The amount of time (in seconds) to run before the task is canceled." msgstr "取消任务前运行的时间(以秒为单位)。" -#: awx/main/models/inventory.py:1016 -msgid "Image ID" -msgstr "镜像 ID" - -#: awx/main/models/inventory.py:1017 -msgid "Availability Zone" -msgstr "可用性区域" - -#: awx/main/models/inventory.py:1019 -msgid "Instance ID" -msgstr "实例 ID" - -#: awx/main/models/inventory.py:1020 -msgid "Instance State" -msgstr "实例状态" - -#: awx/main/models/inventory.py:1021 -msgid "Platform" -msgstr "平台" - -#: awx/main/models/inventory.py:1022 -msgid "Instance Type" -msgstr "实例类型" - -#: awx/main/models/inventory.py:1024 -msgid "Region" -msgstr "区域" - -#: awx/main/models/inventory.py:1025 -msgid "Security Group" -msgstr "安全组" - -#: awx/main/models/inventory.py:1026 -msgid "Tags" -msgstr "标签" - -#: awx/main/models/inventory.py:1027 -msgid "Tag None" -msgstr "标签 None" - -#: awx/main/models/inventory.py:1028 -msgid "VPC ID" -msgstr "VPC ID" - -#: awx/main/models/inventory.py:1096 +#: awx/main/models/inventory.py:926 #, python-format msgid "" "Cloud-based inventory sources (such as %s) require credentials for the " "matching cloud service." msgstr "基于云的清单源(如 %s)需要匹配的云服务的凭证。" -#: awx/main/models/inventory.py:1102 +#: awx/main/models/inventory.py:932 msgid "Credential is required for a cloud source." msgstr "云源需要凭证。" -#: awx/main/models/inventory.py:1105 +#: awx/main/models/inventory.py:935 msgid "" "Credentials of type machine, source control, insights and vault are " "disallowed for custom inventory sources." msgstr "对于自定义清单源,不允许使用机器、源控制、insights 和 vault 类型的凭证。" -#: awx/main/models/inventory.py:1110 +#: awx/main/models/inventory.py:940 msgid "" "Credentials of type insights and vault are disallowed for scm inventory " "sources." msgstr "对于 scm 清单源,不允许使用 insights 和 vault 类型的凭证。" -#: awx/main/models/inventory.py:1170 -#, python-format -msgid "Invalid %(source)s region: %(region)s" -msgstr "无效的 %(source)s 区域:%(region)s" - -#: awx/main/models/inventory.py:1194 -#, python-format -msgid "Invalid filter expression: %(filter)s" -msgstr "无效的过滤器表达式:%(filter)s" - -#: awx/main/models/inventory.py:1215 -#, python-format -msgid "Invalid group by choice: %(choice)s" -msgstr "选择的组无效:%(choice)s" - -#: awx/main/models/inventory.py:1243 +#: awx/main/models/inventory.py:1004 msgid "Project containing inventory file used as source." msgstr "包含用作源的清单文件的项目。" -#: awx/main/models/inventory.py:1416 +#: awx/main/models/inventory.py:1177 msgid "" "More than one SCM-based inventory source with update on project update per-" "inventory not allowed." msgstr "不允许多个基于 SCM 的清单源按清单在项目更新时更新。" -#: awx/main/models/inventory.py:1423 +#: awx/main/models/inventory.py:1184 msgid "" "Cannot update SCM-based inventory source on launch if set to update on " "project update. Instead, configure the corresponding source project to " "update on launch." msgstr "如果设置为在项目更新时更新,则无法在启动时更新基于 SCM 的清单源。应将对应的源项目配置为在启动时更新。" -#: awx/main/models/inventory.py:1429 +#: awx/main/models/inventory.py:1190 msgid "Cannot set source_path if not SCM type." msgstr "如果不是 SCM 类型,则无法设置 source_path。" -#: awx/main/models/inventory.py:1472 +#: awx/main/models/inventory.py:1233 msgid "" "Inventory files from this Project Update were used for the inventory update." msgstr "此项目更新中的清单文件用于清单更新。" -#: awx/main/models/inventory.py:1583 +#: awx/main/models/inventory.py:1344 msgid "Inventory script contents" msgstr "清单脚本内容" -#: awx/main/models/inventory.py:1588 +#: awx/main/models/inventory.py:1349 msgid "Organization owning this inventory script" msgstr "拥有此清单脚本的机构" @@ -3948,89 +4044,89 @@ msgstr "作业模板必须提供“清单”或允许相关提示。" msgid "Maximum number of forks ({settings.MAX_FORKS}) exceeded." msgstr "超过了最大 fork 数量 ({settings.MAX_FORKS}) 。" -#: awx/main/models/jobs.py:463 +#: awx/main/models/jobs.py:459 msgid "Project is missing." msgstr "项目缺失。" -#: awx/main/models/jobs.py:467 +#: awx/main/models/jobs.py:463 msgid "Project does not allow override of branch." msgstr "项目不允许覆写分支。" -#: awx/main/models/jobs.py:477 awx/main/models/workflow.py:545 +#: awx/main/models/jobs.py:473 awx/main/models/workflow.py:545 msgid "Field is not configured to prompt on launch." msgstr "字段没有配置为启动时提示。" -#: awx/main/models/jobs.py:483 +#: awx/main/models/jobs.py:479 msgid "Saved launch configurations cannot provide passwords needed to start." msgstr "保存的启动配置无法提供启动所需的密码。" -#: awx/main/models/jobs.py:491 +#: awx/main/models/jobs.py:487 msgid "Job Template {} is missing or undefined." msgstr "作业模板 {} 缺失或未定义。" -#: awx/main/models/jobs.py:574 awx/main/models/projects.py:278 -#: awx/main/models/projects.py:497 +#: awx/main/models/jobs.py:570 awx/main/models/projects.py:283 +#: awx/main/models/projects.py:507 msgid "SCM Revision" msgstr "SCM 修订" -#: awx/main/models/jobs.py:575 +#: awx/main/models/jobs.py:571 msgid "The SCM Revision from the Project used for this job, if available" msgstr "用于此作业的项目中的 SCM 修订(如果可用)" -#: awx/main/models/jobs.py:583 +#: awx/main/models/jobs.py:579 msgid "" "The SCM Refresh task used to make sure the playbooks were available for the " "job run" msgstr "用于确保 playbook 可用于作业运行的 SCM 刷新任务" -#: awx/main/models/jobs.py:588 +#: awx/main/models/jobs.py:584 msgid "" "If part of a sliced job, the ID of the inventory slice operated on. If not " "part of sliced job, parameter is not used." msgstr "如果是分片作业的一部分,则为所操作的清单分片的 ID。如果不是分片作业的一部分,则不使用参数。" -#: awx/main/models/jobs.py:594 +#: awx/main/models/jobs.py:590 msgid "" "If ran as part of sliced jobs, the total number of slices. If 1, job is not " "part of a sliced job." msgstr "如果作为分片作业的一部分运行,则为分片总数。如果为 1,则作业不是分片作业的一部分。" -#: awx/main/models/jobs.py:676 +#: awx/main/models/jobs.py:672 #, python-brace-format msgid "{status_value} is not a valid status option." msgstr "{status_value} 不是有效的状态选项。" -#: awx/main/models/jobs.py:926 +#: awx/main/models/jobs.py:928 msgid "" "Inventory applied as a prompt, assuming job template prompts for inventory" msgstr "作为提示而应用的清单,假定作业模板提示提供清单" -#: awx/main/models/jobs.py:1085 +#: awx/main/models/jobs.py:1087 msgid "job host summaries" msgstr "作业主机摘要" -#: awx/main/models/jobs.py:1144 +#: awx/main/models/jobs.py:1146 msgid "Remove jobs older than a certain number of days" msgstr "删除超过特定天数的作业" -#: awx/main/models/jobs.py:1145 +#: awx/main/models/jobs.py:1147 msgid "Remove activity stream entries older than a certain number of days" msgstr "删除比特定天数旧的活动流条目" -#: awx/main/models/jobs.py:1146 +#: awx/main/models/jobs.py:1148 msgid "Removes expired browser sessions from the database" msgstr "从数据库中删除已过期的浏览器会话" -#: awx/main/models/jobs.py:1147 +#: awx/main/models/jobs.py:1149 msgid "Removes expired OAuth 2 access tokens and refresh tokens" msgstr "删除已过期的 OAuth 2 访问令牌并刷新令牌" -#: awx/main/models/jobs.py:1217 +#: awx/main/models/jobs.py:1219 #, python-brace-format msgid "Variables {list_of_keys} are not allowed for system jobs." msgstr "系统作业不允许使用变量 {list_of_keys}。" -#: awx/main/models/jobs.py:1233 +#: awx/main/models/jobs.py:1235 msgid "days must be a positive integer." msgstr "天必须为正整数。" @@ -4069,63 +4165,59 @@ msgstr "将状态发回服务 API 的个人访问令牌" msgid "Unique identifier of the event that triggered this webhook" msgstr "触发此 Webhook 的事件的唯一标识符" -#: awx/main/models/notifications.py:42 +#: awx/main/models/notifications.py:41 msgid "Email" msgstr "电子邮件" -#: awx/main/models/notifications.py:43 +#: awx/main/models/notifications.py:42 msgid "Slack" msgstr "Slack" -#: awx/main/models/notifications.py:44 +#: awx/main/models/notifications.py:43 msgid "Twilio" msgstr "Twilio" -#: awx/main/models/notifications.py:45 +#: awx/main/models/notifications.py:44 msgid "Pagerduty" msgstr "Pagerduty" -#: awx/main/models/notifications.py:46 +#: awx/main/models/notifications.py:45 msgid "Grafana" msgstr "Grafana" -#: awx/main/models/notifications.py:47 -msgid "HipChat" -msgstr "HipChat" - -#: awx/main/models/notifications.py:48 awx/main/models/unified_jobs.py:545 +#: awx/main/models/notifications.py:46 awx/main/models/unified_jobs.py:544 msgid "Webhook" msgstr "Webhook" -#: awx/main/models/notifications.py:49 +#: awx/main/models/notifications.py:47 msgid "Mattermost" msgstr "Mattermost" -#: awx/main/models/notifications.py:50 +#: awx/main/models/notifications.py:48 msgid "Rocket.Chat" msgstr "Rocket.Chat" -#: awx/main/models/notifications.py:51 +#: awx/main/models/notifications.py:49 msgid "IRC" msgstr "IRC" -#: awx/main/models/notifications.py:82 +#: awx/main/models/notifications.py:80 msgid "Optional custom messages for notification template." msgstr "通知模板的可选自定义消息。" -#: awx/main/models/notifications.py:212 awx/main/models/unified_jobs.py:70 +#: awx/main/models/notifications.py:210 awx/main/models/unified_jobs.py:70 msgid "Pending" msgstr "待处理" -#: awx/main/models/notifications.py:213 awx/main/models/unified_jobs.py:73 +#: awx/main/models/notifications.py:211 awx/main/models/unified_jobs.py:73 msgid "Successful" msgstr "成功" -#: awx/main/models/notifications.py:214 awx/main/models/unified_jobs.py:74 +#: awx/main/models/notifications.py:212 awx/main/models/unified_jobs.py:74 msgid "Failed" msgstr "失败" -#: awx/main/models/notifications.py:467 +#: awx/main/models/notifications.py:480 msgid "status must be either running, succeeded or failed" msgstr "状态必须是正在运行、成功或失败" @@ -4194,11 +4286,11 @@ msgid "" "authentication provider ({})" msgstr "OAuth2 令牌不能由与外部身份验证提供商 ({}) 关联的用户创建" -#: awx/main/models/organization.py:51 +#: awx/main/models/organization.py:57 msgid "Maximum number of hosts allowed to be managed by this organization." msgstr "允许由此机构管理的最大主机数。" -#: awx/main/models/projects.py:53 awx/main/models/unified_jobs.py:539 +#: awx/main/models/projects.py:53 awx/main/models/unified_jobs.py:538 msgid "Manual" msgstr "手动" @@ -4207,17 +4299,17 @@ msgid "Git" msgstr "Git" #: awx/main/models/projects.py:55 -msgid "Mercurial" -msgstr "Mercurial" - -#: awx/main/models/projects.py:56 msgid "Subversion" msgstr "Subversion" -#: awx/main/models/projects.py:57 +#: awx/main/models/projects.py:56 msgid "Red Hat Insights" msgstr "红帽 Insights" +#: awx/main/models/projects.py:57 +msgid "Remote Archive" +msgstr "远程归档" + #: awx/main/models/projects.py:83 msgid "" "Local path (relative to PROJECTS_ROOT) containing playbooks and related " @@ -4284,52 +4376,52 @@ msgstr "凭证种类必须是 'scm'。" msgid "Invalid credential." msgstr "无效凭证。" -#: awx/main/models/projects.py:259 +#: awx/main/models/projects.py:264 msgid "Update the project when a job is launched that uses the project." msgstr "当使用项目的作业启动时更新项目。" -#: awx/main/models/projects.py:264 +#: awx/main/models/projects.py:269 msgid "" "The number of seconds after the last project update ran that a new project " "update will be launched as a job dependency." msgstr "最后一次项目更新运行后等待的秒数,此后将启动一个新项目更新作为作业依赖项。" -#: awx/main/models/projects.py:269 +#: awx/main/models/projects.py:274 msgid "" "Allow changing the SCM branch or revision in a job template that uses this " "project." msgstr "允许在使用此项目的作业模板中更改 SCM 分支或修订版本。" -#: awx/main/models/projects.py:279 +#: awx/main/models/projects.py:284 msgid "The last revision fetched by a project update" msgstr "项目更新获取的最后修订版本" -#: awx/main/models/projects.py:286 +#: awx/main/models/projects.py:291 msgid "Playbook Files" msgstr "Playbook 文件" -#: awx/main/models/projects.py:287 +#: awx/main/models/projects.py:292 msgid "List of playbooks found in the project" msgstr "项目中找到的 playbook 列表" -#: awx/main/models/projects.py:294 +#: awx/main/models/projects.py:299 msgid "Inventory Files" msgstr "清单文件" -#: awx/main/models/projects.py:295 +#: awx/main/models/projects.py:300 msgid "" "Suggested list of content that could be Ansible inventory in the project" msgstr "可作为项目中的 Ansible 清单的建议内容列表" -#: awx/main/models/projects.py:332 +#: awx/main/models/projects.py:337 msgid "Organization cannot be changed when in use by job templates." msgstr "当作业使用时不能更改机构。" -#: awx/main/models/projects.py:490 +#: awx/main/models/projects.py:500 msgid "Parts of the project update playbook that will be run." msgstr "将要运行的项目更新 playbook 的部分。" -#: awx/main/models/projects.py:498 +#: awx/main/models/projects.py:508 msgid "" "The SCM Revision discovered by this update for the given project and branch." msgstr "此更新针对给定项目和分支发现的 SCM 修订。" @@ -4558,81 +4650,81 @@ msgstr "更新" msgid "The organization used to determine access to this template." msgstr "用于决定访问此模板的机构。" -#: awx/main/models/unified_jobs.py:466 +#: awx/main/models/unified_jobs.py:465 msgid "Field is not allowed on launch." msgstr "启动时不允许使用字段。" -#: awx/main/models/unified_jobs.py:494 +#: awx/main/models/unified_jobs.py:493 #, python-brace-format msgid "" "Variables {list_of_keys} provided, but this template cannot accept variables." msgstr "提供了 {list_of_keys} 变量,但此模板无法接受变量。" -#: awx/main/models/unified_jobs.py:540 +#: awx/main/models/unified_jobs.py:539 msgid "Relaunch" msgstr "重新启动" -#: awx/main/models/unified_jobs.py:541 +#: awx/main/models/unified_jobs.py:540 msgid "Callback" msgstr "回调" -#: awx/main/models/unified_jobs.py:542 +#: awx/main/models/unified_jobs.py:541 msgid "Scheduled" msgstr "已调度" -#: awx/main/models/unified_jobs.py:543 +#: awx/main/models/unified_jobs.py:542 msgid "Dependency" msgstr "依赖项" -#: awx/main/models/unified_jobs.py:544 +#: awx/main/models/unified_jobs.py:543 msgid "Workflow" msgstr "工作流" -#: awx/main/models/unified_jobs.py:546 +#: awx/main/models/unified_jobs.py:545 msgid "Sync" msgstr "同步" -#: awx/main/models/unified_jobs.py:601 +#: awx/main/models/unified_jobs.py:600 msgid "The node the job executed on." msgstr "执行作业的节点。" -#: awx/main/models/unified_jobs.py:607 +#: awx/main/models/unified_jobs.py:606 msgid "The instance that managed the isolated execution environment." msgstr "管理隔离执行环境的实例。" -#: awx/main/models/unified_jobs.py:634 +#: awx/main/models/unified_jobs.py:633 msgid "The date and time the job was queued for starting." msgstr "作业加入启动队列的日期和时间。" -#: awx/main/models/unified_jobs.py:639 +#: awx/main/models/unified_jobs.py:638 msgid "" "If True, the task manager has already processed potential dependencies for " "this job." msgstr "如果为 True,则任务管理器已处理了此作业的潜在依赖关系。" -#: awx/main/models/unified_jobs.py:645 +#: awx/main/models/unified_jobs.py:644 msgid "The date and time the job finished execution." msgstr "作业完成执行的日期和时间。" -#: awx/main/models/unified_jobs.py:652 +#: awx/main/models/unified_jobs.py:651 msgid "The date and time when the cancel request was sent." msgstr "发送取消请求的日期和时间。" -#: awx/main/models/unified_jobs.py:659 +#: awx/main/models/unified_jobs.py:658 msgid "Elapsed time in seconds that the job ran." msgstr "作业运行所经过的时间(以秒为单位)。" -#: awx/main/models/unified_jobs.py:681 +#: awx/main/models/unified_jobs.py:680 msgid "" "A status field to indicate the state of the job if it wasn't able to run and " "capture stdout" msgstr "当无法运行和捕获 stdout 时指示作业状态的状态字段" -#: awx/main/models/unified_jobs.py:710 +#: awx/main/models/unified_jobs.py:709 msgid "The Instance group the job was run under" msgstr "作业在其下运行的实例组" -#: awx/main/models/unified_jobs.py:718 +#: awx/main/models/unified_jobs.py:717 msgid "The organization used to determine access to this unified job." msgstr "用于决定访问这个统一作业的机构。" @@ -4676,51 +4768,43 @@ msgid "" "job was created from." msgstr "如果为分片作业运行自动创建,则为用于创建工作流作业的作业模板。" -#: awx/main/models/workflow.py:687 awx/main/models/workflow.py:721 +#: awx/main/models/workflow.py:687 awx/main/models/workflow.py:727 msgid "" "The amount of time (in seconds) before the approval node expires and fails." msgstr "批准节点过期并失败前的时间(以秒为单位)。" -#: awx/main/models/workflow.py:725 +#: awx/main/models/workflow.py:731 msgid "" "Shows when an approval node (with a timeout assigned to it) has timed out." msgstr "显示批准节点(为其分配了超时)超时的时间。" -#: awx/main/notifications/grafana_backend.py:86 +#: awx/main/notifications/grafana_backend.py:81 msgid "Error converting time {} or timeEnd {} to int." msgstr "将时间 {} 或 timeEnd {} 转换为 int 时出错。" -#: awx/main/notifications/grafana_backend.py:88 +#: awx/main/notifications/grafana_backend.py:83 msgid "Error converting time {} and/or timeEnd {} to int." msgstr "将时间 {} 和/或 timeEnd {} 转换为 int 时出错。" -#: awx/main/notifications/grafana_backend.py:102 -#: awx/main/notifications/grafana_backend.py:104 +#: awx/main/notifications/grafana_backend.py:97 +#: awx/main/notifications/grafana_backend.py:99 msgid "Error sending notification grafana: {}" msgstr "发送通知 grafana 时出错:{}" -#: awx/main/notifications/hipchat_backend.py:50 -msgid "Error sending messages: {}" -msgstr "发送消息时出错:{}" - -#: awx/main/notifications/hipchat_backend.py:52 -msgid "Error sending message to hipchat: {}" -msgstr "向 hipchat 发送消息时出错:{}" - #: awx/main/notifications/irc_backend.py:56 msgid "Exception connecting to irc server: {}" msgstr "连接到 irc 服务器时出现异常:{}" -#: awx/main/notifications/mattermost_backend.py:50 -#: awx/main/notifications/mattermost_backend.py:52 +#: awx/main/notifications/mattermost_backend.py:49 +#: awx/main/notifications/mattermost_backend.py:51 msgid "Error sending notification mattermost: {}" msgstr "发送通知 mattermost 时出错:{}" -#: awx/main/notifications/pagerduty_backend.py:64 +#: awx/main/notifications/pagerduty_backend.py:75 msgid "Exception connecting to PagerDuty: {}" msgstr "连接到 PagerDuty 时出现异常:{}" -#: awx/main/notifications/pagerduty_backend.py:73 +#: awx/main/notifications/pagerduty_backend.py:84 #: awx/main/notifications/slack_backend.py:58 #: awx/main/notifications/twilio_backend.py:48 msgid "Exception sending messages: {}" @@ -4735,8 +4819,8 @@ msgstr "发送通知 rocket.chat 时出错:{}" msgid "Exception connecting to Twilio: {}" msgstr "连接到 Twilio 时出现异常:{}" -#: awx/main/notifications/webhook_backend.py:75 -#: awx/main/notifications/webhook_backend.py:77 +#: awx/main/notifications/webhook_backend.py:76 +#: awx/main/notifications/webhook_backend.py:78 msgid "Error sending notification webhook: {}" msgstr "发送通知 Webhook 时出错:{}" @@ -4747,46 +4831,63 @@ msgid "" "job node(s) missing unified job template and error handling path [{no_ufjt}]." msgstr "工作流作业节点没有错误处理路径 [{node_status}]。工作流作业节点缺少统一作业模板和错误处理路径 [{no_ufjt}]。" -#: awx/main/scheduler/task_manager.py:118 +#: awx/main/scheduler/task_manager.py:163 msgid "" "Workflow Job spawned from workflow could not start because it would result " "in recursion (spawn order, most recent first: {})" msgstr "从工作流生成的工作流作业可能无法启动,因为它会导致递归(生成顺序,最近最先:{})" -#: awx/main/scheduler/task_manager.py:126 +#: awx/main/scheduler/task_manager.py:171 msgid "" "Job spawned from workflow could not start because it was missing a related " "resource such as project or inventory" msgstr "从工作流生成的作业可能无法启动,因为它缺少了相关资源,如项目或清单" -#: awx/main/scheduler/task_manager.py:135 +#: awx/main/scheduler/task_manager.py:180 msgid "" "Job spawned from workflow could not start because it was not in the right " "state or required manual credentials" msgstr "从工作流生成的作业可能无法启动,因为它不处于正确的状态或需要手动凭证。" -#: awx/main/scheduler/task_manager.py:176 +#: awx/main/scheduler/task_manager.py:221 msgid "No error handling paths found, marking workflow as failed" msgstr "未找到错误处理路径,将工作流标记为失败" -#: awx/main/scheduler/task_manager.py:508 +#: awx/main/scheduler/task_manager.py:506 +#, python-brace-format +msgid "waiting for {blocked_by._meta.model_name}-{blocked_by.id} to finish" +msgstr "正在等待 {blocked_by._meta.model_name}-{blocked_by.id} 结束" + +#: awx/main/scheduler/task_manager.py:557 +msgid "" +"This job is not ready to start because there is not enough available " +"capacity." +msgstr "此作业无法启动,因为没有足够的可用容量。" + +#: awx/main/scheduler/task_manager.py:577 #, python-brace-format msgid "The approval node {name} ({pk}) has expired after {timeout} seconds." msgstr "批准节点 {name} ({pk}) 已在 {timeout} 秒后过期。" -#: awx/main/tasks.py:1049 +#: awx/main/tasks.py:598 +msgid "" +"Scheduled job could not start because it was not in the " +"right state or required manual credentials" +msgstr "调度的作业可能无法启动,因为它不处于正确的状态或需要手动凭证。" + +#: awx/main/tasks.py:1076 msgid "Invalid virtual environment selected: {}" msgstr "选择了无效的虚拟环境:{}" -#: awx/main/tasks.py:1853 +#: awx/main/tasks.py:1885 msgid "Job could not start because it does not have a valid inventory." msgstr "作业无法启动,因为它没有有效的清单。" -#: awx/main/tasks.py:1857 +#: awx/main/tasks.py:1889 msgid "Job could not start because it does not have a valid project." msgstr "作业无法启动,因为它没有有效的项目。" -#: awx/main/tasks.py:1862 +#: awx/main/tasks.py:1894 msgid "" "The project revision for this job template is unknown due to a failed update." msgstr "由于更新失败,此作业模板的项目修订版本未知。" @@ -4806,63 +4907,79 @@ msgid "" "missing unified job template and error handling path [{}]." msgstr "工作流作业节点没有错误处理路径 []。工作流作业节点缺少统一作业模板和错误处理路径 [{}]。" -#: awx/main/utils/common.py:87 +#: awx/main/utils/common.py:86 #, python-format msgid "Unable to convert \"%s\" to boolean" msgstr "无法将 \"%s\" 转换为布尔值" -#: awx/main/utils/common.py:261 +#: awx/main/utils/common.py:212 +#, python-format +msgid "Error importing Tower License: %s" +msgstr "导入 Tower 许可证时出错: %s" + +#: awx/main/utils/common.py:227 #, python-format msgid "Unsupported SCM type \"%s\"" msgstr "不受支持的 SCM 类型 \"%s\"" -#: awx/main/utils/common.py:268 awx/main/utils/common.py:280 -#: awx/main/utils/common.py:299 +#: awx/main/utils/common.py:234 awx/main/utils/common.py:246 +#: awx/main/utils/common.py:265 #, python-format msgid "Invalid %s URL" msgstr "无效的 %s URL" -#: awx/main/utils/common.py:270 awx/main/utils/common.py:309 +#: awx/main/utils/common.py:236 awx/main/utils/common.py:275 #, python-format msgid "Unsupported %s URL" msgstr "不受支持的 %s URL" -#: awx/main/utils/common.py:311 +#: awx/main/utils/common.py:277 #, python-format msgid "Unsupported host \"%s\" for file:// URL" msgstr "用于 file:// URL的主机 \"%s\" 不受支持" -#: awx/main/utils/common.py:313 +#: awx/main/utils/common.py:279 #, python-format msgid "Host is required for %s URL" msgstr "%s URL 需要主机" -#: awx/main/utils/common.py:331 +#: awx/main/utils/common.py:297 #, python-format msgid "Username must be \"git\" for SSH access to %s." msgstr "用户名必须是 \"git\" 以供 SSH 访问 %s。" -#: awx/main/utils/common.py:337 -#, python-format -msgid "Username must be \"hg\" for SSH access to %s." -msgstr "用户名必须是 \"hg\" 以供 SSH 访问 %s。" - -#: awx/main/utils/common.py:668 +#: awx/main/utils/common.py:628 #, python-brace-format msgid "Input type `{data_type}` is not a dictionary" -msgstr "输入类型 `{data_type}` 不是字典" +msgstr "输入的类型 `{data_type}` 不是一个字典" -#: awx/main/utils/common.py:701 +#: awx/main/utils/common.py:661 #, python-brace-format msgid "Variables not compatible with JSON standard (error: {json_error})" msgstr "与 JSON 标准不兼容的变量(错误:{json_error})" -#: awx/main/utils/common.py:707 +#: awx/main/utils/common.py:667 #, python-brace-format msgid "" "Cannot parse as JSON (error: {json_error}) or YAML (error: {yaml_error})." msgstr "无法解析为 JSON(错误:{json_error})或 YAML(错误:{yaml_error})。" +#: awx/main/utils/licensing.py:58 +msgid "Invalid manifest: a subscription manifest zip file is required." +msgstr "无效的清单: 需要一个订阅清单 zip 文件。" + +#: awx/main/utils/licensing.py:63 +msgid "Invalid manifest: missing required files." +msgstr "无效清单:缺少所需文件。" + +#: awx/main/utils/licensing.py:72 +msgid "Invalid manifest: signature verification failed." +msgstr "无效清单:签名验证失败。" + +#: awx/main/utils/licensing.py:82 +msgid "Invalid manifest: manifest contains no subscriptions." +msgstr "无效清单:清单没有包含订阅。" + #: awx/main/validators.py:67 #, python-format msgid "Invalid certificate or key: %s..." @@ -4969,290 +5086,6 @@ msgstr "服务器错误" msgid "A server error has occurred." msgstr "发生服务器错误。" -#: awx/settings/defaults.py:683 -msgid "US East (Northern Virginia)" -msgstr "美国东部(北弗吉尼亚)" - -#: awx/settings/defaults.py:684 -msgid "US East (Ohio)" -msgstr "美国东部(俄亥俄)" - -#: awx/settings/defaults.py:685 -msgid "US West (Oregon)" -msgstr "美国西部(俄勒冈)" - -#: awx/settings/defaults.py:686 -msgid "US West (Northern California)" -msgstr "美国西部(北加利福尼亚)" - -#: awx/settings/defaults.py:687 -msgid "Canada (Central)" -msgstr "加拿大(中部)" - -#: awx/settings/defaults.py:688 -msgid "EU (Frankfurt)" -msgstr "欧盟(法兰克福)" - -#: awx/settings/defaults.py:689 -msgid "EU (Ireland)" -msgstr "欧盟(爱尔兰)" - -#: awx/settings/defaults.py:690 -msgid "EU (London)" -msgstr "欧盟(伦敦)" - -#: awx/settings/defaults.py:691 -msgid "Asia Pacific (Singapore)" -msgstr "亚太(新加坡)" - -#: awx/settings/defaults.py:692 -msgid "Asia Pacific (Sydney)" -msgstr "亚太(悉尼)" - -#: awx/settings/defaults.py:693 -msgid "Asia Pacific (Tokyo)" -msgstr "亚太(东京)" - -#: awx/settings/defaults.py:694 -msgid "Asia Pacific (Seoul)" -msgstr "亚太(首尔)" - -#: awx/settings/defaults.py:695 -msgid "Asia Pacific (Mumbai)" -msgstr "亚太(孟买)" - -#: awx/settings/defaults.py:696 -msgid "South America (Sao Paulo)" -msgstr "南美(圣保罗)" - -#: awx/settings/defaults.py:697 -msgid "US West (GovCloud)" -msgstr "美国西部 (GovCloud)" - -#: awx/settings/defaults.py:698 -msgid "China (Beijing)" -msgstr "中国(北京)" - -#: awx/settings/defaults.py:747 -msgid "US East 1 (B)" -msgstr "美国东部 1 (B)" - -#: awx/settings/defaults.py:748 -msgid "US East 1 (C)" -msgstr "美国东部 1 (C)" - -#: awx/settings/defaults.py:749 -msgid "US East 1 (D)" -msgstr "美国东部 1 (D)" - -#: awx/settings/defaults.py:750 -msgid "US East 4 (A)" -msgstr "美国东部 4 (A)" - -#: awx/settings/defaults.py:751 -msgid "US East 4 (B)" -msgstr "美国东部 4 (B)" - -#: awx/settings/defaults.py:752 -msgid "US East 4 (C)" -msgstr "美国东部 4 (C)" - -#: awx/settings/defaults.py:753 -msgid "US Central (A)" -msgstr "美国中部 (A)" - -#: awx/settings/defaults.py:754 -msgid "US Central (B)" -msgstr "美国中部 (B)" - -#: awx/settings/defaults.py:755 -msgid "US Central (C)" -msgstr "美国中部 (C)" - -#: awx/settings/defaults.py:756 -msgid "US Central (F)" -msgstr "美国中部 (F)" - -#: awx/settings/defaults.py:757 -msgid "US West (A)" -msgstr "美国西部 (A)" - -#: awx/settings/defaults.py:758 -msgid "US West (B)" -msgstr "美国西部 (B)" - -#: awx/settings/defaults.py:759 -msgid "US West (C)" -msgstr "美国西部 (C)" - -#: awx/settings/defaults.py:760 -msgid "Europe West 1 (B)" -msgstr "西欧 1 (B)" - -#: awx/settings/defaults.py:761 -msgid "Europe West 1 (C)" -msgstr "西欧 1 (C)" - -#: awx/settings/defaults.py:762 -msgid "Europe West 1 (D)" -msgstr "西欧 1 (D)" - -#: awx/settings/defaults.py:763 -msgid "Europe West 2 (A)" -msgstr "西欧 2 (A)" - -#: awx/settings/defaults.py:764 -msgid "Europe West 2 (B)" -msgstr "西欧 2 (B)" - -#: awx/settings/defaults.py:765 -msgid "Europe West 2 (C)" -msgstr "西欧 2 (C)" - -#: awx/settings/defaults.py:766 -msgid "Asia East (A)" -msgstr "东亚 (A)" - -#: awx/settings/defaults.py:767 -msgid "Asia East (B)" -msgstr "东亚 (B)" - -#: awx/settings/defaults.py:768 -msgid "Asia East (C)" -msgstr "东亚 (C)" - -#: awx/settings/defaults.py:769 -msgid "Asia Southeast (A)" -msgstr "东南亚 (A)" - -#: awx/settings/defaults.py:770 -msgid "Asia Southeast (B)" -msgstr "东南亚 (B)" - -#: awx/settings/defaults.py:771 -msgid "Asia Northeast (A)" -msgstr "亚州东北部 (A)" - -#: awx/settings/defaults.py:772 -msgid "Asia Northeast (B)" -msgstr "亚州东北部 (B)" - -#: awx/settings/defaults.py:773 -msgid "Asia Northeast (C)" -msgstr "亚州东北部 (C)" - -#: awx/settings/defaults.py:774 -msgid "Australia Southeast (A)" -msgstr "澳洲东南部 (A)" - -#: awx/settings/defaults.py:775 -msgid "Australia Southeast (B)" -msgstr "澳洲东南部 (B)" - -#: awx/settings/defaults.py:776 -msgid "Australia Southeast (C)" -msgstr "澳洲东南部 (C)" - -#: awx/settings/defaults.py:798 -msgid "US East" -msgstr "美国东部" - -#: awx/settings/defaults.py:799 -msgid "US East 2" -msgstr "美国东部 2" - -#: awx/settings/defaults.py:800 -msgid "US Central" -msgstr "美国中部" - -#: awx/settings/defaults.py:801 -msgid "US North Central" -msgstr "美国中北部" - -#: awx/settings/defaults.py:802 -msgid "US South Central" -msgstr "美国中南部" - -#: awx/settings/defaults.py:803 -msgid "US West Central" -msgstr "美国中西部" - -#: awx/settings/defaults.py:804 -msgid "US West" -msgstr "美国西部" - -#: awx/settings/defaults.py:805 -msgid "US West 2" -msgstr "美国西部 2" - -#: awx/settings/defaults.py:806 -msgid "Canada East" -msgstr "加拿大东部" - -#: awx/settings/defaults.py:807 -msgid "Canada Central" -msgstr "加拿大中部" - -#: awx/settings/defaults.py:808 -msgid "Brazil South" -msgstr "巴西南部" - -#: awx/settings/defaults.py:809 -msgid "Europe North" -msgstr "北欧" - -#: awx/settings/defaults.py:810 -msgid "Europe West" -msgstr "西欧" - -#: awx/settings/defaults.py:811 -msgid "UK West" -msgstr "英国西部" - -#: awx/settings/defaults.py:812 -msgid "UK South" -msgstr "英国南部" - -#: awx/settings/defaults.py:813 -msgid "Asia East" -msgstr "东亚" - -#: awx/settings/defaults.py:814 -msgid "Asia Southeast" -msgstr "东南亚" - -#: awx/settings/defaults.py:815 -msgid "Australia East" -msgstr "澳洲东部" - -#: awx/settings/defaults.py:816 -msgid "Australia Southeast" -msgstr "澳洲东南部" - -#: awx/settings/defaults.py:817 -msgid "India West" -msgstr "印度西部" - -#: awx/settings/defaults.py:818 -msgid "India South" -msgstr "印度南部" - -#: awx/settings/defaults.py:819 -msgid "Japan East" -msgstr "日本东部" - -#: awx/settings/defaults.py:820 -msgid "Japan West" -msgstr "日本西部" - -#: awx/settings/defaults.py:821 -msgid "Korea Central" -msgstr "韩国中部" - -#: awx/settings/defaults.py:822 -msgid "Korea South" -msgstr "韩国南部" - #: awx/sso/apps.py:9 msgid "Single Sign-On" msgstr "单点登录" @@ -5525,7 +5358,7 @@ msgid "Hostname of TACACS+ server." msgstr "TACACS+ 服务器的主机名。" #: awx/sso/conf.py:480 awx/sso/conf.py:492 awx/sso/conf.py:504 -#: awx/sso/conf.py:516 awx/sso/conf.py:527 awx/sso/models.py:15 +#: awx/sso/conf.py:516 awx/sso/conf.py:528 awx/sso/models.py:15 msgid "TACACS+" msgstr "TACACS+" @@ -5553,159 +5386,160 @@ msgstr "TACACS+ 身份验证会话超时" msgid "TACACS+ session timeout value in seconds, 0 disables timeout." msgstr "TACACS+ 会话超时值(以秒为单位),0 表示禁用超时。" -#: awx/sso/conf.py:525 +#: awx/sso/conf.py:526 msgid "TACACS+ Authentication Protocol" msgstr "TACACS+ 身份验证协议" -#: awx/sso/conf.py:526 +#: awx/sso/conf.py:527 msgid "Choose the authentication protocol used by TACACS+ client." msgstr "选择 TACACS+ 客户端使用的身份验证协议。" -#: awx/sso/conf.py:540 +#: awx/sso/conf.py:541 msgid "Google OAuth2 Callback URL" msgstr "Google OAuth2 回调 URL" -#: awx/sso/conf.py:541 awx/sso/conf.py:634 awx/sso/conf.py:699 +#: awx/sso/conf.py:542 awx/sso/conf.py:635 awx/sso/conf.py:700 +#: awx/sso/conf.py:855 awx/sso/conf.py:944 msgid "" "Provide this URL as the callback URL for your application as part of your " "registration process. Refer to the Ansible Tower documentation for more " "detail." msgstr "在您的注册过程中,提供此 URL 作为应用的回调 URL。请参阅 Ansible Tower 文档了解更多详情。" -#: awx/sso/conf.py:544 awx/sso/conf.py:556 awx/sso/conf.py:568 -#: awx/sso/conf.py:581 awx/sso/conf.py:595 awx/sso/conf.py:607 -#: awx/sso/conf.py:619 +#: awx/sso/conf.py:545 awx/sso/conf.py:557 awx/sso/conf.py:569 +#: awx/sso/conf.py:582 awx/sso/conf.py:596 awx/sso/conf.py:608 +#: awx/sso/conf.py:620 msgid "Google OAuth2" msgstr "Google OAuth2" -#: awx/sso/conf.py:554 +#: awx/sso/conf.py:555 msgid "Google OAuth2 Key" msgstr "Google OAuth2 密钥" -#: awx/sso/conf.py:555 +#: awx/sso/conf.py:556 msgid "The OAuth2 key from your web application." msgstr "您的 Web 应用中的 OAuth2 密钥。" -#: awx/sso/conf.py:566 +#: awx/sso/conf.py:567 msgid "Google OAuth2 Secret" msgstr "Google OAuth2 机密" -#: awx/sso/conf.py:567 +#: awx/sso/conf.py:568 msgid "The OAuth2 secret from your web application." msgstr "您的 Web 应用中的 OAuth2 机密。" -#: awx/sso/conf.py:578 -msgid "Google OAuth2 Whitelisted Domains" -msgstr "Google OAuth2 白名单域" - #: awx/sso/conf.py:579 +msgid "Google OAuth2 Allowed Domains" +msgstr "Google OAuth2 允许的域" + +#: awx/sso/conf.py:580 msgid "" "Update this setting to restrict the domains who are allowed to login using " "Google OAuth2." msgstr "更新此设置,以限制允许使用 Google OAuth2 登录的域。" -#: awx/sso/conf.py:590 +#: awx/sso/conf.py:591 msgid "Google OAuth2 Extra Arguments" msgstr "Google OAuth2 额外参数" -#: awx/sso/conf.py:591 +#: awx/sso/conf.py:592 msgid "" "Extra arguments for Google OAuth2 login. You can restrict it to only allow a " "single domain to authenticate, even if the user is logged in with multple " "Google accounts. Refer to the Ansible Tower documentation for more detail." msgstr "用于 Google OAuth2 登录的额外参数。您可以将其限制为只允许单个域进行身份验证,即使用户使用多个 Google 帐户登录。请参阅 Ansible Tower 文档了解更多详情。" -#: awx/sso/conf.py:605 +#: awx/sso/conf.py:606 msgid "Google OAuth2 Organization Map" msgstr "Google OAuth2 机构映射" -#: awx/sso/conf.py:617 +#: awx/sso/conf.py:618 msgid "Google OAuth2 Team Map" msgstr "Google OAuth2 团队映射" -#: awx/sso/conf.py:633 +#: awx/sso/conf.py:634 msgid "GitHub OAuth2 Callback URL" msgstr "GitHub OAuth2 回调 URL" -#: awx/sso/conf.py:637 awx/sso/conf.py:649 awx/sso/conf.py:660 -#: awx/sso/conf.py:672 awx/sso/conf.py:684 +#: awx/sso/conf.py:638 awx/sso/conf.py:650 awx/sso/conf.py:661 +#: awx/sso/conf.py:673 awx/sso/conf.py:685 awx/sso/conf.py:905 msgid "GitHub OAuth2" msgstr "GitHub OAuth2" -#: awx/sso/conf.py:647 +#: awx/sso/conf.py:648 msgid "GitHub OAuth2 Key" msgstr "GitHub OAuth2 密钥" -#: awx/sso/conf.py:648 +#: awx/sso/conf.py:649 msgid "The OAuth2 key (Client ID) from your GitHub developer application." msgstr "您的 GitHub 开发应用中的 OAuth2 密钥(客户端 ID)。" -#: awx/sso/conf.py:658 +#: awx/sso/conf.py:659 msgid "GitHub OAuth2 Secret" msgstr "GitHub OAuth2 机密" -#: awx/sso/conf.py:659 +#: awx/sso/conf.py:660 msgid "" "The OAuth2 secret (Client Secret) from your GitHub developer application." msgstr "您的 GitHub 开发应用中的 OAuth2 机密(客户端机密)。" -#: awx/sso/conf.py:670 +#: awx/sso/conf.py:671 msgid "GitHub OAuth2 Organization Map" msgstr "GitHub OAuth2 机构映射" -#: awx/sso/conf.py:682 +#: awx/sso/conf.py:683 msgid "GitHub OAuth2 Team Map" msgstr "GitHub OAuth2 团队映射" -#: awx/sso/conf.py:698 +#: awx/sso/conf.py:699 msgid "GitHub Organization OAuth2 Callback URL" msgstr "GitHub 机构 OAuth2 回调 URL" -#: awx/sso/conf.py:702 awx/sso/conf.py:714 awx/sso/conf.py:725 -#: awx/sso/conf.py:738 awx/sso/conf.py:749 awx/sso/conf.py:761 +#: awx/sso/conf.py:703 awx/sso/conf.py:715 awx/sso/conf.py:726 +#: awx/sso/conf.py:739 awx/sso/conf.py:750 awx/sso/conf.py:762 msgid "GitHub Organization OAuth2" msgstr "GitHub 机构 OAuth2" -#: awx/sso/conf.py:712 +#: awx/sso/conf.py:713 msgid "GitHub Organization OAuth2 Key" msgstr "GitHub 机构 OAuth2 密钥" -#: awx/sso/conf.py:713 awx/sso/conf.py:791 +#: awx/sso/conf.py:714 awx/sso/conf.py:792 msgid "The OAuth2 key (Client ID) from your GitHub organization application." msgstr "您的 GitHub 机构应用中的 OAuth2 密钥(客户端 ID)。" -#: awx/sso/conf.py:723 +#: awx/sso/conf.py:724 msgid "GitHub Organization OAuth2 Secret" msgstr "GitHub 机构 OAuth2 机密" -#: awx/sso/conf.py:724 awx/sso/conf.py:802 +#: awx/sso/conf.py:725 awx/sso/conf.py:803 msgid "" "The OAuth2 secret (Client Secret) from your GitHub organization application." msgstr "您的 GitHub 机构应用中的 OAuth2 机密(客户端机密)。" -#: awx/sso/conf.py:735 +#: awx/sso/conf.py:736 msgid "GitHub Organization Name" msgstr "GitHub 机构名称" -#: awx/sso/conf.py:736 +#: awx/sso/conf.py:737 msgid "" "The name of your GitHub organization, as used in your organization's URL: " "https://github.com//." msgstr "GitHub 机构的名称,用于您的机构 URL:https://github.com//。" -#: awx/sso/conf.py:747 +#: awx/sso/conf.py:748 msgid "GitHub Organization OAuth2 Organization Map" msgstr "GitHub 机构 OAuth2 机构映射" -#: awx/sso/conf.py:759 +#: awx/sso/conf.py:760 msgid "GitHub Organization OAuth2 Team Map" msgstr "GitHub 机构 OAuth2 团队映射" -#: awx/sso/conf.py:775 +#: awx/sso/conf.py:776 msgid "GitHub Team OAuth2 Callback URL" msgstr "GitHub 团队 OAuth2 回调 URL" -#: awx/sso/conf.py:776 +#: awx/sso/conf.py:777 awx/sso/conf.py:1045 msgid "" "Create an organization-owned application at https://github.com/organizations/" "/settings/applications and obtain an OAuth2 key (Client ID) and " @@ -5713,172 +5547,338 @@ msgid "" "application." msgstr "在 https://github.com/organizations//settings/applications 创建一个机构拥有的应用,并获取 OAuth2 密钥(客户端 ID)和机密(客户端机密)。为您的应用提供此 URL 作为回调 URL。" -#: awx/sso/conf.py:780 awx/sso/conf.py:792 awx/sso/conf.py:803 -#: awx/sso/conf.py:816 awx/sso/conf.py:827 awx/sso/conf.py:839 +#: awx/sso/conf.py:781 awx/sso/conf.py:793 awx/sso/conf.py:804 +#: awx/sso/conf.py:817 awx/sso/conf.py:828 awx/sso/conf.py:840 msgid "GitHub Team OAuth2" msgstr "GitHub 团队 OAuth2" -#: awx/sso/conf.py:790 +#: awx/sso/conf.py:791 msgid "GitHub Team OAuth2 Key" msgstr "GitHub 团队 OAuth2 机密" -#: awx/sso/conf.py:801 +#: awx/sso/conf.py:802 msgid "GitHub Team OAuth2 Secret" msgstr "GitHub 团队 OAuth2 机密" -#: awx/sso/conf.py:813 +#: awx/sso/conf.py:814 msgid "GitHub Team ID" msgstr "GitHub 团队 ID" -#: awx/sso/conf.py:814 +#: awx/sso/conf.py:815 msgid "" "Find the numeric team ID using the Github API: http://fabian-kostadinov." "github.io/2015/01/16/how-to-find-a-github-team-id/." msgstr "使用 Github API 查找数字团队 ID:http://fabian-kostadinov.github.io/2015/01/16/how-to-find-a-github-team-id/。" -#: awx/sso/conf.py:825 +#: awx/sso/conf.py:826 msgid "GitHub Team OAuth2 Organization Map" msgstr "GitHub 团队 OAuth2 机构映射" -#: awx/sso/conf.py:837 +#: awx/sso/conf.py:838 msgid "GitHub Team OAuth2 Team Map" -msgstr "GitHub 团队 OAuth2 团队映射" +msgstr "GitHub Team OAuth2 Team 映射" -#: awx/sso/conf.py:853 +#: awx/sso/conf.py:854 +msgid "GitHub Enterprise OAuth2 Callback URL" +msgstr "GitHub Enterprise OAuth2 回调 URL" + +#: awx/sso/conf.py:858 awx/sso/conf.py:871 awx/sso/conf.py:883 +#: awx/sso/conf.py:894 awx/sso/conf.py:917 awx/sso/conf.py:929 +#: awx/sso/conf.py:960 awx/sso/conf.py:972 awx/sso/conf.py:1062 +#: awx/sso/conf.py:1074 +msgid "GitHub Enterprise OAuth2" +msgstr "GitHub Enterprise OAuth2" + +#: awx/sso/conf.py:868 +msgid "GitHub Enterprise URL" +msgstr "GitHub Enterprise URL" + +#: awx/sso/conf.py:869 awx/sso/conf.py:958 awx/sso/conf.py:1060 +msgid "" +"The URL for your Github Enterprise instance, e.g.: http(s)://hostname/. " +"Refer to Github Enterprise documentation for more details." +msgstr "Github Enterprise 实例的 URL,如 http(s)://hostname/。如需更多详情,请参阅 Github Enterprise 文档。" + +#: awx/sso/conf.py:880 +msgid "GitHub Enterprise API URL" +msgstr "GitHub Enterprise API URL" + +#: awx/sso/conf.py:881 awx/sso/conf.py:970 awx/sso/conf.py:1072 +msgid "" +"The API URL for your GitHub Enterprise instance, e.g.: http(s)://hostname/" +"api/v3/. Refer to Github Enterprise documentation for more details." +msgstr "GitHub Enterprise 实例的 API URL,如 http(s)://hostname/api/v3/。如需更多详情,请参阅 Github Enterprise 文档。" + +#: awx/sso/conf.py:892 +msgid "GitHub Enterprise OAuth2 Key" +msgstr "GitHub Enterprise OAuth2 密钥" + +#: awx/sso/conf.py:893 +msgid "" +"The OAuth2 key (Client ID) from your GitHub Enterprise developer application." +msgstr "您的 GitHub 开发应用中的 OAuth2 密钥(客户端 ID)。" + +#: awx/sso/conf.py:903 +msgid "GitHub Enterprise OAuth2 Secret" +msgstr "GitHub Enterprise OAuth2 Secret" + +#: awx/sso/conf.py:904 +msgid "" +"The OAuth2 secret (Client Secret) from your GitHub Enterprise developer " +"application." +msgstr "您的 GitHub 开发应用中的 OAuth2 secret(客户端 secret)。" + +#: awx/sso/conf.py:915 +msgid "GitHub Enterprise OAuth2 Organization Map" +msgstr "GitHub Enterprise OAuth2 Organization 映射" + +#: awx/sso/conf.py:927 +msgid "GitHub Enterprise OAuth2 Team Map" +msgstr "GitHub Enterprise OAuth2 Team 映射" + +#: awx/sso/conf.py:943 +msgid "GitHub Enterprise Organization OAuth2 Callback URL" +msgstr "GitHub Enterprise Organization OAuth2 回调 URL" + +#: awx/sso/conf.py:947 awx/sso/conf.py:983 awx/sso/conf.py:994 +#: awx/sso/conf.py:1007 awx/sso/conf.py:1018 awx/sso/conf.py:1030 +msgid "GitHub Enterprise Organization OAuth2" +msgstr "GitHub Enterprise Organization OAuth2" + +#: awx/sso/conf.py:957 +msgid "GitHub Enterprise Organization URL" +msgstr "GitHub Enterprise Organization URL" + +#: awx/sso/conf.py:969 +msgid "GitHub Enterprise Organization API URL" +msgstr "GitHub Enterprise Organization API URL" + +#: awx/sso/conf.py:981 +msgid "GitHub Enterprise Organization OAuth2 Key" +msgstr "GitHub Enterprise Organization OAuth2 密钥" + +#: awx/sso/conf.py:982 awx/sso/conf.py:1084 +msgid "" +"The OAuth2 key (Client ID) from your GitHub Enterprise organization " +"application." +msgstr "您的 GitHub Enterprise 机构应用程序中的 OAuth2 密钥(客户端 ID)。" + +#: awx/sso/conf.py:992 +msgid "GitHub Enterprise Organization OAuth2 Secret" +msgstr "GitHub 机构 OAuth2 Secret" + +#: awx/sso/conf.py:993 awx/sso/conf.py:1095 +msgid "" +"The OAuth2 secret (Client Secret) from your GitHub Enterprise organization " +"application." +msgstr "您的 GitHub Enterprise 机构应用中的 OAuth2 机密(客户端机密)。" + +#: awx/sso/conf.py:1004 +msgid "GitHub Enterprise Organization Name" +msgstr "GitHub Enterprise 机构名称" + +#: awx/sso/conf.py:1005 +msgid "" +"The name of your GitHub Enterprise organization, as used in your " +"organization's URL: https://github.com//." +msgstr "GitHub 机构的名称,用于您的机构 URL:https://github.com//。" + +#: awx/sso/conf.py:1016 +msgid "GitHub Enterprise Organization OAuth2 Organization Map" +msgstr "GitHub Enterprise Organization OAuth2 Organization 映射" + +#: awx/sso/conf.py:1028 +msgid "GitHub Enterprise Organization OAuth2 Team Map" +msgstr "GitHub Enterprise Organization OAuth2 Team 映射" + +#: awx/sso/conf.py:1044 +msgid "GitHub Enterprise Team OAuth2 Callback URL" +msgstr "GitHub Enterprise Team OAuth2 回调 URL" + +#: awx/sso/conf.py:1049 awx/sso/conf.py:1085 awx/sso/conf.py:1096 +#: awx/sso/conf.py:1109 awx/sso/conf.py:1120 awx/sso/conf.py:1132 +msgid "GitHub Enterprise Team OAuth2" +msgstr "GitHub Enterprise Team OAuth2" + +#: awx/sso/conf.py:1059 +msgid "GitHub Enterprise Team URL" +msgstr "GitHub Enterprise Team URL" + +#: awx/sso/conf.py:1071 +msgid "GitHub Enterprise Team API URL" +msgstr "GitHub Enterprise Team API URL" + +#: awx/sso/conf.py:1083 +msgid "GitHub Enterprise Team OAuth2 Key" +msgstr "GitHub Enterprise Team OAuth2 密钥" + +#: awx/sso/conf.py:1094 +msgid "GitHub Enterprise Team OAuth2 Secret" +msgstr "GitHub Enterprise Team OAuth2 Secret" + +#: awx/sso/conf.py:1106 +msgid "GitHub Enterprise Team ID" +msgstr "GitHub Enterprise Team ID" + +#: awx/sso/conf.py:1107 +msgid "" +"Find the numeric team ID using the Github Enterprise API: http://fabian-" +"kostadinov.github.io/2015/01/16/how-to-find-a-github-team-id/." +msgstr "使用 Github Enterprise API 查找数字团队 ID:http://fabian-kostadinov.github.io/2015/01/16/how-to-find-a-github-team-id/。" + +#: awx/sso/conf.py:1118 +msgid "GitHub Enterprise Team OAuth2 Organization Map" +msgstr "GitHub Enterprise Team OAuth2 Organization 映射" + +#: awx/sso/conf.py:1130 +msgid "GitHub Enterprise Team OAuth2 Team Map" +msgstr "GitHub Enterprise Team OAuth2 Team 映射" + +#: awx/sso/conf.py:1146 msgid "Azure AD OAuth2 Callback URL" msgstr "Azure AD OAuth2 回调 URL" -#: awx/sso/conf.py:854 +#: awx/sso/conf.py:1147 msgid "" "Provide this URL as the callback URL for your application as part of your " "registration process. Refer to the Ansible Tower documentation for more " "detail. " msgstr "在您的注册过程中,提供此 URL 作为应用的回调 URL。请参阅 Ansible Tower 文档了解更多详情。" -#: awx/sso/conf.py:857 awx/sso/conf.py:869 awx/sso/conf.py:880 -#: awx/sso/conf.py:892 awx/sso/conf.py:904 +#: awx/sso/conf.py:1150 awx/sso/conf.py:1162 awx/sso/conf.py:1173 +#: awx/sso/conf.py:1185 awx/sso/conf.py:1197 msgid "Azure AD OAuth2" msgstr "Azure AD OAuth2" -#: awx/sso/conf.py:867 +#: awx/sso/conf.py:1160 msgid "Azure AD OAuth2 Key" msgstr "Azure AD OAuth2 密钥" -#: awx/sso/conf.py:868 +#: awx/sso/conf.py:1161 msgid "The OAuth2 key (Client ID) from your Azure AD application." msgstr "您的 Azure AD 应用的 OAuth2 密钥(客户端 ID)。" -#: awx/sso/conf.py:878 +#: awx/sso/conf.py:1171 msgid "Azure AD OAuth2 Secret" msgstr "Azure AD OAuth2 机密" -#: awx/sso/conf.py:879 +#: awx/sso/conf.py:1172 msgid "The OAuth2 secret (Client Secret) from your Azure AD application." msgstr "您的 Azure AD 应用的 OAuth2 机密(客户端机密)。" -#: awx/sso/conf.py:890 +#: awx/sso/conf.py:1183 msgid "Azure AD OAuth2 Organization Map" msgstr "Azure AD OAuth2 机构映射" -#: awx/sso/conf.py:902 +#: awx/sso/conf.py:1195 msgid "Azure AD OAuth2 Team Map" msgstr "Azure AD OAuth2 团队映射" -#: awx/sso/conf.py:927 +#: awx/sso/conf.py:1219 +msgid "Automatically Create Organizations and Teams on SAML Login" +msgstr "在 SAML 登录中自动创建机构和团队" + +#: awx/sso/conf.py:1220 +msgid "" +"When enabled (the default), mapped Organizations and Teams will be created " +"automatically on successful SAML login." +msgstr "启用后(默认),映射的机构和团队将在成功的 SAML 登录中自动创建。" + +#: awx/sso/conf.py:1222 awx/sso/conf.py:1235 awx/sso/conf.py:1248 +#: awx/sso/conf.py:1261 awx/sso/conf.py:1275 awx/sso/conf.py:1288 +#: awx/sso/conf.py:1300 awx/sso/conf.py:1320 awx/sso/conf.py:1337 +#: awx/sso/conf.py:1355 awx/sso/conf.py:1390 awx/sso/conf.py:1421 +#: awx/sso/conf.py:1434 awx/sso/conf.py:1450 awx/sso/conf.py:1462 +#: awx/sso/conf.py:1474 awx/sso/conf.py:1493 awx/sso/models.py:16 +msgid "SAML" +msgstr "SAML" + +#: awx/sso/conf.py:1231 msgid "SAML Assertion Consumer Service (ACS) URL" msgstr "SAML 断言使用者服务 (ACS) URL" -#: awx/sso/conf.py:928 +#: awx/sso/conf.py:1232 msgid "" "Register Tower as a service provider (SP) with each identity provider (IdP) " "you have configured. Provide your SP Entity ID and this ACS URL for your " "application." msgstr "针对您配置的每个身份提供商 (IdP) 将 Tower 注册为服务供应商 (SP)。为您的应用提供您的 SP 实体 ID 和此 ACS URL。" -#: awx/sso/conf.py:931 awx/sso/conf.py:944 awx/sso/conf.py:957 -#: awx/sso/conf.py:971 awx/sso/conf.py:984 awx/sso/conf.py:996 -#: awx/sso/conf.py:1016 awx/sso/conf.py:1033 awx/sso/conf.py:1051 -#: awx/sso/conf.py:1086 awx/sso/conf.py:1117 awx/sso/conf.py:1130 -#: awx/sso/conf.py:1146 awx/sso/conf.py:1158 awx/sso/conf.py:1170 -#: awx/sso/conf.py:1189 awx/sso/models.py:16 -msgid "SAML" -msgstr "SAML" - -#: awx/sso/conf.py:941 +#: awx/sso/conf.py:1245 msgid "SAML Service Provider Metadata URL" msgstr "SAML 服务提供商元数据 URL" -#: awx/sso/conf.py:942 +#: awx/sso/conf.py:1246 msgid "" "If your identity provider (IdP) allows uploading an XML metadata file, you " "can download one from this URL." msgstr "如果身份提供商 (IdP) 允许上传 XML 元数据文件,您可以从此 URL 下载一个。" -#: awx/sso/conf.py:953 +#: awx/sso/conf.py:1257 msgid "SAML Service Provider Entity ID" msgstr "SAML 服务提供商实体 ID" -#: awx/sso/conf.py:954 +#: awx/sso/conf.py:1258 msgid "" "The application-defined unique identifier used as the audience of the SAML " "service provider (SP) configuration. This is usually the URL for Tower." msgstr "应用定义的唯一标识符,用作 SAML 服务提供商 (SP) 配置的读者。这通常是 Tower 的 URL。" -#: awx/sso/conf.py:968 +#: awx/sso/conf.py:1272 msgid "SAML Service Provider Public Certificate" msgstr "SAML 服务提供商公共证书" -#: awx/sso/conf.py:969 +#: awx/sso/conf.py:1273 msgid "" "Create a keypair for Tower to use as a service provider (SP) and include the " "certificate content here." msgstr "为 Tower 创建一个密钥对,以用作服务提供商 (SP),并在此包含证书内容。" -#: awx/sso/conf.py:981 +#: awx/sso/conf.py:1285 msgid "SAML Service Provider Private Key" msgstr "SAML 服务提供商私钥" -#: awx/sso/conf.py:982 +#: awx/sso/conf.py:1286 msgid "" "Create a keypair for Tower to use as a service provider (SP) and include the " "private key content here." msgstr "为 Tower 创建一个密钥对,以用作服务提供商 (SP),并在此包含私钥内容。" -#: awx/sso/conf.py:993 +#: awx/sso/conf.py:1297 msgid "SAML Service Provider Organization Info" msgstr "SAML 服务提供商机构信息" -#: awx/sso/conf.py:994 +#: awx/sso/conf.py:1298 msgid "" "Provide the URL, display name, and the name of your app. Refer to the " "Ansible Tower documentation for example syntax." msgstr "提供 URL、显示名称和应用名称。示例语法请参阅 Ansible Tower 文档。" -#: awx/sso/conf.py:1012 +#: awx/sso/conf.py:1316 msgid "SAML Service Provider Technical Contact" msgstr "SAML 服务提供商技术联系人" -#: awx/sso/conf.py:1013 +#: awx/sso/conf.py:1317 msgid "" "Provide the name and email address of the technical contact for your service " "provider. Refer to the Ansible Tower documentation for example syntax." msgstr "为您的服务提供商提供技术联系人的姓名和电子邮件地址。示例语法请参阅 Ansible Tower 文档。" -#: awx/sso/conf.py:1029 +#: awx/sso/conf.py:1333 msgid "SAML Service Provider Support Contact" msgstr "SAML 服务提供商支持联系人" -#: awx/sso/conf.py:1030 +#: awx/sso/conf.py:1334 msgid "" "Provide the name and email address of the support contact for your service " "provider. Refer to the Ansible Tower documentation for example syntax." msgstr "为您的服务提供商提供支持联系人的姓名和电子邮件地址。示例语法请参阅 Ansible Tower 文档。" -#: awx/sso/conf.py:1045 +#: awx/sso/conf.py:1349 msgid "SAML Enabled Identity Providers" msgstr "SAML 启用的身份提供商" -#: awx/sso/conf.py:1046 +#: awx/sso/conf.py:1350 msgid "" "Configure the Entity ID, SSO URL and certificate for each identity provider " "(IdP) in use. Multiple SAML IdPs are supported. Some IdPs may provide user " @@ -5887,57 +5887,57 @@ msgid "" "additional details and syntax." msgstr "为使用中的每个身份提供商 (IdP) 配置实体 ID 、SSO URL 和证书。支持多个 SAML IdP。某些 IdP 可使用与默认 OID 不同的属性名称提供用户数据。每个 IdP 的属性名称可能会被覆写。如需了解更多详情和语法,请参阅 Ansible 文档。" -#: awx/sso/conf.py:1082 +#: awx/sso/conf.py:1386 msgid "SAML Security Config" msgstr "SAML 安全配置" -#: awx/sso/conf.py:1083 +#: awx/sso/conf.py:1387 msgid "" "A dict of key value pairs that are passed to the underlying python-saml " "security setting https://github.com/onelogin/python-saml#settings" msgstr "传递给底层 python-saml 安全设置的键值对字典 https://github.com/onelogin/python-saml#settings" -#: awx/sso/conf.py:1114 +#: awx/sso/conf.py:1418 msgid "SAML Service Provider extra configuration data" msgstr "SAML 服务提供商额外配置数据" -#: awx/sso/conf.py:1115 +#: awx/sso/conf.py:1419 msgid "" "A dict of key value pairs to be passed to the underlying python-saml Service " "Provider configuration setting." msgstr "传递给底层 python-saml 服务提供商配置设置的键值对字典。" -#: awx/sso/conf.py:1127 +#: awx/sso/conf.py:1431 msgid "SAML IDP to extra_data attribute mapping" msgstr "SAML IDP 到 extra_data 属性映射" -#: awx/sso/conf.py:1128 +#: awx/sso/conf.py:1432 msgid "" "A list of tuples that maps IDP attributes to extra_attributes. Each " "attribute will be a list of values, even if only 1 value." msgstr "将 IDP 属性映射到 extra_attributes 的元祖列表。每个属性将是一个值列表,即使只有 1 个值。" -#: awx/sso/conf.py:1144 +#: awx/sso/conf.py:1448 msgid "SAML Organization Map" msgstr "SAML 机构映射" -#: awx/sso/conf.py:1156 +#: awx/sso/conf.py:1460 msgid "SAML Team Map" msgstr "SAML 团队映射" -#: awx/sso/conf.py:1168 +#: awx/sso/conf.py:1472 msgid "SAML Organization Attribute Mapping" msgstr "SAML 机构属性映射" -#: awx/sso/conf.py:1169 +#: awx/sso/conf.py:1473 msgid "Used to translate user organization membership into Tower." msgstr "用于将用户机构成员资格转换为 Tower。" -#: awx/sso/conf.py:1187 +#: awx/sso/conf.py:1491 msgid "SAML Team Attribute Mapping" msgstr "SAML 团队属性映射" -#: awx/sso/conf.py:1188 +#: awx/sso/conf.py:1492 msgid "Used to translate user team membership into Tower." msgstr "用于将用户团队成员资格转换为 Tower。" @@ -5945,71 +5945,83 @@ msgstr "用于将用户团队成员资格转换为 Tower。" msgid "Invalid field." msgstr "无效字段。" -#: awx/sso/fields.py:250 +#: awx/sso/fields.py:270 #, python-brace-format msgid "Invalid connection option(s): {invalid_options}." msgstr "无效的连接选项:{invalid_options}。" -#: awx/sso/fields.py:334 +#: awx/sso/fields.py:354 msgid "Base" msgstr "基本" -#: awx/sso/fields.py:335 +#: awx/sso/fields.py:355 msgid "One Level" msgstr "一个级别" -#: awx/sso/fields.py:336 +#: awx/sso/fields.py:356 msgid "Subtree" msgstr "子树" -#: awx/sso/fields.py:354 +#: awx/sso/fields.py:374 #, python-brace-format msgid "Expected a list of three items but got {length} instead." msgstr "预期为三个项的列表,但实际为 {length}。" -#: awx/sso/fields.py:355 +#: awx/sso/fields.py:375 #, python-brace-format msgid "Expected an instance of LDAPSearch but got {input_type} instead." msgstr "预期为 LDAPSearch 实例,但实际为 {input_type}。" -#: awx/sso/fields.py:391 +#: awx/sso/fields.py:411 #, python-brace-format msgid "" "Expected an instance of LDAPSearch or LDAPSearchUnion but got {input_type} " "instead." msgstr "预期为 LDAPSearch 或 LDAPSearchUnion 实例,但实际为 {input_type}。" -#: awx/sso/fields.py:429 +#: awx/sso/fields.py:449 #, python-brace-format msgid "Invalid user attribute(s): {invalid_attrs}." msgstr "无效的用户属性:{invalid_attrs}。" -#: awx/sso/fields.py:447 +#: awx/sso/fields.py:467 #, python-brace-format msgid "Expected an instance of LDAPGroupType but got {input_type} instead." msgstr "预期为 LDAPGroupType 实例,但实际为 {input_type}。" -#: awx/sso/fields.py:487 +#: awx/sso/fields.py:468 +#, python-brace-format +msgid "Missing required parameters in {dependency}." +msgstr "{dependency} 中缺少所需参数 。" + +#: awx/sso/fields.py:469 +#, python-brace-format +msgid "" +"Invalid group_type parameters. Expected instance of dict but got " +"{parameters_type} instead." +msgstr "无效的 group_type 参数。预期为字典实例但获得的是 {parameters_type}。" + +#: awx/sso/fields.py:519 #, python-brace-format msgid "Invalid key(s): {invalid_keys}." msgstr "无效的密钥:{invalid_keys}。" -#: awx/sso/fields.py:513 +#: awx/sso/fields.py:545 #, python-brace-format msgid "Invalid user flag: \"{invalid_flag}\"." msgstr "无效的用户标记:\"{invalid_flag}\"。" -#: awx/sso/fields.py:667 +#: awx/sso/fields.py:699 #, python-brace-format msgid "Invalid language code(s) for org info: {invalid_lang_codes}." msgstr "用于机构信息的语言代码无效:{invalid_lang_codes}。" -#: awx/sso/pipeline.py:27 +#: awx/sso/pipeline.py:28 #, python-brace-format msgid "An account cannot be found for {0}" msgstr "无法为 {0} 找到帐户" -#: awx/sso/pipeline.py:33 +#: awx/sso/pipeline.py:34 msgid "Your account is inactive" msgstr "您的帐户不活跃" @@ -6081,8 +6093,8 @@ msgstr "自定义登录信息" msgid "" "If needed, you can add specific information (such as a legal notice or a " "disclaimer) to a text box in the login modal using this setting. Any content " -"added must be in plain text, as custom HTML or other markup languages are " -"not supported." +"added must be in plain text or an HTML fragment, as other markup languages " +"are not supported." msgstr "如果需要,您可以使用此设置在登录模态的文本框中添加特定信息(如法律声明或免责声明)。添加的任何内容都必须使用明文,因为不支持自定义 HTML 或其他标记语言。" #: awx/ui/conf.py:45 @@ -6125,3 +6137,29 @@ msgstr "无效的自定义徽标格式。必须是包含 base64 编码 GIF 、PN msgid "Invalid base64-encoded data in data URL." msgstr "数据 URL 中的 base64 编码数据无效。" +#: awx/ui_next/apps.py:9 +msgid "UI_Next" +msgstr "UI_Next" + +#: awx/ui_next/urls.py:20 +#, python-format +msgid "%s Upgrading" +msgstr "升级 %s" + +#: awx/ui_next/urls.py:21 +msgid "Logo" +msgstr "标志" + +#: awx/ui_next/urls.py:22 +msgid "Loading" +msgstr "正在加载" + +#: awx/ui_next/urls.py:23 +#, python-format +msgid "%s is currently upgrading." +msgstr "%s 当前正在升级。" + +#: awx/ui_next/urls.py:24 +msgid "This page will refresh when complete." +msgstr "完成后,此页面会刷新。" +