Skip to content

chore(ios): GitHub Actions test workflow and complete Vietnamese localization#1175

Merged
datlechin merged 11 commits intomainfrom
feat/ios-ci-tests-and-vi-localization
May 10, 2026
Merged

chore(ios): GitHub Actions test workflow and complete Vietnamese localization#1175
datlechin merged 11 commits intomainfrom
feat/ios-ci-tests-and-vi-localization

Conversation

@datlechin
Copy link
Copy Markdown
Member

Summary

Two independent items bundled because each is small and they touch separate file trees.

CI: iOS test workflow

New .github/workflows/ios-tests.yml runs xcodebuild test -only-testing:TableProMobileTests on:

  • Pull requests touching TableProMobile/**, Packages/TableProCore/**, Libs/**, or the workflow file itself
  • Pushes to main matching the same paths
  • Manual dispatch

Setup mirrors the existing build.yml: macos-26 runner, Xcode 26.5-beta, scripts/download-libs.sh --force for the static libs, then resolve packages and run tests on the iPhone 17 Pro / iOS 26.5 simulator. Output is piped through xcbeautify for readable GitHub-Actions logs, and TestResults.xcresult is uploaded as an artifact for 7 days for diagnostics.

-skipPackagePluginValidation matches the local build command in CLAUDE.md. CODE_SIGNING_ALLOWED=NO skips signing on the simulator runner where it isn't needed.

Vietnamese localization

TableProMobile/Localizable.xcstrings now has vi translations for all 312 keys (was 246). 66 newly-added Vietnamese translations cover:

  • Buttons, navigation titles, tab labels (Save, Cancel, Connections, Settings, etc.)
  • Connection lifecycle states (Connected, Disconnected, Reconnecting…)
  • Settings sections (Privacy, Security, Sync, New Connections)
  • Search, filter, sort, pagination, accessibility hints
  • Onboarding copy, confirmation dialog messages, error recovery hints
  • Format strings preserve the original placeholders (%@, %lld, %d)

Translation choices follow common Vietnamese tech conventions: SQL/dev terms (SELECT, BLOB, Schema) stay English; everyday UI labels use natural Vietnamese (Kết nối, Truy vấn, Bảng, Khóa chính).

JSON serializer uses separators=(',', ' : ') to match Xcode's xcstrings format (space before colon), so the diff stays focused on actual translation additions instead of whole-file reformatting.

Test plan

  • Open PR - iOS Tests workflow runs and passes
  • On the iOS Simulator, change device language to Vietnamese (Settings → General → Language & Region) → relaunch TablePro → verify navigation, settings, dialogs read in Vietnamese
  • Strings with format args (e.g. "Connecting to %@...", "Row %d of %d") still substitute correctly

@datlechin datlechin merged commit 16aca9b into main May 10, 2026
3 checks passed
@datlechin datlechin deleted the feat/ios-ci-tests-and-vi-localization branch May 10, 2026 06:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant