Added Fr language and added missing translation keys (#66)

* Added Fr language and added missing translation keys

* forgotten key

* forgotten key

* fix
This commit is contained in:
Cyril59310 2023-11-19 10:19:33 +01:00 committed by GitHub
parent 53b052c1e5
commit 03bc2b6a34
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 151 additions and 12 deletions

View file

@ -27,7 +27,7 @@
<div v-if="isEditMode" class="mt-2"> <div v-if="isEditMode" class="mt-2">
<button class="btn btn-normal me-2" @click="showConfig = !showConfig"> <button class="btn btn-normal me-2" @click="showConfig = !showConfig">
<font-awesome-icon icon="edit" /> <font-awesome-icon icon="edit" />
Edit {{ $t("Edit") }}
</button> </button>
<button v-if="false" class="btn btn-normal me-2">Rename</button> <button v-if="false" class="btn btn-normal me-2">Rename</button>
<button class="btn btn-danger me-2" @click="remove"> <button class="btn btn-danger me-2" @click="remove">

View file

@ -1,6 +1,6 @@
<template> <template>
<div> <div>
<h5>Internal Networks</h5> <h5>{{ $t("Internal Networks") }}</h5>
<ul class="list-group"> <ul class="list-group">
<li v-for="(networkRow, index) in networkList" :key="index" class="list-group-item"> <li v-for="(networkRow, index) in networkList" :key="index" class="list-group-item">
<input v-model="networkRow.key" type="text" class="no-bg domain-input" placeholder="Network name..." /> <input v-model="networkRow.key" type="text" class="no-bg domain-input" placeholder="Network name..." />
@ -10,10 +10,10 @@
<button class="btn btn-normal btn-sm mt-3 me-2" @click="addField">{{ $t("addInternalNetwork") }}</button> <button class="btn btn-normal btn-sm mt-3 me-2" @click="addField">{{ $t("addInternalNetwork") }}</button>
<h5 class="mt-3">External Networks</h5> <h5 class="mt-3">{{ $t("External Networks") }}</h5>
<div v-if="externalNetworkList.length === 0"> <div v-if="externalNetworkList.length === 0">
No External Networks {{ $t("No External Networks") }}
</div> </div>
<div v-for="(networkName, index) in externalNetworkList" :key="networkName" class="form-check form-switch my-3"> <div v-for="(networkName, index) in externalNetworkList" :key="networkName" class="form-check form-switch my-3">

View file

@ -50,7 +50,7 @@
placeholder="localhost" placeholder="localhost"
/> />
<button class="btn btn-outline-primary" type="button" @click="autoGetPrimaryHostname"> <button class="btn btn-outline-primary" type="button" @click="autoGetPrimaryHostname">
{{ $t("Auto Get") }} {{ $t("autoGet") }}
</button> </button>
</div> </div>

View file

@ -3,6 +3,7 @@ import { createI18n } from "vue-i18n/dist/vue-i18n.esm-browser.prod.js";
import en from "./lang/en.json"; import en from "./lang/en.json";
const languageList = { const languageList = {
"fr": "Français",
}; };

View file

@ -1,7 +1,10 @@
{ {
"languageName": "English", "languageName": "English",
"Create your admin account": "Create your admin account",
"authIncorrectCreds": "Incorrect username or password.", "authIncorrectCreds": "Incorrect username or password.",
"PasswordsDoNotMatch": "Passwords do not match.", "PasswordsDoNotMatch": "Passwords do not match.",
"Repeat Password": "Repeat Password",
"Create": "Create",
"signedInDisp": "Signed in as {0}", "signedInDisp": "Signed in as {0}",
"signedInDispDisabled": "Auth Disabled.", "signedInDispDisabled": "Auth Disabled.",
"home": "Home", "home": "Home",
@ -43,11 +46,51 @@
"addContainer": "Add Container", "addContainer": "Add Container",
"addNetwork": "Add Network", "addNetwork": "Add Network",
"disableauth.message1": "Are you sure want to <strong>disable authentication</strong>?", "disableauth.message1": "Are you sure want to <strong>disable authentication</strong>?",
"disableauth.message2": "It is designed for scenarios <strong>where you intend to implement third-party authentication</strong> in front of Uptime Kuma such as Cloudflare Access, Authelia or other authentication mechanisms.", "disableauth.message2": "It is designed for scenarios <strong>where you intend to implement third-party authentication</strong> in front of Dockge such as Cloudflare Access, Authelia or other authentication mechanisms.",
"passwordNotMatchMsg": "The repeat password does not match.", "passwordNotMatchMsg": "The repeat password does not match.",
"autoGet": "Auto Get", "autoGet": "Auto Get",
"add": "Add", "add": "Add",
"Edit": "Edit",
"applyToYAML": "Apply to YAML", "applyToYAML": "Apply to YAML",
"createExternalNetwork": "Create", "createExternalNetwork": "Create",
"addInternalNetwork": "Add" "addInternalNetwork": "Add",
"Save": "Sauvegarder",
"Language": "Language",
"Current User": "Current User",
"Change Password": "Change Password",
"Current Password": "Current Password",
"New Password": "New Password",
"Repeat New Password": "Repeat New Password",
"Update Password": "Update Password",
"Advanced": "Advanced",
"Please use this option carefully!": "Please use this option carefully!",
"Enable Auth": "Enable Auth",
"Disable Auth": "Disable Auth",
"I understand, please disable": "I understand, please disable",
"Leave": "Leave",
"Frontend Version": "Frontend Version",
"Check Update On GitHub": "Check Update On GitHub",
"Show update if available": "Show update if available",
"Also check beta release": "Also check beta release",
"Remember me": "Remember me",
"Login": "Login",
"Username": "Username",
"Password": "Password",
"Settings": "Settings",
"Logout": "Logout",
"Lowercase only": "Lowercase only",
"Convert to Compose": "Convert to Compose",
"Docker Run": "Docker Run",
"active": "active",
"exited": "exited",
"inactive": "inactive",
"Appearance": "Appearance",
"Security": "Security",
"About": "About",
"Allowed commands:": "Allowed commands:",
"Internal Networks": "Internal Networks",
"External Networks": "External Networks",
"No External Networks": "No External Networks"
} }

95
frontend/src/lang/fr.json Normal file
View file

@ -0,0 +1,95 @@
{
"languageName": "Francais",
"Create your admin account": "Créez votre compte administrateur",
"authIncorrectCreds": "identifiant ou mot de passe incorrect.",
"Repeat Password": "Répéter le mot de passe",
"PasswordsDoNotMatch": "Les mots de passe ne correspondent pas.",
"Create": "Créer",
"signedInDisp": "Connecté en tant que {0}",
"signedInDispDisabled": "Authentification désactivée.",
"home": "Accueil",
"console": "Console",
"registry": "Registre",
"compose": "Compose",
"addFirstStackMsg": "Créez votre première pile!",
"stackName" : "Nom de la pile",
"deployStack": "Déployer",
"deleteStack": "Supprimer",
"stopStack": "Arrêter",
"restartStack": "Redémarrer",
"updateStack": "Mettre à jour",
"startStack": "Démarrer",
"editStack": "Modifier",
"discardStack": "Ignorer",
"saveStackDraft": "Sauvegarder",
"notAvailableShort" : "N/A",
"deleteStackMsg": "Êtes-vous sûr de vouloir supprimer cette pile ?",
"stackNotManagedByDockgeMsg": "Cette pile n'est pas gérée par Dockge.",
"primaryHostname": "Nom d'hôte principal",
"general": "Générale",
"container": "Conteneur | Conteneurs",
"scanFolder": "Analyser le dossier des piles",
"dockerImage": "Image",
"restartPolicyUnlessStopped": "Sauf arrêt",
"restartPolicyAlways": "Toujours",
"restartPolicyOnFailure": "En cas d'échec",
"restartPolicyNo": "Non",
"environmentVariable": "Variable d'environnement | Variables d'environnement",
"restartPolicy": "Politique de redémarrage",
"containerName": "Nom du conteneur",
"port": "Port | Ports",
"volume": "Volume | Volumes",
"network": "Réseau | Réseaux",
"dependsOn": "Dépendance du conteneur | Dépendances du conteneur",
"addListItem": "Ajouter {0}",
"deleteContainer": "Supprimer",
"addContainer": "Ajouter un conteneur",
"addNetwork": "Ajouter un réseau",
"disableauth.message1": "Voulez-vous vraiment <strong>désactiver l'authentification</strong> ?",
"disableauth.message2": "Il est conçu pour les scénarios <strong>dans lesquels vous avez l'intention d'implémenter une authentification tierce</strong> devant Dockge, comme Cloudflare Access, Authelia ou d'autres mécanismes d'authentification.",
"passwordNotMatchMsg": "Le mot de passe de confirmation ne correspond pas.",
"autoGet": "Obtention automatique",
"add": "Ajouter",
"Edit": "Modifier",
"applyToYAML": "Appliquer à YAML",
"createExternalNetwork": "Créer",
"addInternalNetwork": "Ajouter",
"Save": "Enregistrer",
"Language": "Langue",
"Current User": "Utilisateur Actuel",
"Change Password": "Changer le Mot de Passe",
"Current Password": "Mot de passe actuel",
"New Password": "Nouveau Mot de Passe",
"Repeat New Password": "Répéter le Nouveau Mot de Passe",
"Update Password": "Mettre à Jour le Mot de Passe",
"Advanced": "Avancé",
"Please use this option carefully!": "Veuillez utiliser cette option avec précaution !",
"Enable Auth": "Activer l'Authentification",
"Disable Auth": "Désactiver l'Authentification",
"I understand, please disable": "Je comprends, veuillez désactiver",
"Leave": "Quitter",
"Frontend Version": "Version Frontend",
"Check Update On GitHub": "Vérifier la Mise à Jour sur GitHub",
"Show update if available": "Afficher la mise à jour si disponible",
"Also check beta release": "Vérifier également la version bêta",
"Remember me": "Se souvenir de moi",
"Login": "Connexion",
"Username": "Nom d'utilisateur",
"Password": "Mot de Passe",
"Settings": "Paramètres",
"Logout": "Déconnexion",
"Lowercase only": "Minuscules uniquement",
"Convert to Compose": "Convertir en Compose",
"Docker Run": "Exécution Docker",
"active": "actif",
"exited": "arrêté",
"inactive": "inactif",
"Appearance": "Apparence",
"Security": "Sécurité",
"About": "À propos",
"Allowed commands:": "Commandes autorisées:",
"Internal Networks": "Réseaux Internes",
"External Networks": "Réseaux Externes",
"No External Networks": "Aucun Réseau Externe"
}

View file

@ -71,7 +71,7 @@
<div> <div>
<label for="name" class="form-label">{{ $t("stackName") }}</label> <label for="name" class="form-label">{{ $t("stackName") }}</label>
<input id="name" v-model="stack.name" type="text" class="form-control" required @blur="stackNameToLowercase"> <input id="name" v-model="stack.name" type="text" class="form-control" required @blur="stackNameToLowercase">
<div class="form-text">Lowercase only</div> <div class="form-text">{{ $t("Lowercase only") }}</div>
</div> </div>
</div> </div>
</div> </div>

View file

@ -5,7 +5,7 @@
<div> <div>
<p> <p>
Allowed commands: {{ $t("Allowed commands:") }}
<template v-for="(command, index) in allowedCommandList" :key="command"> <template v-for="(command, index) in allowedCommandList" :key="command">
<code>{{ command }}</code> <code>{{ command }}</code>

View file

@ -22,12 +22,12 @@
</div> </div>
</div> </div>
<h2 class="mb-3">Docker Run</h2> <h2 class="mb-3">{{ $t("Docker Run") }}</h2>
<div class="mb-3"> <div class="mb-3">
<textarea id="name" v-model="dockerRunCommand" type="text" class="form-control docker-run" required placeholder="docker run ..."></textarea> <textarea id="name" v-model="dockerRunCommand" type="text" class="form-control docker-run" required placeholder="docker run ..."></textarea>
</div> </div>
<button class="btn-normal btn" @click="convertDockerRun">Convert to Compose</button> <button class="btn-normal btn" @click="convertDockerRun">{{ $t("Convert to Compose") }}</button>
</div> </div>
</transition> </transition>
<router-view ref="child" /> <router-view ref="child" />

View file

@ -75,7 +75,7 @@ export default {
subMenus() { subMenus() {
return { return {
general: { general: {
title: this.$t("General"), title: this.$t("general"),
}, },
appearance: { appearance: {
title: this.$t("Appearance"), title: this.$t("Appearance"),