UNPKG

vscode-ext-localisation

Version:

Localisation for VSCode Extensions using package.nls.json files

64 lines 2.82 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ta = exports.t = void 0; __exportStar(require("./localisation.interface"), exports); __exportStar(require("./utils/getVscodeLang"), exports); __exportStar(require("./utils/loadTranslations"), exports); var isTranslationType_1 = require("./utils/isTranslationType"); var loadTranslations_1 = require("./utils/loadTranslations"); var replacePlacholders_1 = require("./utils/replacePlacholders"); var deepCache = {}; var getTranslation = function (key, placeholders) { var translation = key; if (loadTranslations_1.translations[key] && isTranslationType_1.isTranslationType(loadTranslations_1.translations[key])) { translation = loadTranslations_1.translations[key]; } // Deep check if no flat translation exists... if (key.includes('.') && !loadTranslations_1.translations[key]) { if (deepCache[key]) { translation = deepCache[key]; } else { deepCache[key] = key; var paths = key.split('.'); var finalPath = paths.pop(); var translationPath = loadTranslations_1.translations; var path = void 0; while ((path = paths.shift())) { if (!isTranslationType_1.isTranslationType(translationPath) && translationPath[path]) { translationPath = translationPath[path]; } } if (finalPath && typeof translationPath !== 'string') { if (translationPath[finalPath] && isTranslationType_1.isTranslationType(translationPath[finalPath])) { translation = translationPath[finalPath]; deepCache[key] = translation; } } } } if (translation !== key) { translation = replacePlacholders_1.replacePlacholders(translation, placeholders); } return translation; }; exports.t = function (key, placeholders) { if (placeholders === void 0) { placeholders = null; } return getTranslation(key, placeholders); }; exports.ta = function (key, placeholders) { if (placeholders === void 0) { placeholders = null; } var trans = getTranslation(key, placeholders); return trans.toString() === key ? [] : trans; }; //# sourceMappingURL=index.js.map