Why this is useful
Many Compose screens use literal Chinese strings ("持仓", "加仓", "减仓", "自选", etc.). Moving them to res/values/strings.xml (zh-rCN default) and res/values-en/strings.xml (English) makes the app usable for non-Chinese speakers and is a prerequisite for any future locale support.
Where to start
Pick one screen at a time. A good first target:
android/app/src/main/java/com/tis/ibkr/ui/screens/PositionsScreen.kt
android/app/src/main/java/com/tis/ibkr/ui/screens/SettingsScreen.kt
android/app/src/main/java/com/tis/ibkr/ui/nav/Tab.kt (tab labels)
Replace Text("持仓") with Text(stringResource(R.string.tab_positions)). Add the key to both values/strings.xml (Chinese) and values-en/strings.xml (English).
Definition of done
- At least the Positions tab, Settings tab, and bottom navigation labels are externalized.
- Switching device locale to English renders those screens without any Chinese.
- No regressions in zh-rCN.
Why this is useful
Many Compose screens use literal Chinese strings (
"持仓","加仓","减仓","自选", etc.). Moving them tores/values/strings.xml(zh-rCN default) andres/values-en/strings.xml(English) makes the app usable for non-Chinese speakers and is a prerequisite for any future locale support.Where to start
Pick one screen at a time. A good first target:
android/app/src/main/java/com/tis/ibkr/ui/screens/PositionsScreen.ktandroid/app/src/main/java/com/tis/ibkr/ui/screens/SettingsScreen.ktandroid/app/src/main/java/com/tis/ibkr/ui/nav/Tab.kt(tab labels)Replace
Text("持仓")withText(stringResource(R.string.tab_positions)). Add the key to bothvalues/strings.xml(Chinese) andvalues-en/strings.xml(English).Definition of done