From b54e7a8e5e1baab54bc8501b08f1073cf9a45738 Mon Sep 17 00:00:00 2001 From: crueter Date: Wed, 11 Jun 2025 22:59:48 +0000 Subject: [PATCH] [android] Improved Netplay (#175) - Runtime validation rather than toasts - Refactored some minor details - Improved language clarity - add TODOs Signed-off-by: crueter Co-authored-by: Aleksandr Popovich Co-authored-by: Pavel Barabanov Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/175 Co-authored-by: crueter Co-committed-by: crueter --- .../org/yuzu/yuzu_emu/dialogs/ChatDialog.kt | 7 +- .../yuzu/yuzu_emu/dialogs/NetPlayDialog.kt | 348 +++++++++++++----- .../features/settings/model/StringSetting.kt | 3 + .../yuzu_emu/fragments/EmulationFragment.kt | 5 +- .../yuzu/yuzu_emu/network/NetPlayManager.kt | 5 +- .../res/layout/dialog_multiplayer_room.xml | 3 +- .../app/src/main/res/values-ar/strings.xml | 63 ++-- .../app/src/main/res/values-ckb/strings.xml | 97 ++--- .../app/src/main/res/values-cs/strings.xml | 59 +-- .../app/src/main/res/values-de/strings.xml | 51 +-- .../app/src/main/res/values-es/strings.xml | 195 +++++----- .../app/src/main/res/values-fa/strings.xml | 29 +- .../app/src/main/res/values-fr/strings.xml | 91 ++--- .../app/src/main/res/values-he/strings.xml | 89 +++-- .../app/src/main/res/values-hu/strings.xml | 105 +++--- .../app/src/main/res/values-id/strings.xml | 33 +- .../app/src/main/res/values-it/strings.xml | 59 +-- .../app/src/main/res/values-ja/strings.xml | 55 +-- .../app/src/main/res/values-ko/strings.xml | 73 ++-- .../app/src/main/res/values-nb/strings.xml | 59 +-- .../app/src/main/res/values-pl/strings.xml | 65 ++-- .../src/main/res/values-pt-rBR/strings.xml | 67 ++-- .../src/main/res/values-pt-rPT/strings.xml | 73 ++-- .../app/src/main/res/values-ru/strings.xml | 81 ++-- .../app/src/main/res/values-uk/strings.xml | 259 +++++++------ .../app/src/main/res/values-vi/strings.xml | 109 +++--- .../src/main/res/values-zh-rCN/strings.xml | 95 ++--- .../src/main/res/values-zh-rTW/strings.xml | 103 +++--- .../app/src/main/res/values/strings.xml | 32 +- 29 files changed, 1358 insertions(+), 955 deletions(-) diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/dialogs/ChatDialog.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/dialogs/ChatDialog.kt index 25122fb79b..75059251bd 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/dialogs/ChatDialog.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/dialogs/ChatDialog.kt @@ -4,6 +4,7 @@ package org.yuzu.yuzu_emu.dialogs +import android.annotation.SuppressLint import android.content.Context import android.content.res.Configuration import android.os.Bundle @@ -35,6 +36,10 @@ class ChatDialog(context: Context) : BottomSheetDialog(context) { private lateinit var chatAdapter: ChatAdapter private val handler = Handler(Looper.getMainLooper()) + // TODO(alekpop, crueter): Top drawer for message notifications, perhaps use system notifs? + // TODO(alekpop, crueter): Context menu actions for chat users + // TODO(alekpop, crueter): Block users (depends on the above) + @SuppressLint("NotifyDataSetChanged") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = DialogChatBinding.inflate(LayoutInflater.from(context)) @@ -47,7 +52,6 @@ class ChatDialog(context: Context) : BottomSheetDialog(context) { behavior.state = BottomSheetBehavior.STATE_EXPANDED behavior.skipCollapsed = context.resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE - handler.post { chatAdapter.notifyDataSetChanged() binding.chatRecyclerView.post { @@ -76,6 +80,7 @@ class ChatDialog(context: Context) : BottomSheetDialog(context) { super.dismiss() } + @SuppressLint("NotifyDataSetChanged") private fun sendMessage(message: String) { val username = NetPlayManager.getUsername(context) NetPlayManager.netPlaySendMessage(message) diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/dialogs/NetPlayDialog.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/dialogs/NetPlayDialog.kt index a95b0255d3..85f949853d 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/dialogs/NetPlayDialog.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/dialogs/NetPlayDialog.kt @@ -5,15 +5,18 @@ package org.yuzu.yuzu_emu.dialogs import android.annotation.SuppressLint import android.content.Context -import org.yuzu.yuzu_emu.R import android.content.res.Configuration import android.os.Bundle import android.os.Handler import android.os.Looper +import android.text.Editable +import android.text.TextWatcher import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ArrayAdapter +import android.widget.Button +import android.widget.EditText import android.widget.PopupMenu import android.widget.Toast import androidx.recyclerview.widget.LinearLayoutManager @@ -21,6 +24,7 @@ import androidx.recyclerview.widget.RecyclerView import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetDialog import com.google.android.material.dialog.MaterialAlertDialogBuilder +import org.yuzu.yuzu_emu.R import org.yuzu.yuzu_emu.YuzuApplication import org.yuzu.yuzu_emu.databinding.DialogMultiplayerConnectBinding import org.yuzu.yuzu_emu.databinding.DialogMultiplayerLobbyBinding @@ -28,9 +32,10 @@ import org.yuzu.yuzu_emu.databinding.DialogMultiplayerRoomBinding import org.yuzu.yuzu_emu.databinding.ItemBanListBinding import org.yuzu.yuzu_emu.databinding.ItemButtonNetplayBinding import org.yuzu.yuzu_emu.databinding.ItemTextNetplayBinding -import org.yuzu.yuzu_emu.utils.CompatUtils import org.yuzu.yuzu_emu.network.NetPlayManager +import org.yuzu.yuzu_emu.utils.CompatUtils import org.yuzu.yuzu_emu.utils.GameHelper +import java.net.InetAddress class NetPlayDialog(context: Context) : BottomSheetDialog(context) { private lateinit var adapter: NetPlayAdapter @@ -43,7 +48,8 @@ class NetPlayDialog(context: Context) : BottomSheetDialog(context) { behavior.state = BottomSheetBehavior.STATE_EXPANDED behavior.state = BottomSheetBehavior.STATE_EXPANDED - behavior.skipCollapsed = context.resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE + behavior.skipCollapsed = + context.resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE when { NetPlayManager.netPlayIsJoined() -> DialogMultiplayerLobbyBinding.inflate(layoutInflater) @@ -63,12 +69,14 @@ class NetPlayDialog(context: Context) : BottomSheetDialog(context) { refreshAdapterItems() - btnModeration.visibility = if (NetPlayManager.netPlayIsModerator()) View.VISIBLE else View.GONE + btnModeration.visibility = + if (NetPlayManager.netPlayIsModerator()) View.VISIBLE else View.GONE btnModeration.setOnClickListener { showModerationDialog() } } + else -> { DialogMultiplayerConnectBinding.inflate(layoutInflater).apply { setContentView(root) @@ -117,17 +125,21 @@ class NetPlayDialog(context: Context) : BottomSheetDialog(context) { } } + // TODO(alekpop, crueter): Disable context menu for self and if not moderator inner class NetPlayAdapter : RecyclerView.Adapter() { val netPlayItems = mutableListOf() - abstract inner class NetPlayViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), View.OnClickListener { + abstract inner class NetPlayViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), + View.OnClickListener { init { itemView.setOnClickListener(this) } + abstract fun bind(item: NetPlayItems) } - inner class TextViewHolder(private val binding: ItemTextNetplayBinding) : NetPlayViewHolder(binding.root) { + inner class TextViewHolder(private val binding: ItemTextNetplayBinding) : + NetPlayViewHolder(binding.root) { private lateinit var netPlayItem: NetPlayItems override fun onClick(clicked: View) {} @@ -149,7 +161,8 @@ class NetPlayDialog(context: Context) : BottomSheetDialog(context) { } } - inner class ButtonViewHolder(private val binding: ItemButtonNetplayBinding) : NetPlayViewHolder(binding.root) { + inner class ButtonViewHolder(private val binding: ItemButtonNetplayBinding) : + NetPlayViewHolder(binding.root) { private lateinit var netPlayItems: NetPlayItems private val isModerator = NetPlayManager.netPlayIsModerator() @@ -193,11 +206,35 @@ class NetPlayDialog(context: Context) : BottomSheetDialog(context) { val infos = NetPlayManager.netPlayRoomInfo() if (infos.isNotEmpty()) { val roomInfo = infos[0].split("|") - netPlayItems.add(NetPlayItems(NetPlayItems.MULTIPLAYER_ROOM_TEXT, roomInfo[0], NetPlayItems.TYPE_TEXT)) - netPlayItems.add(NetPlayItems(NetPlayItems.MULTIPLAYER_ROOM_COUNT, "${infos.size - 1}/${roomInfo[1]}", NetPlayItems.TYPE_TEXT)) - netPlayItems.add(NetPlayItems(NetPlayItems.MULTIPLAYER_SEPARATOR, "", NetPlayItems.TYPE_SEPARATOR)) + netPlayItems.add( + NetPlayItems( + NetPlayItems.MULTIPLAYER_ROOM_TEXT, + roomInfo[0], + NetPlayItems.TYPE_TEXT + ) + ) + netPlayItems.add( + NetPlayItems( + NetPlayItems.MULTIPLAYER_ROOM_COUNT, + "${infos.size - 1}/${roomInfo[1]}", + NetPlayItems.TYPE_TEXT + ) + ) + netPlayItems.add( + NetPlayItems( + NetPlayItems.MULTIPLAYER_SEPARATOR, + "", + NetPlayItems.TYPE_SEPARATOR + ) + ) for (i in 1 until infos.size) { - netPlayItems.add(NetPlayItems(NetPlayItems.MULTIPLAYER_ROOM_MEMBER, infos[i], NetPlayItems.TYPE_BUTTON)) + netPlayItems.add( + NetPlayItems( + NetPlayItems.MULTIPLAYER_ROOM_MEMBER, + infos[i], + NetPlayItems.TYPE_BUTTON + ) + ) } } } @@ -207,12 +244,33 @@ class NetPlayDialog(context: Context) : BottomSheetDialog(context) { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): NetPlayViewHolder { val inflater = LayoutInflater.from(parent.context) return when (viewType) { - NetPlayItems.TYPE_TEXT -> TextViewHolder(ItemTextNetplayBinding.inflate(inflater, parent, false)) - NetPlayItems.TYPE_BUTTON -> ButtonViewHolder(ItemButtonNetplayBinding.inflate(inflater, parent, false)) - NetPlayItems.TYPE_SEPARATOR -> object : NetPlayViewHolder(inflater.inflate(R.layout.item_separator_netplay, parent, false)) { + NetPlayItems.TYPE_TEXT -> TextViewHolder( + ItemTextNetplayBinding.inflate( + inflater, + parent, + false + ) + ) + + NetPlayItems.TYPE_BUTTON -> ButtonViewHolder( + ItemButtonNetplayBinding.inflate( + inflater, + parent, + false + ) + ) + + NetPlayItems.TYPE_SEPARATOR -> object : NetPlayViewHolder( + inflater.inflate( + R.layout.item_separator_netplay, + parent, + false + ) + ) { override fun bind(item: NetPlayItems) {} override fun onClick(clicked: View) {} } + else -> throw IllegalStateException("Unsupported view type") } } @@ -237,14 +295,54 @@ class NetPlayDialog(context: Context) : BottomSheetDialog(context) { } } + abstract class TextValidatorWatcher( + private val btnConfirm: Button, + private val view: EditText, + private val errorMessage: String + ) : TextWatcher { + + companion object { + val validStates: HashMap = hashMapOf() + } + abstract fun validate(s: String): Boolean + + override fun beforeTextChanged( + s: CharSequence?, + start: Int, + count: Int, + after: Int + ) { + } + + override fun onTextChanged( + s: CharSequence?, + start: Int, + before: Int, + count: Int + ) { + } + + override fun afterTextChanged(s: Editable?) { + val input = s.toString() + val isValid = validate(input) + view.error = if (isValid) null else errorMessage + + validStates.put(view, isValid) + btnConfirm.isEnabled = !validStates.containsValue(false) + } + } + + // TODO(alekpop, crueter): Properly handle getting banned (both during and in future connects) private fun showNetPlayInputDialog(isCreateRoom: Boolean) { val activity = CompatUtils.findActivity(context) val dialog = BottomSheetDialog(activity) - dialog.behavior.state = BottomSheetBehavior.STATE_EXPANDED - dialog.behavior.state = BottomSheetBehavior.STATE_EXPANDED - dialog.behavior.skipCollapsed = context.resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE + val validStates: HashMap = hashMapOf() + dialog.behavior.state = BottomSheetBehavior.STATE_EXPANDED + dialog.behavior.state = BottomSheetBehavior.STATE_EXPANDED + dialog.behavior.skipCollapsed = + context.resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE val binding = DialogMultiplayerRoomBinding.inflate(LayoutInflater.from(activity)) dialog.setContentView(binding.root) @@ -254,93 +352,177 @@ class NetPlayDialog(context: Context) : BottomSheetDialog(context) { else R.string.multiplayer_join_room ) - binding.ipAddress.setText( - if (isCreateRoom) NetPlayManager.getIpAddressByWifi(activity) - else NetPlayManager.getRoomAddress(activity) - ) + // setup listeners etc + val roomNameWatcher = object : TextValidatorWatcher( + binding.btnConfirm, // TODO(alekpop, crueter): Figure out a better way to deal with this? + binding.roomName, + context.getString( + R.string.multiplayer_room_name_error + ) + ) { + override fun validate(s: String): Boolean { + return s.length in 3..20 + } + } + + val preferredWatcher = object : TextValidatorWatcher( + binding.btnConfirm, + binding.dropdownPreferredGameName, + context.getString(R.string.multiplayer_required) + ) { + override fun validate(s: String): Boolean { + return s.isNotEmpty() + } + + override fun afterTextChanged(s: Editable?) { + super.afterTextChanged(s) + + // special case: remove dropdown arrow + val input = s.toString() + binding.preferredGameName.isEndIconVisible = validate(input) + } + } + + val ipWatcher = object : TextValidatorWatcher( + binding.btnConfirm, + binding.ipAddress, + context.getString(R.string.multiplayer_ip_error) + ) { + override fun validate(s: String): Boolean { + return try { + InetAddress.getByName(s) + s.length >= 7 + } catch (_: Exception) { + false + } + } + } + + val usernameWatcher = object : TextValidatorWatcher( + binding.btnConfirm, + binding.username, + context.getString(R.string.multiplayer_username_error) + ) { + override fun validate(s: String): Boolean { + return s.length >= 5 + } + } + + val portWatcher = object : TextValidatorWatcher( + binding.btnConfirm, + binding.ipPort, + context.getString(R.string.multiplayer_port_error) + ) { + override fun validate(s: String): Boolean { + return s.toIntOrNull() in 1..65535 + } + } + + if (isCreateRoom) { + binding.roomName.addTextChangedListener(roomNameWatcher) + binding.dropdownPreferredGameName.addTextChangedListener(preferredWatcher) + + binding.dropdownPreferredGameName.apply { + setAdapter( + ArrayAdapter( + activity, + R.layout.dropdown_item, + gameNameList.map { it[0] } + ) + ) + } + } + + binding.ipAddress.addTextChangedListener(ipWatcher) + binding.ipPort.addTextChangedListener(portWatcher) + binding.username.addTextChangedListener(usernameWatcher) + binding.ipPort.setText(NetPlayManager.getRoomPort(activity)) binding.username.setText(NetPlayManager.getUsername(activity)) - binding.dropdownPreferredGameName.apply { - setAdapter( - ArrayAdapter( - activity, - R.layout.dropdown_item, - gameNameList.map { it[0] } - ) - ) + // manually trigger text listeners + if (isCreateRoom) { + roomNameWatcher.afterTextChanged(binding.roomName.text) + preferredWatcher.afterTextChanged(binding.dropdownPreferredGameName.text) } + ipWatcher.afterTextChanged(binding.ipAddress.text) + portWatcher.afterTextChanged(binding.ipPort.text) + usernameWatcher.afterTextChanged(binding.username.text) + binding.preferredGameName.visibility = if (isCreateRoom) View.VISIBLE else View.GONE binding.roomName.visibility = if (isCreateRoom) View.VISIBLE else View.GONE binding.maxPlayersContainer.visibility = if (isCreateRoom) View.VISIBLE else View.GONE - binding.maxPlayersLabel.text = context.getString(R.string.multiplayer_max_players_value, binding.maxPlayers.value.toInt()) + binding.maxPlayersLabel.text = context.getString( + R.string.multiplayer_max_players_value, + binding.maxPlayers.value.toInt() + ) binding.maxPlayers.addOnChangeListener { _, value, _ -> - binding.maxPlayersLabel.text = context.getString(R.string.multiplayer_max_players_value, value.toInt()) + binding.maxPlayersLabel.text = + context.getString(R.string.multiplayer_max_players_value, value.toInt()) } + // TODO(alekpop, crueter): Room descriptions + // TODO(alekpop, crueter): Public room creation + // TODO(alekpop, crueter): Preview preferred games binding.btnConfirm.setOnClickListener { binding.btnConfirm.isEnabled = false - binding.btnConfirm.text = activity.getString(R.string.disabled_button_text) + binding.btnConfirm.text = + activity.getString( + if (isCreateRoom) R.string.multiplayer_creating + else R.string.multiplayer_joining + ) + // We don't need to worry about validation because it's already been done. val ipAddress = binding.ipAddress.text.toString() val username = binding.username.text.toString() val portStr = binding.ipPort.text.toString() - val preferredGameName = binding.dropdownPreferredGameName.text.toString() - val preferredGameId = gameIdList[gameNameList.indexOfFirst { it[0] == preferredGameName }][0] val password = binding.password.text.toString() - val port = portStr.toIntOrNull() ?: run { - Toast.makeText(activity, R.string.multiplayer_port_invalid, Toast.LENGTH_LONG).show() - binding.btnConfirm.isEnabled = true - binding.btnConfirm.text = activity.getString(R.string.original_button_text) - return@setOnClickListener - } + val port = portStr.toInt() val roomName = binding.roomName.text.toString() val maxPlayers = binding.maxPlayers.value.toInt() - if (isCreateRoom && (roomName.length !in 3..20)) { - Toast.makeText(activity, R.string.multiplayer_room_name_invalid, Toast.LENGTH_LONG).show() - binding.btnConfirm.isEnabled = true - binding.btnConfirm.text = activity.getString(R.string.original_button_text) - return@setOnClickListener - } + val preferredGameName = binding.dropdownPreferredGameName.text.toString() + val preferredIdx = gameNameList.indexOfFirst { it[0] == preferredGameName } + val preferredGameId = if (preferredIdx == -1) 0 else gameIdList[preferredIdx][0] - if (isCreateRoom && preferredGameName.isEmpty()) { - Toast.makeText(activity, R.string.multiplayer_preferred_game_name_invalid, Toast.LENGTH_LONG).show(); - binding.btnConfirm.isEnabled = false - binding.btnConfirm.text = activity.getString(R.string.original_button_text) - return@setOnClickListener - } + Handler(Looper.getMainLooper()).post { + val result = if (isCreateRoom) { + NetPlayManager.netPlayCreateRoom( + ipAddress, + port, + username, + preferredGameName, + preferredGameId, + password, + roomName, + maxPlayers + ) + } else { + NetPlayManager.netPlayJoinRoom(ipAddress, port, username, password) + } - if (ipAddress.length < 7 || username.length < 5) { - Toast.makeText(activity, R.string.multiplayer_input_invalid, Toast.LENGTH_LONG).show() - binding.btnConfirm.isEnabled = true - binding.btnConfirm.text = activity.getString(R.string.original_button_text) - } else { - Handler(Looper.getMainLooper()).post { - val result = if (isCreateRoom) { - NetPlayManager.netPlayCreateRoom(ipAddress, port, username, preferredGameName, preferredGameId, password, roomName, maxPlayers) - } else { - NetPlayManager.netPlayJoinRoom(ipAddress, port, username, password) - } - - if (result == 0) { - NetPlayManager.setUsername(activity, username) - NetPlayManager.setRoomPort(activity, portStr) - if (!isCreateRoom) NetPlayManager.setRoomAddress(activity, ipAddress) - Toast.makeText( - YuzuApplication.appContext, - if (isCreateRoom) R.string.multiplayer_create_room_success - else R.string.multiplayer_join_room_success, - Toast.LENGTH_LONG - ).show() - dialog.dismiss() - } else { - Toast.makeText(activity, R.string.multiplayer_could_not_connect, Toast.LENGTH_LONG).show() - binding.btnConfirm.isEnabled = true - binding.btnConfirm.text = activity.getString(R.string.original_button_text) - } + if (result == 0) { + // TODO(alekpop, crueter): These need to be moved as settings, editable in a tab + NetPlayManager.setUsername(activity, username) + NetPlayManager.setRoomPort(activity, portStr) + if (!isCreateRoom) NetPlayManager.setRoomAddress(activity, ipAddress) + Toast.makeText( + YuzuApplication.appContext, + if (isCreateRoom) R.string.multiplayer_create_room_success + else R.string.multiplayer_join_room_success, + Toast.LENGTH_LONG + ).show() + dialog.dismiss() + } else { + Toast.makeText( + activity, + R.string.multiplayer_could_not_connect, + Toast.LENGTH_LONG + ).show() + binding.btnConfirm.isEnabled = true + binding.btnConfirm.text = activity.getString(R.string.ok) } } } @@ -399,13 +581,15 @@ class NetPlayDialog(context: Context) : BottomSheetDialog(context) { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val binding = ItemBanListBinding.inflate( - LayoutInflater.from(parent.context), parent, false) + LayoutInflater.from(parent.context), parent, false + ) return ViewHolder(binding) } override fun onBindViewHolder(holder: ViewHolder, position: Int) { val isUsername = position < usernameBans.size - val item = if (isUsername) usernameBans[position] else ipBans[position - usernameBans.size] + val item = + if (isUsername) usernameBans[position] else ipBans[position - usernameBans.size] holder.binding.apply { banText.text = item diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/StringSetting.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/StringSetting.kt index 6eb6eb6d52..f0fe43c7a8 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/StringSetting.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/StringSetting.kt @@ -8,7 +8,10 @@ import org.yuzu.yuzu_emu.utils.NativeConfig enum class StringSetting(override val key: String) : AbstractStringSetting { DRIVER_PATH("driver_path"), DEVICE_NAME("device_name"), + + // TODO(crueter, alekpop): Netplay/settings needs to be properly worked into settings WEB_TOKEN("yuzu_token"), + WEB_USERNAME("yuzu_username"), ; override fun getString(needsGlobal: Boolean): String = NativeConfig.getString(key, needsGlobal) diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt index a5315affef..4b7da6ef23 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt @@ -608,9 +608,8 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback { if (BooleanSetting.SHOW_APP_RAM_USAGE.getBoolean(NativeConfig.isPerGameConfigLoaded())) { if (sb.isNotEmpty()) sb.append(" | ") - val appRamUsage = - File("/proc/self/statm").readLines()[0].split(' ')[1].toLong() * 4096 / 1000000 - sb.append("Process RAM: $appRamUsage MB") + val appRamUsage = File("/proc/self/statm").readLines()[0].split(' ')[1].toLong() * 4096 / 1000000 + sb.append(getString(R.string.process_ram, appRamUsage)) } if (BooleanSetting.SHOW_SYSTEM_RAM_USAGE.getBoolean(NativeConfig.isPerGameConfigLoaded())) { diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/network/NetPlayManager.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/network/NetPlayManager.kt index d1f538b38a..52706ea765 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/network/NetPlayManager.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/network/NetPlayManager.kt @@ -7,15 +7,13 @@ import android.app.Activity import android.content.Context import android.net.ConnectivityManager import android.net.NetworkCapabilities -import android.net.wifi.WifiManager import android.os.Build import android.os.Handler import android.os.Looper -import android.text.format.Formatter import android.widget.Toast import androidx.preference.PreferenceManager -import org.yuzu.yuzu_emu.YuzuApplication import org.yuzu.yuzu_emu.R +import org.yuzu.yuzu_emu.YuzuApplication import org.yuzu.yuzu_emu.dialogs.ChatMessage import java.net.Inet4Address @@ -213,6 +211,7 @@ object NetPlayManager { Handler(Looper.getMainLooper()).post { if (!isChatOpen) { + // TODO(alekpop, crueter): Improve this, potentially a drawer at the top? Toast.makeText(context, message, Toast.LENGTH_SHORT).show() } } diff --git a/src/android/app/src/main/res/layout/dialog_multiplayer_room.xml b/src/android/app/src/main/res/layout/dialog_multiplayer_room.xml index c79be8a2ca..6eb7214087 100644 --- a/src/android/app/src/main/res/layout/dialog_multiplayer_room.xml +++ b/src/android/app/src/main/res/layout/dialog_multiplayer_room.xml @@ -71,7 +71,8 @@ android:id="@+id/dropdown_preferred_game_name" android:layout_width="match_parent" android:layout_height="wrap_content" - android:inputType="none" /> + android:inputType="none" + /> (مُحسَّن) + ذاكرة RAM للعملية: %1$d م.ب + جاري بناء + شادر(شادرات) النظام: عرض إحصائيات الأداء تخصيص @@ -67,7 +70,7 @@ تمكين ذاكرة التخزين المؤقت LRU تمكين أو تعطيل ذاكرة التخزين المؤقت الأقل استخدامًا (LRU)، مما يزيد الأداء عن طريق توفير استخدام وحدة المعالجة المركزية. بعض الألعاب بها مشاكل معها، خاصة TotK 1.2.1، لذا قم بتعطيلها إذا لم يتم تشغيل اللعبة أو تعطلت بشكل عشوائي. الحالة الديناميكية الممتدة - يُمكّن ميزات فولكان لتحسين الأداء، التقديم، وتوفير الموارد أثناء إنشاء خطوط المعالجة مع الحفاظ على استهلاك أقل لوحدة المعالجة المركزية/وحدة معالجة الرسومات. قد تزيد هذه الامتدادات من درجة حرارة الجهاز، وقد لا تتفاعل وحدات معالجة الرسومات القديمة من سلسلة A6XX بشكل صحيح. اضبط على 0 لاستخدام تنسيقات Yuzu المحاكاة. + يُمكّن ميزات فولكان لتحسين الأداء وعرض الرسومات وتوفير الموارد عند إنشاء خطوط المعالجة مع الحفاظ على استهلاك منخفض لوحدة المعالجة المركزية/وحدة معالجة الرسومات. قد تزيد هذه الامتدادات من درجة حرارة الجهاز، وقد لا تعمل وحدات معالجة الرسومات من سلسلة A6XX القديمة بشكل صحيح. اضبط على 0 لاستخدام الأشكال المحاكاة التقليدية. مزامنة سرعة النواة مزامنة سرعة النواة مع النسبة القصوى للسرعة لتحسين الأداء دون تغيير السرعة الفعلية للعبة. استخدام الستاب التلقائي @@ -106,41 +109,41 @@ متوسط (256) مرتفع (512) - + طريقة فك ضغط ASTC اختر كيفية فك ضغط نسيج ASTC للعرض: CPU (بطيء، آمن)، GPU (سريع، موصى به)، أو CPU Async (بدون توقف، قد يسبب مشاكل) وحدة المعالجة المركزية وحدة المعالجة الرسومية وحدة المعالجة المركزية غير المتزامنة - + طريقة إعادة ضغط ASTC -اختر كيفية إعادة ضغط نسيج ASTC لتحسين التوافق والأداء. تمكين هذا الخيار يوفر VRAM ولكن قد يقلل من جودة النسيج. + اختر كيفية إعادة ضغط نسيج ASTC لتحسين التوافق والأداء. تمكين هذا الخيار يوفر VRAM ولكن قد يقلل من جودة النسيج. غير مضغوط BC1 (جودة منخفضة) BC3 (جودة متوسطة) - + وضع استخدام VRAM التحكم في إدارة ذاكرة GPU محافظ عدواني - + خلفية Shader اختيار طريقة ترجمة Shaders عام Mali Adreno/Xclipse - + محاكاة NVDEC اختيار طريقة معالجة الفيديو وحدة المعالجة المركزية وحدة المعالجة الرسومية لا شيء - + تحسين SPIRV يحسن الشادر المترجم لزيادة كفاءة GPU. أبداً @@ -149,27 +152,28 @@ متعدد اللاعبين - استضافة غرفة لعبة أو الانضمام إلى غرفة موجودة للعب مع الآخرين + استضف غرفة لعبتك الخاصة أو انضم إلى غرفة موجودة للعب مع الآخرين الغرفة: %1$s معرف الكونسول: %1$s إنشاء - انضمام + انضم تصفح الغرف العامة اسم المستخدم عنوان IP المنفذ - تم إنشاء الغرفة بنجاح! - تم الانضمام إلى الغرفة بنجاح! - فشل في إنشاء الغرفة! - فشل في الانضمام إلى الغرفة! - عنوان غير صالح أو الاسم قصير جدًا! + تم إنشاء الغرفة بنجاح + تم الانضمام إلى الغرفة بنجاح + فشل في إنشاء الغرفة + فشل في الانضمام إلى الغرفة + الاسم قصير جدًا + عنوان غير صالح منفذ غير صالح! مغادرة الغرفة خطأ في الشبكة فقدان الاتصال - تعارض في الأسماء - تعارض في MAC - تعارض في معرف الكونسول + تعارض في الاسم + تعارض في عنوان MAC + تعارض في معرف الجهاز إصدار خاطئ كلمة مرور خاطئة تعذر الاتصال @@ -181,31 +185,31 @@ خطأ في إنشاء الغرفة تم طرد المضيف خطأ غير معروف - لم يتم تهيئة الغرفة + الغرفة غير مهيأة الغرفة خاملة جارٍ الانضمام إلى الغرفة تم الانضمام إلى الغرفة مشرف الغرفة %1$s انضم %1$s غادر - %1$s تم طرده - %1$s تم حظره + %1$s طُرِد + %1$s حُظِر تم إلغاء حظر العنوان طرد - إرسال رسائل... + إرسال رسائل… كلمة المرور - انضمام - جارٍ الانضمام... + جارٍ الانضمام… + جارٍ الإنشاء… اسم الغرفة يجب أن يكون اسم الغرفة بين 3 و20 حرفًا الحد الأقصى للاعبين (16) الحد الأقصى للاعبين: %d الدردشة - خيارات إضافية + المزيد من الخيارات تم نسخ عنوان IP إلى الحافظة عنوان الخادم الدردشة - اكتب رسالة... + اكتب رسالة… إرسال إرسال رسالة الإشراف @@ -225,12 +229,17 @@ إخفاء الغرف الممتلئة إخفاء الغرف الفارغة اضغط على تحديث للتحقق مرة أخرى - البحث في الغرف... + البحث في الغرف… متعدد اللاعبين الألعاب المفضلة اللعبة المفضلة لم يتم العثور على ألعاب يجب اختيار لعبة مفضلة لاستضافة غرفة. + يجب أن يكون بين 3 و20 حرفًا + مطلوب + تنسيق IP غير صالح + يجب أن يكون 5 أحرف على الأقل + يجب أن يكون بين 1 و65535 إلغاء موافق تحديث diff --git a/src/android/app/src/main/res/values-ckb/strings.xml b/src/android/app/src/main/res/values-ckb/strings.xml index de80b4b9d7..cbe3aaa7cb 100644 --- a/src/android/app/src/main/res/values-ckb/strings.xml +++ b/src/android/app/src/main/res/values-ckb/strings.xml @@ -8,6 +8,9 @@ (پێشکەوتوو) + RAMی پرۆسە: %1$d MB + بیناکردنی + شەیدەر(ەکان) سیستەم: پیشاندانی ستاتیستی کارایی خۆڕێکخستن @@ -68,7 +71,7 @@ تمكين ذاكرة التخزين المؤقت LRU چالاک یان ناچالاککردنی کاشەی LRU (کەمترین بەکارهێنراوی دوایی)، کارایی زیاد دەکات بە هەڵگرتنی بەکارهێنانی CPU. هەندێک یاری کێشەییان هەیە لەگەڵیدا، بەتایبەتی TotK 1.2.1، بۆیە ئەگەر یاریەکە نەکەوتەوە یان بە هەڕەمەکی داخرا، ناچالاکی بکە. الحالة الديناميكية الممتدة - يُمكّن ميزات فولكان لتحسين الأداء، التقديم، وتوفير الموارد أثناء إنشاء خطوط المعالجة مع الحفاظ على استهلاك أقل لوحدة المعالجة المركزية/وحدة معالجة الرسومات. قد تزيد هذه الامتدادات من درجة حرارة الجهاز، وقد لا تتفاعل وحدات معالجة الرسومات القديمة من سلسلة A6XX بشكل صحيح. اضبط على 0 لاستخدام تنسيقات Yuzu المحاكاة. + کاریگەرییەکانی ڤولکان چالاک دەکات بۆ باشترکردنی کارایی، رێندرکردن، و هەڵگرتنی سەرچاوەکان لە دروستکردنی پایپلاین بە بەکارهێنانی کەمی CPU/GPU. ئەم فراوانکراوانە لەوانەیە پلەی گەرمی ئامێر زیاد بکەن، و کارتە گرافیکییە کۆنەکانی زنجیرەی A6XX لەوانەیە بە شێوەیەکی گونجاو کار نەکەن. بۆ بەکارهێنانی شێوازە کۆنەکانی دروستکراو، بڕەکە بۆ ٠ دابنێ. مزامنة سرعة النواة خێرایی تیکەکانی ناوک ڕێکبخە لەگەڵ ڕێژەی خێرایی بەرزترین بۆ باشترکردنی کارایی بەبێ گۆڕینی خێرایی ڕاستەقینەی یارییەکە. استخدام الستاب التلقائي @@ -102,41 +105,41 @@ زۆرکردن (1700MHz) خێرا (2000MHz) - + ڕێگای دیکۆدکردنی ASTC هەڵبژێرە چۆن تێکستوورە پەستووکراوەکانی ASTC دەکرێنەوە بۆ ڕێندرکردن: CPU (هێواش، سەلامەت)، GPU (خێرا، پێشنیارکراو)، یان CPU Async (بێ ستەتەر، لەوانەیە کێشە دروست بکات) CPU GPU CPUی ناڕێک - + ڕێگای پێکهێنانەوەی ASTC هەڵبژێرە چۆن تێکستوورەکانی ASTC پەستوو دەکرێنەوە بۆ باشترکردنی گونجاندن و کارایی. چالاککردنی ئەم هەڵبژاردە VRAM هەڵدەگرێت بەڵام لەوانەیە کەمکردنەوەی کوالێتی تێکستوور بکات. پێکهێنەنەوە BC1 (کوالیتی نزم) BC3 (کوالیتی مامناوەند) - + دۆخی بەکارهێنانی VRAM کۆنتڕۆڵی بەکارهێنانی VRAM پارێزەر توند - + شادەر باکند هەڵبژاردنی ڕێگای پێکهێنانی شادەر گشتی Mali Adreno/Xclipse - + ئیمولەیشنی NVDEC هەڵبژاردنی ڕێگای دیکۆدکردنی ڤیدیۆ CPU GPU هیچ - + باشترکردنی دەرچوونی SPIRV شێیدەرە کۆمپایلکراوەکان باش دەکات بۆ باشترکردنی کارایی GPU. هەرگیز @@ -144,89 +147,95 @@ هەمیشە - فرە یاریزان - ژووری یاری خۆت دروست بکە یان بچۆ ژوورێکی تر بۆ یاریکردن لەگەڵ خەڵک + یاری فرە یاریکەر + ژووری یاری خۆت دروست بکە یان بچۆ ناو ژوورێکی تر بۆ یاریکردن لەگەڵ خەڵک ژوور: %1$s ناسنامەی کۆنسۆڵ: %1$s دروستکردن بەشداریکردن - گەڕان بۆ ژوورە گشتییەکان + گەڕان بە ژوورە گشتییەکان ناوی بەکارهێنەر ناونیشانی IP پۆرت - ژوور بە سەرکەوتوویی دروستکرا! - بە سەرکەوتوویی بەژوور کرا! - دروستکردنی ژوور شکستی هێنا! - بەژووربوون شکستی هێنا! - ناونیشانی نادروست یان ناو زۆر کورتە! + ژوور بە سەرکەوتوویی دروستکرا + بە سەرکەوتوویی چوویتە ناو ژوورەوە + دروستکردنی ژوور سەرنەکەوت + نەتوانی بچیتە ناو ژوورەوە + ناو زۆر کورتە + ناونیشانی نادروست پۆرتی نادروست! دەرچوون لە ژوور هەڵەی تۆڕ پەیوەندی لەدەستچوو - هاوتای ناو - هاوتای MAC - هاوتای ناسنامەی کۆنسۆڵ + ناو دووبارەکراوەتەوە + ناونیشانی MAC دووبارەکراوەتەوە + ناسنامەی کۆنسۆڵ دووبارەکراوەتەوە وەشانی هەڵە تێپەڕەوشەی هەڵە - نەتوانرا پەیوەندی بکرێت + نەتوانی پەیوەندی بکات ژوور پڕە - میواندار قەدەغەکراوە - ڕێگەپێنەدراو - ئەو بەکارهێنەرە نییە - پێشتر لە ژوورە + خاوەن ژوور قەدەغەکراوە + ڕێگەپێنەدراوە + ئەم بەکارهێنەرە بوونی نییە + خۆت لە ژوور دەیت هەڵە لە دروستکردنی ژوور - میواندار دەرکرا + خاوەن ژوور دەرکرا هەڵەی نەناسراو ژوور ڕێکنەخراوە ژوور بێکارە - لە بەژووربووندایە - بەژوور کرا + چوونە ناو ژوور + چوویتە ناو ژوورەوە چاودێری ژوور - %1$s بەژوور بوو - %1$s ژووری بەجێهێشت + %1$s بەشداریکرد + %1$s جێهێشت %1$s دەرکرا %1$s قەدەغەکرا - ناونیشان لە قەدەغەکردن دەرکرا + ناونیشان لە قەدەغە دەرکرا دەرکردن - ناردنی پەیام... + ناردنی نامە… تێپەڕەوشە - بەشداریکردن - لە بەژووربووندایە... + چوونە ناو ژوور… + دروستکردنی ژوور… ناوی ژوور ناوی ژوور دەبێت لە نێوان 3 بۆ 20 پیت بێت - زۆرترین یاریزان (16) - زۆرترین یاریزان: %d + زۆرترین یاریکەر (16) + زۆرترین یاریکەر: %d گفتوگۆ - هەڵبژاردەی زیاتر + هەڵبژاردنی زیاتر ناونیشانی IP کۆپی کراوە بۆ کلیپبۆرد ناونیشانی سێرڤەر گفتوگۆ - پەیام بنووسە... + نامە بنووسە… ناردن ناردنی پەیام چاودێری - لیستی قەدەغەکردن + لیستی قەدەغەکراوەکان هیچ بەکارهێنەرێک قەدەغە نەکراوە - لابردنی قەدەغە لە بەکارهێنەر - لابردنی قەدەغە - دڵنیایت لە ئەوەی دەتەوێت قەدەغە لە %1$s لابەری؟ + لادانی قەدەغە لە بەکارهێنەر + لادانی قەدەغە + دڵنیایت دەتەوێ قەدەغە لە %1$s لابەری؟ قەدەغەکردنی بەکارهێنەر ژوورە گشتییەکان هیچ ژوورێکی گشتی نەدۆزرایەوە تێپەڕەوشە پێویستە : %1$d/%2$d یاری - هەر یارییەک + هیچ یارییەک ژوور بە تێپەڕەوشە پارێزراوە شاردنەوەی ژوورە پڕەکان شاردنەوەی ژوورە بەتاڵەکان - بیپەڕێنەوە بۆ پشکنینەوە - گەڕان بۆ ژوورەکان... - فرە یاریزان + بیپەڕێنەوە بۆ پشکنینی دووبارە + گەڕان بە ژوورەکان… + یاری فرە یاریکەر یارییە پەسەندکراوەکان یاریی پەسەندکراو هیچ یارییەک نەدۆزرایەوە پێویستە یارییەکی پەسەندکراو هەڵبژێریت بۆ میوانداریکردنی ژوور. + دەبێت لە نێوان 3 بۆ 20 پیت بێت + پێویستە + فۆرماتی IP نادروستە + دەبێت لانیکەم 5 پیت بێت + دەبێت لە نێوان 1 بۆ 65535 بێت پاشگەزبوونەوە باشە نوێکردنەوە diff --git a/src/android/app/src/main/res/values-cs/strings.xml b/src/android/app/src/main/res/values-cs/strings.xml index 5a4e6f86bd..da044122a3 100644 --- a/src/android/app/src/main/res/values-cs/strings.xml +++ b/src/android/app/src/main/res/values-cs/strings.xml @@ -7,6 +7,9 @@ (Vylepšený) + RAM procesu: %1$d MB + Sestavování + shaderů Systém: Zobrazit překryv statistik výkonu Přizpůsobení @@ -67,7 +70,7 @@ Povolit LRU mezipaměť Povolte nebo zakažte mezipaměť LRU (Least Recently Used), což zvýší výkon snížením zatížení CPU. Některé hry s ní mají problémy, zejména TotK 1.2.1, proto ji deaktivujte, pokud hra nespustí nebo náhodně padá. Rozšířený dynamický stav - Umožňuje funkce Vulkan pro lepší výkon, vykreslování a úsporu zdrojů při vytváření grafických pipeline při zachování nižšího využití CPU/GPU. Tato rozšíření mohou zvýšit teplotu zařízení a starší GPU řady A6XX nemusí reagovat správně. Nastavte na 0 pro použití emulovaných formátů Yuzu. + Umožňuje funkce Vulkan pro lepší výkon, vykreslování a úsporu prostředků při vytváření pipeline při zachování nízkého využití CPU/GPU. Tato rozšíření mohou zvýšit teplotu zařízení a starší GPU řady A6XX nemusí fungovat správně. Nastavte na 0 pro použití zastaralých emulovaných formátů. Synchronizovat rychlost jádra Synchronizuje rychlost jádra s maximálním procentem rychlosti, aby se zlepšil výkon bez změny skutečné rychlosti hry. Použít automatický stub @@ -101,34 +104,34 @@ Boost (1700MHz) Rychlé (2000MHz) - + Metoda dekódování ASTC Vyberte způsob dekódování textur komprimovaných pomocí ASTC pro vykreslování: CPU (pomalé, bezpečné), GPU (rychlé, doporučené) nebo CPU Async (žádné zasekávání, ale mohou nastat problémy) CPU GPU CPU asynchronně - + Metoda rekomprese ASTC -Vyberte způsob rekomprese textur ASTC pro zlepšení kompatibility a výkonu. Zapnutí této volby ušetří VRAM, ale může snížit kvalitu textur. + Vyberte způsob rekomprese textur ASTC pro zlepšení kompatibility a výkonu. Zapnutí této volby ušetří VRAM, ale může snížit kvalitu textur. Nekomprimované BC1 (nízká kvalita) BC3 (střední kvalita) - + Režim využití VRAM Správa alokace GPU paměti Konzervativní Agresivní - + Backend shaderů Způsob kompilace shaderů Univerzální Mali Adreno/Xclipse - + Emulace NVDEC Zpracování dekódování videa CPU @@ -143,8 +146,8 @@ Vždy - Multiplayer - Vytvořte si vlastní herní místnost nebo se připojte k existující, abyste mohli hrát s ostatními + Více hráčů + Vytvořte si vlastní herní místnost nebo se připojte k existující a hrajte s ostatními Místnost: %1$s ID konzole: %1$s Vytvořit @@ -153,21 +156,22 @@ Uživatelské jméno IP adresa Port - Místnost úspěšně vytvořena! - Úspěšně připojeno k místnosti! - Nepodařilo se vytvořit místnost! - Nepodařilo se připojit k místnosti! - Neplatná adresa nebo jméno je příliš krátké! + Místnost úspěšně vytvořena + Úspěšně připojeno k místnosti + Nepodařilo se vytvořit místnost + Nepodařilo se připojit k místnosti + Jméno je příliš krátké + Neplatná adresa Neplatný port! Opustit místnost Chyba sítě Ztraceno připojení Kolize jmen - Kolize MAC + Kolize MAC adresy Kolize ID konzole Nesprávná verze Nesprávné heslo - Nepodařilo se připojit + Nelze se připojit Místnost je plná Hostitel zablokován Přístup odepřen @@ -183,14 +187,14 @@ Moderátor místnosti %1$s se připojil %1$s odešel - %1$s byl vyhozen - %1$s byl zablokován + %1$s vyhozen + %1$s zablokován Adresa odblokována Vyhodit Poslat zprávu… Heslo - Připojit se - Připojování... + Připojování… + Vytváření… Název místnosti Název místnosti musí mít 3 až 20 znaků Maximální počet hráčů (16) @@ -200,18 +204,18 @@ IP adresa zkopírována do schránky Adresa serveru Chat - Napsat zprávu… + Napište zprávu… Odeslat Odeslat zprávu Moderace - Seznam zákazů + Seznam zablokovaných Žádní zablokovaní uživatelé Odblokovat uživatele Odblokovat Opravdu chcete odblokovat %1$s? Zablokovat uživatele Veřejné místnosti - Nenalezeny žádné veřejné místnosti + Nebyly nalezeny žádné veřejné místnosti Vyžadováno heslo : %1$d/%2$d Hra @@ -219,13 +223,18 @@ Místnost chráněná heslem Skrýt plné místnosti Skrýt prázdné místnosti - Pro opětovnou kontrolu klepněte na obnovit + Klepnutím obnovte znovu Hledat místnosti… - Multiplayer + Více hráčů Preferované hry Preferovaná hra Nenalezeny žádné hry Pro hostování místnosti musíte vybrat preferovanou hru. + Musí mít 3 až 20 znaků + Povinné + Neplatný formát IP + Musí mít alespoň 5 znaků + Musí být mezi 1 a 65535 Zrušit OK Obnovit diff --git a/src/android/app/src/main/res/values-de/strings.xml b/src/android/app/src/main/res/values-de/strings.xml index c3e035f26e..321913a1db 100644 --- a/src/android/app/src/main/res/values-de/strings.xml +++ b/src/android/app/src/main/res/values-de/strings.xml @@ -8,6 +8,9 @@ (Enhanced) + Prozess-RAM: %1$d MB + Erstelle + Shader System: Leistungsstatistik Overlay anzeigen Anpassung @@ -68,7 +71,7 @@ LRU-Cache aktivieren Aktivieren oder deaktivieren Sie den LRU-Cache (Least Recently Used), um die Leistung durch Reduzierung der CPU-Auslastung zu verbessern. Einige Spiele haben Probleme damit, insbesondere TotK 1.2.1, deaktivieren Sie ihn also, wenn das Spiel nicht startet oder zufällig abstürzt. Erweiterter dynamischer Status - Aktiviert Vulkan-Funktionen zur Verbesserung der Leistung, des Renderings und zur Ressourceneinsparung bei der Pipeline-Erstellung, während die CPU/GPU-Auslastung niedrig bleibt. Diese Erweiterungen können die Gerätetemperatur erhöhen, und ältere GPUs der A6XX-Serie reagieren möglicherweise nicht korrekt. Auf 0 setzen, um emulierte Yuzu-Formate zu verwenden. + Aktiviert Vulkan-Funktionen zur Leistungssteigerung, verbessertem Rendering und Ressourcenschonung bei der Pipeline-Erstellung bei niedriger CPU/GPU-Auslastung. Diese Erweiterungen können die Gerätetemperatur erhöhen, und GPUs der älteren A6XX-Serie funktionieren möglicherweise nicht korrekt. Auf 0 setzen, um emulierte Legacy-Formate zu verwenden. Kern-Geschwindigkeit synchronisieren Synchronisiert die Taktrate des Kerns mit der maximalen Geschwindigkeit, um die Leistung zu verbessern, ohne die tatsächliche Spielgeschwindigkeit zu verändern. Auto-Stub verwenden @@ -145,7 +148,7 @@ Mehrspieler - Erstellen Sie Ihren eigenen Spielraum oder treten Sie einem bestehenden bei, um mit anderen zu spielen + Erstelle deinen eigenen Spielraum oder trete einem bestehenden bei, um mit anderen zu spielen Raum: %1$s Konsole-ID: %1$s Erstellen @@ -154,17 +157,18 @@ Benutzername IP-Adresse Port - Raum erfolgreich erstellt! - Erfolgreich dem Raum beigetreten! - Raumerstellung fehlgeschlagen! - Beitritt zum Raum fehlgeschlagen! - Ungültige Adresse oder Name zu kurz! + Raum erfolgreich erstellt + Erfolgreich beigetreten + Raum konnte nicht erstellt werden + Beitritt fehlgeschlagen + Name zu kurz + Ungültige Adresse Ungültiger Port! Raum verlassen Netzwerkfehler Verbindung verloren Namenskonflikt - MAC-Konflikt + MAC-Adressenkonflikt Konsole-ID-Konflikt Falsche Version Falsches Passwort @@ -175,30 +179,30 @@ Benutzer existiert nicht Bereits im Raum Fehler beim Erstellen des Raums - Host gekickt + Host wurde entfernt Unbekannter Fehler Raum nicht initialisiert Raum inaktiv - Raum beitreten + Beitritt läuft… Raum beigetreten - Raummoderator + Raum-Moderator %1$s ist beigetreten %1$s hat verlassen - %1$s wurde gekickt + %1$s wurde entfernt %1$s wurde gebannt Adresse entbannt - Kicken + Entfernen Nachricht senden… Passwort - Beitreten - Beitritt läuft... + Beitritt läuft… + Erstellung läuft… Raumname - Raumname muss zwischen 3 und 20 Zeichen lang sein + Raumname muss 3-20 Zeichen lang sein Max. Spieler (16) Max. Spieler: %d Chat Weitere Optionen - IP-Adresse in die Zwischenablage kopiert + IP-Adresse kopiert Serveradresse Chat Nachricht eingeben… @@ -207,9 +211,9 @@ Moderation Bannliste Keine gebannten Benutzer - Benutzer entbannen + Entbannen Entbannen - Sind Sie sicher, dass Sie %1$s entbannen möchten? + %1$s wirklich entbannen? Benutzer bannen Öffentliche Räume Keine öffentlichen Räume gefunden @@ -220,13 +224,18 @@ Passwortgeschützter Raum Volle Räume ausblenden Leere Räume ausblenden - Zum erneuten Prüfen aktualisieren + Zum Aktualisieren tippen Räume suchen… Mehrspieler Bevorzugte Spiele Bevorzugtes Spiel Keine Spiele gefunden - Sie müssen ein bevorzugtes Spiel auswählen, um einen Raum zu hosten. + Zum Hosten muss ein bevorzugtes Spiel ausgewählt werden. + Muss 3-20 Zeichen lang sein + Erforderlich + Ungültiges IP-Format + Mindestens 5 Zeichen + Muss zwischen 1-65535 liegen Abbrechen OK Aktualisieren diff --git a/src/android/app/src/main/res/values-es/strings.xml b/src/android/app/src/main/res/values-es/strings.xml index dac472825f..447fdfbe47 100644 --- a/src/android/app/src/main/res/values-es/strings.xml +++ b/src/android/app/src/main/res/values-es/strings.xml @@ -8,6 +8,9 @@ (Mejorado) + RAM de proceso: %1$d MB + Compilando + shader(s) Sistema: Mostrar superposición de estadísticas de rendimiento Personalización @@ -68,7 +71,7 @@ Habilitar caché LRU Activa o desactiva la caché LRU (menos usados recientemente), aumentando el rendimiento al ahorrar uso de CPU. Algunos juegos tienen problemas con ella, especialmente TotK 1.2.1, así que desactívala si el juego no arranca o se cierra aleatoriamente. Estado dinámico extendido - Habilita funciones Vulkan para mejorar rendimiento, renderizado y ahorrar recursos en creación de pipelines manteniendo bajo uso de CPU/GPU. Estas extensiones pueden aumentar la temperatura del dispositivo y GPUs antiguas de serie A6XX podrían no responder correctamente. Establecer en 0 para usar formatos emulados de Yuzu. + Habilita funciones de Vulkan para mejorar el rendimiento, el renderizado y ahorrar recursos en la creación de pipelines manteniendo un uso reducido de CPU/GPU. Estas extensiones pueden aumentar la temperatura del dispositivo, y las GPU de la antigua serie A6XX podrían no funcionar correctamente. Establecer en 0 para usar formatos emulados heredados. Sincronizar velocidad del núcleo Sincroniza la velocidad del núcleo con el porcentaje máximo de velocidad para mejorar el rendimiento sin alterar la velocidad real del juego. Usar Auto Stub @@ -102,41 +105,41 @@ Boost (1700MHz) Rápido (2000MHz) - + Método de decodificación ASTC Elige cómo se decodifican las texturas comprimidas ASTC para el renderizado: CPU (lento, seguro), GPU (rápido, recomendado) o CPU Async (sin tartamudeos, puede causar problemas) CPU GPU CPU asíncrono - + Método de recompresión ASTC Elige cómo se recomprimen las texturas ASTC para mejorar la compatibilidad y el rendimiento. Habilitar esta opción ahorra VRAM pero puede reducir la calidad de las texturas. Sin compresión BC1 (baja calidad) BC3 (calidad media) - + Modo de uso de VRAM Controlar asignación de memoria GPU Conservador Agresivo - + Backend de shaders Elegir cómo se compilan shaders Universal Mali Adreno/Xclipse - + Emulación NVDEC Elegir cómo se maneja decodificación de video CPU GPU Ninguno - + Optimizar salida SPIRV Optimiza el sombreador compilado para mejorar la eficiencia de la GPU. Nunca @@ -144,93 +147,99 @@ Siempre - Multijugador - Crea tu propia sala de juego o únete a una existente para jugar con otros - Sala: %1$s - ID de consola: %1$s - Crear - Unirse - Explorar salas públicas - Nombre de usuario - Dirección IP - Puerto - ¡Sala creada con éxito! - ¡Te has unido a la sala con éxito! - ¡Error al crear la sala! - ¡Error al unirse a la sala! - ¡Dirección inválida o nombre demasiado corto! - ¡Puerto inválido! - Salir de la sala - Error de red - Conexión perdida - Colisión de nombres - Colisión de MAC - Colisión de ID de consola - Versión incorrecta - Contraseña incorrecta - No se pudo conectar - La sala está llena - Anfitrión baneado - Permiso denegado - Usuario no encontrado - Ya estás en la sala - Error al crear la sala - Anfitrión expulsado - Error desconocido - Sala no inicializada - Sala inactiva - Uniéndose a la sala - Unido a la sala - Moderador de la sala - %1$s se ha unido - %1$s ha salido - %1$s ha sido expulsado - %1$s ha sido baneado - Dirección desbaneada - Expulsar - Enviar mensaje… - Contraseña - Unirse - Uniéndose... - Nombre de la sala - El nombre de la sala debe tener entre 3 y 20 caracteres - Jugadores máx. (16) - Jugadores máx.: %d - Chat - Más opciones - Dirección IP copiada al portapapeles - Dirección del servidor - Chat - Escribe un mensaje… - Enviar - Enviar mensaje - Moderación - Lista de baneos - No hay usuarios baneados - Desbanear usuario - Desbanear - ¿Seguro que quieres desbanear a %1$s? - Banear usuario - Salas públicas - No se encontraron salas públicas - Contraseña requerida + چند نفره + اتاق بازی خود را میزبانی کنید یا به یک اتاق موجود بپیوندید + اتاق: %1$s + شناسه کنسول: %1$s + ایجاد + عضویت + مرور اتاق‌های عمومی + نام کاربری + آدرس IP + پورت + اتاق با موفقیت ایجاد شد + با موفقیت به اتاق پیوستید + خطا در ایجاد اتاق + خطا در پیوستن به اتاق + نام خیلی کوتاه است + آدرس نامعتبر + پورت نامعتبر! + خروج از اتاق + خطای شبکه + اتصال قطع شد + تضاد نام + تضاد آدرس MAC + تضاد شناسه کنسول + نسخه نادرست + رمز عبور نادرست + اتصال برقرار نشد + اتاق پر است + میزبان مسدود شده + دسترسی رد شد + کاربری وجود ندارد + قبلاً در اتاق هستید + خطا در ایجاد اتاق + میزبان اخراج شد + خطای ناشناخته + اتاق راه‌اندازی نشده + اتاق بیکار + در حال پیوستن... + به اتاق پیوستید + ناظر اتاق + %1$s پیوست + %1$s ترک کرد + %1$s اخراج شد + %1$s مسدود شد + آدرس آزاد شد + اخراج + ارسال پیام... + رمز عبور + در حال پیوستن... + در حال ایجاد... + نام اتاق + نام اتاق باید بین 3 تا 20 کاراکتر باشد + حداکثر بازیکنان (16) + حداکثر بازیکنان: %d + چت + گزینه‌های بیشتر + آدرس IP کپی شد + آدرس سرور + چت + پیام بنویسید... + ارسال + ارسال پیام + مدیریت + لیست مسدودها + کاربر مسدود شده‌ای وجود ندارد + آزاد کردن کاربر + آزاد کردن + آیا می‌خواهید %1$s را آزاد کنید؟ + مسدود کردن کاربر + اتاق‌های عمومی + اتاق عمومی یافت نشد + رمز عبور لازم است : %1$d/%2$d - Juego - Cualquier juego - Sala protegida con contraseña - Ocultar salas llenas - Ocultar salas vacías - Toca actualizar para comprobar de nuevo - Buscar salas… - Multijugador - Juegos preferidos - Juego preferido - No se encontraron juegos - Debes elegir un juego preferido para crear una sala. - Cancelar - Aceptar - Actualizar - Lista de salas + بازی + هر بازی + اتاق با رمز عبور + پنهان کردن اتاق‌های پر + پنهان کردن اتاق‌های خالی + برای بررسی مجدد لمس کنید + جستجوی اتاق‌ها... + چند نفره + بازی‌های ترجیحی + بازی ترجیحی + بازی یافت نشد + برای میزبانی اتاق باید یک بازی ترجیحی انتخاب کنید + باید بین 3 تا 20 کاراکتر باشد + الزامی + فرمت IP نامعتبر + حداقل 5 کاراکتر + باید بین 1 تا 65535 باشد + انصراف + تایید + تازه‌سازی + لیست اتاق‌ها Color del tema diff --git a/src/android/app/src/main/res/values-fa/strings.xml b/src/android/app/src/main/res/values-fa/strings.xml index 9f0a5f6e13..8bd2f82aad 100644 --- a/src/android/app/src/main/res/values-fa/strings.xml +++ b/src/android/app/src/main/res/values-fa/strings.xml @@ -8,6 +8,9 @@ (بهبودیافته) + حافظه فرآیند: %1$d مگابایت + در حال ساخت + شیدر(ها) سیستم: نمایش آمار عملکرد سفارشی‌سازی @@ -68,7 +71,7 @@ فعال‌سازی حافظه نهان LRU فعال یا غیرفعال کردن کش LRU (کمترین اخیراً استفاده شده)، که با کاهش استفاده از CPU عملکرد را افزایش می‌دهد. برخی بازی‌ها با آن مشکل دارند، به ویژه TotK 1.2.1، بنابراین اگر بازی اجرا نشد یا به صورت تصادفی کرش کرد، آن را غیرفعال کنید. حالت پویای گسترده - قابلیت‌های ولکان را برای بهبود عملکرد، رندرینگ و صرفه‌جویی در منابع هنگام ایجاد خط لوله فعال می‌کند در حالی که مصرف CPU/GPU پایین حفظ می‌شود. این افزونه‌ها ممکن است دمای دستگاه را افزایش دهند و کارت‌های گرافیک سری قدیمی A6XX ممکن است واکنش مناسبی نشان ندهند. برای استفاده از فرمت‌های شبیه‌سازی شده یوزو روی 0 تنظیم کنید + قابلیت‌های ولکان را برای بهبود عملکرد، رندرینگ و صرفه‌جویی در منابع هنگام ایجاد خط لوله فعال می‌کند، در حالی که استفاده از CPU/GPU پایین نگه داشته می‌شود. این افزونه‌ها ممکن است دمای دستگاه را افزایش دهند و کارت‌های گرافیک سری قدیمی A6XX ممکن است به درستی کار نکنند. برای استفاده از فرمت‌های شبیه‌سازی شده قدیمی، مقدار را روی 0 تنظیم کنید. همگام‌سازی سرعت هسته همگام‌سازی سرعت هسته با حداکثر درصد سرعت برای بهبود عملکرد بدون تغییر سرعت واقعی بازی. استفاده از استاب خودکار @@ -102,41 +105,41 @@ تقویت (1700MHz) سریع (2000MHz) - + روش رمزگشایی ASTC انتخاب کنید که بافت‌های فشرده‌شده با ASTC چگونه برای رندرینگ رمزگشایی شوند: CPU (کند، ایمن)، GPU (سریع، توصیه‌شده) یا CPU Async (بدون مکث، ممکن است مشکلاتی ایجاد کند) CPU GPU CPU ناهمگام - + روش فشرده‌سازی مجدد ASTC انتخاب کنید که بافت‌های ASTC چگونه فشرده‌سازی مجدد شوند تا سازگاری و عملکرد بهبود یابد. فعال کردن این گزینه VRAM را ذخیره می‌کند اما ممکن است کیفیت بافت را کاهش دهد. فشرده‌نشده BC1 (کیفیت پایین) BC3 (کیفیت متوسط) - + حالت استفاده از VRAM کنترل نحوه تخصیص و آزادسازی حافظه GPU محافظه‌کارانه تهاجمی - + بک‌اند شیدر انتخاب روش کامپایل و ترجمه شیدرها همه‌کاره Mali Adreno/Xclipse - + شبیه‌سازی NVDEC انتخاب روش پردازش ویدیو (NVDEC) CPU GPU هیچ‌کدام - + بهینه‌سازی خروجی SPIRV شیدر کامپایل شده را برای بهبود کارایی GPU بهینه‌سازی می‌کند. هرگز @@ -155,11 +158,10 @@ آدرس IP پورت اتاق با موفقیت ایجاد شد! - عضویت در اتاق با موفقیت انجام شد! - خطا در ایجاد اتاق! - خطا در عضویت به اتاق! - آدرس نامعتبر یا نام خیلی کوتاه! - پورت نامعتبر! + با موفقیت به اتاق پیوستید! + ایجاد اتاق ناموفق بود! + پیوستن به اتاق ناموفق بود! + پورت نامعتبر است! خروج از اتاق خطای شبکه اتصال قطع شد @@ -190,8 +192,7 @@ اخراج ارسال پیام… رمز عبور - عضویت - در حال عضویت... + در حال پیوستن... نام اتاق نام اتاق باید بین 3 تا 20 کاراکتر باشد حداکثر بازیکنان (16) diff --git a/src/android/app/src/main/res/values-fr/strings.xml b/src/android/app/src/main/res/values-fr/strings.xml index 094639ca98..cc5179169f 100644 --- a/src/android/app/src/main/res/values-fr/strings.xml +++ b/src/android/app/src/main/res/values-fr/strings.xml @@ -8,6 +8,9 @@ (Amélioré) + RAM processus: %1$d Mo + Compilation + des shaders Système: Afficher les stats de performance Personnalisation @@ -68,7 +71,7 @@ Activer le cache LRU Activez ou désactivez le cache LRU (Least Recently Used), ce qui améliore les performances en réduisant l\'utilisation du CPU. Certains jeux ont des problèmes avec, notamment TotK 1.2.1, désactivez-le donc si le jeu ne démarre pas ou plante aléatoirement. État dynamique étendu - Active les fonctionnalités Vulkan pour améliorer les performances, le rendu et économiser les ressources lors de la création de pipelines tout en maintenant une faible utilisation CPU/GPU. Ces extensions peuvent augmenter la température de l`appareil, et les GPU plus anciens de la série A6XX peuvent ne pas réagir correctement. Réglez sur 0 pour utiliser les formats émulés de Yuzu. + Active les fonctionnalités Vulkan pour améliorer les performances, le rendu et économiser les ressources lors de la création du pipeline tout en maintenant une faible utilisation du CPU/GPU. Ces extensions peuvent augmenter la température de l\'appareil, et les GPU de l\'ancienne série A6XX peuvent ne pas fonctionner correctement. Réglez sur 0 pour utiliser les formats émulés hérités. Synchroniser la vitesse du cœur Synchronise la vitesse du cœur avec le pourcentage de vitesse maximal pour améliorer les performances sans modifier la vitesse réelle du jeu. Utiliser le stub automatique @@ -102,21 +105,21 @@ Boost (1700MHz) Rapide (2000MHz) - + Méthode ASTC Choisissez comment les textures compressées ASTC sont décodées pour le rendu : CPU (lent, sûr), GPU (rapide, recommandé) ou CPU Async (pas de saccades, peut causer des problèmes) CPU GPU CPU async - + Recompression ASTC Choisissez comment les textures ASTC sont recompressées pour améliorer la compatibilité et les performances. Activer cette option économise la VRAM mais peut réduire la qualité des textures. Non compressé BC1 (basse qualité) BC3 (qualité moyenne) - + Mode VRAM Gestion de la mémoire GPU Conservateur @@ -129,14 +132,14 @@ Mali Adreno/Xclipse - + Émulation NVDEC Gestion du décodage vidéo CPU GPU Aucun - + Optimiser SPIRV Optimise le shader compilé pour améliorer l\'efficacité du GPU. Jamais @@ -145,43 +148,44 @@ Multijoueur - Créez votre propre salle de jeu ou rejoignez une salle existante pour jouer avec d\'autres - Salle : %1$s - ID de la console : %1$s + Créez votre propre salon ou rejoignez-en un existant pour jouer avec d\'autres + Salon : %1$s + ID console : %1$s Créer Rejoindre - Parcourir les salles publiques + Parcourir les salons publics Nom d\'utilisateur Adresse IP Port - Salle créée avec succès ! - Vous avez rejoint la salle avec succès ! - Échec de la création de la salle ! - Échec de la connexion à la salle ! - Adresse invalide ou nom trop court ! + Salon créé avec succès + Salon rejoint avec succès + Échec de la création du salon + Échec de la connexion au salon + Nom trop court + Adresse invalide Port invalide ! - Quitter la salle + Quitter le salon Erreur réseau Connexion perdue Conflit de noms Conflit d\'adresse MAC - Conflit d\'ID de console + Conflit d\'ID console Mauvaise version Mauvais mot de passe Connexion impossible - La salle est pleine + Salon plein Hôte banni Permission refusée - Utilisateur inexistant - Déjà dans la salle - Erreur lors de la création de la salle + Utilisateur introuvable + Déjà dans le salon + Erreur de création de salon Hôte expulsé Erreur inconnue - Salle non initialisée - Salle inactive - Connexion à la salle - Connecté à la salle - Modérateur de la salle + Salon non initialisé + Salon inactif + Connexion au salon… + Salon rejoint + Modérateur du salon %1$s a rejoint %1$s a quitté %1$s a été expulsé @@ -190,15 +194,15 @@ Expulser Envoyer un message… Mot de passe - Rejoindre - Connexion en cours... - Nom de la salle - Le nom de la salle doit comporter entre 3 et 20 caractères + Connexion… + Création… + Nom du salon + Le nom doit contenir entre 3 et 20 caractères Joueurs max (16) Joueurs max : %d Chat Plus d\'options - Adresse IP copiée dans le presse-papiers + Adresse IP copiée Adresse du serveur Chat Écrire un message… @@ -209,28 +213,33 @@ Aucun utilisateur banni Débannir un utilisateur Débannir - Êtes-vous sûr de vouloir débannir %1$s ? + Débannir %1$s ? Bannir un utilisateur - Salles publiques - Aucune salle publique trouvée + Salons publics + Aucun salon public trouvé Mot de passe requis : %1$d/%2$d Jeu N\'importe quel jeu - Salle protégée par mot de passe - Masquer les salles pleines - Masquer les salles vides - Appuyez sur actualiser pour vérifier à nouveau - Rechercher des salles… + Salon protégé par mot de passe + Masquer les salons pleins + Masquer les salons vides + Toucher pour actualiser + Rechercher des salons… Multijoueur Jeux préférés Jeu préféré Aucun jeu trouvé - Vous devez choisir un jeu préféré pour héberger une salle. + Vous devez choisir un jeu préféré pour héberger un salon. + Doit contenir entre 3 et 20 caractères + Requis + Format IP invalide + Doit contenir au moins 5 caractères + Doit être entre 1 et 65535 Annuler OK Actualiser - Liste des salles + Liste des salons Couleur du thème diff --git a/src/android/app/src/main/res/values-he/strings.xml b/src/android/app/src/main/res/values-he/strings.xml index 0025b65692..e804b862d4 100644 --- a/src/android/app/src/main/res/values-he/strings.xml +++ b/src/android/app/src/main/res/values-he/strings.xml @@ -8,6 +8,9 @@ (משופר) + זיכרון תהליך: %1$d MB + בונה + שיידר(ים) מערכת: הצג סטטיסטיקות ביצועים התאמה אישית @@ -68,7 +71,7 @@ הפעלת מטמון LRU הפעל או השבת את מטמון LRU (Least Recently Used), המשפר ביצועים על ידי חיסכון בשימוש במעבד. חלק מהמשחקים נתקלים בבעיות עם זה, במיוחד TotK 1.2.1, אז השבת אם המשחק לא נטען או קורס אקראית. מצב דינמי מורחב - מאפשר תכונות Vulkan לשיפור ביצועים, רינדור וחיסכון במשאבים תוך שמירה על שימוש נמוך ב-CPU/GPU. הרחבות אלו עשויות להעלות את טמפ` המכשיר, וכרטיסי מסך מסדרת A6XX הישנים יותר עשויים לא להגיב כראוי. הגדר ל-0 כדי להשתמש בפורמטים המדומים של Yuzu. + מאפשר תכונות Vulkan לשיפור ביצועים, רינדור וחיסכון במשאבים בעת יצירת צינור עיבוד תוך שמירה על שימוש נמוך ב-CPU/GPU. הרחבות אלו עשויות להעלות את טמפרטורת המכשיר, וייתכן שכרטיסי מסך מסדרת A6XX הישנה לא יגיבו כראוי. הגדר ל-0 כדי להשתמש בפורמטים מדומים מיושנים. סנכרון מהירות ליבה סנכרן את מהירות הליבה לאחוז המהירות המרבי כדי לשפר ביצועים מבלי לשנות את מהירות המשחק בפועל. שימוש ב-Auto Stub @@ -103,41 +106,41 @@ Boost (1700MHz) מהיר (2000MHz) - + שיטת פענוח ASTC בחר כיצד לפרק את הטקסטורות הדחוסות ב-ASTC עבור רינדור: CPU (איטי, בטוח), GPU (מהיר, מומלץ) או CPU Async (ללא קפיצות, עלול לגרום לבעיות) מעבד כרטיס מסך מעבד (א-סינכרוני) - + שיטת דחיסת ASTC בחר כיצד דחיסה מחדש של טקסטורות ASTC משפרת תאימות וביצועים. הפעלת אפשרות זו חוסכת VRAM אך עלולה להוריד את איכות הטקסטורה. לא דחוס BC1 (איכות נמוכה) BC3 (איכות בינונית) - + מצב שימוש ב-VRAM שליטה בקצב הקצאת ושחרור זיכרון GPU שמרני אגרסיבי - + מנוע שיידרים בחר כיצד לקמפל שיידרים אוניברסלי Mali Adreno/Xclipse - + אמולציית NVDEC בחר כיצד לטפל בפענוח וידאו מעבד כרטיס מסך ללא - + אופטימיזציית SPIRV משפר את השאדר המהודר כדי להגביר את יעילות ה-GPU. לעולם לא @@ -145,8 +148,8 @@ תמיד - משחק מרובה משתתפים - צור חדר משחק משלך או הצטרף לחדר קיים כדי לשחק עם אחרים + רב־משתתפים + ארח חדר משחק משלך או הצטרף לחדר קיים כדי לשחק עם אנשים חדר: %1$s מזהה קונסולה: %1$s צור @@ -155,20 +158,21 @@ שם משתמש כתובת IP פורט - החדר נוצר בהצלחה! - הצטרפת לחדר בהצלחה! - יצירת החדר נכשלה! - הצטרפות לחדר נכשלה! - כתובת לא תקינה או שם קצר מדי! + החדר נוצר בהצלחה + הצטרפת לחדר בהצלחה + יצירת חדר נכשלה + הצטרפות לחדר נכשלה + השם קצר מדי + כתובת לא תקינה פורט לא תקין! צא מהחדר שגיאת רשת החיבור אבד - התנגשות שמות - התנגשות MAC - התנגשות מזהה קונסולה - גרסה שגויה - סיסמה שגויה + שם כבר קיים + כתובת MAC כבר קיימת + מזהה קונסולה כבר קיים + גרסה לא נכונה + סיסמה לא נכונה לא ניתן להתחבר החדר מלא מארח חסום @@ -178,25 +182,25 @@ שגיאה ביצירת חדר מארח הוסר שגיאה לא ידועה - החדר לא אותחל - החדר במצב המתנה - מצטרף לחדר - הצטרף לחדר + חדר לא מאותחל + חדר לא פעיל + מצטרף לחדר... + הצטרפת לחדר מנהל חדר %1$s הצטרף %1$s עזב %1$s הוסר %1$s נחסם - כתובת שוחררה מחסימה + כתובת שוחררה הסר - שלח הודעה… + שלח הודעה... סיסמה - הצטרף - מצטרף... - שם החדר - שם החדר חייב להיות בין 3 ל-20 תווים - משתתפים מקסימליים (16) - משתתפים מקסימליים: %d + מצטרף... + יוצר... + שם חדר + שם חדר חייב להיות בין 3-20 תווים + מקסימום שחקנים (16) + מקסימום שחקנים: %d צ\'אט אפשרויות נוספות כתובת IP הועתקה ללוח @@ -208,9 +212,9 @@ ניהול רשימת חסומים אין משתמשים חסומים - שחרור משתמש מחסימה - שחרר מחסימה - האם אתה בטוח שברצונך לשחרר את %1$s מחסימה? + שחרור משתמש + שחרר + האם לשחרר את %1$s? חסום משתמש חדרים ציבוריים לא נמצאו חדרים ציבוריים @@ -218,19 +222,24 @@ : %1$d/%2$d משחק כל משחק - חדר מוגן בסיסמה + חדר עם סיסמה הסתר חדרים מלאים הסתר חדרים ריקים - הקש על רענן כדי לבדוק שוב - חפש חדרים… - משחק מרובה משתתפים + הקש לרענון לבדיקה מחדש + חפש חדרים... + רב־משתתפים משחקים מועדפים משחק מועדף לא נמצאו משחקים - עליך לבחור משחק מועדף כדי לארח חדר. + עליך לבחור משחק מועדף לאירוח חדר + חייב להיות בין 3-20 תווים + נדרש + פורמט IP לא תקין + לפחות 5 תווים + חייב להיות בין 1-65535 ביטול אישור - רענן + רענון רשימת חדרים diff --git a/src/android/app/src/main/res/values-hu/strings.xml b/src/android/app/src/main/res/values-hu/strings.xml index d17abfdcb0..6f0913bb7d 100644 --- a/src/android/app/src/main/res/values-hu/strings.xml +++ b/src/android/app/src/main/res/values-hu/strings.xml @@ -8,6 +8,9 @@ (Továbbfejlesztett) + Processz RAM: %1$d MB + Shader(ek) + fordítása Rendszer: Teljesítmény statisztikák megjelenítése Testreszabás @@ -68,7 +71,7 @@ LRU gyorsítótár engedélyezése Engedélyezze vagy tiltsa le az LRU gyorsítótárat (Least Recently Used), amely a CPU használatának csökkentésével növeli a teljesítményt. Néhány játékkal problémák adódhatnak, különösen a TotK 1.2.1 esetében, ezért tiltsa le, ha a játék nem indul el vagy véletlenszerűen összeomlik. Kiterjesztett Dinamikus Állapot - Engedélyezi a Vulkan funkciókat a teljesítmény, a renderelés javításához és erőforrások megtakarításához a pipeline létrehozásánál, miközben alacsony CPU/GPU használatot tart fenn. Ezek a kiterjesztések növelhetik az eszköz hőmérsékletét, és a régebbi A6XX sorozatú GPU-k nem feltétlenül reagálnak megfelelően. Állítsa 0-ra a Yuzu által emulált formátumok használatához. + Engedélyezi a Vulkan funkciókat a teljesítmény javításához, a rendereléshez és az erőforrások megtakarításához a pipeline létrehozása során, miközben alacsony CPU/GPU kihasználtságot tart fenn. Ezek a kiterjesztések növelhetik az eszköz hőmérsékletét, és a régebbi A6XX sorozatú GPU-k nem feltétlenül működnek megfelelően. Állítsd 0-ra a régi emulált formátumok használatához. Magsebesség szinkronizálása A mag sebességének szinkronizálása a maximális sebesség százalékával a teljesítmény javítása érdekében a játék tényleges sebességének megváltoztatása nélkül. Automatikus Stub használata @@ -102,21 +105,21 @@ Boost (1700MHz) Gyors (2000MHz) - + ASTC dekódolási módszer Válassza ki, hogyan legyenek dekódolva az ASTC tömörített textúrák a rendereléshez: CPU (lassú, biztonságos), GPU (gyors, ajánlott) vagy CPU Async (nincs megakadás, de problémákat okozhat) CPU GPU CPU aszinkron - + ASTC újratömörítési módszer Válassza ki, hogyan történik az ASTC textúrák újratömörítése a kompatibilitás és a teljesítmény javításáért. Ez az opció VRAM-ot takarít meg, de csökkentheti a textúra minőségét. Tömörítetlen BC1 (alacsony minőség) BC3 (közepes minőség) - + VRAM használati mód GPU memória kezelésének módja Konzervatív @@ -129,14 +132,14 @@ Mali Adreno/Xclipse - + NVDEC emuláció Videódekódolás kezelése CPU GPU Nincs - + SPIRV optimalizálás Optimalizálja a lefordított shadert a GPU hatékonyságának javításáért. Soha @@ -145,92 +148,98 @@ Többjátékos - Hozz létre saját játéktermet vagy csatlakozz egy meglévőhöz, hogy másokkal játszhass - Terem: %1$s + Hozz létre saját játéktermet vagy csatlakozz egy meglévőhöz + Szoba: %1$s Konzol azonosító: %1$s Létrehozás Csatlakozás - Nyilvános termek böngészése + Nyilvános szobák böngészése Felhasználónév - IP cím + IP-cím Port - Terem sikeresen létrehozva! - Sikeresen csatlakoztál a teremhez! - Nem sikerült létrehozni a termet! - Nem sikerült csatlakozni a teremhez! - Érvénytelen cím vagy túl rövid név! + Szoba létrehozva + Sikeres csatlakozás + Szoba létrehozása sikertelen + Csatlakozás sikertelen + Túl rövid név + Érvénytelen cím Érvénytelen port! - Kilépés a termemből + Kilépés a szobából Hálózati hiba Kapcsolat megszakadt Névütközés - MAC ütközés + MAC-cím ütközés Konzol azonosító ütközés Hibás verzió Hibás jelszó Nem sikerült csatlakozni - A terem tele van + A szoba tele van Gazda kitiltva Engedély megtagadva Nincs ilyen felhasználó - Már a teremben vagy - Hiba a terem létrehozásakor + Már a szobában van + Hiba a szoba létrehozásakor Gazda kirúgva Ismeretlen hiba - Terem nincs inicializálva - Terem tétlen - Csatlakozás a teremhez - Csatlakozva a teremhez - Terem moderátor + Szoba nincs inicializálva + Szoba tétlen + Csatlakozás... + Csatlakozva + Szoba moderátor %1$s csatlakozott %1$s elhagyta %1$s kirúgva %1$s kitiltva Cím feloldva Kirúgás - Üzenet küldése… + Üzenet küldése... Jelszó - Csatlakozás - Csatlakozás... - Terem neve - A terem nevének 3 és 20 karakter között kell lennie + Csatlakozás... + Létrehozás... + Szoba neve + A szobanév 3-20 karakter hosszú legyen Max játékos (16) Max játékos: %d Csevegés További lehetőségek - IP cím másolva a vágólapra + IP-cím másolva Szerver címe Csevegés - Üzenet írása… + Üzenet írása... Küldés Üzenet küldése Moderálás Kitiltottak listája - Nincsenek kitiltott felhasználók - Felhasználó kitiltásának feloldása - Kitiltás feloldása - Biztosan fel szeretnéd oldani %1$s kitiltását? - Felhasználó kitiltása - Nyilvános termek - Nem található nyilvános terem + Nincsenek kitiltottak + Feloldás + Feloldás + Feloldod %1$s kitiltását? + Kitiltás + Nyilvános szobák + Nincs nyilvános szoba Jelszó szükséges : %1$d/%2$d Játék - Bármilyen játék - Jelszóval védett terem - Tele termek elrejtése - Üres termek elrejtése - Koppints a frissítésre az újraellenőrzéshez - Termek keresése… + Bármely játék + Jelszóval védett szoba + Tele szobák elrejtése + Üres szobák elrejtése + Frissítés újraellenőrzéshez + Szobák keresése... Többjátékos Kedvenc játékok Kedvenc játék - Nem található játék - Válassz kedvenc játékot a terem létrehozásához. + Nincs játék + Válassz kedvenc játékot a szoba létrehozásához + 3-20 karakter kell + Kötelező + Érvénytelen IP formátum + Legalább 5 karakter + 1-65535 között legyen Mégse OK Frissítés - Terem lista + Szobalista Téma színe diff --git a/src/android/app/src/main/res/values-id/strings.xml b/src/android/app/src/main/res/values-id/strings.xml index 4bd38b7e8f..dd67006ff6 100644 --- a/src/android/app/src/main/res/values-id/strings.xml +++ b/src/android/app/src/main/res/values-id/strings.xml @@ -8,6 +8,9 @@ (Ditingkatkan) + RAM Proses: %1$d MB + Membangun + Shader Sistem: Tampilkan Overlay Statistik Performa Kustomisasi @@ -68,7 +71,7 @@ Aktifkan LRU Cache Aktifkan atau nonaktifkan cache LRU (Least Recently Used), meningkatkan performa dengan menghemat penggunaan CPU. Beberapa game memiliki masalah dengannya, terutama TotK 1.2.1, jadi nonaktifkan jika game tidak mau boot atau sering crash. Status Dinamis Ekstensi - Mengaktifkan fitur Vulkan untuk meningkatkan performa, rendering, dan menghemat sumber daya saat pembuatan pipeline sambil mempertahankan penggunaan CPU/GPU yang rendah. Ekstensi ini dapat meningkatkan suhu perangkat, dan GPU seri A6XX lama mungkin tidak merespons dengan benar. Setel ke 0 untuk menggunakan format emulasi Yuzu. + Mengaktifkan fitur Vulkan untuk meningkatkan kinerja, rendering, dan menghemat sumber daya saat pembuatan pipeline dengan tetap mempertahankan penggunaan CPU/GPU yang rendah. Ekstensi ini dapat meningkatkan suhu perangkat, dan GPU dari seri A6XX lama mungkin tidak berfungsi dengan baik. Setel ke 0 untuk menggunakan format emulasi lama. Sinkronisasi Kecepatan Inti Sinkronkan kecepatan inti dengan persentase kecepatan maksimum untuk meningkatkan performa tanpa mengubah kecepatan sebenarnya dari permainan. Gunakan Auto Stub @@ -102,41 +105,41 @@ Boost (1700MHz) Cepat (2000MHz) - + Metode Dekoding ASTC Pilih cara tekstur terkompresi ASTC didekode untuk rendering: CPU (lambat, aman), GPU (cepat, direkomendasikan), atau CPU Async (tanpa lag, mungkin menyebabkan masalah) CPU GPU CPU Secara Asinkron - + Metode Rekompresi ASTC Pilih cara tekstur ASTC dikompresi ulang untuk meningkatkan kompatibilitas dan performa. Mengaktifkan opsi ini menghemat VRAM tetapi dapat menurunkan kualitas tekstur. Tidak Dikompresi BC1 (Kualitas Rendah) BC3 (Kualitas Menengah) - + Mode Penggunaan VRAM Kontrol seberapa agresif emulator mengalokasikan dan membebaskan memori GPU. Konservatif Agresif - + Backend Shader Pilih cara shader dikompilasi dan diterjemahkan untuk GPU Anda. Universal Mali Adreno/Xclipse - + Emulasi NVDEC Pilih cara decoding video (NVDEC) ditangani selama cutscene dan intro. CPU GPU Tidak Ada - + Optimalkan Output SPIRV Mengoptimalkan shader yang dikompilasi untuk meningkatkan efisiensi GPU. Tidak Pernah @@ -158,7 +161,6 @@ Berhasil bergabung dengan ruang! Gagal membuat ruang! Gagal bergabung dengan ruang! - Alamat tidak valid atau nama terlalu pendek! Port tidak valid! Keluar dari Ruang Kesalahan jaringan @@ -184,14 +186,13 @@ Moderator ruang %1$s bergabung %1$s keluar - %1$s dikeluarkan - %1$s diblokir - Alamat tidak diblokir - Keluarkan + %1$s di-kick + %1$s dilarang + Alamat diizinkan + Kick Anggota Kirim pesan… - Kata sandi - Gabung - Bergabung... + Password + Bergabung... Nama Ruang Nama ruang harus antara 3 hingga 20 karakter Pemain Maks (16) @@ -200,7 +201,7 @@ Opsi Lainnya Alamat IP disalin ke clipboard Alamat Server - Obrolan + Chat Ketik pesan… Kirim Kirim Pesan diff --git a/src/android/app/src/main/res/values-it/strings.xml b/src/android/app/src/main/res/values-it/strings.xml index e6874dae1f..297205501c 100644 --- a/src/android/app/src/main/res/values-it/strings.xml +++ b/src/android/app/src/main/res/values-it/strings.xml @@ -8,6 +8,9 @@ (Migliorato) + RAM processo: %1$d MB + Compilazione + shader Sistema: Mostra overlay prestazioni Personalizzazione @@ -68,7 +71,7 @@ Abilita cache LRU Abilita o disabilita la cache LRU (Least Recently Used), aumentando le prestazioni risparmiando l\'utilizzo della CPU. Alcuni giochi hanno problemi con essa, in particolare TotK 1.2.1, quindi disabilitala se il gioco non si avvia o si blocca casualmente. Stato dinamico esteso - Abilita funzionalità Vulkan per migliorare prestazioni, rendering e risparmiare risorse durante la creazione della pipeline mantenendo un basso utilizzo di CPU/GPU. Queste estensioni possono aumentare la temperatura del dispositivo e le GPU più vecchie della serie A6XX potrebbero non rispondere correttamente. Imposta su 0 per usare i formati emulati da Yuzu. + Abilita le funzionalità Vulkan per migliorare le prestazioni, il rendering e risparmiare risorse nella creazione della pipeline mantenendo un basso utilizzo di CPU/GPU. Queste estensioni possono aumentare la temperatura del dispositivo e le GPU della vecchia serie A6XX potrebbero non funzionare correttamente. Imposta su 0 per utilizzare i formati emulati legacy. Sincronizza velocità core Sincronizza la velocità del core con la percentuale massima di velocità per migliorare le prestazioni senza alterare la velocità effettiva del gioco. Usa Auto Stub @@ -102,41 +105,41 @@ Boost (1700MHz) Veloce (2000MHz) - + Metodo decodifica ASTC Scegli come decodificare le texture compresse ASTC per il rendering: CPU (lento, sicuro), GPU (veloce, consigliato) o CPU Async (senza stuttering, può causare problemi) CPU GPU CPU asincrona - + Metodo ricompressione ASTC -Scegli come ricomprimere le texture ASTC per migliorare compatibilità e prestazioni. Abilitare questa opzione salva VRAM ma può ridurre la qualità delle texture. + Scegli come ricomprimere le texture ASTC per migliorare compatibilità e prestazioni. Abilitare questa opzione salva VRAM ma può ridurre la qualità delle texture. Non compresso BC1 (bassa qualità) BC3 (media qualità) - + Modalità uso VRAM Controlla l`allocazione della memoria GPU Conservativa Aggressiva - + Backend shader Scegli come compilare gli shader Universale Mali Adreno/Xclipse - + Emulazione NVDEC Scegli come gestire la decodifica video CPU GPU Nessuna - + Ottimizza output SPIRV Ottimizza lo shader compilato per migliorare l\'efficienza della GPU. Mai @@ -150,15 +153,16 @@ ID console: %1$s Crea Unisciti - Esplora stanze pubbliche + Sfoglia stanze pubbliche Nome utente Indirizzo IP Porta - Stanza creata con successo! - Unione alla stanza riuscita! - Creazione stanza fallita! - Unione alla stanza fallita! - Indirizzo non valido o nome troppo corto! + Stanza creata con successo + Unione alla stanza riuscita + Creazione stanza fallita + Unione alla stanza fallita + Nome troppo corto + Indirizzo non valido Porta non valida! Esci dalla stanza Errore di rete @@ -172,14 +176,14 @@ Stanza piena Host bannato Permesso negato - Nessun utente trovato + Utente inesistente Già nella stanza Errore creazione stanza Host espulso Errore sconosciuto Stanza non inizializzata Stanza inattiva - Unione alla stanza + Unione in corso... Unito alla stanza Moderatore stanza %1$s si è unito @@ -188,20 +192,20 @@ %1$s è stato bannato Indirizzo sbannato Espelli - Invia messaggio… + Invia messaggio... Password - Unisciti - Unione in corso... + Unione in corso... + Creazione in corso... Nome stanza - Il nome della stanza deve essere compreso tra 3 e 20 caratteri + Il nome deve contenere 3-20 caratteri Giocatori max (16) Giocatori max: %d Chat Altre opzioni - Indirizzo IP copiato negli appunti + IP copiato Indirizzo server Chat - Scrivi un messaggio… + Scrivi messaggio... Invia Invia messaggio Moderazione @@ -220,13 +224,18 @@ Stanza protetta da password Nascondi stanze piene Nascondi stanze vuote - Tocca aggiorna per controllare nuovamente - Cerca stanze… + Tocca per aggiornare + Cerca stanze... Multigiocatore Giochi preferiti Gioco preferito Nessun gioco trovato - Devi scegliere un gioco preferito per creare una stanza. + Seleziona un gioco preferito per ospitare una stanza + 3-20 caratteri richiesti + Richiesto + Formato IP non valido + Minimo 5 caratteri + Deve essere tra 1-65535 Annulla OK Aggiorna diff --git a/src/android/app/src/main/res/values-ja/strings.xml b/src/android/app/src/main/res/values-ja/strings.xml index 8d10686cae..9d95e994fd 100644 --- a/src/android/app/src/main/res/values-ja/strings.xml +++ b/src/android/app/src/main/res/values-ja/strings.xml @@ -8,6 +8,9 @@ (強化) + プロセスRAM: %1$d MB + シェーダー + を構築中 システム: パフォーマンス統計オーバーレイを表示 カスタマイズ @@ -68,7 +71,7 @@ LRUキャッシュを有効化 LRUキャッシュ(最近最も使われていない)を有効または無効にし、CPU使用率を節約してパフォーマンスを向上させます。一部のゲーム(特にTotK 1.2.1)で問題が発生する可能性があるため、ゲームが起動しないかランダムにクラッシュする場合は無効にしてください。 拡張ダイナミックステート - Vulkan機能を有効にしてパフォーマンスとレンダリングを向上させ、パイプライン作成時のリソースを節約しながらCPU/GPU使用率を低く保ちます。これらの拡張機能はデバイスの温度を上昇させる可能性があり、古いA6XXシリーズのGPUでは正しく反応しない場合があります。Yuzuのエミュレート形式を使用するには0に設定します。 + Vulkan機能を有効にし、パフォーマンスとレンダリングを向上させ、パイプライン作成時のリソースを節約しながらCPU/GPU使用率を低く保ちます。これらの拡張機能はデバイスの温度を上昇させる可能性があり、旧世代のA6XXシリーズのGPUは正しく動作しない場合があります。レガシーエミュレートフォーマットを使用するには0に設定してください。 コア速度の同期 コアの速度を最大速度パーセンテージに同期させ、ゲームの実際の速度を変えずにパフォーマンスを向上させます。 自動スタブを使用 @@ -145,7 +148,7 @@ マルチプレイヤー - 自分でゲームルームを作成するか、既存のルームに参加して他の人とプレイ + 自分のゲームルームをホストするか、既存のルームに参加してプレイ ルーム: %1$s コンソールID: %1$s 作成 @@ -154,24 +157,25 @@ ユーザー名 IPアドレス ポート - ルームの作成に成功しました! - ルームに参加しました! - ルームの作成に失敗しました! - ルームへの参加に失敗しました! - 無効なアドレスまたは名前が短すぎます! + ルームを作成しました + ルームに参加しました + ルーム作成に失敗 + ルーム参加に失敗 + 名前が短すぎます + 無効なアドレス 無効なポート! ルームを退出 ネットワークエラー 接続が切断されました - 名前の衝突 - MACアドレスの衝突 - コンソールIDの衝突 + 名前が重複しています + MACアドレスが重複 + コンソールIDが重複 バージョンが異なります パスワードが間違っています 接続できませんでした ルームが満員です - ホストが禁止されました - 権限が拒否されました + ホストが禁止されています + 権限がありません ユーザーが存在しません 既にルームに参加しています ルーム作成エラー @@ -179,29 +183,29 @@ 不明なエラー ルームが初期化されていません ルームがアイドル状態です - ルームに参加中 + ルームに参加中... ルームに参加しました ルームモデレーター %1$sが参加しました %1$sが退出しました %1$sがキックされました %1$sが禁止されました - アドレスの禁止が解除されました + アドレスの禁止を解除しました キック - メッセージを送信… + メッセージを送信... パスワード - 参加 - 参加中... + 参加中... + 作成中... ルーム名 ルーム名は3〜20文字で入力してください 最大プレイヤー数 (16) 最大プレイヤー数: %d チャット その他のオプション - IPアドレスをクリップボードにコピーしました + IPアドレスをコピーしました サーバーアドレス チャット - メッセージを入力… + メッセージを入力... 送信 メッセージを送信 モデレーション @@ -220,13 +224,18 @@ パスワードで保護されたルーム 満員のルームを非表示 空のルームを非表示 - 再確認するには更新をタップ - ルームを検索… + タップして再確認 + ルームを検索... マルチプレイヤー - お気に入りのゲーム + 優先ゲーム 優先ゲーム ゲームが見つかりません - ルームを作成するには優先ゲームを選択する必要があります。 + ルームをホストするには優先ゲームを選択する必要があります + 3〜20文字で入力してください + 必須 + 無効なIP形式 + 5文字以上必要です + 1〜65535の間で入力してください キャンセル OK 更新 diff --git a/src/android/app/src/main/res/values-ko/strings.xml b/src/android/app/src/main/res/values-ko/strings.xml index 798c4a670a..56a50c083c 100644 --- a/src/android/app/src/main/res/values-ko/strings.xml +++ b/src/android/app/src/main/res/values-ko/strings.xml @@ -8,6 +8,9 @@ (향상됨) + 프로세스 RAM: %1$d MB + 셰이더 + 빌드 중 시스템: 성능 통계 오버레이 표시 사용자 지정 @@ -68,7 +71,7 @@ LRU 캐시 사용 LRU 캐시(최근 사용되지 않은 항목)를 활성화 또는 비활성화하여 CPU 사용량을 절약하고 성능을 향상시킵니다. 일부 게임(특히 TotK 1.2.1)에서 문제가 발생할 수 있으므로 게임이 부팅되지 않거나 무작위로 충돌하는 경우 비활성화하세요. 확장 동적 상태 - Vulkan 기능을 활성화하여 파이프라인 생성 시 성능, 렌더링을 개선하고 리소스를 절약하면서 CPU/GPU 사용량을 낮게 유지합니다. 이러한 확장 기능은 장치 온도를 높일 수 있으며, 이전 A6XX 라인의 GPU는 제대로 반응하지 않을 수 있습니다. Yuzu 에뮬레이션 형식을 사용하려면 0으로 설정하세요. + Vulkan 기능을 활성화하여 성능을 향상시키고, 렌더링을 개선하며, 파이프라인 생성 시 리소스를 절약하면서 CPU/GPU 사용량을 낮게 유지합니다. 이 확장 기능은 기기 온도를 높일 수 있으며, 이전 A6XX 시리즈 GPU는 제대로 작동하지 않을 수 있습니다. 레거시 에뮬레이션 형식을 사용하려면 0으로 설정하세요. 코어 속도 동기화 코어 틱 속도를 최대 속도 백분율과 동기화하여 게임의 실제 속도를 변경하지 않고 성능을 향상시킵니다. 자동 스텁 사용 @@ -144,26 +147,27 @@ 멀티플레이어 - 자신의 게임 방을 만들거나 기존 방에 참여하여 다른 사람들과 플레이 + 자신의 게임 방을 호스팅하거나 기존 방에 참여하여 다른 사람들과 플레이 방: %1$s 콘솔 ID: %1$s 생성 참가 - 공개 방 탐색 + 공개 방 보기 사용자 이름 IP 주소 포트 - 방 생성 성공! - 방 참가 성공! - 방 생성 실패! - 방 참가 실패! - 잘못된 주소 또는 이름이 너무 짧습니다! + 방 생성 성공 + 방 참가 성공 + 방 생성 실패 + 방 참가 실패 + 이름이 너무 짧습니다 + 잘못된 주소 잘못된 포트! 방 나가기 네트워크 오류 연결 끊김 이름 충돌 - MAC 충돌 + MAC 주소 충돌 콘솔 ID 충돌 잘못된 버전 잘못된 비밀번호 @@ -171,36 +175,36 @@ 방이 가득 찼습니다 호스트 차단됨 권한 거부됨 - 해당 사용자가 없습니다 - 이미 방에 있습니다 + 해당 사용자 없음 + 이미 방에 참여 중 방 생성 오류 호스트 추방됨 알 수 없는 오류 - 방이 초기화되지 않았습니다 - 방이 비활성 상태입니다 - 방 참가 중 - 방 참가 완료 + 방 초기화 안 됨 + 방 대기 중 + 방 참여 중... + 방 참여 완료 방 관리자 - %1$s 참가 - %1$s 퇴장 - %1$s 추방됨 - %1$s 차단됨 + %1$s 님이 참여했습니다 + %1$s 님이 나갔습니다 + %1$s 님이 추방되었습니다 + %1$s 님이 차단되었습니다 주소 차단 해제됨 추방 - 메시지 보내기… + 메시지 보내기... 비밀번호 - 참가 - 참가 중... + 참여 중... + 생성 중... 방 이름 - 방 이름은 3~20자 사이여야 합니다 + 방 이름은 3~20자여야 합니다 최대 플레이어 (16) 최대 플레이어: %d 채팅 - 추가 옵션 - IP 주소가 클립보드에 복사되었습니다 + 더 많은 옵션 + IP 주소가 복사되었습니다 서버 주소 채팅 - 메시지 입력… + 메시지 입력... 보내기 메시지 보내기 관리 @@ -208,10 +212,10 @@ 차단된 사용자가 없습니다 사용자 차단 해제 차단 해제 - %1$s의 차단을 해제하시겠습니까? + %1$s 님의 차단을 해제하시겠습니까? 사용자 차단 공개 방 - 공개 방을 찾을 수 없습니다 + 공개 방이 없습니다 비밀번호 필요 : %1$d/%2$d 게임 @@ -220,12 +224,17 @@ 가득 찬 방 숨기기 빈 방 숨기기 새로 고침을 눌러 다시 확인 - 방 검색… + 방 검색... 멀티플레이어 - 선호하는 게임 + 선호 게임 선호 게임 - 게임을 찾을 수 없습니다 - 방을 만들려면 선호 게임을 선택해야 합니다. + 게임을 찾을 수 없음 + 방을 호스팅하려면 선호 게임을 선택해야 합니다 + 3~20자여야 합니다 + 필수 + 잘못된 IP 형식 + 최소 5자 이상 + 1~65535 사이여야 합니다 취소 확인 새로 고침 diff --git a/src/android/app/src/main/res/values-nb/strings.xml b/src/android/app/src/main/res/values-nb/strings.xml index 1247fc4bc9..84b738a4f6 100644 --- a/src/android/app/src/main/res/values-nb/strings.xml +++ b/src/android/app/src/main/res/values-nb/strings.xml @@ -8,6 +8,9 @@ (Forbedret) + Prosess-RAM: %1$d MB + Bygger + shader(e) System: Vis ytelsesstatistikkoverlay Tilpasning @@ -68,7 +71,7 @@ Aktiver LRU-mellomlager Aktiver eller deaktiver LRU-mellomlager (Least Recently Used), som forbedrer ytelsen ved å spare CPU-bruk. Noen spill har problemer med dette, spesielt TotK 1.2.1, så deaktiver hvis spillet ikke starter eller krasjer tilfeldig. Utvidet dynamisk tilstand - Aktiverer Vulkan-funksjoner for å forbedre ytelse, rendering og spare ressurser ved pipeline-opprettelse samtidig som CPU/GPU-bruken holdes lav. Disse utvidelsene kan øke enhetstemperaturen, og eldre A6XX-serien GPU-er kan reagere unormalt. Sett til 0 for å bruke Yuzus emulerte formater. + Aktiverer Vulkan-funksjoner for å forbedre ytelse, rendering og spare ressurser ved oppretting av pipeline samtidig som CPU/GPU-bruken holdes lav. Disse utvidelsene kan øke enhetstemperaturen, og eldre GPU-er fra A6XX-serien fungerer kanskje ikke riktig. Sett til 0 for å bruke eldre emulerte formater. Synkroniser kjernespeed Synkroniser kjernens hastighet med maksimal hastighetsprosent for å forbedre ytelsen uten å endre spillets faktiske hastighet. Bruk Auto Stub @@ -102,41 +105,41 @@ Boost (1700MHz) Rask (2000MHz) - + ASTC-dekoding Velg hvordan ASTC-komprimerte teksturer skal dekodes for rendering: CPU (tregt, sikkert), GPU (raskt, anbefalt) eller CPU Async (ingen stuttering, kan forårsake problemer) CPU GPU CPU asynkront - + ASTC-komprimering Velg hvordan ASTC-teksturer komprimeres på nytt for å forbedre kompatibilitet og ytelse. Å aktivere dette alternativet sparer VRAM, men kan redusere teksturkvaliteten. Ukomprimert BC1 (lav kvalitet) BC3 (middels kvalitet) - + VRAM-bruk Kontroller minnetildeling for GPU Konservativ Aggressiv - + Shader-backend Velg hvordan shadere kompileres Universell Mali Adreno/Xclipse - + NVDEC-emulering Velg hvordan videodekoding håndteres CPU GPU Ingen - + Optimaliser SPIRV Optimaliserer den kompilerte shaderen for å forbedre GPU-effektiviteten. Aldri @@ -154,11 +157,12 @@ Brukernavn IP-adresse Port - Rom opprettet! - Ble med i rommet! - Kunne ikke opprette rom! - Kunne ikke bli med i rommet! - Ugyldig adresse eller navn er for kort! + Rom opprettet + Ble med i rommet + Kunne ikke opprette rom + Kunne ikke bli med i rommet + Navn for kort + Ugyldig adresse Ugyldig port! Forlat rom Nettverksfeil @@ -175,58 +179,63 @@ Ingen slik bruker Allerede i rommet Feil ved oppretting av rom - Vert sparket + Vert sparket ut Ukjent feil Rom ikke initialisert Rom inaktivt - Bli med i rom + Bli med i rom... Ble med i rom Rommoderator %1$s ble med %1$s forlot - %1$s ble sparket + %1$s ble sparket ut %1$s ble utestengt Adresse opphevet Spark Send melding… Passord - Bli med - Bli med... + Bli med... + Oppretter... Romnavn Romnavn må være mellom 3 og 20 tegn Maks spillere (16) Maks spillere: %d Chat Flere alternativer - IP-adresse kopiert til utklippstavle + IP-adresse kopiert Serveradresse Chat Skriv melding… Send Send melding - Moderasjon - Utestengelsesliste + Moderering + Utestengingsliste Ingen utestengte brukere Opphev utestengelse Opphev - Er du sikker på at du vil oppheve utestengelsen for %1$s? + Opphev utestengelse for %1$s? Utesteng bruker Offentlige rom Ingen offentlige rom funnet Passord påkrevd : %1$d/%2$d Spill - Hvilket som helst spill + Ethvert spill Passordbeskyttet rom Skjul fulle rom Skjul tomme rom - Trykk på oppdater for å sjekke igjen - Søk i rom… + Trykk for å oppdatere + Søk i rom... Flerspiller Foretrukne spill Foretrukket spill Ingen spill funnet - Du må velge et foretrukket spill for å være vert for et rom. + Du må velge et foretrukket spill for å være vert + Må være 3-20 tegn + Påkrevd + Ugyldig IP-format + Minst 5 tegn + Må være mellom 1-65535 Avbryt OK Oppdater diff --git a/src/android/app/src/main/res/values-pl/strings.xml b/src/android/app/src/main/res/values-pl/strings.xml index 0e135bc071..935ef3c69f 100644 --- a/src/android/app/src/main/res/values-pl/strings.xml +++ b/src/android/app/src/main/res/values-pl/strings.xml @@ -8,6 +8,9 @@ (Ulepszony) + Pamięć procesu: %1$d MB + Kompilacja + shaderów System: Pokaż nakładkę statystyk wydajności Dostosowanie @@ -68,7 +71,7 @@ Włącz pamięć podręczną LRU Włącz lub wyłącz pamięć podręczną LRU (najrzadziej używane), zwiększając wydajność poprzez oszczędzanie użycia procesora. Niektóre gry mają z nią problemy, szczególnie TotK 1.2.1, więc wyłącz, jeśli gra się nie uruchamia lub losowo się zawiesza. Rozszerzony stan dynamiczny - Włącza funkcje Vulkan w celu poprawy wydajności, renderowania i oszczędzania zasobów podczas tworzenia potoku, utrzymując niskie użycie CPU/GPU. Te rozszerzenia mogą zwiększać temperaturę urządzenia, a starsze GPU z serii A6XX mogą nie reagować prawidłowo. Ustaw na 0, aby używać formatów emulowanych przez Yuzu. + Włącza funkcje Vulkan w celu poprawy wydajności, renderowania i oszczędzania zasobów podczas tworzenia potoku przy zachowaniu niskiego wykorzystania CPU/GPU. Te rozszerzenia mogą zwiększać temperaturę urządzenia, a starsze GPU z serii A6XX mogą nie działać poprawnie. Ustaw na 0, aby używać emulowanych formatów starszej wersji. Synchronizuj prędkość rdzenia Synchronizuje prędkość rdzenia z maksymalnym procentem prędkości, aby poprawić wydajność bez zmiany rzeczywistej prędkości gry. Użyj Auto Stub @@ -102,41 +105,41 @@ Boost (1700MHz) Szybkie (2000MHz) - + Metoda dekodowania ASTC Wybierz sposób dekodowania tekstur skompresowanych w formacie ASTC do renderowania: CPU (wolne, bezpieczne), GPU (szybkie, zalecane) lub CPU Async (bez zacięć, może powodować problemy) CPU GPU CPU asynchronicznie - + Metoda rekompresji ASTC Wybierz sposób ponownej kompresji tekstur ASTC w celu poprawy zgodności i wydajności. Włączenie tej opcji oszczędza VRAM, ale może obniżyć jakość tekstur. Bez kompresji BC1 (niska jakość) BC3 (średnia jakość) - + Tryb użycia VRAM Kontroluj alokację i zwalnianie pamięci GPU. Oszczędny Agresywny - + Backend shaderów Wybierz metodę kompilacji shaderów. Uniwersalny Mali Adreno/Xclipse - + Emulacja NVDEC Wybierz metodę dekodowania wideo (NVDEC). CPU GPU Brak - + Optymalizuj SPIRV Optymalizuje skompilowany shader w celu poprawy wydajności GPU. Nigdy @@ -145,41 +148,42 @@ Multiplayer - Utwórz własny pokój gry lub dołącz do istniejącego, aby grać z innymi + Stwórz własny pokój lub dołącz do istniejącego, aby grać z innymi Pokój: %1$s ID konsoli: %1$s - Utwórz + Stwórz Dołącz Przeglądaj publiczne pokoje Nazwa użytkownika Adres IP Port - Pokój utworzony pomyślnie! - Pomyślnie dołączono do pokoju! - Nie udało się utworzyć pokoju! - Nie udało się dołączyć do pokoju! - Nieprawidłowy adres lub nazwa jest za krótka! + Pokój utworzony pomyślnie + Pomyślnie dołączono do pokoju + Nie udało się utworzyć pokoju + Nie udało się dołączyć do pokoju + Nazwa jest za krótka + Nieprawidłowy adres Nieprawidłowy port! Opuść pokój Błąd sieci Utracono połączenie Konflikt nazw - Konflikt MAC + Konflikt adresu MAC Konflikt ID konsoli Nieprawidłowa wersja Nieprawidłowe hasło Nie można się połączyć Pokój jest pełny - Host zbanowany + Gospodarz zbanowany Odmowa dostępu Nie ma takiego użytkownika - Już w pokoju + Już jesteś w pokoju Błąd tworzenia pokoju - Host wyrzucony + Gospodarz wyrzucony Nieznany błąd Pokój niezainicjowany - Pokój bezczynny - Dołączanie do pokoju + Pokój nieaktywny + Dołączanie do pokoju... Dołączono do pokoju Moderator pokoju %1$s dołączył @@ -188,20 +192,20 @@ %1$s został zbanowany Adres odbanowany Wyrzuć - Wyślij wiadomość… + Wyślij wiadomość... Hasło - Dołącz - Dołączanie... + Dołączanie... + Tworzenie... Nazwa pokoju Nazwa pokoju musi mieć od 3 do 20 znaków Maks. graczy (16) Maks. graczy: %d Czat Więcej opcji - Adres IP skopiowany do schowka + Adres IP skopiowany Adres serwera Czat - Wpisz wiadomość… + Wpisz wiadomość... Wyślij Wyślij wiadomość Moderacja @@ -220,13 +224,18 @@ Pokój chroniony hasłem Ukryj pełne pokoje Ukryj puste pokoje - Dotknij odśwież, aby sprawdzić ponownie - Szukaj pokoi… + Dotknij, aby odświeżyć + Szukaj pokoi... Multiplayer Preferowane gry Preferowana gra Nie znaleziono gier - Musisz wybrać preferowaną grę, aby utworzyć pokój. + Musisz wybrać preferowaną grę + 3-20 znaków wymagane + Wymagane + Nieprawidłowy format IP + Minimum 5 znaków + Musi być między 1-65535 Anuluj OK Odśwież diff --git a/src/android/app/src/main/res/values-pt-rBR/strings.xml b/src/android/app/src/main/res/values-pt-rBR/strings.xml index aa50e4bae2..909cb7cc6e 100644 --- a/src/android/app/src/main/res/values-pt-rBR/strings.xml +++ b/src/android/app/src/main/res/values-pt-rBR/strings.xml @@ -8,6 +8,9 @@ (Aprimorado) + RAM do processo: %1$d MB + Compilando + shader(s) Sistema: Mostrar sobreposição de estatísticas de desempenho Personalização @@ -68,7 +71,7 @@ Ativar cache LRU Ative ou desative o cache LRU (Least Recently Used), aumentando o desempenho ao economizar uso da CPU. Alguns jogos têm problemas com ele, especialmente TotK 1.2.1, então desative se o jogo não iniciar ou travar aleatoriamente. Estado Dinâmico Estendido - Ativa recursos Vulkan para melhorar desempenho, renderização e economizar recursos na criação de pipelines mantendo baixo uso de CPU/GPU. Essas extensões podem aumentar a temperatura do dispositivo e GPUs mais antigas da linha A6XX podem não responder corretamente. Defina como 0 para usar formatos emulados do Yuzu. + Ativa recursos do Vulkan para melhorar desempenho, renderização e economizar recursos na criação de pipeline, mantendo o uso baixo de CPU/GPU. Essas extensões podem aumentar a temperatura do dispositivo, e GPUs da linha A6XX mais antiga podem não funcionar corretamente. Defina como 0 para usar formatos emulados legados. Sincronizar velocidade do núcleo Sincroniza a velocidade do núcleo com a porcentagem máxima de velocidade para melhorar o desempenho sem alterar a velocidade real do jogo. Usar Auto Stub @@ -102,41 +105,41 @@ Boost (1700MHz) Rápido (2000MHz) - + Método de decodificação ASTC Escolha como as texturas compactadas em ASTC são decodificadas para renderização: CPU (lento, seguro), GPU (rápido, recomendado) ou CPU Async (sem engasgos, pode causar problemas) CPU GPU CPU assíncrono - + Método de recompressão ASTC Escolha como as texturas ASTC são recompactadas para melhorar a compatibilidade e o desempenho. Ativar esta opção economiza VRAM, mas pode reduzir a qualidade da textura. Não comprimido BC1 (baixa qualidade) BC3 (média qualidade) - + Modo de uso de VRAM Controla a alocação de memória GPU Conservador Agressivo - + Backend de shader Define como shaders são compilados Universal Mali Adreno/Xclipse - + Emulação NVDEC Define como vídeos são decodificados CPU GPU Nenhum - + Otimizar saída SPIRV Otimiza o shader compilado para melhorar a eficiência da GPU. Nunca @@ -145,41 +148,42 @@ Multijogador - Crie sua própria sala de jogo ou entre em uma existente para jogar com outras pessoas + Crie sua própria sala ou entre em uma existente para jogar com outros Sala: %1$s ID do console: %1$s Criar Entrar - Navegar por salas públicas + Procurar salas públicas Nome de usuário Endereço IP Porta - Sala criada com sucesso! - Entrou na sala com sucesso! - Falha ao criar sala! - Falha ao entrar na sala! - Endereço inválido ou nome muito curto! + Sala criada com sucesso + Entrou na sala com sucesso + Falha ao criar sala + Falha ao entrar na sala + Nome muito curto + Endereço inválido Porta inválida! Sair da sala Erro de rede Conexão perdida - Conflito de nomes + Conflito de nome Conflito de MAC Conflito de ID do console Versão incorreta Senha incorreta Não foi possível conectar - Sala está cheia + Sala cheia Host banido Permissão negada - Usuário não encontrado + Usuário não existe Já está na sala Erro ao criar sala Host expulso Erro desconhecido Sala não inicializada - Sala ociosa - Entrando na sala + Sala inativa + Entrando na sala... Entrou na sala Moderador da sala %1$s entrou @@ -188,14 +192,14 @@ %1$s foi banido Endereço desbanido Expulsar - Enviar mensagem… + Enviar mensagem... Senha - Entrar - Entrando... + Entrando... + Criando... Nome da sala - O nome da sala deve ter entre 3 e 20 caracteres - Jogadores máx. (16) - Jogadores máx.: %d + Nome deve ter 3-20 caracteres + Máx. jogadores (16) + Máx. jogadores: %d Chat Mais opções Endereço IP copiado para a área de transferência @@ -217,16 +221,21 @@ : %1$d/%2$d Jogo Qualquer jogo - Sala protegida por senha + Sala com senha Ocultar salas cheias Ocultar salas vazias - Toque em atualizar para verificar novamente - Buscar salas… + Toque para atualizar + Procurar salas... Multijogador Jogos preferidos Jogo preferido Nenhum jogo encontrado - Você deve escolher um jogo preferido para criar uma sala. + Selecione um jogo preferido + 3-20 caracteres necessários + Obrigatório + Formato de IP inválido + Mínimo 5 caracteres + Deve ser entre 1-65535 Cancelar OK Atualizar diff --git a/src/android/app/src/main/res/values-pt-rPT/strings.xml b/src/android/app/src/main/res/values-pt-rPT/strings.xml index 03fb3cfe70..38320dadf8 100644 --- a/src/android/app/src/main/res/values-pt-rPT/strings.xml +++ b/src/android/app/src/main/res/values-pt-rPT/strings.xml @@ -8,6 +8,9 @@ (Melhorado) + RAM do processo: %1$d MB + A compilar + shader(s) Sistema: Mostrar Overlay de Desempenho Personalização @@ -68,7 +71,7 @@ Ativar cache LRU Ative ou desative a cache LRU (Least Recently Used), aumentando o desempenho ao poupar utilização da CPU. Alguns jogos têm problemas com ela, especialmente TotK 1.2.1, por isso desative se o jogo não arrancar ou falhar aleatoriamente. Estado Dinâmico Estendido - Ativa funcionalidades Vulkan para melhorar desempenho, renderização e poupar recursos na criação de pipelines mantendo baixo uso de CPU/GPU. Estas extensões podem aumentar a temperatura do dispositivo e GPUs mais antigas da linha A6XX podem não responder corretamente. Defina como 0 para usar formatos emulados do Yuzu. + Ativa funcionalidades Vulkan para melhorar o desempenho, renderização e poupar recursos na criação de pipeline, mantendo uma utilização reduzida da CPU/GPU. Estas extensões podem aumentar a temperatura do dispositivo e as GPUs da antiga linha A6XX podem não funcionar corretamente. Defina como 0 para utilizar formatos emulados legados. Sincronizar velocidade do núcleo Sincroniza a velocidade do núcleo com a percentagem máxima de velocidade para melhorar o desempenho sem alterar a velocidade real do jogo. Usar Auto Stub @@ -102,41 +105,41 @@ Boost (1700MHz) Rápido (2000MHz) - + Método ASTC Escolha como as texturas comprimidas em ASTC são descodificadas para renderização: CPU (lento, seguro), GPU (rápido, recomendado) ou CPU Async (sem engasgos, pode causar problemas) CPU GPU CPU Assíncrono - + Recompressão ASTC Escolha como as texturas ASTC são recomprimidas para melhorar a compatibilidade e o desempenho. Ativar esta opção poupa VRAM, mas pode reduzir a qualidade da textura. Não Comprimido BC1 (Baixa Qualidade) BC3 (Média Qualidade) - + Modo de VRAM Controla alocação de memória GPU. Conservador Agressivo - + Backend de Shader Método de compilação de shaders. Universal Mali Adreno/Xclipse - + Emulação NVDEC Método de decodificação de vídeo. CPU GPU Nenhum - + Otimizar SPIRV Otimiza o shader compilado para melhorar a eficiência da GPU. Nunca @@ -145,41 +148,42 @@ Multijogador - Crie a sua própria sala de jogo ou entre numa existente para jogar com outras pessoas + Crie a sua própria sala ou junte-se a uma existente para jogar com outros Sala: %1$s ID da consola: %1$s Criar Entrar - Navegar por salas públicas + Procurar salas públicas Nome de utilizador Endereço IP Porta - Sala criada com sucesso! - Entrou na sala com sucesso! - Falha ao criar sala! - Falha ao entrar na sala! - Endereço inválido ou nome muito curto! + Sala criada com sucesso + Entrou na sala com sucesso + Falha ao criar sala + Falha ao entrar na sala + Nome muito curto + Endereço inválido Porta inválida! Sair da sala Erro de rede - Ligação perdida + Conexão perdida Conflito de nomes - Conflito de MAC + Conflito de endereço MAC Conflito de ID da consola Versão incorreta Palavra-passe incorreta - Não foi possível ligar - Sala está cheia + Não foi possível conectar + Sala cheia Anfitrião banido Permissão negada - Utilizador não encontrado + Utilizador não existe Já está na sala Erro ao criar sala Anfitrião expulso Erro desconhecido Sala não inicializada Sala inativa - A entrar na sala + A entrar na sala... Entrou na sala Moderador da sala %1$s entrou @@ -188,20 +192,20 @@ %1$s foi banido Endereço desbanido Expulsar - Enviar mensagem… + Enviar mensagem... Palavra-passe - Entrar - A entrar... + A entrar... + A criar... Nome da sala - O nome da sala deve ter entre 3 e 20 caracteres - Jogadores máx. (16) - Jogadores máx.: %d + O nome deve ter 3-20 caracteres + Máx. jogadores (16) + Máx. jogadores: %d Chat Mais opções - Endereço IP copiado para a área de transferência + IP copiado Endereço do servidor Chat - Escreva uma mensagem… + Escreva uma mensagem... Enviar Enviar mensagem Moderação @@ -209,7 +213,7 @@ Nenhum utilizador banido Desbanir utilizador Desbanir - Tem a certeza que deseja desbanir %1$s? + Desbanir %1$s? Banir utilizador Salas públicas Nenhuma sala pública encontrada @@ -220,13 +224,18 @@ Sala protegida por palavra-passe Ocultar salas cheias Ocultar salas vazias - Toque em atualizar para verificar novamente - Procurar salas… + Toque para atualizar + Procurar salas... Multijogador Jogos preferidos Jogo preferido Nenhum jogo encontrado - Deve escolher um jogo preferido para criar uma sala. + Selecione um jogo preferido + 3-20 caracteres necessários + Obrigatório + Formato de IP inválido + Mínimo 5 caracteres + Deve ser entre 1-65535 Cancelar OK Atualizar diff --git a/src/android/app/src/main/res/values-ru/strings.xml b/src/android/app/src/main/res/values-ru/strings.xml index 30b9c5c900..25b5d3cd31 100644 --- a/src/android/app/src/main/res/values-ru/strings.xml +++ b/src/android/app/src/main/res/values-ru/strings.xml @@ -8,6 +8,9 @@ (Улучшенный) + RAM процесса: %1$d МБ + Компиляция + шейдеров Система: Показать оверлей статистики Настройки @@ -60,7 +63,7 @@ Покров Эдема Экспериментальные настройки для улучшения производительности и возможностей. Эти настройки могут вызывать черные экраны или другие проблемы в игре. Экспериментальные настройки - Настройки в Eden\'s Veil являются экспериментальными и могут вызывать проблемы. Если ваша игра не запускается, отключите все расширения и установите Extended Dynamic State на 0. + Настройки в Eden\'s Veil являются экспериментальными и могут вызывать проблемы. Если ваша игра не запускается, отключите все расширения и установите расширенное динамическое состояние на 0. В разработке: Пропуск кадров Включите или отключите пропуск кадров для повышения производительности за счет уменьшения количества отображаемых кадров. Эта функция находится в разработке и будет включена в будущих версиях. Улучшенная синхронизация кадров @@ -68,7 +71,7 @@ Включить LRU-кеш Включите или отключите кэш LRU (наименее недавно использованный), что повышает производительность за счет экономии использования ЦП. Некоторые игры имеют проблемы с ним, особенно TotK 1.2.1, поэтому отключите, если игра не запускается или случайно вылетает. Расширенное динамическое состояние - Включает функции Vulkan для улучшения производительности, рендеринга и экономии ресурсов при создании конвейеров, сохраняя низкое использование CPU/GPU. Эти расширения могут повысить температуру устройства, а старые GPU серии A6XX могут работать некорректно. Установите 0 для использования эмулируемых форматов Yuzu. + Активирует расширения Vulkan для оптимизации производительности, улучшения рендеринга и снижения нагрузки при создании конвейера с сохранением низкого энергопотребления CPU/GPU. Может привести к повышению температуры устройства. На GPU серии A6XX возможны некорректные работы. Установите 0 для использования эмулируемых форматов (Legacy). Синхронизация скорости ядра Синхронизирует скорость ядра с максимальным процентом скорости для улучшения производительности без изменения фактической скорости игры. Использовать Auto Stub @@ -91,7 +94,7 @@ Быстрое время CPU Заставляет эмулируемый процессор работать на более высокой частоте, уменьшая некоторые ограничители FPS. Эта опция нестабильна и может вызывать проблемы, а более слабые процессоры могут показывать снижение производительности. Тактовая частота CPU - Используйте Boost (1700MHz) для работы на максимальной нативной частоте Switch или Fast (2000MHz) для работы на удвоенной частоте. + Используйте Разгон (1700MHz) для работы на максимальной нативной частоте Switch или Быстрая (2000MHz) для работы на удвоенной частоте. Распределение памяти (ЭКСПЕРИМЕНТАЛЬНО) Изменяет эмулируемое распределение памяти. Эта настройка не увеличивает производительность, но может помочь в играх, использующих высокие разрешения через моды. Не используйте на телефонах с 8 ГБ ОЗУ или меньше. 4 ГБ (Рекомендуется) @@ -145,26 +148,27 @@ Мультиплеер - Создайте свою игровую комнату или присоединитесь к существующей, чтобы играть с другими + Создайте свою игровую комнату или присоединитесь к существующей Комната: %1$s ID консоли: %1$s Создать Присоединиться - Обзор публичных комнат + Общедоступные комнаты Имя пользователя IP-адрес Порт - Комната успешно создана! - Успешно присоединились к комнате! - Не удалось создать комнату! - Не удалось присоединиться к комнате! - Неверный адрес или имя слишком короткое! + Комната создана + Вы присоединились + Ошибка создания + Ошибка подключения + Слишком короткое имя + Неверный адрес Неверный порт! - Выйти из комнаты + Выйти Ошибка сети - Потеряно соединение - Конфликт имен - Конфликт MAC + Соединение потеряно + Имя занято + Конфликт MAC-адреса Конфликт ID консоли Неверная версия Неверный пароль @@ -178,22 +182,22 @@ Хост исключен Неизвестная ошибка Комната не инициализирована - Комната бездействует - Присоединение к комнате - Присоединились к комнате - Модератор комнаты + Комната неактивна + Подключение... + Подключено + Модератор %1$s присоединился %1$s вышел %1$s исключен %1$s заблокирован Адрес разблокирован Исключить - Отправить сообщение… + Сообщение... Пароль - Присоединиться - Присоединение... + Подключение... + Создание... Название комнаты - Название комнаты должно быть от 3 до 20 символов + 3-20 символов Макс. игроков (16) Макс. игроков: %d Чат @@ -205,30 +209,35 @@ Отправить Отправить сообщение Модерация - Список банов - Нет заблокированных пользователей - Разблокировать пользователя + Черный список + Нет заблокированных + Разблокировать Разблокировать - Вы уверены, что хотите разблокировать %1$s? - Заблокировать пользователя + Разблокировать %1$s? + Заблокировать Публичные комнаты - Публичные комнаты не найдены + Комнат не найдено Требуется пароль : %1$d/%2$d Игра Любая игра - Комната защищена паролем - Скрыть заполненные комнаты - Скрыть пустые комнаты - Нажмите обновить для повторной проверки - Поиск комнат… + С паролем + Скрыть заполненные + Скрыть пустые + Обновить + Поиск комнат... Мультиплеер Предпочитаемые игры Предпочитаемая игра Игры не найдены - Для создания комнаты необходимо выбрать предпочитаемую игру. + Выберите игру + 3-20 символов + Обязательно + Неверный IP + Минимум 5 символов + 1-65535 Отмена - ОК + OK Обновить Список комнат @@ -476,7 +485,7 @@ ЦП Отладка ЦП Переводит ЦП в режим медленной отладки. - графический процессор + Графический процессор API Отладка графики Переводит графический API в режим медленной отладки. diff --git a/src/android/app/src/main/res/values-uk/strings.xml b/src/android/app/src/main/res/values-uk/strings.xml index 59627546a3..25f5ae7f99 100644 --- a/src/android/app/src/main/res/values-uk/strings.xml +++ b/src/android/app/src/main/res/values-uk/strings.xml @@ -1,44 +1,47 @@ - Це програмне забезпечення дозволяє запускати ігри для ігрової консолі Nintendo Switch. Ми не надаємо самі ігри або ключі.<br /><br />Перед початком роботи знайдіть ваш файл prod.keys ]]> у сховищі пристрою.<br /><br />Дізнатися більше]]> + Це програмне забезпечення дозволяє запускати ігри для ігрової консолі Nintendo Switch. Ігри чи ключі до консолі не надаються.<br /><br />Перед початком роботи знайдіть ваш файл prod.keys ]]> у сховищі пристрою.<br /><br />Дізнатися більше]]> Сповіщення та помилки - Показувати сповіщення, коли щось пішло не так - Ви не надали дозвіл сповіщень! + Виводить сповіщення у разі виникнення проблем. + Дозвіл на сповіщення не надано! (Покращений) + RAM процесу: %1$d МБ + Компіляція + Шейдер(и) Система: - Показати накладання статистики + Показувати оверлей продуктивності Налаштування Видимість - Накладання - Увімкнути накладання статистики - Налаштування відображуваної інформації + Оверлей + Увімкнути оверлей статистики + Налаштуйте, яку інформацію відображати в оверлеї продуктивності Показати FPS - Відображати кадри за секунду - Показати час кадру + Виводити поточну частоту кадрів + Показати Frametime Відображати час обробки кадру Показати швидкість - Відображати швидкість емуляції + Відображати швидкість емуляції у відсотках Показати використання RAM Показати обсяг оперативної пам’яті, яку використовує емулятор Показати системну RAM Показати обсяг оперативної пам’яті, яку використовує система Показати температуру батареї Відображати температуру батареї - Позиція накладання - Обрати розташування статистики + Позиція оверлею + Обрати розташування виводу статистики на екрані Вгорі ліворуч Вгорі праворуч Внизу ліворуч Внизу праворуч По центру вгорі По центру внизу - Фон накладання - Додати фон для кращої читабельності + Фон оверлею + Додати фон для кращої читабельності Показати побудову шейдерів - Відображає поточну кількість шейдерів, які будуються + Показати поточну кількість шейдерів, які наразі компілюються Показати накладання інформації про пристрій @@ -54,44 +57,41 @@ Відобразити модель головного SoC - Розширення GPU - Рендерер - Інше - Покривало Едему - Експериментальні налаштування для покращення продуктивності та можливостей. Ці налаштування можуть спричинити чорні екрани або інші проблеми в грі. + Завіса Eden + Експериментальні налаштування для покращення продуктивності та сумісності. Ці налаштування можуть викликати збої, зокрема чорний екран. Експериментальні налаштування - Налаштування в Eden\'s Veil є дуже експериментальними і можуть спричинити проблеми. Якщо ваша гра не запускається, вимкніть усі розширення та змініть Extended Dynamic State на 0. + Налаштування Завіси Eden (Eden\'s Veil) є дуже експериментальними та можуть спричинити проблеми. Якщо ваша гра не запускається — вимкніть усі розширення та змініть Розширений динамічний стан на 0. В розробці: Пропуск кадрів Увімкніть або вимкніть пропуск кадрів для покращення продуктивності за рахунок зменшення кількості візуалізованих кадрів. Ця функція ще розробляється та буде доступна у майбутніх версіях. Покращена синхронізація кадрів Забезпечує плавну та стабільну подачу кадрів шляхом синхронізації їх часу, зменшуючи підвисання та нерівномірну анімацію. Ідеально для ігор з нестабільним часом кадрів або мікро-підвисаннями під час гри. Увімкнути LRU-кеш - Увімкніть або вимкніть кеш LRU (найменш нещодавно використаний), що підвищує продуктивність за рахунок економії використання CPU. Деякі ігри мають проблеми з ним, особливо TotK 1.2.1, тому вимкніть, якщо гра не запускається або випадково вилітає. + Увімкніть або вимкніть кеш LRU (Least Recently Used), підвищуючи продуктивність за рахунок зменшення навантаження на CPU. Однак деякі ігри, як-от TotK версії 1.2.1, можуть працювати некоректно — у такому разі вимкніть цю опцію, якщо гра не запускається або раптово вилітає. Розширений динамічний стан - Активує функції Vulkan для покращення продуктивності, рендерингу та економії ресурсів під час створення конвеєрів, зберігаючи низьке використання CPU/GPU. Ці розширення можуть підвищити температуру пристрою, а старі GPU серії A6XX можуть реагувати некоректно. Встановіть 0 для використання емульованих форматів Yuzu. + Активує функції Vulkan для покращення продуктивності, поліпшеня рендерингу та економії ресурсів під час створення конвеєрів (pepeline), зберігаючи низьке використання CPU/GPU. Ці розширення можуть підвищити температуру пристрою, а старі GPU серії A6XX можуть реагувати некоректно. Встановіть 0, щоб увімкнути використання емуляції попередніх (Legacy) форматів. Синхронізувати швидкість ядра Синхронізує швидкість ядра з максимальним відсотком швидкості для покращення продуктивності без зміни реальної швидкості гри. Використовувати Auto Stub - Автоматично замінює відсутні сервіси та функції. Може покращити сумісність, але викликати збої та проблеми стабільності. + Автоматично замінює відсутні сервіси та функції. Це може покращити сумісність, але може викликати збої та проблеми зі стабільністю. Видалити прошивку - Видалення прошивки видалить її з пристрою та може вплинути на сумісність ігор. + Видалення прошивки з пристрою може вплинути на сумісність ігор. Видалення прошивки... Прошивку успішно видалено - Провокуюча вершина - Покращує освітлення та обробку вершин у деяких іграх. Підтримується лише GPU з Vulkan 1.0+. + Provoking Vertex + Провокуюча вершина (Provoking Vertex) покращує освітлення та обробку вершин у деяких іграх. Підтримується лише GPU з Vulkan 1.0+. Індексація дескрипторів Покращує обробку текстур та буферів, а також шар перекладу Maxwell. Підтримується деякими GPU Vulkan 1.1 та всіма GPU Vulkan 1.2+. Використовувати швидкий час GPU - Змушує більшість ігор працювати у максимальній рідній роздільній здатності. Ця опція може спричиняти проблеми. + Змушує більшість ігор працювати з найвищою нативною роздільною здатністю. Цей параметр є нестабільним і може призвести до збоїв. Фактор розгону GPU Використовуйте 128 для максимальної продуктивності та 512 для максимальної графічної точності. Низький (128) Середній (256) Високий (512) Швидкий час CPU - Змушує емульований процесор працювати на вищій тактовій частоті, зменшуючи деякі обмежувачі FPS. Ця опція нестабільна і може спричинити проблеми, а слабші процесори можуть мати знижену продуктивність. + Змушує емульований процесор працювати на вищій тактовій частоті, зменшуючи деякі обмежувачі FPS. Ця опція нестабільна і може спричинити проблеми, а слабші CPU можуть мати знижену продуктивність. Тактова частота CPU - Використовуйте Boost (1700MHz) для роботи на максимальній нативній частоті Switch або Fast (2000MHz) для роботи на подвійній частоті. + Використовуйте Прискорену (1700MHz) для роботи на максимальній нативній частоті Switch, або оберіть Швидку (2000MHz) для подвоєння базової частоти. Розподіл пам\'яті (ЕКСПЕРИМЕНТАЛЬНО) Змінює емульований розподіл пам\'яті. Це налаштування не підвищує продуктивність, але може допомогти в іграх, які використовують високу роздільну здатність через моди. Не використовуйте на телефонах з 8 ГБ ОЗУ або менше. 4 ГБ (Рекомендовано) @@ -99,12 +99,12 @@ 8 ГБ (Небезпечно) Базова (1000MHz) - Розгін (1700MHz) + Прискорена (1700MHz) Швидка (2000MHz) Метод декодування ASTC - Виберіть спосіб декодування стиснених текстур ASTC для рендерингу: CPU (повільно, безпечно), GPU (швидко, рекомендовано) або CPU Async (без затримок, можуть виникнути проблеми) + Виберіть спосіб декодування стиснених текстур ASTC для рендерингу: CPU (повільно, безпечно), GPU (швидко, рекомендовано) або CPU Async (без затримок, можуть виникнути несправності) CPU GPU Асинхронно CPU @@ -123,7 +123,7 @@ Агресивний - Вершинний шейдер + Система обробки шейдерів Спосіб компіляції шейдерів Універсальний Mali @@ -145,22 +145,23 @@ Мультиплеєр - Створіть власну ігрову кімнату або приєднайтеся до існуючої, щоб грати з іншими + Створити свою або приєднатися до вже існуючої кімнати для гри онлайн Кімната: %1$s ID консолі: %1$s Створити Приєднатися - Огляд публічних кімнат - Ім\'я користувача + Публічні кімнати + Ім`я IP-адреса Порт - Кімнату успішно створено! - Успішно приєдналися до кімнати! - Не вдалося створити кімнату! - Не вдалося приєднатися до кімнати! - Невірна адреса або ім\'я занадто коротке! - Невірний порт! - Вийти з кімнати + Кімнату створено + Приєднано до кімнати + Помилка створення + Помилка приєднання + Невірні дані + Невірна адреса + Невірний порт + Вийти Помилка мережі Втрачено з\'єднання Конфлікт імен @@ -175,25 +176,25 @@ Користувача не знайдено Вже в кімнаті Помилка створення кімнати - Хост виключений + Вигнано власником Невідома помилка - Кімната не ініціалізована - Кімната бездіяльна - Приєднання до кімнати - Приєдналися до кімнати - Модератор кімнати + Кімнату не ініціалізовано + Кімната простоює + Приєднання... + Приєднано + Модератор %1$s приєднався %1$s вийшов - %1$s виключений - %1$s заблокований - Адресу розблоковано - Виключити - Надіслати повідомлення… + %1$s вигнано + %1$s заблоковано + Розблоковано + Вигнати + Повідомлення... Пароль Приєднатися Приєднання... Назва кімнати - Назва кімнати має бути від 3 до 20 символів + Назва кімнати має містити від 3 до 20 символів Макс. гравців (16) Макс. гравців: %d Чат @@ -209,26 +210,31 @@ Немає заблокованих користувачів Розблокувати користувача Розблокувати - Ви впевнені, що хочете розблокувати %1$s? - Заблокувати користувача + Розблокувати %1$s? + Заблокувати Публічні кімнати - Публічні кімнати не знайдено + Кімнат не знайдено Потрібен пароль : %1$d/%2$d Гра Будь-яка гра - Кімната захищена паролем - Приховати заповнені кімнати - Приховати порожні кімнати - Натисніть оновити для повторної перевірки - Пошук кімнат… + З паролем + Приховати заповнені + Приховати порожні + Оновити + Пошук кімнат... Мультиплеєр - Улюблені ігри - Улюблена гра - Ігри не знайдено - Для створення кімнати необхідно обрати улюблену гру. + Вподобані ігри + Вподобана гра + Ігор не знайдено + Виберіть гру + 3-20 символів + Обов\'язково + Невірний IP + Мінімум 5 символів + 1-65535 Скасувати - ОК + OK Оновити Список кімнат @@ -252,35 +258,35 @@ Виберіть ваш файл <b>prod.keys</b> за допомогою кнопки нижче. Вибрати ключі Ігри - Виберіть вашу папку з <b>іграми</b> за допомогою кнопки нижче. + Виберіть вашу теку з <b>іграми</b> за допомогою кнопки нижче. Готово Все готово.\nМожна грати! Продовжити Далі Назад Додати ігри - Виберіть папку з іграми + Виберіть теку з іграми За алфавітом Список Сітка - Папка + Тека Попередня версія УВАГА: Ця версія не призначена для публічного використання. Програмне забезпечення знаходиться на ранній стадії розробки та може містити помилки. Більше не показувати ПОПЕРЕДНЯ ВЕРСІЯ; НЕ ДЛЯ ПУБЛІКИ - Папку з іграми успішно додано + Теку з іграми успішно додано Ігри Пошук Налаштування - Не знайдено файлів або ще не вибрано папку з іграми. + Не знайдено файлів або ще не вибрано теку з іграми. Пошук та фільтрація ігор - Виберіть папку з іграми + Виберіть теку з іграми Дозволяє Eden заповнити список ігор - Пропустити вибір папки з іграми? - Ігри не відображатимуться у списку Ігри, якщо папку не вибрано. + Пропустити вибір теки з іграми? + Ігри не відображатимуться у списку Ігри, якщо теку не вибрано. Знайти ігри - Вибрано папку з іграми + Вибрано теку з іграми Встановити prod.keys Потрібно для розшифровки роздрібних ігор Пропустити додавання ключів? @@ -304,25 +310,25 @@ Помилка під час зчитування ключів шифрування Переконайтеся, що файл ключів має розширення .keys, і повторіть спробу. Невірні ключі шифрування - Обраний файл невірний або пошкоджений. Будь ласка, пере-дампіть ваші ключі. - Встановити драйвер ГП + Обраний файл невірний або пошкоджений. Будь ласка, зробіть повторний дамп ваших ключів. + Встановити драйвер GPU Встановіть альтернативні драйвери для потенційно кращої продуктивності та/або точності Розширені налаштування Налаштування параметрів емулятора Роздрібні Homebrew - Відкрити папку Eden + Відкрити теку Eden Керування внутрішніми файлами Eden Змінити зовнішній вигляд застосунку Не знайдено файлового менеджера - Не вдалося відкрити папку Eden - Будь ласка, знайдіть папку користувача за допомогою бічної панелі файлового менеджера вручну. + Не вдалося відкрити теку Eden + Будь ласка, знайдіть теку користувача за допомогою бічної панелі файлового менеджера вручну. Керування даними збережень Знайдено дані збережень. Будь ласка, виберіть варіант нижче. Імпорт або експорт файлів збереження Успішно імпортовано - Неприпустима структура папки збереження - Назва першої вкладеної папки має бути ідентифікатором гри. + Неприпустима структура теки збереження + Назва підтеки має бути ідентифікатором гри (title ID). Імпорт Експорт @@ -354,12 +360,23 @@ Зроблено з \u2764 від команди Eden Збірка + + Ранній доступ + Переваги раннього доступу + Новітні можливості + Ранній доступ до оновлень + Без ручного встановлення + Пріоритетна підтримка + Допомога в презервації ігор + Наша нескінченна вдячність + Ви зацікавлені? + Обмеження швидкості Обмежує швидкість емуляції у відсотках від нормальної. Відсоток обмеження Вказує відсоток обмеження швидкості. 100% — нормальна швидкість. - Режим ЦП - Точність ЦП + Режим CPU + Точність CPU %1$s%2$s @@ -371,7 +388,7 @@ Вибрати дату Вибрати час Свій RTC - Дозволяє встановити власний час, відмінний від системного. + Дозволяє встановити власний час (Real-time clock, або RTC), відмінний від системного. Встановити RTC @@ -384,15 +401,15 @@ Роздільна здатність (Портативний/Док) Режим верт. синхронізації Орієнтація - Співвідношення - Фільтр масштабування + Співвідношення сторін + Фільтр масштабування вікна Різкість FSR Визначає різкість зображення при використанні FSR. Згладжування Максимальна тактова частота (тільки Adreno) - Змушує ГП працювати на максимальній тактовій частоті. + Змушує GPU працювати на максимальній тактовій частоті. Асинхронні шейдери - Компілює шейдери асинхронно. Це може зменшити затримки, але також може спричинити графічні помилки. + Компілює шейдери асинхронно. Це може зменшити затримки, але також може спричинити графічні баги. Реактивне очищення Покращує точність рендерингу в деяких іграх. Кеш шейдерів @@ -401,10 +418,10 @@ Покращує якість текстур під кутом. - ЦП - Налагодження ЦП - Уповільнює ЦП для налагодження. - ГП + CPU + Налагодження CPU + Уповільнює CPU для налагодження. + GPU API Налагодження графіки Уповільнює графічний API для налагодження. @@ -415,9 +432,9 @@ Скидає логи налагодження після кожного написаного рядка, полегшуючи налагодження у випадках збоїв або зависань. - Двигун аудіо + Аудіорушій Гучність - Вказує гучність аудіовиходу. + Визначає гучність аудіовиходу. Кнопки @@ -429,11 +446,14 @@ Мінус Home Захоплення - Кнопки напрямків + Хрестовина Вгору Вниз Вліво Вправо + Лівий стік + Контрольний стік + Правий стік C-Джойстик Натиснення Діапазон @@ -444,7 +464,7 @@ ZL ZR Z - Неприпустимо + Некоректний Контролер Pro Портативний Подвійні Joy-Con\'и @@ -454,7 +474,7 @@ Інвертувати осі Інвертувати кнопку Переключити кнопку - Турбо кнопка + Кнопка Турбо Встановити поріг Переключити осі З\'єднано @@ -484,12 +504,12 @@ Зберегти - Вибрати драйвер ГП - Хочете замінити поточний драйвер ГП? + Вибрати драйвер GPU + Хочете замінити поточний драйвер GPU? Встановити За замовчуванням - Використовується стандартний драйвер ГП - Системний драйвер ГП + Використовується стандартний драйвер GPU + Системний драйвер GPU Встановлення драйвера... @@ -526,36 +546,40 @@ Графіка Аудіо Керування - Тема і колір + Тема та колір Налагодження + Інформація Шлях Розробник Версія Доповнення + Ваш ROM зашифрований prod.keys встановлено, щоб ігри можна було розшифрувати.]]> Сталася помилка під час ініціалізації відеоядра. - Зазвичай це спричинено несумісним драйвером ГП. Встановлення користувацького драйвера ГП може вирішити цю проблему. + Зазвичай це спричинено несумісним драйвером GPU. Встановлення користувацького драйвера GPU може вирішити цю проблему. Не вдалося запустити ROM - Файл ROM не існує + ROM файлу не існує Готово Масштаб Непрозорість Сенсорний екран + - Перервати + Зупинити Продовжити Системний архів не знайдено - %s відсутній. Будь ласка, здампіть ваші системні архіви.\nПродовження емуляції може призвести до збоїв і помилок. + %s відсутній. Будь ласка, зробіть дамп ваших системних архівів.\nПродовження емуляції може призвести до збоїв і помилок. Системний архів Помилка збереження/завантаження Фатальна помилка Сталася фатальна помилка. Перевірте журнал для отримання докладної інформації.\nПродовження емуляції може призвести до збоїв і помилок. Вимкнення цього налаштування значно знизить продуктивність емуляції! Для досягнення найкращих результатів рекомендується залишити це налаштування увімкненим. + Японія США @@ -565,8 +589,15 @@ Корея Тайвань - B - GB + Байти + Б + КБ + МБ + ГБ + ТБ + ПБ + ЕБ + Vulkan Вимкнено @@ -608,9 +639,9 @@ Авто За замовчуванням (16:9) - Змусити 4:3 - Змусити 21:9 - Змусити 16:10 + Примусові 4:3 + Примусові 21:9 + Примусові 16:10 Точно Небезпечно diff --git a/src/android/app/src/main/res/values-vi/strings.xml b/src/android/app/src/main/res/values-vi/strings.xml index 49670bd6c4..902bac6656 100644 --- a/src/android/app/src/main/res/values-vi/strings.xml +++ b/src/android/app/src/main/res/values-vi/strings.xml @@ -8,6 +8,9 @@ (Nâng cao) + RAM tiến trình: %1$d MB + Đang xây dựng + shader Hệ thống: Hiển thị thống kê hiệu suất Tùy chỉnh @@ -68,7 +71,7 @@ Bật bộ nhớ đệm LRU Bật hoặc tắt bộ nhớ đệm LRU (ít được sử dụng gần đây nhất), tăng hiệu suất bằng cách tiết kiệm sử dụng CPU. Một số trò chơi có vấn đề với nó, đặc biệt là TotK 1.2.1, vì vậy hãy tắt nếu trò chơi không khởi động hoặc bị treo ngẫu nhiên. Trạng thái động mở rộng - Kích hoạt các tính năng Vulkan để cải thiện hiệu suất, kết xuất và tiết kiệm tài nguyên khi tạo pipeline trong khi vẫn duy trì mức sử dụng CPU/GPU thấp. Các tiện ích mở rộng này có thể làm tăng nhiệt độ thiết bị và GPU dòng A6XX cũ hơn có thể không phản ứng đúng cách. Đặt thành 0 để sử dụng định dạng mô phỏng của Yuzu. + Kích hoạt các tính năng Vulkan để cải thiện hiệu suất, kết xuất và tiết kiệm tài nguyên khi tạo pipeline trong khi vẫn duy trì mức sử dụng CPU/GPU thấp. Các tiện ích mở rộng này có thể làm tăng nhiệt độ thiết bị và GPU thuộc dòng A6XX cũ có thể hoạt động không chính xác. Đặt thành 0 để sử dụng các định dạng mô phỏng cũ. Đồng bộ tốc độ lõi Đồng bộ tốc độ lõi với tỷ lệ phần trăm tốc độ tối đa để cải thiện hiệu suất mà không làm thay đổi tốc độ thực tế của trò chơi. Sử dụng Auto Stub @@ -102,41 +105,41 @@ Boost (1700MHz) Nhanh (2000MHz) - + Phương thức giải mã ASTC Chọn cách giải mã texture nén ASTC để kết xuất: CPU (chậm, an toàn), GPU (nhanh, khuyên dùng) hoặc CPU Async (không giật, có thể gây ra sự cố) CPU GPU CPU bất đồng bộ - + Phương thức nén lại ASTC Chọn cách nén lại texture ASTC để cải thiện khả năng tương thích và hiệu suất. Bật tùy chọn này tiết kiệm VRAM nhưng có thể làm giảm chất lượng texture. Không nén BC1 (Chất lượng thấp) BC3 (Chất lượng trung bình) - + Chế độ sử dụng VRAM Kiểm soát cách cấp phát bộ nhớ GPU Bảo thủ Mạnh - + Backend Shader Chọn cách biên dịch shader Đa năng Mali Adreno/Xclipse - + Giả lập NVDEC Chọn cách xử lý giải mã video CPU GPU Tắt - + Tối ưu SPIRV Tối ưu hóa shader đã biên dịch để cải thiện hiệu suất GPU. Không @@ -145,20 +148,21 @@ Nhiều người chơi - Tạo phòng chơi của riêng bạn hoặc tham gia phòng có sẵn để chơi với người khác + Tạo phòng chơi của bạn hoặc tham gia phòng có sẵn Phòng: %1$s ID máy chơi game: %1$s Tạo Tham gia - Duyệt phòng công khai - Tên người dùng + Phòng công khai + Tên người chơi Địa chỉ IP Cổng - Tạo phòng thành công! - Tham gia phòng thành công! - Tạo phòng thất bại! - Tham gia phòng thất bại! - Địa chỉ không hợp lệ hoặc tên quá ngắn! + Tạo phòng thành công + Tham gia thành công + Lỗi tạo phòng + Lỗi tham gia + Tên quá ngắn + Địa chỉ không hợp lệ Cổng không hợp lệ! Rời phòng Lỗi mạng @@ -171,65 +175,70 @@ Không thể kết nối Phòng đã đầy Host bị cấm - Từ chối quyền - Không tìm thấy người dùng - Đã ở trong phòng + Từ chối truy cập + Không có người chơi + Đã trong phòng Lỗi tạo phòng - Host bị đá + Host bị đuổi Lỗi không xác định Phòng chưa khởi tạo Phòng không hoạt động - Đang tham gia phòng - Đã tham gia phòng - Người kiểm duyệt phòng + Đang tham gia... + Đã tham gia + Người kiểm duyệt %1$s đã tham gia - %1$s đã rời đi - %1$s bị đá + %1$s đã rời + %1$s bị đuổi %1$s bị cấm - Địa chỉ được bỏ cấm - Đá - Gửi tin nhắn… + Đã bỏ cấm + Đuổi + Nhắn tin... Mật khẩu - Tham gia - Đang tham gia... + Đang tham gia... + Đang tạo... Tên phòng - Tên phòng phải từ 3 đến 20 ký tự - Số người chơi tối đa (16) - Số người chơi tối đa: %d + Tên phòng 3-20 ký tự + Tối đa (16) + Tối đa: %d Trò chuyện - Thêm tùy chọn - Đã sao chép địa chỉ IP vào bộ nhớ tạm + Tùy chọn + Đã sao chép IP Địa chỉ máy chủ Trò chuyện - Nhập tin nhắn… + Nhập tin nhắn... Gửi - Gửi tin nhắn + Gửi tin Kiểm duyệt Danh sách cấm - Không có người dùng bị cấm - Bỏ cấm người dùng + Không có ai bị cấm + Bỏ cấm Bỏ cấm - Bạn có chắc muốn bỏ cấm %1$s không? - Cấm người dùng + Bỏ cấm %1$s? + Cấm Phòng công khai - Không tìm thấy phòng công khai - Yêu cầu mật khẩu + Không tìm thấy phòng + Cần mật khẩu : %1$d/%2$d Trò chơi - Bất kỳ trò chơi nào - Phòng được bảo vệ bằng mật khẩu + Bất kỳ trò chơi + Phòng có mật khẩu Ẩn phòng đầy Ẩn phòng trống - Nhấn làm mới để kiểm tra lại - Tìm phòng… + Chạm để tải lại + Tìm phòng... Nhiều người chơi Trò chơi ưa thích - Trò chơi ưa thích - Không tìm thấy trò chơi - Bạn phải chọn trò chơi ưa thích để tạo phòng. + Trò chơi chính + Không tìm thấy + Chọn trò chơi chính + 3-20 ký tự + Bắt buộc + Sai định dạng IP + Ít nhất 5 ký tự + 1-65535 Hủy OK - Làm mới + Tải lại Danh sách phòng diff --git a/src/android/app/src/main/res/values-zh-rCN/strings.xml b/src/android/app/src/main/res/values-zh-rCN/strings.xml index c054eb0dc5..a9c06392e2 100644 --- a/src/android/app/src/main/res/values-zh-rCN/strings.xml +++ b/src/android/app/src/main/res/values-zh-rCN/strings.xml @@ -8,6 +8,9 @@ (增强) + 进程内存: %1$d MB + 正在编译 + 着色器 系统: 显示性能统计悬浮窗 自定义 @@ -68,7 +71,7 @@ 启用LRU缓存 启用或禁用LRU(最近最少使用)缓存,通过节省CPU使用来提高性能。某些游戏(尤其是TotK 1.2.1)可能存在问题,如果游戏无法启动或随机崩溃,请禁用它。 扩展动态状态 - 启用Vulkan功能以在保持低CPU/GPU使用率的同时提高性能、渲染效果并节省管道创建资源。这些扩展可能会提高设备温度,较旧的A6XX系列GPU可能无法正确响应。设置为0可使用Yuzu模拟格式。 + 启用Vulkan功能以提升性能、优化渲染并在流水线创建时节省资源,同时保持较低的CPU/GPU占用率。这些扩展可能会提高设备温度,旧款A6XX系列GPU可能无法正常工作。设置为0以使用旧版模拟格式。 同步核心速度 将核心速度与最大速度百分比同步,在不改变游戏实际速度的情况下提高性能。 使用自动存根 @@ -102,41 +105,41 @@ 加速 (1700MHz) 快速 (2000MHz) - + ASTC解码方式 选择ASTC压缩纹理的解码方式:CPU(慢速、安全)、GPU(快速、推荐)或CPU异步(无卡顿,可能导致问题) CPU解码 GPU解码 CPU异步解码 - + ASTC重压缩方式 选择ASTC纹理的重新压缩方式以提高兼容性和性能。启用此选项可节省VRAM,但可能会降低纹理质量。 不压缩 BC1(低质量) BC3(中等质量) - + 显存使用模式 控制显存分配策略 保守模式 激进模式 - + 着色器后端 选择着色器编译方式 通用 Mali Adreno/Xclipse - + NVDEC模拟 选择视频解码处理方式 CPU解码 GPU解码 禁用 - + SPIRV优化 优化编译后的着色器以提高GPU效率。 从不 @@ -145,37 +148,38 @@ 多人游戏 - 创建自己的游戏房间或加入现有房间与他人一起玩 - 房间: %1$s - 主机ID: %1$s + 创建自己的游戏房间或加入现有房间与他人联机 + 房间:%1$s + 主机ID:%1$s 创建 加入 - 浏览公共房间 + 浏览公开房间 用户名 IP地址 端口 - 房间创建成功! - 成功加入房间! - 创建房间失败! - 加入房间失败! - 地址无效或名称过短! - 端口无效! + 房间创建成功 + 成功加入房间 + 房间创建失败 + 加入房间失败 + 名称过短 + 地址无效 + 端口无效! 退出房间 网络错误 连接丢失 名称冲突 - MAC冲突 + MAC地址冲突 主机ID冲突 - 版本错误 + 版本不匹配 密码错误 无法连接 房间已满 主机被封禁 - 权限被拒绝 - 无此用户 + 权限不足 + 用户不存在 已在房间中 - 创建房间错误 - 主机被踢出 + 房间创建异常 + 主机已踢出 未知错误 房间未初始化 房间空闲 @@ -186,22 +190,22 @@ %1$s 离开 %1$s 被踢出 %1$s 被封禁 - 地址解封 - 踢出 - 发送消息…… + 地址已解封 + 踢出成员 + 发送消息… 密码 - 加入 - 正在加入... + 正在加入… + 正在创建… 房间名称 - 房间名称必须为3到20个字符 - 最大玩家数(16) - 最大玩家数: %d + 房间名称需为3-20个字符 + 最大玩家数 (16) + 最大玩家数:%d 聊天 更多选项 - IP地址已复制到剪贴板 + IP地址已复制 服务器地址 聊天 - 输入消息…… + 输入消息… 发送 发送消息 管理 @@ -209,24 +213,29 @@ 没有封禁的用户 解封用户 解封 - 确定要解封%1$s吗? + 确定解封 %1$s 吗? 封禁用户 - 公共房间 - 未找到公共房间 + 公开房间 + 未找到公开房间 需要密码 - : %1$d/%2$d + :%1$d/%2$d 游戏 任意游戏 密码保护房间 - 隐藏已满房间 + 隐藏满员房间 隐藏空房间 - 点击刷新重新检查 - 搜索房间…… - 多人游戏 + 点击刷新重试 + 搜索房间… + 多人联机 偏好游戏 - 偏好游戏 + 首选游戏 未找到游戏 - 必须选择偏好游戏才能创建房间。 + 创建房间需选择首选游戏 + 长度需为3-20个字符 + 必填 + IP格式无效 + 至少5个字符 + 端口需为1-65535 取消 确定 刷新 diff --git a/src/android/app/src/main/res/values-zh-rTW/strings.xml b/src/android/app/src/main/res/values-zh-rTW/strings.xml index 2b94dc1cb7..0733a91a0b 100644 --- a/src/android/app/src/main/res/values-zh-rTW/strings.xml +++ b/src/android/app/src/main/res/values-zh-rTW/strings.xml @@ -8,6 +8,9 @@ (增強) + 進程記憶體: %1$d MB + 正在編譯 + 著色器 系統: 顯示效能統計疊加層 自訂 @@ -68,7 +71,7 @@ 啟用LRU快取 啟用或停用LRU(最近最少使用)快取,通過節省CPU使用來提高效能。某些遊戲(尤其是TotK 1.2.1)可能存在問題,如果遊戲無法啟動或隨機崩潰,請停用它。 擴展動態狀態 - 啟用Vulkan功能以在保持低CPU/GPU使用率的同時提高效能、渲染效果並節省管線建立資源。這些擴充可能會提高裝置溫度,較舊的A6XX系列GPU可能無法正確響應。設為0可使用Yuzu模擬格式。 + 啟用Vulkan功能以提升效能、改善渲染並在創建管線時節省資源,同時保持較低的CPU/GPU使用率。這些擴充功能可能會提高設備溫度,且舊款A6XX系列的GPU可能無法正常運作。設為0以使用舊版模擬格式。 同步核心速度 將核心速度與最大速度百分比同步,在不改變遊戲實際速度的情況下提高效能。 使用自動存根 @@ -101,47 +104,47 @@ 基礎 (1000MHz) 加速 (1700MHz) 快速 (2000MHz) - + 低 (128) 中 (256) 高 (512) - + ASTC解碼方式 選擇ASTC壓縮紋理的解碼方式:CPU(慢速、安全)、GPU(快速、推薦)或CPU非同步(無卡頓,可能導致問題) CPU GPU CPU非同步 - + ASTC重新壓縮方式 選擇ASTC紋理的重新壓縮方式以提高相容性和效能。啟用此選項可節省VRAM,但可能會降低紋理品質。 未壓縮 BC1(低品質) BC3(中品質) - + VRAM使用模式 控制GPU記憶體的分配與釋放策略 保守 積極 - + 著色器後端 選擇著色器的編譯與轉譯方式 通用 Mali Adreno/Xclipse - + NVDEC模擬 選擇影片解碼(NVDEC)的處理方式 CPU GPU - + 優化SPIRV輸出 最佳化編譯後的著色器以提高GPU效率。 永不 @@ -150,22 +153,23 @@ 多人遊戲 - 建立自己的遊戲房間或加入現有房間與他人一起遊玩 - 房間: %1$s + 建立自己的遊戲房間或加入現有房間與他人連線 + 房間:%1$s 主機ID:%1$s 建立 加入 瀏覽公開房間 使用者名稱 IP位址 - 通訊埠 - 房間建立成功! - 成功加入房間! - 建立房間失敗! - 加入房間失敗! - 無效的地址或名稱太短! - 無效的通訊埠! - 離開房間 + 埠號 + 房間建立成功 + 成功加入房間 + 房間建立失敗 + 加入房間失敗 + 名稱過短 + 位址無效 + 埠號無效! + 退出房間 網路錯誤 連線中斷 名稱衝突 @@ -177,61 +181,66 @@ 房間已滿 主機已被封鎖 權限不足 - 無此使用者 + 使用者不存在 已在房間中 - 建立房間錯誤 - 主機已被踢出 + 房間建立異常 + 主機已踢出 未知錯誤 房間未初始化 - 房間閒置中 + 房間閒置 正在加入房間 已加入房間 房間管理員 - %1$s 已加入 - %1$s 已離開 - %1$s 已被踢出 - %1$s 已被封鎖 - 位址已解除封鎖 + %1$s 加入 + %1$s 離開 + %1$s 被踢出 + %1$s 被封鎖 + 位址已解封 踢出成員 - 傳送訊息…… + 傳送訊息… 密碼 - 加入 - 加入中... + 正在加入… + 正在建立… 房間名稱 - 房間名稱必須介於3到20個字元之間 + 房間名稱需為3-20個字元 最大玩家數 (16) - 最大玩家數: %d + 最大玩家數:%d 聊天 更多選項 IP位址已複製到剪貼簿 伺服器位址 聊天 - 輸入訊息…… + 輸入訊息… 傳送 傳送訊息 管理 封鎖名單 - 無被封鎖的使用者 - 解除封鎖使用者 - 解除封鎖 - 確定要解除封鎖 %1$s 嗎? + 無封鎖使用者 + 解除封鎖 + 解封 + 確定解除封鎖 %1$s 嗎? 封鎖使用者 公開房間 - 找不到公開房間 - 需要密碼 - : %1$d/%2$d + 未找到公開房間 + 需輸入密碼 + :%1$d/%2$d 遊戲 任意遊戲 密碼保護房間 - 隱藏已滿房間 + 隱藏滿員房間 隱藏空房間 - 點擊刷新重新檢查 - 搜尋大廳… - 多人遊戲 + 點擊刷新重試 + 搜尋房間… + 多人連線 偏好遊戲 - 偏好遊戲 - 找不到遊戲 - 您必須選擇一個偏好遊戲才能建立房間。 + 首選遊戲 + 未找到遊戲 + 建立房間需選擇首選遊戲 + 長度需為3-20個字元 + 必填 + IP格式無效 + 至少5個字元 + 埠號需為1-65535 取消 確定 刷新 diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index 36b1d110b0..0e975d7732 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml @@ -11,6 +11,7 @@ (Enhanced) + Process RAM: %1$d MB Building Shader(s) System: @@ -124,17 +125,18 @@ Username IP Address Port - Room created successfully! - Join the room successfully! - Failed to create room! - Failed to join room! - Invalid address or name is too short! + Room created successfully + Joined room successfully + Failed to create room + Failed to join room + Name is too short + Invalid address Invalid port! Exit Room Network error Lost connection Name collision - Mac collision + MAC Address collision Console ID collision Wrong version Wrong password @@ -146,7 +148,7 @@ Already in room Create room error Host kicked - unknown error + Unknown error Room uninitialized Room idle Room joining @@ -156,12 +158,12 @@ %1$s left %1$s kicked %1$s banned - address unbanned + Address unbanned Kick Out - Send messages…… + Send messages… Password - Join - Joining... + Joining… + Creating… Room Name Room name must be between 3 and 20 characters Max Players (16) @@ -171,7 +173,7 @@ IP Address copied to clipboard Server Address Chat - Type message…… + Type message… Send Send Message Moderation @@ -197,11 +199,17 @@ Preferred Game No Games Found You must choose a Preferred Game to host a room. + Must be between 3 and 20 characters + Required + Invalid IP format + Must be at least 5 characters + Must be between 1 and 65535 Cancel Ok Refresh Room List + Welcome! Learn how to setup <b>eden</b> and jump into emulation.