# 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/br/com/drukstech/codeapp/core/i18n/Strings.kt`, split across the `Strings` / `StringsA` … `StringsE` objects (all in that one file). ## Adding a user-facing string 1. Add the property on the correct `Strings*` split object, matching the surrounding style. 2. Provide **all 10 languages.** A new host string without full coverage is incomplete. 3. 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 (Strings.lang) { AppLanguage.CHINESE -> "我的标签" AppLanguage.ENGLISH -> "My label" AppLanguage.ARABIC -> "..." // ... all 10, never `else` } ``` ## 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`.