Merge pull request #3423 from bparker06/utf8

Initial UTF-8 support for rgui/xmb/glui. Enables first 256 codepoints.
This commit is contained in:
Twinaphex 2016-08-26 17:27:20 +02:00 committed by GitHub
commit 89d0798e68
17 changed files with 1748 additions and 1834 deletions

View File

@ -530,7 +530,7 @@ ifeq ($(HAVE_MENU_COMMON), 1)
menu/drivers/null.o
endif
ifeq ($(UTF8), 1)
ifneq ($(NO_UTF8), 1)
DEFINES += -DHAVE_UTF8
OBJ += intl/msg_hash_ru.o
DEFINES += -finput-charset=UTF-8

View File

@ -17,6 +17,7 @@
#include "../common/gl_common.h"
#include "../font_driver.h"
#include "../video_shader_driver.h"
#include <encodings/utf.h>
/* TODO: Move viewport side effects to the caller: it's a source of bugs. */
@ -216,7 +217,7 @@ static int gl_get_message_width(void *data, const char *msg,
for (i = 0; i < msg_len; i++)
{
const struct font_glyph *glyph =
font->font_driver->get_glyph(font->font_data, (uint8_t)msg[i]);
font->font_driver->get_glyph(font->font_data, msg[i]);
if (!glyph) /* Do something smarter here ... */
glyph = font->font_driver->get_glyph(font->font_data, '?');
@ -262,7 +263,7 @@ static void gl_raster_font_render_line(
unsigned i, msg_len;
struct video_coords coords;
GLfloat font_tex_coords[2 * 6 * MAX_MSG_LEN_CHUNK];
GLfloat font_vertex[2 * 6 * MAX_MSG_LEN_CHUNK];
GLfloat font_vertex[2 * 6 * MAX_MSG_LEN_CHUNK];
GLfloat font_color[4 * 6 * MAX_MSG_LEN_CHUNK];
GLfloat font_lut_tex_coord[2 * 6 * MAX_MSG_LEN_CHUNK];
gl_t *gl = font ? font->gl : NULL;
@ -298,7 +299,7 @@ static void gl_raster_font_render_line(
{
int off_x, off_y, tex_x, tex_y, width, height;
const struct font_glyph *glyph =
font->font_driver->get_glyph(font->font_data, (uint8_t)msg[i]);
font->font_driver->get_glyph(font->font_data, utf8_walk(&msg));
if (!glyph) /* Do something smarter here ... */
glyph = font->font_driver->get_glyph(font->font_data, '?');
@ -360,7 +361,7 @@ static void gl_raster_font_render_message(
/* If the font height is not supported just draw as usual */
if (!font->font_driver->get_line_height)
{
gl_raster_font_render_line(font, msg, strlen(msg),
gl_raster_font_render_line(font, msg, utf8len(msg),
scale, color, pos_x, pos_y, text_align);
return;
}
@ -384,7 +385,7 @@ static void gl_raster_font_render_message(
}
else
{
unsigned msg_len = strlen(msg);
unsigned msg_len = utf8len(msg);
gl_raster_font_render_line(font, msg, msg_len, scale, color, pos_x,
pos_y - (float)lines*line_height, text_align);
break;

View File

@ -17,15 +17,6 @@
#ifndef __INTL_FRENCH_H
#define __INTL_FRENCH_H
/* IMPORTANT:
* For non-english characters to work without proper unicode support,
* we need this file to be encoded in ISO 8859-1 (Latin1), not UTF-8.
* If you save this file as UTF-8, you'll break non-english characters
* (e.g. German "Umlauts" and Portugese diacritics).
*/
/* DO NOT REMOVE THIS. If it causes build failure, it's because you saved the file as UTF-8. Read the above comment. */
extern const char force_iso_8859_1[sizeof("àèéìòù")==6+1 ? 1 : -1];
#define RETRO_LBL_JOYPAD_B "Bouton RetroPad B"
#define RETRO_LBL_JOYPAD_Y "Bouton RetroPad Y"
#define RETRO_LBL_JOYPAD_SELECT "Bouton RetroPad Select"
@ -42,7 +33,7 @@ extern const char force_iso_8859_1[sizeof("
#define RETRO_LBL_JOYPAD_R2 "Bouton RetroPad R2"
#define RETRO_LBL_JOYPAD_L3 "Bouton RetroPad L3"
#define RETRO_LBL_JOYPAD_R3 "Bouton RetroPad R3"
#define RETRO_LBL_TURBO_ENABLE "Turbo Activé"
#define RETRO_LBL_TURBO_ENABLE "Turbo Activé"
#define RETRO_LBL_ANALOG_LEFT_X "Analogue Gauche X"
#define RETRO_LBL_ANALOG_LEFT_Y "Analogue Gauche Y"
#define RETRO_LBL_ANALOG_RIGHT_X "Analogue Droite X"
@ -59,21 +50,21 @@ extern const char force_iso_8859_1[sizeof("
#define RETRO_LBL_FAST_FORWARD_HOLD_KEY "Avance Rapide Appui Maintenu"
#define RETRO_LBL_LOAD_STATE_KEY "Charger une savestate"
#define RETRO_LBL_SAVE_STATE_KEY "Sauvegarder une savestate"
#define RETRO_LBL_FULLSCREEN_TOGGLE_KEY "Mode plein écran"
#define RETRO_LBL_FULLSCREEN_TOGGLE_KEY "Mode plein écran"
#define RETRO_LBL_QUIT_KEY "Quitter"
#define RETRO_LBL_STATE_SLOT_PLUS "État Slot Suivant"
#define RETRO_LBL_STATE_SLOT_MINUS "État Slot Antérieur"
#define RETRO_LBL_STATE_SLOT_PLUS "État Slot Suivant"
#define RETRO_LBL_STATE_SLOT_MINUS "État Slot Antérieur"
#define RETRO_LBL_REWIND "Rembobinage"
#define RETRO_LBL_MOVIE_RECORD_TOGGLE "Commutateur enregistrement vidéo"
#define RETRO_LBL_MOVIE_RECORD_TOGGLE "Commutateur enregistrement vidéo"
#define RETRO_LBL_PAUSE_TOGGLE "Pause"
#define RETRO_LBL_FRAMEADVANCE "Défiler image"
#define RETRO_LBL_FRAMEADVANCE "Défiler image"
#define RETRO_LBL_RESET "Reset"
#define RETRO_LBL_SHADER_NEXT "Prochain Shader"
#define RETRO_LBL_SHADER_PREV "Précédent Shader"
#define RETRO_LBL_SHADER_PREV "Précédent Shader"
#define RETRO_LBL_CHEAT_INDEX_PLUS "Index Cheat Suivant"
#define RETRO_LBL_CHEAT_INDEX_MINUS "Index Cheat Antérieur"
#define RETRO_LBL_CHEAT_INDEX_MINUS "Index Cheat Antérieur"
#define RETRO_LBL_CHEAT_TOGGLE "Commutateur Mode Triche"
#define RETRO_LBL_SCREENSHOT "Capture d'écran"
#define RETRO_LBL_SCREENSHOT "Capture d'écran"
#define RETRO_LBL_MUTE "Couper le son"
#define RETRO_LBL_OSK "Active le clavier visuel"
#define RETRO_LBL_NETPLAY_FLIP "Inversement des joueurs Netplay"
@ -82,9 +73,9 @@ extern const char force_iso_8859_1[sizeof("
#define RETRO_LBL_VOLUME_UP "Augmenter le volume"
#define RETRO_LBL_VOLUME_DOWN "Diminuer le volume"
#define RETRO_LBL_OVERLAY_NEXT "Prochain Overlay"
#define RETRO_LBL_DISK_EJECT_TOGGLE "Commutateur éjecter le disque"
#define RETRO_LBL_DISK_EJECT_TOGGLE "Commutateur éjecter le disque"
#define RETRO_LBL_DISK_NEXT "Prochain Changement Disque"
#define RETRO_LBL_DISK_PREV "Précédent Changement Disque"
#define RETRO_LBL_DISK_PREV "Précédent Changement Disque"
#define RETRO_LBL_GRAB_MOUSE_TOGGLE "Commutateur capturer la souris"
#define RETRO_LBL_MENU_TOGGLE "Commutateur Menu"

View File

@ -17,21 +17,12 @@
#ifndef __INTL_ITALIAN_H
#define __INTL_ITALIAN_H
/* IMPORTANT:
* For non-english characters to work without proper unicode support,
* we need this file to be encoded in ISO 8859-1 (Latin1), not UTF-8.
* If you save this file as UTF-8, you'll break non-english characters
* (e.g. German "Umlauts" and Portugese diacritics).
*/
/* DO NOT REMOVE THIS. If it causes build failure, it's because you saved the file as UTF-8. Read the above comment. */
extern const char force_iso_8859_1[sizeof("àèéìòù")==6+1 ? 1 : -1];
#define RETRO_LBL_JOYPAD_B "Tasto B RetroPad"
#define RETRO_LBL_JOYPAD_Y "Tasto Y RetroPad"
#define RETRO_LBL_JOYPAD_SELECT "Tasto Select RetroPad"
#define RETRO_LBL_JOYPAD_START "Tasto Start RetroPad"
#define RETRO_LBL_JOYPAD_UP "Croce direzionale Sù RetroPad"
#define RETRO_LBL_JOYPAD_DOWN "Croce direzionale Giù RetroPad"
#define RETRO_LBL_JOYPAD_UP "Croce direzionale Sù RetroPad"
#define RETRO_LBL_JOYPAD_DOWN "Croce direzionale Giù RetroPad"
#define RETRO_LBL_JOYPAD_LEFT "Croce direzionale Sinistra RetroPad"
#define RETRO_LBL_JOYPAD_RIGHT "Croce direzionale Destra RetroPad"
#define RETRO_LBL_JOYPAD_A "Tasto A RetroPad"
@ -86,6 +77,6 @@ extern const char force_iso_8859_1[sizeof("
#define RETRO_LBL_DISK_NEXT "Cambia Disco Successivo"
#define RETRO_LBL_DISK_PREV "Cambia Disco Precedente"
#define RETRO_LBL_GRAB_MOUSE_TOGGLE "Attiva presa mouse"
#define RETRO_LBL_MENU_TOGGLE "Menù a comparsa"
#define RETRO_LBL_MENU_TOGGLE "Menù a comparsa"
#endif

View File

@ -26,22 +26,11 @@
#pragma clang diagnostic ignored "-Winvalid-source-encoding"
#endif
/* IMPORTANT:
* For non-english characters to work without proper unicode support,
* we need this file to be encoded in ISO 8859-1 (Latin1), not UTF-8.
* If you save this file as UTF-8, you'll break non-english characters
* (e.g. German "Umlauts" and Portugese diacritics).
*/
/* DO NOT REMOVE THIS. If it causes build failure, it's because you saved the file as UTF-8. Read the above comment. */
extern const char force_iso_8859_1[sizeof("äÄöÖßüÜ")==7+1 ? 1 : -1];
int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
{
uint32_t driver_hash = 0;
settings_t *settings = config_get_ptr();
(void)sizeof(force_iso_8859_1);
switch (msg)
{
case MENU_ENUM_LABEL_CORE_LIST:
@ -50,12 +39,12 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
" \n"
"Suche nach einer Libretro-Core- \n"
"Implementierung. In welchem Verzeichnis der \n"
"Browser startet, hängt vom deinem Core-Verzeichnis \n"
"Browser startet, hängt vom deinem Core-Verzeichnis \n"
"ab. Falls du es nicht eingestellt hast, wird er \n"
"im Root-Verzeichnis starten. \n"
" \n"
"Ist das Core-Verzeichnis ein Ordner, wird das \n"
"Menü diesen als Startverzeichnis nutzen. Ist \n"
"Menü diesen als Startverzeichnis nutzen. Ist \n"
"das Core-Verzeichnis ein Pfad zu einer Datei, \n"
"wird es in dem Verzeichnis starten, in dem \n"
"sich die Datei befindet.");
@ -75,23 +64,23 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
snprintf(t, sizeof(t),
"udev-Eingabetreiber. \n"
" \n"
"Dieser Treiber kann ohne X ausgeführt werden. \n"
"Dieser Treiber kann ohne X ausgeführt werden. \n"
" \n"
"Er verwende die neue evdev-Joypad-API \n"
"für die Joystick-Unterstützung und unterstützt \n"
"für die Joystick-Unterstützung und unterstützt \n"
"auch Hotplugging und Force-Feedback (wenn das \n"
"Gerät dies unterstützt). \n"
"Gerät dies unterstützt). \n"
" \n"
);
snprintf(u, sizeof(u),
"Der Treiber liest evdev-Ereigniss für Tastatur- \n"
"Unterstützung und kann auch mit Tastatur-Callbacks, \n"
"Mäusen und Touchpads umgehen. \n"
"Der Treiber liest evdev-Ereigniss für Tastatur- \n"
"Unterstützung und kann auch mit Tastatur-Callbacks, \n"
"Mäusen und Touchpads umgehen. \n"
" \n"
"Standardmäßig sind die /dev/input-Dateien in den \n"
"meisten Linux-Distribution nur für den Root- \n"
"Standardmäßig sind die /dev/input-Dateien in den \n"
"meisten Linux-Distribution nur für den Root- \n"
"Benutzer lesbar (mode 600). Du kannst eine udev- \n"
"Regel erstellen, die auch den Zugriff für andere \n"
"Regel erstellen, die auch den Zugriff für andere \n"
"Benutzer erlaubt.");
strlcat(s, t, len);
strlcat(s, u, len);
@ -104,7 +93,7 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
"Dieser Treiber erforder eine aktive TTY-Schnittstelle. \n"
"Tastatur-Ereignisse werden direkt von der TTY gelesen, \n"
"was es einfacher, aber weniger flexibel als udev macht. \n"
"Mäuse, etc, werden nicht unterstützt. \n"
"Mäuse, etc, werden nicht unterstützt. \n"
" \n"
"Dieser Treiber verwendet die alte Joystick-API \n"
"(/dev/input/js*).");
@ -113,7 +102,7 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
snprintf(s, len,
"Eingabetreiber.\n"
" \n"
"Abhängig vom Grafiktreiber kann ein anderer Eingabe- \n"
"Abhängig vom Grafiktreiber kann ein anderer Eingabe- \n"
"treiber erzwungen werden.");
break;
}
@ -123,11 +112,11 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
"Lade Content. \n"
"Suche nach Content. \n"
" \n"
"Um Content zu laden benötigst du den passenden \n"
"Um Content zu laden benötigst du den passenden \n"
"Libretro-Core und die Content-Datei. \n"
" \n"
"Um einzustellen, welcher Ordner standardmäßig \n"
"geöffnet wird, um nach Content zu suchen, solltest \n"
"Um einzustellen, welcher Ordner standardmäßig \n"
"geöffnet wird, um nach Content zu suchen, solltest \n"
"du das Content-Verzeichnis setzen. Wenn es nicht \n"
"gesetzt ist, wird es im Root-Verzeichen starten. \n"
" \n"
@ -141,13 +130,13 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
"Lade Content aus dem Verlauf. \n"
" \n"
"Wenn Content geladen wird, wird der Content \n"
"sowie der dazugehörige Core im Verlauf gespeichert. \n"
"sowie der dazugehörige Core im Verlauf gespeichert. \n"
" \n"
"Der Verlauf wird im selben Verzeichnis wie die \n"
"RetroArch-Konfigurationsdatei gespeicher. Wenn \n"
"beim Start keine Konfigurationsdatei geladen wurde, \n"
"wird keine Verlauf geladen oder gespeichert und nicht \n"
"im Hauptmenü angezeigt."
"im Hauptmenü angezeigt."
);
break;
case MENU_ENUM_LABEL_VIDEO_DRIVER:
@ -164,7 +153,7 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
"verwenden. \n"
" \n"
"Die Leistung, sowohl bei software-gerenderten, \n"
"als auch bei Libretro-GL-Cores, hängt von dem \n"
"als auch bei Libretro-GL-Cores, hängt von dem \n"
"GL-Treiber deiner Grafikkarte ab.");
}
else if (string_is_equal(settings->video.driver, "sdl2"))
@ -175,7 +164,7 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
"Dies ist ein SDL2-Grafiktreiber \n"
"mit Software-Rendering."
" \n"
"Die Leistung hängt von der SDL- \n"
"Die Leistung hängt von der SDL- \n"
"Implementierung deiner Plattform ab.");
}
else if (string_is_equal(settings->video.driver, "sdl1"))
@ -188,7 +177,7 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
" \n"
"Die Leistung ist suboptimal und du \n"
"solltest ihn nur als letzte \n"
"Möglichkeit verwenden.");
"Möglichkeit verwenden.");
}
else if (string_is_equal(settings->video.driver, "d3d"))
{
@ -196,7 +185,7 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
"Direct3D-Grafiktreiber. \n"
" \n"
"Die Leistung bei software-gerenderten \n"
"Cores hängt von dem D3D-Treiber deiner \n"
"Cores hängt von dem D3D-Treiber deiner \n"
"Grafikkarte ab.");
}
else if (string_is_equal(settings->video.driver, "exynos"))
@ -206,7 +195,7 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
" \n"
"Dies ist ein Low-Level-Exynos-Grafiktreiber. \n"
"Er verwendet den G2D-Block in Samsung-Exynos-SoCs. \n"
"für Blitting-Operationen. \n"
"für Blitting-Operationen. \n"
" \n"
"Die Leistung bei software-gerendeten Cores sollte \n"
"optimal sein.");
@ -264,18 +253,18 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
"HLSL"
#endif
"-Voreinstellung. \n"
"Das Menüshader-Menü wird entsprechend \n"
"Das Menüshader-Menü wird entsprechend \n"
"aktualisiert."
" \n"
"Wenn der CGP komplexe Methoden verwendet, \n"
"(also andere als Quellskalierung mit dem \n"
"selben Faktor für X/Y) kann der im Menü \n"
"selben Faktor für X/Y) kann der im Menü \n"
"angezeigte Skalierungsfaktor inkorrekt sein."
);
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_SCALE_PASS:
snprintf(s, len,
"Für diesen Durchgang skalieren. \n"
"Für diesen Durchgang skalieren. \n"
" \n"
"Der Skalierungsfaktor wird multipliziert, \n"
"d.h. 2x im ersten Durchgang und 2x im \n"
@ -285,24 +274,24 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
"Wenn es im letzten Durchgang einen \n"
"Skalierungsfaktor gibt, wird das Ergebnis \n"
"mit dem als 'Standardfilter' eingestellten \n"
"Filter auf die Bildschirmgröße gestreckt. \n"
"Filter auf die Bildschirmgröße gestreckt. \n"
" \n"
"Wenn 'Mir egal' eingestellt ist, wird \n"
"entweder einfache Skalierung or Vollbild- \n"
"Streckung verwendet - abhängig davon, ob \n"
"Streckung verwendet - abhängig davon, ob \n"
"es der letzte Durchgang ist oder nicht."
);
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_NUM_PASSES:
snprintf(s, len,
"Shader-Durchgänge. \n"
"Shader-Durchgänge. \n"
" \n"
"RetroArch erlaubt es dir, verschiedene Shader \n"
"in verschiedenen Durchgängen miteinander zu \n"
"in verschiedenen Durchgängen miteinander zu \n"
"kombinieren. \n"
" \n"
"Diese Option legt die Anzahl der Shader- \n"
"Durchgänge fest. Wenn du die Anzahl auf 0 setzt, \n"
"Durchgänge fest. Wenn du die Anzahl auf 0 setzt, \n"
"verwendest du einen 'leeren' Shader."
" \n"
"Die 'Standardfilter'-Option beeinflusst den \n"
@ -312,15 +301,15 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
snprintf(s, len,
"Shader-Parameter. \n"
" \n"
"Verändert den momentanen Shader. Wird nicht in \n"
"Verändert den momentanen Shader. Wird nicht in \n"
"der CGP/GLSLP-Voreinstellungs-Datei gespeichert.");
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_PARAMETERS:
snprintf(s, len,
"Shader-Voreinstellung-Parameter. \n"
" \n"
"Verändert die Shader-Voreinstellung, die aktuell \n"
"im Menü aktiv ist."
"Verändert die Shader-Voreinstellung, die aktuell \n"
"im Menü aktiv ist."
);
break;
/*
@ -336,9 +325,9 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
break;
case MENU_ENUM_LABEL_REWIND:
snprintf(s, len,
"Halte die Taste zum Zurückspulen gedrückt.\n"
"Halte die Taste zum Zurückspulen gedrückt.\n"
" \n"
"Die Zurückspulfunktion muss eingeschaltet \n"
"Die Zurückspulfunktion muss eingeschaltet \n"
"sein.");
break;
case MENU_ENUM_LABEL_EXIT_EMULATOR:
@ -355,7 +344,7 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
break;
case MENU_ENUM_LABEL_LOAD_STATE:
snprintf(s, len,
"Lädt einen Savestate.");
"Lädt einen Savestate.");
break;
case MENU_ENUM_LABEL_SAVE_STATE:
snprintf(s, len,
@ -367,7 +356,7 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
break;
case MENU_ENUM_LABEL_CHEAT_INDEX_PLUS:
snprintf(s, len,
"Erhöht den Cheat-Index.\n");
"Erhöht den Cheat-Index.\n");
break;
case MENU_ENUM_LABEL_CHEAT_INDEX_MINUS:
snprintf(s, len,
@ -379,11 +368,11 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
break;
case MENU_ENUM_LABEL_SHADER_NEXT:
snprintf(s, len,
"Wendet nächsten Shader im Verzeichnis an.");
"Wendet nächsten Shader im Verzeichnis an.");
break;
case MENU_ENUM_LABEL_RESET:
snprintf(s, len,
"Setzt den Content zurück.\n");
"Setzt den Content zurück.\n");
break;
case MENU_ENUM_LABEL_PAUSE_TOGGLE:
snprintf(s, len,
@ -395,12 +384,12 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
break;
case MENU_ENUM_LABEL_HOLD_FAST_FORWARD:
snprintf(s, len,
"Halte den Knopf gedrückt, um vorzuspulen. Beim Loslassen \n"
"Halte den Knopf gedrückt, um vorzuspulen. Beim Loslassen \n"
"wird das Vorspulen beendet.");
break;
case MENU_ENUM_LABEL_SLOWMOTION:
snprintf(s, len,
"Halte den Knopf gedrückt, um die Zeitlupe einzuschalten.");
"Halte den Knopf gedrückt, um die Zeitlupe einzuschalten.");
break;
case MENU_ENUM_LABEL_FRAME_ADVANCE:
snprintf(s, len,
@ -419,9 +408,9 @@ int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len)
case MENU_ENUM_LABEL_R_Y_PLUS:
case MENU_ENUM_LABEL_R_Y_MINUS:
snprintf(s, len,
"Achse für Analog-Stick (DualShock-artig).\n"
"Achse für Analog-Stick (DualShock-artig).\n"
" \n"
"Zugewiesen wie gewöhnlich, wenn jedoch eine echte \n"
"Zugewiesen wie gewöhnlich, wenn jedoch eine echte \n"
"Analogachse zugewiesen wird, kann sie auch wirklich \n"
"analog gelesen werden.\n"
" \n"
@ -458,17 +447,17 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE:
return "Lade Archiv";
case MENU_ENUM_LABEL_VALUE_OPEN_ARCHIVE:
return "Öffne Archiv";
return "Öffne Archiv";
case MENU_ENUM_LABEL_VALUE_ASK_ARCHIVE:
return "Nachfragen";
case MENU_ENUM_LABEL_VALUE_PRIVACY_SETTINGS:
return "Privatsphäre-Einstellungen";
return "Privatsphäre-Einstellungen";
case MENU_ENUM_LABEL_VALUE_HORIZONTAL_MENU: /* Don't change. Breaks everything. (Would be: "Horizontales Menu") */
return "Horizontal Menu";
case MENU_ENUM_LABEL_VALUE_NO_SETTINGS_FOUND:
return "Keine Einstellungen gefunden.";
case MENU_ENUM_LABEL_VALUE_NO_PERFORMANCE_COUNTERS:
return "Keine Leistungszähler.";
return "Keine Leistungszähler.";
case MENU_ENUM_LABEL_VALUE_DRIVER_SETTINGS:
return "Treiber-Einstellungen";
case MENU_ENUM_LABEL_VALUE_CONFIGURATION_SETTINGS:
@ -482,7 +471,7 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_SAVING_SETTINGS:
return "Spielstand-Einstellungen";
case MENU_ENUM_LABEL_VALUE_REWIND_SETTINGS:
return "Zurückspul-Einstellungen";
return "Zurückspul-Einstellungen";
case MENU_ENUM_LABEL_VALUE_SHADER:
return "Shader";
case MENU_ENUM_LABEL_VALUE_CHEAT:
@ -506,7 +495,7 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_VIDEO_FONT_PATH:
return "Schriftart der OSD-Nachrichten";
case MENU_ENUM_LABEL_VALUE_VIDEO_FONT_SIZE:
return "Schriftgröße der OSD-Nachrichten";
return "Schriftgröße der OSD-Nachrichten";
case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_POS_X:
return "X-Position der OSD-Nachrichten";
case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_POS_Y:
@ -524,17 +513,17 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_LINEAR:
return "Linear";
case MENU_ENUM_LABEL_VALUE_NEAREST:
return "Nächster";
return "Nächster";
case MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT:
return "<Voreinstellung>";
case MENU_ENUM_LABEL_VALUE_DIRECTORY_NONE:
return "<Keins>";
case MENU_ENUM_LABEL_VALUE_NOT_AVAILABLE:
return "Nicht verfügbar";
return "Nicht verfügbar";
case MENU_ENUM_LABEL_VALUE_INPUT_REMAPPING_DIRECTORY: /* UPDATE/FIXME */
return "Eingabebelegungs-Verzeichnis";
case MENU_ENUM_LABEL_VALUE_JOYPAD_AUTOCONFIG_DIR:
return "Eingabegerät-Autoconfig-Verzeichnis";
return "Eingabegerät-Autoconfig-Verzeichnis";
case MENU_ENUM_LABEL_VALUE_RECORDING_CONFIG_DIRECTORY:
return "Aufnahme-Konfigurationsverzeichnis";
case MENU_ENUM_LABEL_VALUE_RECORDING_OUTPUT_DIRECTORY:
@ -568,7 +557,7 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_ASSETS_DIRECTORY:
return "Assets-Verzeichnis";
case MENU_ENUM_LABEL_VALUE_DYNAMIC_WALLPAPERS_DIRECTORY:
return "Dynamische-Bildschirmhintergründe-Verzeichnis";
return "Dynamische-Bildschirmhintergründe-Verzeichnis";
case MENU_ENUM_LABEL_VALUE_RGUI_BROWSER_DIRECTORY:
return "Browser-Directory";
case MENU_ENUM_LABEL_VALUE_RGUI_CONFIG_DIRECTORY:
@ -602,35 +591,35 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_NETPLAY_SPECTATOR_MODE_ENABLE:
return "Aktiviere Netplay-Zuschauermodus";
case MENU_ENUM_LABEL_VALUE_NETPLAY_IP_ADDRESS:
return "IP-Addresse für Netplay";
return "IP-Addresse für Netplay";
case MENU_ENUM_LABEL_VALUE_NETPLAY_TCP_UDP_PORT:
return "TCP/UDP-Port für Netplay";
return "TCP/UDP-Port für Netplay";
case MENU_ENUM_LABEL_VALUE_NETPLAY_ENABLE:
return "Aktiviere Netplay";
case MENU_ENUM_LABEL_VALUE_NETPLAY_DELAY_FRAMES:
return "Verzögere Netplay-Frames";
return "Verzögere Netplay-Frames";
case MENU_ENUM_LABEL_VALUE_NETPLAY_MODE:
return "Aktiviere Netplay-Client";
case MENU_ENUM_LABEL_VALUE_RGUI_SHOW_START_SCREEN:
return "Zeige Startbildschirm";
case MENU_ENUM_LABEL_VALUE_TITLE_COLOR:
return "Menü-Titel-Farbe";
return "Menü-Titel-Farbe";
case MENU_ENUM_LABEL_VALUE_ENTRY_HOVER_COLOR:
return "Hover-Farbe für Menü-Einträge";
return "Hover-Farbe für Menü-Einträge";
case MENU_ENUM_LABEL_VALUE_TIMEDATE_ENABLE:
return "Zeige Uhrzeit / Datum";
case MENU_ENUM_LABEL_VALUE_THREADED_DATA_RUNLOOP_ENABLE:
return "Threaded Data Runloop";
case MENU_ENUM_LABEL_VALUE_ENTRY_NORMAL_COLOR:
return "Normale Farbe für Menü-Einträge";
return "Normale Farbe für Menü-Einträge";
case MENU_ENUM_LABEL_VALUE_SHOW_ADVANCED_SETTINGS:
return "Zeige erweitere Einstellungen";
case MENU_ENUM_LABEL_VALUE_COLLAPSE_SUBGROUPS_ENABLE:
return "Untergruppen einklappen";
case MENU_ENUM_LABEL_VALUE_MOUSE_ENABLE:
return "Maus-Unterstützung";
return "Maus-Unterstützung";
case MENU_ENUM_LABEL_VALUE_POINTER_ENABLE:
return "Touch-Unterstützung";
return "Touch-Unterstützung";
case MENU_ENUM_LABEL_VALUE_CORE_ENABLE:
return "Zeige Core-Namen";
case MENU_ENUM_LABEL_VALUE_DPI_OVERRIDE_ENABLE:
@ -646,31 +635,31 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_UI_COMPANION_START_ON_BOOT:
return "UI-Companion beim Hochfahren starten";
case MENU_ENUM_LABEL_VALUE_UI_MENUBAR_ENABLE:
return "Menüleiste";
return "Menüleiste";
case MENU_ENUM_LABEL_VALUE_ARCHIVE_MODE:
return "Verknüpfte Aktion bei Archivdateien";
return "Verknüpfte Aktion bei Archivdateien";
case MENU_ENUM_LABEL_VALUE_NETWORK_CMD_ENABLE:
return "Netzwerk-Befehle";
case MENU_ENUM_LABEL_VALUE_NETWORK_CMD_PORT:
return "Port für Netzwerk-Befehle";
return "Port für Netzwerk-Befehle";
case MENU_ENUM_LABEL_VALUE_HISTORY_LIST_ENABLE:
return "Aktiviere Verlaufsliste";
case MENU_ENUM_LABEL_VALUE_CONTENT_HISTORY_SIZE:
return "Länge der Verlaufsliste";
return "Länge der Verlaufsliste";
case MENU_ENUM_LABEL_VALUE_VIDEO_REFRESH_RATE_AUTO:
return "Geschätzte Monitor-Bildrate";
return "Geschätzte Monitor-Bildrate";
case MENU_ENUM_LABEL_VALUE_DUMMY_ON_CORE_SHUTDOWN:
return "Dummy bei Core-Abschaltung";
case MENU_ENUM_LABEL_VALUE_CORE_SET_SUPPORTS_NO_CONTENT_ENABLE: /* TODO/FIXME */
return "Cores nicht automatisch starten";
case MENU_ENUM_LABEL_VALUE_FRAME_THROTTLE_ENABLE:
return "Begrenze maximale Ausführungsgeschwindigkeit";
return "Begrenze maximale Ausführungsgeschwindigkeit";
case MENU_ENUM_LABEL_VALUE_FASTFORWARD_RATIO:
return "Maximale Ausführungsgeschwindigkeitd";
return "Maximale Ausführungsgeschwindigkeitd";
case MENU_ENUM_LABEL_VALUE_AUTO_REMAPS_ENABLE:
return "Lade Remap-Dateien automatisch";
case MENU_ENUM_LABEL_VALUE_SLOWMOTION_RATIO:
return "Zeitlupen-Verhältnis";
return "Zeitlupen-Verhältnis";
case MENU_ENUM_LABEL_VALUE_CORE_SPECIFIC_CONFIG:
return "Core-Spezifische Konfiguration";
case MENU_ENUM_LABEL_VALUE_AUTO_OVERRIDES_ENABLE:
@ -696,13 +685,13 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_VIDEO_GPU_SCREENSHOT:
return "Aktiviere GPU-Bildschirmfotos";
case MENU_ENUM_LABEL_VALUE_VIDEO_CROP_OVERSCAN:
return "Bildränder (Overscan) zuschneiden (Neustart erforderlich)";
return "Bildränder (Overscan) zuschneiden (Neustart erforderlich)";
case MENU_ENUM_LABEL_VALUE_VIDEO_ASPECT_RATIO_INDEX:
return "Bildseitenverhältnis-Index";
return "Bildseitenverhältnis-Index";
case MENU_ENUM_LABEL_VALUE_VIDEO_ASPECT_RATIO_AUTO:
return "Automatisches Bildseitenverhältnis";
return "Automatisches Bildseitenverhältnis";
case MENU_ENUM_LABEL_VALUE_VIDEO_FORCE_ASPECT:
return "Erzwinge Bildseitenverhältnis";
return "Erzwinge Bildseitenverhältnis";
case MENU_ENUM_LABEL_VALUE_VIDEO_REFRESH_RATE:
return "Bildwiederholrate";
case MENU_ENUM_LABEL_VALUE_VIDEO_FORCE_SRGB_DISABLE:
@ -734,7 +723,7 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_LIBRETRO_LOG_LEVEL:
return "Core-Logging-Stufe";
case MENU_ENUM_LABEL_VALUE_LOG_VERBOSITY:
return "Log-Ausführlichkeit";
return "Log-Ausführlichkeit";
case MENU_ENUM_LABEL_VALUE_SAVESTATE_AUTO_LOAD:
return "Automatisches Laden von Save States";
case MENU_ENUM_LABEL_VALUE_SAVESTATE_AUTO_INDEX:
@ -744,7 +733,7 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_AUTOSAVE_INTERVAL:
return "Autospeicherungsintervall";
case MENU_ENUM_LABEL_VALUE_BLOCK_SRAM_OVERWRITE:
return "Blockiere SRAM-Überschreibung";
return "Blockiere SRAM-Überschreibung";
case MENU_ENUM_LABEL_VALUE_VIDEO_SHARED_CONTEXT:
return "HW-Shared-Context aktivieren";
case MENU_ENUM_LABEL_VALUE_RESTART_RETROARCH:
@ -758,7 +747,7 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_LOCATION_ALLOW:
return "Erlaube Standort-Lokalisierung";
case MENU_ENUM_LABEL_VALUE_PAUSE_LIBRETRO:
return "Pausiere, wenn das Menü aktiv ist";
return "Pausiere, wenn das Menü aktiv ist";
case MENU_ENUM_LABEL_VALUE_INPUT_OSK_OVERLAY_ENABLE:
return "Zeige Tastatur-Overlay";
case MENU_ENUM_LABEL_VALUE_INPUT_OVERLAY_ENABLE:
@ -766,7 +755,7 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_VIDEO_MONITOR_INDEX:
return "Monitor-Index";
case MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_DELAY:
return "Bildverzögerung";
return "Bildverzögerung";
case MENU_ENUM_LABEL_VALUE_INPUT_DUTY_CYCLE:
return "Auslastungsgrad";
case MENU_ENUM_LABEL_VALUE_INPUT_TURBO_PERIOD:
@ -784,17 +773,17 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_AUDIO_MAX_TIMING_SKEW:
return "Maximaler Audioversatz";
case MENU_ENUM_LABEL_VALUE_CHEAT_NUM_PASSES:
return "Cheat-Durchgänge";
return "Cheat-Durchgänge";
case MENU_ENUM_LABEL_VALUE_REMAP_FILE_SAVE_CORE:
return "Speichere Core-Remap-Datei";
case MENU_ENUM_LABEL_VALUE_REMAP_FILE_SAVE_GAME:
return "Speichere Spiel-Remap-Datei";
case MENU_ENUM_LABEL_VALUE_CHEAT_APPLY_CHANGES:
return "Änderungen übernehmen";
return "Änderungen übernehmen";
case MENU_ENUM_LABEL_VALUE_SHADER_APPLY_CHANGES:
return "Änderungen übernehmen";
return "Änderungen übernehmen";
case MENU_ENUM_LABEL_VALUE_REWIND_ENABLE:
return "Zurückspulen (Rewind) aktivieren";
return "Zurückspulen (Rewind) aktivieren";
case MENU_ENUM_LABEL_VALUE_CONTENT_COLLECTION_LIST:
return "Lade Content (Sammlung)"; /* FIXME */
case MENU_ENUM_LABEL_VALUE_DETECT_CORE_LIST:
@ -808,29 +797,29 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_AUDIO_MUTE:
return "Stumm";
case MENU_ENUM_LABEL_VALUE_AUDIO_VOLUME:
return "Lautstärke (dB)";
return "Lautstärke (dB)";
case MENU_ENUM_LABEL_VALUE_AUDIO_SYNC:
return "Synchronisiere Audio";
case MENU_ENUM_LABEL_VALUE_AUDIO_RATE_CONTROL_DELTA:
return "Audio Rate Control Delta";
case MENU_ENUM_LABEL_VALUE_VIDEO_SHADER_NUM_PASSES:
return "Shader-Durchgänge"; /* FIXME */
return "Shader-Durchgänge"; /* FIXME */
case MENU_ENUM_LABEL_VALUE_RDB_ENTRY_SHA1:
return "SHA1";
case MENU_ENUM_LABEL_VALUE_CONFIGURATIONS:
return "Lade Konfigurationsdatei"; /* FIXME/UPDATE */
case MENU_ENUM_LABEL_VALUE_REWIND_GRANULARITY:
return "Genauigkeit des Zurückspulens (Rewind)";
return "Genauigkeit des Zurückspulens (Rewind)";
case MENU_ENUM_LABEL_VALUE_REMAP_FILE_LOAD:
return "Lade Remap-Datei";
case MENU_ENUM_LABEL_VALUE_CUSTOM_RATIO:
return "Benutzerdefiniertes Verhältnis";
return "Benutzerdefiniertes Verhältnis";
case MENU_ENUM_LABEL_VALUE_USE_THIS_DIRECTORY:
return "<Diesen Ordner verwenden>";
case MENU_ENUM_LABEL_VALUE_RDB_ENTRY_START_CONTENT:
return "Starte Content";
case MENU_ENUM_LABEL_VALUE_DISK_OPTIONS: /* UPDATE/FIXME */
return "Datenträger-Optionen";
return "Datenträger-Optionen";
case MENU_ENUM_LABEL_VALUE_CORE_OPTIONS:
return "Optionen";
case MENU_ENUM_LABEL_VALUE_CORE_CHEAT_OPTIONS:
@ -840,27 +829,27 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_CHEAT_FILE_SAVE_AS:
return "Speichere Cheat-Datei unter...";
case MENU_ENUM_LABEL_VALUE_CORE_COUNTERS:
return "Core-Zähler";
return "Core-Zähler";
case MENU_ENUM_LABEL_VALUE_TAKE_SCREENSHOT:
return "Bildschirmfoto";
case MENU_ENUM_LABEL_VALUE_RESUME:
return "Fortsetzen";
case MENU_ENUM_LABEL_VALUE_DISK_INDEX:
return "Datenträger-Nummer";
return "Datenträger-Nummer";
case MENU_ENUM_LABEL_VALUE_FRONTEND_COUNTERS:
return "Frontendzähler";
return "Frontendzähler";
case MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND:
return "Füge Datenträgerabbild hinzu";
return "Füge Datenträgerabbild hinzu";
case MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS:
return "Datenträgerstatus";
return "Datenträgerstatus";
case MENU_ENUM_LABEL_VALUE_NO_PLAYLIST_ENTRIES_AVAILABLE:
return "Keine Wiedergabelisten-Eintrage verfügbar.";
return "Keine Wiedergabelisten-Eintrage verfügbar.";
case MENU_ENUM_LABEL_VALUE_NO_CORE_INFORMATION_AVAILABLE:
return "Keine Core-Informationen verfügbar.";
return "Keine Core-Informationen verfügbar.";
case MENU_ENUM_LABEL_VALUE_NO_CORE_OPTIONS_AVAILABLE:
return "Keine Core-Optionen verfügbar.";
return "Keine Core-Optionen verfügbar.";
case MENU_ENUM_LABEL_VALUE_NO_CORES_AVAILABLE:
return "Kein Core verfügbar.";
return "Kein Core verfügbar.";
case MENU_ENUM_LABEL_VALUE_NO_CORE:
return "Kein Core";
case MENU_ENUM_LABEL_VALUE_DATABASE_MANAGER:
@ -868,7 +857,7 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_CURSOR_MANAGER:
return "Cursormanager";
case MENU_ENUM_LABEL_VALUE_MAIN_MENU:
return "Hauptmenü";
return "Hauptmenü";
case MENU_ENUM_LABEL_VALUE_SETTINGS:
return "Einstellungen";
case MENU_ENUM_LABEL_VALUE_QUIT_RETROARCH:
@ -900,13 +889,13 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_DIRECTORY_NOT_FOUND:
return "Ordner nicht gefunden.";
case MENU_ENUM_LABEL_VALUE_NO_ITEMS:
return "Keine Einträge.";
return "Keine Einträge.";
case MENU_ENUM_LABEL_VALUE_CORE_LIST:
return "Lade Core";
case MENU_ENUM_LABEL_VALUE_LOAD_CONTENT:
return "Lade Content"; /* FIXME */
case MENU_ENUM_LABEL_VALUE_CLOSE_CONTENT:
return "Schließe";
return "Schließe";
case MENU_ENUM_LABEL_VALUE_MANAGEMENT:
return "Datenbank-Einstellungen";
case MENU_ENUM_LABEL_VALUE_SAVE_STATE:
@ -926,7 +915,7 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_RECORD_DRIVER:
return "Aufnahme-Treiber";
case MENU_ENUM_LABEL_VALUE_MENU_DRIVER:
return "Menü-Treiber";
return "Menü-Treiber";
case MENU_ENUM_LABEL_VALUE_CAMERA_DRIVER:
return "Kamera-Treiber";
case MENU_ENUM_LABEL_VALUE_LOCATION_DRIVER:
@ -946,7 +935,7 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_OVERLAY_OPACITY:
return "Overlay-Transparenz";
case MENU_ENUM_LABEL_VALUE_MENU_WALLPAPER:
return "Menühintergrund";
return "Menühintergrund";
case MENU_ENUM_LABEL_VALUE_DYNAMIC_WALLPAPER:
return "Dynamischer Hintergrund";
case MENU_ENUM_LABEL_VALUE_CORE_INPUT_REMAPPING_OPTIONS: /* UPDATE/FIXME */
@ -956,7 +945,7 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_VIDEO_SHADER_PARAMETERS:
return "Momentane Shaderparameter"; /* FIXME/UPDATE */
case MENU_ENUM_LABEL_VALUE_VIDEO_SHADER_PRESET_PARAMETERS:
return "Menü Shaderparameter (Menü)";
return "Menü Shaderparameter (Menü)";
case MENU_ENUM_LABEL_VALUE_VIDEO_SHADER_PRESET_SAVE_AS:
return "Speiche Shader-Voreinstellung unter...";
case MENU_ENUM_LABEL_VALUE_NO_SHADER_PARAMETERS:
@ -1006,7 +995,7 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_CORE_INFO_LICENSES:
return "Lizenz(en)";
case MENU_ENUM_LABEL_VALUE_CORE_INFO_SUPPORTED_EXTENSIONS:
return "Unterstütze Erweiterungen";
return "Unterstütze Erweiterungen";
case MENU_ENUM_LABEL_VALUE_CORE_INFO_FIRMWARE:
return "Firmware";
case MENU_ENUM_LABEL_VALUE_CORE_INFO_CORE_NOTES:
@ -1030,115 +1019,115 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_POWER_SOURCE_NO_SOURCE:
return "Keine Quelle";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_POWER_SOURCE_CHARGING:
return "Lädt";
return "Lädt";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_POWER_SOURCE_CHARGED:
return "Geladen";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_POWER_SOURCE_DISCHARGING:
return "Entlädt";
return "Entlädt";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_VIDEO_CONTEXT_DRIVER:
return "Video-Context-Treiber";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_DISPLAY_METRIC_MM_WIDTH:
return "Bildschirmbreite (mm)";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_DISPLAY_METRIC_MM_HEIGHT:
return "Bildschirmhöhe (mm)";
return "Bildschirmhöhe (mm)";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_DISPLAY_METRIC_DPI:
return "Bildschirm-DPI";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_LIBRETRODB_SUPPORT:
return "LibretroDB-Unterstützung";
return "LibretroDB-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_OVERLAY_SUPPORT:
return "Overlay-Unterstützung";
return "Overlay-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_COMMAND_IFACE_SUPPORT:
return "Befehlsinterface-Unterstützung";
return "Befehlsinterface-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_NETWORK_COMMAND_IFACE_SUPPORT:
return "Netzwerk-Befehlsinterface-Unterstützung";
return "Netzwerk-Befehlsinterface-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_COCOA_SUPPORT:
return "Cocoa-Unterstützung";
return "Cocoa-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_RPNG_SUPPORT:
return "PNG-Unterstützung (RPNG)";
return "PNG-Unterstützung (RPNG)";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_SDL_SUPPORT:
return "SDL1.2-Unterstützung";
return "SDL1.2-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_SDL2_SUPPORT:
return "SDL2-Unterstützung";
return "SDL2-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_OPENGL_SUPPORT:
return "OpenGL-Unterstützung";
return "OpenGL-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_OPENGLES_SUPPORT:
return "OpenGL-ES-Unterstützung";
return "OpenGL-ES-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_THREADING_SUPPORT:
return "Threading-Unterstützung";
return "Threading-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_KMS_SUPPORT:
return "KMS/EGL-Unterstützung";
return "KMS/EGL-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_UDEV_SUPPORT:
return "Udev-Unterstützung";
return "Udev-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_OPENVG_SUPPORT:
return "OpenVG-Unterstützung";
return "OpenVG-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_EGL_SUPPORT:
return "EGL-Unterstützung";
return "EGL-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_X11_SUPPORT:
return "X11-Unterstützung";
return "X11-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_WAYLAND_SUPPORT:
return "Wayland-Unterstützung";
return "Wayland-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_XVIDEO_SUPPORT:
return "XVideo-Unterstützung";
return "XVideo-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_ALSA_SUPPORT:
return "ALSA-Unterstützung";
return "ALSA-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_OSS_SUPPORT:
return "OSS-Unterstützung";
return "OSS-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_OPENAL_SUPPORT:
return "OpenAL-Unterstützung";
return "OpenAL-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_OPENSL_SUPPORT:
return "OpenSL-Unterstützung";
return "OpenSL-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_RSOUND_SUPPORT:
return "RSound-Unterstützung";
return "RSound-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_ROARAUDIO_SUPPORT:
return "RoarAudio-Unterstützung";
return "RoarAudio-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_JACK_SUPPORT:
return "JACK-Unterstützung";
return "JACK-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_PULSEAUDIO_SUPPORT:
return "PulseAudio-Unterstützung";
return "PulseAudio-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_DSOUND_SUPPORT:
return "DirectSound-Unterstützung";
return "DirectSound-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_XAUDIO2_SUPPORT:
return "XAudio2-Unterstützung";
return "XAudio2-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_ZLIB_SUPPORT:
return "Zlib-Unterstützung";
return "Zlib-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_7ZIP_SUPPORT:
return "7zip-Unterstützung";
return "7zip-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_DYLIB_SUPPORT:
return "Dynamic-Library-Unterstützung";
return "Dynamic-Library-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_CG_SUPPORT:
return "Cg-Unterstützung";
return "Cg-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_GLSL_SUPPORT:
return "GLSL-Unterstützung";
return "GLSL-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_HLSL_SUPPORT:
return "HLSL-Unterstützung";
return "HLSL-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_LIBXML2_SUPPORT:
return "Libxml2-XML-Parsing-Unterstützung";
return "Libxml2-XML-Parsing-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_SDL_IMAGE_SUPPORT:
return "SDL-Image-Unterstützung";
return "SDL-Image-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_FBO_SUPPORT:
return "Unterstützung für OpenGL/Direct3D Render-to-Texture (Multi-Pass Shader)";
return "Unterstützung für OpenGL/Direct3D Render-to-Texture (Multi-Pass Shader)";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_FFMPEG_SUPPORT:
return "FFmpeg-Unterstützung";
return "FFmpeg-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_CORETEXT_SUPPORT:
return "CoreText-Unterstützung";
return "CoreText-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_FREETYPE_SUPPORT:
return "FreeType-Unterstützung";
return "FreeType-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_NETPLAY_SUPPORT:
return "Netplay-Unterstützung (Peer-to-Peer)";
return "Netplay-Unterstützung (Peer-to-Peer)";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_PYTHON_SUPPORT:
return "Python-Unterstützung (Script-Unterstützung in Shadern)";
return "Python-Unterstützung (Script-Unterstützung in Shadern)";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_V4L2_SUPPORT:
return "Video4Linux2-Unterstützung";
return "Video4Linux2-Unterstützung";
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_LIBUSB_SUPPORT:
return "Libusb-Unterstützung";
return "Libusb-Unterstützung";
case MENU_ENUM_LABEL_VALUE_YES:
return "Ja";
case MENU_ENUM_LABEL_VALUE_NO:
return "Nein";
case MENU_ENUM_LABEL_VALUE_BACK:
return "ZURÜCK";
return "ZURÜCK";
case MENU_ENUM_LABEL_VALUE_SCREEN_RESOLUTION:
return "Bildschirmauflösung";
return "Bildschirmauflösung";
case MENU_ENUM_LABEL_VALUE_DISABLED:
return "Deaktiviert";
case MENU_ENUM_LABEL_VALUE_PORT:
@ -1158,9 +1147,9 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_RDB_ENTRY_FRANCHISE:
return "Franchise";
case MENU_ENUM_LABEL_VALUE_RDB_ENTRY_RELEASE_MONTH:
return "Veröffentlichungsmonat";
return "Veröffentlichungsmonat";
case MENU_ENUM_LABEL_VALUE_RDB_ENTRY_RELEASE_YEAR:
return "Veröffentlichungsjahr";
return "Veröffentlichungsjahr";
case MENU_ENUM_LABEL_VALUE_TRUE:
return "True";
case MENU_ENUM_LABEL_VALUE_FALSE:
@ -1184,13 +1173,13 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_OVERLAY_SETTINGS:
return "Overlay-Einstellungen";
case MENU_ENUM_LABEL_VALUE_MENU_SETTINGS:
return "Menü-Einstellungen";
return "Menü-Einstellungen";
case MENU_ENUM_LABEL_VALUE_MULTIMEDIA_SETTINGS:
return "Media-Player-Einstellungen"; /* UPDATE/FIXME */
case MENU_ENUM_LABEL_VALUE_USER_INTERFACE_SETTINGS:
return "Benutzeroberflächen-Einstellungen";
return "Benutzeroberflächen-Einstellungen";
case MENU_ENUM_LABEL_VALUE_MENU_FILE_BROWSER_SETTINGS:
return "Menü-Dateibrowser-Einstellungen";
return "Menü-Dateibrowser-Einstellungen";
case MENU_ENUM_LABEL_VALUE_CORE_UPDATER_SETTINGS:
return "Core-Updater-Einstellungen"; /* UPDATE/FIXME */
case MENU_ENUM_LABEL_VALUE_NETWORK_SETTINGS:
@ -1204,7 +1193,7 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_RECORDING_SETTINGS:
return "Aufnahme-Einstellungen";
case MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE:
return "Keine Informationen verfügbar.";
return "Keine Informationen verfügbar.";
case MENU_ENUM_LABEL_VALUE_INPUT_USER_BINDS:
return "Spieler %u Tastenbelegung";
case MENU_ENUM_LABEL_VALUE_LANG_ENGLISH:
@ -1212,7 +1201,7 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_LANG_JAPANESE:
return "Japanisch";
case MENU_ENUM_LABEL_VALUE_LANG_FRENCH:
return "Französisch";
return "Französisch";
case MENU_ENUM_LABEL_VALUE_LANG_SPANISH:
return "Spanisch";
case MENU_ENUM_LABEL_VALUE_LANG_GERMAN:
@ -1220,7 +1209,7 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_LANG_ITALIAN:
return "Italienisch";
case MENU_ENUM_LABEL_VALUE_LANG_DUTCH:
return "Niederländisch";
return "Niederländisch";
case MENU_ENUM_LABEL_VALUE_LANG_PORTUGUESE:
return "Portugiesisch";
case MENU_ENUM_LABEL_VALUE_LANG_RUSSIAN:

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -21,22 +21,11 @@
#include "../msg_hash.h"
#include "../configuration.h"
/* IMPORTANT:
* For non-english characters to work without proper unicode support,
* we need this file to be encoded in ISO 8859-1 (Latin1), not UTF-8.
* If you save this file as UTF-8, you'll break non-english characters
* (e.g. German "Umlauts" and Portugese diacritics).
*/
/* DO NOT REMOVE THIS. If it causes build failure, it's because you saved the file as UTF-8. Read the above comment. */
extern const char force_iso_8859_1[sizeof("àèéìòù")==6+1 ? 1 : -1];
int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
{
uint32_t driver_hash = 0;
settings_t *settings = config_get_ptr();
(void)sizeof(force_iso_8859_1);
switch (msg)
{
case MENU_ENUM_LABEL_CORE_LIST:
@ -46,18 +35,18 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
"Sfoglia per una implementazione per il \n"
"core libretro. Dove il browser \n"
"si avvia dipende dal percorso impostato per \n"
"Core Directory. Se vuoto, si avvierà nella root. \n"
"Core Directory. Se vuoto, si avvierà nella root. \n"
" \n"
"Se la Core Directory è una directory, il menù \n"
"userà quella come cartella principale. Se la Core \n"
"Directory è un percorso completo, si avvierà \n"
"Se la Core Directory è una directory, il menù \n"
"userà quella come cartella principale. Se la Core \n"
"Directory è un percorso completo, si avvierà \n"
"nella cartella dove si trova il file.");
break;
case MENU_ENUM_LABEL_VALUE_MENU_ENUM_CONTROLS_PROLOG:
snprintf(s, len,
"Puoi usare i seguenti controlli sotto \n"
"sia su gamepad che su tastiera\n"
"per controllare il menù: \n"
"per controllare il menù: \n"
" \n"
);
break;
@ -86,8 +75,8 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
" \n", sizeof(t));
snprintf(u, sizeof(u),
"a) Vai su '%s' -> '%s', e abilita\n"
"'Threaded Video'. La frequenza di aggiornamento non sarà\n"
"influenzata in questo modo, il framerate sarà più alto,\n"
"'Threaded Video'. La frequenza di aggiornamento non sarà\n"
"influenzata in questo modo, il framerate sarà più alto,\n"
"ma il video potrebbe risultare meno fluido.\n"
"b) Vai su '%s' -> '%s', e guarda su\n"
"'%s'. Lascia caricare per\n"
@ -107,7 +96,7 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
"seleziona '%s' oppure '%s'.\n"
" \n"
"I files saranno comparati alle entrate del database.\n"
"Se c'è un riscontro, sarà aggiunta un'entrata\n"
"Se c'è un riscontro, sarà aggiunta un'entrata\n"
"alla collezione.\n"
" \n"
"Puoi accedere facilmente a questo contenuto\n"
@ -140,7 +129,7 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
snprintf(s, len,
"udev Input driver. \n"
" \n"
"Questo driver può caricare senza X. \n"
"Questo driver può caricare senza X. \n"
" \n"
"Usa la recente evdev joypad API \n"
"per il supporto del joystick. Supporta \n"
@ -152,7 +141,7 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
"mouse e touchpads. \n"
" \n"
"Come predefinito nella maggior parte delle distribuzioni, i nodi /dev/input \n"
"sono only-root (modalità 600). Puoi settare una regola udev \n"
"sono only-root (modalità 600). Puoi settare una regola udev \n"
"che fa queste accessibili ai non-root."
);
break;
@ -162,9 +151,9 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
" \n"
"questo driver richiede un'attiva TTY. Gli eventi \n"
"della tastiera sono letti direttamente dal TTY che \n"
"che lo rende più semplice, ma non tanto flessibile quanto udev. \n" "Mouse, ecc., non sono supportati. \n"
"che lo rende più semplice, ma non tanto flessibile quanto udev. \n" "Mouse, ecc., non sono supportati. \n"
" \n"
"Questo driver usa la più vecchia API per il joystick \n"
"Questo driver usa la più vecchia API per il joystick \n"
"(/dev/input/js*).");
break;
default:
@ -184,14 +173,14 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
"Per caricare i giochi, hai bisogno di \n"
"un 'Core' da usare, e un gioco per quel core.\n"
" \n"
"Per controllare dove il menù comincia \n"
"Per controllare dove il menù comincia \n"
" a selezionare per contenuto, imposta \n"
"'File Browser Directory'. \n"
"Se non impostato, si avvierà nella root. \n"
"Se non impostato, si avvierà nella root. \n"
" \n"
"Il browser filtrerà le\n"
"Il browser filtrerà le\n"
"estensioni per l'ultimo core impostato \n"
"in 'Carica Core', e userà quel core \n"
"in 'Carica Core', e userà quel core \n"
"quando il gioco viene caricato."
);
break;
@ -199,14 +188,14 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
snprintf(s, len,
"Caricando contenuto dalla cronologia. \n"
" \n"
"Quando il contenuto è caricato, le combinazioni \n"
"Quando il contenuto è caricato, le combinazioni \n"
"contenuto e core sono salvati nella cronologia. \n"
" \n"
"La cronologia è salvata in un file nella stessa \n"
"La cronologia è salvata in un file nella stessa \n"
"directory come il file di configurazione RetroArch. Se \n"
"nessun file di configurazione viene caricato all'avvio, la \n"
"cronologia non sarà salvata o caricata, e non apparirà \n"
"nel menù principale."
"cronologia non sarà salvata o caricata, e non apparirà \n"
"nel menù principale."
);
break;
case MENU_ENUM_LABEL_VIDEO_DRIVER:
@ -232,7 +221,7 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
snprintf(s, len,
"Driver video SDL 2.\n"
" \n"
"Questo è un driver video SDL 2 renderizzato \n"
"Questo è un driver video SDL 2 renderizzato \n"
"via software.\n"
" \n"
"Le performance per le implementazioni dei core \n"
@ -244,7 +233,7 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
snprintf(s, len,
"Driver video SDL.\n"
" \n"
"Questo è un driver video SDL 1.2 renderizzato \n"
"Questo è un driver video SDL 1.2 renderizzato \n"
"via software.\n"
" \n"
"Le performance sono considerate quasi ottimali. \n"
@ -264,7 +253,7 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
snprintf(s, len,
"Exynos-G2D Video Driver. \n"
" \n"
"Questo è un driver video Exynos a basso livello. \n"
"Questo è un driver video Exynos a basso livello. \n"
"Usa il blocco G2D nei SoC Samsung Exynos \n"
"per operazioni blit. \n"
" \n"
@ -276,7 +265,7 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
snprintf(s, len,
"Driver video Sunxi-G2D. \n"
" \n"
"Questo è un driver video Sunxi a basso livello. \n"
"Questo è un driver video Sunxi a basso livello. \n"
"Usa il blocco G2D nei Soc Allwinner.");
}
break;
@ -295,7 +284,7 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
{
case MENU_LABEL_AUDIO_RESAMPLER_DRIVER_SINC:
snprintf(s, len,
"Implementazione SINC in modalità finestra.");
"Implementazione SINC in modalità finestra.");
break;
case MENU_LABEL_AUDIO_RESAMPLER_DRIVER_CC:
snprintf(s, len,
@ -324,12 +313,12 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
"HLSL"
#endif
" preimposta direttamente. \n"
"Il menù degli shader è aggiornato di conseguenza. \n"
"Il menù degli shader è aggiornato di conseguenza. \n"
" \n"
"Se la CGP usa metodi di scala che non sono \n"
"semplici, (es. scala fonte, stessa scala \n"
"fattore per X/Y), il fattore di scala mostrato \n"
"nel menù potrebbe non essere corretto."
"nel menù potrebbe non essere corretto."
);
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_SCALE_PASS:
@ -338,16 +327,16 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
" \n"
"Il fattore di scala accumula, es. 2x \n"
"per il primo passaggio e 2x per il secondo \n"
"passaggio darà una scala totale di 4x. \n"
"passaggio darà una scala totale di 4x. \n"
" \n"
"Se c'è un fattore di scala per l'ultimo \n"
"passaggio, il risultato è allungare lo \n"
"Se c'è un fattore di scala per l'ultimo \n"
"passaggio, il risultato è allungare lo \n"
"schermo con il filtro specificato in \n"
"'Filtro Predefinito'. \n"
" \n"
"Se 'Non considerare' è impostato, sia la scala \n"
"Se 'Non considerare' è impostato, sia la scala \n"
"1x che allunga a pieno schermo saranno \n"
"usati a seconda se è o non è l'ultimo \n"
"usati a seconda se è o non è l'ultimo \n"
"passaggio."
);
break;
@ -363,21 +352,21 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
"shader da usare. Se imposti questo a 0, e usi \n"
"Applica modifiche agli shader, usi uno shader 'vuoto'. \n"
" \n"
"L'opzione Filtro Predefinito riguarderà il \n"
"L'opzione Filtro Predefinito riguarderà il \n"
"filtro di allungamento immagine.");
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_PARAMETERS:
snprintf(s, len,
"Parametri shader. \n"
" \n"
"Modifica direttamente l'attuale shader. Non sarà \n"
"Modifica direttamente l'attuale shader. Non sarà \n"
"salvato al file preimpostato CGP/GLSLP.");
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_PARAMETERS:
snprintf(s, len,
"Parametri Shader Preimpostati. \n"
" \n"
"Modifica lo shader preimpostato attualmente nel menù."
"Modifica lo shader preimpostato attualmente nel menù."
);
break;
case MENU_ENUM_LABEL_VIDEO_SHADER_PASS:
@ -395,22 +384,22 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
case MENU_ENUM_LABEL_CONFIG_SAVE_ON_EXIT:
snprintf(s, len,
"Salva la configurazione sul disco all'uscita.\n"
"Utile per i menù in quanto i settaggi possono \n"
"Utile per i menù in quanto i settaggi possono \n"
"essere modificati. Sovrascrive la configurazione.\n"
" \n"
"#include ed i commenti non sono \n"
"conservati. \n"
" \n"
"Per design, il file di configurazione è \n"
"considerato immutabile in quanto è \n"
"Per design, il file di configurazione è \n"
"considerato immutabile in quanto è \n"
"piacevolmente mantenuto dall'utente, \n"
"e non dovrebbe essere sovrascritto \n"
"alle spalle dell'utente."
#if defined(RARCH_CONSOLE) || defined(RARCH_MOBILE)
"\nQuesto non è il caso per le \n"
"\nQuesto non è il caso per le \n"
"console comunque, dove \n"
"guardare al file di configurazione \n"
"manualmente non è veramente un'opzione."
"manualmente non è veramente un'opzione."
#endif
);
break;
@ -418,8 +407,8 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
snprintf(s, len,
"Filtro hardware per questo passaggio. \n"
" \n"
"Se 'Non prendere cura' è impostato, allora il \n"
"'Filtro Predefinito' sarà usato."
"Se 'Non prendere cura' è impostato, allora il \n"
"'Filtro Predefinito' sarà usato."
);
break;
case MENU_ENUM_LABEL_AUTOSAVE_INTERVAL:
@ -427,8 +416,8 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
"Salva automaticamente la SRAM non-volatile \n"
"ad un itervallo regolare.\n"
" \n"
"Questo è disattivato come predefinito a meno che non \n"
"è impostato diversamente. L'intervallo è misurato in \n"
"Questo è disattivato come predefinito a meno che non \n"
"è impostato diversamente. L'intervallo è misurato in \n"
"secondi. \n"
" \n"
"Il valore 0 disattiva il salvataggio automatico.");
@ -437,7 +426,7 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
snprintf(s, len,
"Tipo di dispositivo di input. \n"
" \n"
"Sceglie quale tipo di dispositivo usare. Questo è \n"
"Sceglie quale tipo di dispositivo usare. Questo è \n"
"rilevante per il libretro core."
);
break;
@ -447,11 +436,11 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
"(GET_LOG_INTERFACE). \n"
" \n"
" Se il livello dei log rilasciato da un libretro \n"
" core è sotto il livello libretro_log, \n"
" sarà ignorato.\n"
" core è sotto il livello libretro_log, \n"
" sarà ignorato.\n"
" \n"
" DEBUG log sono sempre ignorati a meno che \n"
" la modalità verbose mode è attivata (--verbose).\n"
" la modalità verbose mode è attivata (--verbose).\n"
" \n"
" DEBUG = 0\n"
" INFO = 1\n"
@ -464,10 +453,10 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
snprintf(s, len,
"Slot dello stato di salvataggio.\n"
" \n"
" Con lo slot impostato a 0, il nome dello stato di salvataggio è *.state \n"
" (o che cosa è stato impostato sulla riga di comando).\n"
"Quando lo slot è != 0, il percorso sarà (percorso)(d), \n"
"dove (d) è il numero dello slot.");
" Con lo slot impostato a 0, il nome dello stato di salvataggio è *.state \n"
" (o che cosa è stato impostato sulla riga di comando).\n"
"Quando lo slot è != 0, il percorso sarà (percorso)(d), \n"
"dove (d) è il numero dello slot.");
break;
case MENU_ENUM_LABEL_SHADER_APPLY_CHANGES:
snprintf(s, len,
@ -476,14 +465,14 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
"Dopo che modifichi i settaggi dello shader, usa questo per \n"
"applicare i cambiamenti. \n"
" \n"
"Modificare i settaggi dello shader è un \n"
"Modificare i settaggi dello shader è un \n"
"operazione costosa quindi deve essere \n"
"fatta esplicitamente. \n"
" \n"
"Quando applichi gli shader, i settaggi del menù \n"
"Quando applichi gli shader, i settaggi del menù \n"
"degli shader sono salvati ad un file temporaneo (sia \n"
"menu.cgp che menu.glslp) e caricati. Il file \n"
"rimane dopo che RetroArch esce. Il file è \n"
"rimane dopo che RetroArch esce. Il file è \n"
"salvato alla Directory Shader."
);
break;
@ -492,12 +481,12 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
"Dispositivo di input. \n"
" \n"
"Scegli quale gamepad usare per l'utente N. \n"
"Il nome del pad è disponibile."
"Il nome del pad è disponibile."
);
break;
case MENU_ENUM_LABEL_MENU_TOGGLE:
snprintf(s, len,
"Attiva menù.");
"Attiva menù.");
break;
case MENU_ENUM_LABEL_GRAB_MOUSE_TOGGLE:
snprintf(s, len,
@ -1087,11 +1076,11 @@ int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len)
"andando su '%s' \n"
"-> '%s'."
" \n"
"Da lì puoi cambiare lo schema,\n"
"la dimensione e l'opacità dei tasti, ecc.\n"
"Da lì puoi cambiare lo schema,\n"
"la dimensione e l'opacità dei tasti, ecc.\n"
" \n"
"NOTA: Come predefinito, gli schemi del gamepad virtuale\n"
"sono nascosti nel menù.\n"
"sono nascosti nel menù.\n"
"Se vorresti cambiare questa impostazione,\n"
"puoi impostare '%s' a spento/OFF.",
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SETTINGS),
@ -1146,15 +1135,15 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_HELP_CHANGE_VIRTUAL_GAMEPAD:
return "Cambia i settaggi del gamepad virtuale";
case MENU_ENUM_LABEL_VALUE_HELP_WHAT_IS_A_CORE:
return "Che cosa è un core?";
return "Che cosa è un core?";
case MENU_ENUM_LABEL_VALUE_HELP_LOADING_CONTENT:
return "Carica Contenuto";
case MENU_ENUM_LABEL_VALUE_HELP_LIST:
return "Aiuto";
case MENU_ENUM_LABEL_VALUE_HELP_CONTROLS:
return "Menù di base dei controlli";
return "Menù di base dei controlli";
case MENU_ENUM_LABEL_VALUE_BASIC_MENU_CONTROLS:
return "Menù di base dei controlli";
return "Menù di base dei controlli";
case MENU_ENUM_LABEL_VALUE_BASIC_MENU_CONTROLS_SCROLL_UP:
return "Scorri verso l'alto";
case MENU_ENUM_LABEL_VALUE_BASIC_MENU_CONTROLS_SCROLL_DOWN:
@ -1168,7 +1157,7 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_BASIC_MENU_CONTROLS_INFO:
return "Info";
case MENU_ENUM_LABEL_VALUE_BASIC_MENU_CONTROLS_TOGGLE_MENU:
return "Menù a comparsa";
return "Menù a comparsa";
case MENU_ENUM_LABEL_VALUE_BASIC_MENU_CONTROLS_QUIT:
return "Esci";
case MENU_ENUM_LABEL_VALUE_BASIC_MENU_CONTROLS_TOGGLE_KEYBOARD:
@ -1178,11 +1167,11 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_LOAD_ARCHIVE:
return "Carica archivio con il core";
case MENU_ENUM_LABEL_VALUE_INPUT_BACK_AS_MENU_TOGGLE_ENABLE:
return "Indietro quando il menù a comparsa è abilitato";
return "Indietro quando il menù a comparsa è abilitato";
case MENU_ENUM_LABEL_VALUE_INPUT_MENU_ENUM_TOGGLE_GAMEPAD_COMBO:
return "Combo gamepad per il menù a comparsa";
return "Combo gamepad per il menù a comparsa";
case MENU_ENUM_LABEL_VALUE_INPUT_OVERLAY_HIDE_IN_MENU:
return "Nascondi overlay nel menù";
return "Nascondi overlay nel menù";
case MENU_ENUM_LABEL_VALUE_LANG_POLISH:
return "Polacco";
case MENU_ENUM_LABEL_VALUE_OVERLAY_AUTOLOAD_PREFERRED:
@ -1204,7 +1193,7 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_USE_BUILTIN_PLAYER:
return "Usa Media Player interno";
case MENU_ENUM_LABEL_VALUE_CONTENT_SETTINGS:
return "Menù rapido";
return "Menù rapido";
case MENU_ENUM_LABEL_VALUE_RDB_ENTRY_CRC32:
return "CRC32";
case MENU_ENUM_LABEL_VALUE_RDB_ENTRY_MD5:
@ -1217,7 +1206,7 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
return "Privacy";
#if 0
case MENU_ENUM_LABEL_VALUE_HORIZONTAL_MENU:
return "Menú orizzontale";
return "Menú orizzontale";
#else
case MENU_ENUM_LABEL_VALUE_HORIZONTAL_MENU:
return "Horizontal Menu";
@ -1283,7 +1272,7 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_AUDIO_BLOCK_FRAMES:
return "Blocco fotogrammi";
case MENU_ENUM_LABEL_VALUE_INPUT_BIND_MODE:
return "Modalità di collegamento";
return "Modalità di collegamento";
case MENU_ENUM_LABEL_VALUE_INPUT_DESCRIPTOR_LABEL_SHOW:
return "Mostra le etichette descrittive degli input del core";
case MENU_ENUM_LABEL_VALUE_INPUT_DESCRIPTOR_HIDE_UNBOUND:
@ -1311,7 +1300,7 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_LINEAR:
return "Lineare";
case MENU_ENUM_LABEL_VALUE_NEAREST:
return "Più vicino";
return "Più vicino";
case MENU_ENUM_LABEL_VALUE_DIRECTORY_DEFAULT:
return "<Predefinito>";
case MENU_ENUM_LABEL_VALUE_DIRECTORY_NONE:
@ -1401,15 +1390,15 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_RGUI_SHOW_START_SCREEN:
return "Mostra schermata di avvio";
case MENU_ENUM_LABEL_VALUE_TITLE_COLOR:
return "Colore dei titoli dei menù";
return "Colore dei titoli dei menù";
case MENU_ENUM_LABEL_VALUE_ENTRY_HOVER_COLOR:
return "Colore evidenziato delle voci dei menù";
return "Colore evidenziato delle voci dei menù";
case MENU_ENUM_LABEL_VALUE_TIMEDATE_ENABLE:
return "Mostra ora / data";
case MENU_ENUM_LABEL_VALUE_THREADED_DATA_RUNLOOP_ENABLE:
return "Carica ciclo di dati nei thread";
case MENU_ENUM_LABEL_VALUE_ENTRY_NORMAL_COLOR:
return "Colore normale voce dei menù";
return "Colore normale voce dei menù";
case MENU_ENUM_LABEL_VALUE_SHOW_ADVANCED_SETTINGS:
return "Mostra settaggi avanzati";
case MENU_ENUM_LABEL_VALUE_MOUSE_ENABLE:
@ -1433,7 +1422,7 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_UI_COMPANION_ENABLE:
return "Abilita UI Companion";
case MENU_ENUM_LABEL_VALUE_UI_MENUBAR_ENABLE:
return "Barra dei menù";
return "Barra dei menù";
case MENU_ENUM_LABEL_VALUE_ARCHIVE_MODE:
return "Azione per associare i tipi di archivio";
case MENU_ENUM_LABEL_VALUE_NETWORK_CMD_ENABLE:
@ -1451,9 +1440,9 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_CORE_SET_SUPPORTS_NO_CONTENT_ENABLE: /* TODO/FIXME */
return "Non avviare automaticamente un core";
case MENU_ENUM_LABEL_VALUE_FRAME_THROTTLE_ENABLE:
return "Limita la velocità massima di caricamento";
return "Limita la velocità massima di caricamento";
case MENU_ENUM_LABEL_VALUE_FASTFORWARD_RATIO:
return "Velocità massima di caricamento";
return "Velocità massima di caricamento";
case MENU_ENUM_LABEL_VALUE_AUTO_REMAPS_ENABLE:
return "Carica file di rimappatura automaticamente";
case MENU_ENUM_LABEL_VALUE_SLOWMOTION_RATIO:
@ -1499,9 +1488,9 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_VIDEO_FORCE_SRGB_DISABLE:
return "Forza-disattiva sRGB FBO";
case MENU_ENUM_LABEL_VALUE_VIDEO_WINDOWED_FULLSCREEN:
return "Modalità schermo intero con finestra";
return "Modalità schermo intero con finestra";
case MENU_ENUM_LABEL_VALUE_PAL60_ENABLE:
return "Usa modalità PAL60";
return "Usa modalità PAL60";
case MENU_ENUM_LABEL_VALUE_VIDEO_VFILTER:
return "Deflicker";
case MENU_ENUM_LABEL_VALUE_VIDEO_VI_WIDTH:
@ -1515,7 +1504,7 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_SORT_SAVESTATES_ENABLE:
return "Ordina gli stati di salvataggio nelle cartelle";
case MENU_ENUM_LABEL_VALUE_VIDEO_FULLSCREEN:
return "Usa modalità a schermo intero";
return "Usa modalità a schermo intero";
case MENU_ENUM_LABEL_VALUE_VIDEO_SCALE:
return "Scala a finestra";
case MENU_ENUM_LABEL_VALUE_VIDEO_SCALE_INTEGER:
@ -1549,7 +1538,7 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_LOCATION_ALLOW:
return "Consenti posizionamento";
case MENU_ENUM_LABEL_VALUE_PAUSE_LIBRETRO:
return "In pausa quando il menù è attivato";
return "In pausa quando il menù è attivato";
case MENU_ENUM_LABEL_VALUE_INPUT_OSK_OVERLAY_ENABLE:
return "Mostra Overlay Tastiera";
case MENU_ENUM_LABEL_VALUE_INPUT_OVERLAY_ENABLE:
@ -1561,7 +1550,7 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_INPUT_DUTY_CYCLE:
return "Ciclo dati";
case MENU_ENUM_LABEL_VALUE_INPUT_TURBO_PERIOD:
return "Modalità Turbo";
return "Modalità Turbo";
case MENU_ENUM_LABEL_VALUE_INPUT_AXIS_THRESHOLD:
return "Soglia Input Axis";
case MENU_ENUM_LABEL_VALUE_INPUT_REMAP_BINDS_ENABLE:
@ -1661,7 +1650,7 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_CURSOR_MANAGER:
return "Gestore cursori";
case MENU_ENUM_LABEL_VALUE_MAIN_MENU:
return "Menú principale";
return "Menú principale";
case MENU_ENUM_LABEL_VALUE_SETTINGS:
return "Settaggi";
case MENU_ENUM_LABEL_VALUE_QUIT_RETROARCH:
@ -1727,7 +1716,7 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_RECORD_DRIVER:
return "Driver di Registrazione";
case MENU_ENUM_LABEL_VALUE_MENU_DRIVER:
return "Driver Menù";
return "Driver Menù";
case MENU_ENUM_LABEL_VALUE_CAMERA_DRIVER:
return "Driver Fotocamera";
case MENU_ENUM_LABEL_VALUE_LOCATION_DRIVER:
@ -1745,9 +1734,9 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_KEYBOARD_OVERLAY_PRESET:
return "Preimpostato Overlay Tastiera";
case MENU_ENUM_LABEL_VALUE_OVERLAY_OPACITY:
return "Opacità Overlay";
return "Opacità Overlay";
case MENU_ENUM_LABEL_VALUE_MENU_WALLPAPER:
return "Menù sfondi";
return "Menù sfondi";
case MENU_ENUM_LABEL_VALUE_DYNAMIC_WALLPAPER:
return "Sfondo dinamico";
case MENU_ENUM_LABEL_VALUE_CORE_INPUT_REMAPPING_OPTIONS:
@ -1757,7 +1746,7 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_VIDEO_SHADER_PARAMETERS:
return "Antemprima Parametri Shader";
case MENU_ENUM_LABEL_VALUE_VIDEO_SHADER_PRESET_PARAMETERS:
return "Parametri shader del menù";
return "Parametri shader del menù";
case MENU_ENUM_LABEL_VALUE_VIDEO_SHADER_PRESET_SAVE_AS:
return "Salva Shader Preimpostati come";
case MENU_ENUM_LABEL_VALUE_NO_SHADER_PARAMETERS:
@ -1945,7 +1934,7 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_SYSTEM_INFO_LIBUSB_SUPPORT:
return "Supporto Libusb";
case MENU_ENUM_LABEL_VALUE_YES:
return "";
return "";
case MENU_ENUM_LABEL_VALUE_NO:
return "No";
case MENU_ENUM_LABEL_VALUE_BACK:
@ -1999,7 +1988,7 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
case MENU_ENUM_LABEL_VALUE_ONSCREEN_OVERLAY_SETTINGS:
return "Overlay sullo schermo";
case MENU_ENUM_LABEL_VALUE_MENU_SETTINGS:
return "Menù";
return "Menù";
case MENU_ENUM_LABEL_VALUE_MULTIMEDIA_SETTINGS:
return "Multimedia";
case MENU_ENUM_LABEL_VALUE_USER_INTERFACE_SETTINGS:

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -23,8 +23,8 @@
#include "../configuration.h"
#include "../verbosity.h"
#ifdef HAVE_UTF8
#include "msg_hash_uspseudo.c"
#if 0
//#include "msg_hash_uspseudo.c"
#else
int menu_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len)

