Merge pull request #1861 from Holzhaus/even-more-german-translations

Some translation improvements
This commit is contained in:
Twinaphex 2015-06-26 07:34:47 +02:00
commit 063d5a97a1
4 changed files with 413 additions and 6 deletions

View File

@ -17,7 +17,10 @@
#include <stdint.h>
#include <string.h>
#include <compat/strl.h>
#include "../menu_hash.h"
#include "../../configuration.h"
/* IMPORTANT:
* For non-english characters to work without proper unicode support,
@ -467,8 +470,6 @@ const char *menu_hash_to_str_de(uint32_t hash)
return "Datenbankmanager";
case MENU_LABEL_VALUE_CURSOR_MANAGER:
return "Cursormanager";
case MENU_LABEL_VALUE_RECORDING_SETTINGS:
return "Aufnahmeeinstellungen";
case MENU_VALUE_MAIN_MENU:
return "Main Menu"; // Don't change. Breaks everything. (Would be: "Hauptmenü")
case MENU_LABEL_VALUE_SETTINGS:
@ -741,6 +742,78 @@ const char *menu_hash_to_str_de(uint32_t hash)
return "Ja";
case MENU_LABEL_VALUE_NO:
return "Nein";
case MENU_VALUE_BACK:
return "ZURÜCK";
case MENU_LABEL_VALUE_SCREEN_RESOLUTION:
return "Bildschirmauflösung";
case MENU_VALUE_DISABLED:
return "Deaktiviert";
case MENU_VALUE_PORT:
return "Port";
case MENU_VALUE_NONE:
return "Keins";
case MENU_LABEL_VALUE_RDB_ENTRY_DEVELOPER:
return "Entwickler";
case MENU_LABEL_VALUE_RDB_ENTRY_PUBLISHER:
return "Publisher";
case MENU_LABEL_VALUE_RDB_ENTRY_DESCRIPTION:
return "Beschreibung";
case MENU_LABEL_VALUE_RDB_ENTRY_NAME:
return "Name";
case MENU_LABEL_VALUE_RDB_ENTRY_ORIGIN:
return "Herkunft";
case MENU_LABEL_VALUE_RDB_ENTRY_FRANCHISE:
return "Franchise";
case MENU_LABEL_VALUE_RDB_ENTRY_RELEASE_MONTH:
return "Veröffentlichungsmonat";
case MENU_LABEL_VALUE_RDB_ENTRY_RELEASE_YEAR:
return "Veröffentlichungsjahr";
case MENU_VALUE_TRUE:
return "True";
case MENU_VALUE_FALSE:
return "False";
case MENU_VALUE_MISSING:
return "Fehlt";
case MENU_VALUE_PRESENT:
return "Vorhanden";
case MENU_VALUE_OPTIONAL:
return "Optional";
case MENU_VALUE_REQUIRED:
return "Notwendig";
case MENU_VALUE_STATUS:
return "Status";
case MENU_LABEL_VALUE_AUDIO_SETTINGS:
return "Audio-Einstellungen";
case MENU_LABEL_VALUE_INPUT_SETTINGS:
return "Eingabe-Einstellungen";
case MENU_LABEL_VALUE_ONSCREEN_DISPLAY_SETTINGS:
return "OSD-Einstellungen";
case MENU_LABEL_VALUE_OVERLAY_SETTINGS:
return "Overlay-Einstellungen";
case MENU_LABEL_VALUE_MENU_SETTINGS:
return "Menü-Einstellungen";
case MENU_LABEL_VALUE_MEDIA_PLAYER_SETTINGS:
return "Media-Player-Einstellungen";
case MENU_LABEL_VALUE_UI_SETTINGS:
return "Benutzeroberflächen-Einstellungen";
case MENU_LABEL_VALUE_MENU_FILE_BROWSER_SETTINGS:
return "Menü-Dateibrowser-Einstellungen";
case MENU_LABEL_VALUE_CORE_UPDATER_SETTINGS:
return "Core-Updater-Einstellungen";
case MENU_LABEL_VALUE_NETWORK_SETTINGS:
return "Netzwerk-Einstellungen";
case MENU_LABEL_VALUE_PLAYLIST_SETTINGS:
return "Wiedergabelisten-Einstellungen";
case MENU_LABEL_VALUE_USER_SETTINGS:
return "Benutzer-Einstellungen";
case MENU_LABEL_VALUE_DIRECTORY_SETTINGS:
return "Verzeichnis-Einstellungen";
case MENU_LABEL_VALUE_RECORDING_SETTINGS:
return "Aufnahme-Einstellungen";
case MENU_LABEL_VALUE_NO_INFORMATION_AVAILABLE:
return "Keine Informationen verfügbar.";
case MENU_LABEL_VALUE_INPUT_USER_BINDS:
return "Spieler %u Tastenbelegung";
default:
break;
}
@ -750,11 +823,337 @@ const char *menu_hash_to_str_de(uint32_t hash)
int menu_hash_get_help_de(uint32_t hash, char *s, size_t len)
{
uint32_t driver_hash = 0;
settings_t *settings = config_get_ptr();
switch (hash)
{
case MENU_LABEL_INPUT_DRIVER:
driver_hash = menu_hash_calculate(settings->input.driver);
switch (driver_hash)
{
case MENU_LABEL_INPUT_DRIVER_UDEV:
snprintf(s, len,
"udev-Eingabetreiber. \n"
" \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"
"auch Hotplugging und Force-Feedback (wenn das \n"
"Gerät dies unterstützt). \n"
" \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"
"Benutzer lesbar (mode 600). Du kannst eine udev- \n"
"Regel erstellen, die auch den Zugriff für andere \n"
"Benutzer erlaubt."
);
break;
case MENU_LABEL_INPUT_DRIVER_LINUXRAW:
snprintf(s, len,
"linuxraw-Eingabetreiber. \n"
" \n"
"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"
" \n"
"Dieser Treiber verwendet die alte Joystick-API \n"
"(/dev/input/js*).");
break;
default:
snprintf(s, len,
"Eingabetreiber.\n"
" \n"
"Abhängig vom Grafiktreiber kann ein anderer Eingabe- \n"
"treiber erzwungen werden.");
break;
}
break;
case MENU_LABEL_LOAD_CONTENT:
snprintf(s, len,
"Lade Content. \n"
"Suche nach Content. \n"
" \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"
"du das Content-Verzeichnis setzen. Wenn es nicht \n"
"gesetzt ist, wird es im Root-Verzeichen starten. \n"
" \n"
"Der Browser wird nur Dateierweiterungen des \n"
"zuletzt geladenen Cores zeigen und diesen Core \n"
"nutzen, wenn Content geladen wird."
);
break;
case MENU_LABEL_CORE_LIST:
snprintf(s, len,
"Lade Core. \n"
" \n"
"Suche nach einer Libretro-Core- \n"
"Implementierung. In welchem Verzeichnis der \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"
"das Core-Verzeichnis ein Pfad zu einer Datei, \n"
"wird es in dem Verzeichnis starten, in dem \n"
"sich die Datei befindet.");
break;
case MENU_LABEL_LOAD_CONTENT_HISTORY:
snprintf(s, 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"
" \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."
);
break;
case MENU_LABEL_VIDEO_DRIVER:
driver_hash = menu_hash_calculate(settings->video.driver);
switch (driver_hash)
{
case MENU_LABEL_VIDEO_DRIVER_GL:
snprintf(s, len,
"OpenGL-Grafiktreiber. \n"
" \n"
"Dieser Treiber erlaubt es, neben software- \n"
"gerenderten Cores aus Libretro-GL-Cores zu \n"
"verwenden. \n"
" \n"
"Die Leistung, sowohl bei software-gerenderten, \n"
"als auch bei Libretro-GL-Cores, hängt von dem \n"
"GL-Treiber deiner Grafikkarte ab.");
break;
case MENU_LABEL_VIDEO_DRIVER_SDL2:
snprintf(s, len,
"SDL2-Grafiktreiber.\n"
" \n"
"Dies ist ein SDL2-Grafiktreiber \n"
"mit Software-Rendering."
" \n"
"Die Leistung hängt von der SDL- \n"
"Implementierung deiner Plattform ab.");
break;
case MENU_LABEL_VIDEO_DRIVER_SDL1:
snprintf(s, len,
"SDL-Grafiktreiber.\n"
" \n"
"Dies ist ein SDL1.2-Grafiktreiber \n"
"mit Software-Rendering."
" \n"
"Die Leistung ist suboptimal und du \n"
"solltest ihn nur als letzte \n"
"Möglichkeit verwenden.");
break;
case MENU_LABEL_VIDEO_DRIVER_D3D:
snprintf(s, len,
"Direct3D-Grafiktreiber. \n"
" \n"
"Die Leistung bei software-gerenderten \n"
"Cores hängt von dem D3D-Treiber deiner \n"
"Grafikkarte ab.");
break;
case MENU_LABEL_VIDEO_DRIVER_EXYNOS:
snprintf(s, len,
"Exynos-G2D-Grafiktreiber. \n"
" \n"
"Dies ist ein Low-Level-Exynos-Grafiktreiber. \n"
"Er verwendet den G2D-Block in Samsung-Exynos-SoCs. \n"
"für Blitting-Operationen. \n"
" \n"
"Die Leistung bei software-gerendeten Cores sollte \n"
"optimal sein.");
break;
case MENU_LABEL_VIDEO_DRIVER_SUNXI:
snprintf(s, len,
"Sunxi-G2D-Grafiktreiber\n"
" \n"
"Dies ist ein Low-Level-Sunxi-Grafiktreiber. \n"
"Er verwendet den G2D-Block in Allwinnder-SoCs.");
break;
default:
snprintf(s, len,
"Momentaner Grafiktreiber.");
break;
}
break;
case MENU_LABEL_AUDIO_DSP_PLUGIN:
snprintf(s, len,
"Audio-DSP-Plugin.\n"
" Verarbeitet Audiodaten, bevor \n"
"sie zum Treiber gesendet werden."
);
break;
case MENU_LABEL_AUDIO_RESAMPLER_DRIVER:
driver_hash = menu_hash_calculate(settings->audio.resampler);
switch (driver_hash)
{
case MENU_LABEL_AUDIO_RESAMPLER_DRIVER_SINC:
snprintf(s, len,
"Windowed-SINC-Implementierung.");
break;
case MENU_LABEL_AUDIO_RESAMPLER_DRIVER_CC:
snprintf(s, len,
"Convoluted-Kosinus-Implementierung.");
break;
}
break;
case MENU_LABEL_VIDEO_SHADER_PRESET:
snprintf(s, len,
"Lade Shader-Voreinstellung. \n"
" \n"
" Lade eine "
#ifdef HAVE_CG
"Cg"
#endif
#ifdef HAVE_GLSL
#ifdef HAVE_CG
"/"
#endif
"GLSL"
#endif
#ifdef HAVE_HLSL
#if defined(HAVE_CG) || defined(HAVE_HLSL)
"/"
#endif
"HLSL"
#endif
"-Voreinstellung. \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"
"angezeigte Skalierungsfaktor inkorrekt sein."
);
break;
/*
* FIXME: Some stuff still missing here.
*/
case MENU_LABEL_OSK_ENABLE:
snprintf(s, len,
"(De-)Aktiviere die Bildschirmtastatur.");
break;
case MENU_LABEL_AUDIO_MUTE:
snprintf(s, len,
"Audio stummschalten.");
break;
case MENU_LABEL_REWIND:
snprintf(s, len,
"Halte die Taste zum Zurückspulen gedrückt.\n"
" \n"
"Die Zurückspulfunktion muss eingeschaltet \n"
"sein.");
break;
case MENU_LABEL_EXIT_EMULATOR:
snprintf(s, len,
"Taste zum Beenden von RetroArch."
#if !defined(RARCH_MOBILE) && !defined(RARCH_CONSOLE)
"\nWenn du es stattdessen mittels SIGKILL \n"
"beendest, wird RetroArch nicht den RAM \n"
"sichern. Bei unixoiden Betriebssystemen \n"
"erlaubt SIGINT/SIGTERM ein sauberes \n"
"Beenden."
#endif
);
break;
case MENU_LABEL_LOAD_STATE:
snprintf(s, len,
"Lädt einen Savestate.");
break;
case MENU_LABEL_SAVE_STATE:
snprintf(s, len,
"Speichert einen Savestate.");
break;
case MENU_LABEL_NETPLAY_FLIP_PLAYERS:
snprintf(s, len,
"Netplay-Spieler tauschen.");
break;
case MENU_LABEL_CHEAT_INDEX_PLUS:
snprintf(s, len,
"Erhöht den Cheat-Index.\n");
break;
case MENU_LABEL_CHEAT_INDEX_MINUS:
snprintf(s, len,
"Verringert den Cheat-Index.\n");
break;
case MENU_LABEL_SHADER_PREV:
snprintf(s, len,
"Wendet vorherigen Shader im Verzeichnis an.");
break;
case MENU_LABEL_SHADER_NEXT:
snprintf(s, len,
"Wendet nächsten Shader im Verzeichnis an.");
break;
case MENU_LABEL_RESET:
snprintf(s, len,
"Setzt den Content zurück.\n");
break;
case MENU_LABEL_PAUSE_TOGGLE:
snprintf(s, len,
"Pausiert den Content und setzt ihn wieder fort.");
break;
case MENU_LABEL_CHEAT_TOGGLE:
snprintf(s, len,
"Schaltet den Cheat-Index ein und aus.\n");
break;
case MENU_LABEL_HOLD_FAST_FORWARD:
snprintf(s, len,
"Halte den Knopf gedrückt, um vorzuspulen. Beim Loslassen \n"
"wird das Vorspulen beendet.");
break;
case MENU_LABEL_SLOWMOTION:
snprintf(s, len,
"Halte den Knopf gedrückt, um die Zeitlupe einzuschalten.");
break;
case MENU_LABEL_FRAME_ADVANCE:
snprintf(s, len,
"Frame-Advance, wenn der Content pausiert ist.");
break;
case MENU_LABEL_MOVIE_RECORD_TOGGLE:
snprintf(s, len,
"Aufnahme ein- und ausschalten.");
break;
case MENU_LABEL_L_X_PLUS:
case MENU_LABEL_L_X_MINUS:
case MENU_LABEL_L_Y_PLUS:
case MENU_LABEL_L_Y_MINUS:
case MENU_LABEL_R_X_PLUS:
case MENU_LABEL_R_X_MINUS:
case MENU_LABEL_R_Y_PLUS:
case MENU_LABEL_R_Y_MINUS:
snprintf(s, len,
"Achse für Analog-Stick (DualShock-artig).\n"
" \n"
"Zugewiesen wie gewöhnlich, wenn jedoch eine echte \n"
"Analogachse zugewiesen wird, kann sie auch wirklich \n"
"analog gelesen werden.\n"
" \n"
"Positive X-Achse ist rechts. \n"
"Positive Y-Achse ist unten.");
break;
default:
return -1;
}
return 0;
}
}

