pub(crate) fn new(locales: &Locales) -> Self {
        Self {
            cached_translator: Rc::new(RefCell::new(None)),
            locales: locales.clone(),
        }
    }
Creates a new client-side translations manager that hasn't cached
anything yet. This needs to know about an app's supported locales so
it can avoid network requests to unsupported locales.
packages/perseus/src/i18n/client_translations_manager.rs