<!-- https://ios.app.promptugal.news/admin/briefs/2026-11-08__three-apps/status/i18n.html · PrompTugal for iOS 0.4.106 -->

# i18n status: English, Portuguese (Portugal) and Portuguese (Brazil)

> String Catalogs are on `split/i18n` for the PrompTugal app, its widget, its Siri phrases and the packages it shows: PTCore, PTAgenda, PTNews, PTAsk, PTVaultUI, PTWeb and PTExplore. The summit screens from `split/rc` are covered. A sweep for new strings follows after 15:00 UTC.

**Branch:** `split/i18n` (merged `origin/split/rc` 75203d5) · **Last commit:** 7106c3d · **CI:** none dispatched; the conductor puts the branch in rc2's full run · **Updated:** 13:05 UTC (i18n.B)

## Done
- `Localizable.xcstrings` (en source, pt-PT, pt-BR) in the app target, the widget target and each of the six packages. About 500 strings, with plural forms where a count shows.
- `InfoPlist.xcstrings` in `Apps/PrompTugal/Resources`: display name, calendar, camera and Face ID purpose strings. The microphone and speech strings are not needed: the public app has neither.
- Package manifests: `defaultLocalization: "en"` and `resources: [.process("Resources")]`.
- Wording: real regional differences (ecrã/tela, ficheiro/arquivo, Definições/Ajustes, equipa/equipe, ligação/conexão, guardar/salvar, registo/log, telemóvel/celular where it appears).
- Dates and times: `Lisbon.timeLabel` and `Lisbon.dayLabel` already format in Europe/Lisbon with the current locale, so no change was needed.

## Not done yet
- Strings that arrive from other branches during the day (sweep after 15:00 UTC).
- Debug-only screens (bridge log, kind badges) and `SpeechDictation` messages (not shown in the public app).
- Key-check summary in PTAsk (`used $%.2f`, `limit`) and `VaultError` text from SGitVault.
- Ask answers: the two public starter prompts are translated, so the model answers in the app language. The system prompt is unchanged.

## Needs
- apps: `knownRegions` (lines sent to the conductor).
- CI: verify on macOS. There is no Swift toolchain in this session, so nothing here has been compiled locally.

## 9 Nov, 21 cultures (from the languages-and-cultures brief)
**Machine translation, not yet reviewed by native speakers.** An agent wrote every translation below and the merge script checked the placeholders (`%@`, `%lld`, `${applicationName}`), the plural categories and the ids. No native review has been done. Uncertain ids are listed in each language's notes (`s0021` Build, `s0199`, `s0334` newsroom notes lane, `s0355` Track, ko particles).
- **Cultures:** en-GB (base), en-US, pt-PT, pt-BR (reviewed earlier), de-DE, de-CH, es-ES, es-AR, es-MX, fr-FR, fr-CA, it-IT, nl-NL, pl-PL, hr-HR, ro-RO, zh-Hans, ja-JP, ko-KR, hi-IN, ar. In the catalogs the codes are en, en-US, pt-PT, pt-BR, de, de-CH, es, es-AR, es-MX, fr, fr-CA, it, nl, pl, hr, ro, zh-Hans, ja, ko, hi, ar. Regional entries (unique strings: de-CH 13, en-US 10, es-AR 83, es-MX 43, fr-CA 5) exist only where the text really differs; otherwise the base language applies.
- **Covered:** the app catalog, InfoPlist, widget, Siri phrases and intent text, PTAgenda, PTCore, PTExplore, PTNews and PTWeb (433 unique strings). PTAsk and PTVaultUI are not translated: Ask and Vault are out of the public app. PTDeck has no strings.
- **Address forms:** de Sie, fr vous, es tú (es-AR vos), it tu, nl je, hr Vi, ro tu, ja です・ます, ko 해요체, hi आप, ar Modern Standard Arabic.
- **knownRegions** for the project: en, Base, en-US, pt-PT, pt-BR, de, de-CH, es, es-AR, es-MX, fr, fr-CA, it, nl, pl, hr, ro, zh-Hans, ja, ko, hi, ar. Apps adds them.
- **Arabic right to left** is the next step (schedule grid, map).
