diff --git a/Makefile.common b/Makefile.common
index 3adbecfab37..1cf7dfb06d8 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -449,9 +449,6 @@ endif
ifeq ($(HAVE_LANGEXTRA), 1)
DEFINES += -DHAVE_LANGEXTRA
DEF_FLAGS += -finput-charset=UTF-8
-
- OBJ += intl/msg_hash_chs.o \
- intl/msg_hash_pt_br.o
endif
ifneq ($(HAVE_GETOPT_LONG), 1)
diff --git a/griffin/griffin.c b/griffin/griffin.c
index 7d5405090da..2b79c529c58 100644
--- a/griffin/griffin.c
+++ b/griffin/griffin.c
@@ -1167,11 +1167,6 @@ RETROARCH
#include "../libretro-common/queues/task_queue.c"
#include "../msg_hash.c"
-#ifdef HAVE_LANGEXTRA
-#include "../intl/msg_hash_chs.c"
-#include "../intl/msg_hash_pt_br.c"
-#endif
-
#include "../intl/msg_hash_us.c"
/*============================================================
diff --git a/intl/msg_hash_chs.c b/intl/msg_hash_chs.c
deleted file mode 100644
index 1ac9479535a..00000000000
--- a/intl/msg_hash_chs.c
+++ /dev/null
@@ -1,1826 +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 .
- */
-
-#include
-#include
-#include
-
-#include
-#include
-
-#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_chs_enum(enum msg_hash_enums msg, char *s, size_t len)
-{
- settings_t *settings = config_get_ptr();
-
- 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;
- 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_ENABLE_HOTKEY:
- snprintf(s, len,
- "启用其他热键。 \n"
- " \n"
- "If this hotkey is bound to either\n"
- "a keyboard, joybutton or joyaxis, \n"
- "all other hotkeys will be enabled only \n"
- "if this one is held at the same time. \n"
- " \n"
- "This is useful for RETRO_KEYBOARD centric \n"
- "implementations which query a large area of \n"
- "the keyboard, where it is not desirable that \n"
- "hotkeys get in the way. \n"
- " \n"
- "Alternatively, all hotkeys for keyboard \n"
- "could be disabled by the user.");
- 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"
- "序能更好运行。");
- 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"
- "使用任何强制手段来退出RetroArch(如发送SIGKILL) \n"
- "可能导致系统无法正确存储数据。"
-#ifdef __unix__
- "\n在类Unix系统上,SIGINT/SIGTERM信号能够保证正常 \n"
- "关闭程序。"
-#endif
- "");
- break;
- case RARCH_STATE_SLOT_PLUS:
- case RARCH_STATE_SLOT_MINUS:
- snprintf(s, len,
- "即时存档栏位 \n"
- "\n"
- "当选择0号栏位时,即时存档将以*.state命名(或其他 \n"
- "在命令行中定义的名称)。 \n"
- "\n"
- "当栏位不为0时,路径将会设为,其中 \n"
- "是栏位的编号。");
- 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成就账号。 \n"
- " \n"
- "访问 retroachievements.org 并注册 \n"
- "以获取一个免费账号。 \n"
- " \n"
- "在你注册以后, 你需要 \n"
- "在RetroArch输入你的 \n"
- "账号以及密码。");
- break;
- case MENU_ENUM_LABEL_CHEEVOS_USERNAME:
- snprintf(s, len, "你的Retro成就账号的用户名。");
- break;
- case MENU_ENUM_LABEL_CHEEVOS_PASSWORD:
- snprintf(s, len, "你的Retro成就账号的密码。");
- break;
- case MENU_ENUM_LABEL_USER_LANGUAGE:
- snprintf(s, len, "变更菜单和提示消息的语言设定, \n"
- " \n"
- "需要重新启动才能生效。 \n"
- " \n"
- "注意:部分语言的翻译并不完全。 \n"
- " \n"
- "若一个语言尚未翻译,则会恢复英文显示。");
- break;
- case MENU_ENUM_LABEL_VIDEO_FONT_PATH:
- snprintf(s, len, "改变屏显文字的字体。");
- 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"
- "来进行排序。");
- break;
- case MENU_ENUM_LABEL_SORT_SAVEFILES_ENABLE:
- snprintf(s, len, "在游戏存档的文件名前面加上核心名称 \n"
- "来进行排序。");
- break;
- case MENU_ENUM_LABEL_RESUME_CONTENT:
- snprintf(s, len, "关闭菜单,返回游戏。");
- break;
- case MENU_ENUM_LABEL_RESTART_CONTENT:
- snprintf(s, len, "从头开始游戏。");
- break;
- case MENU_ENUM_LABEL_CLOSE_CONTENT:
- snprintf(s, len, "完全关闭游戏。");
- 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"
- "到游戏数据库文件夹的路径。");
- 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"
- "用于搜索libretro核心信息 \n"
- "的文件夹。");
- break;
- case MENU_ENUM_LABEL_PLAYLIST_DIRECTORY:
- snprintf(s, len,
- "运行列表文件夹. \n"
- " \n"
- "保存所有播放列表到 \n"
- "此文件夹。");
- break;
- case MENU_ENUM_LABEL_DUMMY_ON_CORE_SHUTDOWN:
- snprintf(s, len,
- "某些libretro核心可能会 \n"
- "支持关机特性。 \n"
- " \n"
- "If this option is left disabled, \n"
- "selecting the shutdown procedure \n"
- "would trigger RetroArch being shut \n"
- "down. \n"
- " \n"
- "Enabling this option will load a \n"
- "dummy core instead so that we remain \n"
- "inside the menu and RetroArch won't \n"
- "shutdown.");
- break;
- case MENU_ENUM_LABEL_CHECK_FOR_MISSING_FIRMWARE:
- snprintf(s, len,
- "某些核心可能需要固件或 BIOS 文件。 \n"
- " \n"
- "如果禁用此选项,即使没有固件或 BIOS"
- "也会尝试强行加载。 \n");
- break;
- case MENU_ENUM_LABEL_PARENT_DIRECTORY:
- snprintf(s, len,
- "回到上级文件夹。");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_SHADER_PRESET:
- snprintf(s, len,
- "渲染器预设文件。");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_SHADER:
- snprintf(s, len,
- "渲染器文件。");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_REMAP:
- snprintf(s, len,
- "控制自定义键位文件。");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_CHEAT:
- snprintf(s, len,
- "金手指文件。");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_OVERLAY:
- snprintf(s, len,
- "图层文件。");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_RDB:
- snprintf(s, len,
- "数据库文件。");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_FONT:
- snprintf(s, len,
- "TrueType 字体文件。");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_PLAIN_FILE:
- snprintf(s, len,
- "普通文件。");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_MOVIE_OPEN:
- snprintf(s, len,
- "视频 \n"
- " \n"
- "选择文件并使用视频播放器打开。");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_MUSIC_OPEN:
- snprintf(s, len,
- "音乐 \n"
- " \n"
- "选择文件并使用音乐播放器打开。");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_IMAGE:
- snprintf(s, len,
- "图片文件。");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_IMAGE_OPEN_WITH_VIEWER:
- snprintf(s, len,
- "图片 \n"
- " \n"
- "选择文件并使用图片浏览器打开。");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION:
- snprintf(s, len,
- "Libretro 核心 \n"
- " \n"
- "选中核心将会使其关联至游戏。");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_CORE:
- snprintf(s, len,
- "Libretro 核心 \n"
- " \n"
- "选择该文件使 RetroArch 加载该核心。");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_DIRECTORY:
- snprintf(s, len,
- "文件夹 \n"
- " \n"
- "选择并打开该文件夹。");
- break;
- case MENU_ENUM_LABEL_CACHE_DIRECTORY:
- snprintf(s, len,
- "缓存文件夹 \n"
- " \n"
- "被 RetroArch 解压的游戏内容会临时存放到这个文 \n"
- "件夹。");
- break;
- case MENU_ENUM_LABEL_HISTORY_LIST_ENABLE:
- snprintf(s, len,
- "若开启,所有在 RetroArch 中加载过的文件 \n"
- "都会自动的放入最近使用历史列表中。");
- break;
- case MENU_ENUM_LABEL_RGUI_BROWSER_DIRECTORY:
- snprintf(s, len,
- "文件浏览器文件夹 \n"
- " \n"
- "设置文件浏览器的初始文件夹。");
- break;
- case MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR:
- snprintf(s, len,
- "影响输入轮询过程在 RetroArch 中的执行方式。 \n"
- " \n"
- "稍早 - 输入轮询过程将在帧生成之前执行。 \n"
- "正常 - 输入轮询过程将在被请求时执行。 \n"
- "稍晚 - 输入轮询过程将在每一帧的首次请求时执行。 \n"
- " \n"
- "依据设置的不同,设置为「稍早」或「稍晚」可以获得 \n"
- "较低的延迟。 \n"
- "当在进行在线游戏时,不管设置的值如何,都只会启用 \n"
- "正常模式进行输入轮询过程。"
- );
- break;
- case MENU_ENUM_LABEL_INPUT_DESCRIPTOR_HIDE_UNBOUND:
- snprintf(s, len,
- "隐藏不被核心使用的输入描述。");
- break;
- case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE:
- snprintf(s, len,
- "显示器的视频刷新率。 \n"
- "可被用来计算一个合适的音频输入率。");
- break;
- case MENU_ENUM_LABEL_VIDEO_FORCE_SRGB_DISABLE:
- snprintf(s, len,
- "禁用 sRGB 帧缓冲支持。\n"
- "\n"
- "某些在 Windows 上的 Intel OpenGL 驱动 \n"
- "对 sRGB 帧缓冲支持存在问题, \n"
- "需要启用此选项以禁用帧缓冲。");
- break;
- case MENU_ENUM_LABEL_AUDIO_ENABLE:
- snprintf(s, len,
- "启用音频输出。");
- break;
- case MENU_ENUM_LABEL_AUDIO_SYNC:
- snprintf(s, len,
- "同步音频(推荐)。");
- break;
- case MENU_ENUM_LABEL_AUDIO_LATENCY:
- snprintf(s, len,
- "音频延迟(单位:毫秒) \n"
- "如果设置太低,音频驱动可能 \n"
- "并不支持,从而不会生效。");
- break;
- case MENU_ENUM_LABEL_VIDEO_ALLOW_ROTATE:
- snprintf(s, len,
- "允许核心自行设置屏幕旋转角度,\n"
- "若关闭,旋转请求将不会得到执行。\n"
- "需要旋转显示器的用户请设置此选项。\n");
- break;
- case MENU_ENUM_LABEL_INPUT_DESCRIPTOR_LABEL_SHOW:
- snprintf(s, len,
- "显示由核心设置的输入设备硬件信息,而非默认。");
- break;
- case MENU_ENUM_LABEL_CONTENT_HISTORY_SIZE:
- snprintf(s, len,
- "在历史记录中最多保存的游戏个数。");
- break;
- case MENU_ENUM_LABEL_VIDEO_WINDOWED_FULLSCREEN:
- snprintf(s, len,
- "使用无边框全屏替代普通全屏模式。");
- break;
- case MENU_ENUM_LABEL_VIDEO_FONT_SIZE:
- snprintf(s, len,
- "屏显信息的字体大小。");
- break;
- case MENU_ENUM_LABEL_SAVESTATE_AUTO_INDEX:
- snprintf(s, len,
- "每次储存即时存档时,都在新的栏位储存, \n"
- "以避免覆盖原有的即时存档。 \n"
- "每次运行游戏时,都会定位到最新的 \n"
- "即时存档栏位。");
- break;
- case MENU_ENUM_LABEL_FPS_SHOW:
- snprintf(s, len,
- "显示/隐藏帧数");
- break;
- case MENU_ENUM_LABEL_VIDEO_FONT_ENABLE:
- snprintf(s, len,
- "显示/隐藏屏显信息.");
- break;
- case MENU_ENUM_LABEL_VIDEO_MESSAGE_POS_X:
- case MENU_ENUM_LABEL_VIDEO_MESSAGE_POS_Y:
- snprintf(s, len,
- "提示消息在屏幕上显示的位置,\n"
- "数值范围为0.0至1.0。");
- break;
- case MENU_ENUM_LABEL_INPUT_OVERLAY_ENABLE:
- snprintf(s, len,
- "显示/隐藏当前按下的键位。");
- break;
- case MENU_ENUM_LABEL_INPUT_OVERLAY_HIDE_IN_MENU:
- snprintf(s, len,
- "在进入菜单时,不显示当前按下的键位。");
- break;
- case MENU_ENUM_LABEL_OVERLAY_PRESET:
- snprintf(s, len,
- "Path to input overlay.");
- break;
- case MENU_ENUM_LABEL_OVERLAY_OPACITY:
- snprintf(s, len,
- "图层透明度。");
- break;
- case MENU_ENUM_LABEL_INPUT_BIND_TIMEOUT:
- snprintf(s, len,
- "绑定键位时的等待时间(单位:秒)");
- break;
- case MENU_ENUM_LABEL_INPUT_BIND_HOLD:
- snprintf(s, len,
- "绑定键位所需要按下的时间(单位:秒)");
- break;
- case MENU_ENUM_LABEL_OVERLAY_SCALE:
- snprintf(s, len,
- "图层放大比例。");
- break;
- case MENU_ENUM_LABEL_AUDIO_OUTPUT_RATE:
- snprintf(s, len,
- "音频输出采样率。");
- break;
- case MENU_ENUM_LABEL_VIDEO_SHARED_CONTEXT:
- snprintf(s, len,
- "Set to true if hardware-rendered cores \n"
- "should get their private context. \n"
- "Avoids having to assume hardware state changes \n"
- "inbetween frames."
- );
- break;
- case MENU_ENUM_LABEL_CORE_LIST:
- snprintf(s, len,
- "加载内核. \n"
- " \n"
- "Browse for a libretro core \n"
- "implementation. Where the browser \n"
- "starts depends on your Core Directory \n"
- "path. If blank, it will start in root. \n"
- " \n"
- "If Core Directory is a directory, the menu \n"
- "will use that as top folder. If Core \n"
- "Directory is a full path, it will start \n"
- "in the folder where the file is.");
- break;
- 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];
- size_t _len;
- const char * t =
- "RetroArch 依赖于一种独特的音频/视频同步形式,\n"
- "需要根据显示器的刷新率对其进行校准,以获得最佳\n"
- "性能。\n"
- " \n"
- "如果你的音频出现任何噼啪声或图像撕裂,通常意味\n"
- "着你需要调整设置。下面是调整方法:\n"
- " \n";
- snprintf(u, sizeof(u), /* can't inline this due to the printf arguments */
- "a) 在「%s」 ->「%s」中开启\n"
- "「多线程渲染」。在这种模式下,刷新率不会发生变\n"
- "化、帧率会提高,但是画面可能不那么流畅。\n"
- "b) 在「%s」 -> 「%s」, 查看\n"
- "「%s」。令其运行 2048 帧后,按 OK 键。",
- 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_SETTINGS),
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_SETTINGS),
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_REFRESH_RATE_AUTO));
- _len = strlcpy(s, t, len);
- strlcpy(s + _len, u, len - _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"
- " \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_VALUE_EXTRACTING_PLEASE_WAIT:
- snprintf(s, len,
- "欢迎使用 RetroArch\n"
- "\n"
- "正在解压必要文件, 请稍等。\n"
- "这可能需要一点时间……\n"
- );
- 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,
- "udev Input driver. \n"
- " \n"
- "This driver can run without X. \n"
- " \n"
- "It uses the recent evdev joypad API \n"
- "for joystick support. It supports \n"
- "hotplugging and force feedback (if \n"
- "supported by device). \n"
- " \n"
- "The driver reads evdev events for keyboard \n"
- "support. It also supports keyboard callback, \n"
- "mice and touchpads. \n"
- " \n"
- "By default in most distros, /dev/input nodes \n"
- "are root-only (mode 600). You can set up a udev \n"
- "rule which makes these accessible to non-root."
- );
- else if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_INPUT_DRIVER_LINUXRAW)))
- snprintf(s, len,
- "linuxraw Input driver. \n"
- " \n"
- "This driver requires an active TTY. Keyboard \n"
- "events are read directly from the TTY which \n"
- "makes it simpler, but not as flexible as udev. \n" "Mice, etc, are not supported at all. \n"
- " \n"
- "This driver uses the older joystick API \n"
- "(/dev/input/js*).");
- else
- snprintf(s, len,
- "Input driver.\n"
- " \n"
- "Depending on video driver, it might \n"
- "force a different input driver.");
- }
- break;
- case MENU_ENUM_LABEL_LOAD_CONTENT_LIST:
- snprintf(s, len,
- "加载游戏内容 \n"
- "通过浏览来加载游戏内容。 \n"
- " \n"
- "你需要同时提供一个「核心」和游戏内容 \n"
- "文件才能启动并加载游戏内容。 \n"
- " \n"
- "设置「文件浏览器文件夹」可以指定以哪个 \n"
- "位置为文件浏览器的默认文件夹以方便加载。 \n"
- "若没有设置,默认以根目录为基准。 \n"
- " \n"
- "文件浏览器会以上次加载的核心所支持的 \n"
- "扩展名进行过滤,并使用该核心来加载 \n"
- "游戏内容。"
- );
- break;
- case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY:
- snprintf(s, len,
- "从历史记录中加载游戏内容。 \n"
- " \n"
- "每当你加载一个游戏时,它和所使用的核心 \n"
- "将被保存到历史记录中。 \n"
- " \n"
- "历史记录文件和 RetroArch 设置文件在同一个 \n"
- "文件夹中。如果 RetroArch 启动时没有找到 \n"
- "历史记录文件,主菜单中将不会显示历史记录。"
- );
- break;
- case MENU_ENUM_LABEL_VIDEO_DRIVER:
- {
- const char *video_driver = settings->arrays.video_driver;
-
- snprintf(s, len,
- "当前视频驱动.");
-
- if (string_is_equal(video_driver, "gl"))
- {
- snprintf(s, len,
- "OpenGL视频驱动. \n"
- " \n"
- "This driver allows libretro GL cores to \n"
- "be used in addition to software-rendered \n"
- "core implementations.\n"
- " \n"
- "Performance for software-rendered and \n"
- "libretro GL core implementations is \n"
- "dependent on your graphics card's \n"
- "underlying GL driver).");
- }
- else if (string_is_equal(video_driver, "sdl2"))
- {
- snprintf(s, len,
- "SDL 2 视频驱动.\n"
- " \n"
- "This is an SDL 2 software-rendered video \n"
- "driver.\n"
- " \n"
- "Performance for software-rendered libretro \n"
- "core implementations is dependent \n"
- "on your platform SDL implementation.");
- }
- else if (string_is_equal(video_driver, "sdl1"))
- {
- snprintf(s, len,
- "SDL 视频驱动.\n"
- " \n"
- "This is an SDL 1.2 software-rendered video \n"
- "driver.\n"
- " \n"
- "Performance is considered to be suboptimal. \n"
- "Consider using it only as a last resort.");
- }
- else if (string_is_equal(video_driver, "d3d"))
- {
- snprintf(s, len,
- "Direct3D 视频驱动. \n"
- " \n"
- "Performance for software-rendered cores \n"
- "is dependent on your graphic card's \n"
- "underlying D3D driver).");
- }
- else if (string_is_equal(video_driver, "exynos"))
- {
- snprintf(s, len,
- "Exynos-G2D 视频驱动. \n"
- " \n"
- "This is a low-level Exynos video driver. \n"
- "Uses the G2D block in Samsung Exynos SoC \n"
- "for blit operations. \n"
- " \n"
- "Performance for software rendered cores \n"
- "should be optimal.");
- }
- else if (string_is_equal(video_driver, "drm"))
- {
- snprintf(s, len,
- "Plain DRM 视频驱动. \n"
- " \n"
- "This is a low-level video driver using. \n"
- "libdrm for hardware scaling using \n"
- "GPU overlays.");
- }
- else if (string_is_equal(video_driver, "sunxi"))
- {
- snprintf(s, len,
- "Sunxi-G2D 视频驱动. \n"
- " \n"
- "This is a low-level Sunxi video driver. \n"
- "Uses the G2D block in Allwinner SoCs.");
- }
- }
- break;
- case MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN:
- snprintf(s, len,
- "音频DSP插件.\n"
- " Processes audio before it's sent to \n"
- "the 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,
- "Windowed SINC implementation.", len);
- else if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER_CC)))
- strlcpy(s,
- "Convoluted Cosine implementation.", len);
- else if (string_is_empty(s))
- strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
- }
- break;
-#ifdef HAVE_MICROPHONE
- case MENU_ENUM_LABEL_MICROPHONE_RESAMPLER_DRIVER:
- {
- const char *lbl = settings ? settings->arrays.microphone_resampler : NULL;
-
- if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER_SINC)))
- strlcpy(s,
- "Windowed SINC implementation.", len);
- else if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER_CC)))
- strlcpy(s,
- "Convoluted Cosine implementation.", len);
- else if (string_is_empty(s))
- strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
- }
- break;
-#endif
- case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET:
- snprintf(s, len,
- "载入预设渲染器. \n"
- " \n"
- " Load a "
-#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
- " 预设文件夹. \n"
- "The menu shader menu is updated accordingly. \n"
- " \n"
- "If the CGP uses scaling methods which are not \n"
- "simple, (i.e. source scaling, same scaling \n"
- "factor for X/Y), the scaling factor displayed \n"
- "in the menu might not be correct."
- );
- break;
- case MENU_ENUM_LABEL_VIDEO_SHADER_SCALE_PASS:
- snprintf(s, len,
- "Scale for this pass. \n"
- " \n"
- "The scale factor accumulates, i.e. 2x \n"
- "for first pass and 2x for second pass \n"
- "will give you a 4x total scale. \n"
- " \n"
- "If there is a scale factor for last \n"
- "pass, the result is stretched to \n"
- "screen with the filter specified in \n"
- "'Default Filter'. \n"
- " \n"
- "If 'Don't Care' is set, either 1x \n"
- "scale or stretch to fullscreen will \n"
- "be used depending if it's not the last \n"
- "pass or not."
- );
- break;
- case MENU_ENUM_LABEL_VIDEO_SHADER_NUM_PASSES:
- snprintf(s, len,
- "Shader Passes. \n"
- " \n"
- "RetroArch allows you to mix and match various \n"
- "shaders with arbitrary shader passes, with \n"
- "custom hardware filters and scale factors. \n"
- " \n"
- "This option specifies the number of shader \n"
- "passes to use. If you set this to 0, and use \n"
- "Apply Shader Changes, you use a 'blank' shader. \n"
- " \n"
- "The Default Filter option will affect the \n"
- "stretching filter.");
- break;
- case MENU_ENUM_LABEL_VIDEO_SHADER_PARAMETERS:
- snprintf(s, len,
- "Shader Parameters. \n"
- " \n"
- "Modifies current shader directly. Will not be \n"
- "saved to CGP/GLSLP preset file.");
- break;
- case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_PARAMETERS:
- snprintf(s, len,
- "Shader Preset Parameters. \n"
- " \n"
- "Modifies shader preset currently in menu."
- );
- break;
- case MENU_ENUM_LABEL_VIDEO_SHADER_PASS:
- snprintf(s, len,
- "Path to shader. \n"
- " \n"
- "All shaders must be of the same \n"
- "type (i.e. CG, GLSL or HLSL). \n"
- " \n"
- "Set Shader Directory to set where \n"
- "the browser starts to look for \n"
- "shaders."
- );
- break;
- case MENU_ENUM_LABEL_CONFIGURATION_SETTINGS:
- snprintf(s, len,
- "Determines how configuration files \n"
- "are loaded and prioritized.");
- break;
- case MENU_ENUM_LABEL_CONFIG_SAVE_ON_EXIT:
- snprintf(s, len,
- "Saves config to disk on exit.\n"
- "Useful for menu as settings can be\n"
- "modified. Overwrites the config.\n"
- " \n"
- "#include's and comments are not \n"
- "preserved. \n"
- " \n"
- "By design, the config file is \n"
- "considered immutable as it is \n"
- "likely maintained by the user, \n"
- "and should not be overwritten \n"
- "behind the user's back."
-#if defined(RARCH_CONSOLE) || defined(RARCH_MOBILE)
- "\nThis is not not the case on \n"
- "consoles however, where \n"
- "looking at the config file \n"
- "manually isn't really an option."
-#endif
- );
- break;
- case MENU_ENUM_LABEL_SHOW_HIDDEN_FILES:
- snprintf(s, len, "显示隐藏文件和文件夹。");
- break;
- case MENU_ENUM_LABEL_VIDEO_SHADER_FILTER_PASS:
- snprintf(s, len,
- "Hardware filter for this pass. \n"
- " \n"
- "If 'Don't Care' is set, 'Default \n"
- "Filter' will be used."
- );
- break;
- case MENU_ENUM_LABEL_AUTOSAVE_INTERVAL:
- snprintf(s, len,
- "Autosaves the non-volatile SRAM \n"
- "at a regular interval.\n"
- " \n"
- "This is disabled by default unless set \n"
- "otherwise. The interval is measured in \n"
- "seconds. \n"
- " \n"
- "A value of 0 disables autosave.");
- break;
- case MENU_ENUM_LABEL_INPUT_BIND_DEVICE_TYPE:
- snprintf(s, len,
- "输入设备类型. \n"
- " \n"
- "Picks which device type to use. This is \n"
- "relevant for the libretro core itself."
- );
- break;
- case MENU_ENUM_LABEL_LIBRETRO_LOG_LEVEL:
- snprintf(s, len,
- "设置Libretro核心的日志输出级别 \n"
- "(GET_LOG_INTERFACE). \n"
- "\n"
- "If a log level issued by a libretro \n"
- "core is below libretro_log level, it \n"
- "is ignored.\n"
- "\n"
- "DEBUG logs are always ignored unless \n"
- "verbose mode is activated (--verbose).\n"
- "\n"
- "调试 = 0\n"
- "提示 = 1\n"
- "警告 = 2\n"
- "错误 = 3"
- );
- break;
- case MENU_ENUM_LABEL_STATE_SLOT_INCREASE:
- case MENU_ENUM_LABEL_STATE_SLOT_DECREASE:
- snprintf(s, len,
- "即时存档栏位\n"
- "\n"
- "当选择0号栏位时,即时存档将以*.state命名(或其他 \n"
- "在命令行中定义的名称)。 \n"
- "\n"
- "当栏位不为0时,路径将会设为,其中 \n"
- "是栏位的编号。");
- break;
- case MENU_ENUM_LABEL_SHADER_APPLY_CHANGES:
- snprintf(s, len,
- "应用渲染器更改。 \n"
- " \n"
- "当你修改渲染器设置后,执行此选项 \n"
- "以应用更改。 \n"
- " \n"
- "渲染器可能非常耗费资源, \n"
- "因此必须单独进行设置。 \n"
- " \n"
- "应用渲染器更改后,渲染器设置将被 \n"
- "保存到 Shader 文件夹下的文件中 \n"
- "(扩展名为 .cgp 或 .glslp)。 \n"
- "即使退出 RetroArch,该文件也会被保留。"
- );
- break;
- case MENU_ENUM_LABEL_MENU_TOGGLE:
- snprintf(s, len,
- "切换菜单。");
- break;
- case MENU_ENUM_LABEL_GRAB_MOUSE_TOGGLE:
- snprintf(s, len,
- "切换鼠标抓取。\n"
- " \n"
- "When mouse is grabbed, RetroArch hides the \n"
- "mouse, and keeps the mouse pointer inside \n"
- "the window to allow relative mouse input to \n"
- "work better.");
- break;
- case MENU_ENUM_LABEL_DISK_NEXT:
- snprintf(s, len,
- "切换下一张光盘。弹出光盘后才能使用。 \n"
- " \n"
- "再次切换光盘弹出状态完成换盘。");
- break;
- case MENU_ENUM_LABEL_VIDEO_FILTER:
-#ifdef HAVE_FILTERS_BUILTIN
- snprintf(s, len,
- "CPU-based video filter.");
-#else
- snprintf(s, len,
- "CPU-based video filter.\n"
- " \n"
- "Path to a dynamic library.");
-#endif
- break;
- case MENU_ENUM_LABEL_AUDIO_DEVICE:
- snprintf(s, len,
- "Override the default audio device \n"
- "the audio driver uses.\n"
- "This is driver dependent. E.g.\n"
-#ifdef HAVE_ALSA
- " \n"
- "ALSA 需要一个PCM设备."
-#endif
-#ifdef HAVE_OSS
- " \n"
- "OSS 需要一个路径 (例如. /dev/dsp)."
-#endif
-#ifdef HAVE_JACK
- " \n"
- "JACK wants portnames (e.g. system:playback1\n"
- ",system:playback_2)."
-#endif
-#ifdef HAVE_RSOUND
- " \n"
- "RSound 需要 RSound 服务器的 IP 地址。 \n"
-#endif
- );
- break;
- case MENU_ENUM_LABEL_DISK_EJECT_TOGGLE:
- snprintf(s, len,
- "切换光盘弹出状态。\n"
- " \n"
- "用于多光盘游戏。");
- break;
- case MENU_ENUM_LABEL_ENABLE_HOTKEY:
- snprintf(s, len,
- "启用其他热键。\n"
- " \n"
- " If this hotkey is bound to either keyboard, \n"
- "joybutton or joyaxis, all other hotkeys will \n"
- "be disabled unless this hotkey is also held \n"
- "at the same time. \n"
- " \n"
- "This is useful for RETRO_KEYBOARD centric \n"
- "implementations which query a large area of \n"
- "the keyboard, where it is not desirable that \n"
- "hotkeys get in the way.");
- break;
- case MENU_ENUM_LABEL_REWIND_ENABLE:
- snprintf(s, len,
- "启用回溯倒带功能。\n"
- " \n"
- "这可能会严重影响性能, \n"
- "所以默认设置为关闭。");
- break;
- case MENU_ENUM_LABEL_LIBRETRO_DIR_PATH:
- snprintf(s, len,
- "核心文件夹。 \n"
- " \n"
- "放置 Libretro 核心的文件夹。");
- break;
- case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_AUTO:
- snprintf(s, len,
- "自动匹配刷新率。\n"
- " \n"
- "The accurate refresh rate of our monitor (Hz).\n"
- "This is used to calculate audio input rate with \n"
- "the formula: \n"
- " \n"
- "audio_input_rate = game input rate * display \n"
- "refresh rate / game refresh rate\n"
- " \n"
- "If the implementation does not report any \n"
- "values, NTSC defaults will be assumed for \n"
- "compatibility.\n"
- " \n"
- "This value should stay close to 60Hz to avoid \n"
- "large pitch changes. If your monitor does \n"
- "not run at 60Hz, or something close to it, \n"
- "disable VSync, and leave this at its default.");
- break;
- case MENU_ENUM_LABEL_VIDEO_ROTATION:
- snprintf(s, len,
- "Forces a certain rotation \n"
- "of the screen.\n"
- " \n"
- "The rotation is added to rotations which\n"
- "the libretro core sets (see Video Allow\n"
- "Rotate).");
- break;
- case MENU_ENUM_LABEL_VIDEO_SCALE:
- snprintf(s, len,
- "全屏分辨率。\n"
- " \n"
- "如果设置为 0,则使用设备默认分辨率。\n");
- break;
- case MENU_ENUM_LABEL_FASTFORWARD_RATIO:
- snprintf(s, len,
- "快进速度。\n"
- " \n"
- "开启快进模式时的最大运行速度倍数。\n"
- " \n"
- "例如 60fps 的游戏开启 5 倍速 就是 300 fps。\n"
- " \n"
- "RetroArch 会尽可能保证快进时不超过该速度,\n"
- "但不会特别精确。");
- break;
- case MENU_ENUM_LABEL_VIDEO_MONITOR_INDEX:
- snprintf(s, len,
- "指定输出显示器。\n"
- " \n"
- "(默认 0)表示不指定显示器,\n"
- "1 表示使用 1 号显示器,以此类推。");
- break;
- case MENU_ENUM_LABEL_VIDEO_CROP_OVERSCAN:
- snprintf(s, len,
- "Forces cropping of overscanned \n"
- "frames.\n"
- " \n"
- "Exact behavior of this option is \n"
- "core-implementation specific.");
- break;
- case MENU_ENUM_LABEL_VIDEO_SCALE_INTEGER:
- snprintf(s, len,
- "只放大整数倍。\n"
- "\n"
- "基础分辨率与游戏、宽高比有关。\n"
- "\n"
- "如果「保持宽高比」选项未开启,\n"
- "不保证宽高放大倍数相同。");
- break;
- case MENU_ENUM_LABEL_AUDIO_VOLUME:
- snprintf(s, len,
- "音量增益(分贝)。\n"
- " \n"
- "0 表示正常音量。\n"
- "Gain can be controlled in runtime with Input\n"
- "Volume Up / Input Volume Down.");
- break;
- case MENU_ENUM_LABEL_AUDIO_RATE_CONTROL_DELTA:
- snprintf(s, len,
- "Audio rate control.\n"
- " \n"
- "Setting this to 0 disables rate control.\n"
- "Any other value controls audio rate control \n"
- "delta.\n"
- " \n"
- "Defines how much input rate can be adjusted \n"
- "dynamically.\n"
- " \n"
- " Input rate is defined as: \n"
- " input rate * (1.0 +/- (rate control delta))");
- break;
- case MENU_ENUM_LABEL_AUDIO_MAX_TIMING_SKEW:
- snprintf(s, len,
- "Maximum audio timing skew.\n"
- " \n"
- "Defines the maximum change in input rate.\n"
- "You may want to increase this to enable\n"
- "very large changes in timing, for example\n"
- "running PAL cores on NTSC displays, at the\n"
- "cost of inaccurate audio pitch.\n"
- " \n"
- " Input rate is defined as: \n"
- " input rate * (1.0 +/- (max timing skew))");
- break;
- case MENU_ENUM_LABEL_OVERLAY_NEXT:
- snprintf(s, len,
- "Toggles to next overlay.\n"
- " \n"
- "Wraps around.");
- break;
- case MENU_ENUM_LABEL_LOG_VERBOSITY:
- snprintf(s, len,
- "Enable or disable verbosity level \n"
- "of frontend.");
- break;
- case MENU_ENUM_LABEL_VOLUME_UP:
- snprintf(s, len,
- "调高音量。");
- break;
- case MENU_ENUM_LABEL_VOLUME_DOWN:
- snprintf(s, len,
- "降低音量。");
- break;
- case MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION:
- snprintf(s, len,
- "Forcibly disable composition.\n"
- "Only valid on Windows Vista/7 for now.");
- break;
- case MENU_ENUM_LABEL_PERFCNT_ENABLE:
- snprintf(s, len,
- "启用或关闭前端 \n"
- "性能计数。");
- break;
- case MENU_ENUM_LABEL_SYSTEM_DIRECTORY:
- snprintf(s, len,
- "系统文件夹。 \n"
- " \n"
- "Sets the 'system' directory.\n"
- "Cores can query for this\n"
- "directory to load BIOSes, \n"
- "system-specific configs, etc.");
- break;
- case MENU_ENUM_LABEL_SAVESTATE_AUTO_SAVE:
- case MENU_ENUM_LABEL_SAVESTATE_AUTO_LOAD:
- snprintf(s, len,
- "在 RetroArch 退出时 \n"
- "自动保存即时存档。\n"
- " \n"
- "如果自动读档选项已打开,\n"
- "每次运行游戏时还会读取该存档。");
- break;
- case MENU_ENUM_LABEL_VIDEO_THREADED:
- snprintf(s, len,
- "使用独立线程来处理视频。\n"
- " \n"
- "虽然可能提升游戏速度,但也可能"
- "增加延迟或导致图像卡顿。");
- break;
- case MENU_ENUM_LABEL_VIDEO_VSYNC:
- snprintf(s, len,
- "视频垂直同步.\n");
- break;
- case MENU_ENUM_LABEL_VIDEO_HARD_SYNC:
- snprintf(s, len,
- "尝试硬件同步CPU和GPU。\n"
- " \n"
- "可以减少潜在的性能开销。");
- break;
- case MENU_ENUM_LABEL_REWIND_GRANULARITY:
- snprintf(s, len,
- "每次回溯的帧数\n"
- " \n"
- "通过一次回溯多帧来提升回溯的速度。");
- break;
- case MENU_ENUM_LABEL_SCREENSHOT:
- snprintf(s, len,
- "截图。");
- break;
- case MENU_ENUM_LABEL_VIDEO_FRAME_DELAY:
- snprintf(s, len,
- "Sets how many milliseconds to delay\n"
- "after VSync before running the core.\n"
- "\n"
- "Can reduce latency at the cost of\n"
- "higher risk of stuttering.\n"
- " \n"
- "Maximum is 15.");
- break;
- case MENU_ENUM_LABEL_VIDEO_HARD_SYNC_FRAMES:
- snprintf(s, len,
- "Sets how many frames CPU can \n"
- "run ahead of GPU when using 'GPU \n"
- "Hard Sync'.\n"
- " \n"
- "Maximum is 3.\n"
- " \n"
- " 0: Syncs to GPU immediately.\n"
- " 1: Syncs to previous frame.\n"
- " 2: Etc ...");
- break;
- case MENU_ENUM_LABEL_VIDEO_BLACK_FRAME_INSERTION:
- snprintf(s, len,
- "在每帧之间插入一帧黑屏。\n"
- " \n"
- "120 Hz 显示器开启此选项运行 \n"
- "60 Hz 游戏可以避免重影。 \n"
- " \n"
- "图像刷新率仍应按照 60 Hz 显示器 \n"
- "来进行设置。(除以 2) \n");
- break;
- case MENU_ENUM_LABEL_RGUI_SHOW_START_SCREEN:
- snprintf(s, len,
- "Show startup screen in menu.\n"
- "Is automatically set to false when seen\n"
- "for the first time.\n"
- " \n"
- "This is only updated in config if\n"
- "'Save Configuration on Exit' is enabled.\n");
- break;
- case MENU_ENUM_LABEL_VIDEO_FULLSCREEN:
- snprintf(s, len, "Toggles fullscreen.");
- break;
- case MENU_ENUM_LABEL_BLOCK_SRAM_OVERWRITE:
- snprintf(s, len,
- "Block SRAM from being overwritten \n"
- "when loading save states.\n"
- " \n"
- "Might potentially lead to buggy games.");
- break;
- case MENU_ENUM_LABEL_PAUSE_NONACTIVE:
- snprintf(s, len,
- "切换窗口时暂停游戏。");
- break;
- case MENU_ENUM_LABEL_VIDEO_GPU_SCREENSHOT:
- snprintf(s, len,
- "使用 GPU 输出来进行截图(如果可能的话)。");
- break;
- case MENU_ENUM_LABEL_SCREENSHOT_DIRECTORY:
- snprintf(s, len,
- "截图文件夹 \n"
- " \n"
- "用于保存截图的文件夹。"
- );
- break;
- case MENU_ENUM_LABEL_VIDEO_SWAP_INTERVAL:
- snprintf(s, len,
- "VSync Swap Interval.\n"
- " \n"
- "Uses a custom swap interval for VSync. Set this \n"
- "to effectively halve monitor refresh rate.");
- break;
- case MENU_ENUM_LABEL_SAVEFILE_DIRECTORY:
- snprintf(s, len,
- "游戏存档文件夹。 \n"
- " \n"
- "所有游戏存档都保存在此文件夹。 \n"
- "常见的游戏存档格式有 \n"
- ".srm, .rt, .psrm 等\n"
- " \n"
- "此选项可能被特定命令行选项覆盖。");
- break;
- case MENU_ENUM_LABEL_SAVESTATE_DIRECTORY:
- snprintf(s, len,
- "即时存档文件夹. \n"
- " \n"
- "所有即时存档 (.state 文件) 都 \n"
- "保存在此文件夹。 \n"
- " \n"
- "此选项可能被特定命令行选项覆盖。");
- break;
- case MENU_ENUM_LABEL_ASSETS_DIRECTORY:
- snprintf(s, len,
- "Assets Directory. \n"
- " \n"
- "This location is queried by default when \n"
- "menu interfaces try to look for loadable \n"
- "assets, etc.");
- break;
- case MENU_ENUM_LABEL_DYNAMIC_WALLPAPERS_DIRECTORY:
- snprintf(s, len,
- "动态壁纸文件夹 \n"
- " \n"
- "保存用于主界面的、依据游戏内容变化的动态壁纸。");
- break;
- case MENU_ENUM_LABEL_SLOWMOTION_RATIO:
- snprintf(s, len,
- "减速比例"
- " \n"
- "减速游戏时,速度将被降低的倍数。");
- break;
- case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD:
- snprintf(s, len,
- "Turbo period.\n"
- " \n"
- "Describes the period of which turbo-enabled\n"
- "buttons toggle.\n"
- " \n"
- "Numbers are described in frames."
- );
- break;
- case MENU_ENUM_LABEL_INPUT_DUTY_CYCLE:
- snprintf(s, len,
- "Duty cycle.\n"
- " \n"
- "Describes how long the period of a turbo-enabled\n"
- "should be.\n"
- " \n"
- "Numbers are described in frames."
- );
- break;
- case MENU_ENUM_LABEL_INPUT_TOUCH_ENABLE:
- snprintf(s, len, "启用触摸屏支持。");
- break;
- case MENU_ENUM_LABEL_INPUT_PREFER_FRONT_TOUCH:
- snprintf(s, len, "使用前触摸屏,而非后触摸屏。");
- break;
- case MENU_ENUM_LABEL_MOUSE_ENABLE:
- snprintf(s, len, "在菜单中,启用鼠标。");
- break;
- case MENU_ENUM_LABEL_POINTER_ENABLE:
- snprintf(s, len, "在菜单中,启用触摸屏。");
- break;
- case MENU_ENUM_LABEL_MENU_WALLPAPER:
- snprintf(s, len, "菜单壁纸图片的路径。");
- break;
- case MENU_ENUM_LABEL_NAVIGATION_WRAPAROUND:
- snprintf(s, len,
- "Wrap-around to beginning and/or end \n"
- "if boundary of list is reached \n"
- "horizontally and/or vertically.");
- break;
- case MENU_ENUM_LABEL_PAUSE_LIBRETRO:
- snprintf(s, len,
- "如果关闭此选项,打开菜单时 \n"
- "游戏仍会后台运行。");
- break;
- case MENU_ENUM_LABEL_SUSPEND_SCREENSAVER_ENABLE:
- snprintf(s, len,
- "Suspends the screensaver. Is a hint that \n"
- "does not necessarily have to be \n"
- "honored by the video driver.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_MODE:
- snprintf(s, len,
- "开启:联网时为客户端模式。\n"
- "关闭:联网时为服务器模式。");
- break;
- case MENU_ENUM_LABEL_NETPLAY_DELAY_FRAMES:
- snprintf(s, len,
- "联网时延迟的帧数。 \n"
- " \n"
- "提升数值将改善游戏表现, \n"
- "但延迟也会增加。");
- break;
- case MENU_ENUM_LABEL_NETPLAY_CHECK_FRAMES:
- snprintf(s, len,
- "The frequency in frames with which netplay \n"
- "will verify that the host and client are in \n"
- "sync. \n"
- " \n"
- "With most cores, this value will have no \n"
- "visible effect and can be ignored. With \n"
- "nondeterminstic cores, this value determines \n"
- "how often the netplay peers will be brought \n"
- "into sync. With buggy cores, setting this \n"
- "to any non-zero value will cause severe \n"
- "performance issues. Set to zero to perform \n"
- "no checks. This value is only used on the \n"
- "netplay host. \n");
- break;
- case MENU_ENUM_LABEL_VIDEO_MAX_SWAPCHAIN_IMAGES:
- snprintf(s, len,
- "Maximum amount of swapchain images. This \n"
- "can tell the video driver to use a specific \n"
- "video buffering mode. \n"
- " \n"
- "Single buffering - 1\n"
- "Double buffering - 2\n"
- "Triple buffering - 3\n"
- " \n"
- "Setting the right buffering mode can have \n"
- "a big impact on latency.");
- break;
- case MENU_ENUM_LABEL_VIDEO_SMOOTH:
- snprintf(s, len,
- "用双线性过滤使图像平滑。 \n"
- "如果你使用了渲染器,请关闭它。");
- break;
- case MENU_ENUM_LABEL_VIDEO_CTX_SCALING:
- snprintf(s, len,
-#ifdef HAVE_ODROIDGO2
- "RGA scaling and bicubic filtering. May break widgets."
-#else
- "Hardware context scaling (if available)."
-#endif
- );
- break;
- case MENU_ENUM_LABEL_TIMEDATE_ENABLE:
- snprintf(s, len,
- "在菜单中显示当前日期和时间。");
- break;
- case MENU_ENUM_LABEL_CORE_ENABLE:
- snprintf(s, len,
- "在菜单中显示当前运行的核心名称。");
- break;
- case MENU_ENUM_LABEL_NETPLAY_ENABLE_HOST:
- snprintf(s, len,
- "启用联机游戏(服务器模式)。");
- break;
- case MENU_ENUM_LABEL_NETPLAY_ENABLE_CLIENT:
- snprintf(s, len,
- "启用联机游戏(客户端模式)。");
- break;
- case MENU_ENUM_LABEL_NETPLAY_DISCONNECT:
- snprintf(s, len,
- "断开当前网络连接。");
- break;
- case MENU_ENUM_LABEL_NETPLAY_SETTINGS:
- snprintf(s, len,
- "联机游戏设置。");
- break;
- case MENU_ENUM_LABEL_NETPLAY_LAN_SCAN_SETTINGS:
- snprintf(s, len,
- "在局域网中搜索并加入联机游戏服务器。");
- break;
- case MENU_ENUM_LABEL_DYNAMIC_WALLPAPER:
- snprintf(s, len,
- "在不同的环境下加载不同的壁纸。");
- break;
- case MENU_ENUM_LABEL_CORE_UPDATER_BUILDBOT_URL:
- snprintf(s, len,
- "URL to core updater directory on the \n"
- "Libretro buildbot.");
- break;
- case MENU_ENUM_LABEL_BUILDBOT_ASSETS_URL:
- snprintf(s, len,
- "URL to assets updater directory on the \n"
- "Libretro buildbot.");
- break;
- case MENU_ENUM_LABEL_INPUT_REMAP_BINDS_ENABLE:
- snprintf(s, len,
- "if enabled, overrides the input binds \n"
- "with the remapped binds set for the \n"
- "current core.");
- break;
- case MENU_ENUM_LABEL_OVERLAY_DIRECTORY:
- snprintf(s, len,
- "Overlay Directory. \n"
- " \n"
- "Defines a directory where overlays are \n"
- "kept for easy access.");
- break;
- case MENU_ENUM_LABEL_INPUT_MAX_USERS:
- snprintf(s, len,
- "RetroArch 支持的最大用户数量。");
- break;
- case MENU_ENUM_LABEL_CORE_UPDATER_AUTO_EXTRACT_ARCHIVE:
- snprintf(s, len,
- "下载后自动解压。");
- break;
- case MENU_ENUM_LABEL_NAVIGATION_BROWSER_FILTER_SUPPORTED_EXTENSIONS_ENABLE:
- snprintf(s, len,
- "Filter files being shown by \n"
- "supported extensions.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_NICKNAME:
- snprintf(s, len,
- "你的 RetroArch 用户名,用于联机游戏。");
- break;
- case MENU_ENUM_LABEL_NETPLAY_TCP_UDP_PORT:
- snprintf(s, len,
- "服务器的端口。 \n"
- "TCP 或 UDP 端口均可。");
- break;
- case MENU_ENUM_LABEL_NETPLAY_SPECTATOR_MODE_ENABLE:
- snprintf(s, len,
- "启用或禁用网络对战的观战模式。");
- break;
- case MENU_ENUM_LABEL_NETPLAY_IP_ADDRESS:
- snprintf(s, len,
- "服务器的地址。");
- break;
- case MENU_ENUM_LABEL_STDIN_CMD_ENABLE:
- snprintf(s, len,
- "启用标准命令行输入。");
- break;
- case MENU_ENUM_LABEL_UI_COMPANION_START_ON_BOOT:
- snprintf(s, len,
- "Start User Interface companion driver \n"
- "on boot (if available).");
- break;
- case MENU_ENUM_LABEL_MENU_DRIVER:
- snprintf(s, len, "Menu driver to use.");
- break;
- case MENU_ENUM_LABEL_INPUT_MENU_ENUM_TOGGLE_GAMEPAD_COMBO:
- snprintf(s, len,
- "切换菜单的按键。 \n"
- " \n"
- "0 - 无 \n"
- "1 - 同时按下 L + R + Y + D-Pad \n"
- "2 - 同时按下 L3 + R3 \n"
- "3 - 同时按下 Start + Select ");
- break;
- case MENU_ENUM_LABEL_INPUT_ALL_USERS_CONTROL_MENU:
- snprintf(s, len, "允许任何玩家打开菜单。");
- break;
- case MENU_ENUM_LABEL_INPUT_AUTODETECT_ENABLE:
- snprintf(s, len,
- "启用自动配置按键。\n"
- " \n"
- "RetroArch 将尝试自动配置手柄按键, \n"
- "和即插即用模式。");
- break;
- case MENU_ENUM_LABEL_CAMERA_ALLOW:
- snprintf(s, len,
- "允许或禁止核心调用摄像头。");
- break;
- case MENU_ENUM_LABEL_LOCATION_ALLOW:
- snprintf(s, len,
- "允许或禁止核心调用定位系统(GPS)。");
- break;
- case MENU_ENUM_LABEL_TURBO:
- snprintf(s, len,
- "Turbo enable.\n"
- " \n"
- "Holding the turbo while pressing another \n"
- "button will let the button enter a turbo \n"
- "mode where the button state is modulated \n"
- "with a periodic signal. \n"
- " \n"
- "The modulation stops when the button \n"
- "itself (not turbo button) is released.");
- break;
- case MENU_ENUM_LABEL_OSK_ENABLE:
- snprintf(s, len,
- "启用或禁用屏幕软键盘。");
- break;
- case MENU_ENUM_LABEL_AUDIO_MUTE:
- snprintf(s, len,
- "静音或恢复声音。");
- break;
- case MENU_ENUM_LABEL_REWIND:
- snprintf(s, len,
- "按住按钮来回溯 \n"
- " \n"
- "必须先启用回溯倒带功能。");
- break;
- case MENU_ENUM_LABEL_EXIT_EMULATOR:
- snprintf(s, len,
- "正常退出 RetroArch。"
-#if !defined(RARCH_MOBILE) && !defined(RARCH_CONSOLE)
- "\nKilling it in any hard way (SIGKILL, \n"
- "etc) will terminate without saving\n"
- "RAM, etc. On Unix-likes,\n"
- "SIGINT/SIGTERM allows\n"
- "a clean deinitialization."
-#endif
- );
- break;
- case MENU_ENUM_LABEL_LOAD_STATE:
- snprintf(s, len,
- "读取即时存档。");
- break;
- case MENU_ENUM_LABEL_SAVE_STATE:
- snprintf(s, len,
- "保存即时存档。");
- break;
- case MENU_ENUM_LABEL_CHEAT_INDEX_PLUS:
- snprintf(s, len,
- "下一个金手指。");
- break;
- case MENU_ENUM_LABEL_CHEAT_INDEX_MINUS:
- snprintf(s, len,
- "前一个金手指。");
- break;
- case MENU_ENUM_LABEL_SHADER_PREV:
- snprintf(s, len,
- "应用文件夹中的前一个渲染器特效。");
- break;
- case MENU_ENUM_LABEL_SHADER_NEXT:
- snprintf(s, len,
- "应用文件夹中的后一个渲染器特效。");
- break;
- case MENU_ENUM_LABEL_RESET:
- snprintf(s, len,
- "重启游戏。");
- break;
- case MENU_ENUM_LABEL_PAUSE_TOGGLE:
- snprintf(s, len,
- "在暂停和非暂停状态间切换。");
- break;
- case MENU_ENUM_LABEL_CHEAT_TOGGLE:
- snprintf(s, len,
- "切换金手指启用状态。");
- break;
- case MENU_ENUM_LABEL_HOLD_FAST_FORWARD:
- snprintf(s, len,
- "按下按键快进,松开按键恢复正常。");
- break;
- case MENU_ENUM_LABEL_SLOWMOTION_HOLD:
- snprintf(s, len,
- "按下按键减速,松开按键恢复正常。");
- break;
- case MENU_ENUM_LABEL_FRAME_ADVANCE:
- snprintf(s, len,
- "游戏暂停时,运行一帧。");
- 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,
- "Axis for analog stick (DualShock-esque).\n"
- " \n"
- "Bound as usual, however, if a real analog \n"
- "axis is bound, it can be read as a true analog.\n"
- " \n"
- "Positive X axis is right. \n"
- "Positive Y axis is down.");
- break;
- case MENU_ENUM_LABEL_VALUE_WHAT_IS_A_CORE_DESC:
- snprintf(s, len,
- "RetroArch 本身并不能做什么事情。 \n"
- " \n"
- "如果想在上面干点什么,你需要向它加载 \n"
- "一个程序。\n"
- " \n"
- "我们把这样的程序叫做「Libretro 核心」, \n"
- "简称「核心」。 \n"
- " \n"
- "你可以从「加载核心」菜单中选择一个核心。 \n"
- " \n"
-#ifdef HAVE_NETWORKING
- "你可以通过以下几种方法来获取核心: \n"
- "一、通过访问菜单项「%s」 \n"
- " -> 「%s」来下载;\n"
- " \n"
- "二、手动将其移入核心文件夹中,访问文件\n"
- "夹设置找到你的「%s」。",
- 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
- "你可以通过手动将核心移入文件夹中来添加它们, \n"
- "访问文件夹设置找到你的「%s」。",
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LIBRETRO_DIR_PATH)
-#endif
- );
- break;
- case MENU_ENUM_LABEL_VALUE_HELP_CHANGE_VIRTUAL_GAMEPAD_DESC:
- snprintf(s, len,
- "你可以通过「%s」->「%s」更改虚拟按键。\n"
- " \n"
- "从那里你可以改变虚拟按键的样式、大小和不透\n"
- "明度。\n"
- " \n"
- "注意:默认情况下,在菜单中虚拟按键是隐藏的。\n"
- "如果您想在菜单中显示,可以将「%s」\n"
- "设置为 OFF 。",
- 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_chs(enum msg_hash_enums msg)
-{
- switch (msg)
- {
-#include "msg_hash_chs.h"
-
- default:
-#if 0
- RARCH_LOG("Unimplemented: [%d]\n", msg);
-#endif
- break;
- }
-
- return "null";
-}
-
-const char *msg_hash_get_wideglyph_str_chs(void)
-{
- return "菜";
-}
diff --git a/intl/msg_hash_pt_br.c b/intl/msg_hash_pt_br.c
deleted file mode 100644
index 2c8a733e516..00000000000
--- a/intl/msg_hash_pt_br.c
+++ /dev/null
@@ -1,2393 +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 .
- */
-
-#include
-#include
-#include
-
-#include
-#include
-
-#include "../msg_hash.h"
-#include "../verbosity.h"
-
-#ifdef RARCH_INTERNAL
-#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_br_enum(enum msg_hash_enums msg, char *s, size_t len)
-{
- settings_t *settings = config_get_ptr();
-
- 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,
- "Alternar entre avanço rápido e \n"
- "velocidade normal."
- );
- break;
- case RARCH_FAST_FORWARD_HOLD_KEY:
- snprintf(s, len,
- "Manter pressionado para avanço rápido. \n"
- " \n"
- "Soltar o botão desativa o avanço rápido."
- );
- break;
- case RARCH_SLOWMOTION_KEY:
- snprintf(s, len,
- "Alternar câmera lenta.");
- break;
- case RARCH_SLOWMOTION_HOLD_KEY:
- snprintf(s, len,
- "Manter pressionado para câmera lenta.");
- break;
- case RARCH_PAUSE_TOGGLE:
- snprintf(s, len,
- "Alternar estado pausado e não-pausado.");
- break;
- case RARCH_FRAMEADVANCE:
- snprintf(s, len,
- "Avanço de quadro do conteúdo pausado.");
- break;
- case RARCH_SHADER_NEXT:
- snprintf(s, len,
- "Aplicar o próximo shader do diretório.");
- break;
- case RARCH_SHADER_PREV:
- snprintf(s, len,
- "Aplicar o shader anterior do diretório.");
- break;
- case RARCH_CHEAT_INDEX_PLUS:
- case RARCH_CHEAT_INDEX_MINUS:
- case RARCH_CHEAT_TOGGLE:
- snprintf(s, len,
- "Trapaças.");
- break;
- case RARCH_RESET:
- snprintf(s, len,
- "Reiniciar o conteúdo.");
- break;
- case RARCH_SCREENSHOT:
- snprintf(s, len,
- "Capturar tela.");
- break;
- case RARCH_MUTE:
- snprintf(s, len,
- "Habilitar/desabilitar áudio.");
- break;
- case RARCH_OSK:
- snprintf(s, len,
- "Alternar o teclado virtual.");
- break;
- case RARCH_FPS_TOGGLE:
- snprintf(s, len,
- "Alternar contador de quadros por segundo.");
- break;
- case RARCH_SEND_DEBUG_INFO:
- snprintf(s, len,
- "Envia informações de diagnóstico sobre o seu dispositivo e a configuração do RetroArch aos nossos servidores para análise.");
- break;
- case RARCH_NETPLAY_HOST_TOGGLE:
- snprintf(s, len,
- "Ativar ou desativar a hospedagem de jogo em rede.");
- break;
- case RARCH_NETPLAY_GAME_WATCH:
- snprintf(s, len,
- "Alternar modo jogador ou espectador do jogo em rede.");
- break;
- case RARCH_ENABLE_HOTKEY:
- snprintf(s, len,
- "Habilitar outras teclas de atalho. \n"
- " \n"
- "Se essa tecla de atalho estiver vinculada \n"
- "ao teclado ou botão / eixo de joypad, todas \n"
- "as outras teclas de atalho serão desabilitadas \n"
- "a menos que essa tecla de atalho também esteja \n"
- "pressionada ao mesmo tempo. \n"
- " \n"
- "Como alternativa, todas as teclas de atalho \n"
- "para teclado podem ser desativadas pelo usuário.");
- break;
- case RARCH_VOLUME_UP:
- snprintf(s, len,
- "Aumentar o volume do áudio.");
- break;
- case RARCH_VOLUME_DOWN:
- snprintf(s, len,
- "Diminuir o volume do áudio.");
- break;
- case RARCH_OVERLAY_NEXT:
- snprintf(s, len,
- "Mudar para a próxima sobreposição.");
- break;
- case RARCH_DISK_EJECT_TOGGLE:
- snprintf(s, len,
- "Alternar ejeção de disco. \n"
- " \n"
- "Usado para conteúdo em vários discos. ");
- break;
- case RARCH_DISK_NEXT:
- case RARCH_DISK_PREV:
- snprintf(s, len,
- "Alternar pelas imagens de disco. Utilizado. \n"
- "após a ejeção. \n"
- " \n"
- "Concluído após alternar novamente a ejeção.");
- break;
- case RARCH_GRAB_MOUSE_TOGGLE:
- snprintf(s, len,
- "Alternar captura de Mouse. \n"
- " \n"
- "Quando o Mouse é capturado, o RetroArch oculta \n"
- "o cursor do mouse, e mantém o mouse dentro \n"
- "da janela para permitir que a entrada de Mouse \n"
- "relativa funcione melhor.");
- break;
- case RARCH_GAME_FOCUS_TOGGLE:
- snprintf(s, len,
- "Alternar o foco do jogo.\n"
- " \n"
- "Quando um jogo tem foco, o RetroArch irá \n"
- "desabilitar as teclas de atalho e manter \n"
- "o cursor do mouse dentro da janela.");
- break;
- case RARCH_MENU_TOGGLE:
- snprintf(s, len, "Mostrar ou ocultar o menu.");
- break;
- case RARCH_LOAD_STATE_KEY:
- snprintf(s, len,
- "Carregar jogo salvo.");
- break;
- case RARCH_FULLSCREEN_TOGGLE_KEY:
- snprintf(s, len,
- "Alternar tela cheia.");
- break;
- case RARCH_QUIT_KEY:
- snprintf(s, len,
- "Tecla para sair do RetroArch de modo limpo. \n"
- " \n"
- "Encerrá-lo de forma brusca (SIGKILL, etc.) irá \n"
- "terminar o RetroArch sem salvar RAM, etc."
-#ifdef __unix__
- "\nEm sistemas do tipo Unix, SIGINT/SIGTERM \n"
- "permitem uma desinicialização limpa."
-#endif
- "");
- break;
- case RARCH_STATE_SLOT_PLUS:
- case RARCH_STATE_SLOT_MINUS:
- snprintf(s, len,
- "Compartimentos de jogo salvo.\n"
- " \n"
- "Com o compartimento é definido em 0, o nome do \n"
- "jogo salvo é *.state \n"
- "(ou a definição da linha de comando). \n"
- " \n"
- "Quando o compartimento não for 0, o caminho será \n"
- "(caminho)(n), onde (n) é o número do compartimento.");
- break;
- case RARCH_SAVE_STATE_KEY:
- snprintf(s, len,
- "Salvar jogo.");
- break;
- case RARCH_REWIND:
- snprintf(s, len,
- "Manter o botão pressionado para \n"
- "Rebobinar. \n"
- " \n"
- "Rebobinar precisa estar habilitado.");
- 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, "Detalhes de acesso para \n"
- "sua conta RetroAchievements. \n"
- " \n"
- "Visite retroachievements.org e inscreva-se \n"
- "em uma conta gratuita. \n"
- " \n"
- "Após o registro, você precisa \n"
- "cadastrar o nome de usuário e a senha \n"
- "no RetroArch.");
- break;
- case MENU_ENUM_LABEL_CHEEVOS_USERNAME:
- snprintf(s, len, "Nome de usuário da conta RetroAchievements.");
- break;
- case MENU_ENUM_LABEL_CHEEVOS_PASSWORD:
- snprintf(s, len, "Senha da conta RetroAchievements.");
- break;
- case MENU_ENUM_LABEL_USER_LANGUAGE:
- snprintf(s, len, "Altera o idioma do menu e todas as mensagens \n"
- "na tela de acordo com o idioma selecionado \n"
- "aqui. \n"
- " \n"
- "Requer a reinicialização para que as \n"
- "alterações entrem em vigor. \n"
- " \n"
- "NOTA: nem todos os idiomas podem estar atualmente \n"
- "implementados. \n"
- " \n"
- "No caso de um idioma não estar implementado, \n"
- "retorna para Inglês.");
- break;
- case MENU_ENUM_LABEL_VIDEO_FONT_PATH:
- snprintf(s, len, "Mudar a fonte que é utilizada \n"
- "para o texto da Exibição na Tela.");
- break;
- case MENU_ENUM_LABEL_GAME_SPECIFIC_OPTIONS:
- snprintf(s, len, "Autocarregar opções de núcleo específicas do conteúdo.");
- break;
- case MENU_ENUM_LABEL_AUTO_OVERRIDES_ENABLE:
- snprintf(s, len, "Autocarregar configurações de personalização.");
- break;
- case MENU_ENUM_LABEL_AUTO_REMAPS_ENABLE:
- snprintf(s, len, "Autocarregar arquivos de remapeamento de entrada.");
- break;
- case MENU_ENUM_LABEL_SORT_SAVESTATES_ENABLE:
- snprintf(s, len, "Ordenar jogos salvos em pastas \n"
- "com o nome do núcleo Libretro utilizado.");
- break;
- case MENU_ENUM_LABEL_SORT_SAVEFILES_ENABLE:
- snprintf(s, len, "Ordenar dados da memória do jogo em pastas \n"
- "com o nome do núcleo Libretro utilizado.");
- break;
- case MENU_ENUM_LABEL_RESUME_CONTENT:
- snprintf(s, len, "Sair do menu e retornar \n"
- "ao conteúdo.");
- break;
- case MENU_ENUM_LABEL_RESTART_CONTENT:
- snprintf(s, len, "Reiniciar o conteúdo do começo.");
- break;
- case MENU_ENUM_LABEL_CLOSE_CONTENT:
- snprintf(s, len, "Fechar e descarregar o conteúdo \n"
- "da memória.");
- break;
- case MENU_ENUM_LABEL_UNDO_LOAD_STATE:
- snprintf(s, len, "Se um jogo salvo foi carregado, o \n"
- "conteúdo irá retornar ao estado anterior \n"
- "ao carregamento.");
- break;
- case MENU_ENUM_LABEL_UNDO_SAVE_STATE:
- snprintf(s, len, "Se um jogo salvo for sobrescrito, ele irá \n"
- "retornar ao jogo salvo anterior.");
- break;
- case MENU_ENUM_LABEL_TAKE_SCREENSHOT:
- snprintf(s, len, "Capturar a tela. \n"
- " \n"
- "As imagens capturadas serão armazenadas dentro \n"
- "do diretório de captura de telas.");
- break;
- case MENU_ENUM_LABEL_ADD_TO_FAVORITES:
- snprintf(s, len, "Adicionar o item aos seus favoritos.");
- break;
- case MENU_ENUM_LABEL_RUN:
- snprintf(s, len, "Iniciar o conteúdo.");
- break;
- case MENU_ENUM_LABEL_INFORMATION:
- snprintf(s, len, "Exibir informação adicional \n"
- "de metadados sobre o conteúdo.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_CONFIG:
- snprintf(s, len, "Arquivo de configuração.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_COMPRESSED_ARCHIVE:
- snprintf(s, len, "Arquivo comprimido.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_RECORD_CONFIG:
- snprintf(s, len, "Arquivo de configuração de gravação.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_CURSOR:
- snprintf(s, len, "Arquivo de cursor da base de dados.");
- break;
- case MENU_ENUM_LABEL_FILE_CONFIG:
- snprintf(s, len, "Arquivo de configuração.");
- break;
- case MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY:
- snprintf(s, len,
- "Selecione para analisar o diretório \n"
- "atual por conteúdo.");
- break;
- case MENU_ENUM_LABEL_USE_THIS_DIRECTORY:
- snprintf(s, len,
- "Selecione para definir esse como o diretório.");
- break;
- case MENU_ENUM_LABEL_CONTENT_DATABASE_DIRECTORY:
- snprintf(s, len,
- "Diretório da base de dados de conteúdo. \n"
- " \n"
- "Caminho para o diretório \n"
- "da base de dados de conteúdo.");
- break;
- case MENU_ENUM_LABEL_THUMBNAILS_DIRECTORY:
- snprintf(s, len,
- "Diretório de miniaturas. \n"
- " \n"
- "Para armazenar arquivos de miniaturas.");
- break;
- case MENU_ENUM_LABEL_LIBRETRO_INFO_PATH:
- snprintf(s, len,
- "Diretório de informações de núcleos. \n"
- " \n"
- "Um diretório por onde procurar \n"
- "informação sobre os núcleos Libretro.");
- break;
- case MENU_ENUM_LABEL_PLAYLIST_DIRECTORY:
- snprintf(s, len,
- "Diretório de lista de reprodução. \n"
- " \n"
- "Salva todos os arquivos de \n"
- "lista de reprodução neste diretório.");
- break;
- case MENU_ENUM_LABEL_DUMMY_ON_CORE_SHUTDOWN:
- snprintf(s, len,
- "Alguns núcleos podem ter \n"
- "um recurso de desligamento. \n"
- " \n"
- "Se esta opção for deixada desabilitada, \n"
- "selecionar o procedimento de desligamento \n"
- "irá fazer com que o RetroArch seja encerrado. \n"
- " \n"
- "Habilitar esta opção irá carregar um \n"
- "núcleo modelo, permanecendo dentro do menu \n"
- "e o RetroArch não irá ser encerrado.");
- break;
- case MENU_ENUM_LABEL_CHECK_FOR_MISSING_FIRMWARE:
- snprintf(s, len,
- "Alguns núcleos podem precisar de \n"
- "arquivos de firmware ou BIOS. \n"
- " \n"
- "Se esta opção estiver desabilitada, \n"
- "será feito uma tentativa de carregar \n"
- "mesmo que o firmware esteja faltando. \n");
- break;
- case MENU_ENUM_LABEL_PARENT_DIRECTORY:
- snprintf(s, len,
- "Retornar ao diretório superior.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_OPEN_UWP_PERMISSIONS:
- snprintf(s, len,
- "Abra as configurações de permissão do Windows \n"
- "para ativar o recurso broadFileSystemAccess.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_OPEN_PICKER:
- snprintf(s, len,
- "Abra o seletor de arquivos do sistema para \n"
- "acessar os diretórios adicionais.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_SHADER_PRESET:
- snprintf(s, len,
- "Arquivo de predefinição de shader.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_SHADER:
- snprintf(s, len,
- "Arquivo de shader.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_REMAP:
- snprintf(s, len,
- "Arquivo de remapeamento de controles.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_CHEAT:
- snprintf(s, len,
- "Arquivo de trapaça.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_OVERLAY:
- snprintf(s, len,
- "Arquivo de sobreposição.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_RDB:
- snprintf(s, len,
- "Arquivo de base de dados.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_FONT:
- snprintf(s, len,
- "Arquivo de fonte TrueType.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_PLAIN_FILE:
- snprintf(s, len,
- "Arquivo comum.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_MOVIE_OPEN:
- snprintf(s, len,
- "Vídeo. \n"
- " \n"
- "Selecione para abrir este arquivo \n"
- "com o reprodutor de vídeo");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_MUSIC_OPEN:
- snprintf(s, len,
- "Música. \n"
- " \n"
- "Selecione para abrir este arquivo \n"
- "com o reprodutor de música.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_IMAGE:
- snprintf(s, len,
- "Arquivo de imagem.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_IMAGE_OPEN_WITH_VIEWER:
- snprintf(s, len,
- "Imagem. \n"
- " \n"
- "Selecione para abrir este arquivo \n"
- "com o visualizador de imagens.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION:
- snprintf(s, len,
- "Núcleo Libretro. \n"
- " \n"
- "Selecionar esta opção associa este \n"
- "núcleo com o jogo.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_CORE:
- snprintf(s, len,
- "Núcleo Libretro. \n"
- " \n"
- "Selecione este arquivo para que o \n"
- "RetroArch carregue este núcleo.");
- break;
- case MENU_ENUM_LABEL_FILE_BROWSER_DIRECTORY:
- snprintf(s, len,
- "Diretório. \n"
- " \n"
- "Selecione para abrir esse diretório.");
- break;
- case MENU_ENUM_LABEL_CACHE_DIRECTORY:
- snprintf(s, len,
- "Diretório de cache. \n"
- " \n"
- "Conteúdo descomprimido pelo RetroArch será \n"
- "temporariamente extraído para este diretório.");
- break;
- case MENU_ENUM_LABEL_HISTORY_LIST_ENABLE:
- snprintf(s, len,
- "Se habilitado, todo o conteúdo carregado \n"
- "no RetroArch será automaticamente \n"
- "adicionado a lista de histórico recente.");
- break;
- case MENU_ENUM_LABEL_RGUI_BROWSER_DIRECTORY:
- snprintf(s, len,
- "Diretório do navegador de arquivos. \n"
- " \n"
- "Define o diretório inicial para o \n"
- "navegador de arquivos do menu. \n");
- break;
- case MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR:
- snprintf(s, len,
- "Influencia como a chamada seletiva da \n"
- "entrada é feita dentro do RetroArch. \n"
- " \n"
- "Mais cedo - A chamada da entrada é realizada \n"
- "antes do quadro ser processado. \n"
- "Normal - A chamada da entrada é realizada \n"
- "quando a chamada é requisitada. \n"
- "Mais tarde - A chamada seletiva é realizada \n"
- "no primeiro estado de entrada requisitado \n"
- "pelo quadro. \n"
- " \n"
- "Definir como 'Mais cedo' ou 'Mais tarde' pode resultar \n"
- "em menos latência, \n"
- "dependendo da sua configuração.\n\n"
- "Será ignorado no jogo em rede."
- );
- break;
- case MENU_ENUM_LABEL_INPUT_DESCRIPTOR_HIDE_UNBOUND:
- snprintf(s, len,
- "Ocultar descritores de entrada que não foram \n"
- "definidos pelo núcleo.");
- break;
- case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE:
- snprintf(s, len,
- "Taxa de atualização de vídeo do seu monitor. \n"
- "Utilizado para calcular uma taxa de \n"
- "entrada de áudio adequada.");
- break;
- case MENU_ENUM_LABEL_VIDEO_FORCE_SRGB_DISABLE:
- snprintf(s, len,
- "Desabilitar a força o suporte sRGB FBO. \n"
- "Alguns drivers Intel OpenGL no Windows \n"
- "possuem problemas de vídeo com o recurso \n"
- "sRGB FBO se estiver habilitado.");
- break;
- case MENU_ENUM_LABEL_AUDIO_ENABLE:
- snprintf(s, len,
- "Habilitar saída de áudio.");
- break;
- case MENU_ENUM_LABEL_AUDIO_SYNC:
- snprintf(s, len,
- "Sincronizar áudio (recomendado).");
- break;
- case MENU_ENUM_LABEL_AUDIO_LATENCY:
- snprintf(s, len,
- "Latência de áudio desejada, em milissegundos. \n"
- "Pode não ser honrado se o driver de áudio \n"
- "não puder prover a latência desejada.");
- break;
- case MENU_ENUM_LABEL_VIDEO_ALLOW_ROTATE:
- snprintf(s, len,
- "Permitir que os núcleos definam a rotação. \n"
- "Se for falso, pedidos de rotação são honrados, \n"
- "porém ignorados. \n"
- "Útil para configurações onde se rotaciona \n"
- "manualmente a tela.");
- break;
- case MENU_ENUM_LABEL_INPUT_DESCRIPTOR_LABEL_SHOW:
- snprintf(s, len,
- "Exibir os descritores de entrada definidos \n"
- "pelo núcleo em vez dos padrões.");
- break;
- case MENU_ENUM_LABEL_CONTENT_HISTORY_SIZE:
- snprintf(s, len,
- "Número de itens para manter na \n"
- "lista de reprodução recente.");
- break;
- case MENU_ENUM_LABEL_VIDEO_WINDOWED_FULLSCREEN:
- snprintf(s, len,
- "Utilizar ou não o modo janela quando \n"
- "em tela cheia.");
- break;
- case MENU_ENUM_LABEL_VIDEO_FONT_SIZE:
- snprintf(s, len,
- "Tamanho da fonte para mensagens na tela.");
- break;
- case MENU_ENUM_LABEL_SAVESTATE_AUTO_INDEX:
- snprintf(s, len,
- "Automaticamente aumenta o índice de box \n"
- "a cada salvamento, gerando vários arquivos \n"
- "de jogo salvo. \n"
- "Quando o conteúdo for carregado, o box \n"
- "de jogo salvo será o do valor existente \n"
- "mais alto (último jogo salvo).");
- break;
- case MENU_ENUM_LABEL_FPS_SHOW:
- snprintf(s, len,
- "Habilitar a exibição de quadros \n"
- "por segundos.");
- break;
- case MENU_ENUM_LABEL_MEMORY_SHOW:
- snprintf(s, len,
- "Inclui a exibição da memória atual \n"
- "uso/total com FPS/Quadros.");
- break;
- case MENU_ENUM_LABEL_VIDEO_FONT_ENABLE:
- snprintf(s, len,
- "Exibir ou ocultar mensagens na tela.");
- break;
- case MENU_ENUM_LABEL_VIDEO_MESSAGE_POS_X:
- case MENU_ENUM_LABEL_VIDEO_MESSAGE_POS_Y:
- snprintf(s, len,
- "Deslocamento de onde as mensagens \n"
- "serão colocadas na tela. Os valores aceitos \n"
- "são na faixa de [0.0, 1.0].");
- break;
- case MENU_ENUM_LABEL_INPUT_OVERLAY_ENABLE:
- snprintf(s, len,
- "Habilitar ou desabilitar \n"
- "a sobreposição atual.");
- break;
- case MENU_ENUM_LABEL_INPUT_OVERLAY_HIDE_IN_MENU:
- snprintf(s, len,
- "Ocultar a exibição de sobreposição \n"
- "dentro do menu.");
- break;
- case MENU_ENUM_LABEL_INPUT_OVERLAY_SHOW_PHYSICAL_INPUTS:
- snprintf(s, len,
- "Exibir comandos do teclado/controle na \n"
- "sobreposição.");
- break;
- case MENU_ENUM_LABEL_INPUT_OVERLAY_SHOW_PHYSICAL_INPUTS_PORT:
- snprintf(s, len,
- "Seleciona a porta de escuta dos comandos do controle \n"
- "a serem exibidos na sobreposição.");
- break;
- case MENU_ENUM_LABEL_OVERLAY_PRESET:
- snprintf(s, len,
- "Caminho para predefinição de sobreposição.");
- break;
- case MENU_ENUM_LABEL_OVERLAY_OPACITY:
- snprintf(s, len,
- "Opacidade da sobreposição.");
- break;
- case MENU_ENUM_LABEL_VIDEO_LAYOUT_ENABLE:
- snprintf(s, len,
- "Ativar ou desativar o esquema de vídeo atual.");
- break;
- case MENU_ENUM_LABEL_VIDEO_LAYOUT_PATH:
- snprintf(s, len,
- "Caminho para o esquema de vídeo.");
- break;
- case MENU_ENUM_LABEL_VIDEO_LAYOUT_SELECTED_VIEW:
- snprintf(s, len,
- "Os esquemas podem conter várias visualizações. \n"
- "Selecione uma visualização.");
- break;
- case MENU_ENUM_LABEL_INPUT_BIND_TIMEOUT:
- snprintf(s, len,
- "Tempo limite para vínculo de entrada \n"
- "(em segundos). \n"
- "Quantos segundos aguardar até prosseguir \n"
- "para o próximo vínculo.");
- break;
- case MENU_ENUM_LABEL_INPUT_BIND_HOLD:
- snprintf(s, len,
- "Tempo de pressionamento do vínculo de entrada (em segundos). \n"
- "Quantidade de segundos para manter uma entrada para vinculá-la.");
- break;
- case MENU_ENUM_LABEL_OVERLAY_SCALE:
- snprintf(s, len,
- "Escala da sobreposição.");
- break;
- case MENU_ENUM_LABEL_AUDIO_OUTPUT_RATE:
- snprintf(s, len,
- "Taxa de amostragem da saída de áudio.");
- break;
- case MENU_ENUM_LABEL_VIDEO_SHARED_CONTEXT:
- snprintf(s, len,
- "Defina como verdadeiro se os núcleos \n"
- "renderizados por hardware devem ter seu \n"
- "próprio contexto privado. \n"
- "Evita ter que assumir mudanças de \n"
- "estado de hardware entre quadros."
- );
- break;
- case MENU_ENUM_LABEL_CORE_LIST:
- snprintf(s, len,
- "Carregar núcleo. \n"
- " \n"
- "Procurar por uma implementação de núcleo \n"
- "Libretro. Aonde o navegador de arquivos \n"
- "inicia depende do seu caminho \n"
- "Diretório de Núcleo. \n"
- "Se não definido, inicia na raiz. \n"
- " \n"
- "Se Diretório de Núcleo estiver definido, o menu \n"
- "irá utilizar o caminho como local inicial. \n"
- "Se Diretório de Núcleo for um caminho completo, \n"
- "ele irá iniciar na pasta do aonde o arquivo está.");
- break;
- case MENU_ENUM_LABEL_VALUE_MENU_ENUM_CONTROLS_PROLOG:
- snprintf(s, len,
- "Você pode utilizar os seguintes controles \n"
- "abaixo tanto no seu Gamepad quanto no \n"
- "teclado a fim de controlar o menu: \n"
- " \n"
- );
- break;
- case MENU_ENUM_LABEL_WELCOME_TO_RETROARCH:
- snprintf(s, len,
- "Bem-vindo ao RetroArch \n"
- );
- break;
- case MENU_ENUM_LABEL_VALUE_HELP_AUDIO_VIDEO_TROUBLESHOOTING_DESC:
- {
- /* Work around C89 limitations */
- char u[501];
- size_t _len;
- const char *t =
- "O RetroArch utiliza uma forma única de \n"
- "sincronização de áudio/video aonde ele \n"
- "precisa ser calibrado pela taxa de \n"
- "atualização da sua tela para um melhor \n"
- "resultado no desempenho. \n"
- " \n"
- "Se você experimentar qualquer estalido \n"
- "no áudio ou rasgo de vídeo, normalmente \n"
- "isto significa que você precisa calibrar \n"
- "as configurações. Algumas escolhas abaixo: \n"
- " \n";
- snprintf(u, sizeof(u), /* can't inline this due to the printf arguments */
- "a) Vá para '%s' -> '%s', e habilite \n"
- "'Vídeo paralelizado'. A taxa de atualização \n"
- "não irá importar neste modo, a taxa de \n"
- "quadros será maior, mas o vídeo será \n"
- "menos fluído. \n"
- "b) Vá para '%s' -> '%s', e observe \n"
- "'%s'. Deixe executar até \n"
- "2048 quadros, então pressione 'OK'.",
- 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_SETTINGS),
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_SETTINGS),
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_REFRESH_RATE_AUTO));
- _len = strlcpy(s, t, len);
- strlcpy(s + _len, u, len - _len);
- }
- break;
- case MENU_ENUM_LABEL_VALUE_HELP_SCANNING_CONTENT_DESC:
- snprintf(s, len,
- "Para analisar por conteúdo, vá para \n"
- "'%s' e selecione \n"
- "'%s' ou '%s'. \n"
- " \n"
- "Os arquivos serão comparados com as \n"
- "entradas do banco de dados. \n"
- "Se houver uma correspondência, um registro \n"
- "será adicionado à uma lista de reprodução. \n"
- " \n"
- "Você poderá então acessar facilmente este \n"
- "conteúdo indo até \n"
- "'%s' -> '%s'\n"
- "em vez de ter que utilizar o \n"
- "navegador de arquivos todas as vezes.\n"
- " \n"
- "NOTA: Conteúdo para alguns núcleos pode ainda \n"
- "não ser reconhecido.",
- 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_VALUE_EXTRACTING_PLEASE_WAIT:
- snprintf(s, len,
- "Bem-vindo ao RetroArch\n"
- "\n"
- "Extraindo recursos, por favor aguarde. \n"
- "Isso pode levar algum tempo...\n"
- );
- 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"
- "Utiliza a recente API evdev joypad \n"
- "para suporte a Joystick. Suporta \n"
- "hotplugging e force feedback. \n"
- " \n"
- "O driver lê eventos evdev para suporte \n"
- "a teclado. Também suporta keyboard callback, \n"
- "Mouses e Touchpads. \n"
- " \n"
- "Por padrão na maioria das distros, \n"
- "nodes /dev/input são somente root (mode 600). \n"
- "Você pode criar uma regra udev para torná-los \n"
- "acessíveis para não root."
- );
- 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"
- "Este driver requer um TTY ativo. Eventos de \n"
- "teclado são lidos diretamente do TTY o que \n"
- "o torna simples, mas não tão flexível, \n"
- "quanto udev. \n"
- "Mouses, etc, não são suportados de nenhum \n"
- "modo. \n"
- " \n"
- "Este driver utiliza a antiga API de Joystick \n"
- "(/dev/input/js*).");
- else
- snprintf(s, len,
- "Driver de entrada.\n"
- " \n"
- "Dependendo do driver de vídeo, pode \n"
- "forçar um driver de entrada diferente.");
- }
- break;
- case MENU_ENUM_LABEL_LOAD_CONTENT_LIST:
- snprintf(s, len,
- "Carregar Conteúdo. \n"
- "Navegar por conteúdo. \n"
- " \n"
- "Para carregar conteúdo, você precisa de \n"
- "um 'Núcleo' para utilizar, e um arquivo \n"
- "de conteúdo."
- " \n"
- "Para controlar aonde o menu inicia \n"
- "a procura pelo conteúdo, configure \n"
- "'Diretório do Navegador de Arquivos'. \n"
- "Se não estiver configurado, ele irá \n"
- "iniciar na raiz. \n"
- " \n"
- "O navegador irá filtrar as \n"
- "extensões para o último núcleo definido \n"
- "em 'Carregar Núcleo', o qual será utilizado \n"
- "quando o conteúdo for carregado."
- );
- break;
- case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY:
- snprintf(s, len,
- "Carregando conteúdo do histórico. \n"
- " \n"
- "Ao carregar conteúdo, combinações de núcleo \n"
- "Libretro e conteúdo 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 do \n"
- "RetroArch. \n"
- "Se nenhum arquivo de configuração foi \n"
- "carregado na inicialização, o histórico \n"
- "não será salvo ou carregado, e não irá \n"
- "existir no menu principal."
- );
- break;
- case MENU_ENUM_LABEL_VIDEO_DRIVER:
- {
- const char *video_driver = settings->arrays.video_driver;
-
- snprintf(s, len,
- "Driver de vídeo atual.");
-
- if (string_is_equal(video_driver, "gl"))
- {
- snprintf(s, len,
- "Driver de vídeo OpenGL. \n"
- " \n"
- "Este driver permite utilizar núcleos \n"
- "Libretro GL, além de implementações \n"
- "de núcleo renderizados por software.\n"
- " \n"
- "O desempenho de implementações de núcleo \n"
- "Libretro GL ou renderizados por software \n"
- "é dependente do driver GL de sua placa de vídeo.");
- }
- else if (string_is_equal(video_driver, "sdl2"))
- {
- snprintf(s, len,
- "Driver de vídeo SDL 2.\n"
- " \n"
- "Este é um driver de vídeo SDL 2 renderizado \n"
- "por software.\n"
- " \n"
- "O desempenho para implementações de núcleo \n"
- "libretro renderizados por software é dependente \n"
- "da implementação SDL da sua plataforma.");
- }
- else if (string_is_equal(video_driver, "sdl1"))
- {
- snprintf(s, len,
- "Driver de vídeo SDL. \n"
- " \n"
- "Este é um driver de vídeo SDL 1.2 renderizado \n"
- "por software.\n"
- " \n"
- "O desempenho é considerado medíocre. \n"
- "Cosidere utilizar apenas como último recurso.");
- }
- else if (string_is_equal(video_driver, "d3d"))
- {
- snprintf(s, len,
- "Driver de vídeo Direct3D. \n"
- " \n"
- "O desempenho de núcleos renderizados por \n"
- "software depende do driver D3D de base da\n"
- "sua placa de vídeo).");
- }
- else if (string_is_equal(video_driver, "exynos"))
- {
- snprintf(s, len,
- "Driver de vídeo Exynos-G2D. \n"
- " \n"
- "Este é um driver de vídeo Exynos de baixo-nível. \n"
- "Utiliza o bloco G2D em SoCs Samsung Exynos \n"
- "para operações blit. \n"
- " \n"
- "O desempenho de núcleos renderizados por \n"
- "por hardware deve ser ótimo.");
- }
- else if (string_is_equal(video_driver, "drm"))
- {
- snprintf(s, len,
- "Driver de vídeo Plain DRM. \n"
- " \n"
- "Este é um driver de vídeo de baixo-nível \n"
- "usando libdrm para escala por hardware \n"
- "utilizando sobreposições de GPU.");
- }
- else if (string_is_equal(video_driver, "sunxi"))
- {
- snprintf(s, len,
- "Driver de vídeo Sunxi-G2D. \n"
- " \n"
- "Este é um driver de vídeo Sunxi de baixo-nível. \n"
- "Utiliza o bloco G2D de SoCs Allwinner.");
- }
- }
- break;
- case MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN:
- snprintf(s, len,
- "Plugin DSP de áudio. \n"
- "Processa o áudio antes que seja \n"
- "enviado para o 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 SINC em janelas.", len);
- else if (string_is_equal(lbl, msg_hash_to_str(
- MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER_CC)))
- strlcpy(s,
- "Implementação de cossenos complicados.", len);
- else if (string_is_empty(s))
- strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
- }
- break;
-
- case MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION: snprintf(s, len, "DEFINIR CRT");
- break;
-
- case MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION_SUPER: snprintf(s, len, "DEFINIR CRT SUPER");
- break;
-
- case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET:
- snprintf(s, len,
- "Carregar predefinição de shader. \n"
- " \n"
- "Carregar uma predefinição de shader \n"
- "diretamente."
- "O menu de shader é atualizado adequadamente. \n"
- " \n"
- "Se o CGP usa métodos de escala que não sejam \n"
- "simples, (e.x. escala da origem, mesmo fator de \n"
- "escala para X/Y), o fator de escala exibido \n"
- "no menu pode não estar correto."
- );
- break;
- case MENU_ENUM_LABEL_VIDEO_SHADER_SCALE_PASS:
- snprintf(s, len,
- "Escala para este estágio. \n"
- " \n"
- "O fator de escala acumula, e.x. 2x para o \n"
- "primeiro estágio e 2x para o segundo \n"
- "estágio resulta numa escala total de 4x. \n"
- " \n"
- "Se houver um fator de escala para o último \n"
- "estágio, o resultado é alongado na \n"
- "tela com o filtro especificado em \n"
- "'Filtro Padrão'. \n"
- " \n"
- "Se 'Não Importa' estiver definido, escala \n"
- "de 1x ou alongar para tela cheia será \n"
- "utilizado dependendo se é o último estágio \n"
- "ou não."
- );
- break;
- case MENU_ENUM_LABEL_VIDEO_SHADER_NUM_PASSES:
- snprintf(s, len,
- "Estágios de shader. \n"
- " \n"
- "O RetroArch permite a você misturar e \n"
- "combinar vários shaders com um número \n"
- "arbitrário de estágios de shader, \n"
- "com filtros de hardware personalizados \n"
- "e fatores de escala.\n"
- " \n"
- "Esta opção especifica o número de estágios \n"
- "de shader a ser utilizado. Se você definir \n"
- "isto como 0, e utilizar Aplicar Alterações \n"
- "de shader, você irá utilizar um shader \n"
- "'em branco'."
- " \n"
- "A opção Filtro Padrão terá efeito no \n"
- "filtro de alongamento.");
- break;
- case MENU_ENUM_LABEL_VIDEO_SHADER_PARAMETERS:
- snprintf(s, len,
- "Parâmetros de shader. \n"
- " \n"
- "Modifica diretamente o shader atual. \n"
- "Ele não será salvo no arquivo de \n"
- "predefinição CGP/GLSLP.");
- break;
- case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_PARAMETERS:
- snprintf(s, len,
- "Parâmetros de Predefinição de shader. \n"
- " \n"
- "Modifica a predefinição de shader \n"
- "atualmente usada no menu."
- );
- break;
- case MENU_ENUM_LABEL_VIDEO_SHADER_PASS:
- snprintf(s, len,
- "Caminho para o shader. \n"
- " \n"
- "Todos os shaders devem ser do mesmo \n"
- "tipo (e.x. CG, GLSL ou HLSL). \n"
- " \n"
- "Defina o Diretório de shaders para estipular \n"
- "onde o navegador de arquivos começa a busca \n"
- "pelos shaders."
- );
- break;
- case MENU_ENUM_LABEL_CONFIGURATION_SETTINGS:
- snprintf(s, len,
- "Determina como arquivos de configuração \n"
- "são carregados e priorizados.");
- break;
- case MENU_ENUM_LABEL_CONFIG_SAVE_ON_EXIT:
- snprintf(s, len,
- "Salvar configuração em disco ao sair. \n"
- "Útil para o menu, já que as configurações \n"
- "podem ser modificadas. \n"
- "Sobrescreve a configuração. \n"
- " \n"
- "#inclusões e comentários não são \n"
- "preservados. \n"
- " \n"
- "Por design, o arquivo de configuração é \n"
- "considerado imutável já que é \n"
- "provavelmente mantido pelo usuário, \n"
- "e não deve ser sobrescrito \n"
- "por trás das costas dele."
-#if defined(RARCH_CONSOLE) || defined(RARCH_MOBILE)
- "\nContudo, este não é o caso em \n"
- "consoles, onde olhar o arquivo \n"
- "de configuração manualmente \n"
- "não é realmente uma opção."
-#endif
- );
- break;
- case MENU_ENUM_LABEL_CONFIRM_ON_EXIT:
- snprintf(s, len, "Tem certeza que deseja sair?");
- break;
- case MENU_ENUM_LABEL_SHOW_HIDDEN_FILES:
- snprintf(s, len, "Exibir arquivos e \n"
- "pastas ocultos.");
- break;
- case MENU_ENUM_LABEL_VIDEO_SHADER_FILTER_PASS:
- snprintf(s, len,
- "Filtro de hardware para esse estágio. \n"
- " \n"
- "Se 'Não importa' estiver definido, \n"
- "'Filtro padrão' será utilizado."
- );
- break;
- case MENU_ENUM_LABEL_AUTOSAVE_INTERVAL:
- snprintf(s, len,
- "Salva automaticamente a SRAM \n"
- "não volátil em um intervalo regular. \n"
- " \n"
- "Isso é desativado por padrão a menos \n"
- "que seja definido de outra forma. \n"
- "O intervalo é medido em segundos. \n"
- " \n"
- "O valor 0 desativa o salvamento automático.");
- break;
- case MENU_ENUM_LABEL_INPUT_BIND_DEVICE_TYPE:
- snprintf(s, len,
- "Tipo de dispositivo de entrada. \n"
- " \n"
- "Escolhe qual tipo de dispositivo utilizar. \n"
- "Isto é relevante para o núcleo Libretro."
- );
- break;
- case MENU_ENUM_LABEL_LIBRETRO_LOG_LEVEL:
- snprintf(s, len,
- "Define o nível de registro de eventos dos \n"
- "núcleos Libretro. (GET_LOG_INTERFACE) \n"
- " \n"
- " Se o nível do registro de evento emitido \n"
- " pelo núcleo Libretro for abaixo do nível \n"
- " libretro_log, ele é ignorado.\n"
- " \n"
- " Registros DEBUG são sempre ignorados a menos \n"
- " que o modo verboso esteja 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,
- "Compartimento de jogo salvo.\n"
- " \n"
- "Com o compartimento definido em 0, o nome do \n"
- "jogo salvo é *.state \n"
- "(ou a definição da linha de comando) \n"
- "Quando o compartimento não for 0, o caminho será \n"
- "(caminho)(n), onde (n) é o número do box.");
- break;
- case MENU_ENUM_LABEL_SHADER_APPLY_CHANGES:
- snprintf(s, len,
- "Aplicar alterações de shader. \n"
- " \n"
- "Após alterar as configurações de shader, \n"
- "utilize essa opção para aplicar as alterações. \n"
- " \n"
- "Alterar as configurações de shader é uma \n"
- "operação relativamente trabalhosa, então \n"
- "deve ser feita de modo explícito. \n"
- " \n"
- "Ao aplicar os shaders, as configurações de \n"
- "shader do menu são salvas em um dos arquivos \n"
- "temporários (menu.cgp ou menu.glslp) \n"
- "e carregadas. \n"
- "O arquivo permanece salvo no Diretório \n"
- "de shaders após o RetroArch encerrar."
- );
- break;
- case MENU_ENUM_LABEL_SHADER_WATCH_FOR_CHANGES:
- snprintf(s, len,
- "Ver arquivos de shader para mudanças. \n"
- " \n"
- "Depois de salvar as alterações em um shader no disco, \n"
- "ele será automaticamente recompilado \n"
- "e aplicado ao conteúdo em execução."
- );
- break;
- case MENU_ENUM_LABEL_MENU_TOGGLE:
- snprintf(s, len,
- "Alternar o menu.");
- break;
- case MENU_ENUM_LABEL_GRAB_MOUSE_TOGGLE:
- snprintf(s, len,
- "Alternar captura do mouse.\n"
- " \n"
- "Quando o mouse é capturado, o RetroArch oculta \n"
- "o cursor do mouse, e mantém o mouse dentro \n"
- "da janela para permitir que a entrada de Mouse \n"
- "relativa funcione melhor.");
- break;
- case MENU_ENUM_LABEL_GAME_FOCUS_TOGGLE:
- snprintf(s, len,
- "Alternar o foco do jogo.\n"
- " \n"
- "Quando um jogo tem foco, o RetroArch irá \n"
- "desabilitar as teclas de atalho e manter \n"
- "o cursor do mouse dentro da janela.");
- break;
- case MENU_ENUM_LABEL_DISK_NEXT:
- snprintf(s, len,
- "Alternar pelas imagens de disco. Utilizado \n"
- "após a ejeção. \n"
- " \n"
- "Concluído após alternar novamente a ejeção.");
- break;
- case MENU_ENUM_LABEL_VIDEO_FILTER:
-#ifdef HAVE_FILTERS_BUILTIN
- snprintf(s, len,
- "Filtro de vídeo por CPU.");
-#else
- snprintf(s, len,
- "Filtro de vídeo por CPU.\n"
- " \n"
- "Caminho para uma biblioteca dinâmica.");
-#endif
- break;
- case MENU_ENUM_LABEL_AUDIO_DEVICE:
- snprintf(s, len,
- "Substitui o dispositivo de áudio padrão \n"
- "utilizado pelo driver de áudio. \n"
- "Isto depende do driver. \n"
-#ifdef HAVE_ALSA
- " \n"
- "ALSA quer um dispositivo PCM."
-#endif
-#ifdef HAVE_OSS
- " \n"
- "OSS quer um caminho (ex: /dev/dsp)."
-#endif
-#ifdef HAVE_JACK
- " \n"
- "JACK quer nomes de porta (ex: system:playback1 \n"
- ",system:playback_2)."
-#endif
-#ifdef HAVE_RSOUND
- " \n"
- "RSound quer um endereço IP para um \n"
- "servidor RSound."
-#endif
- );
- break;
- case MENU_ENUM_LABEL_DISK_EJECT_TOGGLE:
- snprintf(s, len,
- "Alternar ejeção de disco.\n"
- " \n"
- "Usado para conteúdo em vários discos.");
- break;
- case MENU_ENUM_LABEL_ENABLE_HOTKEY:
- snprintf(s, len,
- "Habilitar outras teclas de atalho. \n"
- " \n"
- "Se essa tecla de atalho estiver vinculada \n"
- "ao teclado ou botão / eixo de joypad, todas \n"
- "as outras teclas de atalho serão desabilitadas \n"
- "a menos que essa tecla de atalho também esteja \n"
- "pressionada ao mesmo tempo. \n"
- " \n"
- "Isso é útil para implementações com foco \n"
- "RETRO_KEYBOARD que consultam uma grande \n"
- "parte do teclado, quando não é desejável \n"
- "que as teclas de atalho atrapalhem.");
- break;
- case MENU_ENUM_LABEL_REWIND_ENABLE:
- snprintf(s, len,
- "Habilitar rebobinamento. \n"
- " \n"
- "Causa impacto no desempenho, por \n"
- "isso vem desabilitado por padrão.");
- break;
- case MENU_ENUM_LABEL_CHEAT_APPLY_AFTER_TOGGLE:
- snprintf(s, len,
- "Aplicar trapaça imediatamente após a alternância.");
- break;
- case MENU_ENUM_LABEL_CHEAT_APPLY_AFTER_LOAD:
- snprintf(s, len,
- "Aplicar trapaças automaticamente quando o jogo for carregado.");
- break;
- case MENU_ENUM_LABEL_LIBRETRO_DIR_PATH:
- snprintf(s, len,
- "Diretório de núcleo. \n"
- " \n"
- "Um diretório aonde buscar por \n"
- "implementações de núcleo Libretro.");
- break;
- case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_AUTO:
- snprintf(s, len,
- "Taxa de atualização automática.\n"
- " \n"
- "A precisa taxa de atualização do monitor (Hz). \n"
- "É usado para calcular a taxa de entrada de áudio \n"
- "com a fórmula: \n"
- " \n"
- "taxa_ent_áudio = taxa de ent. do jogo * \n"
- "taxa de atualiz. / taxa de atualiz. do jogo \n"
- " \n"
- "Se a implementação não reportar um valor, o padrão \n"
- "NTSC será usado para garantir compatibilidade\n"
- " \n"
- "O valor deve ficar próximo a 60 Hz para evitar grandes \n"
- "alterações de tom. Se o seu monitor não rodar a 60Hz, \n"
- "desabilite o VSync e deixe o padrão.");
- break;
- case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_POLLED:
- snprintf(s, len,
- "Definir taxa de atualização encontrada\n"
- " \n"
- "Define a taxa de atualização para o valor\n"
- "real pesquisado no driver de vídeo.");
- break;
- case MENU_ENUM_LABEL_VIDEO_ROTATION:
- snprintf(s, len,
- "Forçar uma rotação específica \n"
- "da tela. \n"
- " \n"
- "A rotação é adicionada a rotação que o \n"
- "núcleo Libretro define (consulte Permitir \n"
- "Rotação).");
- break;
- case MENU_ENUM_LABEL_VIDEO_SCALE:
- snprintf(s, len,
- "Resolução em tela cheia.\n"
- " \n"
- "Resolução definida para 0 \n"
- "usa a resolução 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 quando utilizado o Avanço Rápido. \n"
- " \n"
- "(ex: 5.0x para conteúdos em 60fps = 300 \n"
- "fps máx). \n"
- " \n"
- "O RetroArch entra em 'sleep' para garantir \n"
- "que a taxa máxima não seja excedida. \n"
- "Não confie na precisão dessa limitação..");
- break;
- case MENU_ENUM_LABEL_VRR_RUNLOOP_ENABLE:
- snprintf(s, len,
- "Sincronizar com a taxa de quadros exata do conteúdo.\n"
- " \n"
- "Esta opção é o equivalente de forçar a velocidade x1\n"
- "enquanto ainda permite o avanço rápido.\n"
- "Sem desvio da taxa de atualização solicitada pelo núcleo\n"
- "e sem Controle de Taxa Dinâmica do som).");
- break;
- case MENU_ENUM_LABEL_VIDEO_MONITOR_INDEX:
- snprintf(s, len,
- "Dar preferência a qual monitor. \n"
- " \n"
- "0 (padrão) significa que nenhum é preferido \n"
- "em particular, 1 e acima disso (1 sendo \n"
- "o primeiro monitor), sugere ao RetroArch \n"
- "para usar aquele monitor em especial.");
- break;
- case MENU_ENUM_LABEL_VIDEO_CROP_OVERSCAN:
- snprintf(s, len,
- "Forçar o recorte de quadros em \n"
- "overscan. \n"
- " \n"
- "O comportamento exato desta opção \n"
- "é específico da implementação do núcleo.");
- break;
- case MENU_ENUM_LABEL_VIDEO_SCALE_INTEGER:
- snprintf(s, len,
- "Apenas dimensiona o vídeo em valores \n"
- "inteiros.\n"
- " \n"
- "O tamanho de base depende da geometria \n"
- "relatada pelo sistema e da proporção de tela.\n"
- " \n"
- "Se a função 'Forçar proporção' não estiver \n"
- "definida, X / Y serão dimensionados em \n"
- "valores inteiros independentemente.");
- break;
- case MENU_ENUM_LABEL_AUDIO_VOLUME:
- snprintf(s, len,
- "Volume de áudio, expresso em dB.\n"
- " \n"
- "0dB é volume normal, nenhum ganho é aplicado. \n"
- "O ganho pode ser controlado na execução com \n"
- "as teclas de controle de volume.");
- break;
- case MENU_ENUM_LABEL_AUDIO_RATE_CONTROL_DELTA:
- snprintf(s, len,
- "Controle dinâmico de taxa de áudio. \n"
- " \n"
- "Definido para 0 desativa o controle de taxa. \n"
- "Qualquer outro valor controla o delta \n"
- "do ajuste de taxa.\n"
- " \n"
- "Define o quanto a taxa de entrada pode ser \n"
- "ajustada dinamicamente. \n"
- " \n"
- " A taxa de entrada é definida como: \n"
- "taxa de ent * (1.0 +/- (delta ajus de taxa))");
- break;
- case MENU_ENUM_LABEL_AUDIO_MAX_TIMING_SKEW:
- snprintf(s, len,
- "Desvio máximo de tempo de áudio. \n"
- " \n"
- "Define a mudança máxima na taxa de saída \n"
- "de áudio. Se aumentado habilita grandes \n"
- "mudanças no sincronismo ao custo de \n"
- "imprecisão na tonalidade de áudio \n"
- "(ex: rodando núcleos PAL em modo NTSC). \n"
- " \n"
- "A taxa de entrada é definida como: \n"
- "taxa de ent * (1.0 +/- (desv máx de tempo))");
- break;
- case MENU_ENUM_LABEL_OVERLAY_NEXT:
- snprintf(s, len,
- "Mudar para a próxima sobreposição.\n"
- " \n"
- "Circula pela opções.");
- break;
- case MENU_ENUM_LABEL_LOG_VERBOSITY:
- snprintf(s, len,
- "Habilitar ou desabilitar o nível \n"
- "de verbosidade da interface.");
- break;
- case MENU_ENUM_LABEL_VOLUME_UP:
- snprintf(s, len,
- "Aumentar o volume de áudio.");
- break;
- case MENU_ENUM_LABEL_VOLUME_DOWN:
- snprintf(s, len,
- "Diminuir o volume de áudio.");
- break;
- case MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION:
- snprintf(s, len,
- "Desligar a composição a força. \n"
- "Válido somente no Windows Vista/7 por enquanto.");
- break;
- case MENU_ENUM_LABEL_PERFCNT_ENABLE:
- snprintf(s, len,
- "Habilitar ou desabilitar os contadores \n"
- "de desempenho da interface.");
- break;
- case MENU_ENUM_LABEL_SYSTEM_DIRECTORY:
- snprintf(s, len,
- "Diretório de sistema. \n"
- " \n"
- "Define o diretório de 'sistema'. \n"
- "Os núcleos podem consultar este \n"
- "diretório para carregar arquivos de BIOS, \n"
- "configurações específicas do sistema, etc.");
- break;
- case MENU_ENUM_LABEL_SAVESTATE_AUTO_SAVE:
- case MENU_ENUM_LABEL_SAVESTATE_AUTO_LOAD:
- snprintf(s, len,
- "Cria automaticamente um jogo salvo \n"
- "no final da execução do RetroArch. \n"
- " \n"
- "O RetroArch irá carregar automaticamente \n"
- "qualquer jogo salvo com esse caminho \n"
- "na inicialização se a função \n"
- "'Carregar automaticamente jogo salvo' \n"
- "estiver habilitada.");
- break;
- case MENU_ENUM_LABEL_VIDEO_THREADED:
- snprintf(s, len,
- "Usar vídeo paralelizado. \n"
- " \n"
- "Utilizar esta função pode melhorar o \n"
- "desempenho ao custo de latência e mais \n"
- "engasgamento de vídeo.");
- break;
- case MENU_ENUM_LABEL_VIDEO_VSYNC:
- snprintf(s, len,
- "V-Sync de vídeo.\n");
- break;
- case MENU_ENUM_LABEL_VIDEO_HARD_SYNC:
- snprintf(s, len,
- "Tentar a sincronia rígida entre \n"
- "CPU e GPU. \n"
- " \n"
- "Reduz a latência ao custo de \n"
- "desempenho.");
- break;
- case MENU_ENUM_LABEL_REWIND_GRANULARITY:
- snprintf(s, len,
- "Níveis do rebobinamento.\n"
- " \n"
- " Ao rebobinar o número definido de quadros, \n"
- "você pode rebobinar vários quadros por vez, \n"
- "aumentando a velocidade de rebobinamento.");
- break;
- case MENU_ENUM_LABEL_REWIND_BUFFER_SIZE:
- snprintf(s, len,
- "Tamanho do buffer do rebobinamento (MB).\n"
- " \n"
- " A quantidade de memória em MB a ser reservada \n"
- "para rebobinamento. Aumentar este valor aumenta \n"
- "o comprimento do histórico de rebobinagem.\n");
- break;
- case MENU_ENUM_LABEL_REWIND_BUFFER_SIZE_STEP:
- snprintf(s, len,
- "Tamanho do intervalo de ajuste do buffer (MB).\n"
- " \n"
- " Cada vez que você aumentar ou diminuir o valor do \n"
- "tamanho do buffer de rebobinamento por meio \n"
- "dessa interface, ele será alterado por esse valor.\n");
- break;
- case MENU_ENUM_LABEL_SCREENSHOT:
- snprintf(s, len,
- "Capturar tela.");
- break;
- case MENU_ENUM_LABEL_VIDEO_FRAME_DELAY:
- snprintf(s, len,
- "Define quantos milissegundos atrasar \n"
- "após o V-Sync antes de rodar o núcleo. \n"
- "\n"
- "Reduz a latência ao custo de maior \n"
- "risco de engasgamento de vídeo. \n"
- " \n"
- "O máximo é 15.");
- break;
- case MENU_ENUM_LABEL_VIDEO_SHADER_DELAY:
- snprintf(s, len,
- "Define por quantos milissegundos o carregamento automático\n"
- "de shaders será atrasado.\n"
- "\n"
- "Pode solucionar problemas gráficos devido ao uso de \n"
- "software de 'captura de tela', como software de streaming.");
- break;
- case MENU_ENUM_LABEL_VIDEO_HARD_SYNC_FRAMES:
- snprintf(s, len,
- "Define quantos quadros a CPU pode rodar \n"
- "à frente da GPU quando utilizando o \n"
- "recurso 'Sincronização Rígida de GPU'. \n"
- " \n"
- "O máximo é 3. \n"
- " \n"
- " 0: Sincroniza na GPU imediatamente. \n"
- " 1: Sincroniza no quadro anterior. \n"
- " 2: Etc...");
- break;
- case MENU_ENUM_LABEL_VIDEO_BLACK_FRAME_INSERTION:
- snprintf(s, len,
- "Inserir um quadro opaco entre quadros.\n"
- " \n"
- "Útil para usuários com telas de 120Hz que \n"
- "desejam jogar conteúdos em 60Hz \n"
- "para eliminar efeito de sombra. \n"
- " \n"
- "A taxa de atualização de vídeo ainda deve \n"
- "ser configurada como se fosse uma tela de \n"
- "60Hz (dividir a taxa de atualização por 2).");
- break;
- case MENU_ENUM_LABEL_RGUI_SHOW_START_SCREEN:
- snprintf(s, len,
- "Exibir a tela inicial no menu.\n"
- "É automaticamente definido como falso após \n"
- "o programa iniciar pela primeira vez. \n"
- " \n"
- "Somente é atualizado no arquivo de \n"
- "configuração se 'Salvar Configuração ao Sair' \n"
- "estiver habilitado.");
- break;
- case MENU_ENUM_LABEL_VIDEO_FULLSCREEN:
- snprintf(s, len, "Alternar tela cheia.");
- break;
- case MENU_ENUM_LABEL_BLOCK_SRAM_OVERWRITE:
- snprintf(s, len,
- "Bloqueia a SRAM de ser sobrescrita \n"
- "ao carregar um jogo salvo. \n"
- " \n"
- "Pode causar problemas no jogo.");
- break;
- case MENU_ENUM_LABEL_PAUSE_NONACTIVE:
- snprintf(s, len,
- "Pausar o jogo quando o foco da janela \n"
- "for perdido.");
- break;
- case MENU_ENUM_LABEL_VIDEO_GPU_SCREENSHOT:
- snprintf(s, len,
- "Capturas de tela com shader \n"
- "de GPU, se disponível.");
- break;
- case MENU_ENUM_LABEL_SCREENSHOT_DIRECTORY:
- snprintf(s, len,
- "Diretório de Capturas de Tela. \n"
- " \n"
- "Diretório para armazenar as capturas de tela."
- );
- break;
- case MENU_ENUM_LABEL_VIDEO_SWAP_INTERVAL:
- snprintf(s, len,
- "Intervalo de troca da sincronia vertical \n"
- "(V-Sync). \n"
- " \n"
- "Usa um intervalo de troca personalizado \n"
- "para V-Sync. Defina para reduzir \n"
- "efetivamente a taxa de atualização \n"
- "do monitor pela metade.");
- break;
- case MENU_ENUM_LABEL_SAVEFILE_DIRECTORY:
- snprintf(s, len,
- "Diretório de dados da memória do jogo. \n"
- " \n"
- "Salvar todos os dados da memória do jogo (*.srm) \n"
- "neste diretório. Isso inclui arquivos \n"
- "relacionados, como .rt, .psrm, etc... \n"
- " \n"
- "Será substituído por opções definidas \n"
- "explicitamente na linha de comando.");
- break;
- case MENU_ENUM_LABEL_SAVESTATE_DIRECTORY:
- snprintf(s, len,
- "Diretório de jogos salvos. \n"
- " \n"
- "Salvar todos os jogos salvos \n"
- "(*.state) neste diretório. \n"
- " \n"
- "Será substituído por opções definidas \n"
- "explicitamente na linha de comando.");
- break;
- case MENU_ENUM_LABEL_ASSETS_DIRECTORY:
- snprintf(s, len,
- "Diretório de recursos. \n"
- " \n"
- "Esta localização é consultada por padrão \n"
- "quando a interface do menu tenta procurar \n"
- "por recursos carregáveis, etc.");
- break;
- case MENU_ENUM_LABEL_DYNAMIC_WALLPAPERS_DIRECTORY:
- snprintf(s, len,
- "Diretório de planos de fundo dinâmicos. \n"
- " \n"
- "O local para armazenar planos de fundo \n"
- "dinamicamente carregados pelo menu \n"
- "dependendo do contexto.");
- break;
- case MENU_ENUM_LABEL_SLOWMOTION_RATIO:
- snprintf(s, len,
- "Taxa de câmera lenta."
- " \n"
- "Quando está em Câmera Lenta, o conteúdo será \n"
- "diminuído pelo fator especificado/definido.");
- break;
- case MENU_ENUM_LABEL_INPUT_BUTTON_AXIS_THRESHOLD:
- snprintf(s, len,
- "Define a zona morta do controle analógico. \n"
- " \n"
- "Até que ponto um eixo deve ser \n"
- "movido para resultar em um botão pressionado. \n"
- "Os valores aceitos são entre [0.0, 1.0].");
- break;
- case MENU_ENUM_LABEL_INPUT_TURBO_PERIOD:
- snprintf(s, len,
- "Período do turbo.\n"
- " \n"
- "Descreve o período quando os botões \n"
- "com turbo habilitado são alternados. \n"
- " \n"
- "Os números são descritos em quadros."
- );
- break;
- case MENU_ENUM_LABEL_INPUT_TURBO_MODE:
- snprintf(s, len,
- "Modo turbo.\n"
- " \n"
- "Seleciona o comportamento geral do modo turbo."
- );
- break;
- case MENU_ENUM_LABEL_INPUT_TURBO_DEFAULT_BUTTON:
- snprintf(s, len,
- "Botão padrão de turbo.\n"
- " \n"
- "O botão individual para o modo turbo.\n"
- );
- break;
- case MENU_ENUM_LABEL_INPUT_DUTY_CYCLE:
- snprintf(s, len,
- "Ciclo de trabalho.\n"
- " \n"
- "Descreve quão longo deve ser o período \n"
- "de um botão com turbo habilitado. \n"
- " \n"
- "Os números são descritos em quadros."
- );
- break;
- case MENU_ENUM_LABEL_INPUT_TOUCH_ENABLE:
- snprintf(s, len, "Habilitar suporte a toque.");
- break;
- case MENU_ENUM_LABEL_INPUT_PREFER_FRONT_TOUCH:
- snprintf(s, len, "Usar toque frontal ao invés de traseiro.");
- break;
- case MENU_ENUM_LABEL_MOUSE_ENABLE:
- snprintf(s, len, "Habilitar controle do menu por Mouse.");
- break;
- case MENU_ENUM_LABEL_POINTER_ENABLE:
- snprintf(s, len, "Habilitar controle do menu por toque.");
- break;
- case MENU_ENUM_LABEL_MENU_WALLPAPER:
- snprintf(s, len,
- "Selecionar uma imagem para definir como \n"
- "plano de fundo.");
- break;
- case MENU_ENUM_LABEL_NAVIGATION_WRAPAROUND:
- snprintf(s, len,
- "Voltar ao início e/ou final \n"
- "se o limite da lista for alcançado \n"
- "horizontalmente ou verticalmente.");
- break;
- case MENU_ENUM_LABEL_PAUSE_LIBRETRO:
- snprintf(s, len,
- "Se desativado, o jogo continuará sendo \n"
- "executado em segundo plano quando o \n"
- "menu estiver ativo.");
- break;
- case MENU_ENUM_LABEL_SUSPEND_SCREENSAVER_ENABLE:
- snprintf(s, len,
- "Desativar o protetor de tela. É uma sugestão \n"
- "que não precisa necessariamente ser \n"
- "honrada pelo driver de vídeo.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_MODE:
- snprintf(s, len,
- "Modo cliente do jogo em rede para o usuário atual. \n"
- "Será modo 'Servidor' se estiver desabilitado.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_DELAY_FRAMES:
- snprintf(s, len,
- "A quantidade de atraso de quadros para \n"
- "utilizar no jogo em rede. \n"
- " \n"
- "Aumentar este valor irá aumentar o \n"
- "desempenho, mas introduz mais latência.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_PUBLIC_ANNOUNCE:
- snprintf(s, len,
- "Define se os jogos de jogo em rede são anunciados \n"
- "publicamente. \n"
- " \n"
- "Se definido como falso, os clientes \n"
- "deverão conectar manualmente em vez \n"
- "de usar o lobby público.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_START_AS_SPECTATOR:
- snprintf(s, len,
- "Define se o jogo em rede deve iniciar em \n"
- "modo espectador. \n"
- " \n"
- "Se definido como verdadeiro, o jogo em rede estará \n"
- "em modo espectador no começo. Sempre é possível \n"
- "alterar o modo mais tarde.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_ALLOW_SLAVES:
- snprintf(s, len,
- "Define se conexões em modo escravo são \n"
- "permitidas. \n"
- " \n"
- "Clientes em modo escravo requerem muito pouco \n"
- "poder de processamento em ambos os lados, mas \n"
- "irão sofrer significativamente da latência de rede.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_REQUIRE_SLAVES:
- snprintf(s, len,
- "Define se conexões que não estão \n"
- "em modo escravo são proibidas. \n"
- " \n"
- "Não recomendado, exceto para redes muito \n"
- "rápidas com máquinas muito lentas. \n");
- break;
- case MENU_ENUM_LABEL_NETPLAY_CHECK_FRAMES:
- snprintf(s, len,
- "Frequência em quadros na qual o jogo em rede \n"
- "irá verificar se o anfitrião e o cliente \n"
- "estão sincronizados. \n"
- " \n"
- "Na maioria dos núcleos, este valor não terá efeito \n"
- "e pode ser ignorado. Com núcleos não determinísticos, \n"
- "este valor define a frequência com que os pares\n"
- "serão sincronizados. Em núcleos defeituosos, valores \n"
- "diferentes de zero irão causar problemas de desempenho \n"
- "Defina como zero para desativar verificações\n"
- "Este valor só é usado no anfitrião do jogo em rede. \n");
- break;
- case MENU_ENUM_LABEL_NETPLAY_INPUT_LATENCY_FRAMES_MIN:
- snprintf(s, len,
- "O número de quadros de latência de entrada \n"
- "que pode ser usado pelo jogo em rede para \n"
- "mascarar a latência de rede. \n"
- " \n"
- "Quando usando jogo em rede, esta opção atrasa a \n"
- "entrada local, de modo que o quadro em \n"
- "execução fique mais próximo do quadro \n"
- "recebido pela rede. Isso reduz a oscilação \n"
- "e torna o jogo em rede menos intenso para a CPU, \n"
- "mas ao custo de atraso perceptível na entrada. \n");
- break;
- case MENU_ENUM_LABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE:
- snprintf(s, len,
- "O intervalo de quadros de latência \n"
- "de entrada que pode ser usado pelo jogo em rede \n"
- "para mascarar a latência da rede. \n"
- "\n"
- "Se habilitado, o jogo em rede irá ajustar o número \n"
- "de quadros de latência de entrada \n"
- "dinamicamente para balancear tempo de CPU, \n"
- "latência de entrada e latência de rede. Isso \n"
- "reduz a oscilação e torna o jogo em rede menos intensivo \n"
- "para a CPU, mas ao custo de atraso imprevisível \n"
- "na entrada.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_NAT_TRAVERSAL:
- snprintf(s, len,
- "Quando hospedando, tentar escutar por \n"
- "conexões da internet pública usando UPnP \n"
- "ou tecnologias similares para escapar de LANs. \n");
- break;
- case MENU_ENUM_LABEL_NETPLAY_USE_MITM_SERVER:
- snprintf(s, len,
- "Quando hospedando, transmitir a conexão \n"
- "através de um servidor 'homem no meio' \n"
- "para contornar problemas de firewall \n"
- "ou NAT/UPnP. \n");
- break;
- case MENU_ENUM_LABEL_NETPLAY_MITM_SERVER:
- snprintf(s, len,
- "Especifica o servidor homem no meio \n"
- "para usar no jogo em rede. Um servidor localizado \n"
- "mais perto de você pode ter menos latência. \n");
- break;
- case MENU_ENUM_LABEL_VIDEO_MAX_SWAPCHAIN_IMAGES:
- snprintf(s, len,
- "Máximo de imagens na cadeia de trocas. \n"
- "Isto pode informar ao driver de vídeo para \n"
- "usar um modo de buffer específico. \n"
- " \n"
- "Buffer único - 1\n"
- "Buffer duplo - 2\n"
- "Buffer triplo - 3\n"
- " \n"
- "Definir o modo de buffer correto pode \n"
- "ter um grande impacto na latência.");
- break;
- case MENU_ENUM_LABEL_VIDEO_SMOOTH:
- snprintf(s, len,
- "Suaviza a imagem com filtragem bilinear. \n"
- "Deve ser desativado se estiver usando shaders.");
- break;
- case MENU_ENUM_LABEL_VIDEO_CTX_SCALING:
- snprintf(s, len,
-#ifdef HAVE_ODROIDGO2
- "Escala RGA e filtragem bicúbica. Pode quebrar os widgets."
-#else
- "Escala de contexto de hardware (se disponível)."
-#endif
- );
- break;
- case MENU_ENUM_LABEL_TIMEDATE_ENABLE:
- snprintf(s, len,
- "Exibir data e/ou hora atuais dentro do menu.");
- break;
- case MENU_ENUM_LABEL_TIMEDATE_STYLE:
- snprintf(s, len,
- "Estilo para mostrar a data atual e/ou a hora.");
- break;
- case MENU_ENUM_LABEL_BATTERY_LEVEL_ENABLE:
- snprintf(s, len,
- "Exibir o nível atual de bateria dentro do menu.");
- break;
- case MENU_ENUM_LABEL_CORE_ENABLE:
- snprintf(s, len,
- "Exibir o nome do núcleo atual dentro do menu.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_ENABLE_HOST:
- snprintf(s, len,
- "Habilitar o jogo em rede no \n"
- "modo anfitrião (servidor).");
- break;
- case MENU_ENUM_LABEL_NETPLAY_ENABLE_CLIENT:
- snprintf(s, len,
- "Habilitar o jogo em rede no modo cliente.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_DISCONNECT:
- snprintf(s, len,
- "Desconectar de uma conexão de jogo em rede ativa.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_LAN_SCAN_SETTINGS:
- snprintf(s, len,
- "Buscar por e conectar aos anfitriões \n"
- "de jogo em rede na rede local.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_SETTINGS:
- snprintf(s, len,
- "Configurações relacionadas ao jogo em rede.");
- break;
- case MENU_ENUM_LABEL_DYNAMIC_WALLPAPER:
- snprintf(s, len,
- "Carregar dinamicamente um novo plano de \n"
- "fundo dependendo do contexto.");
- break;
- case MENU_ENUM_LABEL_CORE_UPDATER_BUILDBOT_URL:
- snprintf(s, len,
- "URL para o diretório de atualização \n"
- "de núcleos no buildbot do Libreto.");
- break;
- case MENU_ENUM_LABEL_BUILDBOT_ASSETS_URL:
- snprintf(s, len,
- "URL para o diretório de atualizações \n"
- "de recursos no buildbot do Libretro.");
- break;
- case MENU_ENUM_LABEL_INPUT_REMAP_BINDS_ENABLE:
- snprintf(s, len,
- "Se habilitado, substitui os vínculos da \n"
- "entrada com os vínculos remapeados \n"
- "definidos para o núcleo atual.");
- break;
- case MENU_ENUM_LABEL_OVERLAY_DIRECTORY:
- snprintf(s, len,
- "Diretório de Sobreposições. \n"
- " \n"
- "Define um diretório onde as sobreposições \n"
- "são mantidas para fácil acesso.");
- break;
- case MENU_ENUM_LABEL_VIDEO_LAYOUT_DIRECTORY:
- snprintf(s, len,
- "Diretório do esquema de vídeo. \n"
- " \n"
- "Define um diretório onde os esquemas de vídeo \n"
- "são mantidos para facilitar o acesso.");
- break;
- case MENU_ENUM_LABEL_INPUT_MAX_USERS:
- snprintf(s, len,
- "Número máximo de usuários \n"
- "suportados pelo RetroArch.");
- break;
- case MENU_ENUM_LABEL_CORE_UPDATER_AUTO_EXTRACT_ARCHIVE:
- snprintf(s, len,
- "Após o download, extrair automaticamente \n"
- "os arquivos contidos nos arquivos \n"
- "comprimidos baixados.");
- break;
- case MENU_ENUM_LABEL_NAVIGATION_BROWSER_FILTER_SUPPORTED_EXTENSIONS_ENABLE:
- snprintf(s, len,
- "Filtrar arquivos em exibição \n"
- "por extensões suportadas.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_NICKNAME:
- snprintf(s, len,
- "O nome de usuário da pessoa executando \n"
- "o RetroArch. \n"
- "Será utilizado para jogos online.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_TCP_UDP_PORT:
- snprintf(s, len,
- "A porta do endereço de IP do anfitrião. \n"
- "Pode ser ou uma porta TCP ou uma porta UDP.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_SPECTATOR_MODE_ENABLE:
- snprintf(s, len,
- "Habilitar ou desabilitar o modo espectador \n"
- "para o usuário durante o jogo em rede.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_IP_ADDRESS:
- snprintf(s, len,
- "O endereço do anfitrião a se conectar.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_PASSWORD:
- snprintf(s, len,
- "A senha para conectar ao anfitrião de jogo em rede \n"
- "Utilizado apenas em modo anfitrião.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_SPECTATE_PASSWORD:
- snprintf(s, len,
- "A senha para conectar ao anfitrião \n"
- "de jogo em rede apenas com privilégios de \n"
- "espectador. Utilizado apenas em modo \n"
- "anfitrião.");
- break;
- case MENU_ENUM_LABEL_STDIN_CMD_ENABLE:
- snprintf(s, len,
- "Habilitar interface de comando stdin.");
- break;
- case MENU_ENUM_LABEL_UI_COMPANION_START_ON_BOOT:
- snprintf(s, len,
- "Rodar o Companheiro de Interface de Usuário \n"
- "na inicialização (se disponível).");
- break;
- case MENU_ENUM_LABEL_MENU_DRIVER:
- snprintf(s, len, "Driver de menu a ser utilizado.");
- break;
- case MENU_ENUM_LABEL_INPUT_MENU_ENUM_TOGGLE_GAMEPAD_COMBO:
- snprintf(s, len,
- "Combinação de botões do Gamepad \n"
- "para alternar o menu. \n"
- " \n"
- "0 - Nenhuma \n"
- "1 - Pressionar L + R + Y + Direcional \n"
- "para baixo simultaneamente. \n"
- "2 - Pressionar L3 + R3 simultaneamente. \n"
- "3 - Pressionar Start + Select simultaneamente.");
- break;
- case MENU_ENUM_LABEL_INPUT_ALL_USERS_CONTROL_MENU:
- snprintf(s, len, "Permitir controlar o menu a qualquer usuário. \n"
- " \n"
- "Se desabilitado, apenas o Usuário 1 \n"
- "poderá controlar o menu.");
- break;
- case MENU_ENUM_LABEL_INPUT_AUTODETECT_ENABLE:
- snprintf(s, len,
- "Habilitar a detecção automática de entrada. \n"
- " \n"
- "Vai tentar autoconfigurar \n"
- "Joypads no estilo 'Plug-and-Play'.");
- break;
- case MENU_ENUM_LABEL_CAMERA_ALLOW:
- snprintf(s, len,
- "Permitir ou negar acesso a câmera \n"
- "pelos núcleos.");
- break;
- case MENU_ENUM_LABEL_LOCATION_ALLOW:
- snprintf(s, len,
- "Permitir ou negar acesso aos \n"
- "serviços de localização pelos núcleos.");
- break;
- case MENU_ENUM_LABEL_TURBO:
- snprintf(s, len,
- "Habilitar turbo.\n"
- " \n"
- "Manter o turbo pressionado enquanto \n"
- "pressiona outro botão faz com que o \n"
- "botão entre em modo turbo, onde o estado \n"
- "do botão é modulado com um sinal periódico. \n"
- " \n"
- "A modulação termina quando o botão em si \n"
- "mesmo (não o botão de turbo) for liberado.");
- break;
- case MENU_ENUM_LABEL_OSK_ENABLE:
- snprintf(s, len,
- "Habilitar/desabilitar teclado virtual.");
- break;
- case MENU_ENUM_LABEL_AUDIO_MUTE:
- snprintf(s, len,
- "Áudio mudo/não-mudo.");
- break;
- case MENU_ENUM_LABEL_REWIND:
- snprintf(s, len,
- "Manter o botão pressionado para \n"
- "Voltar Atrás. \n"
- " \n"
- "Voltar Atrás precisa estar habilitado.");
- break;
- case MENU_ENUM_LABEL_EXIT_EMULATOR:
- snprintf(s, len,
- "Tecla para sair do RetroArch de modo limpo."
-#if !defined(RARCH_MOBILE) && !defined(RARCH_CONSOLE)
- "\nEncerrá-lo de forma brusca (SIGKILL, \n"
- "etc) irá terminar sem salvar \n"
- "RAM, etc. Em Unix-likes, \n"
- "SIGINT/SIGTERM permitem \n"
- "uma desinicialização limpa."
-#endif
- );
- break;
- case MENU_ENUM_LABEL_LOAD_STATE:
- snprintf(s, len,
- "Carregar jogo salvo.");
- break;
- case MENU_ENUM_LABEL_SAVE_STATE:
- snprintf(s, len,
- "Salvar jogo.");
- break;
- case MENU_ENUM_LABEL_NETPLAY_GAME_WATCH:
- snprintf(s, len,
- "Alternar modo jogador/espectador do jogo em rede.");
- break;
- case MENU_ENUM_LABEL_CHEAT_INDEX_PLUS:
- snprintf(s, len,
- "Aumentar o índice de trapaça. \n");
- break;
- case MENU_ENUM_LABEL_CHEAT_INDEX_MINUS:
- snprintf(s, len,
- "Diminuir o índice de trapaça. \n");
- break;
- case MENU_ENUM_LABEL_SHADER_PREV:
- snprintf(s, len,
- "Aplicar o shader anterior no diretório.");
- break;
- case MENU_ENUM_LABEL_SHADER_NEXT:
- snprintf(s, len,
- "Aplicar o próximo shader do diretório.");
- break;
- case MENU_ENUM_LABEL_RESET:
- snprintf(s, len,
- "Reiniciar o conteúdo. \n");
- break;
- case MENU_ENUM_LABEL_PAUSE_TOGGLE:
- snprintf(s, len,
- "Alternar estado pausado e não-pausado.");
- break;
- case MENU_ENUM_LABEL_CHEAT_TOGGLE:
- snprintf(s, len,
- "Alternar índice de trapaça. \n");
- break;
- case MENU_ENUM_LABEL_CHEAT_IDX:
- snprintf(s, len,
- "Posição do índice na lista.\n");
- break;
- case MENU_ENUM_LABEL_CHEAT_ADDRESS_BIT_POSITION:
- snprintf(s, len,
- "Bitmask o endereço quando o tamanho da busca da memória for < 8-bit.\n");
- break;
- case MENU_ENUM_LABEL_CHEAT_REPEAT_COUNT:
- snprintf(s, len,
- "O número de vezes que a trapaça será aplicada.\nUse com as outras duas opções de iteração para afetar grandes áreas de memória.");
- break;
- case MENU_ENUM_LABEL_CHEAT_REPEAT_ADD_TO_ADDRESS:
- snprintf(s, len,
- "Após cada 'Número de iterações', o endereço de memória será aumentado por este número multiplicado pelo 'Tamanho da pesquisa na memória'.");
- break;
- case MENU_ENUM_LABEL_CHEAT_REPEAT_ADD_TO_VALUE:
- snprintf(s, len,
- "Após cada 'Número de iterações', o valor será aumentado por esse valor.");
- break;
- case MENU_ENUM_LABEL_CHEAT_MATCH_IDX:
- snprintf(s, len,
- "Selecionar a coincidência para visualizar.");
- break;
- case MENU_ENUM_LABEL_CHEAT_START_OR_CONT:
- snprintf(s, len,
- "Verificar a memória para criar novas trapaças");
- break;
- case MENU_ENUM_LABEL_CHEAT_START_OR_RESTART:
- snprintf(s, len,
- "Esquerda/Direita para alterar o tamanho do bit\n");
- break;
- case MENU_ENUM_LABEL_CHEAT_SEARCH_EXACT:
- snprintf(s, len,
- "Esquerda/Direita para alterar o valor\n");
- break;
- case MENU_ENUM_LABEL_CHEAT_SEARCH_LT:
- snprintf(s, len,
- " ");
- break;
- case MENU_ENUM_LABEL_CHEAT_SEARCH_GT:
- snprintf(s, len,
- " ");
- break;
- case MENU_ENUM_LABEL_CHEAT_SEARCH_EQ:
- snprintf(s, len,
- " ");
- break;
- case MENU_ENUM_LABEL_CHEAT_SEARCH_NEQ:
- snprintf(s, len,
- " ");
- break;
- case MENU_ENUM_LABEL_CHEAT_SEARCH_EQPLUS:
- snprintf(s, len,
- "Esquerda/Direita para alterar o valor\n");
- break;
- case MENU_ENUM_LABEL_CHEAT_SEARCH_EQMINUS:
- snprintf(s, len,
- "Esquerda/Direita para alterar o valor\n");
- break;
- case MENU_ENUM_LABEL_CHEAT_ADD_MATCHES:
- snprintf(s, len,
- " ");
- break;
- case MENU_ENUM_LABEL_CHEAT_VIEW_MATCHES:
- snprintf(s, len,
- " ");
- break;
- case MENU_ENUM_LABEL_CHEAT_CREATE_OPTION:
- snprintf(s, len,
- " ");
- break;
- case MENU_ENUM_LABEL_CHEAT_DELETE_OPTION:
- snprintf(s, len,
- " ");
- break;
- case MENU_ENUM_LABEL_CHEAT_ADD_NEW_TOP:
- snprintf(s, len,
- " ");
- break;
- case MENU_ENUM_LABEL_CHEAT_RELOAD_CHEATS:
- snprintf(s, len,
- " ");
- break;
- case MENU_ENUM_LABEL_CHEAT_ADD_NEW_BOTTOM:
- snprintf(s, len,
- " ");
- break;
- case MENU_ENUM_LABEL_CHEAT_DELETE_ALL:
- snprintf(s, len,
- " ");
- break;
- case MENU_ENUM_LABEL_CHEAT_BIG_ENDIAN:
- snprintf(s, len,
- "Big endian : 258 = 0x0102\n"
- "Little endian : 258 = 0x0201");
- break;
- case MENU_ENUM_LABEL_HOLD_FAST_FORWARD:
- snprintf(s, len,
- "Manter pressionado para avanço rápido \n"
- "Soltar o botão desativa o avanço rápido.");
- break;
- case MENU_ENUM_LABEL_SLOWMOTION_HOLD:
- snprintf(s, len,
- "Manter pressionado para câmera lenta.");
- break;
- case MENU_ENUM_LABEL_FRAME_ADVANCE:
- snprintf(s, len,
- "Avanço de quadro quando o conteúdo \n"
- "estiver pausado.");
- 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,
- "Eixos para controle analógico (tipo DualShock). \n"
- " \n"
- "Vinculado como de costume, contudo, \n"
- "se um eixo analógico real \n"
- "estiver vinculado, ele pode ser lido \n"
- "como um analógico verdadeiro. \n"
- " \n"
- "Eixo X positivo é direita. \n"
- "Eixo Y positivo é para baixo.");
- break;
- case MENU_ENUM_LABEL_VALUE_WHAT_IS_A_CORE_DESC:
- snprintf(s, len,
- "O RetroArch sozinho não faz nada. \n"
- " \n"
- "Para fazê-lo funcionar, você precisa \n"
- "carregar um programa nele. \n"
- "\n"
- "Nós chamamos esses programas de \n"
- "'Núcleo Libretro', ou 'núcleo' para encurtar. \n"
- " \n"
- "Para carregar um núcleo, selecione um \n"
- "em 'Carregar Núcleo'.\n"
- " \n"
-#ifdef HAVE_NETWORKING
- "Você pode obter núcleos de várias formas: \n"
- "* Baixando-os, indo em \n"
- "'%s' -> '%s'.\n"
- "* Movendo-os manualmente para \n"
- "'%s'.",
- 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
- "Você pode obter núcleos \n"
- "movendo-os manualmente para \n"
- "'%s'.",
- msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LIBRETRO_DIR_PATH)
-#endif
- );
- break;
- case MENU_ENUM_LABEL_VALUE_HELP_CHANGE_VIRTUAL_GAMEPAD_DESC:
- snprintf(s, len,
- "Você pode alterar a sobreposição de \n"
- "gamepad virtual indo em \n"
- "'%s' -> '%s'. \n"
- " \n"
- "De lá você pode alterar a sobreposição, \n"
- "mudar o tamanho e opacidade dos botões, etc. \n"
- " \n"
- "NOTA: Por padrão, as sobreposições de gamepad \n"
- "virtual ficam ocultas quando dentro do menu. \n"
- "Se você quiser alterar este comportamento, \n"
- "você pode definir '%s' como falso.",
- 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;
- case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_ENABLE:
- snprintf(s, len,
- "Ativa uma cor de fundo para a exibição da tela (OSD).");
- break;
- case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_RED:
- snprintf(s, len,
- "Define o valor vermelho da cor de fundo da exibição da tela (OSD). Valores válidos estão entre 0 e 255.");
- break;
- case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_GREEN:
- snprintf(s, len,
- "Define o valor verde da cor de fundo da exibição da tela (OSD). Valores válidos estão entre 0 e 255.");
- break;
- case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_BLUE:
- snprintf(s, len,
- "Define o valor azul da cor de fundo da exibição da tela (OSD). Valores válidos estão entre 0 e 255.");
- break;
- case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_OPACITY:
- snprintf(s, len,
- "Define a opacidade da cor de fundo da exibição da tela (OSD). Valores válidos estão entre 0.0 e 1.0.");
- break;
- case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_COLOR_RED:
- snprintf(s, len,
- "Define o valor vermelho da cor do texto da exibição da tela (OSD). Valores válidos estão entre 0 e 255.");
- break;
- case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_COLOR_GREEN:
- snprintf(s, len,
- "Define o valor verde da cor do texto da exibição da tela (OSD). Valores válidos estão entre 0 e 255.");
- break;
- case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_COLOR_BLUE:
- snprintf(s, len,
- "Define o valor azul da cor do texto da exibição da tela (OSD). Valores válidos estão entre 0 e 255.");
- break;
- case MENU_ENUM_LABEL_MIDI_DRIVER:
- snprintf(s, len,
- "Driver MIDI a ser utilizado.");
- break;
- case MENU_ENUM_LABEL_MIDI_INPUT:
- snprintf(s, len,
- "Define o dispositivo de entrada (driver específico).\n"
- "Quando definido para \"Off\", a entrada MIDI será desativada.\n"
- "O nome do dispositivo também pode ser digitado.");
- break;
- case MENU_ENUM_LABEL_MIDI_OUTPUT:
- snprintf(s, len,
- "Define o dispositivo de saída (driver específico).\n"
- "Quando definido para \"Off\", a saída MIDI será desativada.\n"
- "O nome do dispositivo também pode ser digitado.\n"
- " \n"
- "Quando a saída MIDI é ativada e o núcleo e o jogo suportam a saída MIDI,,\n"
- "Quando a saída MIDI é ativada e o núcleo e o jogo suportam a saída MIDI,\n"
- "No caso do driver MIDI \"null\", isso significa que esses sons não serão audíveis.");
- break;
- case MENU_ENUM_LABEL_MIDI_VOLUME:
- snprintf(s, len,
- "Define o volume principal do dispositivo de saída.");
- 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_pt_br_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_pt_br(enum msg_hash_enums msg)
-{
-#ifdef HAVE_MENU
- const char *ret = menu_hash_to_str_pt_br_label_enum(msg);
-
- if (ret && !string_is_equal(ret, "null"))
- return ret;
-#endif
-
- switch (msg)
- {
-#include "msg_hash_pt_br.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";
-}
diff --git a/msg_hash.c b/msg_hash.c
index 1c6067500e4..9f124f6ef07 100644
--- a/msg_hash.c
+++ b/msg_hash.c
@@ -40,53 +40,6 @@ static unsigned uint_user_language;
int msg_hash_get_help_enum(enum msg_hash_enums msg, char *s, size_t len)
{
- int ret = -1;
-
-#ifdef HAVE_LANGEXTRA
- switch (uint_user_language)
- {
- case RETRO_LANGUAGE_PORTUGUESE_BRAZIL:
- ret = msg_hash_get_help_pt_br_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:
- case RETRO_LANGUAGE_TURKISH:
- case RETRO_LANGUAGE_CATALAN_VALENCIA:
- case RETRO_LANGUAGE_UKRAINIAN:
- case RETRO_LANGUAGE_SLOVAK:
- case RETRO_LANGUAGE_PERSIAN:
- case RETRO_LANGUAGE_ESPERANTO:
- case RETRO_LANGUAGE_BRITISH_ENGLISH:
- case RETRO_LANGUAGE_CATALAN:
- case RETRO_LANGUAGE_CZECH:
- case RETRO_LANGUAGE_HEBREW:
- case RETRO_LANGUAGE_HUNGARIAN:
- case RETRO_LANGUAGE_ARABIC:
- case RETRO_LANGUAGE_ASTURIAN:
- case RETRO_LANGUAGE_FINNISH:
- case RETRO_LANGUAGE_INDONESIAN:
- case RETRO_LANGUAGE_SWEDISH:
- case RETRO_LANGUAGE_FRENCH:
- case RETRO_LANGUAGE_GERMAN:
- case RETRO_LANGUAGE_SPANISH:
- case RETRO_LANGUAGE_ITALIAN:
- case RETRO_LANGUAGE_DUTCH:
- case RETRO_LANGUAGE_POLISH:
- case RETRO_LANGUAGE_CHINESE_TRADITIONAL:
- default:
- break;
- }
-#endif
-
- if (ret == 0)
- return ret;
-
return msg_hash_get_help_us_enum(msg, s, len);
}
@@ -521,22 +474,30 @@ static const char *msg_hash_to_str_vn(enum msg_hash_enums msg)
return "null";
}
-
-
-static const char *msg_hash_get_wideglyph_str_cht(void)
+static const char *msg_hash_to_str_chs(enum msg_hash_enums msg)
{
- return "主";
-}
+ switch (msg)
+ {
+#include "intl/msg_hash_chs.h"
+ default:
+ break;
+ }
-static const char *msg_hash_get_wideglyph_str_jp(void)
-{
- return "漢";
+ return "null";
}
-static const char *msg_hash_get_wideglyph_str_ko(void)
+static const char *msg_hash_to_str_pt_br(enum msg_hash_enums msg)
{
- return "메";
+ switch (msg)
+ {
+#include "intl/msg_hash_pt_br.h"
+ default:
+ break;
+ }
+
+ return "null";
}
+
#endif
const char *msg_hash_to_str(enum msg_hash_enums msg)
@@ -928,13 +889,13 @@ const char *msg_hash_get_wideglyph_str(void)
switch (uint_user_language)
{
case RETRO_LANGUAGE_CHINESE_SIMPLIFIED:
- return msg_hash_get_wideglyph_str_chs();
+ return "菜";
case RETRO_LANGUAGE_CHINESE_TRADITIONAL:
- return msg_hash_get_wideglyph_str_cht();
+ return "主";
case RETRO_LANGUAGE_JAPANESE:
- return msg_hash_get_wideglyph_str_jp();
+ return "漢";
case RETRO_LANGUAGE_KOREAN:
- return msg_hash_get_wideglyph_str_ko();
+ return "메";
default:
break;
}
diff --git a/msg_hash.h b/msg_hash.h
index 72b7a4c1d27..f84f4c41fb5 100644
--- a/msg_hash.h
+++ b/msg_hash.h
@@ -4044,12 +4044,6 @@ enum msg_hash_enums
const char *msg_hash_to_str(enum msg_hash_enums msg);
-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_chs(enum msg_hash_enums msg);
-int msg_hash_get_help_chs_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);
@@ -4087,7 +4081,6 @@ void msg_hash_set_uint(enum msg_hash_action type, unsigned val);
* be found by passing said pointer to the current font
* rendering implementation */
const char *msg_hash_get_wideglyph_str(void);
-const char *msg_hash_get_wideglyph_str_chs(void);
uint32_t msg_hash_calculate(const char *s);