mirror of
https://github.com/libretro/RetroArch
synced 2025-03-30 07:20:36 +00:00
Remove language specific msg_hash_xx.c files (#15218)
After PR #14821 , the contents of msg_hash_xx.c files are present in the normal translation workflow. Since that time, almost all languages have either caught up on Crowdin, or are still on such low level of translation completeness, that removing these entries does not harm usability. Only Chinese Simplified and Portuguese Brazilian languages remain in separate files, as they may still be considered an improvement over Crowdin status. See also commit 568ffac8f632354f9802.
This commit is contained in:
parent
79384b39ec
commit
80296a60a2
@ -447,17 +447,8 @@ ifeq ($(HAVE_LANGEXTRA), 1)
|
||||
DEFINES += -DHAVE_LANGEXTRA
|
||||
DEF_FLAGS += -finput-charset=UTF-8
|
||||
|
||||
OBJ += intl/msg_hash_ca.o \
|
||||
intl/msg_hash_chs.o \
|
||||
intl/msg_hash_el.o \
|
||||
intl/msg_hash_ja.o \
|
||||
intl/msg_hash_ko.o \
|
||||
intl/msg_hash_pt_br.o \
|
||||
intl/msg_hash_pt_pt.o \
|
||||
intl/msg_hash_ru.o \
|
||||
intl/msg_hash_tr.o \
|
||||
intl/msg_hash_val.o \
|
||||
intl/msg_hash_vn.o
|
||||
OBJ += intl/msg_hash_chs.o \
|
||||
intl/msg_hash_pt_br.o
|
||||
endif
|
||||
|
||||
ifneq ($(HAVE_GETOPT_LONG), 1)
|
||||
|
@ -1233,17 +1233,8 @@ RETROARCH
|
||||
|
||||
#include "../msg_hash.c"
|
||||
#ifdef HAVE_LANGEXTRA
|
||||
#include "../intl/msg_hash_ca.c"
|
||||
#include "../intl/msg_hash_chs.c"
|
||||
#include "../intl/msg_hash_el.c"
|
||||
#include "../intl/msg_hash_ja.c"
|
||||
#include "../intl/msg_hash_ko.c"
|
||||
#include "../intl/msg_hash_pt_br.c"
|
||||
#include "../intl/msg_hash_pt_pt.c"
|
||||
#include "../intl/msg_hash_ru.c"
|
||||
#include "../intl/msg_hash_tr.c"
|
||||
#include "../intl/msg_hash_val.c"
|
||||
#include "../intl/msg_hash_vn.c"
|
||||
#endif
|
||||
|
||||
#include "../intl/msg_hash_us.c"
|
||||
|
@ -1,75 +0,0 @@
|
||||
/* RetroArch - A frontend for libretro.
|
||||
* Copyright (C) 2011-2017 - Daniel De Matteis
|
||||
* Copyright (C) 2016-2019 - Brad Parker
|
||||
*
|
||||
* RetroArch is free software: you can redistribute it and/or modify it under the terms
|
||||
* of the GNU General Public License as published by the Free Software Found-
|
||||
* ation, either version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with RetroArch.
|
||||
* If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#include <compat/strl.h>
|
||||
#include <string/stdstring.h>
|
||||
|
||||
#include "../msg_hash.h"
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
static const char *menu_hash_to_str_ca_label_enum(enum msg_hash_enums msg)
|
||||
{
|
||||
if (msg <= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_END &&
|
||||
msg >= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN)
|
||||
{
|
||||
static char hotkey_lbl[128] = {0};
|
||||
unsigned idx = msg - MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN;
|
||||
snprintf(hotkey_lbl, sizeof(hotkey_lbl), "input_hotkey_binds_%d", idx);
|
||||
return hotkey_lbl;
|
||||
}
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
#include "msg_hash_lbl.h"
|
||||
default:
|
||||
#if 0
|
||||
RARCH_LOG("Unimplemented: [%d]\n", msg);
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
||||
#endif
|
||||
|
||||
const char *msg_hash_to_str_ca(enum msg_hash_enums msg)
|
||||
{
|
||||
#ifdef HAVE_MENU
|
||||
const char *ret = menu_hash_to_str_ca_label_enum(msg);
|
||||
|
||||
if (ret && !string_is_equal(ret, "null"))
|
||||
return ret;
|
||||
#endif
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
#include "msg_hash_ca.h"
|
||||
default:
|
||||
#if 0
|
||||
RARCH_LOG("Unimplemented: [%d]\n", msg);
|
||||
{
|
||||
RARCH_LOG("[%d] : %s\n", msg - 1, msg_hash_to_str(((enum msg_hash_enums)(msg - 1))));
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
@ -1,425 +0,0 @@
|
||||
/* RetroArch - A frontend for libretro.
|
||||
* Copyright (C) 2011-2017 - Daniel De Matteis
|
||||
* Copyright (C) 2016-2019 - Brad Parker
|
||||
*
|
||||
* RetroArch is free software: you can redistribute it and/or modify it under the terms
|
||||
* of the GNU General Public License as published by the Free Software Found-
|
||||
* ation, either version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with RetroArch.
|
||||
* If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#include <compat/strl.h>
|
||||
#include <string/stdstring.h>
|
||||
|
||||
#include "../msg_hash.h"
|
||||
|
||||
#ifdef RARCH_INTERNAL
|
||||
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
|
||||
#if (_MSC_VER >= 1700)
|
||||
/* https://support.microsoft.com/en-us/kb/980263 */
|
||||
#pragma execution_character_set("utf-8")
|
||||
#endif
|
||||
#pragma warning(disable:4566)
|
||||
#endif
|
||||
|
||||
int msg_hash_get_help_el_enum(enum msg_hash_enums msg, char *s, size_t len)
|
||||
{
|
||||
if (msg <= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_END &&
|
||||
msg >= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN)
|
||||
{
|
||||
unsigned idx = msg - MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN;
|
||||
|
||||
switch (idx)
|
||||
{
|
||||
case RARCH_FAST_FORWARD_KEY:
|
||||
snprintf(s, len,
|
||||
"Αλλαγή ανάμεσα σε γρήγορη και \n"
|
||||
"κανονική ταχύτητα."
|
||||
);
|
||||
break;
|
||||
case RARCH_FAST_FORWARD_HOLD_KEY:
|
||||
snprintf(s, len,
|
||||
"Κρατήστε πατημένο για γρήγορη ταχύτητα. \n"
|
||||
" \n"
|
||||
"Αφήνοντας το κουμπί απενεργοποιείται η γρήγορη ταχύτητα."
|
||||
);
|
||||
break;
|
||||
case RARCH_SLOWMOTION_KEY:
|
||||
snprintf(s, len,
|
||||
"Αλλάζει την αργή ταχύτητα.");
|
||||
break;
|
||||
case RARCH_SLOWMOTION_HOLD_KEY:
|
||||
snprintf(s, len,
|
||||
"Κρατήστε για αρχή ταχύτητα.");
|
||||
break;
|
||||
case RARCH_PAUSE_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"Αλλαγή ανάμεσα σε κατάσταση παύσης και μη παύσης.");
|
||||
break;
|
||||
case RARCH_FRAMEADVANCE:
|
||||
snprintf(s, len,
|
||||
"Προπόρευση καρέ κατά την παύση περιεχομένου.");
|
||||
break;
|
||||
case RARCH_SHADER_NEXT:
|
||||
snprintf(s, len,
|
||||
"Εφαρμόζει την επόμενη σκίαση στο ευρετήριο.");
|
||||
break;
|
||||
case RARCH_SHADER_PREV:
|
||||
snprintf(s, len,
|
||||
"Εφαρμόζει την προηγούμενη σκίαση στο ευρετήριο.");
|
||||
break;
|
||||
case RARCH_CHEAT_INDEX_PLUS:
|
||||
case RARCH_CHEAT_INDEX_MINUS:
|
||||
case RARCH_CHEAT_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"Κωδικοί.");
|
||||
break;
|
||||
case RARCH_RESET:
|
||||
snprintf(s, len,
|
||||
"Επαναφορά του περιεχομένου.");
|
||||
break;
|
||||
case RARCH_SCREENSHOT:
|
||||
snprintf(s, len,
|
||||
"Λήψη στιγμιοτύπου.");
|
||||
break;
|
||||
case RARCH_MUTE:
|
||||
snprintf(s, len,
|
||||
"Σίγαση/κατάργηση σίγασης ήχου.");
|
||||
break;
|
||||
case RARCH_OSK:
|
||||
snprintf(s, len,
|
||||
"Ενεργοποιεί το πληκτρολόγιο οθόνης.");
|
||||
break;
|
||||
case RARCH_NETPLAY_GAME_WATCH:
|
||||
snprintf(s, len,
|
||||
"Εναλλαγή λειτουργίας παιχνιδιού/παρακολούθησης Netplay.");
|
||||
break;
|
||||
case RARCH_ENABLE_HOTKEY:
|
||||
{
|
||||
/* Work around C89 limitations */
|
||||
const char *t =
|
||||
"Ενεργοποίηση άλλων πλήκτρων εντολών. \n"
|
||||
" \n"
|
||||
"Εάν αυτό το πλήκτρο είναι συνδεδεμένο είτε με\n"
|
||||
"ένα πληκτρολόγιο ή κάποιο κουμπί χειριστιερίου, \n"
|
||||
"όλα τα υπόλοιπα κουμπιά εντολών θα ενεργοποιηθούν μόνο \n";
|
||||
const char *u =
|
||||
"εάν και αυτό είναι πατημένο την ίδια στιγμή. \n"
|
||||
" \n"
|
||||
"Διαφορετικά, όλα τα κουμπιά εντολών πληκτρολογίου \n"
|
||||
"μπορούν να απενεργοποιηθούν από τον χρήστη.";
|
||||
strlcpy(s, t, len);
|
||||
strlcat(s, u, len);
|
||||
}
|
||||
break;
|
||||
case RARCH_VOLUME_UP:
|
||||
snprintf(s, len,
|
||||
"Αυξάνει την ένταση του ήχου.");
|
||||
break;
|
||||
case RARCH_VOLUME_DOWN:
|
||||
snprintf(s, len,
|
||||
"Μειώνει την ένταση του ήχου.");
|
||||
break;
|
||||
case RARCH_OVERLAY_NEXT:
|
||||
snprintf(s, len,
|
||||
"Αλλάζει στο επόμενο επικάλλυμα. Επαναφέρεται.");
|
||||
break;
|
||||
case RARCH_DISK_EJECT_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"Ενεργοποιεί την αφαίρεση δίσκων. \n"
|
||||
" \n"
|
||||
"Χρησιμοποιείται για περιεχόμενο με πολλούς δίσκους. ");
|
||||
break;
|
||||
case RARCH_DISK_NEXT:
|
||||
case RARCH_DISK_PREV:
|
||||
snprintf(s, len,
|
||||
"Αλλάζει ανάμεσα σε εικόνες δίσκων. Χρησιμοποιείστε μετά την εξαγωγή. \n"
|
||||
" \n"
|
||||
"Ολοκληρώστε πατώντας εξαγωγή ξανά.");
|
||||
break;
|
||||
case RARCH_GRAB_MOUSE_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"Ενεργοποίηση ελέγχου ποντικιού. \n"
|
||||
" \n"
|
||||
"Όταν το ποντίκι ελέγχεται, το RetroArch κρύβει το \n"
|
||||
"ποντίκι, και κρατάει τον δρομέα μέσα στο \n"
|
||||
"παράθυρο για να επιτρέψει την σχετική εισαγωγή \n"
|
||||
"ώστε να λειτουργήσει καλύτερα.");
|
||||
break;
|
||||
case RARCH_GAME_FOCUS_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"Ενεργοποίηση εστίασης παιχνιδιού.\n"
|
||||
" \n"
|
||||
"Όταν ένα παιχνίδι έχει την εστίαση, το RetroArch θα απενεργοποιήσει \n"
|
||||
"τα κουμπιά εντολών και θα κρατήσει τον δρομέα του ποντικιού μέσα στο παράθυρο.");
|
||||
break;
|
||||
case RARCH_MENU_TOGGLE:
|
||||
snprintf(s, len, "Ενεργοποιεί το μενού.");
|
||||
break;
|
||||
case RARCH_LOAD_STATE_KEY:
|
||||
snprintf(s, len,
|
||||
"Φορτώνει κατάσταση.");
|
||||
break;
|
||||
case RARCH_FULLSCREEN_TOGGLE_KEY:
|
||||
snprintf(s, len,
|
||||
"Ενεργοποιεί την πλήρη οθόνη.");
|
||||
break;
|
||||
case RARCH_QUIT_KEY:
|
||||
snprintf(s, len,
|
||||
"Κουμπί καθαρής εξόδου από το RetroArch. \n"
|
||||
" \n"
|
||||
"Η απότομη απενεργοποίηση της λειτουργίας του θα \n"
|
||||
"τερματίσει το RetroArch χωρίς να αποθηκεύσει την RAM κ.α."
|
||||
#ifdef __unix__
|
||||
"\nΣε Unix-likes, SIGINT/SIGTERM επιτρέπουν την \n"
|
||||
"καθαρή απενεργοποίηση."
|
||||
#endif
|
||||
"");
|
||||
break;
|
||||
case RARCH_STATE_SLOT_PLUS:
|
||||
case RARCH_STATE_SLOT_MINUS:
|
||||
snprintf(s, len,
|
||||
"Θυρίδες κατάστασης. \n"
|
||||
" \n"
|
||||
"Με την θυρίδα τοποθετημένη στο 0, το όνομα της αποθηκευμένης κατάστασης είναι \n"
|
||||
"*.state (ή οτιδήποτε έχει καθοριστεί στην γραμμή εντολών). \n"
|
||||
" \n"
|
||||
"Όταν η θυρίδα δεν είναι 0, η διαδρομή θα είναι <διαδρομή><d>, \n"
|
||||
"όπου <d> είναι ο αριθμός θυρίδας.");
|
||||
break;
|
||||
case RARCH_SAVE_STATE_KEY:
|
||||
snprintf(s, len,
|
||||
"Αποθηκεύει την κατάσταση.");
|
||||
break;
|
||||
case RARCH_REWIND:
|
||||
snprintf(s, len,
|
||||
"Κρατήστε το κουμπί για επιστροφή προς τα πίσω. \n"
|
||||
" \n"
|
||||
"Η επιστροφή προς τα πίσω πρέπει να είναι ενεργοποιημένη.");
|
||||
break;
|
||||
default:
|
||||
if (string_is_empty(s))
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
case MENU_ENUM_LABEL_ACCOUNTS_RETRO_ACHIEVEMENTS:
|
||||
snprintf(s, len, "Στοιχεία σύνδεσης για τον \n"
|
||||
"λογαριασμό Retro Achievements. \n"
|
||||
" \n"
|
||||
"Επισκεφθείτε το retroachievements.org και εγγραφείτε \n"
|
||||
"για δωρεάν λογαριασμό. \n"
|
||||
" \n"
|
||||
"Μετά την ολοκλήρωση της εγγραφής, πρέπει να \n"
|
||||
"εισάγετε το όνομα χρήστη και τον κωδικό στο \n"
|
||||
"RetroArch.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_CHEEVOS_USERNAME:
|
||||
snprintf(s, len, "Όνομα χρήστη για τον λογαριασμό σας στο Retro Achievements.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_CHEEVOS_PASSWORD:
|
||||
snprintf(s, len, "Κωδικός για τον λογαριασμό σας στο Retro Achievements.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_USER_LANGUAGE:
|
||||
{
|
||||
/* Work around C89 limitations */
|
||||
const char *t =
|
||||
"Τοπικοποίηση του μενού και όλων των μηνυμάτων \n"
|
||||
"ανάλογα με την γλώσσα που έχετε επιλέξει \n"
|
||||
"εδώ. \n"
|
||||
" \n"
|
||||
"Χρειάζεται επανεκκίνηση για να ενεργοποιηθούν \n"
|
||||
"οι αλλαγές. \n";
|
||||
const char *u =
|
||||
" \n"
|
||||
"Σημείωση: πιθανόν να μην έχουν εφαρμοστεί \n"
|
||||
"όλες οι γλώσσες. \n"
|
||||
" \n"
|
||||
"Σε περίπτωση που μία γλώσσα δεν έχει εφαρμοστεί, \n"
|
||||
"χρησιμοποιούμε τα Αγγλικά.";
|
||||
strlcpy(s, t, len);
|
||||
strlcat(s, u, len);
|
||||
}
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_FONT_PATH:
|
||||
snprintf(s, len, "Αλλαγή της γραμματοσειράς που χρησιμοποιείται \n"
|
||||
"για το κείμενο της Οθόνης Απεικόνισης.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_GAME_SPECIFIC_OPTIONS:
|
||||
snprintf(s, len, "Αυτόματη φόρτωση επιλογών πυρήνα βάση περιεχομένου.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_AUTO_OVERRIDES_ENABLE:
|
||||
snprintf(s, len, "Αυτόματη φόρτωση ρυθμίσεων παράκαμψης.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_AUTO_REMAPS_ENABLE:
|
||||
snprintf(s, len, "Αυτόματη φόρτωση αρχείων αναδιοργάνωσης πλήκτρων.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SORT_SAVESTATES_ENABLE:
|
||||
snprintf(s, len, "Οργάνωση καταστάσεων αποθήκευσης σε φακέλους \n"
|
||||
"ονομασμένες με βάση τον πυρήνα libretro που χρησιμοποιούν.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SORT_SAVEFILES_ENABLE:
|
||||
snprintf(s, len, "Οργάνωση αρχείων αποθήκευσης σε φακέλους \n"
|
||||
"ονομασμένα με βάση τον πυρήνα libretro που χρησιμοποιούν.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_RESUME_CONTENT:
|
||||
snprintf(s, len, "Έξοδος από το μενού και επιστροφή \n"
|
||||
"στο περιεχόμενο.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_RESTART_CONTENT:
|
||||
snprintf(s, len, "Επανεκκινεί το περιεχόμενο από την αρχή.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_CLOSE_CONTENT:
|
||||
snprintf(s, len, "Κλείνει το περιεχόμενο και το αποφορτώνει από την \n"
|
||||
"μνήμη.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_UNDO_LOAD_STATE:
|
||||
snprintf(s, len, "Εάν μία κατάσταση φορτώθηκε, το περιεχόμενο \n"
|
||||
"θα επανέλθει στην κατάσταση πριν την φόρτωση.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_UNDO_SAVE_STATE:
|
||||
snprintf(s, len, "Εάν μία κατάσταση αντικαταστάθηκε, θα \n"
|
||||
"επανέλθει στην προηγούμενη κατάσταση αποθήκευσης.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_TAKE_SCREENSHOT:
|
||||
snprintf(s, len, "Δημιουργία στιγμιοτύπου. \n"
|
||||
" \n"
|
||||
"Το στιγμιότυπο θα αποθηκευθεί στην \n"
|
||||
"Διαδρομή Στιγμιοτύπων.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_ADD_TO_FAVORITES:
|
||||
snprintf(s, len, "Προσθήκη της καταχώρισης στα Αγαπημένα.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_RUN:
|
||||
snprintf(s, len, "Έναρξη περιεχομένου.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_INFORMATION:
|
||||
snprintf(s, len, "Προβολή περισσότερων μεταδεδομένων πληροφοριών \n"
|
||||
"σχετικά με το περιεχόμενο.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_FILE_BROWSER_CONFIG:
|
||||
snprintf(s, len, "Αρχείο Διαμόρφωσης.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_FILE_BROWSER_COMPRESSED_ARCHIVE:
|
||||
snprintf(s, len, "Συμπιεσμένο αρχείο.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_FILE_BROWSER_RECORD_CONFIG:
|
||||
snprintf(s, len, "Αρχείο διαμόρφωσης καταγραφών.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_FILE_BROWSER_CURSOR:
|
||||
snprintf(s, len, "Αρχείο ερωτήματος βάσης δεδομένων.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_FILE_CONFIG:
|
||||
snprintf(s, len, "Αρχείο Διαμόρφωσης.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY:
|
||||
snprintf(s, len,
|
||||
"Επέλεξε αυτό για να ανιχνεύσεις περιεχόμενο στην \n"
|
||||
"τρέχουσα διαδρομή.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_USE_THIS_DIRECTORY:
|
||||
snprintf(s, len,
|
||||
"Επέλεξε αυτό για να ορίσεις αυτήν ως την διαδρομή.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_CONTENT_DATABASE_DIRECTORY:
|
||||
snprintf(s, len,
|
||||
"Ευρετήριο Βάσης Δεδομένων Περιεχομένου. \n"
|
||||
" \n"
|
||||
"Διαδρομή για το ευρετήριο της βάσης δεδομένων \n"
|
||||
"περιεχομένου.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_THUMBNAILS_DIRECTORY:
|
||||
snprintf(s, len,
|
||||
"Ευρετήριο Μικρογραφιών. \n"
|
||||
" \n"
|
||||
"Για την αποθήκευση αρχείων μικρογραφιών.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_LIBRETRO_INFO_PATH:
|
||||
snprintf(s, len,
|
||||
"Ευρετήριο Πληροφοριών Πυρήνων. \n"
|
||||
" \n"
|
||||
"Ένα ευρετήριο για το που να ψάξεις \n"
|
||||
"για πληφοροφίες των πυρήνων libretro.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_PLAYLIST_DIRECTORY:
|
||||
snprintf(s, len,
|
||||
"Ευρετήριο Λιστών Αναπαραγωγής. \n"
|
||||
" \n"
|
||||
"Αποθηκέυστε όλα τα αρχεία λιστών αναπαραγωγής \n"
|
||||
"σε αυτό το ευρετήριο.");
|
||||
break;
|
||||
default:
|
||||
if (string_is_empty(s))
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
static const char *menu_hash_to_str_el_label_enum(enum msg_hash_enums msg)
|
||||
{
|
||||
if (msg <= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_END &&
|
||||
msg >= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN)
|
||||
{
|
||||
static char hotkey_lbl[128] = {0};
|
||||
unsigned idx = msg - MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN;
|
||||
snprintf(hotkey_lbl, sizeof(hotkey_lbl), "input_hotkey_binds_%d", idx);
|
||||
return hotkey_lbl;
|
||||
}
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
#include "msg_hash_lbl.h"
|
||||
default:
|
||||
#if 0
|
||||
RARCH_LOG("Unimplemented: [%d]\n", msg);
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
||||
#endif
|
||||
|
||||
const char *msg_hash_to_str_el(enum msg_hash_enums msg)
|
||||
{
|
||||
#ifdef HAVE_MENU
|
||||
const char *ret = menu_hash_to_str_el_label_enum(msg);
|
||||
|
||||
if (ret && !string_is_equal(ret, "null"))
|
||||
return ret;
|
||||
#endif
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
#include "msg_hash_el.h"
|
||||
default:
|
||||
#if 0
|
||||
RARCH_LOG("Unimplemented: [%d]\n", msg);
|
||||
{
|
||||
RARCH_LOG("[%d] : %s\n", msg - 1, msg_hash_to_str(((enum msg_hash_enums)(msg - 1))));
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
@ -1,222 +0,0 @@
|
||||
/* RetroArch - A frontend for libretro.
|
||||
* Copyright (C) 2011-2017 - Daniel De Matteis
|
||||
* Copyright (C) 2016-2019 - Brad Parker
|
||||
*
|
||||
* RetroArch is free software: you can redistribute it and/or modify it under the terms
|
||||
* of the GNU General Public License as published by the Free Software Found-
|
||||
* ation, either version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with RetroArch.
|
||||
* If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#include <compat/strl.h>
|
||||
#include <string/stdstring.h>
|
||||
|
||||
#include "../msg_hash.h"
|
||||
|
||||
#if defined(_MSC_VER) && !defined(_XBOX)
|
||||
#if (_MSC_VER >= 1700 && _MSC_VER < 1900)
|
||||
/* https://support.microsoft.com/en-us/kb/980263 */
|
||||
#pragma execution_character_set("utf-8")
|
||||
#endif
|
||||
#pragma warning(disable:4566)
|
||||
#endif
|
||||
|
||||
int msg_hash_get_help_jp_enum(enum msg_hash_enums msg, char *s, size_t len)
|
||||
{
|
||||
if (msg <= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_END &&
|
||||
msg >= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN)
|
||||
{
|
||||
unsigned idx = msg - MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN;
|
||||
|
||||
switch (idx)
|
||||
{
|
||||
case RARCH_FAST_FORWARD_KEY:
|
||||
snprintf(s, len,
|
||||
"普通のスピードから早送りまで切り替える。"
|
||||
);
|
||||
break;
|
||||
case RARCH_FAST_FORWARD_HOLD_KEY:
|
||||
snprintf(s, len,
|
||||
"ホールドで早送り。\n"
|
||||
" \n"
|
||||
"離すと普通のスピードで戻ります。"
|
||||
);
|
||||
break;
|
||||
default:
|
||||
if (string_is_empty(s))
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
case MENU_ENUM_LABEL_VALUE_MENU_ENUM_CONTROLS_PROLOG:
|
||||
snprintf(s, len,
|
||||
"メニューを操作するには \n"
|
||||
"ゲームパッドまたはキーボードで以下の入力を使用できます: \n"
|
||||
" \n"
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_WELCOME_TO_RETROARCH:
|
||||
snprintf(s, len,
|
||||
"RetroArchにようこそ\n"
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VALUE_HELP_AUDIO_VIDEO_TROUBLESHOOTING_DESC: {
|
||||
/* Work around C89 limitations */
|
||||
char u[501];
|
||||
const char *t =
|
||||
"RetroArchは、オーディオとビデオの同期を独自の形態で行っています。\n"
|
||||
"最高のパフォーマンスを得るためには、ディスプレイの\n"
|
||||
"リフレッシュレート調整が必要です。\n"
|
||||
" \n"
|
||||
"もしオーディオの歪みやビデオのティアリングが発生しているなら、\n"
|
||||
"設定を確認してみてください。\n"
|
||||
"以下の選択肢を試してみてください:\n"
|
||||
" \n";
|
||||
snprintf(u, sizeof(u), /* can't inline this due to the printf arguments */
|
||||
"a) [%s]→[%s]に行き、[%s]を有効にしてください。\n"
|
||||
"このモードでは、リフレッシュレートは重要ではありません。\n"
|
||||
"フレームレートは高くなりますが、ビデオは少しスムーズでなくなります。\n"
|
||||
"b) [%s]→[%s]に行き、[%s]が2048 framesに\n"
|
||||
"なっていることを確認してください。",
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SETTINGS),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_SETTINGS),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_THREADED),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SETTINGS),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_SETTINGS),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_REFRESH_RATE_AUTO));
|
||||
strlcpy(s, t, len);
|
||||
strlcat(s, u, len);
|
||||
}
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VALUE_HELP_SCANNING_CONTENT_DESC:
|
||||
snprintf(s, len,
|
||||
"コンテンツをスキャンするには、[%s]に行き\n"
|
||||
"[%s]または[%s]を選択してください。\n"
|
||||
"\n"
|
||||
"コンテンツファイルはデータベースのエントリーと比較されます。\n"
|
||||
"一致した場合、プレイリストに追加されます。\n"
|
||||
"\n"
|
||||
"毎回ファイルブラウザを使用するかわりに、\n"
|
||||
"[%s]→[%s]でこのコンテンツに簡単にアクセスできます。\n"
|
||||
"\n"
|
||||
"NOTE: いくつかのコア向けのコンテンツはまだスキャンできません。\n",
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ADD_CONTENT_LIST),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_DIRECTORY),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_FILE),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLISTS_TAB)
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_LOAD_CONTENT_LIST:
|
||||
snprintf(s, len,
|
||||
"コンテンツをロードするには、それを実行する \n"
|
||||
"ための「コア」と、コンテンツファイルが必要です。 \n"
|
||||
" \n"
|
||||
"コンテンツの参照開始ディレクトリは、 \n"
|
||||
"[%s]で設定してください。 \n"
|
||||
"未設定のときは、ルートディレクトリとなります。 \n"
|
||||
" \n"
|
||||
"ブラウザでの参照時には、[%s]で \n"
|
||||
"最後に設定したコアに対応する拡張子で \n"
|
||||
"絞り込みます。 \n",
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RGUI_BROWSER_DIRECTORY),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_LIST)
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_CONFIRM_ON_EXIT:
|
||||
snprintf(s, len, "本当に終了しますか?");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SHOW_HIDDEN_FILES:
|
||||
snprintf(s, len, "隠しファイルとフォルダを表示する。");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VALUE_WHAT_IS_A_CORE_DESC: {
|
||||
/* Work around C89 limitations */
|
||||
char u[501];
|
||||
const char *t =
|
||||
"RetroArch自身だけでは何も実行できません。\n"
|
||||
"\n"
|
||||
"何かを実行するためには、それに対応する\n"
|
||||
"プログラムをロードする必要があります。\n"
|
||||
"\n"
|
||||
"そのようなプログラムを「Libretroコア」、\n"
|
||||
"または省略して「コア」と呼びます。\n"
|
||||
" \n";
|
||||
snprintf(u, sizeof(u),
|
||||
"コアをロードするには、[%s]から\n"
|
||||
"対応するコアを選択してください。\n"
|
||||
"\n"
|
||||
#ifdef HAVE_NETWORKING
|
||||
"以下のいずれかの方法でコアを利用できます:\n"
|
||||
"* [%s]→[%s]\n"
|
||||
"からダウンロードする。\n"
|
||||
"* [%s] に手動で移動する。"
|
||||
" \n",
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_LIST),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ONLINE_UPDATER),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_UPDATER_LIST),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LIBRETRO_DIR_PATH)
|
||||
#else
|
||||
"手動で[%s]に移動することでコアを利用できます。\n",
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_LIST),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LIBRETRO_DIR_PATH)
|
||||
#endif
|
||||
);
|
||||
strlcpy(s, t, len);
|
||||
strlcat(s, u, len);
|
||||
}
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VALUE_HELP_CHANGE_VIRTUAL_GAMEPAD_DESC:
|
||||
snprintf(s, len,
|
||||
"[%s]→[%s]からバーチャルゲームパッドのオーバーレイを変更できます。\n"
|
||||
" \n"
|
||||
"ボタンのサイズ、不透明度、その他を変更できます。\n"
|
||||
" \n"
|
||||
"NOTE: デフォルトでは、バーチャルゲームパッドのオーバーレイは\n"
|
||||
"メニュー表示中は隠されています。\n"
|
||||
"この挙動を変更したければ、\n"
|
||||
"[%s]をオフに変更してください。",
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SETTINGS),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OVERLAY_SETTINGS),
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_INPUT_OVERLAY_HIDE_IN_MENU)
|
||||
);
|
||||
break;
|
||||
default:
|
||||
if (string_is_empty(s))
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char *msg_hash_to_str_jp(enum msg_hash_enums msg)
|
||||
{
|
||||
switch (msg)
|
||||
{
|
||||
#include "msg_hash_ja.h"
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
||||
|
||||
const char *msg_hash_get_wideglyph_str_jp(void)
|
||||
{
|
||||
return "漢";
|
||||
}
|
@ -1,224 +0,0 @@
|
||||
/* RetroArch - A frontend for libretro.
|
||||
* Copyright (C) 2011-2017 - Daniel De Matteis
|
||||
* Copyright (C) 2016-2019 - Brad Parker
|
||||
*
|
||||
* RetroArch is free software: you can redistribute it and/or modify it under the terms
|
||||
* of the GNU General Public License as published by the Free Software Found-
|
||||
* ation, either version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with RetroArch.
|
||||
* If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#include <compat/strl.h>
|
||||
#include <string/stdstring.h>
|
||||
|
||||
#include "../msg_hash.h"
|
||||
|
||||
#if defined(_MSC_VER) && !defined(_XBOX)
|
||||
#if (_MSC_VER >= 1700 && _MSC_VER < 1900)
|
||||
/* https://support.microsoft.com/en-us/kb/980263 */
|
||||
#pragma execution_character_set("utf-8")
|
||||
#endif
|
||||
#pragma warning(disable:4566)
|
||||
#endif
|
||||
|
||||
int msg_hash_get_help_ko_enum(enum msg_hash_enums msg, char *s, size_t len)
|
||||
{
|
||||
if ( (msg <= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_END)
|
||||
&& (msg >= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN))
|
||||
{
|
||||
unsigned idx = msg - MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN;
|
||||
|
||||
switch (idx)
|
||||
{
|
||||
case RARCH_FAST_FORWARD_KEY:
|
||||
snprintf(s, len,
|
||||
"빨리감기와 보통속도 사이를\n"
|
||||
"전환합니다."
|
||||
);
|
||||
break;
|
||||
case RARCH_FAST_FORWARD_HOLD_KEY:
|
||||
snprintf(s, len,
|
||||
"빨리감기를 실행합니다. \n"
|
||||
" \n"
|
||||
"버튼을 놓으면 빨리감기를 중지합니다."
|
||||
);
|
||||
break;
|
||||
case RARCH_SLOWMOTION_KEY:
|
||||
snprintf(s, len,
|
||||
"슬로우모션을 전환합니다.");
|
||||
break;
|
||||
case RARCH_SLOWMOTION_HOLD_KEY:
|
||||
snprintf(s, len,
|
||||
"슬로우모션을 실행합니다.");
|
||||
break;
|
||||
case RARCH_PAUSE_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"일시정지/해제 상태를 전환합니다.");
|
||||
break;
|
||||
case RARCH_FRAMEADVANCE:
|
||||
snprintf(s, len,
|
||||
"컨텐츠 일시정지시 프레임을 진행합니다.");
|
||||
break;
|
||||
case RARCH_SHADER_NEXT:
|
||||
snprintf(s, len,
|
||||
"디렉토리 안의 다음 쉐이더를 적용합니다.");
|
||||
break;
|
||||
case RARCH_SHADER_PREV:
|
||||
snprintf(s, len,
|
||||
"디렉토리 안의 이전 쉐이더를 적용합니다.");
|
||||
break;
|
||||
case RARCH_CHEAT_INDEX_PLUS:
|
||||
case RARCH_CHEAT_INDEX_MINUS:
|
||||
case RARCH_CHEAT_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"치트");
|
||||
break;
|
||||
case RARCH_RESET:
|
||||
snprintf(s, len,
|
||||
"컨텐츠를 초기화합니다.");
|
||||
break;
|
||||
case RARCH_SCREENSHOT:
|
||||
snprintf(s, len,
|
||||
"스크린샷을 촬영합니다.");
|
||||
break;
|
||||
case RARCH_MUTE:
|
||||
snprintf(s, len,
|
||||
"음소거/음소거 해제.");
|
||||
break;
|
||||
case RARCH_OSK:
|
||||
snprintf(s, len,
|
||||
"온스크린 키보드를 전환합니다.");
|
||||
break;
|
||||
case RARCH_FPS_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"FPS 표시를 전환합니다.");
|
||||
break;
|
||||
case RARCH_SEND_DEBUG_INFO:
|
||||
snprintf(s, len,
|
||||
"기기 및 RetroArch 설정의 분적 정보를 분석을 위해 서버에 보냅니다.");
|
||||
break;
|
||||
case RARCH_NETPLAY_HOST_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"넷플레 호스트 켜기/끄기.");
|
||||
break;
|
||||
case RARCH_NETPLAY_GAME_WATCH:
|
||||
snprintf(s, len,
|
||||
"넷플레이 플레이/관전 모드를 전환합니다.");
|
||||
break;
|
||||
case RARCH_ENABLE_HOTKEY:
|
||||
snprintf(s, len,
|
||||
"추가 핫키를 사용합니다. \n"
|
||||
" \n"
|
||||
"이 핫키가 설정되면 키보드, 조이스틱 버튼,\n"
|
||||
"조이스틱 축등 모든 핫키가 이 키와 \n"
|
||||
"함께 눌렸을 때에만 사용가능하게 됩니다. \n"
|
||||
" \n"
|
||||
" \n"
|
||||
"또는 키보드상의 모든 핫키가 \n"
|
||||
"사용자에 의해 차단될수 있습니다.");
|
||||
break;
|
||||
case RARCH_VOLUME_UP:
|
||||
snprintf(s, len,
|
||||
"오디오 볼륨을 증가합니다.");
|
||||
break;
|
||||
case RARCH_VOLUME_DOWN:
|
||||
snprintf(s, len,
|
||||
"오디오 볼륨을 감소합니다.");
|
||||
break;
|
||||
case RARCH_OVERLAY_NEXT:
|
||||
snprintf(s, len,
|
||||
"다음 오버레이로 전환합니다. 화면을 \n"
|
||||
"덮어 씌웁니다.");
|
||||
break;
|
||||
case RARCH_DISK_EJECT_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"디스크 꺼내기를 전환합니다. \n"
|
||||
" \n"
|
||||
"다중 디스크 컨텐츠에 사용됩니다. ");
|
||||
break;
|
||||
case RARCH_DISK_NEXT:
|
||||
case RARCH_DISK_PREV:
|
||||
snprintf(s, len,
|
||||
"디스크 이미지간 탐색합니다. \n"
|
||||
"디스크 이미지를 꺼낸 후에 사용하세요. \n"
|
||||
" \n"
|
||||
"꺼내기 전환을 다시 눌러 완료합니다.");
|
||||
break;
|
||||
case RARCH_GRAB_MOUSE_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"마우스 고정을 전환합니다. \n"
|
||||
" \n"
|
||||
"마우스 고정이 활성화 되면, RetroArch가 마우스를 \n"
|
||||
"숨기고 창 안에 고정시켜 마우스 입력을 원활하게 \n"
|
||||
"끔 합니다.");
|
||||
break;
|
||||
case RARCH_MENU_TOGGLE:
|
||||
snprintf(s, len, "메뉴를 전환합니다.");
|
||||
break;
|
||||
case RARCH_LOAD_STATE_KEY:
|
||||
snprintf(s, len,
|
||||
"상태 불러오기");
|
||||
break;
|
||||
case RARCH_FULLSCREEN_TOGGLE_KEY:
|
||||
snprintf(s, len,
|
||||
"전체화면을 전환합니다.");
|
||||
break;
|
||||
default:
|
||||
if (string_is_empty(s))
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
case MENU_ENUM_LABEL_VALUE_MENU_ENUM_CONTROLS_PROLOG:
|
||||
snprintf(s, len,
|
||||
"메뉴를 조작하려면 게임패드 또는 \n"
|
||||
"키보드를 통해 다음의 조작 방법을\n"
|
||||
"사용 할 수 있습니다: \n"
|
||||
" \n"
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_WELCOME_TO_RETROARCH:
|
||||
snprintf(s, len,
|
||||
"RetroArch에 오신걸 환영합니다\n"
|
||||
);
|
||||
break;
|
||||
default:
|
||||
if (string_is_empty(s))
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char *msg_hash_to_str_ko(enum msg_hash_enums msg)
|
||||
{
|
||||
switch (msg)
|
||||
{
|
||||
#include "msg_hash_ko.h"
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
||||
|
||||
const char *msg_hash_get_wideglyph_str_ko(void)
|
||||
{
|
||||
return "메";
|
||||
}
|
@ -1,946 +0,0 @@
|
||||
/* RetroArch - A frontend for libretro.
|
||||
* Copyright (C) 2011-2017 - Daniel De Matteis
|
||||
*
|
||||
* RetroArch is free software: you can redistribute it and/or modify it under the terms
|
||||
* of the GNU General Public License as published by the Free Software Found-
|
||||
* ation, either version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with RetroArch.
|
||||
* If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <compat/strl.h>
|
||||
#include <string/stdstring.h>
|
||||
|
||||
#include "../msg_hash.h"
|
||||
#include "../../configuration.h"
|
||||
|
||||
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
|
||||
#if (_MSC_VER >= 1700)
|
||||
/* https://support.microsoft.com/en-us/kb/980263 */
|
||||
#pragma execution_character_set("utf-8")
|
||||
#endif
|
||||
#pragma warning(disable:4566)
|
||||
#endif
|
||||
|
||||
int msg_hash_get_help_pt_pt_enum(enum msg_hash_enums msg, char *s, size_t len)
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
case MENU_ENUM_LABEL_CORE_LIST:
|
||||
snprintf(s, len,
|
||||
"Carregar Core. \n"
|
||||
" \n"
|
||||
"Busca uma implementação de um core \n"
|
||||
"libretro. Onde a busca inicia depende \n"
|
||||
"do caminho do seu Diretório de Cores. \n"
|
||||
"Se não definido, começará no raiz. \n"
|
||||
" \n"
|
||||
"Se o Diretório de Cores estiver definido, \n"
|
||||
"o menu o usará como pasta inicial. Se for um \n"
|
||||
"caminho completo, ele começará na pasta onde \n"
|
||||
"o arquivo estiver.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_INPUT_DRIVER:
|
||||
{
|
||||
const char *lbl = settings ? settings->arrays.input_driver : NULL;
|
||||
|
||||
if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_INPUT_DRIVER_UDEV)))
|
||||
snprintf(s, len,
|
||||
"Driver de entrada udev. \n"
|
||||
" \n"
|
||||
"Esse driver funciona sem o X. \n"
|
||||
" \n"
|
||||
"Ele usa a recente API de joypads \n"
|
||||
"evdev para suporte a joystick. \n"
|
||||
"Suporta Hot-Swap e force feedback \n"
|
||||
"(se suportado pelo dispositivo). \n"
|
||||
" \n"
|
||||
"O driver lê os eventos evdev para suporte a \n"
|
||||
"teclado. Suporta também callback de teclado, \n"
|
||||
"mouses e touchpads. \n"
|
||||
" \n"
|
||||
"Em geral, na maioria das distribuições, os nós \n"
|
||||
"/dev/input são root-only (modo 600). Mas você pode \n"
|
||||
"definir uma regra udev para dar acesso a non-roots."
|
||||
);
|
||||
else if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_INPUT_DRIVER_LINUXRAW)))
|
||||
snprintf(s, len,
|
||||
"Driver de Entrada linuxraw. \n"
|
||||
" \n"
|
||||
"Esse driver requer um TTY ativo. Eventos de \n"
|
||||
"teclado são lidos diretamente do TTY, tornando-o \n"
|
||||
"simples, mas não tão flexível quanto o udev. \n" "Mouses, etc, não são suportados. \n"
|
||||
" \n"
|
||||
"Esse driver usa a antiga API de joysticks \n"
|
||||
"(/dev/input/js*).");
|
||||
else
|
||||
snprintf(s, len,
|
||||
"Driver de Entrada.\n"
|
||||
" \n"
|
||||
"Dependendo do driver de vídeo, pode ser necessário \n"
|
||||
"forçar um driver de entrada diferente.");
|
||||
}
|
||||
break;
|
||||
case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY:
|
||||
snprintf(s, len,
|
||||
"Carregando conteúdo do histórico. \n"
|
||||
" \n"
|
||||
"Ao carregar conteúdos, suas combinações com \n"
|
||||
"cores são salvas no histórico. \n"
|
||||
" \n"
|
||||
"O histórico é salvo em um arquivo no mesmo \n"
|
||||
"diretório do arquivo de configuração. Se nenhuma \n"
|
||||
"configuração tiver sido carregada, o histórico \n"
|
||||
"não será salvo ou carregado e não vai existir no \n"
|
||||
"menu principal."
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_DRIVER:
|
||||
{
|
||||
const char *video_driver = settings->arrays.video_driver;
|
||||
|
||||
snprintf(s, len,
|
||||
"Driver de Vídeo em uso.");
|
||||
|
||||
if (string_is_equal(video_driver, "gl"))
|
||||
{
|
||||
snprintf(s, len,
|
||||
"Driver de Vídeo OpenGL. \n"
|
||||
" \n"
|
||||
"Esse driver permite o uso de cores libretro GL \n"
|
||||
"em adição às implementações de cores de \n"
|
||||
"renderização por software.\n"
|
||||
" \n"
|
||||
"O desempenho das implementações dos cores de\n"
|
||||
"renderização por software e libretro GL \n"
|
||||
"depende do driver GL instalado em sua \n"
|
||||
"placa de vídeo.");
|
||||
}
|
||||
else if (string_is_equal(video_driver, "sdl2"))
|
||||
{
|
||||
snprintf(s, len,
|
||||
"Driver de Vídeo SDL 2.\n"
|
||||
" \n"
|
||||
"Esse é um driver de vídeo SDL 2 de \n"
|
||||
"renderização por software.\n"
|
||||
" \n"
|
||||
"O desempenho das implementações dos cores de \n"
|
||||
"renderização por software depende da \n"
|
||||
"implementação SDL de sua plataforma.");
|
||||
}
|
||||
else if (string_is_equal(video_driver, "sdl1"))
|
||||
{
|
||||
snprintf(s, len,
|
||||
"Driver de Vídeo SDL.\n"
|
||||
" \n"
|
||||
"Esse é um driver de vídeo SDL 1.2 de \n"
|
||||
"renderização por software.\n"
|
||||
" \n"
|
||||
"O desemprenho é considerado subótimo. \n"
|
||||
"Considere seu uso apenas em último caso.");
|
||||
}
|
||||
else if (string_is_equal(video_driver, "d3d"))
|
||||
{
|
||||
snprintf(s, len,
|
||||
"Driver de Vídeo Direct3D. \n"
|
||||
" \n"
|
||||
"O desempenho das implementações dos cores de\n"
|
||||
"renderização por software depende do driver \n"
|
||||
"D3D instalado em sua placa de vídeo.");
|
||||
}
|
||||
else if (string_is_equal(video_driver, "exynos"))
|
||||
{
|
||||
snprintf(s, len,
|
||||
"Driver de Vídeo Exynos-G2D. \n"
|
||||
" \n"
|
||||
"Esse é um driver de vídeo Exynos de baixo nível. \n"
|
||||
"Usa o bloco G2D do SoC Samsung Exynos \n"
|
||||
"para operações de blit. \n"
|
||||
" \n"
|
||||
"O desempenho para cores de renderização por \n"
|
||||
"software deve ser ótimo.");
|
||||
}
|
||||
else if (string_is_equal(video_driver, "sunxi"))
|
||||
{
|
||||
snprintf(s, len,
|
||||
"Driver de Vídeo Sunxi-G2D. \n"
|
||||
" \n"
|
||||
"Esse é um driver de vídeo Sunxi de baixo nível. \n"
|
||||
"Usa o bloco G2D dos SoCs Allwinner.");
|
||||
}
|
||||
}
|
||||
break;
|
||||
case MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN:
|
||||
snprintf(s, len,
|
||||
"Plugin de DSP de Áudio.\n"
|
||||
"Processa áudio antes de ser enviado ao \n"
|
||||
"driver."
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER:
|
||||
{
|
||||
const char *lbl = settings ? settings->arrays.audio_resampler : NULL;
|
||||
|
||||
if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER_SINC)))
|
||||
strlcpy(s,
|
||||
"Implementação Windowed SINC.", len);
|
||||
else if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER_CC)))
|
||||
strlcpy(s,
|
||||
"Implementação Convoluted Cosine.", len);
|
||||
}
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET:
|
||||
snprintf(s, len,
|
||||
"Carregar Predefinições de Shader. \n"
|
||||
" \n"
|
||||
" Carregar predefinições em "
|
||||
#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
|
||||
" diretamente. \n"
|
||||
"O menu de shaders é atualizado de acordo. \n"
|
||||
" \n"
|
||||
"Se o CGP usar métodos de interpolação complexos, \n"
|
||||
"(fator de escala diferente para X e Y) o fator \n"
|
||||
"de escala mostrado no menu poderá não ser \n"
|
||||
"correto."
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_SHADER_SCALE_PASS:
|
||||
snprintf(s, len,
|
||||
"Escala para este passo. \n"
|
||||
" \n"
|
||||
"O fator de escala se acumula, i.e. 2x \n"
|
||||
"para o primeiro passo e 2x para o segundo \n"
|
||||
"vai lhe fornecer uma escala total de 4x. \n"
|
||||
" \n"
|
||||
"Se houver um fator de escala no último \n"
|
||||
"passo, o resultado será esticado na tela \n"
|
||||
"com o filtro especificado em 'Filtro \n"
|
||||
"Padrão'. \n"
|
||||
" \n"
|
||||
"Se 'Tanto faz' estiver definido, a escala \n"
|
||||
"de 1x ou o esticamento para tela cheia serão \n"
|
||||
"usados dependendo se o primeiro foi ou não \n"
|
||||
"definido no último passo."
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_SHADER_NUM_PASSES:
|
||||
snprintf(s, len,
|
||||
"Número de Shaders. \n"
|
||||
" \n"
|
||||
"O RetroArch permite que você combine vários \n"
|
||||
"shaders com número arbitrário de passos, filtros \n"
|
||||
"de hardware e fatores de escala personalizados. \n"
|
||||
" \n"
|
||||
"Essa opção especifica o número de passos a usar. \n"
|
||||
"Se for definido como 0 e usada a opção Aplicar \n"
|
||||
"Alterações de Shaders, será usado um shader vazio. \n"
|
||||
" \n"
|
||||
"A opção Filtro Padrão irá afetar o filtro \n"
|
||||
"de esticamento.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_SHADER_PARAMETERS:
|
||||
snprintf(s, len,
|
||||
"Parâmetros de Shaders. \n"
|
||||
" \n"
|
||||
"Modifica o shader em uso diretamente. Não será \n"
|
||||
"salvo no arquivo de predefinições CGP/GLSLP.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_PARAMETERS:
|
||||
snprintf(s, len,
|
||||
"Parâmetros de Predefinições de Shader. \n"
|
||||
" \n"
|
||||
"Modifica as predefinições de shader em uso no menu."
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_SHADER_PASS:
|
||||
snprintf(s, len,
|
||||
"Caminho do shader. \n"
|
||||
" \n"
|
||||
"Todos os shaders devem ser do mesmo \n"
|
||||
"tipo (i.e. CG, GLSL ou HLSL). \n"
|
||||
" \n"
|
||||
"Defina o Diretório de Shaders para indicar \n"
|
||||
"onde o buscador começa a procurar pelos \n"
|
||||
"shaders."
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_CONFIG_SAVE_ON_EXIT:
|
||||
snprintf(s, len,
|
||||
"Salva configuração ao sair. Útil para\n"
|
||||
"o menu, pois as definições podem ser\n"
|
||||
"modificadas. Sobrescreve a configuração.\n"
|
||||
" \n"
|
||||
"#includes e comentários não são \n"
|
||||
"preservados. \n"
|
||||
" \n"
|
||||
"Por design, o arquivo de configuração \n"
|
||||
"é considerado imutável, pois ele é \n"
|
||||
"provavelmente mantido pelo usuário, \n"
|
||||
"e não deve ser sobrescrito sem o \n"
|
||||
"seu conhecimento."
|
||||
#if defined(RARCH_CONSOLE) || defined(RARCH_MOBILE)
|
||||
"\nPorém, isso não funciona assim nos \n"
|
||||
"consoles, pois abrir o arquivo de \n"
|
||||
"configuração manualmente não é \n"
|
||||
"realmente uma opção."
|
||||
#endif
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_SHADER_FILTER_PASS:
|
||||
snprintf(s, len,
|
||||
"Filtro de hardware para este passo. \n"
|
||||
" \n"
|
||||
"Se 'Tanto faz' estiver definido, o 'Filtro \n"
|
||||
"Padrão' será usado."
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_AUTOSAVE_INTERVAL:
|
||||
snprintf(s, len,
|
||||
"Salva automaticamente a SRAM \n"
|
||||
"em intervalos regulares.\n"
|
||||
" \n"
|
||||
"Está desativado por padrão. O intervalo é \n"
|
||||
"medido em segundos. \n"
|
||||
" \n"
|
||||
"Um valor de 0 desativa o salvamento \n"
|
||||
"automático.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_INPUT_BIND_DEVICE_TYPE:
|
||||
snprintf(s, len,
|
||||
"Tipo de Dispositivo de Entrada. \n"
|
||||
" \n"
|
||||
"Escolhe o dispositivo a usar. Isso é \n"
|
||||
"relevante para o core libretro."
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_LIBRETRO_LOG_LEVEL:
|
||||
snprintf(s, len,
|
||||
"Define o nível de registro para os cores \n"
|
||||
"(GET_LOG_INTERFACE). \n"
|
||||
" \n"
|
||||
" Se o nível de registro de um core \n"
|
||||
" libretro estiver abaixo de libretro_log, \n"
|
||||
" esse será ignorado.\n"
|
||||
" \n"
|
||||
" Registros DEBUG são sempre ignorados a menos \n"
|
||||
" que o modo prolixo seja ativado (--verbose).\n"
|
||||
" \n"
|
||||
" DEBUG = 0\n"
|
||||
" INFO = 1\n"
|
||||
" WARN = 2\n"
|
||||
" ERROR = 3"
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_STATE_SLOT_INCREASE:
|
||||
case MENU_ENUM_LABEL_STATE_SLOT_DECREASE:
|
||||
snprintf(s, len,
|
||||
"Slot de Savestates.\n"
|
||||
" \n"
|
||||
" Com o slot definido em 0, o nome do Savestate \n"
|
||||
" será *.state (ou o que estiver definido em commandline).\n"
|
||||
"Se diferente de 0, o nome será (caminho)(d), \n"
|
||||
"em que (d) é o número do slot.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SHADER_APPLY_CHANGES:
|
||||
snprintf(s, len,
|
||||
"Aplicar Alterações de Shaders. \n"
|
||||
" \n"
|
||||
"Após alterar definições de shaders, use-o para \n"
|
||||
"aplicar as mudanças. \n"
|
||||
" \n"
|
||||
"Mudar definições de shaders é uma operação \n"
|
||||
"computacionalmente cara e deve ser \n"
|
||||
"realizada explicitamente. \n"
|
||||
" \n"
|
||||
"Quando se aplicam shaders, as definições do menu \n"
|
||||
"de shaders são salvas em um arquivo temporário \n"
|
||||
"(menu.cgp ou menu.glslp) e carregadas. O arquivo \n"
|
||||
"persiste ao fechar o RetroArch. Ele é salvo \n"
|
||||
"no Diretório de Shaders."
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_MENU_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"Alterna menu.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_GRAB_MOUSE_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"Alterna uso de mouse.\n"
|
||||
" \n"
|
||||
"Quando o mouse é usado, RetroArch o esconde e \n"
|
||||
"mantém o seu ponteiro dentro da janela para \n"
|
||||
"permitir que a entrada relativa do mouse \n"
|
||||
"funcione melhor.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_DISK_NEXT:
|
||||
snprintf(s, len,
|
||||
"Circula por imagens de discos. Usar \n"
|
||||
"após ejetar. \n"
|
||||
" \n"
|
||||
" Finaliza ao usar ejetar novamente.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_FILTER:
|
||||
#ifdef HAVE_FILTERS_BUILTIN
|
||||
snprintf(s, len,
|
||||
"Filtro de vídeo baseado em CPU.");
|
||||
#else
|
||||
snprintf(s, len,
|
||||
"Filtro de vídeo baseado em CPU.\n"
|
||||
" \n"
|
||||
"Caminho para uma biblioteca dinâmica.");
|
||||
#endif
|
||||
break;
|
||||
case MENU_ENUM_LABEL_AUDIO_DEVICE:
|
||||
snprintf(s, len,
|
||||
"Sobrepõe-se ao dispositivo de áudio padrão \n"
|
||||
"que está em uso.\n"
|
||||
"É dependente do driver. \n"
|
||||
#ifdef HAVE_ALSA
|
||||
" \n"
|
||||
"ALSA precisa de um dispositivo PCM."
|
||||
#endif
|
||||
#ifdef HAVE_OSS
|
||||
" \n"
|
||||
"OSS precisa de um caminho (ex.: /dev/dsp)."
|
||||
#endif
|
||||
#ifdef HAVE_JACK
|
||||
" \n"
|
||||
"JACK precisa de portas (ex.: system:playback1\n"
|
||||
",system:playback_2)."
|
||||
#endif
|
||||
#ifdef HAVE_RSOUND
|
||||
" \n"
|
||||
"RSound precisa de um endereço IP para \n"
|
||||
"servidor RSound."
|
||||
#endif
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_DISK_EJECT_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"Alterna ejeção para discos.\n"
|
||||
" \n"
|
||||
"Usado para conteúdos multidiscos.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_ENABLE_HOTKEY:
|
||||
snprintf(s, len,
|
||||
"Ativar outras hotkeys.\n"
|
||||
" \n"
|
||||
" Se esta hotkey é usada por teclado, joybutton \n"
|
||||
"ou joyaxis, todas as outras hotkeys serão \n"
|
||||
"desativadas a menos que esta hotkey esteja sendo \n"
|
||||
"usada ao mesmo tempo. \n"
|
||||
" \n"
|
||||
"Isso é útil para implementações RETRO_KEYBOARD que \n"
|
||||
"consultam uma grande área do teclado, cujo caminho \n"
|
||||
"deve estar livre das hotkeys.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_REWIND_ENABLE:
|
||||
snprintf(s, len,
|
||||
"Ativa retrocesso.\n"
|
||||
" \n"
|
||||
"Essa opção causa uma perda de desempenho, \n"
|
||||
"por isso está desativada por padrão.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_LIBRETRO_DIR_PATH:
|
||||
snprintf(s, len,
|
||||
"Diretórios de Cores. \n"
|
||||
" \n"
|
||||
"Um diretório onde são buscadas as \n"
|
||||
"implementações de cores libretro.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_AUTO:
|
||||
{
|
||||
/* Work around C89 limitations */
|
||||
const char * u =
|
||||
"Taxa de Atualização Automática.\n"
|
||||
" \n"
|
||||
"A taxa de atualização exata de nosso monitor (Hz).\n"
|
||||
"É usada para calcular a taxa de entrada de áudio \n"
|
||||
"com a fórmula: \n"
|
||||
" \n"
|
||||
"audio_input_rate = game input rate * display \n"
|
||||
"refresh rate / game refresh rate\n"
|
||||
" \n";
|
||||
const char * t =
|
||||
"Se a implementação não informar valores, \n"
|
||||
"valores NTSC serão assumidos por questão de \n"
|
||||
"compatibilidade.\n"
|
||||
" \n"
|
||||
"Esse valor deve ficar próximo de 60Hz para \n"
|
||||
"evitar grandes mudanças de pitch. Se o monitor \n"
|
||||
"não rodar a 60Hz, ou algo próximo a isso, desative\n"
|
||||
"o VSync, e deixe-o com valores padrão.";
|
||||
strlcpy(s, u, len);
|
||||
strlcat(s, t, len);
|
||||
}
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_ROTATION:
|
||||
snprintf(s, len,
|
||||
"Força uma certa rotação da tela. \n"
|
||||
" \n"
|
||||
"A rotação é adicionada a outras definidas\n"
|
||||
"por conjuntos de cores (veja Permitir\n"
|
||||
"Rotação de Vídeo).");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_SCALE:
|
||||
snprintf(s, len,
|
||||
"Resolução de tela cheia.\n"
|
||||
" \n"
|
||||
"Resolução 0 usa a resolução \n"
|
||||
"do ambiente.\n");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_FASTFORWARD_RATIO:
|
||||
snprintf(s, len,
|
||||
"Taxa de Avanço Rápido."
|
||||
" \n"
|
||||
"A taxa máxima na qual o conteúdo será\n"
|
||||
"executado ao se usar o Avanço Rápido.\n"
|
||||
" \n"
|
||||
" (Ex.: 5.0 para conteúdo 60 fps => 300 fps \n"
|
||||
"máximo).\n"
|
||||
" \n"
|
||||
"RetroArch entra em modo sleep para assegurar \n"
|
||||
"que a taxa máxima não será excedida.\n"
|
||||
"Não confie que esse teto tenha exatidão \n"
|
||||
"perfeita.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_MONITOR_INDEX:
|
||||
snprintf(s, len,
|
||||
"Preferência de monitor.\n"
|
||||
" \n"
|
||||
"0 (padrão) significa nenhum monitor é \n"
|
||||
"preferido, 1 e demais (1 é o primeiro \n"
|
||||
"monitor), sugere ao RetroArch usar esse \n"
|
||||
"monitor em particular.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_CROP_OVERSCAN:
|
||||
snprintf(s, len,
|
||||
"Força o descarte de quadros overscanned. \n"
|
||||
" \n"
|
||||
"O comportamento exato dessa opção é \n"
|
||||
"específico da implementação do core.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_SCALE_INTEGER:
|
||||
snprintf(s, len,
|
||||
"Só interpola vídeo em escalas múltiplas \n"
|
||||
"inteiras da resolução nativa.\n"
|
||||
" \n"
|
||||
"O tamanho base depende da geometria e da \n"
|
||||
"relação de aspecto informadas pelo sistema.\n"
|
||||
" \n"
|
||||
"Se Forçar Aspecto não estiver definida, X/Y \n"
|
||||
"serão escalonados em inteiros independentemente.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_AUDIO_VOLUME:
|
||||
snprintf(s, len,
|
||||
"Volume de som, em dB.\n"
|
||||
" \n"
|
||||
" 0 dB representa o nível normal do volume. Nenhum ganho será aplicado.\n"
|
||||
"O ganho pode ser controlado em execução com \n"
|
||||
"Aumentar volume / Diminuir volume.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_AUDIO_RATE_CONTROL_DELTA:
|
||||
snprintf(s, len,
|
||||
"Controlo de taxa de som.\n"
|
||||
" \n"
|
||||
"Se o valor 0 estiver definido, o controlo da taxa será desativado.\n"
|
||||
"Outros valores controlam a variação da taxa \n"
|
||||
"de som.\n"
|
||||
" \n"
|
||||
"Define o intervalo de variação da taxa de entrada, \n"
|
||||
"em termos de regulação.\n"
|
||||
" \n"
|
||||
" A taxa de entrada é definida como: \n"
|
||||
" taxa entrada * (1.0 +/- (Controlo da taxa de som))");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_AUDIO_MAX_TIMING_SKEW:
|
||||
snprintf(s, len,
|
||||
"Distorção de som máxima.\n"
|
||||
" \n"
|
||||
"Define a máxima variação da taxa de entrada.\n"
|
||||
"Você pode querer aumentá-la para obter grandes\n"
|
||||
"variações no compasso, por exemplo, ao executar\n"
|
||||
"núcleos PAL em ecrãs NTSC, sofrendo uma penalização da tonalidade\n"
|
||||
"do som.\n"
|
||||
" \n"
|
||||
" A taxa de entrada é definida como: \n"
|
||||
" taxa de entrada * (1.0 +/- (distorção máxima do som))");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_OVERLAY_NEXT:
|
||||
snprintf(s, len,
|
||||
"Muda para o próximo overlay.\n"
|
||||
" \n"
|
||||
"Navegação circular.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_LOG_VERBOSITY:
|
||||
snprintf(s, len,
|
||||
"Ativa ou desativa o nível de verbosidade \n"
|
||||
"do frontend.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VOLUME_UP:
|
||||
snprintf(s, len,
|
||||
"Aumenta o volume de som.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VOLUME_DOWN:
|
||||
snprintf(s, len,
|
||||
"Diminui o volume do som.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION:
|
||||
snprintf(s, len,
|
||||
"Força a desativação de composição.\n"
|
||||
"Válido apenas para o Windows Vista/7.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_PERFCNT_ENABLE:
|
||||
snprintf(s, len,
|
||||
"Ativa ou desativa contadores de desempenho \n"
|
||||
"do frontend.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SYSTEM_DIRECTORY:
|
||||
snprintf(s, len,
|
||||
"Pasta do sistema. \n"
|
||||
" \n"
|
||||
"Define a pasta 'system'.\n"
|
||||
"Os núcleos poderão consultar esta pasta\n"
|
||||
"para carregar BIOS, configurações\n"
|
||||
"específicas de sistema, etc.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SAVESTATE_AUTO_SAVE:
|
||||
snprintf(s, len,
|
||||
"Guardar automaticamente o estado de gravação ao sair \n"
|
||||
"do RetroArch.\n"
|
||||
" \n"
|
||||
"O RetroArch carregará automaticamente qualquer\n"
|
||||
"estado de gravação com este caminho ao iniciar, \n"
|
||||
"caso a opção 'Carregar estado de gravação automaticamente' estiver ativa.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_THREADED:
|
||||
snprintf(s, len,
|
||||
"Utiliza um controlador de vídeo segmentado.\n"
|
||||
" \n"
|
||||
"Utilizando esta opção, poderá melhorar o desempenho, \n"
|
||||
"com um custo a nível de latência e mais engasgamentos \n"
|
||||
"de vídeo.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_VSYNC:
|
||||
snprintf(s, len,
|
||||
"Sincronia vertical de vídeo.\n");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_HARD_SYNC:
|
||||
snprintf(s, len,
|
||||
"Tenta sincronizar o processador com a GPU, \n"
|
||||
"com recurso ao hardware.\n"
|
||||
" \n"
|
||||
"Pode reduzir a latência, a troco de uma \n"
|
||||
"diminuição de desempenho.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_REWIND_GRANULARITY:
|
||||
snprintf(s, len,
|
||||
"Granularidade da função de retrocedimento \n"
|
||||
"do tempo.\n"
|
||||
"Ao retroceder um número definido de \n"
|
||||
"fotogramas, você poderá retroceder vários \n"
|
||||
"fotogramas de cada vez, aumentando assim a velocidade \n"
|
||||
"do retrocedimento.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SCREENSHOT:
|
||||
snprintf(s, len,
|
||||
"Obtem uma captura de ecrã.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_FRAME_DELAY:
|
||||
snprintf(s, len,
|
||||
"Define quantos milissegundos serão utilizados \n"
|
||||
"para atraso, após a sincronização vertical, \n"
|
||||
"antes de iniciar o núcleo.\n"
|
||||
"Pode reduzir a latência a troco de\n"
|
||||
"um aumento do risco de engasgamento de vídeo.\n"
|
||||
" \n"
|
||||
"O valor máximo é 15.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_HARD_SYNC_FRAMES:
|
||||
snprintf(s, len,
|
||||
"Define quantos fotogramas o processador pode processar \n"
|
||||
"à frente da da GPU com a opção 'Sincronismo \n"
|
||||
"de GPU através de hardware' ativada.\n"
|
||||
" \n"
|
||||
"O valor máximo é 3.\n"
|
||||
" \n"
|
||||
" 0: Sincroniza com a GPU de imediato.\n"
|
||||
" 1: Sincroniza com o fotograma anterior.\n"
|
||||
" 2: Etc ...");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_BLACK_FRAME_INSERTION:
|
||||
snprintf(s, len,
|
||||
"Introduz um fotograma preto entre fotogramas. \n"
|
||||
" \n"
|
||||
"Útil para monitores de 120 Hz que executam \n"
|
||||
"conteúdo a 60 Hz, eliminando o efeito \n"
|
||||
"'ghosting'.\n"
|
||||
" \n"
|
||||
"A taxa de atualização de vídeo deve ainda \n"
|
||||
"ser configurada para 60 Hz \n"
|
||||
"(divida a taxa de atualização por 2).");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_RGUI_SHOW_START_SCREEN:
|
||||
snprintf(s, len,
|
||||
"Mostra o ecrã inicial no menu.\n"
|
||||
"Esta definição é desativada automaticamente quando\n"
|
||||
"vista pela primeira vez.\n"
|
||||
" \n"
|
||||
"Esta definição é definida na configuração apenas quando a\n"
|
||||
"opção 'Guardar configuração ao sair' estiver ativada.\n");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_FULLSCREEN:
|
||||
snprintf(s, len, "Ativa/desativa ecrã completo.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_BLOCK_SRAM_OVERWRITE:
|
||||
snprintf(s, len,
|
||||
"Previne a sobrescrição da SRAM durante \n"
|
||||
"o carregamento de estados de gravação.\n"
|
||||
" \n"
|
||||
"Pode originar erros durante a execução de conteúdos.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_PAUSE_NONACTIVE:
|
||||
snprintf(s, len,
|
||||
"Colocar em pausa o jogo quando o foco da janela \n"
|
||||
"for perdido.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_GPU_SCREENSHOT:
|
||||
snprintf(s, len,
|
||||
"Captura vídeo renderizado da saída da \n"
|
||||
"GPU, caso esteja disponível.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SCREENSHOT_DIRECTORY:
|
||||
snprintf(s, len,
|
||||
"Pasta de capturas de ecrã. \n"
|
||||
" \n"
|
||||
"Pasta para armazenamento das capturas de ecrã."
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_SWAP_INTERVAL:
|
||||
snprintf(s, len,
|
||||
"Intervalo de troca de sincronização vertical.\n"
|
||||
" \n"
|
||||
"Utiliza um intervalo de troca personalizado. \n"
|
||||
"Use-o para reduzir até metade a taxa de \n"
|
||||
"atualização do ecrã.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SAVEFILE_DIRECTORY:
|
||||
snprintf(s, len,
|
||||
"Pasta de jogos guardados. \n"
|
||||
" \n"
|
||||
"Guarda todos os ficheiros de gravação (*.srm) nesta \n"
|
||||
"pasta, tais como ficheiros relacionados: \n"
|
||||
".rt, .psrm, etc.\n"
|
||||
" \n"
|
||||
"Pode perder prevalência em relação a opções explícitas\n"
|
||||
"passadas como parâmetros na linha de comandos.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SAVESTATE_DIRECTORY:
|
||||
snprintf(s, len,
|
||||
"Pasta de gravação de estados. \n"
|
||||
" \n"
|
||||
"Todos os estados de gravação (*.state) serão \n"
|
||||
"guardados nesta pasta.\n"
|
||||
" \n"
|
||||
"Pode deixar de ter prevalência em relação a opções explícitas\n"
|
||||
"passadas como parâmetros na linha de comandos.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_ASSETS_DIRECTORY:
|
||||
snprintf(s, len,
|
||||
"Pasta de recursos (assets). \n"
|
||||
" \n"
|
||||
"Esta localização é consultada por omissão \n"
|
||||
"pela interface do menu para procura de recursos (assets) \n"
|
||||
"recarregáveis.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_DYNAMIC_WALLPAPERS_DIRECTORY:
|
||||
snprintf(s, len,
|
||||
"Pasta de imagens de fundo dinâmicos. \n"
|
||||
" \n"
|
||||
" O lugar para armazenar imagens de fundo que \n"
|
||||
"serão carregadas dinamicamente pelo menu, \n"
|
||||
"dependendo do contexto.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SLOWMOTION_RATIO:
|
||||
snprintf(s, len,
|
||||
"Rácio da câmera lenta."
|
||||
" \n"
|
||||
"Quando ativo, o conteúdo será executado numa velocidade\n"
|
||||
"reduzida por esse fator.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD:
|
||||
snprintf(s, len,
|
||||
"Período de turbo.\n"
|
||||
" \n"
|
||||
"Descreve a velocidade com que os botões\n"
|
||||
"com turbo ativo se alternam entre si."
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_INPUT_AUTODETECT_ENABLE:
|
||||
snprintf(s, len,
|
||||
"Ativa auto-detecção de periféricos de entrada.\n"
|
||||
" \n"
|
||||
"Os comandos serão configurados, de forma automática, \n"
|
||||
"através do Plug and Play.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_CAMERA_ALLOW:
|
||||
snprintf(s, len,
|
||||
"Autorizar ou desautorizar o acesso da câmera \n"
|
||||
"pelos núcleos.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_LOCATION_ALLOW:
|
||||
snprintf(s, len,
|
||||
"Autorizar ou desautorizar o acesso de \n"
|
||||
"serviços de localização pelos núcleos.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_TURBO:
|
||||
snprintf(s, len,
|
||||
"Ativar turbo.\n"
|
||||
" \n"
|
||||
"Se manter o botão turbo pressionado e pressionar outro \n"
|
||||
"botão, este último entrará no modo \n"
|
||||
"turbo e o seu estado será modulado com \n"
|
||||
"um sinal periódico. \n"
|
||||
" \n"
|
||||
"A modulação pára quando o próprio botão \n"
|
||||
"(não o botão de turbo) já no se encontrar pressionado.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_OSK_ENABLE:
|
||||
snprintf(s, len,
|
||||
"Ativar/desativar teclado no ecrã.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_AUDIO_MUTE:
|
||||
snprintf(s, len,
|
||||
"Silenciar ou remover silêncio do dispositivo.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_REWIND:
|
||||
snprintf(s, len,
|
||||
"Mantenha o botão pressionado para\n"
|
||||
"ativar o retrocedimento do tempo. \n"
|
||||
"O retrocedimento de tempo deve estar ativo.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_EXIT_EMULATOR:
|
||||
snprintf(s, len,
|
||||
"Tecla para encerrar o RetroArch."
|
||||
#if !defined(RARCH_MOBILE) && !defined(RARCH_CONSOLE)
|
||||
"\nSe o fechar abruptamente, \n"
|
||||
"(SIGKILL, etc) sairá sem guardar a RAM, entre outros dados.\n"
|
||||
"Em sistemas baseados em Unix,\n"
|
||||
"o SIGINT/SIGTERM permite um\n"
|
||||
"encerramento seguro."
|
||||
#endif
|
||||
);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_LOAD_STATE:
|
||||
snprintf(s, len,
|
||||
"Carrega o estado de gravação.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SAVE_STATE:
|
||||
snprintf(s, len,
|
||||
"Guarda o estado de gravação.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_CHEAT_INDEX_PLUS:
|
||||
snprintf(s, len,
|
||||
"Incrementa o índice de batota.\n");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_CHEAT_INDEX_MINUS:
|
||||
snprintf(s, len,
|
||||
"Decrementa o índice de batota.\n");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SHADER_PREV:
|
||||
snprintf(s, len,
|
||||
"Aplica o shader anterior na pasta.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SHADER_NEXT:
|
||||
snprintf(s, len,
|
||||
"Aplica o próximo shader na pasta.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_RESET:
|
||||
snprintf(s, len,
|
||||
"Reinicia o conteúdo.\n");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_PAUSE_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"Pausa/resume o conteúdo.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_CHEAT_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"Alterna entre os índices de batota.\n");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_HOLD_FAST_FORWARD:
|
||||
snprintf(s, len,
|
||||
"Continue a pressionar para ativar a função de avanço rápido. Se soltar o botão \n"
|
||||
"irá desativar a função de avanço-rápido.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SLOWMOTION_HOLD:
|
||||
snprintf(s, len,
|
||||
"Continue a pressionar para manter o modo de câmera lenta.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_FRAME_ADVANCE:
|
||||
snprintf(s, len,
|
||||
"O fotograma avança enquanto o conteúdo está em pausa.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_L_X_PLUS:
|
||||
case MENU_ENUM_LABEL_L_X_MINUS:
|
||||
case MENU_ENUM_LABEL_L_Y_PLUS:
|
||||
case MENU_ENUM_LABEL_L_Y_MINUS:
|
||||
case MENU_ENUM_LABEL_R_X_PLUS:
|
||||
case MENU_ENUM_LABEL_R_X_MINUS:
|
||||
case MENU_ENUM_LABEL_R_Y_PLUS:
|
||||
case MENU_ENUM_LABEL_R_Y_MINUS:
|
||||
snprintf(s, len,
|
||||
"Eixo para o analógico (esquema DualShock).\n"
|
||||
" \n"
|
||||
"A associação é feita normalmente, no entanto, se um analógico real \n"
|
||||
"for associado, pode ser lido como um analógico\n"
|
||||
"verdadeiro. \n"
|
||||
" \n"
|
||||
"O eixo positivo X é para direita. \n"
|
||||
"O eixo positivo Y é para baixo.");
|
||||
break;
|
||||
case MSG_UNKNOWN:
|
||||
default:
|
||||
if (s[0] == '\0')
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char *msg_hash_to_str_pt_pt(enum msg_hash_enums msg)
|
||||
{
|
||||
switch (msg)
|
||||
{
|
||||
#include "msg_hash_pt_pt.h"
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
@ -1,81 +0,0 @@
|
||||
/* RetroArch - A frontend for libretro.
|
||||
* Copyright (C) 2011-2017 - Daniel De Matteis
|
||||
*
|
||||
* RetroArch is free software: you can redistribute it and/or modify it under the terms
|
||||
* of the GNU General Public License as published by the Free Software Found-
|
||||
* ation, either version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with RetroArch.
|
||||
* If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#include <compat/strl.h>
|
||||
#include <string/stdstring.h>
|
||||
|
||||
#include "../msg_hash.h"
|
||||
|
||||
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
|
||||
#if (_MSC_VER >= 1700)
|
||||
/* https://support.microsoft.com/en-us/kb/980263 */
|
||||
#pragma execution_character_set("utf-8")
|
||||
#endif
|
||||
#pragma warning(disable:4566)
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
static const char *menu_hash_to_str_ru_label_enum(enum msg_hash_enums msg)
|
||||
{
|
||||
if ( msg <= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_END &&
|
||||
msg >= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN)
|
||||
{
|
||||
static char hotkey_lbl[128] = {0};
|
||||
unsigned idx = msg - MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN;
|
||||
snprintf(hotkey_lbl, sizeof(hotkey_lbl), "input_hotkey_binds_%d", idx);
|
||||
return hotkey_lbl;
|
||||
}
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
#include "msg_hash_lbl.h"
|
||||
default:
|
||||
#if 0
|
||||
RARCH_LOG("Unimplemented: [%d]\n", msg);
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
||||
#endif
|
||||
|
||||
const char *msg_hash_to_str_ru(enum msg_hash_enums msg)
|
||||
{
|
||||
#ifdef HAVE_MENU
|
||||
const char *ret = menu_hash_to_str_ru_label_enum(msg);
|
||||
|
||||
if (ret && !string_is_equal(ret, "null"))
|
||||
return ret;
|
||||
#endif
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
#include "msg_hash_ru.h"
|
||||
default:
|
||||
#if 0
|
||||
RARCH_LOG("Unimplemented: [%d]\n", msg);
|
||||
{
|
||||
RARCH_LOG("[%d] : %s\n", msg - 1, msg_hash_to_str(((enum msg_hash_enums)(msg - 1))));
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
1929
intl/msg_hash_tr.c
1929
intl/msg_hash_tr.c
File diff suppressed because it is too large
Load Diff
@ -1,75 +0,0 @@
|
||||
/* RetroArch - A frontend for libretro.
|
||||
* Copyright (C) 2011-2017 - Daniel De Matteis
|
||||
* Copyright (C) 2016-2019 - Brad Parker
|
||||
*
|
||||
* RetroArch is free software: you can redistribute it and/or modify it under the terms
|
||||
* of the GNU General Public License as published by the Free Software Found-
|
||||
* ation, either version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with RetroArch.
|
||||
* If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#include <compat/strl.h>
|
||||
#include <string/stdstring.h>
|
||||
|
||||
#include "../msg_hash.h"
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
static const char *menu_hash_to_str_val_label_enum(enum msg_hash_enums msg)
|
||||
{
|
||||
if ( msg <= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_END
|
||||
&& msg >= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN)
|
||||
{
|
||||
static char hotkey_lbl[128] = {0};
|
||||
unsigned idx = msg - MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN;
|
||||
snprintf(hotkey_lbl, sizeof(hotkey_lbl), "input_hotkey_binds_%d", idx);
|
||||
return hotkey_lbl;
|
||||
}
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
#include "msg_hash_lbl.h"
|
||||
default:
|
||||
#if 0
|
||||
RARCH_LOG("Unimplemented: [%d]\n", msg);
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
||||
#endif
|
||||
|
||||
const char *msg_hash_to_str_val(enum msg_hash_enums msg)
|
||||
{
|
||||
#ifdef HAVE_MENU
|
||||
const char *ret = menu_hash_to_str_val_label_enum(msg);
|
||||
|
||||
if (ret && !string_is_equal(ret, "null"))
|
||||
return ret;
|
||||
#endif
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
#include "msg_hash_val.h"
|
||||
default:
|
||||
#if 0
|
||||
RARCH_LOG("Unimplemented: [%d]\n", msg);
|
||||
{
|
||||
RARCH_LOG("[%d] : %s\n", msg - 1, msg_hash_to_str(((enum msg_hash_enums)(msg - 1))));
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
@ -1,230 +0,0 @@
|
||||
/* RetroArch - A frontend for libretro.
|
||||
* Copyright (C) 2011-2017 - Daniel De Matteis
|
||||
* Copyright (C) 2016-2019 - Brad Parker
|
||||
*
|
||||
* RetroArch is free software: you can redistribute it and/or modify it under the terms
|
||||
* of the GNU General Public License as published by the Free Software Found-
|
||||
* ation, either version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with RetroArch.
|
||||
* If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#include <compat/strl.h>
|
||||
#include <string/stdstring.h>
|
||||
|
||||
#include "../msg_hash.h"
|
||||
|
||||
#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
|
||||
#if (_MSC_VER >= 1700)
|
||||
/* https://support.microsoft.com/en-us/kb/980263 */
|
||||
#pragma execution_character_set("utf-8")
|
||||
#endif
|
||||
#pragma warning(disable:4566)
|
||||
#endif
|
||||
|
||||
int msg_hash_get_help_vn_enum(enum msg_hash_enums msg, char *s, size_t len)
|
||||
{
|
||||
if ( msg <= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_END &&
|
||||
msg >= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN)
|
||||
{
|
||||
unsigned idx = msg - MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN;
|
||||
|
||||
switch (idx)
|
||||
{
|
||||
case RARCH_FAST_FORWARD_KEY:
|
||||
snprintf(s, len,
|
||||
"Chọn giữa tốc độ nhanh và \n"
|
||||
"bình thường."
|
||||
);
|
||||
break;
|
||||
case RARCH_FAST_FORWARD_HOLD_KEY:
|
||||
snprintf(s, len,
|
||||
"Nhấn nút để xem nhanh. \n"
|
||||
" \n"
|
||||
"Thả nút để ngừng xem nhanh."
|
||||
);
|
||||
break;
|
||||
case RARCH_SLOWMOTION_HOLD_KEY:
|
||||
snprintf(s, len,
|
||||
"Nhấn để xem chậm.");
|
||||
break;
|
||||
case RARCH_PAUSE_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"Bật/tắt chức năng tạm dừng.");
|
||||
break;
|
||||
case RARCH_FRAMEADVANCE:
|
||||
snprintf(s, len,
|
||||
"Xem khung kế tiếp khi đã tạm dừng.");
|
||||
break;
|
||||
case RARCH_SHADER_NEXT:
|
||||
snprintf(s, len,
|
||||
"Áp dụng shader kế tiếp trong thư mục.");
|
||||
break;
|
||||
case RARCH_SHADER_PREV:
|
||||
snprintf(s, len,
|
||||
"Áp dụng shader trước trong thư mục.");
|
||||
break;
|
||||
case RARCH_CHEAT_INDEX_PLUS:
|
||||
case RARCH_CHEAT_INDEX_MINUS:
|
||||
case RARCH_CHEAT_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"Gian lận.");
|
||||
break;
|
||||
case RARCH_RESET:
|
||||
snprintf(s, len,
|
||||
"Đặt lại nội dung.");
|
||||
break;
|
||||
case RARCH_SCREENSHOT:
|
||||
snprintf(s, len,
|
||||
"Chụp ảnh màn hình.");
|
||||
break;
|
||||
case RARCH_MUTE:
|
||||
snprintf(s, len,
|
||||
"Tắt/Bật âm thanh.");
|
||||
break;
|
||||
case RARCH_OSK:
|
||||
snprintf(s, len,
|
||||
"Bật/tắt bàn phím trên màn hình.");
|
||||
break;
|
||||
case RARCH_VOLUME_UP:
|
||||
snprintf(s, len,
|
||||
"Tăng âm lượng.");
|
||||
break;
|
||||
case RARCH_VOLUME_DOWN:
|
||||
snprintf(s, len,
|
||||
"Giảm âm lượng.");
|
||||
break;
|
||||
case RARCH_OVERLAY_NEXT:
|
||||
snprintf(s, len,
|
||||
"Đổi qua overlay kế tiếp.");
|
||||
break;
|
||||
case RARCH_DISK_EJECT_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"Bật/tắt nhả đĩa. \n"
|
||||
" \n"
|
||||
"Được sử dụng cho nội dung có nhiều đĩa. ");
|
||||
break;
|
||||
case RARCH_DISK_NEXT:
|
||||
case RARCH_DISK_PREV:
|
||||
snprintf(s, len,
|
||||
"Xem qua các đĩa game. Sử dụng sau khi nhả đĩa. \n"
|
||||
" \n"
|
||||
"Bấm nút 'Bật/tắt nhả đĩa' để chọn đĩa.");
|
||||
break;
|
||||
case RARCH_MENU_TOGGLE:
|
||||
snprintf(s, len, "Bật/tắt menu.");
|
||||
break;
|
||||
case RARCH_LOAD_STATE_KEY:
|
||||
snprintf(s, len,
|
||||
"Tải state.");
|
||||
break;
|
||||
case RARCH_FULLSCREEN_TOGGLE_KEY:
|
||||
snprintf(s, len,
|
||||
"Bật/tắt chế độ toàn màn hình.");
|
||||
break;
|
||||
case RARCH_QUIT_KEY:
|
||||
snprintf(s, len,
|
||||
"Nút để an toàn thoát RetroArch. \n"
|
||||
" \n"
|
||||
"Killing it in any hard way (SIGKILL, etc.) will \n"
|
||||
"terminate RetroArch without saving RAM, etc."
|
||||
#ifdef __unix__
|
||||
"\nOn Unix-likes, SIGINT/SIGTERM allows a clean \n"
|
||||
"deinitialization."
|
||||
#endif
|
||||
"");
|
||||
break;
|
||||
case RARCH_SAVE_STATE_KEY:
|
||||
snprintf(s, len,
|
||||
"Lưu state.");
|
||||
break;
|
||||
case RARCH_REWIND:
|
||||
snprintf(s, len,
|
||||
"Giữ nút đễ quay lại. \n"
|
||||
" \n"
|
||||
"Cần phải bật chức năng quay lại.");
|
||||
break;
|
||||
default:
|
||||
if (string_is_empty(s))
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
case MENU_ENUM_LABEL_ACCOUNTS_RETRO_ACHIEVEMENTS:
|
||||
snprintf(s, len, "Chi tiết đăng nhập cho tài khoản \n"
|
||||
"Retro Achievements của bạn. \n"
|
||||
" \n"
|
||||
"Truy cập retroachievements.org đễ \n"
|
||||
"đăng ký tài khoản miễn phí. \n"
|
||||
" \n"
|
||||
"Sau khi đăng ký, bạn phải \n"
|
||||
"cung cấp tên tài khoản và mật mã vào \n"
|
||||
"RetroArch.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_CHEEVOS_USERNAME:
|
||||
snprintf(s, len, "Tên tài khoản của Retro Achievements.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_CHEEVOS_PASSWORD:
|
||||
snprintf(s, len, "Mật mã của Retro Achievements tài khoản.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_MENU_TOGGLE:
|
||||
snprintf(s, len,
|
||||
"Bật/tắt menu.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VOLUME_UP:
|
||||
snprintf(s, len,
|
||||
"Tăng âm lượng.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VOLUME_DOWN:
|
||||
snprintf(s, len,
|
||||
"Giảm âm lượng.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SCREENSHOT:
|
||||
snprintf(s, len,
|
||||
"Chụp ảnh màn hình.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_VIDEO_FULLSCREEN:
|
||||
snprintf(s, len, "Bật/tắt chế độ toàn màn hình.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SHADER_PREV:
|
||||
snprintf(s, len,
|
||||
"Áp dụng previous shader in thư mục.");
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SHADER_NEXT:
|
||||
snprintf(s, len,
|
||||
"Áp dụng next shader in thư mục.");
|
||||
break;
|
||||
default:
|
||||
if (string_is_empty(s))
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char *msg_hash_to_str_vn(enum msg_hash_enums msg)
|
||||
{
|
||||
switch (msg)
|
||||
{
|
||||
#include "msg_hash_vn.h"
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
140
msg_hash.c
140
msg_hash.c
@ -48,27 +48,15 @@ int msg_hash_get_help_enum(enum msg_hash_enums msg, char *s, size_t len)
|
||||
case RETRO_LANGUAGE_PORTUGUESE_BRAZIL:
|
||||
ret = msg_hash_get_help_pt_br_enum(msg, s, len);
|
||||
break;
|
||||
case RETRO_LANGUAGE_PORTUGUESE_PORTUGAL:
|
||||
ret = msg_hash_get_help_pt_pt_enum(msg, s, len);
|
||||
break;
|
||||
case RETRO_LANGUAGE_JAPANESE:
|
||||
ret = msg_hash_get_help_jp_enum(msg, s, len);
|
||||
break;
|
||||
case RETRO_LANGUAGE_KOREAN:
|
||||
ret = msg_hash_get_help_ko_enum(msg, s, len);
|
||||
break;
|
||||
case RETRO_LANGUAGE_VIETNAMESE:
|
||||
ret = msg_hash_get_help_vn_enum(msg, s, len);
|
||||
break;
|
||||
case RETRO_LANGUAGE_CHINESE_SIMPLIFIED:
|
||||
ret = msg_hash_get_help_chs_enum(msg, s, len);
|
||||
break;
|
||||
case RETRO_LANGUAGE_PORTUGUESE_PORTUGAL:
|
||||
case RETRO_LANGUAGE_JAPANESE:
|
||||
case RETRO_LANGUAGE_KOREAN:
|
||||
case RETRO_LANGUAGE_VIETNAMESE:
|
||||
case RETRO_LANGUAGE_GREEK:
|
||||
ret = msg_hash_get_help_el_enum(msg, s, len);
|
||||
break;
|
||||
case RETRO_LANGUAGE_TURKISH:
|
||||
ret = msg_hash_get_help_tr_enum(msg, s, len);
|
||||
break;
|
||||
case RETRO_LANGUAGE_CATALAN_VALENCIA:
|
||||
case RETRO_LANGUAGE_UKRAINIAN:
|
||||
case RETRO_LANGUAGE_SLOVAK:
|
||||
@ -425,10 +413,130 @@ static const char *msg_hash_to_str_es(enum msg_hash_enums msg)
|
||||
return "null";
|
||||
}
|
||||
|
||||
static const char *msg_hash_to_str_ca(enum msg_hash_enums msg)
|
||||
{
|
||||
switch (msg)
|
||||
{
|
||||
#include "intl/msg_hash_ca.h"
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
||||
|
||||
static const char *msg_hash_to_str_el(enum msg_hash_enums msg)
|
||||
{
|
||||
switch (msg)
|
||||
{
|
||||
#include "intl/msg_hash_el.h"
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
||||
|
||||
static const char *msg_hash_to_str_jp(enum msg_hash_enums msg)
|
||||
{
|
||||
switch (msg)
|
||||
{
|
||||
#include "intl/msg_hash_ja.h"
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
||||
|
||||
static const char *msg_hash_to_str_ko(enum msg_hash_enums msg)
|
||||
{
|
||||
switch (msg)
|
||||
{
|
||||
#include "intl/msg_hash_ko.h"
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
||||
|
||||
static const char *msg_hash_to_str_pt_pt(enum msg_hash_enums msg)
|
||||
{
|
||||
switch (msg)
|
||||
{
|
||||
#include "intl/msg_hash_pt_pt.h"
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
||||
|
||||
static const char *msg_hash_to_str_ru(enum msg_hash_enums msg)
|
||||
{
|
||||
switch (msg)
|
||||
{
|
||||
#include "intl/msg_hash_ru.h"
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
||||
|
||||
static const char *msg_hash_to_str_tr(enum msg_hash_enums msg)
|
||||
{
|
||||
switch (msg)
|
||||
{
|
||||
#include "intl/msg_hash_tr.h"
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
||||
|
||||
static const char *msg_hash_to_str_val(enum msg_hash_enums msg)
|
||||
{
|
||||
switch (msg)
|
||||
{
|
||||
#include "intl/msg_hash_val.h"
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
||||
|
||||
static const char *msg_hash_to_str_vn(enum msg_hash_enums msg)
|
||||
{
|
||||
switch (msg)
|
||||
{
|
||||
#include "intl/msg_hash_vn.h"
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return "null";
|
||||
}
|
||||
|
||||
|
||||
|
||||
static const char *msg_hash_get_wideglyph_str_cht(void)
|
||||
{
|
||||
return "主";
|
||||
}
|
||||
|
||||
static const char *msg_hash_get_wideglyph_str_jp(void)
|
||||
{
|
||||
return "漢";
|
||||
}
|
||||
|
||||
static const char *msg_hash_get_wideglyph_str_ko(void)
|
||||
{
|
||||
return "메";
|
||||
}
|
||||
#endif
|
||||
|
||||
const char *msg_hash_to_str(enum msg_hash_enums msg)
|
||||
|
28
msg_hash.h
28
msg_hash.h
@ -3984,41 +3984,15 @@ enum msg_hash_enums
|
||||
|
||||
const char *msg_hash_to_str(enum msg_hash_enums msg);
|
||||
|
||||
const char *msg_hash_to_str_ru(enum msg_hash_enums msg);
|
||||
|
||||
const char *msg_hash_to_str_jp(enum msg_hash_enums msg);
|
||||
int msg_hash_get_help_jp_enum(enum msg_hash_enums msg, char *s, size_t len);
|
||||
|
||||
const char *msg_hash_to_str_ko(enum msg_hash_enums msg);
|
||||
int msg_hash_get_help_ko_enum(enum msg_hash_enums msg, char *s, size_t len);
|
||||
|
||||
const char *msg_hash_to_str_pt_br(enum msg_hash_enums msg);
|
||||
int msg_hash_get_help_pt_br_enum(enum msg_hash_enums msg, char *s, size_t len);
|
||||
|
||||
const char *msg_hash_to_str_pt_pt(enum msg_hash_enums msg);
|
||||
int msg_hash_get_help_pt_pt_enum(enum msg_hash_enums msg, char *s, size_t len);
|
||||
|
||||
const char *msg_hash_to_str_vn(enum msg_hash_enums msg);
|
||||
int msg_hash_get_help_vn_enum(enum msg_hash_enums msg, char *s, size_t len);
|
||||
|
||||
const char *msg_hash_to_str_chs(enum msg_hash_enums msg);
|
||||
int msg_hash_get_help_chs_enum(enum msg_hash_enums msg, char *s, size_t len);
|
||||
|
||||
int msg_hash_get_help_cht_enum(enum msg_hash_enums msg, char *s, size_t len);
|
||||
|
||||
const char *msg_hash_to_str_us(enum msg_hash_enums msg);
|
||||
int msg_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len);
|
||||
|
||||
const char *msg_hash_to_str_el(enum msg_hash_enums msg);
|
||||
int msg_hash_get_help_el_enum(enum msg_hash_enums msg, char *s, size_t len);
|
||||
|
||||
const char *msg_hash_to_str_tr(enum msg_hash_enums msg);
|
||||
int msg_hash_get_help_tr_enum(enum msg_hash_enums msg, char *s, size_t len);
|
||||
|
||||
const char *msg_hash_to_str_val(enum msg_hash_enums msg);
|
||||
|
||||
const char *msg_hash_to_str_ca(enum msg_hash_enums msg);
|
||||
|
||||
int msg_hash_get_help_enum(enum msg_hash_enums msg, char *s, size_t len);
|
||||
|
||||
enum msg_file_type msg_hash_to_file_type(uint32_t hash);
|
||||
@ -4054,8 +4028,6 @@ void msg_hash_set_uint(enum msg_hash_action type, unsigned val);
|
||||
* rendering implementation */
|
||||
const char *msg_hash_get_wideglyph_str(void);
|
||||
const char *msg_hash_get_wideglyph_str_chs(void);
|
||||
const char *msg_hash_get_wideglyph_str_jp(void);
|
||||
const char *msg_hash_get_wideglyph_str_ko(void);
|
||||
|
||||
uint32_t msg_hash_calculate(const char *s);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user