Add internationalization support with astro-i18next integration
- Implemented astro-i18next for multi-language support, including English, Dutch, and Italian. - Configured default locale and language fallback settings. - Defined routes for localized content in the configuration. - Updated package.json and package-lock.json to include new dependencies for i18next and related plugins.
This commit is contained in:
67
node_modules/i18next-fs-backend/esm/utils.js
generated
vendored
Normal file
67
node_modules/i18next-fs-backend/esm/utils.js
generated
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
var arr = [];
|
||||
var each = arr.forEach;
|
||||
var slice = arr.slice;
|
||||
export function defaults(obj) {
|
||||
each.call(slice.call(arguments, 1), function (source) {
|
||||
if (source) {
|
||||
for (var prop in source) {
|
||||
if (obj[prop] === undefined) obj[prop] = source[prop];
|
||||
}
|
||||
}
|
||||
});
|
||||
return obj;
|
||||
}
|
||||
export function debounce(func, wait, immediate) {
|
||||
var timeout;
|
||||
return function () {
|
||||
var context = this;
|
||||
var args = arguments;
|
||||
var later = function later() {
|
||||
timeout = null;
|
||||
if (!immediate) func.apply(context, args);
|
||||
};
|
||||
var callNow = immediate && !timeout;
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(later, wait);
|
||||
if (callNow) func.apply(context, args);
|
||||
};
|
||||
}
|
||||
function getLastOfPath(object, path, Empty) {
|
||||
function cleanKey(key) {
|
||||
return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;
|
||||
}
|
||||
var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');
|
||||
while (stack.length > 1) {
|
||||
if (!object) return {};
|
||||
var key = cleanKey(stack.shift());
|
||||
if (!object[key] && Empty) object[key] = new Empty();
|
||||
object = object[key];
|
||||
}
|
||||
if (!object) return {};
|
||||
return {
|
||||
obj: object,
|
||||
k: cleanKey(stack.shift())
|
||||
};
|
||||
}
|
||||
export function setPath(object, path, newValue) {
|
||||
var _getLastOfPath = getLastOfPath(object, path, Object),
|
||||
obj = _getLastOfPath.obj,
|
||||
k = _getLastOfPath.k;
|
||||
if (Array.isArray(obj) && isNaN(k)) throw new Error("Cannot create property \"".concat(k, "\" here since object is an array"));
|
||||
obj[k] = newValue;
|
||||
}
|
||||
export function pushPath(object, path, newValue, concat) {
|
||||
var _getLastOfPath2 = getLastOfPath(object, path, Object),
|
||||
obj = _getLastOfPath2.obj,
|
||||
k = _getLastOfPath2.k;
|
||||
obj[k] = obj[k] || [];
|
||||
if (concat) obj[k] = obj[k].concat(newValue);
|
||||
if (!concat) obj[k].push(newValue);
|
||||
}
|
||||
export function getPath(object, path) {
|
||||
var _getLastOfPath3 = getLastOfPath(object, path),
|
||||
obj = _getLastOfPath3.obj,
|
||||
k = _getLastOfPath3.k;
|
||||
if (!obj) return undefined;
|
||||
return obj[k];
|
||||
}
|
Reference in New Issue
Block a user