UNPKG

warframe-nexus-query

Version:

Query prices form nexus-stats.com and warframe.market.

41 lines (36 loc) 1.08 kB
/** * i18n helper utilities */ import { LANGUAGES } from '../constants.js'; /** * Normalize language code * @param {string} lang - Language code * @returns {string} Normalized language code */ export function normalizeLanguage(lang) { if (!lang) return 'en'; const normalized = lang.toLowerCase().trim(); return LANGUAGES[normalized] || 'en'; } /** * Extract localized data from i18n object * @param {Object} i18n - i18n object * @param {string} locale - Preferred locale * @returns {Object} Localized data */ export function extractLocalized(i18n, locale = 'en') { if (!i18n) return {}; return i18n[locale] || i18n.en || {}; } /** * Get field from i18n object with fallback * @param {Object} i18n - i18n object * @param {string} field - Field name * @param {string} locale - Preferred locale * @param {*} defaultValue - Default value if not found * @returns {*} */ export function getLocalizedField(i18n, field, locale = 'en', defaultValue = null) { const localized = extractLocalized(i18n, locale); return localized[field] ?? defaultValue; }