react-i18nify
Version:
Simple i18n translation and localization components and helpers for React.
22 lines (21 loc) • 857 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _utils = require("./utils");
var _settings = require("./settings");
var _default = (key, replacements = {}, options = {}) => {
const locale = options.locale || (0, _settings.getLocale)();
let translation = '';
try {
const translationLocale = (0, _settings.getTranslations)()[locale] ? locale : locale.split('-')[0];
translation = (0, _utils.fetchTranslation)((0, _settings.getTranslations)(), `${translationLocale}.${key}`, replacements.count);
} catch (err) {
if (options.returnNullOnError) return null;
if (options.returnKeyOnError) return key;
return (0, _settings.handleMissingTranslation)(key, replacements, options, err);
}
return (0, _utils.replace)(translation, replacements);
};
exports.default = _default;