Skip to content

feat: add i18n support to mobile app#50

Merged
sirily11 merged 1 commit into
mainfrom
rxcode/i18n
May 23, 2026
Merged

feat: add i18n support to mobile app#50
sirily11 merged 1 commit into
mainfrom
rxcode/i18n

Conversation

@sirily11
Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI review requested due to automatic review settings May 23, 2026 04:03
@vercel
Copy link
Copy Markdown

vercel Bot commented May 23, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
rxcode Ready Ready Preview, Comment May 23, 2026 4:03am

Request Review

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds localization infrastructure and begins migrating user-facing strings in the iOS app to String Catalog–backed localized strings, while also cleaning up legacy .strings resources in favor of .xcstrings.

Changes:

  • Replaced several hard-coded mobile UI/error strings with String(localized:) (including interpolated messages).
  • Added RxCodeMobile/Resources/Localizable.xcstrings with en + zh-Hans entries for mobile.
  • Removed legacy .lproj/Localizable.strings files for the macOS app + RxCodeChatKit, and registered "zh-Hans" as a known region in the Xcode project.

Reviewed changes

Copilot reviewed 13 out of 16 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
RxCodeMobile/Views/OnboardingView.swift Localizes QR/pairing error strings surfaced during onboarding.
RxCodeMobile/Views/MobileSettingsView.swift Localizes multiple settings labels/captions and adds a localized archive retention label helper.
RxCodeMobile/Views/MobileInputBar.swift Localizes the chat input placeholder (streaming vs idle).
RxCodeMobile/State/MobileAppState+Sync.swift Localizes run-profile related error strings.
RxCodeMobile/State/MobileAppState+RemoteConfig.swift Localizes remote-config and skill/agent/MCP error strings.
RxCodeMobile/State/MobileAppState+Pairing.swift Localizes pairing failure messages.
RxCodeMobile/State/MobileAppState+Inbound.swift Localizes fallback inbound-operation error strings.
RxCodeMobile/Resources/Localizable.xcstrings Adds the mobile app’s string catalog (including zh-Hans translations).
RxCode/Resources/ko.lproj/Localizable.strings Removes legacy strings file (migration to string catalog workflow).
RxCode/Resources/en.lproj/Localizable.strings Removes legacy strings file (migration to string catalog workflow).
Packages/Sources/RxCodeChatKit/Resources/ko.lproj/Localizable.strings Removes legacy strings file (migration to string catalog workflow).
Packages/Sources/RxCodeChatKit/Resources/en.lproj/Localizable.strings Removes legacy strings file (migration to string catalog workflow).
RxCode.xcodeproj/xcshareddata/xcschemes/RxCode.xcscheme Sets scheme launch language to zh-Hans.
RxCode.xcodeproj/project.pbxproj Adds "zh-Hans" to knownRegions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = "zh-Hans"
Comment on lines +371 to +376
private func archiveRetentionLabel(days: Int) -> String {
if days == 1 {
String(localized: "Archive after \(days) day")
} else {
String(localized: "Archive after \(days) days")
}
@sirily11 sirily11 merged commit 603d784 into main May 23, 2026
14 checks passed
@sirily11 sirily11 deleted the rxcode/i18n branch May 23, 2026 04:11
@sirily11
Copy link
Copy Markdown
Contributor Author

🎉 This PR is included in version 1.11.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants