Hermes has struggled with the implementation of Intl for some time. There are two primary reasons for this:
1. Meta doesn't utilize Intl internally, limiting our resources for comprehensive testing.
2. Intl is designed to be built on ICU4C, which, in their infinite wisdom,…
@tmikov
> On iOS, rely on the Intl implementation in JavaScriptCore bundled with the OS.
Would that mean spinning up a JSC instance to call Intl APIs, or does JSC export all the necessary headers for Hermes to call that native functionality independently?
@LinguaBrowse
JSC doesn't export anything like that (AFAIK). It would mean spinning up a JSC instance. Sounds ridiculous, but the alternative is shipping a multi-MB library, larger than Hermes itself...
@jarredsumner
I am not an expert on this horrific topic, but apparently important ICU headers are not included in the iOS SDK, and a lot the ICU APIs, which you can technically link to, are considered private. The app would be rejected by App Store.
@tmikov
I remember a podcast (maybe
@alloy
on The React Native Show by
@callstackio
?) a few years ago where it was mentioned that Microsoft did some significant work implementing Intl for React Native. Can’t recall whether that was only for Windows, but feels worth discussing with them.