Files
Tiber365/node_modules/locale-emoji/update-defaults.js
becarta 3168826fa8 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.
2025-05-23 15:10:00 +02:00

41 lines
955 B
JavaScript

var fs = require('fs');
var cldr = require('cldr-core/supplemental/likelySubtags.json');
var likelySubtags = cldr.supplemental.likelySubtags;
var defaultsCode = 'var defaults = {\n';
Object.keys(likelySubtags).forEach(key => {
if (key.indexOf('und-') === 0 || (/-[A-Z]{2}$/g).test(key)) {
return;
}
var locale = likelySubtags[key];
var split = locale.toUpperCase().split(/-|_/);
if (split.length < 2) {
return;
}
var code = split.pop();
if (!code || code === 'ZZ' || !/^[A-Z]{2}$/.test(code)) {
return;
}
if (key.indexOf('-') !== -1) {
key = `'${key}'`;
}
defaultsCode += ` ${key}: '${code}',\n`;
});
defaultsCode += '};\n';
let path = `${__dirname}/index.js`;
let content = fs.readFileSync(path, 'utf-8')
.replace(/\/\/ --- DEFAULTS START ---\n((.|\n)+)\/\/ --- DEFAULTS END ---/gm,
`// --- DEFAULTS START ---\n${defaultsCode}// --- DEFAULTS END ---`);
fs.writeFileSync(path, content, 'utf-8');