View File

@ -1364,6 +1364,10 @@ const char *menu_hash_to_str_us(uint32_t hash)
return "Directory Settings";
case MENU_LABEL_VALUE_RECORDING_SETTINGS:
return "Recording Settings";
case MENU_LABEL_VALUE_NO_INFORMATION_AVAILABLE:
return "No information is available.";
case MENU_LABEL_VALUE_INPUT_USER_BINDS:
return "Input User %u Binds";
default:
break;
}
@ -2314,7 +2318,7 @@ int menu_hash_get_help_us(uint32_t hash, char *s, size_t len)
break;
default:
if (s[0] == '\0')
strlcpy(s, "No information is available.", len);
strlcpy(s, menu_hash_to_str(MENU_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
return -1;
}

View File

@ -930,6 +930,10 @@ extern "C" {
#define MENU_VALUE_NONE 0x7c89bbd5U
#define MENU_LABEL_VALUE_NO_INFORMATION_AVAILABLE 0xbae2c7f6U
#define MENU_LABEL_VALUE_INPUT_USER_BINDS 0x75fda711U
const char *menu_hash_to_str_de(uint32_t hash);
int menu_hash_get_help_de(uint32_t hash, char *s, size_t len);

View File

@ -5911,7 +5911,7 @@ static bool setting_append_list_input_player_options(
* Keep it up to date or you'll get some really obvious bugs.
* 2 is the length of '99'; we don't need more users than that.
*/
static char buffer[MAX_USERS][7+2+1];
static char buffer[MAX_USERS][13+2+1];
static char group_lbl[MAX_USERS][PATH_MAX_LENGTH];
unsigned i;
rarch_setting_group_info_t group_info = {0};
@ -5925,7 +5925,7 @@ static bool setting_append_list_input_player_options(
snprintf(buffer[user], sizeof(buffer[user]),
"%s %u", menu_hash_to_str(MENU_VALUE_USER), user + 1);
snprintf(group_lbl[user], sizeof(group_lbl[user]),
"Input %s Binds", buffer[user]);
menu_hash_to_str(MENU_LABEL_VALUE_INPUT_USER_BINDS), user + 1);
START_GROUP(group_info, group_lbl[user], parent_group);