diff --git a/package.json b/package.json index 1c23b81df..a8a3c2915 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject", - "generate-messages": "extract-messages -l=en,es,zh,ja -o src/translations -d en --flat true **/messages.js", + "generate-messages": "extract-messages -l=en,es,zh,ja,fr -o src/translations -d en --flat true **/messages.js", "format": "prettier --write .", "eslint": "eslint ." }, diff --git a/src/IntlProvider.tsx b/src/IntlProvider.tsx index d39c34364..18e085273 100644 --- a/src/IntlProvider.tsx +++ b/src/IntlProvider.tsx @@ -4,6 +4,7 @@ import enMessages from "translations/en.json"; import esMessages from "translations/es.json"; import zhMessages from "translations/zh.json"; import jaMessages from "translations/ja.json"; +import frMessages from "translations/fr.json"; const DEFAULT_LOCALE = "en-US"; @@ -19,6 +20,8 @@ const getMessages = (locale: string) => { return zhMessages; case "ja": return jaMessages; + case "fr": + return frMessages; default: return enMessages; } diff --git a/src/translations/fr.json b/src/translations/fr.json new file mode 100644 index 000000000..963f7d808 --- /dev/null +++ b/src/translations/fr.json @@ -0,0 +1,168 @@ +{ + "Element.AccountPage": "compte", + "Element.AccountSupport": "Prise en charge du compte", + "Element.ActivateNow": "Activer Maintenant", + "Element.AddToProfile": "Ajouter au Profil", + "Element.Back": "Retourner", + "Element.Block": "Bloquer", + "Element.BlockCount": "{n} bloqué", + "Element.BuyNow": "Acheter Maintenant", + "Element.Buying": "Acheter {item}", + "Element.Cancel": "Annuler", + "Element.Comment": "Commenter", + "Element.Confirm": "Confirmer", + "Element.ConfirmDeletion": "Êtes-vous sûr que vous voulez supprimer {id}", + "Element.ConfirmRepost": "Etes-vous sûr que vous voulez republier: {id}", + "Element.CopyID": "Copier Identifiant", + "Element.CopyJSON": "Copier l'événement JSON", + "Element.Custom": "Custom", + "Element.Delete": "Supprimer", + "Element.Deleted": "Supprimé", + "Element.DisalledLater": "le nom sera disponible plus tard", + "Element.Disallowed": "le nom est bloqué", + "Element.Dislike": "{n} Disliker", + "Element.Dislikes": "Dislikes ({n})", + "Element.Expired": "Expiré", + "Element.FindMore": "En savoir plus sur {service} sur {link}", + "Element.Follow": "Follow", + "Element.FollowAll": "Follow tout
", + "Element.FollowerCount": "{n} followers", + "Element.FollowingCount": "Follow {n}", + "Element.FollowsYou": "vous follow", + "Element.GoTo": "Aller à", + "Element.Invoice": "Facture Lightning", + "Element.InvoiceFail": "Échec du chargement de la facture", + "Element.JustNow": "Juste maintenant", + "Element.LNURLFail": "Échec du chargement du service LNURL", + "Element.Likes": "Like ({n})", + "Element.Loading": "Chargement...", + "Element.Logout": "Se déconnecter", + "Element.Milliseconds": "{n} ms", + "Element.Mute": "Mode Sourdine", + "Element.MuteAll": "Tout mettre en sourdine", + "Element.MuteCount": "{n} mis en sourdine", + "Element.MutedAuthor": "Cet auteur a été mis en sourdine", + "Element.NewNip": "Votre indicatif NIP-05 est:", + "Element.NotAvailable": "Pas disponible:", + "Element.NotePlaceholder": "Qu'avez-vous en tête?", + "Element.NoteToSelf": "Note pour moi-même", + "Element.OpenWallet": "Ouvrir le Wallet", + "Element.OrderPaid": "Commande Payée!", + "Element.Others": "& {n} {n, plural, =1 {other} other {others}}", + "Element.OthersZapped": "{n, plural, =0 {} =1 {zapped} other {zapped}}", + "Element.Paid": "Payé", + "Element.Pay": "Payer", + "Element.PayInvoice": "Payer Facture", + "Element.Reactions": "Réactions", + "Element.ReactionsCount": "Réactions ({n})", + "Element.Read": "Lire", + "Element.Regex": "le nom contient des caractères non autorisés", + "Element.Registered": "le nom est enregistré", + "Element.Reply": "Répondre", + "Element.Reposts": "Republie ({n})", + "Element.Sats": "{n} {n, plural, =1 {sat} other {sats}}", + "Element.SavePassword": "Assurez-vous d'enregistrer le mot de passe suivant afin de gérer votre identifiant à l'avenir", + "Element.Seconds": "{n} secondes", + "Element.Send": "Envoyer", + "Element.SendSats": "Envoyer des sats", + "Element.SendZap": "Envoyer zap", + "Element.Share": "Partager", + "Element.Show": "Montrer", + "Element.ShowLatest": "Afficher les {n} dernières notes", + "Element.ShowMore": "Montrer plus", + "Element.ShowReplies": "Afficher les réponses", + "Element.ToTarget": "{action} to {target}", + "Element.TooLong": "le nom est trop long", + "Element.TooShort": "le nom est trop court", + "Element.TranslateTo": "Traduire en {lang}", + "Element.TranslatedFrom": "Traduit de {lang}", + "Element.TranslationFailed": "La traduction a échoué", + "Element.Unblock": "Débloquer", + "Element.Unfollow": "Ne plus follow
", + "Element.UnknownEventKind": "Type d'événement inconnu : {kind}", + "Element.Unmute": "Retirer sourdine", + "Element.Write": "Écrire", + "Element.ZapAmount": "Zapper montant en sats", + "Element.ZapSats": "Zapper {n} sats", + "Element.ZapTarget": "Zapper {target} {n} sats", + "Element.Zapped": "zappé", + "Element.Zaps": "Zap ({n})", + "Pages.AvoidImpersonators": "Empêcher les faux comptes de vous imiter", + "Pages.Blocked": "Bloqué", + "Pages.Conversations": "Conversations", + "Pages.EasierToFind": "Rendez votre profil plus facile à trouver et à partager", + "Pages.Followers": "Followers", + "Pages.Following": "Vous suivez {n}
", + "Pages.Follows": "Follow", + "Pages.Funding": "Financer les développeurs et plateformes fournissant des services de vérification NIP-05", + "Pages.GetVerified": "Se faire vérifier", + "Pages.Global": "Global", + "Pages.Login": "Se Connecter", + "Pages.MarkAllRead": "Marquer tout comme lu", + "Pages.Messages": "Messages", + "Pages.Muted": "Mis en sourdine", + "Pages.NewUsers": "Page des nouveaux utilisateurs", + "Pages.Nip05": "NIP-05 est une spécification de vérification basée sur DNS qui permet de vous valider en tant qu'utilisateur réel.", + "Pages.Nip05Pros": "Obtenir la vérification NIP-05 peut aider :", + "Pages.NoFollows": "Hmm rien ici .. Essayez {newUsersPage} pour suivre quelques recommandations de naustriches!", + "Pages.NostrPlebsNip": "Nostr Plebs est l'un des premiers fournisseurs NIP-05 dans l'espace et offre une bonne collection de domaines à des prix raisonnables", + "Pages.Notes": "Notes", + "Pages.Posts": "Publications", + "Pages.Reactions": "Réactions", + "Pages.Sats": "{n} {n, plural, =1 {sat} other {sats}}", + "Pages.Search": "Chercher", + "Pages.SearchPlaceholder": "Chercher...", + "Pages.Settings": "Paramètres", + "Pages.SnortSocialNip": "Notre propre service de vérification NIP-05, aidez à soutenir le développement de ce site et obtenez un badge spécial brillant sur notre site !", + "Pages.Zaps": "Zaps", + "Pages.settings.About": "About", + "Pages.settings.Add": "Ajouter", + "Pages.settings.AddRelays": "Ajouter Relais", + "Pages.settings.All": "Tout", + "Pages.settings.AutoloadMedia": "Charger automatiquement le média", + "Pages.settings.AutoloadMediaHelp": "Les médias dans les messages seront automatiquement affichés pour les personnes sélectionnées, sinon seul le lien s'affichera", + "Pages.settings.Avatar": "Avatar", + "Pages.settings.Banner": "Bannière", + "Pages.settings.Buy": "Acheter", + "Pages.settings.ConfirmReposts": "Confirmer la republication", + "Pages.settings.ConfirmRepostsHelp": "Les republications seront automatiquement confirmées", + "Pages.settings.Contact": "Contacted", + "Pages.settings.Dark": "Sombre", + "Pages.settings.DebugMenus": "Menus de débogage", + "Pages.settings.DebugMenusHelp": "Affiche \"Copy ID\" et \"Copy Event JSON\" dans le menu contextuel de chaque message", + "Pages.settings.Default": "(Défaut)", + "Pages.settings.DisplayName": "Nom à afficher", + "Pages.settings.Donate": "Faire un don", + "Pages.settings.Edit": "Modifier", + "Pages.settings.EditProfile": "Modifier le Profil", + "Pages.settings.EnableReactions": "Activer les réactions", + "Pages.settings.EnableReactionsHelp": "Les réactions seront affichées sur chaque page, si désactivé aucune réaction ne sera affichée", + "Pages.settings.FileUpload": "Service d'hébergement de fichiers", + "Pages.settings.FileUploadHelp": "Choisissez le service d'hébergement vers lequel vous souhaitez héberger les pièces jointes", + "Pages.settings.FollowsOnly": "Follow seulement", + "Pages.settings.ImgProxy": "Service proxy d'images", + "Pages.settings.ImgProxyHelp": "Utiliser imgproxy pour compresser les images", + "Pages.settings.Light": "Clair", + "Pages.settings.LnAddress": "Adresse LN", + "Pages.settings.LogOut": "Se Déconnecter", + "Pages.settings.Name": "Nom", + "Pages.settings.Nip05": "NIP-05", + "Pages.settings.None": "Aucun", + "Pages.settings.Owner": "Propriétaire", + "Pages.settings.Preferences": "Préférences", + "Pages.settings.PrivateKey": "Votre Clé Privée Est (ne la partagez avec personne)", + "Pages.settings.Profile": "Profil", + "Pages.settings.Relays": "Relais", + "Pages.settings.Remove": "Retirer", + "Pages.settings.Save": "Sauvegarder", + "Pages.settings.ServiceKey": "Clé de service", + "Pages.settings.ServiceSalt": "Sel de service", + "Pages.settings.ServiceUrl": "URL de service", + "Pages.settings.ShowLatest": "Afficher automatiquement les dernières notes", + "Pages.settings.ShowLatestHelp": "Les notes seront diffusées en temps réel dans l'onglet Global et Posts", + "Pages.settings.Software": "Logiciel", + "Pages.settings.Supports": "Supporte", + "Pages.settings.System": "Système (Défaut)", + "Pages.settings.Theme": "Thème", + "Pages.settings.Website": "Site Internet" +} diff --git a/src/translations/zh.json b/src/translations/zh.json index 407d76990..13da1642b 100644 --- a/src/translations/zh.json +++ b/src/translations/zh.json @@ -1,3 +1,168 @@ { - "Pages.Login": "" + "Element.AccountPage": "", + "Element.AccountSupport": "", + "Element.ActivateNow": "", + "Element.AddToProfile": "", + "Element.Back": "", + "Element.Block": "", + "Element.BlockCount": "", + "Element.BuyNow": "", + "Element.Buying": "", + "Element.Cancel": "", + "Element.Comment": "", + "Element.Confirm": "", + "Element.ConfirmDeletion": "", + "Element.ConfirmRepost": "", + "Element.CopyID": "", + "Element.CopyJSON": "", + "Element.Custom": "", + "Element.Delete": "", + "Element.Deleted": "", + "Element.DisalledLater": "", + "Element.Disallowed": "", + "Element.Dislike": "", + "Element.Dislikes": "", + "Element.Expired": "", + "Element.FindMore": "", + "Element.Follow": "", + "Element.FollowAll": "", + "Element.FollowerCount": "", + "Element.FollowingCount": "", + "Element.FollowsYou": "", + "Element.GoTo": "", + "Element.Invoice": "", + "Element.InvoiceFail": "", + "Element.JustNow": "", + "Element.LNURLFail": "", + "Element.Likes": "", + "Element.Loading": "", + "Element.Logout": "", + "Element.Milliseconds": "", + "Element.Mute": "", + "Element.MuteAll": "", + "Element.MuteCount": "", + "Element.MutedAuthor": "", + "Element.NewNip": "", + "Element.NotAvailable": "", + "Element.NotePlaceholder": "", + "Element.NoteToSelf": "", + "Element.OpenWallet": "", + "Element.OrderPaid": "", + "Element.Others": "", + "Element.OthersZapped": "", + "Element.Paid": "", + "Element.Pay": "", + "Element.PayInvoice": "", + "Element.Reactions": "", + "Element.ReactionsCount": "", + "Element.Read": "", + "Element.Regex": "", + "Element.Registered": "", + "Element.Reply": "", + "Element.Reposts": "", + "Element.Sats": "", + "Element.SavePassword": "", + "Element.Seconds": "", + "Element.Send": "", + "Element.SendSats": "", + "Element.SendZap": "", + "Element.Share": "", + "Element.Show": "", + "Element.ShowLatest": "", + "Element.ShowMore": "", + "Element.ShowReplies": "", + "Element.ToTarget": "", + "Element.TooLong": "", + "Element.TooShort": "", + "Element.TranslateTo": "", + "Element.TranslatedFrom": "", + "Element.TranslationFailed": "", + "Element.Unblock": "", + "Element.Unfollow": "", + "Element.UnknownEventKind": "", + "Element.Unmute": "", + "Element.Write": "", + "Element.ZapAmount": "", + "Element.ZapSats": "", + "Element.ZapTarget": "", + "Element.Zapped": "", + "Element.Zaps": "", + "Pages.AvoidImpersonators": "", + "Pages.Blocked": "", + "Pages.Conversations": "", + "Pages.EasierToFind": "", + "Pages.Followers": "", + "Pages.Following": "", + "Pages.Follows": "", + "Pages.Funding": "", + "Pages.GetVerified": "", + "Pages.Global": "", + "Pages.Login": "", + "Pages.MarkAllRead": "", + "Pages.Messages": "", + "Pages.Muted": "", + "Pages.NewUsers": "", + "Pages.Nip05": "", + "Pages.Nip05Pros": "", + "Pages.NoFollows": "", + "Pages.NostrPlebsNip": "", + "Pages.Notes": "", + "Pages.Posts": "", + "Pages.Reactions": "", + "Pages.Sats": "", + "Pages.Search": "", + "Pages.SearchPlaceholder": "", + "Pages.Settings": "", + "Pages.SnortSocialNip": "", + "Pages.Zaps": "", + "Pages.settings.About": "", + "Pages.settings.Add": "", + "Pages.settings.AddRelays": "", + "Pages.settings.All": "", + "Pages.settings.AutoloadMedia": "", + "Pages.settings.AutoloadMediaHelp": "", + "Pages.settings.Avatar": "", + "Pages.settings.Banner": "", + "Pages.settings.Buy": "", + "Pages.settings.ConfirmReposts": "", + "Pages.settings.ConfirmRepostsHelp": "", + "Pages.settings.Contact": "", + "Pages.settings.Dark": "", + "Pages.settings.DebugMenus": "", + "Pages.settings.DebugMenusHelp": "", + "Pages.settings.Default": "", + "Pages.settings.DisplayName": "", + "Pages.settings.Donate": "", + "Pages.settings.Edit": "", + "Pages.settings.EditProfile": "", + "Pages.settings.EnableReactions": "", + "Pages.settings.EnableReactionsHelp": "", + "Pages.settings.FileUpload": "", + "Pages.settings.FileUploadHelp": "", + "Pages.settings.FollowsOnly": "", + "Pages.settings.ImgProxy": "", + "Pages.settings.ImgProxyHelp": "", + "Pages.settings.Light": "", + "Pages.settings.LnAddress": "", + "Pages.settings.LogOut": "", + "Pages.settings.Name": "", + "Pages.settings.Nip05": "", + "Pages.settings.None": "", + "Pages.settings.Owner": "", + "Pages.settings.Preferences": "", + "Pages.settings.PrivateKey": "", + "Pages.settings.Profile": "", + "Pages.settings.Relays": "", + "Pages.settings.Remove": "", + "Pages.settings.Save": "", + "Pages.settings.ServiceKey": "", + "Pages.settings.ServiceSalt": "", + "Pages.settings.ServiceUrl": "", + "Pages.settings.ShowLatest": "", + "Pages.settings.ShowLatestHelp": "", + "Pages.settings.Software": "", + "Pages.settings.Supports": "", + "Pages.settings.System": "", + "Pages.settings.Theme": "", + "Pages.settings.Website": "" }