Skip to content

Commit

Permalink
Add French localization
Browse files Browse the repository at this point in the history
  • Loading branch information
larmarange authored and laymonage committed Oct 26, 2021
1 parent c23ece9 commit a9ec7a8
Show file tree
Hide file tree
Showing 14 changed files with 287 additions and 6 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@ writing, this is a rolling-release project without any meaningful versioning
whatsoever. Tags/releases may be created for the sole purpose of documenting
major updates to the project.

## 2021-10-26

### added

- Add French localization
([#202](https://github.com/giscus/giscus/pull/202)).

## 2021-10-22

### fixed
Expand Down
86 changes: 86 additions & 0 deletions README.fr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# [giscus][giscus]

Un système de commentaires reposant sur le système de [Discussions GitHub][discussions]. Permettez aux visiteurs de votre site web de laisser des commentaires et des réactions via GitHub ! Fortement inspiré par [utterances][utterances].

- [Open source][repo]. 🌏
- Pas de suivi, pas de publicité, gratuit pour toujours. 📡 🚫
- Pas besoin de base de données. Toutes les données sont stockées dans les discussions GitHub. :octocat:
- [Thèmes personnalisables][creating-custom-themes]! 🌗
- [Multilingue][multiple-languages]. 🌐
- [Largement configurable][advanced-usage]. 🔧
- Récupère automatiquement les nouveaux commentaires et modifications depuis GitHub. 🔃
- [Peut être auto-hébergé][self-hosting]! 🤳

> **Note :**\
> giscus est toujours en développement actif. De même, GitHub développe toujours activement son système de Discussions et l'API correspondante. Dès lors, certaines fonctionalités de giscus peuvent se casser ou changer à l'avenir.
## comment cela fonctionne ?

Lorsque giscus se charge, l'[API de recherche des discussions de GitHub][search-api] est utilisée pour trouver la discussion associée à la page en fonction d'un mappage choisi (URL, `pathname`, `<title>`, etc.). Si une discussion correspondante ne peut être trouvée, le robot giscus créera automatiquement une nouvelle discussion la première fois que quelqu'un laissera un commentaire ou une réaction.

Pour commenter, les visiteurs doivent autoriser l'[application giscus][giscus-app] à [publier en leur nom][authorization] en utilisant le flux OAuth de GitHub. Les visiteurs peuvent également commenter directement la discussion sur GitHub. Vous pouvez modérer les commentaires sur GitHub.

[giscus]: https://giscus.app
[discussions]: https://docs.github.com/en/discussions
[utterances]: https://github.com/utterance/utterances
[repo]: https://github.com/giscus/giscus
[advanced-usage]: https://github.com/giscus/giscus/blob/main/ADVANCED-USAGE.md
[creating-custom-themes]: https://github.com/giscus/giscus/blob/main/ADVANCED-USAGE.md#data-theme
[multiple-languages]: https://github.com/giscus/giscus/blob/main/CONTRIBUTING.md#adding-localizations
[self-hosting]: https://github.com/giscus/giscus/blob/main/SELF-HOSTING.md
[search-api]: https://docs.github.com/en/graphql/guides/using-the-graphql-api-for-discussions#search
[giscus-app]: https://github.com/apps/giscus
[authorization]: https://docs.github.com/en/developers/apps/identifying-and-authorizing-users-for-github-apps

<!-- configuration -->

Si vous utilisez giscus, pensez à [starifier 🌟 giscus sur GitHub][repo] et à ajouter le sujet [`giscus`][giscus-topic] à [votre dépôt][topic-howto] ! 🎉

## utilisation avancée

Vous pouvez ajouter des configurations supplémentaires (par exemple, autoriser des origines spécifiques) en suivant le [guide d'utilisation avancée][advanced-usage].

Pour utiliser giscus avec React, Vue ou Svelte, consultez la [bibliothèque de composants giscus][giscus-component].

## migration


Si vous avez déjà utilisé d'autres systèmes qui utilisent les *issues* de GitHub (par exemple [utterances][utterances], [gitalk][gitalk]), vous pouvez [convertir les *issues* existantes en discussions][convert]. Après la conversion, assurez-vous simplement que le mappage entre les titres des discussions et les pages est correct, puis giscus utilisera automatiquement les discussions.

## sites utilisant giscus

- [laymonage.com][laymonage-website]
- [os.phil-opp.com][os-phil-opp]
- [Stats and R][statsandr]
- [Tech Debt Burndown Podcast][techdebtburndown]
- [**and many more!**][giscus-topic]

## contribuer

Voir le fichier [CONTRIBUTING.md][contributing]

[giscus-component]: https://github.com/giscus/giscus-component
[repo]: https://github.com/giscus/giscus
[giscus-topic]: https://github.com/topics/giscus
[topic-howto]: https://docs.github.com/en/github/administering-a-repository/classifying-your-repository-with-topics
[advanced-usage]: https://github.com/giscus/giscus/blob/main/ADVANCED-USAGE.md
[utterances]: https://github.com/utterance/utterances
[gitalk]: https://github.com/gitalk/gitalk
[convert]: https://docs.github.com/en/discussions/managing-discussions-for-your-community/moderating-discussions#converting-an-issue-to-a-discussion
[laymonage-website]: https://laymonage.com/posts/giscus
[os-phil-opp]: https://os.phil-opp.com
[statsandr]: https://statsandr.com
[techdebtburndown]: https://techdebtburndown.com
[contributing]: https://github.com/giscus/giscus/blob/main/CONTRIBUTING.md

<!-- end -->

---

Ce README est disponible en :

[Anglais](README.md)[Français](README.fr.md)[Indonésien](README.id.md)[Polonais](README.pl.md)[Romain](README.ro.md)

[![Propulsé par Vercel](public/powered-by-vercel.svg)][vercel]

[vercel]: https://vercel.com/?utm_source=giscus&utm_campaign=oss
2 changes: 1 addition & 1 deletion README.id.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ Lihat [CONTRIBUTING.md][contributing]

README ini tersedia dalam bahasa:

[Inggris](README.md)[Indonesia](README.id.md)[Polandia](README.pl.md)[Rumania](README.ro.md)
[Inggris](README.md)[Perancis](README.fr.md)[Indonesia](README.id.md)[Polandia](README.pl.md)[Rumania](README.ro.md)

[![Powered by Vercel](public/powered-by-vercel.svg)][vercel]

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ See [CONTRIBUTING.md][contributing]

This README is available in:

[English](README.md)[Indonesian](README.id.md)[Polish](README.pl.md)[Romanian](README.ro.md)
[English](README.md)[French](README.fr.md)[Indonesian](README.id.md)[Polish](README.pl.md)[Romanian](README.ro.md)

[![Powered by Vercel](public/powered-by-vercel.svg)][vercel]

Expand Down
2 changes: 1 addition & 1 deletion README.pl.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ See [CONTRIBUTING.md][contributing]

This README is available in:

[English](README.md)[Indonesian](README.id.md)[Polish](README.pl.md)[Romanian](README.ro.md)
[English](README.md)[French](README.fr.md)[Indonesian](README.id.md)[Polish](README.pl.md)[Romanian](README.ro.md)

[![Powered by Vercel](public/powered-by-vercel.svg)][vercel]

Expand Down
2 changes: 1 addition & 1 deletion README.ro.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ See [CONTRIBUTING.md][contributing]

This README is available in:

[English](README.md)[Indonesian](README.id.md)[Polish](README.pl.md)[Romanian](README.ro.md)
[English](README.md)[French](README.fr.md)[Indonesian](README.id.md)[Polish](README.pl.md)[Romanian](README.ro.md)

[![Powered by Vercel](public/powered-by-vercel.svg)][vercel]

Expand Down
2 changes: 1 addition & 1 deletion i18n.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"locales": ["en", "id", "pl", "ro"],
"locales": ["en", "fr", "id", "pl", "ro"],
"defaultLocale": "en",
"pages": {
"*": ["common"],
Expand Down
6 changes: 5 additions & 1 deletion lib/i18n.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ export interface GiscusTranslate<I18Namespace = I18n> {
(i18nKey: I18nKeysNoCount<I18Namespace>, query?: TranslationQuery): string;
}

export const availableLanguages = ['en', 'id', 'pl', 'ro'] as const;
export const availableLanguages = ['en', 'fr', 'id', 'pl', 'ro'] as const;

export type AvailableLanguage = typeof availableLanguages[number];

Expand Down Expand Up @@ -100,6 +100,7 @@ const dateFormat: Intl.DateTimeFormatOptions = {

const dateFormatters: Record<AvailableLanguage, Intl.DateTimeFormat> = {
en: new Intl.DateTimeFormat('en', dateFormat),
fr: new Intl.DateTimeFormat('fr', dateFormat),
id: new Intl.DateTimeFormat('id', dateFormat),
pl: new Intl.DateTimeFormat('pl', dateFormat),
ro: new Intl.DateTimeFormat('ro', dateFormat),
Expand All @@ -112,6 +113,7 @@ const shortDateFormat: Intl.DateTimeFormatOptions = {

const shortDateFormatters: Record<AvailableLanguage, Intl.DateTimeFormat> = {
en: new Intl.DateTimeFormat('en', shortDateFormat),
fr: new Intl.DateTimeFormat('fr', shortDateFormat),
id: new Intl.DateTimeFormat('id', shortDateFormat),
pl: new Intl.DateTimeFormat('pl', shortDateFormat),
ro: new Intl.DateTimeFormat('ro', shortDateFormat),
Expand All @@ -125,6 +127,7 @@ const shortDateYearFormat: Intl.DateTimeFormatOptions = {

const shortDateYearFormatters: Record<AvailableLanguage, Intl.DateTimeFormat> = {
en: new Intl.DateTimeFormat('en', shortDateYearFormat),
fr: new Intl.DateTimeFormat('fr', shortDateYearFormat),
id: new Intl.DateTimeFormat('id', shortDateYearFormat),
pl: new Intl.DateTimeFormat('pl', shortDateYearFormat),
ro: new Intl.DateTimeFormat('ro', shortDateYearFormat),
Expand All @@ -138,6 +141,7 @@ const relativeTimeFormat: Intl.RelativeTimeFormatOptions = {

const relativeTimeFormatters: Record<AvailableLanguage, Intl.RelativeTimeFormat> = {
en: new Intl.RelativeTimeFormat('en', relativeTimeFormat),
fr: new Intl.RelativeTimeFormat('fr', relativeTimeFormat),
id: new Intl.RelativeTimeFormat('id', relativeTimeFormat),
pl: new Intl.RelativeTimeFormat('pl', relativeTimeFormat),
ro: new Intl.RelativeTimeFormat('ro', relativeTimeFormat),
Expand Down
1 change: 1 addition & 0 deletions locales/en/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"chooseLanguageGiscusDisplayed": "Choose the language giscus will be displayed in. Can't find your language? <a>Contribute</a> a localization.",

"lang=en": "English",
"lang=fr": "French",
"lang=id": "Indonesian",
"lang=pl": "Polish",
"lang=ro": "Romanian",
Expand Down
92 changes: 92 additions & 0 deletions locales/fr/common.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
{
"reactions": {
"0": "{{count}} réaction",
"one": "{{count}} réaction",
"other": "{{count}} réactions"
},
"comment": "Commentaire",
"comments": {
"0": "{{count}} commentaire",
"one": "{{count}} commentaire",
"other": "{{count}} commentaires"
},
"reply": "Répondre",
"replies": {
"0": "{{count}} réponse",
"one": "{{count}} réponse",
"other": "{{count}}{{plus}} réponses"
},
"upvotes": {
"0": "{{count}} vote",
"one": "{{count}} vote",
"other": "{{count}} votes"
},
"hiddenItems": {
"0": "{{count}} objet masqué",
"one": "{{count}} objet masqué",
"other": "{{count}} objets masqués"
},
"genericError": "Une erreur s'est produite {{message}}",
"loadMore": "Charger plus",
"loading": "Chargement en cours",
"loadingComments": "Chargement des commentaires…",
"loadingPreview": "Chargement de l'aperçu…",
"poweredBy": "– propulsé par <a>giscus</a>",
"showPreviousReplies": {
"0": "Afficher {{count}} réponse précédénte",
"one": "Afficher {{count}} réponse précédénte",
"other": "Afficher {{count}} réponses précédéntes"
},
"seePreviousRepliesOnGitHub": {
"0": "Voir {{count}} réponse précédente sur GitHub",
"one": "Voir {{count}} réponse précédente sur GitHub",
"other": "Voir {{count}} réponses précédentes sur on GitHub"
},
"edited": "édité",
"thisCommentWasDeleted": "Ce commentaire a été supprimé.",
"thisCommentWasMinimized": "Ce commentaire a été réduit.",
"thisCommentWasHidden": "Ce commentaire a été masqué.",
"write": "Écrire",
"preview": "Aperçu",
"lastEditedAt": "Dernier changement le {{date}}",
"writeAComment": "Écrire un commentaire",
"signInToComment": "S'identifier pour pouvoir commenter",
"stylingWithMarkdownIsSupported": "Mise en forme avec Markdown possible",
"cancel": "Annuler",
"signInWithGitHub": "S'identifier avec GitHub",
"writeAReply": "Écrire une réponse",

"upvote": "Voter pour",
"addReactions": "Ajouter des réactions",
"pleaseWait": "Veuillez patienter…",
"pickYourReaction": "Choisissez votre réaction",
"addTheReaction": "Ajouter la réaction {{reaction}}",
"signInToAddYourReaction": "<a>S'identifier</a> pour réagir.",
"youMustBeSignedInToAddReactions": "Vous devez être identifié·e pour réagir.",
"peopleReactedWith": {
"0": "{{count}} personne a réagi avec {{reaction}} {{emoji}}",
"one": "{{count}} personne a réagi avec {{reaction}} {{emoji}}",
"other": "{{count}} personnes ont réagi avec {{reaction}} {{emoji}}"
},
"emoji": "emoji",
"nothingToPreview": "Rien à prévisualiser",

"THUMBS_UP": "+1",
"THUMBS_DOWN": "-1",
"LAUGH": "Rire",
"HOORAY": "Hourra",
"CONFUSED": "Confus·e",
"HEART": "Amour",
"ROCKET": "Rocket",
"EYES": "Yeux",

"COLLABORATOR": "Collaborateur·rice",
"CONTRIBUTOR": "Contributeur·rice",
"FIRST_TIMER": "Première contribution",
"FIRST_TIME_CONTRIBUTOR": "Contributeur·rice pour la première fois",
"MANNEQUIN": "Mannequin",
"MEMBER": "Membre",
"NONE": "Aucun",
"OWNER": "Propriétaire",
"APP": "App"
}
88 changes: 88 additions & 0 deletions locales/fr/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
{
"configuration": "configuration",

"language": "Langue",
"chooseLanguageGiscusDisplayed": "Choisir la langue d'affichage de giscus. Vous ne trouvez pas votre langue ? <a>Contribuez</a> à la traduction.",

"lang=en": "Anglais",
"lang=fr": "Français",
"lang=id": "Indonésien",
"lang=pl": "Polonais",
"lang=ro": "Romain",

"repository": "Dépôt",
"chooseTheRepository": "Choisir le dépôt auquel giscus se connectera. Bien vérifier que :",
"theRepositoryIsPublic": "Le <strong>dépôt est <a>public</a></strong>, sinon les visiteurs ne pourront pas voir les discussions.",
"theGiscusAppIsInstalled": "L'<strong>application <a>giscus</a> est installée</strong>, sinon les visiteurs ne pourront pas commenter ni réagir.",
"theDiscussionsFeatureIsTurnedOn": "Les <strong>Discussions sont activiées</strong> en <a>autorisant cette fonctionalité pour votre dépôt</a>.",
"repositoryLabel": "dépôt :",
"myusername/myrepo": "myusername/myrepo",
"cannotUseGiscusOnThisRepository": "giscus ne peut être utilisé pour ce dépôt. Merci de vérifier que les critères ci-dessus sont bien remplis.",
"successRepositoryMeetsCriteria": "Bravo ! Ce dépôt respect tous les critères pré-requis.",
"aPublicGitHubRepository": "Un dépôt GitHub <strong>public</strong>. Ce dépot sera celui utilisé pour lier les discussions.",

"pageDiscussionsMapping": "Mappage Pages ↔️ Discussions",
"chooseTheMapping": "Choisir le système de mappage entre les pages web et les discussions correspondantes.",
"titleContainsPathname": "Le titre de la discussion contient le chemin de la page (<code>pathname</code>)",
"titleContainsPathnameDesc": "giscus cherchera une discussion dont le titre contient le chemin (<code>pathname</code> URL) de la page.",
"titleContainsURL": "Le titre de la discussion contient l'<code>URL</code> de la page",
"titleContainsURLDesc": "giscus cherchera une discussion dont le titre contient l'URL de la page.",
"titleContainsTitle": "Le titre de la discussion contient le <code><title></code> de la page",
"titleContainsTitleDesc": "giscus cherchera une discussion dont le titre contient le tage HTML <code><title></code> de la page.",
"titleContainsOgTitle": "Le titre de la page contient le <code>og:title</code> de la page",
"titleContainsOgTitleDesc": "giscus cherchera une discussion dont le titre contiendra le contenu du tage HTML <aOgTitle><code><meta property=\"og:title\"></code></aOgTitle> de la page.",
"titleContainsSpecificTerm": "Le titre de la dicussion contient un terme spécifique",
"titleContainsSpecificTermDesc": "giscus cherchera une discussion dont le titre contient un terme spécifique.",
"enterTermHere": "Indiquer ici le terme spécfique à rechercher",
"specificDiscussionNumber": "Numéro de discussion spécifique",
"specificDiscussionNumberDesc": "giscus chargera une discussion spécifique identifiée par son numéro. Cette option <strong>ne permets pas</strong> la création automatique d'une nouvelle discussion.",
"enterDiscussionNumberHere": "Saisir ici le numéro de la discussion",

"discussionCategory": "Catégorie de la Discussion",
"chooseTheDiscussionCategory": "Choisir la catégorie de discussion assciée aux nouvelles discussions crées par giscus.",
"categoryIsNotSupported": "Cette fonctionnalité n'est pas disponible si vous avez opté pour le mappage selon un <strong>numéro de discussion spécifique</strong>.",
"recommendAnnouncementsCategory": "Il est recommandé de choisir une catégorie de type <strong>Announcements</strong> afin que les nouvelles discussions ne puissent être crées que par les administrateurs et giscus.",
"discussionCategoryLabel": "Catégorie de discussion",
"categoryNotSupportedOption": "Non prise en charge",
"pickACategoryOption": "Choisir une catégorie",
"noCategoriesFoundOption": "Aucune catégorie trouvée",
"onlySearchInThisCategory": "Rechercher seulement parmi les discussions de cette catégorie",
"whenSearchingOnlyThisCategory": "Lors de la recherche d'une discussion correspondante (mappage), giscuss ne cherchera que parmi les discussions de cette catégorie.",

"features": "Fonctionnalités",
"chooseSpecificFeatures": "Choisir des fonctionnalités spécifiques à activer.",
"enableReactionsMainPost": "Autoriser les réactions pour le message principal",
"reactionsMainPostShownBeforeComments": "Les réactions au message principal de la discussion seront affichées avant les commentaires.",
"emitDiscussionMetadata": "Diffuser les métadonnées de la discussion",
"discussionMetadataSentPeriodically": "Les métadonnées de la discussion seront envoyées périodiquement à la fenêtre parente (la page d'incorporation). Pour la démonstration, activez cette option et ouvrez la console de votre navigateur sur cette page. Consultez la <a>documentation</a> pour plus de détails.",

"theme": "Thème",
"chooseAThemeThatMatches": "Choisir un thème qui correspond au site. Vous ne trouvez pas de thème adpaté ? <a>Proposer</a> un nouveau thème.",
"URLToThemeCSS": "URL vers le fichier CSS du thème :",
"warningExternalCSSUnsafe": "Attention : charger un ficher CSS externe peut être dangereux. Vérifiez que vous connaissez l'auteur et le fournisseur du fichier CSS.",

"theme=light": "GitHub Light",
"theme=dark": "GitHub Dark",
"theme=dark_dimmed": "GitHub Dark Dimmed",
"theme=dark_high_contrast": "GitHub Dark High Contrast",
"theme=dark_protanopia": "GitHub Dark Colorblind",
"theme=light_protanopia": "GitHub Light Colorblind",
"theme=transparent_dark": "Transparent Dark",
"theme=preferred_color_scheme": "Preferred color scheme",
"theme=custom": "Personnalisé (expérimental)",

"enableGiscus": "Activer giscus",
"addTheFollowingScriptTag": "Ajouter le code suivant (tag HTML <code><script></code>) dans le gabarit de vos pages web à l'endroit où vous souhaitez afficher les commentaires. Si un élément HTML possède la classe CSS <code>giscus</code> existe, les commentaires seront à cet endroit.",
"copy": "Copier",

"[enterRepoHere]": "[ENTER REPO HERE]",
"[enterRepoIDHere]": "[ENTER REPO ID HERE]",
"[enterCategoryHere]": "[ENTER CATEGORY NAME HERE]",
"[enterCategoryIDHere]": "[ENTER CATEGORY ID HERE]",
"[enterTermHere]": "[ENTER TERM HERE]",
"[enterNumberHere]": "[ENTER NUMBER HERE]",
"[enterThemeCSSURLHere]": "[ENTER THEME CSS URL HERE]",

"youCanCustomizeTheLayout": "Vous pouvez personnaliser la disposition du conteneur à l'aide des sélecteurs <code>.giscus</code> et <code>.giscus-frame</code> de la page d'incorporation.",
"tryItOut": "Essayez !"
}
1 change: 1 addition & 0 deletions locales/id/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"chooseLanguageGiscusDisplayed": "Pilih bahasa yang akan ditampilkan giscus. Tidak dapat menemukan bahasa Anda? <a>Buat kontribusi</a> terjemahan.",

"lang=en": "Inggris",
"lang=fr": "Perancis",
"lang=id": "Indonesia",
"lang=pl": "Polandia",
"lang=ro": "Rumania",
Expand Down
1 change: 1 addition & 0 deletions locales/pl/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"chooseLanguageGiscusDisplayed": "Choose the language giscus will be displayed in. Can't find your language? <a>Contribute</a> a localization.",

"lang=en": "English",
"lang=fr": "French",
"lang=id": "Indonesian",
"lang=pl": "Polish",
"lang=ro": "Romanian",
Expand Down
1 change: 1 addition & 0 deletions locales/ro/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"chooseLanguageGiscusDisplayed": "Choose the language giscus will be displayed in. Can't find your language? <a>Contribute</a> a localization.",

"lang=en": "English",
"lang=fr": "French",
"lang=id": "Indonesian",
"lang=pl": "Polish",
"lang=ro": "Romanian",
Expand Down

0 comments on commit a9ec7a8

Please sign in to comment.