export declare class LocaleService { constructor(params: any = {}); /** * Replaces the current set of locale translations. * * * Fires an "updated" event when done. * * Automatically refreshes any plugins that depend on the translations. * * Does not change the current locale. * * ## Usage * * ````javascript * viewer.localeService.setMessages({ * messages: { * "en": { // English * "NavCube": { * "front": "Front", * "back": "Back", * "top": "Top", * "bottom": "Bottom", * "left": "Left", * "right": "Right" * } * }, * "mi": { // Māori * "NavCube": { * "front": "Mua", * "back": "Tuarā", * "top": "Runga", * "bottom": "Raro", * "left": "Mauī", * "right": "Tika" * } * } * } * }); * ```` * * @param {*} messages The new translations. */ set messages(messages: any); /** * Loads a new set of locale translations, adding them to the existing translations. * * * Fires an "updated" event when done. * * Automatically refreshes any plugins that depend on the translations. * * Does not change the current locale. * * ## Usage * * ````javascript * viewer.localeService.loadMessages({ * "jp": { // Japanese * "NavCube": { * "front": "前部", * "back": "裏", * "top": "上", * "bottom": "底", * "left": "左", * "right": "右" * } * } * }); * ```` * * @param {*} messages The new translations. */ loadMessages(messages: any = {}); /** * Clears all locale translations. * * * Fires an "updated" event when done. * * Does not change the current locale. * * Automatically refreshes any plugins that depend on the translations, which will cause those * plugins to fall back on their internal hard-coded text values, since this method removes all * our translations. */ clearMessages(); /** * Gets the list of available locales. * * These are derived from the currently configured set of translations. * * @returns {String[]} The list of available locales. */ get locales(): string[]; /** * Sets the current locale. * * * Fires an "updated" event when done. * * The given locale does not need to be in the list of available locales returned by {@link LocaleService#locales}, since * this method assumes that you may want to load the locales at a later point. * * Automatically refreshes any plugins that depend on the translations. * * We can then get translations for the locale, if translations have been loaded for it, via {@link LocaleService#translate} and {@link LocaleService#translatePlurals}. * * @param {String} locale The new current locale. */ set locale(locale: string); /** * Gets the current locale. * * @returns {String} The current locale. */ get locale(); /** * Translates the given string according to the current locale. * * Returns null if no translation can be found. * * @param {String} msg String to translate. * @param {*} [args] Extra parameters. * @returns {String|null} Translated string if found, else null. */ translate(msg: string, args: any): string; /** * Translates the given phrase according to the current locale. * * Returns null if no translation can be found. * * @param {String} msg Phrase to translate. * @param {Number} count The plural number. * @param {*} [args] Extra parameters. * @returns {String|null} Translated string if found, else null. */ translatePlurals(msg: string, count: number, args: any): string; /** * Fires an event on this LocaleService. * * Notifies existing subscribers to the event, optionally retains the event to give to * any subsequent notifications on the event as they are made. * * @param {String} event The event type name. * @param {Object} value The event parameters. * @param {Boolean} [forget=false] When true, does not retain for subsequent subscribers. */ fire(event: string, value: object, forget: boolean); /** * Subscribes to an event on this LocaleService. * * @param {String} event The event * @param {Function} callback Callback fired on the event * @return {String} Handle to the subscription, which may be used to unsubscribe with {@link #off}. */ on(event: string, callback: Function): string; /** * Cancels an event subscription that was previously made with {@link LocaleService#on}. * * @param {String} subId Subscription ID */ off(subId: string); }