Internationalization
The host builder UI is localized into 10 languages. (This is separate from the per-app translation overlay that translates generated-app content.)
Supported languages
Chinese, English, Arabic (full RTL), Portuguese, Spanish, French, German, Russian, Japanese, Korean.
Where strings live
Host UI strings live in app/src/main/java/com/webtoapp/core/i18n/Strings.kt, split across Strings / StringsA … StringsE to keep files manageable.
Adding a user-facing string
- Add the property on the correct
Strings*split object, matching the surrounding style. - Provide all 10 languages. A new host string without full coverage is incomplete.
- Reference it from Compose/UI the same way neighboring code does.
kotlin
// Illustrative — match the actual split-object style in Strings.kt
val myNewLabel: String
get() = when (current) {
Lang.ZH -> "我的标签"
Lang.EN -> "My label"
Lang.AR -> "..."
// ... all 10
}Rules
- Prefer adding properties on the existing split objects; don't create new localization mechanisms.
- Arabic must be full RTL — verify layout mirrors correctly.
- Do not hard-code user-facing text in Compose screens; always route through
Strings.
