[READ-ONLY] a fast, modern browser for the npm registry
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat(i18n): add `fr` support (#185)

authored by

jyc.dev and committed by
GitHub
14df6954 17b07e0a

+500 -1
+3 -1
app/components/SettingsMenu.vue
··· 116 116 :aria-checked="settings.includeTypesInInstall" 117 117 @click="settings.includeTypesInInstall = !settings.includeTypesInInstall" 118 118 > 119 - <span class="text-sm text-fg select-none">{{ $t('settings.include_types') }}</span> 119 + <span class="text-sm text-fg select-none text-left">{{ 120 + $t('settings.include_types') 121 + }}</span> 120 122 <span 121 123 class="relative inline-flex h-5 w-9 shrink-0 items-center rounded-full border-2 border-transparent transition-[background-color] duration-200 ease-in-out motion-reduce:transition-none" 122 124 :class="settings.includeTypesInInstall ? 'bg-fg' : 'bg-bg-subtle'"
+496
i18n/locales/fr.json
··· 1 + { 2 + "seo": { 3 + "home": { 4 + "title": "npmx - Explorateur de paquets pour le registre npm", 5 + "description": "Un meilleur explorateur du registre npm. Recherchez, parcourez et explorez les paquets avec une interface moderne." 6 + } 7 + }, 8 + "tagline": "un meilleur explorateur du registre npm", 9 + "non_affiliation_disclaimer": "non affilié à npm, Inc.", 10 + "trademark_disclaimer": "npm est une marque déposée de npm, Inc. Ce site n'est pas affilié à npm, Inc.", 11 + "footer": { 12 + "source": "source", 13 + "social": "réseaux sociaux", 14 + "chat": "espace de discussion" 15 + }, 16 + "search": { 17 + "label": "Rechercher des paquets npm", 18 + "placeholder": "rechercher des paquets...", 19 + "button": "rechercher", 20 + "clear": "Effacer la recherche", 21 + "searching": "Recherche en cours...", 22 + "found_packages": "{count} paquets trouvés", 23 + "updating": "(mise à jour...)", 24 + "no_results": "Aucun paquet trouvé pour « {query} »", 25 + "not_taken": "{name} n'est pas pris", 26 + "claim_prompt": "Réserver ce nom de paquet sur npm", 27 + "claim_button": "Réserver « {name} »", 28 + "want_to_claim": "Vous souhaitez réserver ce nom de paquet ?", 29 + "start_typing": "Commencez à taper pour rechercher des paquets" 30 + }, 31 + "nav": { 32 + "popular_packages": "Paquets populaires", 33 + "search": "recherche", 34 + "settings": "paramètres" 35 + }, 36 + "settings": { 37 + "relative_dates": "Dates relatives", 38 + "include_types": "Inclure {'@'}types à la commande d'installation", 39 + "language": "Langue de l'interface", 40 + "help_translate": "Aidez à traduire npmx" 41 + }, 42 + "common": { 43 + "loading": "Chargement...", 44 + "loading_more": "Chargement en cours...", 45 + "loading_packages": "Chargement des paquets...", 46 + "end_of_results": "Fin des résultats", 47 + "try_again": "Réessayer encore", 48 + "close": "Fermer", 49 + "retry": "Réessayer", 50 + "copy": "copier", 51 + "copied": "copié !", 52 + "show_more": "afficher plus", 53 + "warnings": "Avertissements :", 54 + "go_back_home": "Retour à l'accueil", 55 + "view_on_npm": "voir sur npm", 56 + "per_week": "/ semaine", 57 + "sort": { 58 + "name": "nom", 59 + "role": "rôle", 60 + "members": "membres" 61 + }, 62 + "scroll_to_top": "Retour en haut" 63 + }, 64 + "package": { 65 + "not_found": "Paquet introuvable", 66 + "not_found_message": "Le paquet n'a pas pu être trouvé.", 67 + "no_description": "Aucune description fournie", 68 + "show_full_description": "Afficher la description complète", 69 + "not_latest": "(pas la dernière)", 70 + "verified_provenance": "Provenance vérifiée", 71 + "view_permalink": "Voir le lien permanent pour cette version", 72 + "deprecation": { 73 + "package": "Ce paquet a été déprécié.", 74 + "version": "Cette version a été dépréciée.", 75 + "no_reason": "Aucune raison fournie" 76 + }, 77 + "stats": { 78 + "license": "Licence", 79 + "weekly": "Hebdo", 80 + "deps": "Dépendances", 81 + "install_size": "Taille d'installation", 82 + "updated": "Mis à jour", 83 + "view_download_trends": "Voir les tendances de téléchargement", 84 + "view_dependency_graph": "Voir le graphe de dépendances", 85 + "inspect_dependency_tree": "Inspecter l'arbre de dépendances" 86 + }, 87 + "links": { 88 + "repo": "dépôt", 89 + "homepage": "site web", 90 + "issues": "issues", 91 + "forks": "fork | forks", 92 + "jsr": "jsr", 93 + "code": "code" 94 + }, 95 + "install": { 96 + "title": "Installer", 97 + "pm_label": "Gestionnaire de paquets", 98 + "copy_command": "Copier la commande d'installation", 99 + "view_types": "Voir {package}" 100 + }, 101 + "readme": { 102 + "title": "Readme", 103 + "no_readme": "Aucun README disponible.", 104 + "view_on_github": "Voir sur GitHub" 105 + }, 106 + "keywords_title": "Mots-clés", 107 + "compatibility": "Compatibilité", 108 + "card": { 109 + "publisher": "Éditeur", 110 + "updated": "Mis à jour", 111 + "weekly_downloads": "Téléchargements hebdomadaires", 112 + "keywords": "Mots-clés" 113 + }, 114 + "versions": { 115 + "title": "Versions", 116 + "collapse": "Réduire {tag}", 117 + "expand": "Développer {tag}", 118 + "collapse_other": "Réduire les autres versions", 119 + "expand_other": "Développer les autres versions", 120 + "collapse_major": "Réduire la majeure {major}", 121 + "expand_major": "Développer la majeure {major}", 122 + "other_versions": "Autres versions", 123 + "more_tagged": "{count} de plus avec tag", 124 + "all_covered": "Toutes les versions sont couvertes par les tags ci-dessus", 125 + "deprecated_title": "{version} (dépréciée)" 126 + }, 127 + "dependencies": { 128 + "title": "Dépendances ({count})", 129 + "list_label": "Dépendances du paquet", 130 + "show_all": "afficher les {count} dépendances", 131 + "optional": "optionnelle" 132 + }, 133 + "peer_dependencies": { 134 + "title": "Dépendances peer ({count})", 135 + "list_label": "Dépendances peer du paquet", 136 + "show_all": "afficher les {count} dépendances peer" 137 + }, 138 + "optional_dependencies": { 139 + "title": "Dépendances optionnelles ({count})", 140 + "list_label": "Dépendances optionnelles du paquet", 141 + "show_all": "afficher les {count} dépendances optionnelles" 142 + }, 143 + "maintainers": { 144 + "title": "Mainteneurs", 145 + "list_label": "Mainteneurs du paquet", 146 + "you": "(vous)", 147 + "via": "via {teams}", 148 + "remove_owner": "Retirer {name} en tant que propriétaire", 149 + "username_to_add": "Nom d'utilisateur à ajouter comme propriétaire", 150 + "username_placeholder": "nom d'utilisateur...", 151 + "add_button": "ajouter", 152 + "cancel_add": "Annuler l'ajout de propriétaire", 153 + "add_owner": "+ Ajouter un propriétaire" 154 + }, 155 + "downloads": { 156 + "title": "Téléchargements hebdomadaires", 157 + "date_range": "{start} au {end}", 158 + "analyze": "Analyser les téléchargements", 159 + "modal_title": "Téléchargements", 160 + "granularity": "Granularité", 161 + "granularity_daily": "Quotidien", 162 + "granularity_weekly": "Hebdomadaire", 163 + "granularity_monthly": "Mensuel", 164 + "granularity_yearly": "Annuel", 165 + "start_date": "Début", 166 + "end_date": "Fin", 167 + "no_data": "Aucune donnée de téléchargement disponible", 168 + "loading": "Chargement...", 169 + "y_axis_label": "Téléchargements {granularity}" 170 + }, 171 + "install_scripts": { 172 + "title": "Scripts d'installation", 173 + "script_label": "(script)", 174 + "npx_packages": "{count} paquet npx | {count} paquets npx", 175 + "currently": "actuellement {version}" 176 + }, 177 + "playgrounds": { 178 + "title": "Essayer", 179 + "choose": "choisir un playground" 180 + }, 181 + "metrics": { 182 + "esm": "ES Modules uniquement", 183 + "cjs": "CommonJS uniquement", 184 + "dual": "Supporte CommonJS et ES Modules", 185 + "unknown_format": "Format de module inconnu", 186 + "ts_included": "Types TypeScript inclus", 187 + "types_from": "Types depuis {package}" 188 + }, 189 + "license": { 190 + "view_spdx": "Voir le texte de la licence sur SPDX" 191 + }, 192 + "vulnerabilities": { 193 + "no_description": "Aucune description disponible", 194 + "found": "{count} vulnérabilité trouvée | {count} vulnérabilités trouvées", 195 + "no_summary": "Aucun résumé", 196 + "view_details": "Voir les détails de la vulnérabilité", 197 + "severity": { 198 + "critical": "critique", 199 + "high": "élevée", 200 + "moderate": "modérée", 201 + "low": "faible" 202 + } 203 + }, 204 + "access": { 205 + "title": "Accès des équipes", 206 + "refresh": "Actualiser l'accès des équipes", 207 + "list_label": "Liste d'accès des équipes", 208 + "owner": "propriétaire", 209 + "rw": "lecture/écriture", 210 + "ro": "lecture seule", 211 + "revoke_access": "Révoquer l'accès de {name}", 212 + "no_access": "Aucun accès d'équipe configuré", 213 + "select_team_label": "Sélectionner une équipe", 214 + "loading_teams": "Chargement des équipes...", 215 + "select_team": "Sélectionner une équipe", 216 + "permission_label": "Niveau de permission", 217 + "permission": { 218 + "read_only": "lecture seule", 219 + "read_write": "lecture-écriture" 220 + }, 221 + "grant_button": "accorder", 222 + "cancel_grant": "Annuler l'octroi d'accès", 223 + "grant_access": "+ Accorder l'accès à une équipe" 224 + }, 225 + "list": { 226 + "filter_label": "Filtrer les paquets", 227 + "filter_placeholder": "Filtrer les paquets...", 228 + "sort_label": "Trier les paquets", 229 + "showing_count": "Affichage de {filtered} sur {total} paquets" 230 + }, 231 + "skeleton": { 232 + "loading": "Chargement des détails du paquet", 233 + "license": "Licence", 234 + "weekly": "Hebdo", 235 + "size": "Taille", 236 + "deps": "Dépendances", 237 + "updated": "Mis à jour", 238 + "install": "Installer", 239 + "readme": "Readme", 240 + "maintainers": "Mainteneurs", 241 + "keywords": "Mots-clés", 242 + "versions": "Versions", 243 + "dependencies": "Dépendances" 244 + }, 245 + "sort": { 246 + "downloads": "Plus téléchargés", 247 + "updated": "Récemment mis à jour", 248 + "name_asc": "Nom (A-Z)", 249 + "name_desc": "Nom (Z-A)" 250 + } 251 + }, 252 + "connector": { 253 + "status": { 254 + "connecting": "connexion...", 255 + "connected_as": "connecté·e en tant que {'@'}{user}", 256 + "connected": "connecté·e", 257 + "connect_cli": "connecter le CLI local", 258 + "aria_connecting": "Connexion au connecteur local", 259 + "aria_connected": "Connecté au connecteur local", 260 + "aria_click_to_connect": "Cliquer pour se connecter au connecteur local", 261 + "avatar_alt": "Avatar de {user}" 262 + }, 263 + "modal": { 264 + "title": "Connecteur local", 265 + "close_modal": "Fermer la fenêtre", 266 + "close": "Fermer", 267 + "connected": "Connecté·e", 268 + "logged_in_as": "Connecté·e en tant que {'@'}{user}", 269 + "connected_hint": "Vous pouvez maintenant gérer les paquets et les organisations depuis l'interface web.", 270 + "disconnect": "Se déconnecter", 271 + "run_hint": "Exécutez le connecteur sur votre machine pour activer les fonctionnalités d'administration.", 272 + "copy_command": "Copier la commande", 273 + "copied": "Copié", 274 + "paste_token": "Puis collez le jeton ci-dessous pour vous connecter :", 275 + "token_label": "Jeton", 276 + "token_placeholder": "collez le jeton ici...", 277 + "advanced": "Options avancées", 278 + "port_label": "Port", 279 + "warning": "ATTENTION", 280 + "warning_text": "Cela permet à npmx d'accéder à votre CLI npm. Ne vous connectez qu'aux sites de confiance.", 281 + "connect": "Connecter", 282 + "connecting": "Connexion..." 283 + } 284 + }, 285 + "operations": { 286 + "queue": { 287 + "title": "File d'attente", 288 + "clear_all": "tout effacer", 289 + "refresh": "Actualiser les opérations", 290 + "empty": "Aucune action en file d'attente", 291 + "empty_hint": "Ajoutez des actions depuis les pages de paquets ou d'organisations", 292 + "active_label": "Actions actives", 293 + "otp_required": "OTP requis", 294 + "otp_prompt": "Entrez l'OTP pour continuer", 295 + "otp_placeholder": "Entrez le code OTP...", 296 + "otp_label": "Mot de passe à usage unique", 297 + "retry_otp": "Réessayer avec l'OTP", 298 + "retrying": "Nouvelle tentative...", 299 + "approve_operation": "Approuver l'opération", 300 + "remove_operation": "Supprimer l'opération", 301 + "approve_all": "Tout approuver", 302 + "execute": "Exécuter", 303 + "executing": "Exécution...", 304 + "log": "Journal", 305 + "log_label": "Journal des opérations terminées", 306 + "remove_from_log": "Supprimer du journal" 307 + } 308 + }, 309 + "org": { 310 + "teams": { 311 + "title": "Équipes", 312 + "refresh": "Actualiser les équipes", 313 + "filter_label": "Filtrer les équipes", 314 + "filter_placeholder": "Filtrer les équipes...", 315 + "sort_by": "Trier par", 316 + "loading": "Chargement des équipes...", 317 + "no_teams": "Aucune équipe trouvée", 318 + "list_label": "Équipes de l'organisation", 319 + "delete_team": "Supprimer l'équipe {name}", 320 + "member_count": "{count} membre | {count} membres", 321 + "members_of": "Membres de {team}", 322 + "no_members": "Aucun membre", 323 + "remove_user": "Retirer {user} de l'équipe", 324 + "username_to_add": "Nom d'utilisateur à ajouter à {team}", 325 + "username_placeholder": "nom d'utilisateur...", 326 + "add_button": "ajouter", 327 + "cancel_add_user": "Annuler l'ajout d'utilisateur", 328 + "add_member": "+ Ajouter un membre", 329 + "team_name_label": "Nom de l'équipe", 330 + "team_name_placeholder": "nom-de-l-equipe...", 331 + "create_button": "créer", 332 + "no_match": "Aucune équipe ne correspond à « {query} »", 333 + "cancel_create": "Annuler la création d'équipe", 334 + "create_team": "+ Créer une équipe" 335 + }, 336 + "members": { 337 + "title": "Membres", 338 + "refresh": "Actualiser les membres", 339 + "filter_label": "Filtrer les membres", 340 + "filter_placeholder": "Filtrer les membres...", 341 + "filter_by_role": "Filtrer par rôle", 342 + "filter_by_team": "Filtrer par équipe", 343 + "all_teams": "toutes les équipes", 344 + "sort_by": "Trier par", 345 + "loading": "Chargement des membres...", 346 + "no_members": "Aucun membre trouvé", 347 + "list_label": "Membres de l'organisation", 348 + "change_role_for": "Changer le rôle de {name}", 349 + "remove_from_org": "Retirer {name} de l'organisation", 350 + "view_team": "Voir l'équipe {team}", 351 + "no_match": "Aucun membre ne correspond à vos filtres", 352 + "username_label": "Nom d'utilisateur", 353 + "username_placeholder": "nom d'utilisateur...", 354 + "role_label": "Rôle", 355 + "role": { 356 + "all": "tous", 357 + "developer": "développeur", 358 + "admin": "admin", 359 + "owner": "propriétaire" 360 + }, 361 + "team_label": "Équipe", 362 + "no_team": "aucune équipe", 363 + "add_button": "ajouter", 364 + "cancel_add": "Annuler l'ajout de membre", 365 + "add_member": "+ Ajouter un membre" 366 + }, 367 + "public_packages": "{count} paquet public | {count} paquets publics", 368 + "page": { 369 + "packages_title": "Paquets", 370 + "members_tab": "Membres", 371 + "teams_tab": "Équipes", 372 + "no_packages": "Aucun paquet public trouvé pour", 373 + "no_packages_hint": "Cette organisation n'existe peut-être pas ou n'a aucun paquet public.", 374 + "failed_to_load": "Échec du chargement des paquets de l'organisation", 375 + "no_match": "Aucun paquet ne correspond à « {query} »", 376 + "not_found": "Organisation introuvable", 377 + "not_found_message": "L'organisation « {'@'}{name} » n'existe pas sur npm", 378 + "filter_placeholder": "Filtrer {count} paquets..." 379 + } 380 + }, 381 + "user": { 382 + "combobox": { 383 + "add_to_org_hint": "(sera aussi ajouté à l'organisation)", 384 + "press_enter_to_add": "Appuyez sur Entrée pour ajouter {'@'}{username}", 385 + "default_placeholder": "nom d'utilisateur...", 386 + "suggestions_label": "Suggestions d'utilisateurs" 387 + }, 388 + "page": { 389 + "packages_title": "Paquets", 390 + "no_packages": "Aucun paquet public trouvé pour", 391 + "no_packages_hint": "Cet utilisateur n'existe peut-être pas ou n'a aucun paquet public.", 392 + "failed_to_load": "Échec du chargement des paquets de l'utilisateur", 393 + "no_match": "Aucun paquet ne correspond à « {query} »", 394 + "filter_placeholder": "Filtrer {count} paquets..." 395 + }, 396 + "orgs_page": { 397 + "title": "Organisations", 398 + "back_to_profile": "Retour au profil", 399 + "connect_required": "Connectez le CLI local pour voir vos organisations.", 400 + "connect_hint_prefix": "Exécutez", 401 + "connect_hint_suffix": "pour commencer.", 402 + "own_orgs_only": "Vous ne pouvez voir que vos propres organisations.", 403 + "view_your_orgs": "Voir vos organisations", 404 + "loading": "Chargement des organisations...", 405 + "empty": "Aucune organisation trouvée.", 406 + "empty_hint": "Les organisations sont détectées à partir de vos paquets scopés.", 407 + "count": "{count} Organisation | {count} Organisations", 408 + "packages_count": "{count} paquet | {count} paquets" 409 + } 410 + }, 411 + "claim": { 412 + "modal": { 413 + "title": "Réserver un nom de paquet", 414 + "close_modal": "Fermer la fenêtre", 415 + "close": "Fermer", 416 + "success": "Paquet réservé !", 417 + "success_detail": "{name}{'@'}0.0.0 a été publié sur npm.", 418 + "success_hint": "Vous pouvez maintenant publier de nouvelles versions de ce paquet avec npm publish.", 419 + "view_package": "Voir le paquet", 420 + "invalid_name": "Nom de paquet invalide :", 421 + "available": "Ce nom est disponible !", 422 + "taken": "Ce nom est déjà pris.", 423 + "similar_warning": "Des paquets similaires existent — npm pourrait rejeter ce nom :", 424 + "related": "Paquets associés :", 425 + "scope_warning_title": "Envisagez d'utiliser un paquet scopé", 426 + "scope_warning_text": "Les noms de paquets non scopés sont une ressource partagée. Ne réservez un nom que si vous avez l'intention de publier et maintenir un paquet. Pour les projets personnels ou organisationnels, utilisez un nom scopé comme {'@'}{username}/{name}.", 427 + "connect_required": "Connectez-vous au connecteur local pour réserver ce nom de paquet.", 428 + "connect_button": "Se connecter au connecteur", 429 + "publish_hint": "Cela publiera un paquet minimal de substitution.", 430 + "preview_json": "Aperçu du package.json", 431 + "claim_button": "Réserver le nom de paquet", 432 + "publishing": "Publication...", 433 + "retry": "Réessayer", 434 + "checking": "Vérification de la disponibilité...", 435 + "failed_to_check": "Échec de la vérification de la disponibilité du nom", 436 + "failed_to_claim": "Échec de la réservation du paquet" 437 + } 438 + }, 439 + "code": { 440 + "files_label": "Fichiers", 441 + "no_files": "Aucun fichier dans ce répertoire", 442 + "select_version": "Sélectionner la version", 443 + "root": "racine", 444 + "lines": "{count} lignes", 445 + "toggle_tree": "Basculer l'arborescence", 446 + "close_tree": "Fermer l'arborescence", 447 + "copy_link": "Copier le lien", 448 + "raw": "Brut", 449 + "view_raw": "Voir le fichier brut", 450 + "file_too_large": "Fichier trop volumineux pour l'aperçu", 451 + "file_size_warning": "{size} dépasse la limite de 500 Ko pour la coloration syntaxique", 452 + "load_anyway": "Charger quand même", 453 + "failed_to_load": "Échec du chargement du fichier", 454 + "unavailable_hint": "Le fichier est peut-être trop volumineux ou indisponible", 455 + "version_required": "La version est requise pour parcourir le code", 456 + "go_to_package": "Aller au paquet", 457 + "loading_tree": "Chargement de l'arborescence...", 458 + "failed_to_load_tree": "Échec du chargement des fichiers pour cette version du paquet", 459 + "back_to_package": "Retour au paquet", 460 + "table": { 461 + "name": "Nom", 462 + "size": "Taille" 463 + } 464 + }, 465 + "badges": { 466 + "provenance": { 467 + "verified": "vérifié", 468 + "verified_title": "Provenance vérifiée", 469 + "verified_via": "Vérifié : publié via {provider}" 470 + }, 471 + "jsr": { 472 + "title": "aussi disponible sur JSR", 473 + "label": "jsr" 474 + } 475 + }, 476 + "header": { 477 + "home": "accueil npmx", 478 + "github": "GitHub", 479 + "packages": "paquets", 480 + "packages_dropdown": { 481 + "title": "Vos paquets", 482 + "loading": "Chargement...", 483 + "error": "Échec du chargement des paquets", 484 + "empty": "Aucun paquet trouvé", 485 + "view_all": "Tout voir" 486 + }, 487 + "orgs": "organisations", 488 + "orgs_dropdown": { 489 + "title": "Vos organisations", 490 + "loading": "Chargement...", 491 + "error": "Échec du chargement des organisations", 492 + "empty": "Aucune organisation trouvée", 493 + "view_all": "Tout voir" 494 + } 495 + } 496 + }
+1
nuxt.config.ts
··· 157 157 langDir: 'locales', 158 158 locales: [ 159 159 { code: 'en', language: 'en-US', name: 'English', file: 'en.json' }, 160 + { code: 'fr', language: 'fr-FR', name: 'Français', file: 'fr.json' }, 160 161 { code: 'zh-CN', language: 'zh-CN', name: '简体中文', file: 'zh-CN.json' }, 161 162 ], 162 163 },