Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
351 lines
17 KiB
JSON
351 lines
17 KiB
JSON
{
|
|
"navigation": {
|
|
"heading": "Extensions"
|
|
},
|
|
"enterpriseFeature": {
|
|
"title": "Fonctionnalité Enterprise",
|
|
"description": "L'édition Enterprise est requise pour {{feature}}. Veuillez effectuer une mise à niveau pour accéder à cette fonctionnalité."
|
|
},
|
|
"settings": {
|
|
"title": "Gestion des extensions",
|
|
"description": "Installez, configurez et gérez des extensions pour étendre les fonctionnalités d'Alga PSA.",
|
|
"tabs": {
|
|
"manage": "Gérer",
|
|
"install": "Installer"
|
|
},
|
|
"enterpriseOnly": {
|
|
"title": "Fonctionnalité Enterprise",
|
|
"description": "Les extensions sont disponibles dans l'édition Enterprise d'Alga PSA."
|
|
},
|
|
"links": {
|
|
"needLogs": "Besoin des journaux d'extension ?",
|
|
"debugConsole": "Ouvrir la console de débogage de démonstration du proxy de service"
|
|
},
|
|
"loading": {
|
|
"extensions": "Chargement des extensions...",
|
|
"installer": "Chargement de l'installateur..."
|
|
},
|
|
"featureNames": {
|
|
"settings": "paramètres des extensions",
|
|
"details": "détails de l'extension",
|
|
"permissions": "autorisations de l'extension",
|
|
"management": "gestion des extensions",
|
|
"installer": "programme d'installation des extensions"
|
|
},
|
|
"heading": "Paramètres de l'extension",
|
|
"notFound": "Extension introuvable",
|
|
"notFoundDescription": "L'extension que vous recherchez n'existe pas ou vous n'y avez pas accès.",
|
|
"backToExtensions": "Retour aux extensions",
|
|
"nameSuffix": "Paramètres de {{name}}",
|
|
"resetToDefaults": "Réinitialiser aux valeurs par défaut",
|
|
"saveChanges": "Enregistrer les modifications",
|
|
"confirmReset": "Voulez-vous vraiment réinitialiser tous les paramètres à leurs valeurs par défaut ?",
|
|
"cardTitle": "Paramètres de l'extension",
|
|
"cardDescription": "Configurez les paramètres de cette extension. Ces paramètres seront utilisés par l'extension pour personnaliser son comportement.",
|
|
"noConfigurable": "Cette extension n'a aucun paramètre configurable.",
|
|
"customConfig": {
|
|
"title": "Configuration personnalisée",
|
|
"description": "Ajoutez des valeurs de configuration personnalisées pour cette extension. Elles sont fournies à l'extension en plus des paramètres définis ci-dessus.",
|
|
"empty": "Aucune entrée de configuration personnalisée.",
|
|
"addEntry": "Ajouter une entrée",
|
|
"keyPlaceholder": "Clé (par ex. MY_API_KEY)",
|
|
"valuePlaceholder": "Valeur",
|
|
"markSensitive": "Marquer comme sensible",
|
|
"markPublic": "Marquer comme public"
|
|
},
|
|
"schedules": {
|
|
"title": "Plannings",
|
|
"description": "Configurez des tâches planifiées pour cette extension en invoquant un point de terminaison API déclaré dans le manifeste selon une planification cron. Lors des mises à jour d'extension, les plannings sont remappés selon la méthode/le chemin du point de terminaison ; les mises à jour peuvent être bloquées si un point de terminaison planifié est supprimé.",
|
|
"loading": "Chargement des plannings…",
|
|
"noEndpoints": "Cette extension ne déclare aucun point de terminaison API, il n'y a donc rien à planifier.",
|
|
"endpoint": "Point de terminaison",
|
|
"cron": "Cron",
|
|
"timezone": "Fuseau horaire",
|
|
"selectEndpoint": "Sélectionnez un point de terminaison",
|
|
"payloadLabel": "Charge utile (JSON, optionnelle)",
|
|
"payloadHelp": "Pour les points de terminaison GET, la charge utile est ignorée. Pour les points de terminaison POST, la charge utile devient le corps de la requête. Évitez d'inclure des secrets dans les charges utiles ; utilisez plutôt la configuration/les secrets de l'extension.",
|
|
"create": "Créer un planning",
|
|
"creating": "Création...",
|
|
"refresh": "Actualiser",
|
|
"empty": "Aucun planning configuré.",
|
|
"lastStatus": " • dernier : {{status}}",
|
|
"save": "Enregistrer",
|
|
"cancel": "Annuler",
|
|
"edit": "Modifier",
|
|
"runNow": "Exécuter maintenant",
|
|
"delete": "Supprimer",
|
|
"confirmDelete": "Supprimer ce planning ?"
|
|
},
|
|
"secrets": {
|
|
"title": "Valeurs des secrets",
|
|
"descriptionPrefix": "Les secrets sont chiffrés au repos.",
|
|
"descriptionHasStored": "Laissez un champ vide pour conserver le secret existant.",
|
|
"descriptionNoStored": "Fournissez des valeurs pour les secrets requis avant d'enregistrer.",
|
|
"version": "Version : {{version}}",
|
|
"valuePlaceholder": "Saisissez la valeur du secret",
|
|
"storedHint": "Secret enregistré présent. Saisissez une nouvelle valeur pour le faire tourner."
|
|
},
|
|
"selectOption": "Sélectionnez une option"
|
|
},
|
|
"communityEdition": {
|
|
"listUnavailable": "Les extensions ne sont pas disponibles dans cette édition",
|
|
"dynamicListUnavailable": "Les extensions ne sont pas disponibles dans l'édition Community",
|
|
"dynamicInstallUnavailable": "L'installation des extensions n'est pas disponible dans l'édition Community"
|
|
},
|
|
"page": {
|
|
"metadata": {
|
|
"title": "Extensions",
|
|
"description": "Gérer les extensions"
|
|
},
|
|
"title": "Extensions",
|
|
"description": "La gestion des extensions est disponible dans l'édition Enterprise."
|
|
},
|
|
"detail": {
|
|
"metadataTitle": "Extensions - Fonctionnalité Enterprise",
|
|
"extensionId": "ID de l'extension : {{id}}"
|
|
},
|
|
"runtime": {
|
|
"metadataTitle": "Extension",
|
|
"loadError": "Impossible de charger les informations d'exécution de l'extension",
|
|
"notFoundTitle": "Extension introuvable.",
|
|
"goToExtensions": "Aller aux extensions",
|
|
"bundleUnavailableTitle": "Package d'extension indisponible.",
|
|
"bundleUnavailableDescription": "Le package de l'extension est manquant ou n'a pas été téléversé.",
|
|
"goToDetails": "Aller aux détails de l'extension",
|
|
"runtimeDomainUnavailableTitle": "Le domaine d'exécution de l'extension est indisponible.",
|
|
"runtimeDomainUnavailableDescription": "Reprovisionnez l'extension depuis Paramètres -> Extensions -> sélectionnez l'extension -> Provisionner."
|
|
},
|
|
"detailsPage": {
|
|
"metadata": {
|
|
"title": "Détails de l'extension",
|
|
"description": "Afficher les détails de l'extension"
|
|
},
|
|
"title": "Détails de l'extension",
|
|
"description": "Les détails de l'extension sont disponibles dans l'édition Enterprise."
|
|
},
|
|
"settingsPage": {
|
|
"metadata": {
|
|
"title": "Paramètres des extensions",
|
|
"description": "Configurer les paramètres des extensions"
|
|
},
|
|
"title": "Paramètres des extensions",
|
|
"description": "Les paramètres des extensions sont disponibles dans l'édition Enterprise."
|
|
},
|
|
"details": {
|
|
"label": "Détails de l'extension",
|
|
"fallbackTitle": "Détails de l'extension",
|
|
"notFoundTitle": "Extension introuvable",
|
|
"enabled": "Activée",
|
|
"disabled": "Désactivée",
|
|
"settings": "Paramètres",
|
|
"disable": "Désactiver",
|
|
"enable": "Activer",
|
|
"remove": "Supprimer",
|
|
"loading": "Chargement des détails de l'extension...",
|
|
"error": "Erreur",
|
|
"sectionInfo": "Informations sur l'extension",
|
|
"runtimeDomain": "Domaine d'exécution",
|
|
"open": "Ouvrir",
|
|
"copy": "Copier",
|
|
"provision": "Provisionner",
|
|
"description": "Description",
|
|
"version": "Version",
|
|
"author": "Auteur",
|
|
"unknownAuthor": "Inconnu",
|
|
"homepage": "Page d'accueil",
|
|
"license": "Licence",
|
|
"installedDate": "Date d'installation",
|
|
"lastUpdated": "Dernière mise à jour",
|
|
"sectionPermissions": "Autorisations",
|
|
"noPermissions": "Cette extension ne nécessite aucune autorisation.",
|
|
"sectionVersions": "Versions",
|
|
"loadingVersions": "Chargement des versions…",
|
|
"noVersions": "Aucune version publiée disponible.",
|
|
"colVersion": "Version",
|
|
"colPublished": "Publiée",
|
|
"colContentHash": "Hachage du contenu",
|
|
"colInstalled": "Installée",
|
|
"yes": "Oui",
|
|
"no": "Non",
|
|
"sectionComponents": "Composants",
|
|
"noComponents": "Cette extension ne définit aucun composant.",
|
|
"colType": "Type",
|
|
"colId": "ID",
|
|
"colEntryPoint": "Point d'entrée",
|
|
"colMountPoint": "Point de montage",
|
|
"infoTitle": "Informations sur l'extension",
|
|
"infoInstalled": "Cette extension a été installée le {{installedDate}} et a été mise à jour pour la dernière fois le {{updatedDate}}.",
|
|
"infoRefreshHint": "L'activation ou la désactivation de l'extension peut nécessiter une actualisation de la page pour que les modifications prennent effet.",
|
|
"settingsCountOne": "Cette extension a {{count}} paramètre configurable.",
|
|
"settingsCountOther": "Cette extension a {{count}} paramètres configurables.",
|
|
"manageSettings": "Gérer les paramètres",
|
|
"removeTitle": "Supprimer l'extension",
|
|
"removeMessage": "Voulez-vous vraiment supprimer cette extension ? Cette action ne peut pas être annulée.",
|
|
"confirmRemove": "Supprimer",
|
|
"cancel": "Annuler"
|
|
},
|
|
"detailsModal": {
|
|
"description": "Description",
|
|
"version": "Version",
|
|
"author": "Auteur",
|
|
"unknownAuthor": "Inconnu",
|
|
"status": "Statut",
|
|
"enabled": "Activée",
|
|
"disabled": "Désactivée",
|
|
"created": "Créée",
|
|
"lastUpdated": "Dernière mise à jour",
|
|
"extensionId": "ID de l'extension",
|
|
"settingsComingSoon": "Les paramètres de l'extension seront disponibles dans la prochaine mise à jour.",
|
|
"settings": "Paramètres",
|
|
"disable": "Désactiver",
|
|
"enable": "Activer",
|
|
"remove": "Supprimer",
|
|
"removeTitle": "Supprimer l'extension",
|
|
"removeMessage": "Voulez-vous vraiment supprimer cette extension ? Cette action ne peut pas être annulée.",
|
|
"confirmRemove": "Supprimer",
|
|
"cancel": "Annuler"
|
|
},
|
|
"simple": {
|
|
"heading": "Extensions",
|
|
"loading": "Chargement des extensions...",
|
|
"error": "Erreur",
|
|
"emptyTitle": "Aucune extension installée",
|
|
"emptyDescription": "Installez des extensions pour ajouter de nouvelles fonctionnalités à Alga PSA.",
|
|
"colExtension": "Extension",
|
|
"colVersion": "Version",
|
|
"colAuthor": "Auteur",
|
|
"colStatus": "Statut",
|
|
"colActions": "Actions",
|
|
"unknownAuthor": "Inconnu",
|
|
"enabled": "Activée",
|
|
"disabled": "Désactivée",
|
|
"view": "Afficher",
|
|
"settings": "Paramètres",
|
|
"settingsComingSoon": "Les paramètres de l'extension seront disponibles dans la prochaine mise à jour.",
|
|
"disable": "Désactiver",
|
|
"enable": "Activer",
|
|
"remove": "Supprimer",
|
|
"removeFailed": "Échec de la suppression de l'extension",
|
|
"toggleDisableFailed": "Échec de la désactivation de l'extension",
|
|
"toggleEnableFailed": "Échec de l'activation de l'extension",
|
|
"loadFailed": "Échec du chargement des extensions",
|
|
"removeTitle": "Supprimer l'extension",
|
|
"removeMessage": "Voulez-vous vraiment supprimer cette extension ? Cette action ne peut pas être annulée.",
|
|
"confirmRemove": "Supprimer",
|
|
"cancel": "Annuler"
|
|
},
|
|
"list": {
|
|
"label": "Gestion des extensions",
|
|
"heading": "Extensions",
|
|
"loading": "Chargement des extensions...",
|
|
"error": "Erreur",
|
|
"loadFailed": "Échec du chargement des extensions",
|
|
"emptyTitle": "Aucune extension installée",
|
|
"emptyDescription": "Installez des extensions pour ajouter de nouvelles fonctionnalités à Alga PSA.",
|
|
"colExtension": "Extension",
|
|
"colVersion": "Version",
|
|
"colAuthor": "Auteur",
|
|
"colDomain": "Domaine",
|
|
"colActions": "Actions",
|
|
"enabled": "Activée",
|
|
"disabled": "Désactivée",
|
|
"view": "Afficher",
|
|
"settings": "Paramètres",
|
|
"provision": "Provisionner",
|
|
"disable": "Désactiver",
|
|
"enable": "Activer",
|
|
"remove": "Supprimer",
|
|
"debug": "Déboguer",
|
|
"removeTitle": "Supprimer l'extension",
|
|
"removeMessage": "Voulez-vous vraiment supprimer cette extension ? Cette action ne peut pas être annulée.",
|
|
"confirmRemove": "Supprimer",
|
|
"cancel": "Annuler",
|
|
"dialogVersion": "Version :",
|
|
"dialogAuthor": "Auteur :",
|
|
"dialogDomain": "Domaine :",
|
|
"dialogStatus": "Statut :"
|
|
},
|
|
"installer": {
|
|
"title": "Installer une extension",
|
|
"description": "Choisissez un package signé et installez-le.",
|
|
"bundleLabel": "Package d'extension (.tar.zst)",
|
|
"bundleHint": "Le manifeste sera extrait automatiquement du package.",
|
|
"advancedOptions": "Options avancées",
|
|
"customManifestLabel": "Manifeste personnalisé (remplacement optionnel)",
|
|
"customManifestPlaceholder": "Laissez vide pour utiliser le manifeste du package, ou collez ici un manifest.json personnalisé",
|
|
"manifestJsonLabel": "JSON du manifeste",
|
|
"manifestJsonPlaceholder": "Collez ici le contenu de manifest.json",
|
|
"browse": "Parcourir",
|
|
"manifestExtractFailed": "Impossible d'extraire le manifeste du package. Veuillez le fournir manuellement.",
|
|
"install": "Installer",
|
|
"installing": "Installation…",
|
|
"reset": "Réinitialiser",
|
|
"finalize": "Finaliser",
|
|
"finalizing": "Finalisation…",
|
|
"cancel": "Annuler",
|
|
"manageExtensions": "Gérer les extensions",
|
|
"installAnother": "Installer une autre",
|
|
"error": "Erreur",
|
|
"installed": "Extension installée",
|
|
"installedName": "{{name}} v{{version}}",
|
|
"uploadNoKey": "Le téléversement a réussi mais aucune clé n'a été retournée",
|
|
"manifestMissing": "Impossible d'extraire un manifeste valide du package.",
|
|
"finalizeError": "Erreur inattendue lors de la finalisation de l'installation",
|
|
"installCompleteError": "Extension finalisée, mais l'installation ne s'est pas terminée",
|
|
"installUnexpected": "Erreur inattendue lors de l'installation",
|
|
"finalizeRequireManifest": "Veuillez coller le JSON du manifeste avant de finaliser.",
|
|
"finalizeProvidedFailed": "Échec de la finalisation avec le manifeste fourni"
|
|
},
|
|
"installSimple": {
|
|
"title": "Installer une extension",
|
|
"heading": "Installation d'extension",
|
|
"description": "Utilisez le programme d'installation complet pour les options avancées."
|
|
},
|
|
"clientPortal": {
|
|
"loadError": "Impossible de charger les informations d'exécution de l'extension",
|
|
"notFoundTitle": "Extension introuvable.",
|
|
"backToDashboard": "Retour au tableau de bord",
|
|
"bundleUnavailableTitle": "Package d'extension indisponible.",
|
|
"bundleUnavailableDescription": "Le package de l'extension est manquant ou n'a pas été téléversé.",
|
|
"runtimeDomainUnavailableTitle": "Le domaine d'exécution de l'extension est indisponible.",
|
|
"runtimeDomainUnavailableDescription": "Domaine d'extension non provisionné."
|
|
},
|
|
"messages": {
|
|
"loadSettingsFailed": "Échec du chargement des paramètres de l'extension.",
|
|
"refreshSchedulesFailed": "Échec de l'actualisation des plannings.",
|
|
"requiredSecretsMissing": "Veuillez fournir des valeurs pour les secrets requis avant d'enregistrer.",
|
|
"enterSecretValues": "Saisissez les valeurs des secrets avant d'enregistrer.",
|
|
"invalidCustomKey": "Les clés personnalisées ne peuvent contenir que des lettres, des chiffres, des tirets bas, des points et des tirets.",
|
|
"saveSettingsFailed": "Échec de l'enregistrement des paramètres de l'extension.",
|
|
"updateSecretsFailed": "Échec de la mise à jour des secrets de l'extension.",
|
|
"secretsUpdated": "Secrets de l'extension mis à jour.",
|
|
"settingsSaved": "Paramètres de l'extension enregistrés avec succès.",
|
|
"resetSettingsFailed": "Échec de la réinitialisation des paramètres de l'extension.",
|
|
"settingsReset": "Paramètres réinitialisés aux valeurs par défaut.",
|
|
"invalidPayloadJson": "La charge utile doit être un JSON valide.",
|
|
"createScheduleFailed": "Échec de la création du planning.",
|
|
"scheduleCreated": "Planning créé.",
|
|
"updateScheduleFailed": "Échec de la mise à jour du planning.",
|
|
"scheduleUpdated": "Planning mis à jour.",
|
|
"runScheduleFailed": "Échec de l'exécution du planning.",
|
|
"scheduleRunEnqueued": "Exécution du planning mise en file d'attente.",
|
|
"deleteScheduleFailed": "Échec de la suppression du planning.",
|
|
"scheduleDeleted": "Planning supprimé.",
|
|
"toggleFailed": "Échec de la mise à jour de l'état de l'extension",
|
|
"extensionEnabled": "Extension activée",
|
|
"extensionDisabled": "Extension désactivée",
|
|
"enableFailed": "Échec de l'activation de l'extension",
|
|
"disableFailed": "Échec de la désactivation de l'extension",
|
|
"removeFailed": "Échec de la suppression de l'extension",
|
|
"extensionRemoved": "Extension supprimée",
|
|
"reprovisionFailed": "Échec du reprovisionnement",
|
|
"manifestReadFailed": "Échec de la lecture du fichier manifeste",
|
|
"invalidBundleExtension": "Le fichier doit se terminer par \".tar.zst\" : {{filename}}"
|
|
},
|
|
"debug": {
|
|
"scopeToOneInstall": "Limiter à une installation",
|
|
"overrideTenantContext": "Remplacer le contexte tenant",
|
|
"matchRequestId": "Faire correspondre x-request-id / context.request_id"
|
|
}
|
|
}
|