UNPKG

language-management-lib

Version:

A TypeScript library for managing language translations in applications with URL parameter support.

32 lines (31 loc) 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setLanguageInURL = exports.getLanguageFromURL = exports.formatTranslation = exports.validateLanguageKey = exports.isValidLanguageKey = void 0; const isValidLanguageKey = (key, languages) => { return key in languages; }; exports.isValidLanguageKey = isValidLanguageKey; const validateLanguageKey = (key, languages) => { return key in languages; }; exports.validateLanguageKey = validateLanguageKey; const formatTranslation = (translation, params = {}) => { return translation.replace(/\{(\w+)\}/g, (_, key) => params[key] || ""); }; exports.formatTranslation = formatTranslation; const getLanguageFromURL = () => { if (typeof window !== "undefined") { const urlParams = new URLSearchParams(window.location.search); return urlParams.get("lng") || urlParams.get("language"); } return null; }; exports.getLanguageFromURL = getLanguageFromURL; const setLanguageInURL = (language) => { if (typeof window !== "undefined") { const url = new URL(window.location.href); url.searchParams.set("lng", language); window.history.replaceState({}, "", url.toString()); } }; exports.setLanguageInURL = setLanguageInURL;