How translations work
There are three places in frontend code that relate to translation/i18n. They are
The app shell, in locale.ts. This sets up i18next and react-i18next.
The OpenMRS Component Decorator, in which getLifecycle/getAsyncLifecycle wraps root components. This provides the connection between the i18next "backend" (still on the client side, despite the name) and the microfrontend it wraps.
The microfrontend, which uses the `t` function or `<Trans>` component to produce rendered content.