UNPKG

react-intlayer

Version:

Easily internationalize i18n your React applications with type-safe multilingual content management.

44 lines (42 loc) 1.65 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); const require_runtime = require('../../_virtual/_rolldown/runtime.cjs'); const require_server_serverContext = require('../serverContext.cjs'); const require_server_IntlayerServerProvider = require('../IntlayerServerProvider.cjs'); let _intlayer_config_built = require("@intlayer/config/built"); let _intlayer_core_formatters = require("@intlayer/core/formatters"); //#region src/server/format/useIntl.ts /** * React client hook that provides a locale-bound `Intl` object. * * It acts exactly like the native `Intl` object, but acts as a proxy to: * 1. Inject the current locale automatically if none is provided. * 2. Use the performance-optimized `CachedIntl` under the hood. * * @example * ```tsx * const intl = useIntl(); // uses context locale * * // Standard API, but no need to pass 'en-US' as the first argument * const formatted = new intl.NumberFormat({ * style: 'currency', * currency: 'USD' * }).format(123.45); * ``` * * @example * ```tsx * const intl = useIntl(); * * // You can still override the locale if needed * const date = new intl.DateTimeFormat({ locale: 'fr-FR' }).format(new Date()); * // or * const date2 = new intl.DateTimeFormat('fr-FR').format(new Date()); * ``` */ const useIntl = (locale) => { const currentLocale = require_server_serverContext.getServerContext(require_server_IntlayerServerProvider.IntlayerServerContext); return (0, _intlayer_core_formatters.bindIntl)(locale ?? currentLocale ?? _intlayer_config_built.internationalization?.defaultLocale); }; //#endregion exports.useIntl = useIntl; //# sourceMappingURL=useIntl.cjs.map