Problem
The plugin can't automatically show Italian, even on a device used in Italy, because the Supernote does not expose an "Italian" signal to plugins.
Evidence (on-device probe, A5X2 / SN100C10012377)
With the device UI in English, region Italy, handwriting recognition Italian:
I18nManager.localeIdentifier = en_US
Intl.DateTimeFormat().resolvedOptions().locale = en-US
NativeModules (keys matching lang|locale|i18n|setting) = [] // none
So the only locale signal available to the plugin is en_US. The region (Italy) and handwriting-recognition language (Italian) are internal Supernote app settings, not surfaced via the Android system locale, Intl, or any NativeModule. The SDK only offers registerLangListener (fires on UI-language change; Supernote UI languages are en / zh_CN / zh_TW / ja — no Italian) and has no getter for region or handwriting language.
Current behavior (after #28)
- The plugin follows the device language: en_US → English (correct).
registerLangListener now handles both message shapes (string per docs, or {lang}), so runtime UI-language changes apply.
- Italian strings are kept in
src/i18n/locales/it_IT.json and would show automatically only if a device's locale were Italian (e.g. it_IT).
Decision needed (later)
How should Italian (and other non-UI languages) be reachable?
- Option A — Manual language setting (Settings UI): add an in-plugin selector
Auto / English / Italiano. Lets the user force Italian regardless of device.
- Option B — Drop Italian auto: keep English-only auto-follow; remove/park the Italian strings.
- Option C — Heuristic on region: not currently possible — the locale is
en_US, region Italy is not exposed.
References
Parking this until we decide whether the Settings UI is worth it.
Problem
The plugin can't automatically show Italian, even on a device used in Italy, because the Supernote does not expose an "Italian" signal to plugins.
Evidence (on-device probe, A5X2 / SN100C10012377)
With the device UI in English, region Italy, handwriting recognition Italian:
So the only locale signal available to the plugin is en_US. The region (Italy) and handwriting-recognition language (Italian) are internal Supernote app settings, not surfaced via the Android system locale,
Intl, or anyNativeModule. The SDK only offersregisterLangListener(fires on UI-language change; Supernote UI languages are en / zh_CN / zh_TW / ja — no Italian) and has no getter for region or handwriting language.Current behavior (after #28)
registerLangListenernow handles both message shapes (string per docs, or{lang}), so runtime UI-language changes apply.src/i18n/locales/it_IT.jsonand would show automatically only if a device's locale were Italian (e.g.it_IT).Decision needed (later)
How should Italian (and other non-UI languages) be reachable?
Auto / English / Italiano. Lets the user force Italian regardless of device.en_US, region Italy is not exposed.References
registerLangListener+normalizeLang).src/i18n/index.ts.Parking this until we decide whether the Settings UI is worth it.