UNPKG

@ogs-gmbh/ngx-translate

Version:

A lightweight, REST-based Angular i18n library designed for seamless internationalization with minimal setup. It supports dynamic language switching & flexible translation management via RESTful APIs.

26 lines 5.5 kB
import { findScopeInMultiScopedFile } from "./file.util"; export const translateTokenByScopedFile = (scopedFile, token) => { const isTokenValid = Object.keys(scopedFile).includes(token); if (!isTokenValid) return; return scopedFile[token]; }; export const translateTokenByScopedFiles = (scopedFiles, token) => { let translation; scopedFiles.some((scopedFile) => { const isTokenValid = Object.keys(scopedFile).includes(token); if (!isTokenValid) return false; translation = scopedFile[token]; return true; }); return translation; }; export const translateTokenByMultiScopedFile = (multiScopedFile, scopeName, token) => { const scopedFile = findScopeInMultiScopedFile(multiScopedFile, scopeName); return translateTokenByScopedFile(scopedFile, token); }; export function resolveScope(translationConfig, scopeName) { return (scopeName ?? translationConfig?.defaultScope ?? null); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdHJhbnNsYXRlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBUXpELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLENBQUMsVUFBc0IsRUFBRSxLQUFhLEVBQXNCLEVBQUU7SUFDdEcsTUFBTSxZQUFZLEdBQVksTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFdEUsSUFBSSxDQUFDLFlBQVk7UUFBRSxPQUFPO0lBRTFCLE9BQU8sVUFBVSxDQUFFLEtBQUssQ0FBRSxDQUFDO0FBQzdCLENBQUMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLENBQUMsV0FBeUIsRUFBRSxLQUFhLEVBQXNCLEVBQUU7SUFDMUcsSUFBSSxXQUErQixDQUFDO0lBRXBDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFzQixFQUFXLEVBQUU7UUFDbkQsTUFBTSxZQUFZLEdBQVksTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEUsSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUVoQyxXQUFXLEdBQUcsVUFBVSxDQUFFLEtBQUssQ0FBRSxDQUFDO1FBRWxDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDLENBQUM7QUFRRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxDQUFDLGVBQWdDLEVBQUUsU0FBd0IsRUFBRSxLQUFhLEVBQXNCLEVBQUU7SUFDL0ksTUFBTSxVQUFVLEdBQWUsMEJBQTBCLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRXRGLE9BQU8sMEJBQTBCLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3ZELENBQUMsQ0FBQztBQUNGLE1BQU0sVUFBVSxZQUFZLENBQTBELGlCQUFpRCxFQUFFLFNBQWE7SUFDcEosT0FBTyxDQUFDLFNBQVMsSUFBSSxpQkFBaUIsRUFBRSxZQUFZLElBQUksSUFBSSxDQUFNLENBQUM7QUFDckUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNwZWNpZmljVHJhbnNsYXRlQ29uZmlnIH0gZnJvbSBcIi4uL3B1YmxpYy1hcGlcIjtcbmltcG9ydCB7IE11bHRpU2NvcGVkRmlsZSwgU2NvcGVkRmlsZSB9IGZyb20gXCIuLi90eXBlcy9zdG9yZS50eXBlXCI7XG5pbXBvcnQgeyBmaW5kU2NvcGVJbk11bHRpU2NvcGVkRmlsZSB9IGZyb20gXCIuL2ZpbGUudXRpbFwiO1xuXG4vKipcbiAqIFRyYW5zbGF0ZSB0b2tlbiBieSBhIHNjb3BlZCBmaWxlXG4gKiBAcGFyYW0ge1Njb3BlZEZpbGV9IHNjb3BlZEZpbGUgLSBUaGUgc2NvcGVkIGZpbGUsIHRoYXQgc2hvdWxkIGluY2x1ZGUgdGhlIHRyYW5zbGF0aW9uXG4gKiBAcGFyYW0ge3N0cmluZ30gdG9rZW4gLSBUaGUgdG9rZW4sIHRoYXQnbGwgYmUgdHJhbnNsYXRlZFxuICogQHJldHVybnMge3N0cmluZyB8IHVuZGVmaW5lZH0gLSBzdHJpbmcsIHRoYXQgcmVwcmVzZW50cyB0aGUgdHJhbnNsYXRlZCB0b2tlbi4gSWYgbm8gdHJhbnNsYXRpb24gd2FzIGZvdW5kIHVuZGVmaW5lZC5cbiAqL1xuZXhwb3J0IGNvbnN0IHRyYW5zbGF0ZVRva2VuQnlTY29wZWRGaWxlID0gKHNjb3BlZEZpbGU6IFNjb3BlZEZpbGUsIHRva2VuOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBpc1Rva2VuVmFsaWQ6IGJvb2xlYW4gPSBPYmplY3Qua2V5cyhzY29wZWRGaWxlKS5pbmNsdWRlcyh0b2tlbik7XG5cbiAgaWYgKCFpc1Rva2VuVmFsaWQpIHJldHVybjtcblxuICByZXR1cm4gc2NvcGVkRmlsZVsgdG9rZW4gXTtcbn07XG5leHBvcnQgY29uc3QgdHJhbnNsYXRlVG9rZW5CeVNjb3BlZEZpbGVzID0gKHNjb3BlZEZpbGVzOiBTY29wZWRGaWxlW10sIHRva2VuOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICBsZXQgdHJhbnNsYXRpb246IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBzY29wZWRGaWxlcy5zb21lKChzY29wZWRGaWxlOiBTY29wZWRGaWxlKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc3QgaXNUb2tlblZhbGlkOiBib29sZWFuID0gT2JqZWN0LmtleXMoc2NvcGVkRmlsZSkuaW5jbHVkZXModG9rZW4pO1xuXG4gICAgaWYgKCFpc1Rva2VuVmFsaWQpIHJldHVybiBmYWxzZTtcblxuICAgIHRyYW5zbGF0aW9uID0gc2NvcGVkRmlsZVsgdG9rZW4gXTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9KTtcblxuICByZXR1cm4gdHJhbnNsYXRpb247XG59O1xuLyoqXG4gKiBUcmFuc2xhdGUgdG9rZW4gYnkgYSBtdWx0aSBzY29wZWQgZmlsZSBieSBmaXJzdCByZXNvbHZpbmcgdGhlIHNjb3BlIG91dCBvZiB0aGUgbXVsdGkgc2NvcGVkIGZpbGVcbiAqIEBwYXJhbSB7TXVsdGlTY29wZWRGaWxlfSBtdWx0aVNjb3BlZEZpbGUgLSBUaGUgTXVsdGlTY29wZWRGaWxlLCB0aGF0IHNob3VsZCBpbmNsdWRlcyB0aGUgc2NvcGUgdG8gc2VhcmNoIGFuZCB0aGUgdG9rZW5cbiAqIEBwYXJhbSB7c3RyaW5nIHwgbnVsbH0gc2NvcGVOYW1lIC0gVGhlIHNjb3BlIG5hbWUgd2hpY2ggc2hvdWxkIGluY2x1ZGUgdGhlIHRyYW5zbGF0aW9uIGZvciB0aGUgdG9rZW5cbiAqIEBwYXJhbSB7c3RyaW5nfSB0b2tlbiAtIFRoZSB0b2tlbiwgdGhhdCdsbCBiZSB0cmFuc2xhdGVkXG4gKiBAcmV0dXJucyB7c3RyaW5nIHwgdW5kZWZpbmVkfSAtIHN0cmluZywgdGhhdCByZXByZXNlbnRzIHRoZSB0cmFuc2xhdGVkIHRva2VuLiBJZiBubyB0cmFuc2xhdGlvbiB3YXMgZm91bmQgdW5kZWZpbmVkLlxuICovXG5leHBvcnQgY29uc3QgdHJhbnNsYXRlVG9rZW5CeU11bHRpU2NvcGVkRmlsZSA9IChtdWx0aVNjb3BlZEZpbGU6IE11bHRpU2NvcGVkRmlsZSwgc2NvcGVOYW1lOiBzdHJpbmcgfCBudWxsLCB0b2tlbjogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3Qgc2NvcGVkRmlsZTogU2NvcGVkRmlsZSA9IGZpbmRTY29wZUluTXVsdGlTY29wZWRGaWxlKG11bHRpU2NvcGVkRmlsZSwgc2NvcGVOYW1lKTtcblxuICByZXR1cm4gdHJhbnNsYXRlVG9rZW5CeVNjb3BlZEZpbGUoc2NvcGVkRmlsZSwgdG9rZW4pO1xufTtcbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlU2NvcGU8VCBleHRlbmRzIFJlYWRvbmx5QXJyYXk8c3RyaW5nIHwgbnVsbD4gfCBzdHJpbmcgfCBudWxsPiAodHJhbnNsYXRpb25Db25maWc6IFNwZWNpZmljVHJhbnNsYXRlQ29uZmlnIHwgbnVsbCwgc2NvcGVOYW1lPzogVCk6IFQge1xuICByZXR1cm4gKHNjb3BlTmFtZSA/PyB0cmFuc2xhdGlvbkNvbmZpZz8uZGVmYXVsdFNjb3BlID8/IG51bGwpIGFzIFQ7XG59XG5cbiJdfQ==