feat(l10n, sources): Traditional Chinese (Taiwan) localization & Seamless Multi-Source Failover (LAN/WAN auto-switch) - #15
Open
yangyws wants to merge 113 commits into
Open
feat(l10n, sources): Traditional Chinese (Taiwan) localization & Seamless Multi-Source Failover (LAN/WAN auto-switch)#15yangyws wants to merge 113 commits into
yangyws wants to merge 113 commits into
Conversation
… onboarding and setup screens
…eferences - docs/SPEC.md: branch layout against upstream, the layered structure, the multi-source abstraction (including why SourceType has five members and ProviderType only four), the download queue and its retry/alternate-source behaviour, the controller-first focus system, the platform channels, the data and cache layers, and a "where do I change X" index. - docs/ARCHITECTURE.md: twelve Mermaid diagrams — layering, source abstraction, library load sequence, the download state machine and queue timing, the focus system, platform channels, caching, RetroAchievements, RomM pairing, state management, and the main-zh delta. Corrections to the root ARCHITECTURE.md, which pointed at things that do not exist: - FocusSyncManager is in lib/core/input/, not lib/core/focus/ (no such folder). - File links were absolute paths from a different machine; now repo-relative. - Version now reflects this branch. Also aligns .gitignore with the other projects (AGENTS.md canonical, AGENT.md and CLAUDE.md kept as guards). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
… across SourcesScreen and FallbackPickerOverlay
… white border and white text styling
…h-contrast white border and white text
…ion text in pure high-contrast white
… ensure all overlay action text is pure white
…ngle active source in SourcesScreen
…cus on delete button and pick existing dialog
…omeView and SourcesScreen
…llback is disabled
…ces with fallbacks
…en fallback source is off
…lth check to display⚠️ 無法連線 (已切換至備援)
…nt overflow on row focus
…stem title failover pill badge
…logic for auto-select mode
…nslucent red styling and subtle pulsing animation
…ailover status into top-right SyncBadge pill
…s to ⚡ 備援啟用中 and ⚡ 正在使用此備援
…切換至: B), ⚡ 代理中, ⚡ 同步中 (代理))
…ving fallbacks and replace 備援 strings with 代理
…o automatically sync failover state on any source mutation
Author
|
Hi @AverageConsumer, Thank you so much for creating R-Shop! It's an incredible app for retro gaming handhelds. I’ve submitted this Pull Request containing two key features I built and tested on my hardware:
A quick note on this PR:
Hope these additions are helpful to the project! Let me know if you'd like any changes or adjustments. Thanks again for your awesome work! |
Author
🐛 Bug Fix: Prevent RenderFlex overflow on home grid count pills
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces two main contributions to R-Shop:
zh/zh-TW): Complete translation for all UI screens, dialogs, gamepad HUD hints, and error messages following Taiwan gaming terminology.Motivation & Real-World Use Case
Many users host their own game server (e.g. RomM / SMB / HTTP):
192.168.x.x).With Multi-Source Failover, R-Shop automatically probes connections on startup or sync. If the local LAN server is unreachable, it seamlessly fails over to an external fallback domain (e.g. DDNS / Tailscale / Cloudflare Tunnel) without requiring manual configuration changes from the user.
Note for Maintainer & AI-Assisted Development
flutter testandflutter analyze. Because of this, some code structures may not be 100% perfect or fully aligned with your preferred conventions.Verification & Testing
flutter test).flutter analyze(0 issues).