UNPKG

@openmrs/esm-translations

Version:

O3 Framework module for translation support

51 lines 3 kB
/** @module @category Translation */ import { coreTranslations } from './translations'; import _i18n, { i18n, type TOptions } from 'i18next'; declare const i18n: typeof _i18n; declare global { interface Window { i18next: i18n; } } /** * This function is for getting a translation from a specific module. Use this only if the * translation is neither in the app making the call, nor in the core translations. * This function is useful, for example, in libraries that are used by multiple apps, since libraries can't * define their own translations. * * Translations within the current app should be accessed with the i18next API, using * `useTranslation` and `t` as usual. Core translations should be accessed with the * [[getCoreTranslation]] function. * * IMPORTANT: This function creates a hidden dependency on the module. Worse yet, it creates * a dependency specifically on that module's translation keys, which are often regarded as * "implementation details" and therefore may be volatile. Also note that this function DOES NOT * load the module's translations if they have not already been loaded via `useTranslation`. * **This function should therefore be avoided when possible.** * * @param moduleName The module to get the translation from, e.g. '@openmrs/esm-login-app' * @param key The i18next translation key * @param fallback Fallback text for if the lookup fails * @param options Options object passed to the i18next `t` function. See https://www.i18next.com/translation-function/essentials#overview-options * for more information. `ns` and `defaultValue` are already set and may not be used. * @returns The translated text as a string */ export declare function translateFrom(moduleName: string, key: string, fallback?: string, options?: Omit<TOptions, 'ns' | 'defaultValue'>): string; export type CoreTranslationKey = keyof typeof coreTranslations; /** * Use this function to obtain a translation from the core translations. This is a way to avoid having * to define common translations in your app, and to ensure that translations are consistent across * different apps. This function is also used to obtain translations in the framework and app shell. * * The complete set of core translations is available on the `CoreTranslationKey` type. Providing an * invalid key to this function will result in a type error. * * @param key The translation key from the set of core translations. * @param defaultText Optional fallback text if the translation is not found. * @param options Object passed to the i18next `t` function. See https://www.i18next.com/translation-function/essentials#overview-options * for more information. `ns` and `defaultValue` are already set and may not be used. * @returns The translated string. */ export declare function getCoreTranslation(key: CoreTranslationKey, defaultText?: string, options?: Omit<TOptions, 'ns' | 'defaultValue'>): string; export {}; //# sourceMappingURL=index.d.ts.map