Sha256: 0965a5e6f6651032b2a0c952c5df60027663a197932c8f0e780b16a061c6f5c4
Contents?: true
Size: 1.08 KB
Versions: 21
Compression:
Stored size: 1.08 KB
Contents
import translationData from "./translations" const KEY_SEPARATOR = /\./ function currentLocale() { if (Alchemy.locale == null) { throw "Alchemy.locale is not set! Please set Alchemy.locale to a locale string in order to translate something." } return Alchemy.locale } function getTranslations() { const locale = currentLocale() const translations = translationData[locale] if (translations) { return translations } console.warn(`Translations for locale ${locale} not found!`) return {} } function nestedTranslation(translations, key) { const keys = key.split(KEY_SEPARATOR) const group = translations[keys[0]] if (group) { return group[keys[1]] || key } return key } function getTranslation(key) { const translations = getTranslations() if (KEY_SEPARATOR.test(key)) { return nestedTranslation(translations, key) } return translations[key] || key } export default function translate(key, replacement) { let translation = getTranslation(key) if (replacement) { return translation.replace(/%\{.+\}/, replacement) } return translation }
Version data entries
21 entries across 21 versions & 1 rubygems