[android] Improved Netplay (#175)

- Runtime validation rather than toasts
- Refactored some minor details
- Improved language clarity
- add TODOs

Signed-off-by: crueter <swurl@swurl.xyz>
Co-authored-by: Aleksandr Popovich <alekpopo@pm.me>

Co-authored-by: Pavel Barabanov <pavelbarabanov94@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/175
Co-authored-by: crueter <swurl@swurl.xyz>
Co-committed-by: crueter <swurl@swurl.xyz>
This commit is contained in:
crueter
2025-06-11 22:59:48 +00:00
committed by crueter
parent c4ca8d2367
commit b54e7a8e5e
29 changed files with 1358 additions and 955 deletions
@@ -8,6 +8,9 @@
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(Nâng cao)</string>
<string name="process_ram">RAM tiến trình: %1$d MB</string>
<string name="shaders_prefix">Đang xây dựng</string>
<string name="shaders_suffix">shader</string>
<string name="system_info_label">Hệ thống:</string>
<string name="show_stats_overlay">Hiển thị thống kê hiệu suất</string>
<string name="stats_overlay_customization">Tùy chỉnh</string>
@@ -68,7 +71,7 @@
<string name="use_lru_cache">Bật bộ nhớ đệm LRU</string>
<string name="use_lru_cache_description">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.</string>
<string name="dyna_state">Trạng thái động mở rộng</string>
<string name="dyna_state_description">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.</string>
<string name="dyna_state_description">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ũ.</string>
<string name="use_sync_core">Đồng bộ tốc độ lõi</string>
<string name="use_sync_core_description">Đồ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.</string>
<string name="use_auto_stub">Sử dụng Auto Stub</string>
@@ -102,41 +105,41 @@
<string name="clock_boost">Boost (1700MHz)</string>
<string name="clock_fast">Nhanh (2000MHz)</string>
<!-- Phương thức giải mã ASTC -->
<!-- ASTC Decoding Method -->
<string name="accelerate_astc">Phương thức giải mã ASTC</string>
<string name="accelerate_astc_description">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ố)</string>
<string name="accelerate_astc_cpu">CPU</string>
<string name="accelerate_astc_gpu">GPU</string>
<string name="accelerate_astc_async">CPU bất đồng bộ</string>
<!-- Phương thức nén lại ASTC -->
<!-- ASTC Recompression Method -->
<string name="astc_recompression">Phương thức nén lại ASTC</string>
<string name="astc_recompression_description">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.</string>
<string name="astc_recompression_uncompressed">Không nén</string>
<string name="astc_recompression_bc1">BC1 (Chất lượng thấp)</string>
<string name="astc_recompression_bc3">BC3 (Chất lượng trung bình)</string>
<!-- Chế độ sử dụng VRAM -->
<!-- VRAM Usage Mode -->
<string name="vram_usage_mode">Chế độ sử dụng VRAM</string>
<string name="vram_usage_mode_description">Kiểm soát cách cấp phát bộ nhớ GPU</string>
<string name="vram_usage_conservative">Bảo thủ</string>
<string name="vram_usage_aggressive">Mạnh</string>
<!-- Backend Shader -->
<!-- Shader Backend -->
<string name="shader_backend">Backend Shader</string>
<string name="shader_backend_description">Chọn cách biên dịch shader</string>
<string name="shader_backend_glsl">Đa năng</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- Giả lập NVDEC -->
<!-- NVDEC Emulation -->
<string name="nvdec_emulation">Giả lập NVDEC</string>
<string name="nvdec_emulation_description">Chọn cách xử lý giải mã video</string>
<string name="nvdec_emulation_cpu">CPU</string>
<string name="nvdec_emulation_gpu">GPU</string>
<string name="nvdec_emulation_none">Tắt</string>
<!-- Tối ưu SPIRV -->
<!-- Optimize SPIRV output -->
<string name="renderer_optimize_spirv_output">Tối ưu SPIRV</string>
<string name="renderer_optimize_spirv_output_description">Tối ưu hóa shader đã biên dịch để cải thiện hiệu suất GPU.</string>
<string name="never">Không</string>
@@ -145,20 +148,21 @@
<!-- Multiplayer -->
<string name="multiplayer">Nhiều người chơi</string>
<string name="multiplayer_description">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</string>
<string name="multiplayer_description">Tạo phòng chơi của bạn hoặc tham gia phòng có sẵn</string>
<string name="multiplayer_room_title">Phòng: %1$s</string>
<string name="multiplayer_console_id">ID máy chơi game: %1$s</string>
<string name="multiplayer_create_room">Tạo</string>
<string name="multiplayer_join_room">Tham gia</string>
<string name="multiplayer_public_room">Duyệt phòng công khai</string>
<string name="multiplayer_username">Tên người dùng</string>
<string name="multiplayer_public_room">Phòng công khai</string>
<string name="multiplayer_username">Tên người chơi</string>
<string name="multiplayer_ip_address">Địa chỉ IP</string>
<string name="multiplayer_ip_port">Cổng</string>
<string name="multiplayer_create_room_success">Tạo phòng thành công!</string>
<string name="multiplayer_join_room_success">Tham gia phòng thành công!</string>
<string name="multiplayer_create_room_failed">Tạo phòng thất bại!</string>
<string name="multiplayer_join_room_failed">Tham gia phòng thất bại!</string>
<string name="multiplayer_input_invalid">Địa chỉ không hợp lệ hoặc tên quá ngắn!</string>
<string name="multiplayer_create_room_success">Tạo phòng thành công</string>
<string name="multiplayer_join_room_success">Tham gia thành công</string>
<string name="multiplayer_create_room_failed">Lỗi tạo phòng</string>
<string name="multiplayer_join_room_failed">Lỗi tham gia</string>
<string name="multiplayer_name_invalid">Tên quá ngắn</string>
<string name="multiplayer_address_invalid">Địa chỉ không hợp lệ</string>
<string name="multiplayer_port_invalid">Cổng không hợp lệ!</string>
<string name="multiplayer_exit_room">Rời phòng</string>
<string name="multiplayer_network_error">Lỗi mạng</string>
@@ -171,65 +175,70 @@
<string name="multiplayer_could_not_connect">Không thể kết nối</string>
<string name="multiplayer_room_is_full">Phòng đã đầy</string>
<string name="multiplayer_host_banned">Host bị cấm</string>
<string name="multiplayer_permission_denied">Từ chối quyền</string>
<string name="multiplayer_no_such_user">Không tìm thấy người dùng</string>
<string name="multiplayer_already_in_room">Đã trong phòng</string>
<string name="multiplayer_permission_denied">Từ chối truy cập</string>
<string name="multiplayer_no_such_user">Không người chơi</string>
<string name="multiplayer_already_in_room">Đã trong phòng</string>
<string name="multiplayer_create_room_error">Lỗi tạo phòng</string>
<string name="multiplayer_host_kicked">Host bị đá</string>
<string name="multiplayer_host_kicked">Host bị đuổi</string>
<string name="multiplayer_unknown_error">Lỗi không xác định</string>
<string name="multiplayer_room_uninitialized">Phòng chưa khởi tạo</string>
<string name="multiplayer_room_idle">Phòng không hoạt động</string>
<string name="multiplayer_room_joining">Đang tham gia phòng</string>
<string name="multiplayer_room_joined">Đã tham gia phòng</string>
<string name="multiplayer_room_moderator">Người kiểm duyệt phòng</string>
<string name="multiplayer_room_joining">Đang tham gia...</string>
<string name="multiplayer_room_joined">Đã tham gia</string>
<string name="multiplayer_room_moderator">Người kiểm duyệt</string>
<string name="multiplayer_member_join">%1$s đã tham gia</string>
<string name="multiplayer_member_leave">%1$s đã rời đi</string>
<string name="multiplayer_member_kicked">%1$s bị đá</string>
<string name="multiplayer_member_leave">%1$s đã rời</string>
<string name="multiplayer_member_kicked">%1$s bị đuổi</string>
<string name="multiplayer_member_banned">%1$s bị cấm</string>
<string name="multiplayer_address_unbanned">Địa chỉ được bỏ cấm</string>
<string name="multiplayer_kick_member">Đá</string>
<string name="multiplayer_chat_input_hint">Gửi tin nhắn…</string>
<string name="multiplayer_address_unbanned">Đã bỏ cấm</string>
<string name="multiplayer_kick_member">Đuổi</string>
<string name="multiplayer_chat_input_hint">Nhắn tin...</string>
<string name="multiplayer_password">Mật khẩu</string>
<string name="original_button_text">Tham gia</string>
<string name="disabled_button_text">Đang tham gia...</string>
<string name="multiplayer_joining">Đang tham gia...</string>
<string name="multiplayer_creating">Đang tạo...</string>
<string name="multiplayer_room_name">Tên phòng</string>
<string name="multiplayer_room_name_invalid">Tên phòng phải từ 3 đến 20 ký tự</string>
<string name="multiplayer_max_players">Số người chơi tối đa (16)</string>
<string name="multiplayer_max_players_value">Số người chơi tối đa: %d</string>
<string name="multiplayer_room_name_invalid">Tên phòng 3-20 ký tự</string>
<string name="multiplayer_max_players">Tối đa (16)</string>
<string name="multiplayer_max_players_value">Tối đa: %d</string>
<string name="multiplayer_chat">Trò chuyện</string>
<string name="multiplayer_more_options">Thêm tùy chọn</string>
<string name="multiplayer_ip_copied">Đã sao chép địa chỉ IP vào bộ nhớ tạm</string>
<string name="multiplayer_more_options">Tùy chọn</string>
<string name="multiplayer_ip_copied">Đã sao chép IP</string>
<string name="multiplayer_server_address">Địa chỉ máy chủ</string>
<string name="chat">Trò chuyện</string>
<string name="type_message">Nhập tin nhắn</string>
<string name="type_message">Nhập tin nhắn...</string>
<string name="send">Gửi</string>
<string name="send_message">Gửi tin nhắn</string>
<string name="send_message">Gửi tin</string>
<string name="multiplayer_moderation">Kiểm duyệt</string>
<string name="multiplayer_moderation_title">Danh sách cấm</string>
<string name="multiplayer_no_bans">Không có người dùng bị cấm</string>
<string name="multiplayer_unban_title">Bỏ cấm người dùng</string>
<string name="multiplayer_no_bans">Không có ai bị cấm</string>
<string name="multiplayer_unban_title">Bỏ cấm</string>
<string name="multiplayer_unban">Bỏ cấm</string>
<string name="multiplayer_unban_message">Bạn có chắc muốn bỏ cấm %1$s không?</string>
<string name="multiplayer_ban">Cấm người dùng</string>
<string name="multiplayer_unban_message">Bỏ cấm %1$s?</string>
<string name="multiplayer_ban">Cấm</string>
<string name="multiplayer_room_browser">Phòng công khai</string>
<string name="multiplayer_no_rooms_found">Không tìm thấy phòng công khai</string>
<string name="multiplayer_password_required">Yêu cầu mật khẩu</string>
<string name="multiplayer_no_rooms_found">Không tìm thấy phòng</string>
<string name="multiplayer_password_required">Cần mật khẩu</string>
<string name="multiplayer_player_count">: %1$d/%2$d</string>
<string name="multiplayer_game">Trò chơi</string>
<string name="multiplayer_no_game_info">Bất kỳ trò chơi nào</string>
<string name="multiplayer_password_protected">Phòng được bảo vệ bằng mật khẩu</string>
<string name="multiplayer_no_game_info">Bất kỳ trò chơi</string>
<string name="multiplayer_password_protected">Phòng mật khẩu</string>
<string name="multiplayer_hide_full_rooms">Ẩn phòng đầy</string>
<string name="multiplayer_hide_empty_rooms">Ẩn phòng trống</string>
<string name="multiplayer_tap_refresh_to_check_again">Nhấn làm mới để kiểm tra lại</string>
<string name="multiplayer_search_public_lobbies">Tìm phòng</string>
<string name="multiplayer_tap_refresh_to_check_again">Chạm để tải lại</string>
<string name="multiplayer_search_public_lobbies">Tìm phòng...</string>
<string name="emulation_multiplayer">Nhiều người chơi</string>
<string name="multiplayer_game_name">Trò chơi ưa thích</string>
<string name="multiplayer_preferred_game_name">Trò chơi ưa tch</string>
<string name="multiplayer_no_game">Không tìm thấy trò chơi</string>
<string name="multiplayer_preferred_game_name_invalid">Bạn phải chọn trò chơi ưa thích để tạo phòng.</string>
<string name="multiplayer_preferred_game_name">Trò chơi cnh</string>
<string name="multiplayer_no_game">Không tìm thấy</string>
<string name="multiplayer_preferred_game_name_invalid">Chọn trò chơi chính</string>
<string name="multiplayer_room_name_error">3-20 ký tự</string>
<string name="multiplayer_required">Bắt buộc</string>
<string name="multiplayer_ip_error">Sai định dạng IP</string>
<string name="multiplayer_username_error">Ít nhất 5 ký tự</string>
<string name="multiplayer_port_error">1-65535</string>
<string name="cancel">Hủy</string>
<string name="ok">OK</string>
<string name="refresh">Làm mới</string>
<string name="refresh">Tải lại</string>
<string name="room_list">Danh sách phòng</string>
<!-- Static Themes -->