Skip to content

i18n: Italian can't be auto-selected (Supernote reports en_US; region/handwriting not exposed) #29

Description

@gorlix

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneeds-decisionNeeds a product decision before implementing

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions