Skip to content

Commit 7ee9a3c

Browse files
authored
Merge pull request #4952 from GedasMirak/develop
Add french translation
2 parents 7b3c1fd + 0b464ac commit 7ee9a3c

12 files changed

Lines changed: 724 additions & 15 deletions

File tree

frontend/check-locales.cjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ const allLocales = [
1010
["en", "en-US"],
1111
["de", "de-DE"],
1212
["es", "es-ES"],
13+
["fr", "fr-FR"],
1314
["it", "it-IT"],
1415
["ja", "ja-JP"],
1516
["nl", "nl-NL"],

frontend/src/locale/IntlProvider.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
import { createIntl, createIntlCache } from "react-intl";
2+
import langBg from "./lang/bg.json";
23
import langDe from "./lang/de.json";
34
import langEn from "./lang/en.json";
45
import langEs from "./lang/es.json";
6+
import langFr from "./lang/fr.json";
57
import langGa from "./lang/ga.json";
8+
import langId from "./lang/id.json";
69
import langIt from "./lang/it.json";
710
import langJa from "./lang/ja.json";
11+
import langKo from "./lang/ko.json";
812
import langList from "./lang/lang-list.json";
913
import langNl from "./lang/nl.json";
1014
import langPl from "./lang/pl.json";
1115
import langRu from "./lang/ru.json";
1216
import langSk from "./lang/sk.json";
1317
import langVi from "./lang/vi.json";
1418
import langZh from "./lang/zh.json";
15-
import langKo from "./lang/ko.json";
16-
import langBg from "./lang/bg.json";
17-
import langId from "./lang/id.json";
1819

1920
// first item of each array should be the language code,
2021
// not the country code
@@ -23,6 +24,7 @@ const localeOptions = [
2324
["en", "en-US", langEn],
2425
["de", "de-DE", langDe],
2526
["es", "es-ES", langEs],
27+
["fr", "fr-FR", langFr],
2628
["ga", "ga-IE", langGa],
2729
["ja", "ja-JP", langJa],
2830
["it", "it-IT", langIt],
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## Qu'est-ce qu'une liste d'accès ?
2+
3+
Les listes d'accès permettent de définir une liste noire ou une liste blanche d'adresses IP clientes spécifiques, ainsi que l'authentification des Hôtes Proxy via l'authentification HTTP de base.
4+
5+
Vous pouvez configurer plusieurs règles client, noms d'utilisateur et mots de passe pour une même liste d'accès, puis l'appliquer à un ou plusieurs Hôtes Proxy.
6+
7+
Ceci est particulièrement utile pour les services web redirigés qui ne disposent pas de mécanismes d'authentification intégrés ou lorsque vous souhaitez vous protéger contre les clients inconnus.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
## Aide concernant les certificats
2+
3+
### Certificat HTTP
4+
5+
Un certificat HTTP validé signifie que les serveurs de Let's Encrypt testeront d'accéder à vos domaines via HTTP (et non HTTPS !). En cas de succès, ils émettront votre certificat.
6+
7+
Pour cette méthode, vous devrez créer un Hôte Proxy pour votre ou vos domaines. Cet Hôte Proxy devra être accessible via HTTP et pointer vers cette installation Nginx. Une fois le certificat émis, vous pourrez modifier l'Hôte Proxy pour qu'il utilise également ce certificat pour les connexions HTTPS. Cependant, l'Hôte Proxy devra toujours être configuré pour l'accès HTTP afin que le certificat puisse être renouvelé.
8+
9+
Ce processus ne prend pas en charge les domaines génériques.
10+
11+
### Certificat DNS
12+
13+
Un certificat DNS validé nécessite l'utilisation du plugin Fournisseur DNS. Fournisseur DNS créera des enregistrements temporaires sur votre domaine. Let's Encrypt interrogera ensuite ces enregistrements pour vérifier que vous en êtes bien le propriétaire. En cas de succès, votre certificat sera émis.
14+
15+
Il n'est pas nécessaire de créer un Hôte Proxy avant de demander ce type de certificat.
16+
17+
Il n'est pas non plus nécessaire de configurer votre Hôte Proxy pour l'accès HTTP.
18+
19+
Ce processus prend en charge les domaines génériques.
20+
21+
## Certificat personnalisé
22+
23+
Utilisez cette option pour importer votre propre certificat SSL, fourni par votre autorité de certification.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## Qu'est-ce qu'un serveur 404 ?
2+
3+
Un Hôte 404 est simplement un hôte configuré pour afficher une page 404.
4+
5+
Cela peut s'avérer utile lorsque votre domaine est indexé par les moteurs de recherche et que vous souhaitez fournir une page d'erreur plus conviviale ou, plus précisément, indiquer aux moteurs de recherche que les pages du domaine n'existent plus.
6+
7+
Un autre avantage de cet hôte est la possibilité de suivre les journaux et de consulter les sites référenceurs.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## Qu'est-ce qu'un hôte proxy ?
2+
3+
Un Hôte Proxy est le point de terminaison entrant d'un service web que vous souhaitez rediriger.
4+
5+
Il assure la terminaison SSL optionnelle pour votre service qui ne prend pas en charge SSL nativement.
6+
7+
Les Hôtes Proxy constituent l'utilisation la plus courante du Nginx Proxy Manager.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## Qu'est-ce qu'un serveur de redirection ?
2+
3+
Un Hôte de Redirection redirige les requêtes provenant du domaine entrant vers un autre domaine.
4+
5+
On utilise généralement ce type d'hôte lorsque votre site web change de domaine, mais que des liens provenant des moteurs de recherche ou des sites référenceurs pointent toujours vers l'ancien domaine.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## Qu'est-ce qu'un Stream ?
2+
3+
Fonctionnalité relativement récente de Nginx, un Stream permet de rediriger le trafic TCP/UDP directement vers un autre ordinateur du réseau.
4+
5+
Si vous gérez des serveurs de jeux, FTP ou SSH, cela peut s'avérer très utile.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
export * as AccessLists from "./AccessLists.md";
2+
export * as Certificates from "./Certificates.md";
3+
export * as DeadHosts from "./DeadHosts.md";
4+
export * as ProxyHosts from "./ProxyHosts.md";
5+
export * as RedirectionHosts from "./RedirectionHosts.md";
6+
export * as Streams from "./Streams.md";

frontend/src/locale/src/HelpDoc/index.ts

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,30 @@
1+
import * as bg from "./bg/index";
12
import * as de from "./de/index";
23
import * as en from "./en/index";
3-
import * as ga from './ga/index'
4+
import * as es from "./es/index";
5+
import * as fr from "./fr/index";
6+
import * as ga from "./ga/index";
47
import * as id from "./id/index";
58
import * as it from "./it/index";
69
import * as ja from "./ja/index";
10+
import * as ko from "./ko/index";
711
import * as nl from "./nl/index";
812
import * as pl from "./pl/index";
913
import * as ru from "./ru/index";
1014
import * as sk from "./sk/index";
1115
import * as vi from "./vi/index";
1216
import * as zh from "./zh/index";
13-
import * as ko from "./ko/index";
14-
import * as bg from "./bg/index";
1517

16-
const items: any = { en, de, ja, sk, zh, pl, ru, it, vi, nl, bg, ko, ga, id }
18+
const items: any = { en, de, es, ja, sk, zh, pl, ru, it, vi, nl, bg, ko, ga, id, fr };
1719

1820
const fallbackLang = "en";
1921

2022
export const getHelpFile = (lang: string, section: string): string => {
21-
if (
22-
typeof items[lang] !== "undefined" &&
23-
typeof items[lang][section] !== "undefined"
24-
) {
23+
if (typeof items[lang] !== "undefined" && typeof items[lang][section] !== "undefined") {
2524
return items[lang][section].default;
2625
}
2726
// Fallback to English
28-
if (
29-
typeof items[fallbackLang] !== "undefined" &&
30-
typeof items[fallbackLang][section] !== "undefined"
31-
) {
27+
if (typeof items[fallbackLang] !== "undefined" && typeof items[fallbackLang][section] !== "undefined") {
3228
return items[fallbackLang][section].default;
3329
}
3430
throw new Error(`Cannot load help doc for ${lang}-${section}`);

0 commit comments

Comments
 (0)