View File

@ -17,75 +17,66 @@
#ifndef __INTL_SPANISH_H
#define __INTL_SPANISH_H
/* IMPORTANT:
* For non-english characters to work without proper unicode support,
* we need this file to be encoded in ISO 8859-1 (Latin1), not UTF-8.
* If you save this file as UTF-8, you'll break non-english characters
* (e.g. German "Umlauts" and Portugese diacritics).
*/
/* DO NOT REMOVE THIS. If it causes build failure, it's because you saved the file as UTF-8. Read the above comment. */
extern const char force_iso_8859_1[sizeof("àèéìòù")==6+1 ? 1 : -1];
#define RETRO_LBL_JOYPAD_B "Botón B RetroPad"
#define RETRO_LBL_JOYPAD_Y "Botón Y RetroPad"
#define RETRO_LBL_JOYPAD_SELECT "Botón Select RetroPad"
#define RETRO_LBL_JOYPAD_START "Botón Start RetroPad"
#define RETRO_LBL_JOYPAD_B "Botón B RetroPad"
#define RETRO_LBL_JOYPAD_Y "Botón Y RetroPad"
#define RETRO_LBL_JOYPAD_SELECT "Botón Select RetroPad"
#define RETRO_LBL_JOYPAD_START "Botón Start RetroPad"
#define RETRO_LBL_JOYPAD_UP "Cruceta arriba RetroPad"
#define RETRO_LBL_JOYPAD_DOWN "Cruceta abajo RetroPad"
#define RETRO_LBL_JOYPAD_LEFT "Cruceta izda. RetroPad"
#define RETRO_LBL_JOYPAD_RIGHT "Cruceta dcha. RetroPad"
#define RETRO_LBL_JOYPAD_A "Botón A RetroPad"
#define RETRO_LBL_JOYPAD_X "Botón X RetroPad"
#define RETRO_LBL_JOYPAD_L "Botón L RetroPad"
#define RETRO_LBL_JOYPAD_R "Botón R RetroPad"
#define RETRO_LBL_JOYPAD_L2 "Botón L2 RetroPad"
#define RETRO_LBL_JOYPAD_R2 "Botón R2 RetroPad"
#define RETRO_LBL_JOYPAD_L3 "Botón L3 RetroPad"
#define RETRO_LBL_JOYPAD_R3 "Botón R3 RetroPad"
#define RETRO_LBL_JOYPAD_A "Botón A RetroPad"
#define RETRO_LBL_JOYPAD_X "Botón X RetroPad"
#define RETRO_LBL_JOYPAD_L "Botón L RetroPad"
#define RETRO_LBL_JOYPAD_R "Botón R RetroPad"
#define RETRO_LBL_JOYPAD_L2 "Botón L2 RetroPad"
#define RETRO_LBL_JOYPAD_R2 "Botón R2 RetroPad"
#define RETRO_LBL_JOYPAD_L3 "Botón L3 RetroPad"
#define RETRO_LBL_JOYPAD_R3 "Botón R3 RetroPad"
#define RETRO_LBL_TURBO_ENABLE "Activar turbo"
#define RETRO_LBL_ANALOG_LEFT_X "X analógico izdo."
#define RETRO_LBL_ANALOG_LEFT_Y "Y analógico izdo."
#define RETRO_LBL_ANALOG_RIGHT_X "X analógico dcho."
#define RETRO_LBL_ANALOG_RIGHT_Y "Y analógico dcho."
#define RETRO_LBL_ANALOG_LEFT_X_PLUS "X + analógico izdo."
#define RETRO_LBL_ANALOG_LEFT_X_MINUS "X - analógico izdo."
#define RETRO_LBL_ANALOG_LEFT_Y_PLUS "Y + analógico izdo."
#define RETRO_LBL_ANALOG_LEFT_Y_MINUS "Y - analógico izdo."
#define RETRO_LBL_ANALOG_RIGHT_X_PLUS "X + analógico dcho."
#define RETRO_LBL_ANALOG_RIGHT_X_MINUS "X - analógico dcho."
#define RETRO_LBL_ANALOG_RIGHT_Y_PLUS "Y + analógico dcho."
#define RETRO_LBL_ANALOG_RIGHT_Y_MINUS "Y - analógico dcho."
#define RETRO_LBL_ANALOG_LEFT_X "X analógico izdo."
#define RETRO_LBL_ANALOG_LEFT_Y "Y analógico izdo."
#define RETRO_LBL_ANALOG_RIGHT_X "X analógico dcho."
#define RETRO_LBL_ANALOG_RIGHT_Y "Y analógico dcho."
#define RETRO_LBL_ANALOG_LEFT_X_PLUS "X + analógico izdo."
#define RETRO_LBL_ANALOG_LEFT_X_MINUS "X - analógico izdo."
#define RETRO_LBL_ANALOG_LEFT_Y_PLUS "Y + analógico izdo."
#define RETRO_LBL_ANALOG_LEFT_Y_MINUS "Y - analógico izdo."
#define RETRO_LBL_ANALOG_RIGHT_X_PLUS "X + analógico dcho."
#define RETRO_LBL_ANALOG_RIGHT_X_MINUS "X - analógico dcho."
#define RETRO_LBL_ANALOG_RIGHT_Y_PLUS "Y + analógico dcho."
#define RETRO_LBL_ANALOG_RIGHT_Y_MINUS "Y - analógico dcho."
#define RETRO_LBL_FAST_FORWARD_KEY "Acelerador"
#define RETRO_LBL_FAST_FORWARD_HOLD_KEY "Alternar acelerador"
#define RETRO_LBL_LOAD_STATE_KEY "Carga rápida"
#define RETRO_LBL_SAVE_STATE_KEY "Guardado rápido"
#define RETRO_LBL_LOAD_STATE_KEY "Carga rápida"
#define RETRO_LBL_SAVE_STATE_KEY "Guardado rápido"
#define RETRO_LBL_FULLSCREEN_TOGGLE_KEY "Alt. pantalla completa"
#define RETRO_LBL_QUIT_KEY "Tecla de abandonar"
#define RETRO_LBL_STATE_SLOT_PLUS "Siguiente ranura rápida"
#define RETRO_LBL_STATE_SLOT_MINUS "Ranura rápida anterior"
#define RETRO_LBL_STATE_SLOT_PLUS "Siguiente ranura rápida"
#define RETRO_LBL_STATE_SLOT_MINUS "Ranura rápida anterior"
#define RETRO_LBL_REWIND "Rebobinar"
#define RETRO_LBL_MOVIE_RECORD_TOGGLE "Alt. grabación"
#define RETRO_LBL_MOVIE_RECORD_TOGGLE "Alt. grabación"
#define RETRO_LBL_PAUSE_TOGGLE "Alternar pausa"
#define RETRO_LBL_FRAMEADVANCE "Avanzar fotograma"
#define RETRO_LBL_RESET "Reiniciar"
#define RETRO_LBL_SHADER_NEXT "Siguiente shader"
#define RETRO_LBL_SHADER_PREV "Shader anterior"
#define RETRO_LBL_CHEAT_INDEX_PLUS "Siguiente índice de trucos"
#define RETRO_LBL_CHEAT_INDEX_MINUS "Índice de trucos anterior"
#define RETRO_LBL_CHEAT_INDEX_PLUS "Siguiente índice de trucos"
#define RETRO_LBL_CHEAT_INDEX_MINUS "Índice de trucos anterior"
#define RETRO_LBL_CHEAT_TOGGLE "Alternar trucos"
#define RETRO_LBL_SCREENSHOT "Capturar pantalla"
#define RETRO_LBL_MUTE "Silenciar sonido"
#define RETRO_LBL_OSK "Activar teclado en pantalla"
#define RETRO_LBL_NETPLAY_FLIP "Cambiar usuario de red"
#define RETRO_LBL_SLOWMOTION "Cámara lenta"
#define RETRO_LBL_ENABLE_HOTKEY "Activar teclas rápidas"
#define RETRO_LBL_SLOWMOTION "Cámara lenta"
#define RETRO_LBL_ENABLE_HOTKEY "Activar teclas rápidas"
#define RETRO_LBL_VOLUME_UP "Subir volumen"
#define RETRO_LBL_VOLUME_DOWN "Bajar volumen"
#define RETRO_LBL_OVERLAY_NEXT "Siguiente sobreimposición"
#define RETRO_LBL_OVERLAY_NEXT "Siguiente sobreimposición"
#define RETRO_LBL_DISK_EJECT_TOGGLE "Alt. expulsar disco"
#define RETRO_LBL_DISK_NEXT "Cambiar a siguiente disco"
#define RETRO_LBL_DISK_PREV "Cambiar a disco anterior"
#define RETRO_LBL_GRAB_MOUSE_TOGGLE "Alternar captura de ratón"
#define RETRO_LBL_MENU_TOGGLE "Alternar menú"
#define RETRO_LBL_GRAB_MOUSE_TOGGLE "Alternar captura de ratón"
#define RETRO_LBL_MENU_TOGGLE "Alternar menú"
#endif

