diff --git a/components/about-app/i18n/fr/about.json b/components/about-app/i18n/fr/about.json
new file mode 100644
index 0000000000..72f6e9762a
--- /dev/null
+++ b/components/about-app/i18n/fr/about.json
@@ -0,0 +1,19 @@
+{
+ "about": {
+ "about": "À propos",
+ "title": "[[@:product.name]] [[@:product.version]]",
+ "console-version": "La Version de la Console ",
+ "db-version": "Base de données Version",
+ "user": "Utilisateur",
+ "footer": {
+ "title": "@:footer.title",
+ "copyright": "@:footer.copyright",
+ "company.logo": "@:company.logo",
+ "product.logo": "@:product.logo",
+ "company.www-link": "@:company.www-link",
+ "product.www-link": "@:product.www-link",
+ "company.terms-href": "@:company.terms.href",
+ "company.privacy-href": "@:company.privacy.href"
+ }
+ }
+}
\ No newline at end of file
diff --git a/components/app-core/frontend/i18n/en_US/locales.json b/components/app-core/frontend/i18n/en_US/locales.json
index 423acde298..9ec457bef1 100644
--- a/components/app-core/frontend/i18n/en_US/locales.json
+++ b/components/app-core/frontend/i18n/en_US/locales.json
@@ -1,7 +1,8 @@
{
"locales": {
- "locales": "en_US,en_GB",
+ "locales": "en_US,en_GB,fr",
"en_US": "English (US)",
- "en_GB": "English (UK)"
+ "en_GB": "English (UK)",
+ "fr": "Français (FR)"
}
}
\ No newline at end of file
diff --git a/components/app-core/frontend/i18n/fr/common.json b/components/app-core/frontend/i18n/fr/common.json
new file mode 100644
index 0000000000..fe4c2b4656
--- /dev/null
+++ b/components/app-core/frontend/i18n/fr/common.json
@@ -0,0 +1,75 @@
+{
+ "applications": "Applications",
+ "console": "Console",
+ "endpoints": "Endpoints",
+ "privacy": "confidentialité",
+ "terms": "Conditions d'utilisation",
+ "endpoint": "Endpoint",
+
+ "preparing.console": "Préparation de la console ...",
+
+ "buttons": {
+ "ok": "OK",
+ "cancel": "Annuler",
+ "next": "Suivant",
+ "previous": "Précedent",
+ "back": "Back",
+ "done": "Terminer",
+ "add": "Ajouter",
+ "set": "poser",
+ "save": "Sauvegarder",
+ "delete": "Supprimer",
+ "rename": "Renommer",
+ "yes": "Oui",
+ "no": "Non",
+ "close": "Fermer"
+ },
+ "auth": {
+ "username": "Nom d'utilisateur",
+ "password": "Mot de passe"
+ },
+ "navbar": {
+ "title": "@:product.name",
+ "logo": "Accueil",
+ "copyright": "© SUSE 2017"
+ },
+ "menu": {
+ "applications": "@:applications",
+ "endpoints": "@:endpoints",
+ "about": "@:about",
+ "language": "Langue ({{current}})",
+ "logout": "Se déconnecter",
+ "profile": "Profil"
+ },
+ "language": {
+ "select": "Choisir Langue"
+ },
+ "footer": {
+ "title": "[[@:product.name]] [[@:product.version]]",
+ "copyright": "© 2017 [[@:company.name]]",
+ "logo": "@:company.logo",
+ "company.logo": "@:company.logo",
+ "product.logo": "@:product.logo",
+ "company.www-link": "@:company.www-link",
+ "product.www-link": "@:product.www-link"
+ },
+ "dateTime": {
+ "singular": {
+ "day": "j",
+ "hour": "h",
+ "minute": "m",
+ "second": "s",
+ "format": "{{value}}{{unit}}"
+ },
+ "plural": {
+ "days": "j",
+ "hours": "h",
+ "minutes": "m",
+ "seconds": "s",
+ "format": "{{value}}{{unit}}"
+ }
+ },
+ "memory": {
+ "megabyte": "MB"
+ }
+}
diff --git a/components/app-core/frontend/i18n/fr/endpoints.json b/components/app-core/frontend/i18n/fr/endpoints.json
new file mode 100644
index 0000000000..868f8bf997
--- /dev/null
+++ b/components/app-core/frontend/i18n/fr/endpoints.json
@@ -0,0 +1,37 @@
+{
+ "endpoints": {
+ "unknown": "Inconnu",
+ "unregister": {
+ "unregister": "Annuler la souscription",
+ "title": "Annuler la souscription à l'Endpoint",
+ "confirm": "Etes vous sûr de vouloir nnuler la souscription à l'Endpoint '{{name}}'?",
+ "error": "Opération Echouée: Annuler la souscription à l'Endpoint",
+ "success": "Opération Réussie: Annuler la souscription à l'Endpoint '{{name}}'"
+ },
+ "connect": {
+ "connect-action": "souscrire",
+ "title": "Fournir des informations d'identification",
+ "description": "Entrez votre nom d'utilisateur et votre mot de passe pour vous souscrire à l'Endpoint ci-dessous.",
+ "service-label": "Service",
+ "url-label": "URL",
+ "username-label": "Nom d'utilisateur",
+ "password-label": "Mot de passe",
+ "connect-button": "souscrire",
+ "success-notification": "Opération Réussie: souscription à '{{name}}'",
+ "error-no-connect": "Le serveur d'authentification n'a pas pu répondre. Veuillez réessayer. Si cette erreur persiste, veuillez contacter l'administrateur.",
+ "error-server-failure": "Une erreur de serveur s'est produite lors de la tentative d'enregistrement de votre service. Veuillez réessayer. Si cette erreur persiste, veuillez contacter l'administrateur.",
+ "error-user-input": "Le nom d'utilisateur ou le mot de passe que vous avez utilisé est incorrecte. Veuillez réessayer."
+ },
+ "disconnect": {
+ "disconnect": "Déconnecter",
+ "success": "Endpoint '{{name}}' déconnecté avec succès",
+ "error": "Déconnexion échouée du Endpoint '{{name}}'"
+ },
+ "errors": {
+ "unavailable": "La console n'a pas pu contacter l'endpoint '{{name}}'. Essayez de vous reconnecter à cet Endpoint pour résoudre ce problème.",
+ "multiple": "La console n'a pas pu contacter plusieurs endpoints",
+ "contact": "La console n'a pas pu contacter cet endpoint. Essayez de vous reconnecter à cet endpoint pour résoudre ce problème.",
+ "expired": "Le jeton a expiré. Essayez de vous reconnecter à cet endpoint pour résoudre ce problème."
+ }
+ }
+}
\ No newline at end of file
diff --git a/components/app-core/frontend/i18n/fr/errors.json b/components/app-core/frontend/i18n/fr/errors.json
new file mode 100644
index 0000000000..7f3bd174a8
--- /dev/null
+++ b/components/app-core/frontend/i18n/fr/errors.json
@@ -0,0 +1,16 @@
+{
+ "errors": {
+ "server_comms": "The Console encountered a problem communicating with the server. Please try again.",
+ "needs-registration": "In order to use the [[@:product.console]] you must connect to a registered service endpoint. Registered service endpoints are provided by your system administrator. Please contact your administrator about registering endpoints.",
+ "unexpected": "[[@:product.name]] encountered an unexpected error.",
+ "upgrading": "[[@:product.console]] is being upgraded.",
+ "contact-admin": "Please contact your administrator.",
+ "upgrade-wait": "Please wait for the upgrade to complete and then refresh or contact your administrator for further information.",
+ "nothing-registered": "There are no registered endpoints.",
+ "setup-required": "[[@:product.console]] has not been setup.",
+ "nothing-connected": "There are no connected endpoints.",
+ "endpoint-retrieval": "[[@:product.console]] could not retrieve Endpoint information.",
+ "generic-async-failure": "There was a problem carrying out the action. Please try again. If this error persists, please contact the administrator."
+ },
+ "error-format": "{{errorMsg}}, Error Code: {{errorCode}}"
+}
diff --git a/components/app-core/frontend/i18n/fr/locales.json b/components/app-core/frontend/i18n/fr/locales.json
new file mode 100644
index 0000000000..9ec457bef1
--- /dev/null
+++ b/components/app-core/frontend/i18n/fr/locales.json
@@ -0,0 +1,8 @@
+{
+ "locales": {
+ "locales": "en_US,en_GB,fr",
+ "en_US": "English (US)",
+ "en_GB": "English (UK)",
+ "fr": "Français (FR)"
+ }
+}
\ No newline at end of file
diff --git a/components/app-core/frontend/i18n/fr/login.json b/components/app-core/frontend/i18n/fr/login.json
new file mode 100644
index 0000000000..fd74bb7c19
--- /dev/null
+++ b/components/app-core/frontend/i18n/fr/login.json
@@ -0,0 +1,22 @@
+{
+ "login": {
+ "login": "Login",
+ "console": "@:product.console",
+ "logo": "",
+ "title": "[[@:product.name]] [[@:product.version]]",
+ "username": "@:auth.username",
+ "password": "@:auth.password",
+ "authenticating": "Authentification des informations d'identification",
+ "welcome": "Utilisez [[@:product.console]] pour développer, composer et gérer les charges de travail Cloud Native.",
+ "error": {
+ "credentials": "Le nom d'utilisateur ou le mot de passe que vous avez utilisé est incorrecte. Veuillez réessayer.",
+ "server": "Une erreur de serveur s'est produite lors de la tentative de connexion. Veuillez réessayer. Si cette erreur persiste, veuillez contacter l'administrateur.",
+ "no-response": "Le serveur d'authentification n'a pas pu répondre. Veuillez réessayer. Si cette erreur persiste, veuillez contacter l'administrateur."
+ },
+ "timeout": {
+ "prompt": "Êtes-vous encore là?",
+ "notice": "Vous avez été inactif pendant un moment. Pour votre protection, nous vous déconnectons automatiquement {{timeout}}",
+ "confirm": "Je suis toujours là"
+ }
+ }
+}
\ No newline at end of file
diff --git a/components/app-core/frontend/i18n/fr/product.json b/components/app-core/frontend/i18n/fr/product.json
new file mode 100644
index 0000000000..68377c1478
--- /dev/null
+++ b/components/app-core/frontend/i18n/fr/product.json
@@ -0,0 +1,17 @@
+{
+ "product": {
+ "name": "Cloud Foundry",
+ "console": "Cloud Foundry Console",
+ "logo": "",
+ "www-link": ""
+ },
+ "company": {
+ "name": "SUSE",
+ "logo": "images/brand_company_logo.png",
+ "about-logo": "@:company.logo",
+ "www-link": "http://www.suse.com",
+ "terms-href": "",
+ "privacy-href": "",
+ "product-family-href": ""
+ }
+}
diff --git a/components/app-framework/i18n/fr/app-framework.json b/components/app-framework/i18n/fr/app-framework.json
new file mode 100644
index 0000000000..11f373a1b6
--- /dev/null
+++ b/components/app-framework/i18n/fr/app-framework.json
@@ -0,0 +1,11 @@
+{
+ "select-input": {
+ "placeholder": "Selectionner"
+ },
+ "code-block": {
+ "copied-msg": "Copié dans le presse-papier"
+ },
+ "search-box": {
+ "busy": "Chargement ..."
+ }
+}
\ No newline at end of file
diff --git a/components/app-framework/i18n/fr/landing-page.json b/components/app-framework/i18n/fr/landing-page.json
new file mode 100644
index 0000000000..e87620b7d4
--- /dev/null
+++ b/components/app-framework/i18n/fr/landing-page.json
@@ -0,0 +1,17 @@
+{
+ "landing": {
+ "header": {
+ "header": "@:product.name"
+ },
+ "footer": {
+ "title": "",
+ "copyright": "@:footer.copyright",
+ "company.logo": "@:company.logo",
+ "product.logo": "@:product.logo",
+ "company.www-link": "@:company.www-link",
+ "product.www-link": "@:product.www-link",
+ "company.terms-href": "@:company.terms.href",
+ "company.privacy-href": "@:company.privacy.href"
+ }
+ }
+}
\ No newline at end of file
diff --git a/components/app-setup/frontend/i18n/fr/app-setup.json b/components/app-setup/frontend/i18n/fr/app-setup.json
new file mode 100644
index 0000000000..402ef9310e
--- /dev/null
+++ b/components/app-setup/frontend/i18n/fr/app-setup.json
@@ -0,0 +1,72 @@
+{
+ "app-setup": {
+ "intro-title": "[[@:product.console]] Installation",
+ "step-intro": {
+ "title": "Introduction",
+ "p1": "Bienvenue à [[@:product.console]].",
+ "p2": "[[@:product.console]] est une interface utilisateur Web Open Source (Console) pour la gestion de Cloud Foundry. Elle permet aux utilisateurs et aux administrateurs de gérer les applications exécutées dans le cluster Cloud Foundry et d'effectuer des tâches de gestion de cluster.",
+ "p3": "Avant d'accéder à la console pour la première fois, des informations de configuration sont requises.",
+ "p4": "Appuyez sur SUIVANT pour commencer.",
+ "p5": ""
+ },
+ "step-1": {
+ "title": "UAA Endpoint",
+ "p1": "[[@:product.console]] authentifie les utilisateurs avec un compte utilisateur Cloud Foundry et une authentification qui utilise le service UAA. La console doit être configurée avec les détails nécessaires pour communiquer avec l'UAA.",
+ "p2": "L'adresse du endpoint de l'api de l'UAA doit être fournie et si la validation SSL doit être appliquée.",
+ "p3": "Les informations d'identification du client sont obligatoires, notamment un nom d'utilisateur et un mot de passe d'administrateur UAA.",
+ "p4": "La configuration sera validée avant de passer à l'étape suivante.",
+ "p5": "Pour plus d'informations sur Cloud Foundry UAA voir ici.",
+ "p6": "Pour plus d'informations sur la console et UAA dans les différents types de déploiement, voir ici.",
+ "busy-message": "Validation ...",
+ "uaa-intro": "UAA Endpoint",
+ "uaa-url": {
+ "label": "URL API",
+ "placeholder": "L'URL de l'API",
+ "error-required": "L'Url est requis",
+ "error-pattern": "URL invalide"
+ },
+ "uaa-url-skip-ssl": {
+ "label": "Ignorer la validation SSL pour l'endpoint"
+ },
+ "console-intro": "Informations d'identification de la console pour l'UAA",
+ "console-client": {
+ "label": "Id Client",
+ "placeholder": "",
+ "error-required": "Id est requis"
+ },
+ "console-secret": {
+ "label": "Client Secret",
+ "placeholder": ""
+ },
+ "console-admin": {
+ "label": "Nom d'utilisateur de l'administrateur",
+ "placeholder": "",
+ "error-required": "Le Nom d'utilisateur est requis"
+ },
+ "console-password": {
+ "label": "Mot de passe administrateur",
+ "placeholder": "",
+ "error-required": "Le mot de passe est requis"
+ },
+ "error-request": "Impossible d'envoyer les informations de configuration. Si cette erreur persiste, veuillez contacter l'administrateur.",
+ "error-request-reason": "[[@:app-setup.step-1.error-request]]. La cause: {{reason}}."
+ },
+ "step-2": {
+ "title": "La console d'administrateur",
+ "p1": "La configuration de base a été validée et un ensemble de portées UAA a été découvert.",
+ "p2": "La console utilise une portée pour identifier les administrateurs de console à partir des utilisateurs réguliers.",
+ "p3": "Veuillez sélectionner la portée que vous souhaitez utiliser pour cette.",
+ "p4": "",
+ "p5": "",
+ "busy-message": "Application de la configuration ...",
+ "intro": "La portée de la console d'administrateur",
+ "console-scope": {
+ "label": "La portée",
+ "placeholder": "Portée d'administration UAA identifiant l'administrateur de la console "
+ },
+ "error-request": "Impossible d'envoyer les informations de configuration. Si cette erreur persiste, veuillez contacter l'administrateur.",
+ "error-request-reason": "[[@:app-setup.step-2.error-request]]. La cause: {{reason}}."
+ },
+ "buttonComplete": "Terminer"
+ }
+}
diff --git a/components/cf-app-push/frontend/i18n/fr/app-push.json b/components/cf-app-push/frontend/i18n/fr/app-push.json
new file mode 100644
index 0000000000..1451746967
--- /dev/null
+++ b/components/cf-app-push/frontend/i18n/fr/app-push.json
@@ -0,0 +1,98 @@
+{
+ "app-wall": {
+ "deploy-application": "Déployer l'application"
+ },
+ "deploy-app-dialog": {
+ "title": "Déployer l'application",
+ "button-deploy": "Déployer",
+ "step-destination": {
+ "title": "Destination",
+ "busy": "Mise à jour des données Cloud Foundry",
+ "enter-failed": "Échec de la régénération des données de Cloud Foundry. Veuillez réessayer. Si cette erreur persiste, veuillez contacter l'administrateur."
+ },
+ "step-source": {
+ "title": "Source",
+ "choose-label": "Type de Source",
+ "choose-placeholder": "Selectionner le type de source",
+ "git": {
+ "git": "Git",
+ "github": {
+ "github": "Publique Github",
+ "project-label": "Projet",
+ "project-placeholder": "suse/stratos-ui",
+ "project-not-found": "Projet non trouvé",
+ "branch-label": "Branche",
+ "branch-placeholder": "Selectionner une Branche",
+ "branch-last-commit": "",
+ "branch-last-commit-date": "",
+ "branch-last-commit-committer": ""
+ },
+ "gitUrl": {
+ "gitUrl": "URL Publique Git",
+ "url": {
+ "url": "URL",
+ "placeholder": "URL HTTPS du dépôt git",
+ "error-required": "L'URL est requis",
+ "error-pattern": "URL invalide"
+ },
+ "branch": {
+ "branch": "Nom de la Branche",
+ "placeholder": "Le nom de la branche réduira le temps de clonage",
+ "error-required": "La Branche est requise"
+ }
+ }
+ },
+ "source": {
+ "file": "sélectionner une source ou faire glisser et déposer une URL GitHub ou un fichier d'archive",
+ "folder": "Sélectionner une source ou faire glisser une URL GitHub, un fichier archive ou un dossier"
+ },
+ "local": {
+ "file": {
+ "label": "Fichier d'archive local",
+ "field": "Fichier",
+ "prompt": "Choisir un Fichier d'archive local"
+ },
+ "folder": {
+ "folder": "Dossier",
+ "label": "Fichier d'archive local ou Dossier",
+ "field": "Fichier / Dossier",
+ "prompt": "Choisissez un fichier ou un dossier local"
+ },
+ "info": "{{files}} fichier(s) - {{total}} à déployer",
+ "cfignore": ".cfignore est trouvé found et appliqué"
+ },
+ "scanning": "Recherche de fichiers et de dossiers",
+ "manifest": {
+ "label": "Manifest",
+ "description": "Pour les applications existantes, si le chemin relatif de votre fichier manifest.yml n'est pas dans la racine, veuillez l'indiquer ci-dessous.",
+ "path-label": "Le chemin de votre fichier manifest",
+ "path-placeholder": "le chemin relatif de votre fichier manifest.yml à la racine de votre application"
+ }
+ },
+ "step-deploying": {
+ "title": "Déployer l'application",
+ "busy": "Démarrer le déployement",
+ "title-deploying": "Déployement",
+ "title-deploy-failed": "Échec du déploiement. La cause: {{reason}}",
+ "title-deploy-success": "Déployé",
+ "next-button": "Résumé de l'application",
+ "submit-failed": "Échec du déploiement de l'application. Si cette erreur persiste, veuillez contacter l'administrateur. Reason: {{reason}}.",
+ "uploading": "Téléchargement des fichiers"
+ },
+ "socket": {
+ "event-type": {
+ "CLOSE_FAILED_NO_BRANCH": "Impossible de à cloner le dépot (aucune branche fournie), assurez-vous que les détails de git sont corrects",
+ "CLOSE_FAILED_CLONE": "Impossible de cloner le dépot, assurez-vous que les détails de git sont corrects et réessayez ",
+ "CLOSE_FAILURE": "Échec inconnu Voir le journal pour plus d'informations.",
+ "CLOSE_INVALID_MANIFEST": "Manifest Invalide",
+ "CLOSE_NO_MANIFEST": "Échec de la recherche du manifest",
+ "CLOSE_PUSH_ERROR": "[[@:cloud-foundry]] pousser sans succès. Voir le journal pour plus de détails.",
+ "CLOSE_NO_SESSION": "Impossible de créer une session",
+ "CLOSE_NO_CNSI": "Instance [[@:cloud-foundry]] inconnue",
+ "CLOSE_NO_CNSI_USERTOKEN": "Token [[@:cloud-foundry]] invalide"
+ },
+ "failed-connection": "Impossible d'ouvrir la connexion de socket",
+ "failed-unknown": "Echec inconnu"
+ }
+ }
+}
\ No newline at end of file
diff --git a/components/cf-app-ssh/frontend/i18n/fr/cf-app-ssh.json b/components/cf-app-ssh/frontend/i18n/fr/cf-app-ssh.json
new file mode 100644
index 0000000000..634f17c70c
--- /dev/null
+++ b/components/cf-app-ssh/frontend/i18n/fr/cf-app-ssh.json
@@ -0,0 +1,25 @@
+{
+ "cf": {
+ "app-ssh": {
+ "app-ssh": "SSH",
+ "select-instance": "Sélectionner une Instance",
+ "instance-title": "Instance # {{id}}",
+ "empty": "Cette application n'a aucune instance disponible pour l'accès SSH",
+ "not-enabled": "L'accès SSH n'est pas activé pour cette application.",
+ "space-not-enabled": "L'accès SSH est interdit par l'espace '{{name}}'.",
+ "space-enable-prompt": "Un administrateur ou un gestionnaire d'espace devra autoriser l'accès à l'espace.",
+ "space-enable-link": "Afficher l'espace",
+ "enable-prompt": "Vous pouvez activer et désactiver l'accès SSH à l'aide du lien 'Modifier' de l'onglet Résumé.",
+ "quick-enable": {
+ "quick-enable": "Vous pouvez également activer l'accès SSH à l'aide du bouton ci-dessous.",
+ "warning" : "REMARQUE: L'activation de l'accès SSH redémarre TOUTES les instances d'application.",
+ "button": "Activer l'accès SSH"
+ },
+ "labels": {
+ "disconnected": "Déconnecté",
+ "reconnect": "Reconnecter",
+ "select": "Sélectionnez l'instance"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/components/cloud-foundry/frontend/i18n/fr/app-wall.json b/components/cloud-foundry/frontend/i18n/fr/app-wall.json
new file mode 100644
index 0000000000..3228ebdf36
--- /dev/null
+++ b/components/cloud-foundry/frontend/i18n/fr/app-wall.json
@@ -0,0 +1,101 @@
+{
+ "app-wall": {
+ "app-wall": "@:applications",
+ "search-placeholder": "Chercher par nom",
+ "add-application": "Ajouter une Application",
+ "retrieving": "Récupération des applications",
+ "reset": "réinitialiser",
+ "options": {
+ "show": "Afficher les options",
+ "hide": "Masquer les options"
+ },
+ "sort-by": "Trier par",
+ "select-endpoint-all": "Tous les Endpoints",
+ "select-org-all": "Toutes les Organisations",
+ "select-space-all": "Tous les Espaces",
+ "total-apps": "Total des Applications",
+ "filtered-apps": "Les Applications filtrées",
+ "instances": "Les Instances",
+ "disk-quota": "Quota de disque",
+ "memory": "Mémoire",
+ "no-cf": {
+ "warning": "Vous ne pouvez pas afficher les applications.",
+ "advice-can-fix-link": "Utiliser les Endpoints du Tableau de bord",
+ "advice-can-fix-text": "pour réparer vos connexions ou vous connecter à de nouveaux points de terminaison.",
+ "advice-cant-fix": "Veuillez contacter votre administrateur."
+ },
+ "no-apps": {
+ "none-space-developer": {
+ "admin": {
+ "line1": "Vous n'avez pas d'applications et",
+ "line2": "il n'y a pas d'espaces où vous pouvez ajouter.",
+ "link-text": "Cliquez ici",
+ "link-message": "gérer les espaces."
+ },
+ "non-admin": {
+ "line1": "Vous n'avez aucune application et vous ne pouvez pas en ajouter.",
+ "line2": "Veuillez contacter votre administrateur."
+ }
+ },
+ "space-developer": {
+ "default": "Vous n'avez pas d'applications",
+ "empty-space": "Cet espace n'a pas d'applications",
+ "empty-org": "Cette organisation n'a pas d'applications",
+ "empty-endpoint": "Cet endpoint n'a aucune application",
+ "empty-x-due-to-search": "{{emptyXMessage}} correspondant au terme de recherche",
+ "add": "Ajouter une application"
+ }
+ },
+ "errors": {
+ "single-endpoint-down": "La console n'a pas pu se connecter à l'endpoint \"{{name}}\". Essayez de vous reconnecter à cet endpoint pour résoudre ce problème.",
+ "multiple-endpoint-down": "La console n'a pas pu se connecter à plusieurs points de terminaison. Utilisez le tableau de bord d'Endpoint pour gérer les Endpoints."
+ },
+ "table": {
+ "columns": {
+ "appName": "Nom de l'application",
+ "appName-sort-by": "Nom App",
+ "status": "Status",
+ "instances": "Instances",
+ "instances-sort-by": "[[@:app-wall.table.columns.instances]]",
+ "disk": "Quota de disque",
+ "disk-sort-by": "[[@:app-wall.table.columns.disk]]",
+ "memory": "Mémoire",
+ "memory-sort-by": "[[@:app-wall.table.columns.memory]]",
+ "creation": "Date de création",
+ "creation-sort-by": "[[@:app-wall.table.columns.creation]]"
+ }
+ }
+ },
+ "add-app-dialog": {
+ "title": "@:app-wall.add-application",
+ "name-message": "Entrez un nom unique pour votre application.",
+ "app-name-label": "Nom de l'Application",
+ "app-name-error-required": "Le nom de l'application est requis",
+ "app-name-error-used": "Ce nom existe déjà. Choisissez-en un nouveau.",
+ "route-message": "Créer une route",
+ "domain-label": "Domaine",
+ "domain-placeholder": "Selectionner un Domaine",
+ "host-label": "Hôte",
+ "host-error-required": "l'Hôte est requis",
+ "host-error-format": "Format invalide",
+ "step1": {
+ "notifications": {
+ "success": "Une nouvelle application et une route ont été créés pour '{{ appName }}'",
+ "failure-part-1": "Un problème est survenu lors de la création de votre application. ",
+ "failure-part-1-alt": "L'exception suivante est survenue lors de la création de votre application: {{ error }}. ",
+ "failure-part-2": "Veuillez réessayer ou contactez votre administrateur si le problème persiste."
+ },
+ "route-validate": {
+ "exists": "Cette route existe déjà. Choisissez-en un nouveau.",
+ "failure-part-1": "Un problème est survenu lors de la validation de votre route. ",
+ "failure-part-1-alt": "L'exception suivante s'est produite lors de la validation de votre route: {{ error }}. ",
+ "failure-part-2": "Veuillez réessayer ou contactez votre administrateur si le problème persiste."
+ },
+ "route-create-bind": {
+ "failure-part-1": "Un problème est survenu lors de la création et de la liaison de la route vers votre nouvelle application. ",
+ "failure-part-1-alt": "L'exception suivante est survenue lors de la création et de la liaison de la route à votre nouvelle application: {{ error }}. ",
+ "failure-part-2": "Veuillez réessayer ou contactez votre administrateur si le problème persiste."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/components/cloud-foundry/frontend/i18n/fr/app.json b/components/cloud-foundry/frontend/i18n/fr/app.json
new file mode 100644
index 0000000000..cfde9fd40f
--- /dev/null
+++ b/components/cloud-foundry/frontend/i18n/fr/app.json
@@ -0,0 +1,493 @@
+{
+ "app": {
+ "auto-update": "Mise à jour automatique",
+ "state": {
+ "separator": " - ",
+ "deployed": "Déployée",
+ "incomplete": "Incomplète",
+ "failed": "Echec",
+ "pending": "En attente",
+ "loading": "Chargement",
+ "offline": "Hors ligne",
+ "updating": "Hors ligne pendant la mise à jour",
+ "no-instances": "Pas d'Instances",
+ "staging": "Mise en attente de l'Application",
+ "starting": "Démarrage l'application",
+ "online": "En ligne",
+ "crashed": "L'application s'est écrasée",
+ "crashing": "L'application échoue",
+ "partial": "Partiellement en ligne",
+ "unknown": "Inconnu"
+ },
+ "app-instance": {
+ "labels": {
+ "index": "Index",
+ "status": "Status",
+ "memory": "Mémoire",
+ "disk": "Disque",
+ "uptime": "Durée d'activité"
+ }
+ },
+ "new-app": {
+ "headline": "Votre application a été créée.",
+ "suggestions": "Vous voudrez peut-être:"
+ },
+ "app-info": {
+ "app-actions": {
+ "view": "Voir l'application",
+ "stop": "Arrêter",
+ "restart": "Redémarrer",
+ "delete": "Supprimer",
+ "start": "Démarrer",
+ "cli": "Info sur la ILC"
+ },
+ "edit-app": {
+ "edit-app": "Editer l'Application",
+ "ssh-access": "Activer l'accès SSH",
+ "ssh-restart-warning": "Remarque: L'activation ou la désactivation de SSH redémarre toutes les instances de l'application.",
+ "ssh-no-edit": "Remarque: L'accès SSH pour cette application ne peut pas être modifié car l'espace est défini pour interdire tous les accès SSH."
+ },
+ "app-instances-actions": {
+ "terminate": "Mettre Fin"
+ },
+ "terminate-instance": {
+ "title": "Mettre Fin à l'Instance",
+ "description": "Êtes-vous sûr de vouloir mettre fin à l'instance {{index}}?",
+ "error-message": "Un problème est survenu lors de la fermeture de cette instance. Veuillez réessayer. Si cette erreur persiste, veuillez contacter l'administrateur.",
+ "button": {
+ "yes": "Mettre Fin",
+ "no": "@:buttons.cancel"
+ },
+ "success": "Instance {{index}} terminée avec succès"
+ },
+ "delete-app": {
+ "complex": {
+ "title": "Supprimer l'application et les éléments associés",
+ "success": "'{{appName}}' a été supprimée"
+ },
+ "simple": {
+ "title": "Supprimer l'application",
+ "description": "Etes-vous sûr de vouloir supprimer'{{appName}}'?",
+ "button": {
+ "yes": "Supprimer",
+ "no": "@:buttons.cancel"
+ },
+ "success": "'{{appName}}' a été supprimée"
+ }
+ },
+ "app-tabs": {
+ "routes": {
+ "add": {
+ "create": {
+ "title": "Créer une nouvelle route"
+ },
+ "reuse": {
+ "title": "Utiliser la route existante"
+ }
+ }
+ },
+ "summary": {
+ "label": "Résumé",
+ "instructions": {
+ "cli": "Déployez votre application en utilisant la ILC",
+ "service": "Ajouter des services à votre application"
+ },
+ "summary-panel": {
+ "title": "Résumé",
+ "state-label": "Etat",
+ "state-app-label": "Etat de l'Application",
+ "state-package-label": "état du paquet",
+ "instances-label": "instances",
+ "created-label": "crée",
+ "modified-label": "modifié",
+ "deployed-label": "console déployée",
+ "deployed-source-label": "la console déploie la source",
+ "deployed-source-filefolder": "Téléchargement de dossier",
+ "deployed-source-archive": "Téléchargement de fichier archive",
+ "ssh-enabled-label": "ssh activée",
+ "memory-label": "mémoire",
+ "disk-quota-label": "quota de disque",
+ "buildpack-label": "buildpack",
+ "production-label": "production",
+ "stack-label": "stack",
+ "endpoint-url-label": "url du endpoint",
+ "endpoint-label": "[[@:endpoint]]",
+ "org-label": "[[@:organization]]",
+ "space-label": "[[@:space]]",
+ "edit-button": "Editer",
+ "service-count": "Services",
+ "edit-dialog": {
+ "title": "Editer l'Application",
+ "name-label": "Nom de l'Application",
+ "name-error-required": "Le nom est requis",
+ "memory-label": "Usage de mémoire",
+ "memory-error-required": "La mémoire est requise",
+ "memory-error-min": "La mémoire doit être supérieure à 0",
+ "instances-label": "Instances",
+ "instances-error-required": "Les Instances sont requise",
+ "instances-error-min": "Les instances doivent être 0 ou plus",
+ "instances-error-whole": "Le nombre d'instances doit être un nombre entier"
+ }
+ },
+ "instances-panel": {
+ "title": "Instances",
+ "none": "Cette application n'a aucune instance en cours d'exécution.",
+ "index-label": "Index",
+ "status-label": "Status",
+ "memory-label": "Mémoire",
+ "disk-label": "Disque",
+ "uptime-label": "Durée d'activité",
+ "action-label": "Action",
+ "show-all": "Afficher tout"
+ },
+ "routes-panel": {
+ "title": "Routes",
+ "add-button": "Ajouter une route",
+ "none": "Vous n'avez aucune route.",
+ "route-label": "Route",
+ "action-label": "Action",
+ "route-actions": {
+ "unmap": "Détacher la route de l'application",
+ "delete": "Supprimer la Route"
+ },
+ "add-route-dialog": {
+ "title": "Ajouter une Route",
+ "host-label": "Hôte",
+ "host-error-exists": "Une route avec ce nom existe déjà.",
+ "host-error-required": "Hôte requis",
+ "host-placeholder": "Un identifiant unique pour cette route",
+ "domain-label": "Domaine",
+ "route-options-label": "Les Options HTTP de la Route",
+ "path-label": "Chemin (Optional)",
+ "path-placeholder": "chemin optionnel pour cette route",
+ "tcp-label": "Options TCP de la Route",
+ "port-random-label": "Utiliser un port aléatoire",
+ "port-label": "Port",
+ "port-placeholder": "port pour cette route",
+ "button": {
+ "submit": "Ajouter une route"
+ },
+ "search-placeholder": "Rechercher par nom",
+ "no-routes-found": "Pas de routes trouvées"
+ }
+ },
+ "service-instances-panel": {
+ "title": "Les Instances Service",
+ "manage-button": "Gérer les Services",
+ "none": "Vous n'avez aucune instance de service.",
+ "name-label": "Nom",
+ "service-label": "Service",
+ "plan-label": "Plan"
+ }
+ },
+ "log-stream": {
+ "label": "Journal de flux",
+ "title": "Journal de flux",
+ "scroll-button": "Faites défiler vers le bas"
+ },
+ "services": {
+ "label": "Les Instances Service",
+ "labels": {
+ "type": "Type",
+ "description": "Description",
+ "created-date": "Date de création",
+ "env-variables": "Afficher les variables d'environnement",
+ "tags": "Tags"
+ },
+ "messages": {
+ "no-services": "Cette application n'a pas de lien avec les Instances Service.",
+ "view-catalogue": "Pour voir les services disponibles pour cette application, veuillez visiter le",
+ "view-catalogue-link": "catalogue de service",
+ "no-services-search": "Aucune instance de services trouvée correspondant à votre recherche.",
+ "currently-viewing-1": "Vous êtes actuellement en train de regarder {{ type }} instances.",
+ "click-here": "Cliquez ici",
+ "currently-viewing-2": "pour voir tous les types."
+ },
+ "types": {
+ "show": "Afficher",
+ "all": "Tous les Types"
+ },
+ "card": {
+ "version": "Version",
+ "attached": "Attaché",
+ "cannot-bind": "Ce service ne peut pas être lié à une application",
+ "actions": {
+ "detach": "Détacher"
+ }
+ },
+ "unbind": {
+ "title": "Detacher un Service",
+ "description": "Êtes-vous sûr de vouloir détacher {{name}}?",
+ "error-message": "Un problème est survenu lors du détachement de ce service. Veuillez réessayer. Si cette erreur persiste, veuillez contacter l'administrateur.",
+ "button": {
+ "yes": "Detacher",
+ "no": "@:buttons.cancel"
+ },
+ "error": "Certaines applications n'ont pas pu se détacher de l'instance de service",
+ "success": "L'instance de service a été détachée"
+ },
+ "delete": {
+ "title": "Supprimer le Service",
+ "description": "Etes-vous sûr que vous voulez supprimer {{name}}?",
+ "error-message": "Un problème est survenu lors de la suppression de ce service. Veuillez réessayer. Si cette erreur persiste, veuillez contacter l'administrateur.",
+ "button": {
+ "yes": "Supprimer",
+ "no": "@:buttons.cancel"
+ },
+ "success": "L'instance de service a été supprimée"
+ },
+ "create": {
+ "title": "Créer une instance de service",
+ "name-label": "Nom",
+ "name-error-required": "Le Nom est requis",
+ "name-error-unique": "Le Nom doit être unique",
+ "name-error-pattern": "Le Nom contient des caractères invalides",
+ "name-error-maxlength": "Le Nom doit avoir moins de 50 caractères",
+ "plan-label": "Plan",
+ "plan-placeholder": "Choisir un Plan",
+ "params-label": "Les Paramètres d'instance",
+ "binding-params-label": "Les Paramètres de liaison",
+ "service-params": "Paramètres d'instance de service",
+ "binding-params": "Service Paramètres de liaison",
+ "params-placeholder": "Entrez le paramètre de service JSON",
+ "tags-label": "Tags",
+ "edit-params": "Editer",
+ "done": "Terminé",
+ "button": {
+ "yes": "Créer",
+ "no": "@:buttons.cancel"
+ },
+ "json-error-invalid": "Doit être un JSON valide"
+ },
+ "edit": {
+ "title": "Editer le Service Instance",
+ "button": {
+ "yes": "Mettre à jour"
+ },
+ "success": "Instance de service mise à jour"
+ },
+ "view-envs": {
+ "title": "{{instanceName}}: Variables"
+ },
+ "bind": {
+ "bind-to-app": "Lier à l'application",
+ "select": "Sélectionnez l'instance de service",
+ "warnings": {
+ "auto-scaler": "Vous pouvez lier la mise à l'échelle automatique à cette application ici. Notez que vous devrez utiliser l'interface de ligne de commande pour configurer la stratégie de mise à l'échelle automatique de cette application afin qu'elle soit activée."
+ },
+ "no-instances": {
+ "title": "Il n'y a pas de service d'instances pas déjà lié à cette application",
+ "prompt": "Créer une nouvelle instance de service pour continuer"
+ },
+ "create": "Créer une nouvelle instance de service"
+ },
+ "add": {
+ "title": "Ajouter un service à {{ appName }}",
+ "back-to-services": "Retour aux services",
+ "add": "Ajouter une instance de service",
+ "create": {
+ "title": "Créer une nouvelle instance"
+ },
+ "existing": {
+ "title": "Choisir l'instance existante",
+ "name-label": "Nom",
+ "plan-label": "Plan",
+ "apps-label": "Les applications Attachées",
+ "tags-label": "Tags"
+ },
+ "notifications": {
+ "success": "Le '{{ service }}' service a été joint avec succès à l'application '{{ appName }}'",
+ "failure-create": "Un problème est survenu lors de la création de l'instance. Veuillez réessayer. Si cette erreur persiste, veuillez contacter l'administrateur.",
+ "failure-bind": "Un problème est survenu lors de la liaison de l'instance de service à l'application. Veuillez réessayer. Si cette erreur persiste, veuillez contacter l'administrateur."
+ },
+ "acknowledge": {
+ "info": "Une pratique recommandée pour conserver la liaison de ce service à votre application consiste à mettre à jour le fichier manifeste de votre application..",
+ "add-to-manifest": "Ajouter au Manifest"
+ }
+ }
+ },
+ "service-catalogue": {
+ "label": "Catalogue de service",
+ "messages": {
+ "no-services": "Aucun service n'est disponible pour cet Endpoint. Veuillez contacter votre administrateur pour ajouter des services afin que vous puissiez les lier à vos applications."
+ },
+ "categories": {
+ "show": "Montrer",
+ "attached": "Les Instances Service attachées",
+ "all": "Tous les Services"
+ },
+ "manage": {
+ "title": "Gérer Les Instances Service",
+ "name-label": "Nom",
+ "plan-label": "plan",
+ "env-vars-label": "env.variables",
+ "detach-button": "détacher"
+ },
+ "card": {
+ "version": "Version",
+ "attached": "Attaché",
+ "cannot-bind": "Ce service ne peut pas être lié à une application",
+ "actions": {
+ "bind": "Lier le Service",
+ "detach": "Détacher",
+ "manage": "Gérer les Instances"
+ }
+ },
+ "unbind": {
+ "title": "Détacher les Services",
+ "description": "Êtes-vous sûr de vouloir détacher {{name}}?",
+ "error-message": "Un problème est survenu lors du détachement de ce service. Veuillez réessayer. Si cette erreur persiste, veuillez contacter l'administrateur.",
+ "button": {
+ "yes": "Detach",
+ "no": "@:buttons.cancel"
+ },
+ "error": "Some applications failed to detach from the service instance",
+ "success": "Service instance successfully detached"
+ },
+ "delete": {
+ "title": "Supprimer le service",
+ "description": "Etes-vous sûr de vouloir supprimer {{name}}?",
+ "error-message": "Un problème est survenu lors de la suppression de ce service. Veuillez réessayer. Si cette erreur persiste, veuillez contacter l'administrateur.",
+ "button": {
+ "yes": "Supprimer",
+ "no": "@:buttons.cancel"
+ },
+ "success": "L'instance de service a été supprimée"
+ },
+ "view-envs": {
+ "title": "{{instanceName}}: Variables"
+ },
+ "bind": {
+ "title": "Lier le Service \"{{ svcName }}\" à l'Application \"{{ appName }}\""
+ },
+ "add": {
+ "title": "Ajouter le Service '{{ svcName }}' à Application '{{ appName }}'",
+ "back-to-services": "Retour aux Services",
+ "add": "Ajouter une instance Service",
+ "create": {
+ "title": "Créer une nouvelle instance",
+ "name-label": "Nom",
+ "name-error-required": "Le Nom est requis",
+ "name-error-unique": "Le Nom doit être unique",
+ "name-error-pattern": "Le Nom contient des caractères invalides",
+ "plan-label": "Plan",
+ "plan-placeholder": "Choisir un Plan"
+ },
+ "existing": {
+ "title": "Choisir l'instance existante",
+ "name-label": "Nom",
+ "plan-label": "Plan",
+ "apps-label": "Les applications Attachées"
+ },
+ "notifications": {
+ "success": "Le '{{ service }}' le service a été lié avec succès à l'application '{{ appName }}'",
+ "failure-create": "Un problème est survenu lors de la création de l'instance. Veuillez réessayer. Si cette erreur persiste, veuillez contacter l'administrateur.",
+ "failure-bind": "Un problème est survenu lors de la liaison de l'instance de service à l'application. Veuillez réessayer. Si cette erreur persiste, veuillez contacter l'administrateur."
+ },
+ "acknowledge": {
+ "info": "Une pratique recommandée pour conserver la liaison de ce service à votre application consiste à mettre à jour le fichier manifeste de votre application..",
+ "add-to-manifest": "Ajouter au Manifest"
+ }
+ }
+ },
+ "variables": {
+ "title": "Variables",
+ "table": {
+ "title": "[[@:app.app-info.app-tabs.variables.title]]",
+ "none": "Vous n'avez pas de variables.",
+ "name-label": "Nom",
+ "value-label": "Valeur",
+ "actions-label": "Actions",
+ "add-button": "Ajouter une Variable"
+ },
+ "add-dialog": {
+ "title": "Ajouter une nouvelle variable",
+ "description": "Les nouvelles variables ne seront pas appliquées avant le redémarrage manuel de l'application.",
+ "name-label": "Nom",
+ "name-required": "Le Nom est requis",
+ "value-label": "Valeur",
+ "value-required": "La Valeur est requise",
+ "submit-button": "Ajouter",
+ "error": "Un problème est survenu lors de l'ajout de cette variable. Veuillez réessayer. Si cette erreur persiste, veuillez contacter l'administrateur."
+ },
+ "all": {
+ "title": "[[@:app.app-info.app-tabs.variables.title]]",
+ "error": "Une erreur s'est produite lors de la récupération des variables d'application",
+ "refresh-button": "Rafraîchir"
+ },
+ "actions": {
+ "edit": "Editer une Variable",
+ "edit-dialog": {
+ "title": "Editer une Variable",
+ "description": "Les modifications de cette variable ne seront pas appliquées tant que l'application n'aura pas été redémarrée manuellement.",
+ "submit-button": "Mettre à jour",
+ "error": "Un problème est survenu lors de la mise à jour de cette variable. Veuillez réessayer. Si cette erreur persiste, veuillez contacter l'administrateur."
+ },
+ "delete": "Supprimer une Variable"
+ },
+ "deleteError": "Une erreur s'est produite lors de la suppression de cette variable. Veuillez réessayer."
+ },
+ "events": {
+ "events": "Événements",
+ "total": "Total: {{total}}",
+ "empty": "Aucun événement disponible",
+ "error": "Une erreur s'est produite lors de la récupération des événements",
+ "detail": "Détail de l'événement",
+ "labels": {
+ "timestamp": "Timestamp",
+ "type": "Type",
+ "actor-name": "Nom de l'acteur",
+ "detail": "Détail"
+ },
+ "page-sizes": {
+ "five": "5 par page",
+ "ten": "10 par page",
+ "twenty": "20 par page",
+ "fifty": "50 par page"
+ }
+ }
+ },
+ "cli-dialog-app": {
+ "title": "@:cf.cli-common.title",
+ "intro": "@:cf.cli-common.intro",
+ "get-started": "@:cf.cli-common.get-started",
+ "get-started-intro": "@:cf.cli-common.get-started-intro",
+ "step1": "@:cf.cli-common.step1",
+ "step1-link-text": "@:cf.cli-common.step1-link-text",
+ "step2": "@:cf.cli-common.step2",
+ "step3": "@:cf.cli-common.step3",
+ "step4": "@:cf.cli-common.step4",
+ "app-commands": {
+ "title": "Commandes de gestion d'application",
+ "summary": "Résumé",
+ "summary-intro": "Pour obtenir le résumé de l'application",
+ "start": "Démarrer",
+ "start-intro": "Pour démarrer l'application",
+ "stop": "Arrêter",
+ "stop-intro": "Pour arrêter l'application",
+ "restart": "Redémarrer",
+ "restart-intro": "Pour redémarrer l'application"
+ },
+ "scaling-commands": {
+ "title": "Mise à l'échelle de l'application",
+ "instances": "Instances",
+ "instances-intro": "Pour changer le nombre d'instances d'application",
+ "memory": "Mémoire",
+ "memory-intro": "Pour changer la mémoire allouée aux instances d'application"
+ }
+ },
+ "cli-dialog-deploy": {
+ "title": "Déployer en utilisant l'ILC",
+ "intro": "Pour déployer votre application l'ILC, Suivez ces étapes:",
+ "step1": "1. Télécharger et installer l'ILC - ",
+ "step1-link-text": "Voir ici",
+ "step2": "2. Ajouter un fichier manifest.yml à votre code source ou mettre à jour votre existant en utilisant le contenu ci-dessous. Cloud Foundry utilise le fichier manifest.yml pour définir le nom de l'application, les routes et les liaisons de service. Assurez-vous que le nom de l'application et les routes de votre fichier manifest.yml correspondent à ceux indiqués ci-dessous. Si le nom de l'application et les routes ne sont pas corrects dans le fichier manifeste, plusieurs applications et routes seront créées.",
+ "step3": "3. Entrez les commandes suivantes dans l'ILC:",
+ "step3-1": "Définir l'endpoint de l'api",
+ "step3-2": "S'identifier",
+ "step3-3": "Cibler l'organisation et l'espace",
+ "step3-4": "Poussez vers l'endpoint de Cloud Foundry - Accédez au répertoire du projet et exécutez les opérations suivantes."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/components/cloud-foundry/frontend/i18n/fr/cloud-foundry.json b/components/cloud-foundry/frontend/i18n/fr/cloud-foundry.json
new file mode 100644
index 0000000000..6549a433b7
--- /dev/null
+++ b/components/cloud-foundry/frontend/i18n/fr/cloud-foundry.json
@@ -0,0 +1,143 @@
+{
+ "cloud-foundry": "Cloud Foundry",
+ "cf.busy": "Collecting Cloud Foundry Métadonnée",
+ "cf.endpoints.busy": "Vérification des Endpoints de Cloud Foundry",
+ "org": "Org",
+ "space": "Espace",
+ "menu": {
+ "cloud-foundry": "@:cloud-foundry"
+ },
+ "product": {
+ "cf": "@:cloud-foundry"
+ },
+ "cf": {
+ "registration": {
+ "name": "@:cloud-foundry",
+ "title": "Register a [[@:cf.registration.name]] Endpoint",
+ "p1": "[[@:cf.registration.name]] prend en charge le cycle de vie complet de l'application, du développement initial au test en passant par le déploiement.",
+ "p2": "Enregistrer un endpoint existant [[@:cf.registration.name]] pour permettre à votre équipe de développement de créer et de gérer leurs applications.",
+ "p3": "Lors de votre inscription, choisissez un nom unique et reconnaissable afin que vos développeurs puissent facilement savoir l'endpoint [[@:cf.registration.name]] ils travaillent avec.",
+ "tagline": "[[@:cf.registration.name]] prend en charge le cycle de vie complet de l'application, du développement initial au test en passant par le déploiement.",
+ "urlHint": "[[@:cf.registration.name]] endpoint de l'API "
+ },
+ "tile": {
+ "token-expired": "Le jeton a expiré",
+ "uncontactable": "Impossible de contacter le point de terminaison"
+ },
+ "cli-common": {
+ "title": "Commandes de l'ILC",
+ "button-text": "Commandes de l'ILC",
+ "intro": "Utiliser le Cloud Foundry ILC pour exécuter des commandes directement sur une instance Cloud Foundry.",
+ "get-started": "Commencer",
+ "get-started-intro": "Avant de commencer, suivez ces étapes:",
+ "step1": "1. Télécharger et installer l'ILC - ",
+ "step1-link-text": "Voir ici",
+ "step2": "2. Définir l'endpoint de l'api",
+ "step3": "3. S'identifier",
+ "step4": "4. Cibler une organisation et un espace"
+ },
+ "summary": {
+ "title": "Cluster : {{name}}",
+ "panel": {
+ "title": "Résumé",
+ "label": {
+ "apps": "applications",
+ "memory": "usage de mémoire",
+ "orgs": "organisations",
+ "users": "utlisateurs",
+ "address": "adresse de l'instance",
+ "cli": "cf interactions",
+ "username": "nom d'utilisateur du compte",
+ "status": "le status du compte",
+ "api-version": "version de l'api cf"
+ },
+ "cli-dialog-cluster": {
+ "title": "@:cf.cli-common.title",
+ "intro": "@:cf.cli-common.intro",
+ "get-started": "@:cf.cli-common.get-started",
+ "get-started-intro": "@:cf.cli-common.get-started-intro",
+ "step1": "@:cf.cli-common.step1",
+ "step1-link-text": "@:cf.cli-common.step1-link-text",
+ "step2": "@:cf.cli-common.step2",
+ "step3": "@:cf.cli-common.step3",
+ "step4": "@:cf.cli-common.step4",
+ "org-commands": {
+ "title": "Commandes de l'Organisation",
+ "list": "Liste",
+ "list-intro": "Pour lister toutes les orgs",
+ "rename": "Renommer",
+ "rename-intro": "Pour renommer l'org",
+ "info": "Information",
+ "info-intro": "Pour récupérer des informations sur l'org",
+ "users": "Utilisateurs",
+ "users-intro": "Lister les utilisateurs de chaque rôle d'organisation"
+ },
+ "space-commands": {
+ "title": "Commandes de l'Espace",
+ "list": "Lister",
+ "list-intro": "Pour lister les espaces de l'organisation ciblée",
+ "rename": "Renommer",
+ "rename-intro": "Pour renommer l'espace",
+ "info": "Information",
+ "info-intro": "Pour récupérer des informations sur l'espace",
+ "users": "Utilisateurs",
+ "users-intro": "Liste les utilisateurs de chaque rôle d'espace"
+ }
+ }
+ }
+ },
+ "cf-tabs": {
+ "buildpacks": {
+ "buildpacks": "Build Packs",
+ "labels": {
+ "position": "Position",
+ "locked": "Verrouillé",
+ "unlocked": "Déverrouillé",
+ "enabled": "Activé",
+ "disabled": "Désactivé",
+ "created": "créé",
+ "updated": "mis à jour",
+ "filename": "nom du fichier"
+ },
+ "error": "Une erreur s'est produite lors de la récupération du buildpack Métadonnée",
+ "empty": "Il n'y a pas de buildpacks disponibles"
+ },
+ "stacks": {
+ "stacks": "Stacks",
+ "labels":{
+ "name": "Nom",
+ "description": "Description",
+ "created": "Créé",
+ "updated": "Mis à jour"
+ },
+ "error": "Une erreur s'est produite lors de la récupération des stack de Métadonnée",
+ "empty": "Il n'y a pas de stack disponibles"
+ },
+ "security-groups": {
+ "security-groups": "Groupes de sécurité",
+ "labels":{
+ "created": "Créé",
+ "updated": "mis à jour",
+ "spaces": "Espaces",
+ "staging-default": "Mise en attente par défaut",
+ "running-default": "Exécution par défaut",
+ "rules": "Les règles",
+ "yes": "Oui",
+ "no": "Non"
+ },
+ "error": "Une erreur s'est produite lors de la récupération des métadonnées du groupe de sécurité",
+ "empty": "Il n'y a pas de groupes de sécurité disponibles"
+ }
+ },
+ "ssh": {
+ "access": "Accès SSH",
+ "enabled": "Activé",
+ "disabled": "Désactivé",
+ "allowed": "Permis",
+ "disallowed": "Interdit",
+ "available": "Disponible",
+ "unavailable": "Indisponible",
+ "space-disallowed": "Interdit par l'espace"
+ }
+ }
+}
diff --git a/components/cloud-foundry/frontend/i18n/fr/cluster-actions.json b/components/cloud-foundry/frontend/i18n/fr/cluster-actions.json
new file mode 100644
index 0000000000..c4084456f0
--- /dev/null
+++ b/components/cloud-foundry/frontend/i18n/fr/cluster-actions.json
@@ -0,0 +1,33 @@
+{
+ "cf.cluster-actions": {
+ "create-org": {
+ "action-name": "Créer une Organisation",
+ "dialog": {
+ "title": "Créer une Organisation",
+ "org-label": "Nom d'Organisation",
+ "org-error-required": "Le nom est requis",
+ "org-error-unique": "Le nom doit être unique",
+ "submit-button": "Créer",
+ "success-notification": "L'Organisation '{{name}}' est créée avec succès"
+ }
+ },
+ "create-space": {
+ "action-name": "Créer un Espace",
+ "dialog": {
+ "title": "Créer un Espace",
+ "org-label": "Organisation",
+ "space-label": "Nom d'Espace {{index}}",
+ "space-error-required": "Le nom est requis",
+ "space-error-unique": "Le nom doit être unique",
+ "remove-button": "Supprimer",
+ "create-another-button": "Créer un autre Espace",
+ "submit-button": "Créer",
+ "success-notification-plural": "Les Espaces '{{ names }}' ont étés crées avec succès",
+ "success-notification-singular": "L'Espace '{{ name }}'est créé avec succès"
+ }
+ },
+ "assign-users": {
+ "action-name": "Attribuer des utilisateurs"
+ }
+ }
+}
\ No newline at end of file
diff --git a/components/cloud-foundry/frontend/i18n/fr/common.json b/components/cloud-foundry/frontend/i18n/fr/common.json
index fc9f014551..02a3806f66 100644
--- a/components/cloud-foundry/frontend/i18n/fr/common.json
+++ b/components/cloud-foundry/frontend/i18n/fr/common.json
@@ -1,6 +1,9 @@
{
"cloud-foundry": "Le Cloud Foundry",
+ "org": "Org",
+ "organization": "Organisation",
+ "space": "Espace",
"menu": {
"cloud-foundry": "@:cloud-foundry"
}
-}
+}
\ No newline at end of file
diff --git a/components/cloud-foundry/frontend/i18n/fr/deploy-location.json b/components/cloud-foundry/frontend/i18n/fr/deploy-location.json
new file mode 100644
index 0000000000..93e261f5c2
--- /dev/null
+++ b/components/cloud-foundry/frontend/i18n/fr/deploy-location.json
@@ -0,0 +1,11 @@
+{
+ "app.deploy-location": {
+ "title": "Sélectionner pour [[@:cloud-foundry]] une instance une organisation et un espace pour l'application.",
+ "cf-label": "[[@:cloud-foundry]]",
+ "cf-placeholder": "Sélectionner [[@:cloud-foundry]]",
+ "org-label": "[[@:organization]]",
+ "org-placeholder": "Sélectionner [[@:organization]]",
+ "space-label": "[[@:space]]",
+ "space-placeholder": "Sélectionner [[@:space]]"
+ }
+}
\ No newline at end of file
diff --git a/components/cloud-foundry/frontend/i18n/fr/errors.json b/components/cloud-foundry/frontend/i18n/fr/errors.json
new file mode 100644
index 0000000000..148129e808
--- /dev/null
+++ b/components/cloud-foundry/frontend/i18n/fr/errors.json
@@ -0,0 +1,7 @@
+{
+ "errors": {
+ "no-cf-connected": "Aucun endpoint n'est connecté pour [[@:cloud-foundry]] .",
+ "no-cf-connected-text": "Utiliser le tableau de bord des Endpoints pour réparer vos connexions ou vous connecter à de nouveaux endpoints.",
+ "no-cf-connected-cant-fix-text": "Veuillez contacter votre administrateur."
+ }
+}
diff --git a/components/cloud-foundry/frontend/i18n/fr/feature-flags.json b/components/cloud-foundry/frontend/i18n/fr/feature-flags.json
new file mode 100644
index 0000000000..7d2f5b88a7
--- /dev/null
+++ b/components/cloud-foundry/frontend/i18n/fr/feature-flags.json
@@ -0,0 +1,31 @@
+{
+ "cf.cf-tabs": {
+ "feature-flags": {
+ "feature-flags": "Indicateur de feature",
+ "descriptions": {
+ "user_org_creation": "Tout utilisateur peut créer une organisation",
+ "private_domain_creation": " Un gestionnaire d'organisation peut créer des domaines privés pour cette organisation",
+ "app_bits_upload": "Les développeurs d'espace peuvent charger des bits d'application",
+ "app_scaling": "Les développeurs d'espace peuvent effectuer des opérations de mise à l'échelle (c'est-à-dire changer de mémoire, de disque ou d'instances)",
+ "route_creation": "Les développeurs d'espace peuvent créer des routes dans un espace",
+ "service_instance_creation": "Les développeurs d'espace peuvent créer des instances de service dans un espace",
+ "diego_docker": "Les développeurs de l'espace peuvent pousser les applications Docker",
+ "set_roles_by_username": "Les gestionnaires d'organisation et les gestionnaires d'espace peuvent ajouter des rôles par nom d'utilisateur",
+ "unset_roles_by_username": "Les gestionnaires d'organisation et les gestionnaires d'espace peuvent supprimer des rôles par nom d'utilisateur",
+ "task_creation": "Les développeurs d'espace peuvent créer des tâches sur leur application. Cette fonctionnalité est en cours de développement",
+ "env_var_visibility": " Tous les utilisateurs peuvent afficher les variables d'environnement",
+ "space_scoped_private_broker_creation": "Les développeurs d'espace peuvent créer des services brokers définis juste pour un espace.",
+ "space_developer_env_var_visibility": "Les développeurs d'espace peuvent voir leurs variables d'environnement v2. Les gestionnaires d'organisation et les gestionnaires d'espace peuvent voir leurs variables d'environnement v3"
+ },
+ "empty": "Il n'y a pas d'indicateur de feature",
+ "error": "Une erreur s'est produite lors de la récupération des métadonnées de l'indicateur de feature.",
+ "labels": {
+ "name": "Nom",
+ "description": "Description",
+ "state": "Etat",
+ "enabled": "Activé",
+ "disabled": "Désactivé"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/components/cloud-foundry/frontend/i18n/fr/firehose.json b/components/cloud-foundry/frontend/i18n/fr/firehose.json
new file mode 100644
index 0000000000..8970ae10d9
--- /dev/null
+++ b/components/cloud-foundry/frontend/i18n/fr/firehose.json
@@ -0,0 +1,21 @@
+{
+ "cf.cf-tabs": {
+ "firehose": {
+ "firehose": "Firehose",
+ "title": "Le flux de Firehose",
+ "scroll-bottom-button": "Faites défiler vers le bas",
+ "labels": {
+ "select": "Selectionner: ",
+ "select-all": "Tout",
+ "select-none": "Aucun",
+ "regex": "Regex",
+ "apps": "Applications",
+ "api": "API",
+ "metrics": "Métriques",
+ "counters": "Compteurs",
+ "container-metrics": "Métriques du conteneur",
+ "errors": "Erreurs"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/components/cloud-foundry/frontend/i18n/fr/organisation.json b/components/cloud-foundry/frontend/i18n/fr/organisation.json
new file mode 100644
index 0000000000..33bc1c8a1b
--- /dev/null
+++ b/components/cloud-foundry/frontend/i18n/fr/organisation.json
@@ -0,0 +1,54 @@
+{
+ "cf": {
+ "organisations": {
+ "organisations": "Organisations"
+ },
+ "org-list": {
+ "error": "Une erreur s'est produite lors de la récupération des Organisations",
+ "no-orgs": "Vous n'avez pas d'Organisations"
+ },
+ "org-info": {
+ "title": "Organisation : {{name}}",
+ "summary": {
+ "title": "Résumé",
+ "label": {
+ "apps": "applications",
+ "instances": "instances d'application",
+ "services": "services",
+ "service-instances": "instances de service",
+ "routes": "routes",
+ "private-domains": "domaines privés",
+ "memory": "utilisation de la mémoire",
+ "orgRole": "cf rôle d'org",
+ "address": "adresse d'instance ",
+ "cli": "interactions de cf ",
+ "username": "Nom d'utilisateur du compte",
+ "status": "Statut du compte"
+ }
+ },
+ "edit-action": "Editer l'Organisation",
+ "edit-dialog": {
+ "title": "Editer l'Organisation",
+ "org-label": "Nom de l'Organisation",
+ "org-error-required": "Le nom est requis",
+ "org-error-unique": "Le nom doit être unique",
+ "success-notification": "L'Organisation '{{name}}' a été mise à jour avec succès."
+ },
+ "delete-action": "Supprimer l'Organisation",
+ "delete-dialog": {
+ "title": "Supprimer l'Organisation",
+ "description": "Êtes-vous sûr de vouloir supprimer l'Organisation '{{name}}'?",
+ "success-notification": "L'Organisation '{{name}}' a bien été supprimée",
+ "error-message": "Échec de la suppression de l'organisation"
+ },
+ "space-tab-title": "Espaces",
+ "users-tab-title": "Utilisateurs"
+ },
+ "org-tile": {
+ "role-label": "rôle",
+ "applications-label": "applications",
+ "instances-label": "instances",
+ "memory-label": "utilisation de la mémoire"
+ }
+ }
+}
\ No newline at end of file
diff --git a/components/cloud-foundry/frontend/i18n/fr/product.json b/components/cloud-foundry/frontend/i18n/fr/product.json
new file mode 100644
index 0000000000..810983d5e0
--- /dev/null
+++ b/components/cloud-foundry/frontend/i18n/fr/product.json
@@ -0,0 +1,9 @@
+{
+ "product": {
+ "name": "Le Cloud Foundry",
+ "cf": "Le Cloud Foundry"
+ },
+ "company": {
+ "CLOUD_FOUNDRY": "Le Cloud Foundry"
+ }
+}
diff --git a/components/cloud-foundry/frontend/i18n/fr/roles.json b/components/cloud-foundry/frontend/i18n/fr/roles.json
new file mode 100644
index 0000000000..eeaf6e244d
--- /dev/null
+++ b/components/cloud-foundry/frontend/i18n/fr/roles.json
@@ -0,0 +1,111 @@
+{
+ "cf": {
+ "roles": {
+ "common-roles-actions": {
+ "manage-roles": "Gérer les rôles",
+ "remove-all-roles": "Supprimer tous les rôles",
+ "remove-from-org": "Supprimer de l'organisation",
+ "remove-from-space": "Supprimer de l'espace",
+ "assign-users": "Attribuer des utilisateurs"
+ },
+ "assign-user-roles": {
+ "title": "Attribuer des utilisateurs",
+ "step1": {
+ "title": "Sélectionner les utilisateurs",
+ "user-count": "Utilisateurs",
+ "no-matching-users": "Aucun utilisateur ne correspond à ce terme de recherche",
+ "show-all-users": "Afficher tout",
+ "user-label": "utilisateur",
+ "busy-message": "Récupération des utilisateurs..."
+ },
+ "step2": {
+ "title": "Attribuer des rôles",
+ "intro": "Sélectionnez une organisation à attribuer des rôles à.",
+ "org-label": "L'Organization",
+ "org-placeholder": "Sélectionner l'organization",
+ "button-yes": "Attribuer"
+ }
+ },
+ "manage-user-roles": {
+ "title-singular": "Gérer l'utilisateur: {{ name }}",
+ "title-plural": "Modifier les rôles de l'utilisateur",
+ "error-init-load": "Échec de la mise à jour de la liste des rôles des utilisateurs",
+ "intro-plural-roles": "Modifier les rôles pour les utilisateurs suivants.",
+ "warning-plural-roles": "Tous les rôles précédemment assignés seront mis à jour.",
+ "button-clear-all": "Effacer tous les rôles de l'utilisateur",
+ "button-submit": "Sauvegarder les modifications"
+ },
+ "change-roles-confirmation": {
+ "title": {
+ "update-singular": "Mettre à jour le Rôle",
+ "update-plural": "Mettre à jour les Rôles",
+ "remove-singular": "Supprimer le Rôle",
+ "remove-plural": "Supprimer les Rôles",
+ "assign-singular": "Attribuer un rôle",
+ "assign-plural": "Attribuer des rôles"
+ },
+ "line-one-singular": "Vous êtes sur le point d'apporter les modifications suivantes à l'utilisateur '{{user}}'.",
+ "line-one-plural": "Vous êtes sur le point de faire les changements suivants pour les utilisateurs {{users}}.",
+ "line-assign-singular": "Attribuer le rôle '{{role}}'",
+ "line-assign-plural": "Attribuer {{count}} rôles",
+ "line-remove-singular": "Supprimer le rôle '{{role}}'",
+ "line-remove-plural": "Supprimer {{count}} rôles",
+ "line-four": "Êtes-vous sûr de vouloir continuer?",
+ "success-one": "Les Rôles de l'utilisateur ont été mis à jour avec succès",
+ "success-two": "Le Rôle de l'utilisateur a été mis à jour avec succès",
+ "success-three": "Les Rôles des utilisateurs ont été mis à jour avec succès",
+ "success-four": "Le Rôle des utilisateurs a été mis à jour avec succès",
+ "notifications": {
+ "no-changes": "Il n'y a aucun changement à faire. Les rôles des utilisateurs n'ont pas été modifiés",
+ "failure-singular": "Échec de la mise à jour des rôles pour l'utilisateur {{failedUsers}}. ",
+ "failure-plural": "Échec de la mise à jour des rôles pour les utilisateurs {{failedUsers}}. ",
+ "failure-reason": "Cause: '{{reason}}'"
+ }
+ },
+ "selected-users-roles-change": {
+ "singular": "UTILISATEUR SÉLECTIONNÉ",
+ "plural": "UTILISATEURS SÉLECTIONNÉS",
+ "button-view-all": "Voir tout",
+ "button-view-less": "Voir moins"
+ },
+ "update-roles-table": {
+ "org": "ORGANISATION",
+ "button-remove-from-org": "Supprimer de l'Org",
+ "space": "ESPACE",
+ "button-show-all": "Afficher tout"
+ },
+ "role-labels": {
+ "none": "aucun affecté",
+ "org": {
+ "short": {
+ "org_user": "Utilisateur",
+ "org_manager": "Gérant",
+ "org_auditor": "Auditeur",
+ "billing_manager": "Gestionnaire de facturation"
+ },
+ "long": {
+ "org_user": "[[@:org]] [[@:cf.roles.role-labels.org.short.org_user]]",
+ "org_manager": "[[@:org]] [[@:cf.roles.role-labels.org.short.org_manager]]",
+ "org_auditor": "[[@:org]] [[@:cf.roles.role-labels.org.short.org_auditor]]",
+ "billing_manager": "[[@:org]] [[@:cf.roles.role-labels.org.short.billing_manager]]"
+ }
+ },
+ "space": {
+ "none": "aucun affecté",
+ "short": {
+ "space_manager": "Gérant",
+ "space_auditor": "Auditeur",
+ "space_developer": "Développeur"
+ },
+ "long": {
+ "space_manager": "[[@:space]] [[@:cf.roles.role-labels.space.short.space_manager]]",
+ "space_auditor": "[[@:space]] [[@:cf.roles.role-labels.space.short.space_auditor]]",
+ "space_developer": "[[@:space]] [[@:cf.roles.role-labels.space.short.space_developer]]"
+ }
+ },
+ "cf-admin": "administrateur",
+ "cf-user": "utilisateur"
+ }
+ }
+ }
+}
diff --git a/components/cloud-foundry/frontend/i18n/fr/routes.json b/components/cloud-foundry/frontend/i18n/fr/routes.json
new file mode 100644
index 0000000000..530f90b888
--- /dev/null
+++ b/components/cloud-foundry/frontend/i18n/fr/routes.json
@@ -0,0 +1,27 @@
+{
+ "cf.routes": {
+ "unknown-domain": "Inconnu",
+ "unmap-app": {
+ "title": "Dissocier la route de l'application",
+ "description": "Êtes-vous sûr de vouloir dissocier '{{ route }}'",
+ "button-yes": "Dissocier",
+ "error": "Un problème est survenu lors de la dissociation de cet itinéraire. Veuillez réessayer. Si cette erreur persiste, veuillez contacter l'administrateur.",
+ "success": "Route dissociée avec succès"
+ },
+ "unmap-apps": {
+ "title": "Dissocier la route des applications",
+ "description": "@:cf.routes.unmap-app.description",
+ "button-yes": "@:cf.routes.unmap-app.button-yes",
+ "error": "@:cf.routes.unmap-app.error",
+ "partial-error": "Certaines applications n'ont pas pu être dissociées de la route",
+ "success": "@:cf.routes.unmap-app.success"
+ },
+ "delete": {
+ "title": "Supprimer la route",
+ "description": "Etes-vous sûr de vouloir supprimer '{{ route }}'?",
+ "button-yes": "Supprimer",
+ "error": "Un problème est survenu lors de la suppression de cette route. Veuillez réessayer. Si cette erreur persiste, veuillez contacter l'administrateur.",
+ "success": "Route supprimée avec succès"
+ }
+ }
+}
\ No newline at end of file
diff --git a/components/cloud-foundry/frontend/i18n/fr/space.json b/components/cloud-foundry/frontend/i18n/fr/space.json
new file mode 100644
index 0000000000..543fda48ee
--- /dev/null
+++ b/components/cloud-foundry/frontend/i18n/fr/space.json
@@ -0,0 +1,111 @@
+{
+ "cf": {
+ "space-info": {
+ "title": "Espace : {{name}}",
+ "summary": {
+ "title": "Résumé",
+ "label": {
+ "apps": "applications",
+ "instances": "instances de l'application ",
+ "services": "services",
+ "service-instances": "services instances",
+ "routes": "routes",
+ "memory": "utilisation de la mémoire",
+ "ssh": "ssh activé",
+ "orgRole": "cf rôle de l'espace",
+ "address": "adresse de l'instance ",
+ "cli": "cf interactions",
+ "username": "Nom d'utilisateur du compte",
+ "status": "Statut du compte"
+ }
+ },
+ "rename-action": "Renommer l'Espace",
+ "rename-dialog": {
+ "title": "Renommer l'Espace",
+ "space-label": "Nom de l'Espace",
+ "space-error-required": "Le nom est requis",
+ "space-error-unique": "Le nom doit être unique",
+ "success-notification": "L'Espace '{{name}}' a bien été mis à jour"
+ },
+ "delete-action": "Supprimer l'Espace",
+ "delete-dialog": {
+ "title": "Supprimer l'Espace",
+ "description": "Êtes-vous sûr de vouloir supprimer l'Espace '{{name}}'?",
+ "success-notification": "L'Espace '{{name}}' a été supprimé avec succès",
+ "error-message": "Échec de la supression l'Espace"
+ },
+ "delete-route-action": "Supprimmer la Route",
+ "unmap-route-action": "Dissocier la Route",
+ "detach-service-action": "Détacher le service",
+ "delete-service-action": "Supprimmer le Service",
+ "edit-service-action": "Modifier le Service",
+ "tabs": {
+ "show-all-button": "Afficher Tout",
+ "column.action": "action",
+ "applications": {
+ "title": "Applications",
+ "columns": {
+ "applications": "applications",
+ "state": "etat",
+ "created": "créée le",
+ "instances": "instances"
+ },
+ "none": "Il n'y a pas d'applications dans cet espace",
+ "show-all-button": "@:cf.space-info.tabs.show-all-button"
+ },
+ "services": {
+ "title": "Instances Service",
+ "columns": {
+ "services": "instances service ",
+ "type": "type",
+ "plan": "plan",
+ "attached": "application attachée",
+ "action": "@:cf.space-info.tabs.column.action",
+ "tags": "tags"
+ },
+ "none": "Vous n'avez aucune instance de service",
+ "show-all-button": "@:cf.space-info.tabs.show-all-button"
+ },
+ "routes": {
+ "title": "Routes",
+ "columns": {
+ "route": "route",
+ "attached": "application attached",
+ "action": "@:cf.space-info.tabs.column.action"
+ },
+ "none": "Vous n'avez aucune route",
+ "show-all-button": "@:cf.space-info.tabs.show-all-button"
+ },
+ "users": {
+ "title": "Utilisateurs"
+ }
+ },
+ "ssh": {
+ "allow": {
+ "allow": "Autoriser l'accès SSH",
+ "title": "Autoriser l'accès SSH",
+ "prompt": "Veuillez confirmer que vous souhaitez autoriser l'accès SSH pour l'espace '{{name}}'.",
+ "confirm": "Autoriser",
+ "error": "Une erreur s'est produite lors de l'autorisation de l'accès SSH pour l'espace."
+ },
+ "disallow": {
+ "disallow": "Interdire l'accès SSH",
+ "title": "Interdire l'accès SSH",
+ "prompt": "Veuillez confirmer que vous souhaitez interdire l'accès SSH à l'espace '{{name}}'.",
+ "confirm": "Interdire",
+ "error": "Une erreur s'est produite lors de l'interdiction de l'accès SSH pour l'espace."
+ }
+ }
+ },
+ "space-tile": {
+ "role-label": "rôle",
+ "applications-label": "applications",
+ "instances-label": "instances app",
+ "services-label": "service instances",
+ "memory-label": "utilisation de la mémoire"
+ },
+ "space-list": {
+ "none": "Vous n'avez pas d'espaces"
+ }
+ }
+}
\ No newline at end of file
diff --git a/components/cloud-foundry/frontend/i18n/fr/users.json b/components/cloud-foundry/frontend/i18n/fr/users.json
new file mode 100644
index 0000000000..5f777f026c
--- /dev/null
+++ b/components/cloud-foundry/frontend/i18n/fr/users.json
@@ -0,0 +1,25 @@
+{
+ "cf": {
+ "users": {
+ "users": "Utilisateurs",
+ "table": {
+ "buttons": {
+ "manage": "gérer les rôles",
+ "change": "changer les rôles",
+ "remove": "supprimer tous les rôles",
+ "remove-org": "retirer de l'organisation"
+ },
+ "users-label": "UTILISATEURS ",
+ "org-roles-label": "LES RÔLES D'ORGANISATION",
+ "space-roles-label": "LES RÔLES DE L'ESPACE",
+ "action-label": "ACTION",
+ "no-roles": {
+ "none-assigned": "Aucun assigné",
+ "not-applicable": "N'est pas applicable"
+ },
+ "show-all-users": "Afficher Tout"
+ }
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/components/endpoints-dashboard/i18n/fr/dashboard.json b/components/endpoints-dashboard/i18n/fr/dashboard.json
new file mode 100644
index 0000000000..f5599360d5
--- /dev/null
+++ b/components/endpoints-dashboard/i18n/fr/dashboard.json
@@ -0,0 +1,42 @@
+{
+ "endpoints-dashboard": {
+ "title": "Endpoints",
+ "register-button": "Enregistrer l'Endpoint",
+ "busy": "Récupération des métadonnées de l'Endpoint",
+ "table": {
+ "name": "nom",
+ "connection": "connexion",
+ "connection-disconnected": "Déconnecté",
+ "type": "type",
+ "address": "adresse"
+ },
+ "intro": {
+ "start": "Pour permettre aux développeurs d'utiliser la [[@:console]] pour interagir avec [[@:product.name]],",
+ "link": "Veuillez s'il vous plaît enregistrer les endpoints.",
+ "end": "Le processus d'enregistrement de ces Endpoints les rendra détectable pour quiconque se connecte à [[@:product.console]]. Une fois que vous avez enregistré un Endpoint, nous vous recommandons de le connecter à votre compte pour pouvoir le gérer.",
+ "admin": "Pour accéder à vos charges de travail natives dans le cloud et à d'autres services tiers associés, connectez-vous avec vos informations d'identification personnelles aux services enregistrés correspondants.",
+ "non-admin": "Pour accéder à vos charges de travail natives dans le cloud et à d'autres services tiers associés, connectez-vous avec vos informations d'identification personnelles aux services enregistrés correspondants. Les services enregistrés sont fournis par votre administrateur système."
+ },
+ "no-endpoints": {
+ "message": "Il n'y a pas d'Endpoints enregistrés.",
+ "admin-message-link-text": "Enregistrer l'endpoint",
+ "admin-message-text": " pour le rendre disponible aux développeurs.",
+ "non-admin-message": "Veuillez contacter votre administrateur."
+ }
+ },
+ "register-dialog": {
+ "title": "Enregistrer l'Endpoint",
+ "address-label": "Adresse de l'Endpoint",
+ "address-error-required": "L'Url est requis",
+ "address-error-invalid": "Format d'URL incorrect",
+ "address-error-unique": "l'Url n'est pas unique",
+ "name-label": "Nom",
+ "name-error-required": "Le Nom est requis",
+ "name-error-unique": "Le Nom n'est pas unique",
+ "skip-ssl-label": "Ignorer la validation SSL pour l'Endpoint'",
+ "register-button": "Enregister",
+ "success-notice": "Endpoint '{{name}}' enregistré avec succès",
+ "failure-ssl-notice": "{{sllError}}. Veuillez cocher \"Ignorer la validation SSL pour l'endpoint \" si l'émetteur du certificat est approuvé",
+ "failure-notice": "Un problème est survenu lors de la création de l'Endpoint. Assurez-vous que l'adresse de l'Endpoint est correcte et réessayez. Si cette erreur persiste, veuillez contacter l'administrateur."
+ }
+}
\ No newline at end of file
diff --git a/components/suse-branding/i18n/fr/product.json b/components/suse-branding/i18n/fr/product.json
new file mode 100644
index 0000000000..5963bc8eba
--- /dev/null
+++ b/components/suse-branding/i18n/fr/product.json
@@ -0,0 +1,37 @@
+{
+ "product": {
+ "name": "SUSE Cloud Foundry",
+ "console": "SUSE Console Cloud Foundry",
+ "cf": "Cloud Foundry",
+ "ce": "Code Engine"
+ },
+ "company": {
+ "name": "SUSE",
+ "terms": "Légal",
+ "terms.href": "https://www.suse.com/company/legal/",
+ "PRIVACY_HREF": "",
+ "PRODUCT_FAMILY_HREF": "",
+ "www-link": "http://www.suse.com"
+ },
+ "about": {
+ "footer": {
+ "company.logo": "images/suse_logo_light_bg.png",
+ "company.terms-href": "",
+ "company.privacy-href": ""
+ }
+ },
+ "navbar": {
+ "title": "@:product.name",
+ "logo": "svg:SUSE_Geeko.svg"
+ },
+ "login": {
+ "title":"Se connecter",
+ "console": "SUSE
Console Cloud Foundry"
+ },
+ "landing": {
+ "footer": {
+ "company.terms-href": "",
+ "company.privacy-href": ""
+ }
+ }
+}
diff --git a/components/user-info/frontend/i18n/fr/user-info.json b/components/user-info/frontend/i18n/fr/user-info.json
new file mode 100644
index 0000000000..1579fbfd0b
--- /dev/null
+++ b/components/user-info/frontend/i18n/fr/user-info.json
@@ -0,0 +1,45 @@
+{
+ "user-info": {
+ "user-info": "Profil de l'utilisateur",
+ "labels": {
+ "username": "Nom d'utilisateur",
+ "fullname": "Nom complet",
+ "email": "Adresse e-mail",
+ "created": "Compte créé",
+ "modified": "Dernière modification du Compte ",
+ "password-modified": "Dernière modification de mot de passe",
+ "groups": "Groupes"
+ },
+
+ "edit": {
+ "edit": "Modifier le Profile",
+ "introduction": "Veuillez fournir les mises à jour de profil ci-dessous - omettre un champ ne le mettra pas à jour.",
+ "note": "Lorsque vous modifiez votre adresse e-mail, vous devez fournir votre mot de passe actuel.",
+ "success": "Profil de l'utilisateur mis à jour avec succès",
+ "given-name": "Prénom",
+ "family-name": "Nom de famille",
+ "email": "Adresse e-mail",
+ "current-password": "Mot de passe actuel",
+ "error-need-password": "Le Mot de passe actuel est requis"
+ },
+
+ "update": "Mettre à jour",
+
+ "password-change": {
+ "change": "Modifier",
+ "password-change": "Modifier Mot de passe",
+ "introduction": "Veuillez s'il vous plaît fournir votre mot de passe existant avec votre nouveau mot de passe.",
+ "old": "Ancien mot de passe",
+ "new": "Nouveau mot de passe",
+ "confirm": "Confirmer le nouveau mot de passe",
+ "error-confirm": "Les mots de passe ne correspondent pas",
+ "error-not-changed": "Le nouveau mot de passe doit être différent",
+ "placeholders": {
+ "old": "Entrez votre Mot de passe actuel",
+ "new": "Entrez votre nouveau mot de passe",
+ "confirm": "Re-Entrez votre nouveau mot de passe"
+ },
+ "success": "Mot de passe mis à jour avec succès"
+ }
+ }
+}