UNPKG

react-i18nify

Version:

Simple i18n translation and localization components and helpers for React.

17 lines (15 loc) 705 B
import { fetchTranslation, replace } from './utils'; import { getLocale, getTranslations, handleMissingTranslation } from './settings'; export default (key, replacements = {}, options = {}) => { const locale = options.locale || getLocale(); let translation = ''; try { const translationLocale = getTranslations()[locale] ? locale : locale.split('-')[0]; translation = fetchTranslation(getTranslations(), `${translationLocale}.${key}`, replacements.count); } catch (err) { if (options.returnNullOnError) return null; if (options.returnKeyOnError) return key; return handleMissingTranslation(key, replacements, options, err); } return replace(translation, replacements); };