View File

@ -208,3 +208,35 @@ size_t utf8len(const char *string)
return strlen(string);
#endif
}
inline uint8_t utf8_walkbyte(const char **string)
{
return *((*string)++);
}
/* Does not validate the input, returns garbage if it's not UTF-8. */
uint32_t utf8_walk(const char **string)
{
#ifdef HAVE_UTF8
uint8_t first = utf8_walkbyte(string);
uint32_t ret;
if (first<128)
return first;
ret = 0;
ret = (ret<<6) | (utf8_walkbyte(string) & 0x3F);
if (first >= 0xE0)
ret = (ret<<6) | (utf8_walkbyte(string) & 0x3F);
if (first >= 0xF0)
ret = (ret<<6) | (utf8_walkbyte(string) & 0x3F);
if (first >= 0xF0)
return ret | (first&31)<<18;
if (first >= 0xE0)
return ret | (first&15)<<12;
return ret | (first&7)<<6;
#else
return utf8_walkbyte(string);
#endif
}

View File

@ -40,4 +40,6 @@ size_t utf8cpy(char *d, size_t d_len, const char *s, size_t chars);
const char *utf8skip(const char *str, size_t chars);
uint32_t utf8_walk(const char **string);
#endif

View File

@ -27,6 +27,7 @@
#include <gfx/math/matrix_4x4.h>
#include <string/stdstring.h>
#include <lists/string_list.h>
#include <encodings/utf.h>
#include "menu_generic.h"
@ -400,7 +401,7 @@ static void mui_render_messagebox(mui_handle_t *mui,
for (i = 0; i < list->size; i++)
{
const char *msg = list->elems[i].data;
int len = strlen(msg);
int len = utf8len(msg);
if (len > longest)
{
longest = len;
@ -523,7 +524,7 @@ static void mui_render_label_value(mui_handle_t *mui,
menu_animation_ctx_ticker_t ticker;
char label_str[PATH_MAX_LENGTH] = {0};
char value_str[PATH_MAX_LENGTH] = {0};
int value_len = strlen(value);
int value_len = utf8len(value);
int ticker_limit = 0;
uintptr_t texture_switch = 0;
bool do_draw_text = false;
@ -1176,7 +1177,7 @@ static void mui_frame(void *data)
snprintf(title_buf_msg, sizeof(title_buf), "%s (%s)",
title_buf, title_msg);
value_len = strlen(title_buf);
value_len = utf8len(title_buf);
ticker_limit = (usable_width / mui->glyph_width) - (value_len + 2);
ticker.s = title_buf_msg_tmp;

View File

@ -28,6 +28,7 @@
#include <file/file_path.h>
#include <retro_inline.h>
#include <string/stdstring.h>
#include <encodings/utf.h>
#include "menu_generic.h"
@ -164,39 +165,6 @@ static void rgui_color_rect(
data[j * (pitch >> 1) + i] = color;
}
static uint8_t string_walkbyte(const char **string)
{
return *((*string)++);
}
#ifdef HAVE_UTF8
/* Does not validate the input, returns garbage if it's not UTF-8. */
static uint32_t string_walk(const char **string)
{
uint8_t first = string_walkbyte(string);
uint32_t ret;
if (first<128)
return first;
ret = 0;
ret = (ret<<6) | (string_walkbyte(string) & 0x3F);
if (first >= 0xE0)
ret = (ret<<6) | (string_walkbyte(string) & 0x3F);
if (first >= 0xF0)
ret = (ret<<6) | (string_walkbyte(string) & 0x3F);
if (first >= 0xF0)
return ret | (first&31)<<18;
if (first >= 0xE0)
return ret | (first&15)<<12;
return ret | (first&7)<<6;
}
#else
#define string_walk string_walkbyte
#endif
static void blit_line(int x, int y,
const char *message, uint16_t color)
{
@ -209,7 +177,7 @@ static void blit_line(int x, int y,
while (!string_is_empty(message))
{
const uint8_t *font_fb = menu_display_get_font_framebuffer();
uint32_t symbol = string_walk(&message);
uint32_t symbol = utf8_walk(&message);
for (j = 0; j < FONT_HEIGHT; j++)
{
@ -346,7 +314,7 @@ static void rgui_render_messagebox(const char *message)
{
unsigned line_width;
char *msg = list->elems[i].data;
unsigned msglen = strlen(msg);
unsigned msglen = utf8len(msg);
if (msglen > RGUI_TERM_WIDTH(fb_width))
{
@ -381,7 +349,7 @@ static void rgui_render_messagebox(const char *message)
for (i = 0; i < list->size; i++)
{
const char *msg = list->elems[i].data;
int offset_x = FONT_WIDTH_STRIDE * (glyphs_width - strlen(msg)) / 2;
int offset_x = FONT_WIDTH_STRIDE * (glyphs_width - utf8len(msg)) / 2;
int offset_y = FONT_HEIGHT_STRIDE * i;
blit_line(x + 8 + offset_x, y + 8 + offset_y, msg, color);
@ -551,7 +519,7 @@ static void rgui_render(void *data)
blit_line(
RGUI_TERM_START_X(fb_width) + (RGUI_TERM_WIDTH(fb_width)
- strlen(title_buf)) * FONT_WIDTH_STRIDE / 2,
- utf8len(title_buf)) * FONT_WIDTH_STRIDE / 2,
RGUI_TERM_START_X(fb_width),
title_buf, TITLE_COLOR(settings));

View File

@ -27,6 +27,7 @@
#include <string/stdstring.h>
#include <lists/string_list.h>
#include <gfx/math/matrix_4x4.h>
#include <encodings/utf.h>
#include "menu_generic.h"
@ -701,7 +702,7 @@ static void xmb_render_messagebox_internal(
for (i = 0; i < list->size; i++)
{
const char *msg = list->elems[i].data;
int len = strlen(msg);
int len = utf8len(msg);
if (len > longest)
{
longest = len;