1 /*  RetroArch - A frontend for libretro.
2  *  Copyright (C) 2011-2017 - Daniel De Matteis
3  *  Copyright (C) 2014-2017 - Jean-André Santoni
4  *  Copyright (C) 2016-2019 - Brad Parker
5  *  Copyright (C) 2019 - Weedy Weed Smoker
6  *
7  *  RetroArch is free software: you can redistribute it and/or modify it under the terms
8  *  of the GNU General Public License as published by the Free Software Found-
9  *  ation, either version 3 of the License, or (at your option) any later version.
10  *
11  *  RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
12  *  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13  *  PURPOSE.  See the GNU General Public License for more details.
14  *
15  *  You should have received a copy of the GNU General Public License along with RetroArch.
16  *  If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 #include <stdio.h>
20 #include <stdint.h>
21 #include <stddef.h>
22 
23 #include <compat/strl.h>
24 #include <string/stdstring.h>
25 
26 #include "../msg_hash.h"
27 #include "../verbosity.h"
28 
29 #ifdef RARCH_INTERNAL
30 #include "../configuration.h"
31 
32 #if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
33 #if (_MSC_VER >= 1700)
34 /* https://support.microsoft.com/en-us/kb/980263 */
35 #pragma execution_character_set("utf-8")
36 #endif
37 #pragma warning(disable:4566)
38 #endif
39 
msg_hash_get_help_fr_enum(enum msg_hash_enums msg,char * s,size_t len)40 int msg_hash_get_help_fr_enum(enum msg_hash_enums msg, char *s, size_t len)
41 {
42     settings_t *settings = config_get_ptr();
43 
44     if (msg == MENU_ENUM_LABEL_CONNECT_NETPLAY_ROOM)
45     {
46        snprintf(s, len,
47              "TODO/FIXME - Entrez le message ici."
48              );
49        return 0;
50     }
51     if (msg <= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_END &&
52         msg >= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN)
53     {
54        unsigned idx = msg - MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN;
55 
56        switch (idx)
57        {
58           case RARCH_FAST_FORWARD_KEY:
59              snprintf(s, len,
60                    "Bascule entre l'avance rapide et \n"
61                    "la vitesse normale."
62                    );
63              break;
64           case RARCH_FAST_FORWARD_HOLD_KEY:
65              snprintf(s, len,
66                    "Maintenir pour l'avance rapide. \n"
67                    " \n"
68                    "Relâcher la touche désactive l'avance rapide."
69                    );
70              break;
71           case RARCH_SLOWMOTION_KEY:
72              snprintf(s, len,
73                    "Active/désactive le ralenti.");
74              break;
75           case RARCH_SLOWMOTION_HOLD_KEY:
76              snprintf(s, len,
77                    "Maintenir pour le ralenti.");
78              break;
79           case RARCH_PAUSE_TOGGLE:
80              snprintf(s, len,
81                    "Activer/désactiver la mise en pause.");
82              break;
83           case RARCH_FRAMEADVANCE:
84              snprintf(s, len,
85                    "Avance image par image lorsque le contenu est en pause.");
86              break;
87           case RARCH_SHADER_NEXT:
88              snprintf(s, len,
89                    "Applique le prochain shader dans le dossier.");
90              break;
91           case RARCH_SHADER_PREV:
92              snprintf(s, len,
93                    "Applique le shader précédent dans le dossier.");
94              break;
95           case RARCH_CHEAT_INDEX_PLUS:
96           case RARCH_CHEAT_INDEX_MINUS:
97           case RARCH_CHEAT_TOGGLE:
98              snprintf(s, len,
99                    "Cheats.");
100              break;
101           case RARCH_RESET:
102              snprintf(s, len,
103                    "Réinitialiser le contenu.");
104              break;
105           case RARCH_SCREENSHOT:
106              snprintf(s, len,
107                    "Prendre une capture d'écran.");
108              break;
109           case RARCH_MUTE:
110              snprintf(s, len,
111                    "Désactiver/réactiver le son.");
112              break;
113           case RARCH_OSK:
114              snprintf(s, len,
115                    "Afficher/masquer le clavier à l'écran.");
116              break;
117           case RARCH_FPS_TOGGLE:
118              snprintf(s, len,
119                    "Afficher/masquer le compteur d'images/s.");
120              break;
121           case RARCH_SEND_DEBUG_INFO:
122              snprintf(s, len,
123                    "Envoie des informations de diagnostic sur votre appareil et la configuration de RetroArch à nos serveurs pour analyse.");
124              break;
125           case RARCH_NETPLAY_HOST_TOGGLE:
126              snprintf(s, len,
127                    "Activer/désactiver l'hébergement du jeu en réseau.");
128              break;
129           case RARCH_NETPLAY_GAME_WATCH:
130              snprintf(s, len,
131                    "Bascule entre le mode jeu/spectateur du jeu en réseau.");
132              break;
133           case RARCH_ENABLE_HOTKEY:
134              snprintf(s, len,
135                    "Activer d'autres touches de raccourci. \n"
136                    " \n"
137                    "Si ce raccourci est assigné à soit au clavier, \n"
138                    "à une touche ou à un axe de manette, toutes\n"
139                    "les autres touches de raccourci ne seront \n"
140                    "activées que si celle-ci est maintenue en même temps. \n"
141                    " \n"
142                    "Alternativement, toutes les touches de raccourci \n"
143                    "du clavier pourrait être désactivé par l'utilisateur.");
144              break;
145           case RARCH_VOLUME_UP:
146              snprintf(s, len,
147                    "Augmente le volume audio.");
148              break;
149           case RARCH_VOLUME_DOWN:
150              snprintf(s, len,
151                    "Diminue le volume audio.");
152              break;
153           case RARCH_OVERLAY_NEXT:
154              snprintf(s, len,
155                    "Passe à la surimpression suivante. Retourne au début.");
156              break;
157           case RARCH_DISK_EJECT_TOGGLE:
158              snprintf(s, len,
159                    "Bascule l'éjection pour les disques. \n"
160                    " \n"
161                    "Utilisé pour le contenu multi-disque. ");
162              break;
163           case RARCH_DISK_NEXT:
164           case RARCH_DISK_PREV:
165              snprintf(s, len,
166                    "Parcourt les images de disque. Utiliser après l'éjection. \n"
167                    " \n"
168                    "Terminez en basculant l'éjection.");
169              break;
170           case RARCH_GRAB_MOUSE_TOGGLE:
171              snprintf(s, len,
172                    "Capture/relâche la souris. \n"
173                    " \n"
174                    "Lorsque la souris est capturée, RetroArch la masque \n"
175                    "et conserve le pointeur de la souris à l'intérieur \n"
176                    "de la fenêtre pour permettre au contrôle \n"
177                    "relatif à la souris de mieux fonctionner.");
178              break;
179           case RARCH_GAME_FOCUS_TOGGLE:
180              snprintf(s, len,
181                    "Jeu au premier-plan/en arrière-plan.\n"
182                    " \n"
183                    "Quand un jeu est au premier plan, RetroArch désactive les raccourcis \n"
184                    "et garde/ramène le pointeur de la souris dans la fenêtre.");
185              break;
186           case RARCH_MENU_TOGGLE:
187              snprintf(s, len, "Affiche/masque le menu.");
188              break;
189           case RARCH_LOAD_STATE_KEY:
190              snprintf(s, len,
191                    "Charge une sauvegarde instantanée.");
192              break;
193           case RARCH_FULLSCREEN_TOGGLE_KEY:
194              snprintf(s, len,
195                    "Active/désactive le mode plein écran.");
196              break;
197           case RARCH_QUIT_KEY:
198              snprintf(s, len,
199                    "Touche pour quitter RetroArch proprement. \n"
200                    " \n"
201                    "Le fermer de manière dure (SIGKILL, etc.) quittera \n"
202                    "RetroArch sans sauvegarder la RAM, etc."
203 #ifdef __unix__
204                    "\nSur les Unix-likes, SIGINT/SIGTERM permet une \n"
205                    "désinitialisation propre."
206 #endif
207                    "");
208              break;
209           case RARCH_STATE_SLOT_PLUS:
210           case RARCH_STATE_SLOT_MINUS:
211              snprintf(s, len,
212                    "Emplacements de sauvegardes instantanées. \n"
213                    " \n"
214                    "Lorsque l'emplacement est défini sur 0, le nom des sauvegardes instantanées \n"
215                    "est *.state (ou ce qui est défini en ligne de commande). \n"
216                    " \n"
217                    "Lorsque l'emplacement n'est pas défini sur 0, l'emplacement sera \n"
218                    "<emplacement><d>, où <d> est le numéro d'emplacement.");
219              break;
220           case RARCH_SAVE_STATE_KEY:
221              snprintf(s, len,
222                    "Effectue une sauvegarde instantanée.");
223              break;
224           case RARCH_REWIND:
225              snprintf(s, len,
226                    "Maintenez la touche pour rembobiner. \n"
227                    " \n"
228                    "Le rembobinage doit être activé.");
229              break;
230           case RARCH_BSV_RECORD_TOGGLE:
231              snprintf(s, len,
232                    "Active/désactive l'enregistrement.");
233              break;
234           default:
235              if (string_is_empty(s))
236                 strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
237              break;
238        }
239 
240        return 0;
241     }
242 
243     switch (msg)
244     {
245         case MENU_ENUM_LABEL_ACCOUNTS_RETRO_ACHIEVEMENTS:
246             snprintf(s, len, "Informations de connexion pour \n"
247                     "votre compte RetroSuccès (RetroAchievements). \n"
248                     " \n"
249                     "Visitez retroachievements.org et créez \n"
250                     "un compte gratuit. \n"
251                     " \n"
252                     "Une fois que vous avez terminé votre inscription, \n"
253                     "vous devrez entrer votre nom d'utilisateur \n"
254                     "et votre mot de passe dans RetroArch.");
255             break;
256         case MENU_ENUM_LABEL_CHEEVOS_USERNAME:
257             snprintf(s, len, "Nom d'utilisateur de votre compte RetroSuccès (RetroAchievements).");
258             break;
259         case MENU_ENUM_LABEL_CHEEVOS_PASSWORD:
260             snprintf(s, len, "Mot de passe de votre compte RetroSuccès (RetroAchievements).");
261             break;
262         case MENU_ENUM_LABEL_USER_LANGUAGE:
263             snprintf(s, len, "Localise le menu et tous les messages \n"
264                     "à l'écran en fonction de la langue sélectionnée \n"
265                     "ici. \n"
266                     " \n"
267                     "Nécessite un redémarrage pour que les modifications \n"
268                     "prennent effet. \n"
269                     " \n"
270                     "REMARQUE : toutes les langues ne sont peut-être pas  \n"
271                     "actuellement implémentées. \n"
272                     " \n"
273                     "Dans le cas où une langue n'est pas implémentée, \n"
274                     "l'anglais sera utilisé.");
275             break;
276         case MENU_ENUM_LABEL_VIDEO_FONT_PATH:
277             snprintf(s, len, "Change la police utilisée \n"
278                     "pour le texte à l'écran.");
279             break;
280         case MENU_ENUM_LABEL_GAME_SPECIFIC_OPTIONS:
281             snprintf(s, len, "Charger automatiquement les options de cœur spécifiques au contenu.");
282             break;
283         case MENU_ENUM_LABEL_AUTO_OVERRIDES_ENABLE:
284             snprintf(s, len, "Charger automatiquement les configurations de remplacement.");
285             break;
286         case MENU_ENUM_LABEL_AUTO_REMAPS_ENABLE:
287             snprintf(s, len, "Charger automatiquement les fichiers de remappage d'entrées.");
288             break;
289         case MENU_ENUM_LABEL_SORT_SAVESTATES_ENABLE:
290             snprintf(s, len, "Classe les sauvegardes instantanées dans des dossiers \n"
291                     "nommés d'après le cœur libretro utilisé.");
292             break;
293         case MENU_ENUM_LABEL_SORT_SAVEFILES_ENABLE:
294             snprintf(s, len, "Classe les sauvegardes dans des dossiers \n"
295                     "nommés d'après le cœur libretro utilisé.");
296             break;
297         case MENU_ENUM_LABEL_RESUME_CONTENT:
298             snprintf(s, len, "Quitte le menu et retourne \n"
299                     "au contenu.");
300             break;
301         case MENU_ENUM_LABEL_RESTART_CONTENT:
302             snprintf(s, len, "Redémarre le contenu depuis le début.");
303             break;
304         case MENU_ENUM_LABEL_CLOSE_CONTENT:
305             snprintf(s, len, "Ferme le contenu et le décharge de \n"
306                     "la mémoire.");
307             break;
308         case MENU_ENUM_LABEL_UNDO_LOAD_STATE:
309             snprintf(s, len, "Si une sauvegarde instantanée a été chargée, \n"
310                     "le contenu reviendra à l'état avant le chargement.");
311             break;
312         case MENU_ENUM_LABEL_UNDO_SAVE_STATE:
313             snprintf(s, len, "Si une sauvegarde instantanée a été écrasée, \n"
314                     "elle sera rétablie à l'état de sauvegarde précédent.");
315             break;
316         case MENU_ENUM_LABEL_TAKE_SCREENSHOT:
317             snprintf(s, len, "Crée une capture d'écran. \n"
318                     " \n"
319                     "La capture d'écran sera sauvegardée \n"
320                     "dans le dossier assigné aux captures d'écran.");
321             break;
322         case MENU_ENUM_LABEL_ADD_TO_FAVORITES:
323             snprintf(s, len, "Ajoute l'entrée à vos favoris.");
324             break;
325         case MENU_ENUM_LABEL_RUN:
326             snprintf(s, len, "Démarre le contenu.");
327             break;
328         case MENU_ENUM_LABEL_INFORMATION:
329             snprintf(s, len, "Affiche des informations de métadonnées supplémentaires \n"
330                     "pour le contenu.");
331             break;
332         case MENU_ENUM_LABEL_FILE_BROWSER_CONFIG:
333             snprintf(s, len, "Fichier de configuration.");
334             break;
335         case MENU_ENUM_LABEL_FILE_BROWSER_COMPRESSED_ARCHIVE:
336             snprintf(s, len, "Archive compressée.");
337             break;
338         case MENU_ENUM_LABEL_FILE_BROWSER_RECORD_CONFIG:
339             snprintf(s, len, "Fichier de configuration d'enregistrement.");
340             break;
341         case MENU_ENUM_LABEL_FILE_BROWSER_CURSOR:
342             snprintf(s, len, "Fichier de pointeur de base de données.");
343             break;
344         case MENU_ENUM_LABEL_FILE_CONFIG:
345             snprintf(s, len, "Fichier de configuration.");
346             break;
347         case MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY:
348             snprintf(s, len,
349                      "Sélectionner cette option pour analyser le dossier actuel \n"
350                              "pour y rechercher du contenu.");
351             break;
352         case MENU_ENUM_LABEL_USE_THIS_DIRECTORY:
353             snprintf(s, len,
354                      "Sélectionner ce dossier pour l'utiliser'.");
355             break;
356         case MENU_ENUM_LABEL_CONTENT_DATABASE_DIRECTORY:
357             snprintf(s, len,
358                      "Dossier de base de données de contenu. \n"
359                              " \n"
360                              "Emplacement du dossier de la base de données \n"
361                              "de contenu.");
362             break;
363         case MENU_ENUM_LABEL_THUMBNAILS_DIRECTORY:
364             snprintf(s, len,
365                      "Dossier des miniatures. \n"
366                              " \n"
367                              "Pour stocker des fichiers de miniatures.");
368             break;
369         case MENU_ENUM_LABEL_LIBRETRO_INFO_PATH:
370             snprintf(s, len,
371                      "Dossier des informations de cœurs. \n"
372                              " \n"
373                              "Un dossier où seront recherchées \n"
374                              "les informations de cœurs de libretro.");
375             break;
376         case MENU_ENUM_LABEL_PLAYLIST_DIRECTORY:
377             snprintf(s, len,
378                      "Dossier des listes de lecture. \n"
379                              " \n"
380                              "Enregistre tous les fichiers de listes de lecture \n"
381                              "dans ce dossier.");
382             break;
383         case MENU_ENUM_LABEL_DUMMY_ON_CORE_SHUTDOWN:
384             snprintf(s, len,
385                      "Certains cœurs peuvent avoir \n"
386                              "une fonctionnalité d'extinction. \n"
387                              " \n"
388                              "Si cette option est laissée \n"
389                              "désactivée, la sélection de \n"
390                              "l'arrêt du cœur déclenchera \n"
391                              "l'arrêt de RetroArch. \n"
392                              " \n"
393                              "Activer cette option chargera \n"
394                              "un cœur factice afin de retourner \n"
395                              "dans le menu et que RetroArch \n"
396                              "s'arrête pas.");
397             break;
398         case MENU_ENUM_LABEL_CHECK_FOR_MISSING_FIRMWARE:
399             snprintf(s, len,
400                      "Certains cœurs peuvent nécessiter des fichiers \n"
401                              "de firmware ou de BIOS. \n"
402                              " \n"
403                              "Si cette option est désactivée, \n"
404                              "il essaiera de se charger même \n"
405                              "si ce firmware est manquant. \n");
406             break;
407         case MENU_ENUM_LABEL_PARENT_DIRECTORY:
408             snprintf(s, len,
409                      "Revenir au dossier parent.");
410             break;
411         case MENU_ENUM_LABEL_FILE_BROWSER_OPEN_UWP_PERMISSIONS:
412             snprintf(s, len,
413                      "Ouvre les paramètres de permissions de Windows \n"
414                      "pour activer la fonctionnalité broadFileSystemAccess.");
415             break;
416         case MENU_ENUM_LABEL_FILE_BROWSER_OPEN_PICKER:
417            snprintf(s, len,
418                      "Ouvre le sélecteur de fichiers du système \n"
419                      "pour accéder à des dossiers supplémentaires.");
420            break;
421         case MENU_ENUM_LABEL_FILE_BROWSER_SHADER_PRESET:
422             snprintf(s, len,
423                      "Fichier de préréglages de shader.");
424             break;
425         case MENU_ENUM_LABEL_FILE_BROWSER_SHADER:
426             snprintf(s, len,
427                      "Fichier de shader.");
428             break;
429         case MENU_ENUM_LABEL_FILE_BROWSER_REMAP:
430             snprintf(s, len,
431                      "Fichier de remappage des touches.");
432             break;
433         case MENU_ENUM_LABEL_FILE_BROWSER_CHEAT:
434             snprintf(s, len,
435                      "Fichier de cheats.");
436             break;
437         case MENU_ENUM_LABEL_FILE_BROWSER_OVERLAY:
438             snprintf(s, len,
439                      "Fichier de surimpression.");
440             break;
441         case MENU_ENUM_LABEL_FILE_BROWSER_RDB:
442             snprintf(s, len,
443                      "Fichier de base de donnée.");
444             break;
445         case MENU_ENUM_LABEL_FILE_BROWSER_FONT:
446             snprintf(s, len,
447                      "Fichier de police TrueType.");
448             break;
449         case MENU_ENUM_LABEL_FILE_BROWSER_PLAIN_FILE:
450             snprintf(s, len,
451                      "Fichier simple.");
452             break;
453         case MENU_ENUM_LABEL_FILE_BROWSER_MOVIE_OPEN:
454             snprintf(s, len,
455                      "Vidéo. \n"
456                              " \n"
457                              "Sélectionnez-le pour ouvrir ce fichier avec \n"
458                              "le lecteur vidéo.");
459             break;
460         case MENU_ENUM_LABEL_FILE_BROWSER_MUSIC_OPEN:
461             snprintf(s, len,
462                      "Musique. \n"
463                              " \n"
464                              "Sélectionnez-le pour ouvrir ce fichier avec \n"
465                              "le lecteur de musique.");
466             break;
467         case MENU_ENUM_LABEL_FILE_BROWSER_IMAGE:
468             snprintf(s, len,
469                      "Fichier d'image.");
470             break;
471         case MENU_ENUM_LABEL_FILE_BROWSER_IMAGE_OPEN_WITH_VIEWER:
472             snprintf(s, len,
473                      "Image. \n"
474                              " \n"
475                              "Sélectionnez-le pour ouvrir ce fichier avec \n"
476                              "la visionneuse d'images.");
477             break;
478         case MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION:
479             snprintf(s, len,
480                      "Cœur libretro. \n"
481                              " \n"
482                              "Sélectionner ceci associera ce cœur \n"
483                              "au jeu.");
484             break;
485         case MENU_ENUM_LABEL_FILE_BROWSER_CORE:
486             snprintf(s, len,
487                      "Cœur libretro. \n"
488                              " \n"
489                              "Sélectionnez ce fichier pour que RetroArch charge ce cœur.");
490             break;
491         case MENU_ENUM_LABEL_FILE_BROWSER_DIRECTORY:
492             snprintf(s, len,
493                      "Dossier. \n"
494                              " \n"
495                              "Sélectionnez-le pour ouvrir ce dossier.");
496             break;
497         case MENU_ENUM_LABEL_CACHE_DIRECTORY:
498             snprintf(s, len,
499                      "Dossier de cache. \n"
500                              " \n"
501                              "Le contenu décompressé par RetroArch \n"
502                              "sera extrait temporairement dans ce dossier.");
503             break;
504         case MENU_ENUM_LABEL_HISTORY_LIST_ENABLE:
505             snprintf(s, len,
506                      "Si activé, le contenu chargé dans RetroArch \n"
507                              "sera automatiquement ajouté \n"
508                              "à la liste de l'historique récent.");
509             break;
510         case MENU_ENUM_LABEL_RGUI_BROWSER_DIRECTORY:
511             snprintf(s, len,
512                      "Dossier du navigateur de fichiers. \n"
513                              " \n"
514                              "Définit le dossier de départ du navigateur de fichiers du menu.");
515             break;
516         case MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR:
517             snprintf(s, len,
518                      "Influence la façon dont la détection\n"
519                              "des touches pressées est effectuée dans RetroArch.\n"
520                              "\n"
521                              "Précoce - La détection est effectuée\n"
522                              "avant le traitement de l'image.\n"
523                              "Normale - La détection est effectuée\n"
524                              "lorsque son traîtement est demandé.\n"
525                              "Tardive - La détection est effectuée\n"
526                              "à la première requête d'entrées par image.\n"
527                              "\n"
528                              "La régler sur 'Précoce' ou 'Tardive' peut\n"
529                              "entraîner une réduction de la latence,\n"
530                              "en fonction de votre configuration.\n\n"
531                              "Sera ignorée lors du jeu en réseau."
532             );
533             break;
534         case MENU_ENUM_LABEL_INPUT_DESCRIPTOR_HIDE_UNBOUND:
535             snprintf(s, len,
536                      "Masquer les descripteurs d'appellation des touches \n"
537                              "non définis par le cœur.");
538             break;
539         case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE:
540             snprintf(s, len,
541                      "Fréquence de rafraîchissement de votre écran. \n"
542                              "Utilisée pour calculer un débit audio approprié.");
543             break;
544         case MENU_ENUM_LABEL_VIDEO_FORCE_SRGB_DISABLE:
545             snprintf(s, len,
546                      "Force la désactivation de la prise en charge du mode sRGB FBO. \n"
547                              "Certains pilotes OpenGL d'Intel sous Windows rencontrent \n"
548                              "des problèmes vidéo avec le mode sRGB FBO lorsqu'il est activé.");
549             break;
550         case MENU_ENUM_LABEL_AUDIO_ENABLE:
551             snprintf(s, len,
552                      "Active la sortie audio.");
553             break;
554         case MENU_ENUM_LABEL_AUDIO_SYNC:
555             snprintf(s, len,
556                      "Synchronise l'audio (recommandé).");
557             break;
558         case MENU_ENUM_LABEL_AUDIO_LATENCY:
559             snprintf(s, len,
560                      "Latence audio souhaitée en millisecondes. \n"
561                              "Peut ne pas être honoré si le pilote audio \n"
562                              "ne peut pas fournir une latence donnée.");
563             break;
564         case MENU_ENUM_LABEL_VIDEO_ALLOW_ROTATE:
565             snprintf(s, len,
566                      "Autorise les cœurs à définir la rotation. Si cette option est désactivée, \n"
567                              "les requêtes de rotation sont honorées mais ignorées.\n\n"
568                              "Utilisé pour les configurations dans lesquelles on fait pivoter \n"
569                              "manuellement l'écran.");
570             break;
571         case MENU_ENUM_LABEL_INPUT_DESCRIPTOR_LABEL_SHOW:
572             snprintf(s, len,
573                      "Affiche les descripteurs d'appellation des touches \n"
574                              "définis par le cœur plutôt que ceux par défaut.");
575             break;
576         case MENU_ENUM_LABEL_CONTENT_HISTORY_SIZE:
577             snprintf(s, len,
578                      "Nombre d'entrées qui seront conservées dans \n"
579                              "la liste de lecture d'historique du contenu.");
580             break;
581         case MENU_ENUM_LABEL_VIDEO_WINDOWED_FULLSCREEN:
582             snprintf(s, len,
583                      "Utiliser le mode fenêtré ou non en mode \n"
584                              "plein écran.");
585             break;
586         case MENU_ENUM_LABEL_VIDEO_FONT_SIZE:
587             snprintf(s, len,
588                      "Taille de police pour les messages à l'écran.");
589             break;
590         case MENU_ENUM_LABEL_SAVESTATE_AUTO_INDEX:
591             snprintf(s, len,
592                      "Incrémente automatiquement l'emplacement de chaque sauvegarde, \n"
593                              "générant plusieurs fichiers de sauvegarde instantanée. \n"
594                              "Lorsque le contenu est chargé, l'emplacement de sauvegarde instantanée \n"
595                              "sera positionné sur la valeur existante la plus élevée (dernière sauvegarde instantanée).");
596             break;
597         case MENU_ENUM_LABEL_FPS_SHOW:
598             snprintf(s, len,
599                      "Permet d'afficher le nombre d'images par seconde \n"
600                              "actuelles.");
601             break;
602         case MENU_ENUM_LABEL_MEMORY_SHOW:
603             snprintf(s, len,
604                      "Inclut l'affichage de l'utilisation actuelle/du total \n"
605                              "de la mémoire utilisée avec les images par seconde/images.");
606             break;
607         case MENU_ENUM_LABEL_VIDEO_FONT_ENABLE:
608             snprintf(s, len,
609                      "Afficher et/ou masquer les messages à l'écran.");
610             break;
611         case MENU_ENUM_LABEL_VIDEO_MESSAGE_POS_X:
612         case MENU_ENUM_LABEL_VIDEO_MESSAGE_POS_Y:
613             snprintf(s, len,
614                      "Décalage pour l'emplacement où les messages seront placés \n"
615                              "à l'écran. Les valeurs sont dans la plage [0.0, 1.0].");
616             break;
617         case MENU_ENUM_LABEL_INPUT_OVERLAY_ENABLE:
618             snprintf(s, len,
619                      "Active ou désactive la surimpression actuelle.");
620             break;
621         case MENU_ENUM_LABEL_INPUT_OVERLAY_HIDE_IN_MENU:
622             snprintf(s, len,
623                      "Empêche la surimpression actuelle d'apparaître \n"
624                              "dans le menu.");
625             break;
626         case MENU_ENUM_LABEL_INPUT_OVERLAY_SHOW_PHYSICAL_INPUTS:
627             snprintf(s, len,
628                       "Affiche les touches clavier/manette pressées \n"
629                             "sur la surimpression à l'écran.");
630             break;
631         case MENU_ENUM_LABEL_INPUT_OVERLAY_SHOW_PHYSICAL_INPUTS_PORT:
632             snprintf(s, len,
633                       "Sélectionne le port d'écoute des touches pressées \n"
634                             "affichées sur la surimpression à l'écran.");
635             break;
636         case MENU_ENUM_LABEL_OVERLAY_PRESET:
637             snprintf(s, len,
638                      "Emplacement de la surimpression.");
639             break;
640         case MENU_ENUM_LABEL_OVERLAY_OPACITY:
641             snprintf(s, len,
642                      "Opacité de la surimpression.");
643         case MENU_ENUM_LABEL_VIDEO_LAYOUT_ENABLE:
644             snprintf(s, len,
645                       "Active ou désactive la disposition d'affichage actuelle.");
646             break;
647         case MENU_ENUM_LABEL_VIDEO_LAYOUT_PATH:
648             snprintf(s, len,
649                       "Emplacement de la disposition d'affichage.");
650             break;
651         case MENU_ENUM_LABEL_VIDEO_LAYOUT_SELECTED_VIEW:
652             snprintf(s, len,
653                       "Les dispositions d'affichage peuvent contenir plusieurs vues. \n"
654                       "Sélectionne une vue.");
655             break;
656         case MENU_ENUM_LABEL_INPUT_BIND_TIMEOUT:
657             snprintf(s, len,
658                      "Délai pour l'assignation (en secondes). \n"
659                              "Nombre de secondes à attendre avant de passer \n"
660                              "à l'assignation de touche suivante.");
661             break;
662         case MENU_ENUM_LABEL_INPUT_BIND_HOLD:
663             snprintf(s, len,
664                "Temps de maintien pour l'assignation (en secondes). \n"
665                "Nombre de secondes à maintenir une touche pour l'assigner.");
666             break;
667         case MENU_ENUM_LABEL_OVERLAY_SCALE:
668             snprintf(s, len,
669                      "Échelle de la surimpression.");
670             break;
671         case MENU_ENUM_LABEL_AUDIO_OUTPUT_RATE:
672             snprintf(s, len,
673                      "Fréquence de sortie audio.");
674             break;
675         case MENU_ENUM_LABEL_VIDEO_SHARED_CONTEXT:
676             snprintf(s, len,
677                      "Activez cette option si les cœurs bénéficiant de l'accélération graphique \n"
678                              "devraient bénéficier de leur propre contexte privé. \n"
679                              "Évite d'avoir à supposer des changements \n"
680                              "d'état matériel entre deux images."
681             );
682             break;
683         case MENU_ENUM_LABEL_CORE_LIST:
684             snprintf(s, len,
685                      "Charger un cœur. \n"
686                              " \n"
687                              "Recherchez une implémentation de cœur libretro. \n"
688                              "Le dossier de démarrage du navigateur dépend \n"
689                              "de votre dossier d'emplacement des cœurs. S'il \n"
690                              "n'est pas défini, il commencera à la racine. \n"
691                              " \n"
692                              "S'il est défini, le menu l'utilisera comme \n"
693                              "dossier principal. Si le dossier principal \n"
694                              "est un chemin complet, il démarrera dans \n"
695                              "le dossier où se trouve le fichier.");
696             break;
697         case MENU_ENUM_LABEL_VALUE_MENU_ENUM_CONTROLS_PROLOG:
698             snprintf(s, len,
699                      "Vous pouvez utiliser les contrôles suivants ci-dessous \n"
700                              "sur votre manette de jeu ou votre clavier\n"
701                              "pour contrôler le menu: \n"
702                              " \n"
703             );
704             break;
705         case MENU_ENUM_LABEL_WELCOME_TO_RETROARCH:
706             snprintf(s, len,
707                      "Bienvenue dans RetroArch\n"
708             );
709             break;
710         case MENU_ENUM_LABEL_VALUE_HELP_AUDIO_VIDEO_TROUBLESHOOTING_DESC: {
711             /* Work around C89 limitations */
712             char u[501];
713             const char *t =
714                     "RetroArch repose sur une forme unique\n"
715                             "de synchronisation audio/vidéo dans laquelle il doit\n"
716                             "être calibré par rapport à la fréquence de rafraîchissement\n"
717                             "de votre affichage pour des performances optimales.\n"
718                             " \n"
719                             "Si vous rencontrez des craquements dans le son ou\n"
720                             "une déchirure vidéo, cela signifie généralement que\n"
721                             "vous devez calibrer les paramètres. Quelques choix ci-dessous :\n"
722                             " \n";
723             snprintf(u, sizeof(u), /* can't inline this due to the printf arguments */
724                      "a) Allez dans '%s' -> '%s', et activez\n"
725                              "'Vidéo sur plusieurs fils d'exécution'. La fréquence\n"
726                              "de rafraîchissement importera peu dans ce mode,\n"
727                              "les images/s seront plus élevées, mais la vidéo\n"
728                              "sera peut-être moins fluide.\n"
729                              "b) Allez dans '%s' -> '%s', et regardez la\n"
730                              "'%s'. Laissez-la tourner pendant\n"
731                              "2048 images, puis pressez 'Confirmer'.",
732                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SETTINGS),
733                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_SETTINGS),
734                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SETTINGS),
735                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_SETTINGS),
736                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_REFRESH_RATE_AUTO));
737             strlcpy(s, t, len);
738             strlcat(s, u, len);
739         }
740             break;
741         case MENU_ENUM_LABEL_VALUE_HELP_SCANNING_CONTENT_DESC:
742             snprintf(s, len,
743                      "Pour analyser du contenu, allez dans '%s' et\n"
744                              "sélectionnez soit '%s', soit '%s'.\n"
745                              "\n"
746                              "Les fichiers seront comparés aux entrées de la\n"
747                              "base de données. S'il y a une correspondance, cela\n"
748                              "ajoutera une entrée à une liste de lecture.\n"
749                              "\n"
750                              "Vous pouvez alors accéder facilement à ce contenu\n"
751                              "en allant dans '%s' -> '%s'\n"
752                              "au lieu de devoir passer par le navigateur de fichiers\n"
753                              "à chaque fois.\n"
754                              "\n"
755                              "REMARQUE : le contenu de certains cœurs peut toujours\n"
756                              "ne pas être analysable.",
757                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ADD_CONTENT_LIST),
758                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_DIRECTORY),
759                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_FILE),
760                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST),
761                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLISTS_TAB)
762             );
763             break;
764         case MENU_ENUM_LABEL_VALUE_EXTRACTING_PLEASE_WAIT:
765             snprintf(s, len,
766                      "Bienvenue dans RetroArch\n"
767                              "\n"
768                              "Extraction des assets, veuillez patienter.\n"
769                              "Cela peut prendre un certain temps...\n"
770             );
771             break;
772         case MENU_ENUM_LABEL_INPUT_DRIVER:
773             {
774                const char *lbl = settings ? settings->arrays.input_driver : NULL;
775 
776                if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_INPUT_DRIVER_UDEV)))
777                      snprintf(s, len,
778                            "Pilote d'entrées udev.\n"
779                            "\n"
780                            "Utilise la récente API de manettes evdev pour leur\n"
781                            "prise en charge. Il prend en charge le branchement\n"
782                            "à chaud et le retour de force.\n"
783                            "\n"
784                            "Il lit les événements evdev pour la prise en charge\n"
785                            "du clavier. Il prend également en charge le rappel au clavier,\n"
786                            "les souris et les pavés tactiles.\n"
787                            "\n"
788                            "Par défaut, dans la plupart des distributions, les nœuds /dev/input\n"
789                            "sont uniquement root (mode 600). Vous pouvez configurer une règle udev\n"
790                            "qui les rend accessibles aux utilisateurs non root."
791                            );
792                else if (string_is_equal(lbl,
793                         msg_hash_to_str(MENU_ENUM_LABEL_INPUT_DRIVER_LINUXRAW)))
794                      snprintf(s, len,
795                            "Pilote d'entrées linuxraw. \n"
796                            " \n"
797                            "Ce pilote nécessite un téléscripteur actif. Les événements \n"
798                            "de clavier sont lus directement à partir du téléscripteur, \n"
799                            "ce qui le rend plus simple, mais pas aussi flexible que udev. \n"
800                            "Les souris, etc, ne sont pas supportées du tout. \n"
801                            " \n"
802                            "Ce pilote utilise l'ancienne API de manettes \n"
803                            "(/dev/input/js*).");
804                else
805                      snprintf(s, len,
806                            "Pilote d'entrées.\n"
807                            " \n"
808                            "Selon le pilote vidéo sélectionné, l'utilisation \n"
809                            "d'un pilote d'entrées différent peut être forcée.");
810             }
811             break;
812         case MENU_ENUM_LABEL_LOAD_CONTENT_LIST:
813             snprintf(s, len,
814                      "Charger du contenu. \n"
815                              "Parcourir le contenu. \n"
816                              " \n"
817                              "Pour charger du contenu, vous avez besoin \n"
818                              "d'un 'Cœur' et d'un fichier de contenu. \n"
819                              " \n"
820                              "Pour choisir où le menu démarre \n"
821                              "le navigateur de contenu, définissez  \n"
822                              "le dossier 'Navigateur de fichiers'. \n"
823                              "Si non défini, il démarrera à la racine. \n"
824                              " \n"
825                              "Le navigateur filtrera les extensions \n"
826                              "pour le dernier cœur chargé avec l'option \n"
827                              "'Charger un cœur', et utilisera ce cœur \n"
828                              "lorsque du contenu sera chargé."
829             );
830             break;
831         case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY:
832             snprintf(s, len,
833                      "Charger du contenu depuis l'historique. \n"
834                              " \n"
835                              "Lorsque le contenu est chargé, les combinaisons de contenu \n"
836                              "et de cœur libretro sont enregistrées dans l'historique. \n"
837                              " \n"
838                              "L'historique est enregistré dans un fichier dans le même \n"
839                              "dossier que le fichier de configuration de RetroArch. Si \n"
840                              "aucun fichier de configuration n'a été chargé au démarrage, \n"
841                              "l'historique ne sera ni sauvegardé ni chargé et n'existera \n"
842                              "pas dans le menu principal."
843             );
844             break;
845         case MENU_ENUM_LABEL_VIDEO_DRIVER:
846             {
847                const char *video_driver = settings->arrays.video_driver;
848                snprintf(s, len,
849                      "Pilote vidéo actuel.");
850 
851                if (string_is_equal(video_driver, "gl"))
852                {
853                   snprintf(s, len,
854                         "Pilote vidéo OpenGL. \n"
855                         " \n"
856                         "Ce pilote permet d’utiliser les cœurs  \n"
857                         "libretro GL en plus des implémentations \n"
858                         "en mode logiciel.\n"
859                         " \n"
860                         "Les performances pour les implémentations \n"
861                         "logicielles et les cœurs libretro GL \n"
862                         "dépendent du pilote GL sous-jacent de votre \n"
863                         "carte graphique.");
864                }
865                else if (string_is_equal(video_driver, "sdl2"))
866                {
867                   snprintf(s, len,
868                         "Pilote vidéo SDL 2.\n"
869                         " \n"
870                         "Ce pilote vidéo SDL 2 utilise le rendu en mode \n"
871                         "logiciel.\n"
872                         " \n"
873                         "Les performances pour les implémentations \n"
874                         "de cœurs libretro en mode logiciel dépendent \n"
875                         "de l’implémentation SDL pour votre plateforme.");
876                }
877                else if (string_is_equal(video_driver, "sdl1"))
878                {
879                   snprintf(s, len,
880                         "Pilote vidéo SDL.\n"
881                         " \n"
882                         "Ce pilote vidéo SDL 1.2 utilise le rendu en mode \n"
883                         "logiciel.\n"
884                         " \n"
885                         "Ses performances sont considérées comme sous-optimales. \n"
886                         "Pensez à ne l'utiliser qu'en dernier recours.");
887                }
888                else if (string_is_equal(video_driver, "d3d"))
889                {
890                   snprintf(s, len,
891                         "Pilote vidéo Direct3D. \n"
892                         " \n"
893                         "Les performances des cœurs en mode logiciel \n"
894                         "dépendent du pilote D3D sous-jacent de votre \n"
895                         "carte graphique.");
896                }
897                else if (string_is_equal(video_driver, "exynos"))
898                {
899                   snprintf(s, len,
900                         "Pilote vidéo Exynos-G2D. \n"
901                         " \n"
902                         "Pilote vidéo Exynos de bas niveau. Utilise \n"
903                         "le bloc G2D dans le SoC Samsung Exynos \n"
904                         "pour les opérations blit. \n"
905                         " \n"
906                         "Les performances pour les cœurs en mode \n"
907                         "logiciel devraient être optimales.");
908                }
909                else if (string_is_equal(video_driver, "drm"))
910                {
911                   snprintf(s, len,
912                         "Pilote vidéo DRM simple. \n"
913                         " \n"
914                         "Pilote vidéo de bas niveau utilisant libdrm pour \n"
915                         "la mise à l'échelle matérielle en utilisant des \n"
916                         "surimpressions accélérées par le processeur graphique.");
917                }
918                else if (string_is_equal(video_driver, "sunxi"))
919                {
920                   snprintf(s, len,
921                         "Pilote vidéo Sunxi-G2D. \n"
922                         " \n"
923                         "Pilote vidéo Sunxi de bas niveau. \n"
924                         "Utilise le bloc G2D dans les SoC Allwinner.");
925                }
926             }
927             break;
928         case MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN:
929             snprintf(s, len,
930                      "Module audio DSP.\n"
931                              "Traite l'audio avant de l'envoyer \n"
932                              "au pilote."
933             );
934             break;
935         case MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER:
936             {
937                const char *lbl = settings ? settings->arrays.audio_resampler : NULL;
938 
939                if (string_is_equal(lbl, msg_hash_to_str(
940                            MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER_SINC)))
941                   strlcpy(s,
942                         "Implémentation SINC fenêtrée.", len);
943                else if (string_is_equal(lbl, msg_hash_to_str(
944                            MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER_CC)))
945                   strlcpy(s,
946                         "Implémentation de cosinus compliqués.", len);
947                else if (string_is_empty(s))
948                   strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
949             }
950             break;
951 
952 		case MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION: snprintf(s, len, "CRT défini");
953 			break;
954 
955 		case MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION_SUPER: snprintf(s, len, "CRT SUPER défini");
956 			break;
957 
958         case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET:
959             snprintf(s, len,
960                      "Charger les préréglages de shaders. \n"
961                              " \n"
962                              "Charge un préréglage de shaders directement. \n"
963                              "Le menu des shaders est mis à jour en conséquence. \n"
964                              " \n"
965                              "Si le CGP utilise des méthodes de mise à l'échelle qui ne sont \n"
966                              "pas simples (c'est-à-dire la mise à l'échelle source, le même \n"
967                              "facteur de mise à l'échelle pour X/Y), le facteur de mise à \n"
968                              "l'échelle affiché dans le menu peut ne pas être correct."
969             );
970             break;
971         case MENU_ENUM_LABEL_VIDEO_SHADER_SCALE_PASS:
972             snprintf(s, len,
973                      "Échelle pour ce passage. \n"
974                              " \n"
975                              "Le facteur d’échelle s’accumule, c’est-à-dire \n"
976                              "2x pour le premier passage et 2x pour le second \n"
977                              "passage vous donneront une échelle totale de 4x. \n"
978                              " \n"
979                              "S'il existe un facteur d'échelle pour \n"
980                              "la dernière passe, le résultat sera étiré \n"
981                              "à l'écran avec le filtre spécifié dans \n"
982                              "'Filtre par défaut'. \n"
983                              " \n"
984                              "Si l'option 'Peu importe' est définie, soit \n"
985                              "une échelle de 1x ou une extension en plein écran \n"
986                              "sera utilisée selon que c'est pas le dernier \n"
987                              "passage ou non."
988             );
989             break;
990         case MENU_ENUM_LABEL_VIDEO_SHADER_NUM_PASSES:
991             snprintf(s, len,
992                      "Passages de shaders. \n"
993                              " \n"
994                              "RetroArch vous permet de mélanger et de faire correspondre \n"
995                              "différents shaders avec des passages de shader arbitraires, \n"
996                              "avec des filtres matériels personnalisés et des facteurs d'échelle. \n"
997                              " \n"
998                              "Cette option spécifie le nombre de passages de shader à utiliser. \n"
999                              "Si vous définissez cette valeur sur 0 et utilisez 'Appliquer \n"
1000                              "changements', vous utilisez un shader 'vide'. \n"
1001                              " \n"
1002                              "L'option 'Filtre par défaut' affectera \n"
1003                              "le filtre d'étirement.");
1004             break;
1005         case MENU_ENUM_LABEL_VIDEO_SHADER_PARAMETERS:
1006             snprintf(s, len,
1007                      "Paramètres de shaders. \n"
1008                              " \n"
1009                              "Modifie le shader actuel directement. Ne sera pas \n"
1010                              "sauvegardé dans un fichier de préréglages CGP/GLSLP.");
1011             break;
1012         case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_PARAMETERS:
1013             snprintf(s, len,
1014                      "Paramètres de préréglages de shaders. \n"
1015                              " \n"
1016                              "Modifie le préréglage de shaders actuellement dans le menu."
1017             );
1018             break;
1019         case MENU_ENUM_LABEL_VIDEO_SHADER_PASS:
1020             snprintf(s, len,
1021                      "Emplacement du shader. \n"
1022                              " \n"
1023                              "Tous les shaders doivent être du même \n"
1024                              "type (par exemple CG, GLSL or HLSL). \n"
1025                              " \n"
1026                              "Définir le dossier de shaders pour définir \n"
1027                              "où le navigateur commence à chercher \n"
1028                              "les shaders."
1029             );
1030             break;
1031         case MENU_ENUM_LABEL_CONFIGURATION_SETTINGS:
1032             snprintf(s, len,
1033                      "Détermine comment les fichiers de configuration \n"
1034                              "sont chargés et priorisés.");
1035             break;
1036         case MENU_ENUM_LABEL_CONFIG_SAVE_ON_EXIT:
1037             snprintf(s, len,
1038                      "Enregistre la configuration sur le disque à la sortie.\n"
1039                              "Utile pour le menu car les réglages peuvent\n"
1040                              "être modifiés. Écrase la configuration.\n"
1041                              " \n"
1042                              "Les #include et les commentaires ne sont \n"
1043                              "pas conservés. \n"
1044                              " \n"
1045                              "De par sa conception, le fichier de \n"
1046                              "configuration est considéré comme immuable \n"
1047                              "car il est probablement conservé par \n"
1048                              "l'utilisateur et ne doit pas être écrasé \n"
1049                              "derrière son dos."
1050 #if defined(RARCH_CONSOLE) || defined(RARCH_MOBILE)
1051             "\nCependant, ce n'est pas le cas sur \n"
1052             "les consoles, où examiner le fichier \n"
1053             "de configuration manuellement n'est \n"
1054             "pas vraiment une option."
1055 #endif
1056             );
1057             break;
1058         case MENU_ENUM_LABEL_CONFIRM_ON_EXIT:
1059             snprintf(s, len, "Êtes-vous sûr de vouloir quitter ?");
1060             break;
1061         case MENU_ENUM_LABEL_SHOW_HIDDEN_FILES:
1062             snprintf(s, len, "Afficher les fichiers\n"
1063                     "et dossiers cachés.");
1064             break;
1065         case MENU_ENUM_LABEL_VIDEO_SHADER_FILTER_PASS:
1066             snprintf(s, len,
1067                      "Filtre matériel pour ce passage. \n"
1068                              " \n"
1069                              "Si 'Peu importe' est sélectionné, \n"
1070                              "'Filtrage par défaut' sera utilisé."
1071             );
1072             break;
1073         case MENU_ENUM_LABEL_AUTOSAVE_INTERVAL:
1074             snprintf(s, len,
1075                      "Sauvegarde automatiquement la mémoire SRAM \n"
1076                              "non volatile à intervalles réguliers.\n"
1077                              " \n"
1078                              "Ceci est désactivé par défaut. \n"
1079                              "L'intervalle est mesuré en secondes \n"
1080                              " \n"
1081                              "Une valeur de 0 désactive \n"
1082                              "la sauvegarde automatique.");
1083             break;
1084         case MENU_ENUM_LABEL_INPUT_BIND_DEVICE_TYPE:
1085             snprintf(s, len,
1086                      "Type de périphérique d'entrée. \n"
1087                              " \n"
1088                              "Choisit le type d'appareil à utiliser. Cette option \n"
1089                              "est utilisée pour le cœur libretro lui-même."
1090             );
1091             break;
1092         case MENU_ENUM_LABEL_LIBRETRO_LOG_LEVEL:
1093             snprintf(s, len,
1094                      "Définit le niveau de journalisation pour les cœurs libretro \n"
1095                              "(GET_LOG_INTERFACE). \n"
1096                              " \n"
1097                              " Si un niveau de journal émis par un cœur libretro \n"
1098                              " est inférieur au niveau libretro_log, \n"
1099                              " il sera ignoré.\n"
1100                              " \n"
1101                              " Les journaux DEBUG seront toujours ignorés \n"
1102                              " sauf si le mode verbeux est activé (--verbose).\n"
1103                              " \n"
1104                              " DEBUG = 0\n"
1105                              " INFO  = 1\n"
1106                              " WARN  = 2\n"
1107                              " ERROR = 3"
1108             );
1109             break;
1110         case MENU_ENUM_LABEL_STATE_SLOT_INCREASE:
1111         case MENU_ENUM_LABEL_STATE_SLOT_DECREASE:
1112             snprintf(s, len,
1113                      "Emplacements de sauvegardes instantanées.\n"
1114                              " \n"
1115                              "Si l'emplacement est défini sur 0, le nom de la sauvegarde \n"
1116                              "est *.state (ou celui défini en ligne de commande).\n"
1117                              "Lorsque l'emplacement est !=0, le chemin sera \n"
1118                              "(chemin)(d), où (d) est le numéro d'emplacement.");
1119             break;
1120         case MENU_ENUM_LABEL_SHADER_APPLY_CHANGES:
1121             snprintf(s, len,
1122                      "Applique les changements de shaders.\n"
1123                              "\n"
1124                              "Après avoir modifié les paramètres du shader, utilisez\n"
1125                              "cette option pour appliquer les modifications.\n"
1126                              "\n"
1127                              "La modification des paramètres de shader est une opération\n"
1128                              "un peu coûteuse et doit donc être effectuée explicitement.\n"
1129                              "\n"
1130                              "Lorsque vous appliquez des shaders, les paramètres\n"
1131                              "de shader de menu sont enregistrés temporairement\n"
1132                              "(menu.cgp ou menu.glslp) et chargés.\n"
1133                              "Le fichier persiste après la sortie de RetroArch,\n"
1134                              "et est enregistré dans le dossier des shaders."
1135             );
1136             break;
1137         case MENU_ENUM_LABEL_SHADER_WATCH_FOR_CHANGES:
1138             snprintf(s, len,
1139                      "Verifie les changements dans les fichiers de shaders. \n"
1140                      " \n"
1141                      "Après avoir enregistré les modifications dans un shader \n"
1142                      "sur le disque, il sera automatiquement recompilé \n"
1143                      "et appliqué au contenu en cours."
1144             );
1145             break;
1146         case MENU_ENUM_LABEL_MENU_TOGGLE:
1147             snprintf(s, len,
1148                      "Affiche/masque le menu.");
1149             break;
1150         case MENU_ENUM_LABEL_GRAB_MOUSE_TOGGLE:
1151             snprintf(s, len,
1152                      "Capture/relâche la souris.\n"
1153                              " \n"
1154                              "Lorsque la souris est capturée, RetroArch la masque \n"
1155                              "et conserve le pointeur de la souris à l'intérieur \n"
1156                              "de la fenêtre pour permettre le contrôle relatif \n"
1157                              "à la souris de mieux fonctionner.");
1158             break;
1159         case MENU_ENUM_LABEL_GAME_FOCUS_TOGGLE:
1160             snprintf(s, len,
1161                      "Jeu au premier plan/en arrière-plan.\n"
1162                              " \n"
1163                              "Quand un jeu est en premier plan, RetroArch désactive les raccourcis clavier \n"
1164                              "et garde/remet le pointeur de la souris dans la fenêtre.");
1165             break;
1166         case MENU_ENUM_LABEL_DISK_NEXT:
1167             snprintf(s, len,
1168                      "Fait défiler les images disques. Utiliser après \n"
1169                              "l'éjection. \n"
1170                              " \n"
1171                              "Terminez par 'Éjecter/insérer un disque'.");
1172             break;
1173         case MENU_ENUM_LABEL_VIDEO_FILTER:
1174 #ifdef HAVE_FILTERS_BUILTIN
1175             snprintf(s, len,
1176                   "Filtre vidéo basé sur le processeur.");
1177 #else
1178             snprintf(s, len,
1179                      "Filtre vidéo basé sur le processeur.\n"
1180                              " \n"
1181                              "Emplacement d'une bibliothèque dynamique.");
1182 #endif
1183             break;
1184         case MENU_ENUM_LABEL_AUDIO_DEVICE:
1185             snprintf(s, len,
1186                      "Remplace le périphérique audio utilisé par défaut \n"
1187                              "par le pilote audio.\n"
1188                              "Cette option dépend du pilote. \n"
1189 #ifdef HAVE_ALSA
1190             " \n"
1191             "ALSA requiert un périphérique PCM."
1192 #endif
1193 #ifdef HAVE_OSS
1194             " \n"
1195             "OSS requiert un emplacement (/dev/dsp par exemple)."
1196 #endif
1197 #ifdef HAVE_JACK
1198             " \n"
1199             "JACK requiert des noms de ports (system:playback1\n"
1200             ",system:playback_2 par exemple)."
1201 #endif
1202 #ifdef HAVE_RSOUND
1203             " \n"
1204             "RSound requiert une adresse IP vers un serveur \n"
1205             "RSound."
1206 #endif
1207             );
1208             break;
1209         case MENU_ENUM_LABEL_DISK_EJECT_TOGGLE:
1210             snprintf(s, len,
1211                      jecte/insére un disque.\n"
1212                              " \n"
1213                              "Utilisé pour le contenu multi-disque.");
1214             break;
1215         case MENU_ENUM_LABEL_ENABLE_HOTKEY:
1216             snprintf(s, len,
1217                      "Active d'autres touches de raccourcis.\n"
1218                              " \n"
1219                              "Si cette touche de raccourci est liée à un clavier, \n"
1220                              "à une touche ou à un axe de manette, toutes les autres \n"
1221                              "touches de raccourci seront désactivées, à moins que \n"
1222                              "ce raccourci ne soit également maintenu enfoncé. \n"
1223                              " \n"
1224                              "Cette option est utile pour les implémentations \n"
1225                              "centrées RETRO_KEYBOARD qui utilisent une grande \n"
1226                              "zone du clavier, où il n’est pas souhaitable que \n"
1227                              "les raccourcis clavier puissent gêner.");
1228             break;
1229         case MENU_ENUM_LABEL_REWIND_ENABLE:
1230             snprintf(s, len,
1231                      "Active le rembobinage.\n"
1232                              " \n"
1233                              "Cette option aura un coût en performances, \n"
1234                              "elle est donc désactivée par défaut.");
1235             break;
1236         case MENU_ENUM_LABEL_CHEAT_APPLY_AFTER_TOGGLE:
1237             snprintf(s, len,
1238                      "Applique les cheats immédiatement après l'activation.");
1239             break;
1240         case MENU_ENUM_LABEL_CHEAT_APPLY_AFTER_LOAD:
1241             snprintf(s, len,
1242                      "Applique les cheats automatiquement au chargement d'un jeu.");
1243             break;
1244         case MENU_ENUM_LABEL_LIBRETRO_DIR_PATH:
1245             snprintf(s, len,
1246                      "Dossier des cœurs. \n"
1247                              " \n"
1248                              "Dossier de recherche des implémentations \n"
1249                              "de cœurs libretro.");
1250             break;
1251         case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_AUTO:
1252             snprintf(s, len,
1253                      "Fréquence de rafraîchissement auto.\n"
1254                              " \n"
1255                              "Fréquence de rafraîchissement précise du moniteur (Hz).\n"
1256                              "Utilisée pour calculer le débit audio avec la formule :\n"
1257                              " \n"
1258                              "Débit audio = fréquence du jeu * fréquence de\n"
1259                              "l'écran / fréquence du jeu\n"
1260                              " \n"
1261                              "Si aucune valeur n'est rapportée, les valeurs NTSC\n"
1262                              "seront utilisées pour la compatibilité.\n"
1263                              " \n"
1264                              "Cette valeur devrait rester proche de 60Hz pour éviter\n"
1265                              "des changements de pitch importants. Sinon, désactivez\n"
1266                              "V-Sync et laissez ce paramètre par défaut.");
1267             break;
1268         case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_POLLED:
1269             snprintf(s, len,
1270                      "Définir la fréquence de rafraîchissement détectée\n"
1271                              " \n"
1272                             "Définit la fréquence de rafraîchissement à\n"
1273                             "celle détectée par le pilote d'affichage.");
1274             break;
1275         case MENU_ENUM_LABEL_VIDEO_ROTATION:
1276             snprintf(s, len,
1277                      "Force une certaine rotation \n"
1278                              "de l'écran.\n"
1279                              " \n"
1280                              "La rotation est ajoutée aux rotations\n"
1281                              "définies par le cœur libretro (voir\n"
1282                              "Autoriser la rotation).");
1283             break;
1284         case MENU_ENUM_LABEL_VIDEO_SCALE:
1285             snprintf(s, len,
1286                      "Résolution en plein écran.\n"
1287                              " \n"
1288                              "Une résolution de 0 utilise \n"
1289                              "la résolution du bureau.\n");
1290             break;
1291         case MENU_ENUM_LABEL_FASTFORWARD_RATIO:
1292             snprintf(s, len,
1293                      "Vitesse de l'avance rapide.\n"
1294                              " \n"
1295                              "Fréquence maximum à laquelle le contenu sera exécuté\n"
1296                              "lors de l'utilisation de l'avance rapide.\n"
1297                              " \n"
1298                              "(Par exemple, 5,0 pour un contenu de 60 images/s => \n"
1299                              "un plafond à 300 images/s).\n"
1300                              " \n"
1301                              "RetroArch se ralentira pour veiller à \n"
1302                              "ce que le taux maximal ne soit pas\n"
1303                              "dépassé. Ne comptez pas sur ce plafonnage \n"
1304                              "pour être parfaitement précis.");
1305             break;
1306         case MENU_ENUM_LABEL_VRR_RUNLOOP_ENABLE:
1307             snprintf(s, len,
1308                      "Synchronise avec la fréquence exacte du contenu.\n"
1309                              " \n"
1310                              "Cette option équivaut à forcer la vitesse x1\n"
1311                              "tout en permettant l'avance rapide.\n"
1312                              "Aucun écart par rapport à la fréquence de rafraîchissement\n"
1313                              "demandée par le cœur, aucun contrôle dynamique du débit audio.");
1314             break;
1315         case MENU_ENUM_LABEL_VIDEO_MONITOR_INDEX:
1316             snprintf(s, len,
1317                      "Quel moniteur préférer.\n"
1318                              " \n"
1319                              "0 (par défaut) signifie qu'aucun moniteur particulier \n"
1320                              "n'est préféré, et plus (1 étant le premier moniteur), \n"
1321                              "suggère à RetroArch d'utiliser ce moniteur \n"
1322                              "en particulier.");
1323             break;
1324         case MENU_ENUM_LABEL_VIDEO_CROP_OVERSCAN:
1325             snprintf(s, len,
1326                      "Force le recadrage du surbalayage \n"
1327                              "des images.\n"
1328                              " \n"
1329                              "Le comportement exact de cette option \n"
1330                              "est spécifique à l'implémentation du cœur.");
1331             break;
1332         case MENU_ENUM_LABEL_VIDEO_SCALE_INTEGER:
1333             snprintf(s, len,
1334                      "Mets la vidéo à l'échelle uniquement \n"
1335                              "à l'entier le plus proche.\n"
1336                              " \n"
1337                              "La taille de base dépend de la géométrie \n"
1338                              "et du rapport d'aspect détectés par le système.\n"
1339                              " \n"
1340                              "Si 'Forcer le rapport d'aspect' est désactivé, X/Y \n"
1341                              "seront mis à l'échelle à l'entier indépendamment.");
1342             break;
1343         case MENU_ENUM_LABEL_AUDIO_VOLUME:
1344             snprintf(s, len,
1345                      "Volume audio, exprimé en dB.\n"
1346                              " \n"
1347                              "0 dB est le volume normal. Aucun gain ne sera appliqué.\n"
1348                              "Le gain peut être contrôlé en cours d’exécution avec\n"
1349                              "les touches Volume + / Volume -.");
1350             break;
1351         case MENU_ENUM_LABEL_AUDIO_RATE_CONTROL_DELTA:
1352             snprintf(s, len,
1353                      "Contrôle dynamique du débit audio.\n"
1354                              " \n"
1355                              "Mettre cette option à 0 désactive le contrôle du débit.\n"
1356                              "Toute autre valeur contrôle dynamiquement le débit \n"
1357                              "audio.\n"
1358                              " \n"
1359                              "Définit de combien le débit d'entrée peut \n"
1360                              "être ajusté dynamiquement.\n"
1361                              " \n"
1362                              " Le débit audio est défini ainsi : \n"
1363                              " débit audio * (1.0 +/- (Contrôle dynamique du débit audio))");
1364             break;
1365         case MENU_ENUM_LABEL_AUDIO_MAX_TIMING_SKEW:
1366             snprintf(s, len,
1367                      "Variation maximale du débit audio.\n"
1368                              " \n"
1369                              "Définit le changement maximal du débit audio.\n"
1370                              "Augmenter cette valeur permet des changements\n"
1371                              "très importants dans le timing en échange\n"
1372                              "d'un pitch audio inexact (par exemple, lors\n"
1373                              "de l'exécution de cœurs PAL sur des écrans NTSC).\n"
1374                              " \n"
1375                              " Le débit audio est défini ainsi : \n"
1376                              " débit audio * (1.0 +/- (Variation maximale du débit audio))");
1377             break;
1378         case MENU_ENUM_LABEL_OVERLAY_NEXT:
1379             snprintf(s, len,
1380                      "Applique la prochaine surimpression.\n"
1381                              " \n"
1382                              "Revient à la première si la fin est atteinte.");
1383             break;
1384         case MENU_ENUM_LABEL_LOG_VERBOSITY:
1385             snprintf(s, len,
1386                      "Active ou désactive le niveau de journalisation \n"
1387                              "du programme.");
1388             break;
1389         case MENU_ENUM_LABEL_VOLUME_UP:
1390             snprintf(s, len,
1391                      "Augmente le volume audio.");
1392             break;
1393         case MENU_ENUM_LABEL_VOLUME_DOWN:
1394             snprintf(s, len,
1395                      "Diminue le volume audio.");
1396             break;
1397         case MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION:
1398             snprintf(s, len,
1399                      "Désactiver de force la composition.\n"
1400                              "Valide uniquement pour Windows Vista/7 pour l'instant.");
1401             break;
1402         case MENU_ENUM_LABEL_PERFCNT_ENABLE:
1403             snprintf(s, len,
1404                      "Activer ou désactiver les compteurs \n"
1405                              "de performance du programme.");
1406             break;
1407         case MENU_ENUM_LABEL_SYSTEM_DIRECTORY:
1408             snprintf(s, len,
1409                      "Dossier 'Système'. \n"
1410                              " \n"
1411                              "Définit le dossier 'Système'.\n"
1412                              "Les cœurs peuvent rechercher dans\n"
1413                              "ce dossier les BIOS, configurations \n"
1414                              "spécifiques au système, etc.");
1415             break;
1416         case MENU_ENUM_LABEL_SAVESTATE_AUTO_SAVE:
1417         case MENU_ENUM_LABEL_SAVESTATE_AUTO_LOAD:
1418             snprintf(s, len,
1419                      "Enregistre automatiquement une sauvegarde instantanée \n"
1420                              "à la fin de l'éxécution' de RetroArch.\n"
1421                              " \n"
1422                              "RetroArch chargera automatiquement les sauvegardes instantanées\n"
1423                              "au démarrage à partir de cet emplacement si 'Chargement auto\n"
1424                              "des sauvegardes instantanées' est activé.");
1425             break;
1426         case MENU_ENUM_LABEL_VIDEO_THREADED:
1427             snprintf(s, len,
1428                      "Utilise le pilote vidéo sur plusieurs fils d'exécution.\n"
1429                              " \n"
1430                              "Cette option peut améliorer la performance \n"
1431                              "au détriment possible d'une latence \n"
1432                              "et de saccades visuelles accrues.");
1433             break;
1434         case MENU_ENUM_LABEL_VIDEO_VSYNC:
1435             snprintf(s, len,
1436                      "Synchronisation verticale vidéo (V-Sync).\n");
1437             break;
1438         case MENU_ENUM_LABEL_VIDEO_HARD_SYNC:
1439             snprintf(s, len,
1440                      "Tente de synchroniser matériellement \n"
1441                              "le processeur et le processeur graphique.\n"
1442                              " \n"
1443                              "Peut réduire la latence au détriment \n"
1444                              "de la performance.");
1445             break;
1446         case MENU_ENUM_LABEL_REWIND_GRANULARITY:
1447             snprintf(s, len,
1448                      "Précision du rembobinage.\n"
1449                              " \n"
1450                              "Lors du rembobinage d’un nombre défini  \n"
1451                              "d’images, vous pouvez rembobiner plusieurs \n"
1452                              "images à la fois, ce qui augmente sa \n"
1453                              "vitesse.");
1454             break;
1455         case MENU_ENUM_LABEL_REWIND_BUFFER_SIZE:
1456             snprintf(s, len,
1457                      "Mémoire tampon de rembobinage (Mo).\n"
1458                              " \n"
1459                              "Quantité de mémoire en Mo à réserver pour \n"
1460                              "le rembobinage. L'augmentation de cette valeur \n"
1461                              "augmente la longueur de l'historique de rembobinage.\n");
1462             break;
1463         case MENU_ENUM_LABEL_REWIND_BUFFER_SIZE_STEP:
1464             snprintf(s, len,
1465                      "Précision d'ajustement du tampon de rembobinage (Mo).\n"
1466                              " \n"
1467                              "Chaque fois que vous augmentez ou diminuez la valeur \n"
1468                              "de la taille de la mémoire tampon de rembobinage \n"
1469                              "via cette interface, cette valeur changera de ce montant.\n");
1470             break;
1471         case MENU_ENUM_LABEL_SCREENSHOT:
1472             snprintf(s, len,
1473                      "Prendre une capture d'écran.");
1474             break;
1475         case MENU_ENUM_LABEL_VIDEO_FRAME_DELAY:
1476             snprintf(s, len,
1477                      "Définit le délai en millisecondes après V-Sync\n"
1478                              "avant l'exécution du cœur.\n"
1479                              "\n"
1480                              "Peut réduire la latence au prix\n"
1481                              "d'un plus grand risque de saccades.\n"
1482                              " \n"
1483                              "La valeur maximum est 15.");
1484             break;
1485             case MENU_ENUM_LABEL_VIDEO_SHADER_DELAY:
1486                 snprintf(s, len,
1487                          "Définit le délai en millisecondes après lequel\n"
1488                                  "les shaders sont chargés.\n"
1489                                  "\n"
1490                                  "Peut résoudre des problèmes graphiques\n"
1491                                  "lors de l'utilisation de logiciels de 'capture d'écran'.");
1492                 break;
1493         case MENU_ENUM_LABEL_VIDEO_HARD_SYNC_FRAMES:
1494             snprintf(s, len,
1495                      "Nombre d'images que le processeur peut éxécuter en avance \n"
1496                              "du processeur graphique avec l'option 'Synchronisation \n"
1497                              "matérielle du processeur graphique'.\n"
1498                              " \n"
1499                              "La valeur maximum est 3.\n"
1500                              " \n"
1501                              " 0: Se synchronise immédiatement sur le processeur graphique.\n"
1502                              " 1: Se synchronise avec l'image précédente.\n"
1503                              " 2: Etc ...");
1504             break;
1505         case MENU_ENUM_LABEL_VIDEO_BLACK_FRAME_INSERTION:
1506             snprintf(s, len,
1507                      "Insère une image noire \n"
1508                              "entre chaque image.\n"
1509                              " \n"
1510                              "Utile pour les utilisateurs de moniteurs \n"
1511                              "à 120 Hz qui souhaitent jouer à des jeux \n"
1512                              "en 60 Hz sans rémanence.\n"
1513                              " \n"
1514                              "La fréquence de rafraîchissement vidéo doit toujours \n"
1515                              "être configurée comme s'il s'agissait d'un moniteur \n"
1516                              "60 Hz (divisez le taux de rafraîchissement par 2).");
1517             break;
1518         case MENU_ENUM_LABEL_RGUI_SHOW_START_SCREEN:
1519             snprintf(s, len,
1520                      "Afficher l'écran de configuration initiale.\n"
1521                              "Cette option est automatiquement désactivée\n"
1522                              "lorsqu'il est vu pour la première fois.\n"
1523                              " \n"
1524                              "Ceci n’est mis à jour dans la configuration que si\n"
1525                              "'Sauvegarder la configuration en quittant' est activé.\n");
1526             break;
1527         case MENU_ENUM_LABEL_VIDEO_FULLSCREEN:
1528             snprintf(s, len, "Active/désactive le mode plein écran.");
1529             break;
1530         case MENU_ENUM_LABEL_BLOCK_SRAM_OVERWRITE:
1531             snprintf(s, len,
1532                      "Empêche l'écrasement de la mémoire SRAM \n"
1533                              "lors du chargement d'une sauvegarde instantanée.\n"
1534                              " \n"
1535                              "Pourrait potentiellement conduire à des bugs de jeu.");
1536             break;
1537         case MENU_ENUM_LABEL_PAUSE_NONACTIVE:
1538             snprintf(s, len,
1539                      "Mettre en pause quand la fenêtre \n"
1540                              "est en arrière-plan.");
1541             break;
1542         case MENU_ENUM_LABEL_VIDEO_GPU_SCREENSHOT:
1543             snprintf(s, len,
1544                      "Capture l'écran en utilisant les shaders produits \n"
1545                              "par le processeur graphique si disponibles.");
1546             break;
1547         case MENU_ENUM_LABEL_SCREENSHOT_DIRECTORY:
1548             snprintf(s, len,
1549                      "Dossier des captures d'écran. \n"
1550                              " \n"
1551                              "Dossier de sauvegarde des captures d'écran."
1552             );
1553             break;
1554         case MENU_ENUM_LABEL_VIDEO_SWAP_INTERVAL:
1555             snprintf(s, len,
1556                      "Intervalle d'échange V-Sync.\n"
1557                              " \n"
1558                              "Utilise un intervalle d'échange personnalisé pour V-Sync. Utilisez cette option \n"
1559                              "pour réduire de moitié la fréquence de rafraîchissement du moniteur.");
1560             break;
1561         case MENU_ENUM_LABEL_SAVEFILE_DIRECTORY:
1562             snprintf(s, len,
1563                      "Dossier des sauvegardes. \n"
1564                              " \n"
1565                              "Enregistre toutes les sauvegardes (*.srm) dans \n"
1566                              "ce dossier. Cela inclut les fichiers liés comme \n"
1567                              ".bsv, .rt, .psrm, etc...\n"
1568                              " \n"
1569                              "Cette option sera remplacée par des options\n"
1570                              "en ligne de commande explicites.");
1571             break;
1572         case MENU_ENUM_LABEL_SAVESTATE_DIRECTORY:
1573             snprintf(s, len,
1574                      "Dossier des sauvegardes instantanées. \n"
1575                              " \n"
1576                              "Enregistre toutes les sauvegardes instantanées \n"
1577                              " (*.state) dans ce dossier.\n"
1578                              " \n"
1579                              "Cette option sera remplacée par des options\n"
1580                              "en ligne de commande explicites.");
1581             break;
1582         case MENU_ENUM_LABEL_ASSETS_DIRECTORY:
1583             snprintf(s, len,
1584                      "Dossier des assets. \n"
1585                              " \n"
1586                              "Cet emplacement est requis par défaut lorsque \n"
1587                              "les interfaces de menu tentent de rechercher \n"
1588                              "des assets chargeables, etc.");
1589             break;
1590         case MENU_ENUM_LABEL_DYNAMIC_WALLPAPERS_DIRECTORY:
1591             snprintf(s, len,
1592                      "Dossier des arrière-plans dynamiques. \n"
1593                              " \n"
1594                              "Dossier de stockage des fonds d'écran \n"
1595                              "chargés dynamiquement par le menu \n"
1596                              "en fonction du contexte.");
1597             break;
1598         case MENU_ENUM_LABEL_SLOWMOTION_RATIO:
1599             snprintf(s, len,
1600                      "Taux de ralentissement maximal."
1601                              " \n"
1602                              "En mode ralenti, le contenu sera ralenti\n"
1603                              "par ce facteur.");
1604             break;
1605         case MENU_ENUM_LABEL_INPUT_BUTTON_AXIS_THRESHOLD:
1606             snprintf(s, len,
1607                      "Definit le seuil de l'axe des touches.\n"
1608                              " \n"
1609                              "À quelle distance un axe doit être incliné\n"
1610                              "pour entraîner une pression de touche.\n"
1611                              "Les valeurs possibles sont [0.0, 1.0].");
1612             break;
1613         case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD:
1614             snprintf(s, len,
1615                      "Délai d'activation du turbo.\n"
1616                              " \n"
1617                              "Décrit la durée après laquelle une touche\n"
1618                              "est en mode turbo.\n"
1619                              " \n"
1620                              "Les nombres sont décrits en images."
1621             );
1622             break;
1623         case MENU_ENUM_LABEL_INPUT_TURBO_MODE:
1624             snprintf(s, len,
1625                   "Mode turbo.\n"
1626                   " \n"
1627                   "Sélectionne le comportement général du mode turbo."
1628                   );
1629             break;
1630         case MENU_ENUM_LABEL_INPUT_TURBO_DEFAULT_BUTTON:
1631             snprintf(s, len,
1632                   "Touche turbo par défaut.\n"
1633                   " \n"
1634                   "Touche active par défaut pour le mode turbo 'Touche unique'.\n"
1635                   );
1636             break;
1637         case MENU_ENUM_LABEL_INPUT_DUTY_CYCLE:
1638             snprintf(s, len,
1639                      "Cycle de répétition des touches.\n"
1640                              " \n"
1641                              "Décrit la durée après laquelle une touche\n"
1642                              "en mode turbo se répète.\n"
1643                              " \n"
1644                              "Les nombres sont décrits en images."
1645             );
1646             break;
1647         case MENU_ENUM_LABEL_INPUT_TOUCH_ENABLE:
1648             snprintf(s, len, "Active la prise en charge du tactile.");
1649             break;
1650         case MENU_ENUM_LABEL_INPUT_PREFER_FRONT_TOUCH:
1651             snprintf(s, len, "Utilise le tactile avant plutôt que le tactile arrière.");
1652             break;
1653         case MENU_ENUM_LABEL_MOUSE_ENABLE:
1654             snprintf(s, len, "Active la souris dans le menu.");
1655             break;
1656         case MENU_ENUM_LABEL_POINTER_ENABLE:
1657             snprintf(s, len, "Active le tactile dans le menu.");
1658             break;
1659         case MENU_ENUM_LABEL_MENU_WALLPAPER:
1660             snprintf(s, len, "Emplacement d'une image à définir comme arrière-plan.");
1661             break;
1662         case MENU_ENUM_LABEL_NAVIGATION_WRAPAROUND:
1663             snprintf(s, len,
1664                      "Retour au début et/ou à la fin \n"
1665                              "si les limites de la liste sont atteintes \n"
1666                              "horizontalement et/ou verticalement.");
1667             break;
1668         case MENU_ENUM_LABEL_PAUSE_LIBRETRO:
1669             snprintf(s, len,
1670                      "Si désactivé, le jeu continuera à fonctionner \n"
1671                              "en arrière-plan lorsque vous serez \n"
1672                              "dans le menu.");
1673             break;
1674         case MENU_ENUM_LABEL_SUSPEND_SCREENSAVER_ENABLE:
1675             snprintf(s, len,
1676                      "Suspend l'économiseur d'écran. C'est un indice \n"
1677                              "qui ne sera pas nécessairement \n"
1678                              "honoré par le pilote vidéo.");
1679             break;
1680         case MENU_ENUM_LABEL_NETPLAY_MODE:
1681             snprintf(s, len,
1682                      "Mode client de jeu en réseau pour l'utilisateur actuel. \n"
1683                              "Sera en mode 'Serveur' si cette option est désactivée.");
1684             break;
1685         case MENU_ENUM_LABEL_NETPLAY_DELAY_FRAMES:
1686             snprintf(s, len,
1687                      "Nombre d'images de délai à utiliser pour le jeu en réseau. \n"
1688                              " \n"
1689                              "Augmenter cette valeur augmentera les performances, \n"
1690                              "mais introduira plus de latence.");
1691             break;
1692         case MENU_ENUM_LABEL_NETPLAY_PUBLIC_ANNOUNCE:
1693             snprintf(s, len,
1694                      "Annoncer ou non le jeu en réseau publiquement. \n"
1695                              " \n"
1696                              "Si cette option est désactivée, les clients devront \n"
1697                              "se connecter manuellement plutôt que d'utiliser le salon public.");
1698             break;
1699         case MENU_ENUM_LABEL_NETPLAY_START_AS_SPECTATOR:
1700             snprintf(s, len,
1701                      "Démarrer le jeu en réseau en mode spectateur ou non. \n"
1702                              " \n"
1703                              "Si cette option est activée, le jeu en réseau \n"
1704                              "sera en mode spectateur au démarrage. Il est \n"
1705                              "toujours possible de changer de mode plus tard.");
1706             break;
1707         case MENU_ENUM_LABEL_NETPLAY_ALLOW_SLAVES:
1708             snprintf(s, len,
1709                      "Autoriser les connexions en mode passif ou non. \n"
1710                              " \n"
1711                              "Les clients en mode passif nécessite très peu de puissance \n"
1712                              "de traitement de chaque côté, mais souffrira considérablement \n"
1713                              "de la latence du réseau.");
1714             break;
1715         case MENU_ENUM_LABEL_NETPLAY_REQUIRE_SLAVES:
1716             snprintf(s, len,
1717                      "Autoriser les connexions en mode actif ou non. \n"
1718                              " \n"
1719                              "Non recommandé sauf pour les réseaux très rapides \n"
1720                              "avec des machines très faibles. \n");
1721             break;
1722         case MENU_ENUM_LABEL_NETPLAY_STATELESS_MODE:
1723             snprintf(s, len,
1724                      "Faire tourner le jeu en réseau dans un mode\n"
1725                              "ne nécessitant pas de sauvegardes instantanées. \n"
1726                              " \n"
1727                              "Si cette option est activée, un réseau très rapide est requis,\n"
1728                              "mais aucun rembobinage n'est effectué. Il n'y aura donc\n"
1729                              "pas de variations de la latence sur le jeu en réseau.\n");
1730             break;
1731         case MENU_ENUM_LABEL_NETPLAY_CHECK_FRAMES:
1732             snprintf(s, len,
1733                      "Fréquence en images avec laquelle le jeu\n"
1734                              "en réseau vérifiera que l'hôte et le client\n"
1735                              "sont synchronisés.\n"
1736                              "\n"
1737                              "Avec la plupart des cœurs, cela n'aura\n"
1738                              "aucun effet visible et peut être ignoré. Avec\n"
1739                              "les cœurs non déterministes, cette valeur détermine\n"
1740                              "la fréquence de synchronisation des pairs.\n"
1741                              "Avec les cœurs buggés, ne pas définir\n"
1742                              "cette valeur sur zéro affectera grandement\n"
1743                              "les performances. Réglez à zéro pour ne pas\n"
1744                              "effectuer de contrôles. Cette valeur n'est\n"
1745                              "utilisée que par l'hôte.");
1746             break;
1747         case MENU_ENUM_LABEL_NETPLAY_INPUT_LATENCY_FRAMES_MIN:
1748             snprintf(s, len,
1749                      "Nombre d'images de latence des entrées que le jeu \n"
1750                      "en réseau doit utiliser pour masquer la latence du réseau. \n"
1751                      " \n"
1752                      "Lors du jeu en réseau, cette option retarde les entrées \n"
1753                      "locales, de sorte que l'image en cours d'exécution \n"
1754                      "soit plus proche des images reçues par le réseau. \n"
1755                      "Cela réduit les variations de la latence et rend \n"
1756                      "le jeu en réseau moins gourmand en ressources processeur, \n"
1757                      "mais au prix d'un retard des entrées notable. \n");
1758             break;
1759         case MENU_ENUM_LABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE:
1760             snprintf(s, len,
1761                      "Plage d'images de latence des entrées pouvant \n"
1762                      "être utilisée pour masquer la latence \n"
1763                      "du réseau. \n"
1764                      "\n"
1765                      "Si cette option est activée, le jeu en réseau ajustera \n"
1766                      "le nombre d'images de latence d'entrée de manière dynamique \n"
1767                      "pour équilibrer le temps processeur, la latence d'entrée \n"
1768                      "et la latence du réseau. Cela réduit les variations de la latence \n"
1769                      "et rend le jeu en réseau moins gourmand en ressources processeur, \n"
1770                      "mais au prix d'un retard des entrées imprévisible. \n");
1771             break;
1772         case MENU_ENUM_LABEL_NETPLAY_NAT_TRAVERSAL:
1773             snprintf(s, len,
1774                      "Lors de l'hébergement, tenter d'intercepter des connexions\n"
1775                              "depuis l'internet public, en utilisant UPnP ou\n"
1776                              "des technologies similaires pour sortir du réseau local. \n");
1777             break;
1778         case MENU_ENUM_LABEL_NETPLAY_USE_MITM_SERVER:
1779             snprintf(s, len,
1780                      "Lors de l'hébergement d'une session de jeu en réseau, transférer  \n"
1781                              "les connexions via un serveur intermédiaire pour contourner \n"
1782                              "le pare-feu ou les problèmes de NAT/UPnP. \n");
1783             break;
1784         case MENU_ENUM_LABEL_NETPLAY_MITM_SERVER:
1785             snprintf(s, len,
1786                      "Choisissez un serveur de relais spécifique à utiliser \n"
1787                              "pour le jeu en réseau. Un serveur qui est situé \n"
1788                              "plus près de vous peut avoir moins de latence. \n");
1789             break;
1790         case MENU_ENUM_LABEL_VIDEO_MAX_SWAPCHAIN_IMAGES:
1791             snprintf(s, len,
1792                      "Nombre d'images max en mémoire tampon. Cette option \n"
1793                              "peut indiquer au pilote vidéo d'utiliser un mode de \n"
1794                              "mise en mémoire tampon vidéo spécifique. \n"
1795                              " \n"
1796                              "Mise en mémoire tampon unique - 1\n"
1797                              "Double mise en mémoire tampon - 2\n"
1798                              "Triple mise en mémoire tampon - 3\n"
1799                              " \n"
1800                              "La définition du bon mode de mise en mémoire tampon \n"
1801                              "peut avoir un impact important sur la latence.");
1802             break;
1803         case MENU_ENUM_LABEL_VIDEO_SMOOTH:
1804             snprintf(s, len,
1805                      "Lisse l'image avec le filtrage bilinéaire. \n"
1806                              "Devrait être désactivé si vous utilisez des shaders.");
1807             break;
1808       case MENU_ENUM_LABEL_VIDEO_CTX_SCALING:
1809          snprintf(s, len,
1810 #ifdef HAVE_ODROIDGO2
1811                "Mise à l'échelle RGA et filtrage bicubique. Peut affecter les widgets."
1812 #else
1813                "Mise à l'échelle selon le contexte matériel (si disponible)."
1814 #endif
1815          );
1816          break;
1817         case MENU_ENUM_LABEL_TIMEDATE_ENABLE:
1818             snprintf(s, len,
1819                      "Affiche la date et/ou l'heure locale dans le menu.");
1820             break;
1821         case MENU_ENUM_LABEL_TIMEDATE_STYLE:
1822            snprintf(s, len,
1823               "Style d'affichage dans lequel afficher la date/l'heure.");
1824            break;
1825         case MENU_ENUM_LABEL_BATTERY_LEVEL_ENABLE:
1826             snprintf(s, len,
1827                      "Affiche le niveau de la batterie actuel dans le menu.");
1828             break;
1829         case MENU_ENUM_LABEL_CORE_ENABLE:
1830             snprintf(s, len,
1831                      "Affiche le cœur actuel dans le menu.");
1832             break;
1833         case MENU_ENUM_LABEL_NETPLAY_ENABLE_HOST:
1834             snprintf(s, len,
1835                      "Active le jeu en réseau en mode hébergement (serveur).");
1836             break;
1837         case MENU_ENUM_LABEL_NETPLAY_ENABLE_CLIENT:
1838             snprintf(s, len,
1839                      "Active le jeu en réseau en mode client.");
1840             break;
1841         case MENU_ENUM_LABEL_NETPLAY_DISCONNECT:
1842             snprintf(s, len,
1843                      "Déconnecte une connexion de jeu en réseau active.");
1844             break;
1845         case MENU_ENUM_LABEL_NETPLAY_LAN_SCAN_SETTINGS:
1846             snprintf(s, len,
1847                      "Rechercher et se connecter à des hôtes de jeu en réseau sur le réseau local.");
1848             break;
1849         case MENU_ENUM_LABEL_NETPLAY_SETTINGS:
1850             snprintf(s, len,
1851                      "Réglages liés au jeu en réseau.");
1852             break;
1853         case MENU_ENUM_LABEL_DYNAMIC_WALLPAPER:
1854             snprintf(s, len,
1855                      "Charge dynamiquement un nouvel arrière-plan \n"
1856                              "en fonction du contexte.");
1857             break;
1858         case MENU_ENUM_LABEL_CORE_UPDATER_BUILDBOT_URL:
1859             snprintf(s, len,
1860                      "URL du dossier principal de mise à jour sur le \n"
1861                              "buildbot Libretro.");
1862             break;
1863         case MENU_ENUM_LABEL_BUILDBOT_ASSETS_URL:
1864             snprintf(s, len,
1865                      "URL du dossier de mise à jour des assets sur le \n"
1866                              "buildbot Libretro.");
1867             break;
1868         case MENU_ENUM_LABEL_INPUT_REMAP_BINDS_ENABLE:
1869             snprintf(s, len,
1870                      "Si activé, remplace les assignations de touches \n"
1871                              "avec les touches remappées pour le \n"
1872                              "cœur actuel.");
1873             break;
1874         case MENU_ENUM_LABEL_OVERLAY_DIRECTORY:
1875             snprintf(s, len,
1876                      "Dossier des Surimpressions. \n"
1877                              " \n"
1878                              "Définit un dossier dans lequel les surimpressions \n"
1879                              "seront conservées pour un accès facile.");
1880             break;
1881         case MENU_ENUM_LABEL_VIDEO_LAYOUT_DIRECTORY:
1882             snprintf(s, len,
1883                      "Dossier des Dispositions d'affichage. \n"
1884                              " \n"
1885                              "Définit un dossier dans lequel les dispositions d'affichage \n"
1886                              "seront conservées pour un accès facile.");
1887             break;
1888         case MENU_ENUM_LABEL_INPUT_MAX_USERS:
1889             snprintf(s, len,
1890                      "Nombre maximum d'utilisateurs pris en charge par \n"
1891                              "RetroArch.");
1892             break;
1893         case MENU_ENUM_LABEL_CORE_UPDATER_AUTO_EXTRACT_ARCHIVE:
1894             snprintf(s, len,
1895                      "Après le téléchargement, extrait automatiquement \n"
1896                              "le contenu des archives qui ont été \n"
1897                              "téléchargées.");
1898             break;
1899         case MENU_ENUM_LABEL_NAVIGATION_BROWSER_FILTER_SUPPORTED_EXTENSIONS_ENABLE:
1900             snprintf(s, len,
1901                      "Filtrer les fichiers affichés selon \n"
1902                              "les extensions prises en charge.");
1903             break;
1904         case MENU_ENUM_LABEL_NETPLAY_NICKNAME:
1905             snprintf(s, len,
1906                      "Nom d'utilisateur de la personne utilisant RetroArch. \n"
1907                              "Il sera utilisé pour jouer à des jeux en ligne.");
1908             break;
1909         case MENU_ENUM_LABEL_NETPLAY_TCP_UDP_PORT:
1910             snprintf(s, len,
1911                      "Port de l'adresse IP de l'hôte. \n"
1912                              "Peut être soit un port TCP soit UDP.");
1913             break;
1914         case MENU_ENUM_LABEL_NETPLAY_SPECTATOR_MODE_ENABLE:
1915             snprintf(s, len,
1916                      "Active ou désactive le mode spectateur pour \n"
1917                              "l'utilisateur durant le jeu en réseau.");
1918             break;
1919         case MENU_ENUM_LABEL_NETPLAY_IP_ADDRESS:
1920             snprintf(s, len,
1921                      "Adresse de l'hôte auquel se connecter.");
1922             break;
1923         case MENU_ENUM_LABEL_NETPLAY_PASSWORD:
1924             snprintf(s, len,
1925                      "Mot de passe pour se connecter à l'hôte \n"
1926                              "de jeu en réseau. Utilisé uniquement en mode hébergement.");
1927             break;
1928         case MENU_ENUM_LABEL_NETPLAY_SPECTATE_PASSWORD:
1929             snprintf(s, len,
1930                      "Mot de passe pour se connecter à l'hôte \n"
1931                              "de jeu en réseau avec des privilèges spectateur \n"
1932                              "uniquement. Utilisé uniquement en mode hôte.");
1933             break;
1934         case MENU_ENUM_LABEL_STDIN_CMD_ENABLE:
1935             snprintf(s, len,
1936                      "Active l'interface de commandes stdin.");
1937             break;
1938         case MENU_ENUM_LABEL_UI_COMPANION_START_ON_BOOT:
1939             snprintf(s, len,
1940                      "Lancer l'interface de bureau \n"
1941                              "au démarrage (si disponible).");
1942             break;
1943         case MENU_ENUM_LABEL_MENU_DRIVER:
1944             snprintf(s, len, "Pilote de menu à utiliser.");
1945             break;
1946         case MENU_ENUM_LABEL_INPUT_MENU_ENUM_TOGGLE_GAMEPAD_COMBO:
1947             snprintf(s, len,
1948                      "Combinaison de touches de la manette pour afficher/masquer le menu. \n"
1949                              " \n"
1950                              "0 - Aucune \n"
1951                              "1 - Appuyer sur L + R + Y + Croix bas \n"
1952                              "en même temps. \n"
1953                              "2 - Appuyer sur L3 + R3 simultanément. \n"
1954                              "3 - Appuyer sur Start + Select simultanément.");
1955             break;
1956         case MENU_ENUM_LABEL_INPUT_ALL_USERS_CONTROL_MENU:
1957             snprintf(s, len, "Autorise n'importe quel utilisateur à contrôler le menu. \n"
1958                     " \n"
1959                     "Si désactivé, seul l'utilisateur 1 peut contrôler le menu.");
1960             break;
1961         case MENU_ENUM_LABEL_INPUT_AUTODETECT_ENABLE:
1962             snprintf(s, len,
1963                      "Active la détection automatique des touches.\n"
1964                              " \n"
1965                              "Cette option va tenter de configurer automatiquement \n"
1966                              "les manettes, style Plug-and-Play.");
1967             break;
1968         case MENU_ENUM_LABEL_CAMERA_ALLOW:
1969             snprintf(s, len,
1970                      "Autorise ou interdit l'accès à la caméra \n"
1971                              "par les cœurs.");
1972             break;
1973         case MENU_ENUM_LABEL_LOCATION_ALLOW:
1974             snprintf(s, len,
1975                      "Autorise ou interdit l'accès aux données de localisation \n"
1976                              "par les cœurs.");
1977             break;
1978         case MENU_ENUM_LABEL_TURBO:
1979             snprintf(s, len,
1980                      "Active le mode turbo.\n"
1981                              " \n"
1982                              "Maintenir le turbo tout en appuyant sur une \n"
1983                              "autre touche permet à la touche d'entrer dans \n"
1984                              "un mode turbo où son état est modulé \n"
1985                              "avec un signal périodique. \n"
1986                              " \n"
1987                              "La modulation s'arrête lorsque la touche \n"
1988                              "elle-même (pas la touche turbo) est relâchée.");
1989             break;
1990         case MENU_ENUM_LABEL_OSK_ENABLE:
1991             snprintf(s, len,
1992                      "Affiche/masque le clavier à l'écran.");
1993             break;
1994         case MENU_ENUM_LABEL_AUDIO_MUTE:
1995             snprintf(s, len,
1996                      "Active/désactive le son.");
1997             break;
1998         case MENU_ENUM_LABEL_REWIND:
1999             snprintf(s, len,
2000                      "Maintenir la touche pour rembobiner.\n"
2001                              " \n"
2002                              "Le rembobinage doit être activé.");
2003             break;
2004         case MENU_ENUM_LABEL_EXIT_EMULATOR:
2005             snprintf(s, len,
2006                      "Touche pour quitter RetroArch proprement."
2007 #if !defined(RARCH_MOBILE) && !defined(RARCH_CONSOLE)
2008                             "\nLe fermer de manière dure \n"
2009                             "(SIGKILL, etc.) quittera RetroArch\n"
2010                             "sanssauvegarder la RAM, etc. Sur\n"
2011                             "les Unix-likes, SIGINT/SIGTERM permet\n"
2012                             "une désinitialisation propre."
2013 #endif
2014             );
2015             break;
2016         case MENU_ENUM_LABEL_LOAD_STATE:
2017             snprintf(s, len,
2018                      "Charge une sauvegarde instantanée.");
2019             break;
2020         case MENU_ENUM_LABEL_SAVE_STATE:
2021             snprintf(s, len,
2022                      "Sauvegarde instantanée.");
2023             break;
2024         case MENU_ENUM_LABEL_NETPLAY_GAME_WATCH:
2025             snprintf(s, len,
2026                      "Basculer le jeu en réseau entre le mode jouer et le mode spectateur.");
2027             break;
2028         case MENU_ENUM_LABEL_CHEAT_INDEX_PLUS:
2029             snprintf(s, len,
2030                      "Incrémente l'index du cheat.\n");
2031             break;
2032         case MENU_ENUM_LABEL_CHEAT_INDEX_MINUS:
2033             snprintf(s, len,
2034                      "Décrémente l'index du cheat.\n");
2035             break;
2036         case MENU_ENUM_LABEL_SHADER_PREV:
2037             snprintf(s, len,
2038                      "Applique le shader précédent dans le dossier.");
2039             break;
2040         case MENU_ENUM_LABEL_SHADER_NEXT:
2041             snprintf(s, len,
2042                      "Applique le prochain shader dans le dossier.");
2043             break;
2044         case MENU_ENUM_LABEL_RESET:
2045             snprintf(s, len,
2046                      "Réinitialise le contenu.\n");
2047             break;
2048         case MENU_ENUM_LABEL_PAUSE_TOGGLE:
2049             snprintf(s, len,
2050                      "Bascule entre la mise en pause et la reprise.");
2051             break;
2052         case MENU_ENUM_LABEL_CHEAT_TOGGLE:
2053             snprintf(s, len,
2054                      "Active/désactive l'index du cheat.\n");
2055             break;
2056         case MENU_ENUM_LABEL_CHEAT_IDX:
2057             snprintf(s, len,
2058                      "Position d'index dans la liste.\n");
2059             break;
2060         case MENU_ENUM_LABEL_CHEAT_ADDRESS_BIT_POSITION:
2061             snprintf(s, len,
2062                      "Masque de bit d'adresse lorsque taille de la recherche en mémoire < 8-bit.\n");
2063             break;
2064         case MENU_ENUM_LABEL_CHEAT_REPEAT_COUNT:
2065             snprintf(s, len,
2066                      "Nombre de fois que le cheat sera appliqué.\nUtiliser avec les deux autres options d'itération pour affecter de grandes zones de mémoire.");
2067             break;
2068         case MENU_ENUM_LABEL_CHEAT_REPEAT_ADD_TO_ADDRESS:
2069             snprintf(s, len,
2070                      "Après chaque 'Nombre d'itérations' l'adresse mémoire sera incrémentée de ce montant multiplié par la 'Taille de la recherche dans la mémoire'.");
2071             break;
2072         case MENU_ENUM_LABEL_CHEAT_REPEAT_ADD_TO_VALUE:
2073             snprintf(s, len,
2074                      "Après chaque 'Nombre d'itérations' la valeur sera incrémentée de ce montant.");
2075             break;
2076         case MENU_ENUM_LABEL_CHEAT_MATCH_IDX:
2077             snprintf(s, len,
2078                      "Selectionner la correspondance à afficher.");
2079             break;
2080         case MENU_ENUM_LABEL_CHEAT_START_OR_CONT:
2081             snprintf(s, len,
2082                      "Rechercher dans la mémoire pour créer un nouveau cheat");
2083             break;
2084         case MENU_ENUM_LABEL_CHEAT_START_OR_RESTART:
2085             snprintf(s, len,
2086                      "Gauche/droite pour changer la taille de bits\n");
2087             break;
2088         case MENU_ENUM_LABEL_CHEAT_SEARCH_EXACT:
2089             snprintf(s, len,
2090                      "Gauche/droite pour changer la valeur\n");
2091             break;
2092         case MENU_ENUM_LABEL_CHEAT_SEARCH_LT:
2093             snprintf(s, len,
2094                      " ");
2095             break;
2096         case MENU_ENUM_LABEL_CHEAT_SEARCH_GT:
2097             snprintf(s, len,
2098                      " ");
2099             break;
2100         case MENU_ENUM_LABEL_CHEAT_SEARCH_EQ:
2101             snprintf(s, len,
2102                      " ");
2103             break;
2104         case MENU_ENUM_LABEL_CHEAT_SEARCH_NEQ:
2105             snprintf(s, len,
2106                      " ");
2107             break;
2108         case MENU_ENUM_LABEL_CHEAT_SEARCH_EQPLUS:
2109             snprintf(s, len,
2110                      "Gauche/droite pour changer la valeur\n");
2111             break;
2112         case MENU_ENUM_LABEL_CHEAT_SEARCH_EQMINUS:
2113             snprintf(s, len,
2114                      "Gauche/droite pour changer la valeur\n");
2115             break;
2116         case MENU_ENUM_LABEL_CHEAT_ADD_MATCHES:
2117             snprintf(s, len,
2118                      " ");
2119             break;
2120         case MENU_ENUM_LABEL_CHEAT_VIEW_MATCHES:
2121             snprintf(s, len,
2122                      " ");
2123             break;
2124         case MENU_ENUM_LABEL_CHEAT_CREATE_OPTION:
2125             snprintf(s, len,
2126                      " ");
2127             break;
2128         case MENU_ENUM_LABEL_CHEAT_DELETE_OPTION:
2129             snprintf(s, len,
2130                      " ");
2131             break;
2132         case MENU_ENUM_LABEL_CHEAT_ADD_NEW_TOP:
2133             snprintf(s, len,
2134                      " ");
2135             break;
2136         case MENU_ENUM_LABEL_CHEAT_RELOAD_CHEATS:
2137             snprintf(s, len,
2138                      " ");
2139             break;
2140         case MENU_ENUM_LABEL_CHEAT_ADD_NEW_BOTTOM:
2141             snprintf(s, len,
2142                      " ");
2143             break;
2144         case MENU_ENUM_LABEL_CHEAT_DELETE_ALL:
2145             snprintf(s, len,
2146                      " ");
2147             break;
2148         case MENU_ENUM_LABEL_CHEAT_BIG_ENDIAN:
2149             snprintf(s, len,
2150                      "Gros-boutienne  : 258 = 0x0102\n"
2151                      "Petit-boutienne : 258 = 0x0201");
2152             break;
2153         case MENU_ENUM_LABEL_HOLD_FAST_FORWARD:
2154             snprintf(s, len,
2155                      "Maintenir pour l'avance rapide. Relâcher la touche \n"
2156                              "désactive l'avance rapide.");
2157             break;
2158         case MENU_ENUM_LABEL_SLOWMOTION_HOLD:
2159             snprintf(s, len,
2160                      "Maintenir pour le ralenti.");
2161             break;
2162         case MENU_ENUM_LABEL_FRAME_ADVANCE:
2163             snprintf(s, len,
2164                      "Avance image par image lorsque le contenu est en pause.");
2165             break;
2166         case MENU_ENUM_LABEL_BSV_RECORD_TOGGLE:
2167             snprintf(s, len,
2168                      "Activer/désactiver l'enregistrement.");
2169             break;
2170         case MENU_ENUM_LABEL_L_X_PLUS:
2171         case MENU_ENUM_LABEL_L_X_MINUS:
2172         case MENU_ENUM_LABEL_L_Y_PLUS:
2173         case MENU_ENUM_LABEL_L_Y_MINUS:
2174         case MENU_ENUM_LABEL_R_X_PLUS:
2175         case MENU_ENUM_LABEL_R_X_MINUS:
2176         case MENU_ENUM_LABEL_R_Y_PLUS:
2177         case MENU_ENUM_LABEL_R_Y_MINUS:
2178             snprintf(s, len,
2179                      "Axe pour le stick analogique (DualShock-esque).\n"
2180                              " \n"
2181                              "Assigné normalement, cependant, si un axe analogique réel \n"
2182                              "est lié il peut être lu comme un véritable axe analogique.\n"
2183                              " \n"
2184                              "L'axe X positif est vers la droite. \n"
2185                              "L'axe Y positif est vers le bas.");
2186             break;
2187         case MENU_ENUM_LABEL_VALUE_WHAT_IS_A_CORE_DESC:
2188             snprintf(s, len,
2189                      "RetroArch par lui-même ne fait rien. \n"
2190                             " \n"
2191                             "Pour le faire faire des choses, vous devez y charger \n"
2192                             "un programme. \n"
2193                             "\n"
2194                             "Nous appelons un tel programme 'cœur Libretro', \n"
2195                             "ou 'cœur' en bref. \n"
2196                             " \n"
2197                             "Pour charger un cœur, sélectionnez-en un dans\n"
2198                             "'Charger un cœur'.\n"
2199                             " \n"
2200 #ifdef HAVE_NETWORKING
2201                     "Vous pouvez obtenir des cœurs de plusieurs manières : \n"
2202                     "* Téléchargez-les en allant dans\n"
2203                     "'%s' -> '%s'.\n"
2204                     "* Déplacez-les manuellement vers\n"
2205                     "'%s'.",
2206                     msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ONLINE_UPDATER),
2207                     msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_UPDATER_LIST),
2208                     msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LIBRETRO_DIR_PATH)
2209 #else
2210                             "Vous pouvez obtenir des cœurs\n"
2211                             "en les déplaçant manuellement vers\n"
2212                             "'%s'.",
2213                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LIBRETRO_DIR_PATH)
2214 #endif
2215             );
2216             break;
2217         case MENU_ENUM_LABEL_VALUE_HELP_CHANGE_VIRTUAL_GAMEPAD_DESC:
2218             snprintf(s, len,
2219                      "Vous pouvez changer la surimpression de manette de jeu virtuelle\n"
2220                              "en allant dans '%s' -> '%s'."
2221                              " \n"
2222                              "De là, vous pouvez changer la surimpression,\n"
2223                              "changer la taille et l'opacité des touches, etc.\n"
2224                              " \n"
2225                              "REMARQUE : Par défaut, les surimpressions de manettes\n"
2226                              "de jeu virtuelles sont masquées dans le menu.\n"
2227                              "Si vous souhaitez modifier ce comportement, vous pouvez\n"
2228                              "définir '%s' sur désactivé.",
2229                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SETTINGS),
2230                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OVERLAY_SETTINGS),
2231                      msg_hash_to_str(MENU_ENUM_LABEL_VALUE_INPUT_OVERLAY_HIDE_IN_MENU)
2232             );
2233             break;
2234         case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_ENABLE:
2235             snprintf(s, len,
2236                      "Active l'utilisation d'une couleur de fond pour le texte d'affichage à l'écran (OSD).");
2237             break;
2238         case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_RED:
2239             snprintf(s, len,
2240                      "Définit la valeur de rouge de la couleur d'arrière-plan du texte d'affichage à l'écran (OSD). Les valeurs valides sont comprises entre 0 et 255.");
2241             break;
2242         case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_GREEN:
2243             snprintf(s, len,
2244                      "Définit la valeur de vert de la couleur d'arrière-plan du texte d'affichage à l'écran (OSD). Les valeurs valides sont comprises entre 0 et 255.");
2245             break;
2246         case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_BLUE:
2247             snprintf(s, len,
2248                      "Définit la valeur de bleu de la couleur d'arrière-plan du texte d'affichage à l'écran (OSD). Les valeurs valides sont comprises entre 0 et 255.");
2249             break;
2250         case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_OPACITY:
2251             snprintf(s, len,
2252                      "Définit l'opacité de la couleur d'arrière-plan du texte d'affichage à l'écran (OSD). Les valeurs valides sont comprises entre 0.0 et 1.0.");
2253             break;
2254         case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_COLOR_RED:
2255             snprintf(s, len,
2256                      "Définit la valeur de rouge de la couleur du texte d'affichage à l'écran (OSD). Les valeurs valides sont comprises entre 0 et 255.");
2257             break;
2258         case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_COLOR_GREEN:
2259             snprintf(s, len,
2260                      "Définit la valeur de vert de la couleur du texte d'affichage à l'écran (OSD). Les valeurs valides sont comprises entre 0 et 255.");
2261             break;
2262         case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_COLOR_BLUE:
2263             snprintf(s, len,
2264                      "Définit la valeur de bleu de la couleur du texte d'affichage à l'écran (OSD). Les valeurs valides sont comprises entre 0 et 255.");
2265             break;
2266         case MENU_ENUM_LABEL_MIDI_DRIVER:
2267             snprintf(s, len,
2268                      "Pilote MIDI à utiliser.");
2269             break;
2270         case MENU_ENUM_LABEL_MIDI_INPUT:
2271             snprintf(s, len,
2272                      "Définit le périphérique d'entrée (spécifique au pilote).\n"
2273                      "Lorsque cette option est \"Off\", la sortie MIDI sera désactivée.\n"
2274                      "Le nom du périphérique peut aussi être entré manuellement.");
2275             break;
2276         case MENU_ENUM_LABEL_MIDI_OUTPUT:
2277             snprintf(s, len,
2278                      "Définit le périphérique de sortie (spécifique au pilote).\n"
2279                      "Lorsque cette option est \"Off\", la sortie MIDI sera désactivée.\n"
2280                      "Le nom du périphérique peut aussi être entré manuellement.\n"
2281                      " \n"
2282                      "Lorsque la sortie MIDI est activée et que le cœur et le jeu / l'application prennent en charge la sortie MIDI,\n"
2283                      "tout ou partie des sons (dépend du jeu/de l'application) sera généré par le périphérique MIDI.\n"
2284                      "Dans le cas du pilote MIDI \"null\" cela signifie que ces sons ne seront pas audibles.");
2285             break;
2286         case MENU_ENUM_LABEL_MIDI_VOLUME:
2287             snprintf(s, len,
2288                      "Définit le volume principal du périphérique de sortie.");
2289             break;
2290         default:
2291             if (string_is_empty(s))
2292                 strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
2293             return -1;
2294     }
2295 
2296     return 0;
2297 }
2298 #endif
2299 
2300 #ifdef HAVE_MENU
menu_hash_to_str_fr_label_enum(enum msg_hash_enums msg)2301 static const char *menu_hash_to_str_fr_label_enum(enum msg_hash_enums msg)
2302 {
2303    if (msg <= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_END &&
2304          msg >= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN)
2305    {
2306       static char hotkey_lbl[128] = {0};
2307       unsigned idx = msg - MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN;
2308       snprintf(hotkey_lbl, sizeof(hotkey_lbl), "input_hotkey_binds_%d", idx);
2309       return hotkey_lbl;
2310    }
2311 
2312    switch (msg)
2313    {
2314 #include "msg_hash_lbl.h"
2315       default:
2316 #if 0
2317          RARCH_LOG("Non implémenté : [%d]\n", msg);
2318 #endif
2319          break;
2320    }
2321 
2322    return "null";
2323 }
2324 #endif
2325 
msg_hash_to_str_fr(enum msg_hash_enums msg)2326 const char *msg_hash_to_str_fr(enum msg_hash_enums msg) {
2327 #ifdef HAVE_MENU
2328     const char *ret = menu_hash_to_str_fr_label_enum(msg);
2329 
2330     if (ret && !string_is_equal(ret, "null"))
2331        return ret;
2332 #endif
2333 
2334     switch (msg) {
2335 #include "msg_hash_fr.h"
2336         default:
2337 #if 0
2338             RARCH_LOG("Non implémenté : [%d]\n", msg);
2339             {
2340                RARCH_LOG("[%d] : %s\n", msg - 1, msg_hash_to_str(((enum msg_hash_enums)(msg - 1))));
2341             }
2342 #endif
2343             break;
2344     }
2345 
2346     return "null";
2347 }
2348