Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
export const INIT_OPTIONS = {
fallbackLocale: 'en',
initialLocale: 'en',
loadingDelay: 200,
formats: {},
warnOnMissingMessages: true,
localeOptions: LANGUAGES,
};
let currentLocale = null;
register('en', () => import('./messages/en.json'));
register('de', () => import('./messages/de.json'));
$locale.subscribe((value) => {
if (value == null) return;
currentLocale = value;
// if running in the client, save the language preference in a cookie
if (typeof window !== 'undefined') {
setCookie('locale', value);
}
});
// initialize the i18n library in client
export function startClient() {
console.log('nav', getLocaleFromNavigator());
init({
...INIT_OPTIONS,
initialLocale: getCookie('locale') || INIT_OPTIONS.localeOptions.find(option => option == cropCountryCode(getLocaleFromNavigator())) || INIT_OPTIONS.initialLocale,
import { LANGUAGES } from '../config.js';
import { getCookie, setCookie } from './modules/cookie.js';
export const INIT_OPTIONS = {
fallbackLocale: 'en',
initialLocale: 'en',
loadingDelay: 200,
formats: {},
warnOnMissingMessages: true,
localeOptions: LANGUAGES,
};
let currentLocale = null;
register('en', () => import('./messages/en.json'));
register('de', () => import('./messages/de.json'));
$locale.subscribe((value) => {
if (value == null) return;
currentLocale = value;
// if running in the client, save the language preference in a cookie
if (typeof window !== 'undefined') {
setCookie('locale', value);
}
});
// initialize the i18n library in client
export function startClient() {
console.log('nav', getLocaleFromNavigator());
init({
export function i18nMiddleware() {
// initialLocale will be set by the middleware
init(INIT_OPTIONS);
return (req, res, next) => {
const isDocument = DOCUMENT_REGEX.test(req.originalUrl);
// get the initial locale only for a document request
if (!isDocument) {
next();
return;
}
let locale = getCookie('locale', req.headers.cookie);
// no cookie, let's get the first accepted language
if (locale == null) {
if (req.headers['accept-language']) {
const headerLngs = req.headers['accept-language'].split(',');
const headerLngCodes = headerLngs.map(lng => lng.split(';')[0].trim());
export function get(req, res) {
if (!json || process.env.NODE_ENV !== 'production') {
const { slug } = req.params;
locale.subscribe(localecode => {
console.log('sublocale: ' + localecode, LANGUAGES);
if (!LANGUAGES.includes(localecode)) {
console.log(INIT_OPTIONS);
localecode = INIT_OPTIONS.initialLocale || 'en';
}
const seo = generate_seo('docs/', slug, localecode);
// import(`../../../docs/${slug}/seo_${localecode}.jsonld`).then((module) => {
// const seo = module.meta;
// const docs = generate_docs('docs/', slug, localecode);
// json = JSON.stringify({ docs, seo }); // TODO it errors if I send the non-stringified value
// }).catch(error => {
// console.error(error);
const docs = generate_docs('docs/', slug, localecode);
import { LANGUAGES } from '../config.js';
import { getCookie, setCookie } from './modules/cookie.js';
export const INIT_OPTIONS = {
fallbackLocale: 'en',
initialLocale: 'en',
loadingDelay: 200,
formats: {},
warnOnMissingMessages: true,
localeOptions: LANGUAGES,
};
let currentLocale = null;
register('en', () => import('./messages/en.json'));
register('de', () => import('./messages/de.json'));
$locale.subscribe((value) => {
if (value == null) return;
currentLocale = value;
// if running in the client, save the language preference in a cookie
if (typeof window !== 'undefined') {
setCookie('locale', value);
}
});
// initialize the i18n library in client
export function startClient() {
console.log('nav', getLocaleFromNavigator());
export function startClient() {
console.log('nav', getLocaleFromNavigator());
init({
...INIT_OPTIONS,
initialLocale: getCookie('locale') || INIT_OPTIONS.localeOptions.find(option => option == cropCountryCode(getLocaleFromNavigator())) || INIT_OPTIONS.initialLocale,
});
}
export function startClient() {
console.log('nav', getLocaleFromNavigator());
init({
...INIT_OPTIONS,
initialLocale: getCookie('locale') || INIT_OPTIONS.localeOptions.find(option => option == cropCountryCode(getLocaleFromNavigator())) || INIT_OPTIONS.initialLocale,
});
}
export default async () => {
let locale = getLocaleFromNavigator();
if (process.env.AVAILABLE_LOCALES && process.env.AVAILABLE_LOCALES.indexOf(locale) < 0) {
locale = locale.split("-")[0];
}
const messages = await import(`@/locales/${locale}.json`);
addMessages(locale, messages.default);
init({
fallbackLocale: "en",
initialLocale: locale,
});
};
export default async () => {
let locale = getLocaleFromNavigator();
if (process.env.AVAILABLE_LOCALES && process.env.AVAILABLE_LOCALES.indexOf(locale) < 0) {
locale = locale.split("-")[0];
}
const messages = await import(`@/locales/${locale}.json`);
addMessages(locale, messages.default);
init({
fallbackLocale: "en",
initialLocale: locale,
});
};
const headerLngs = req.headers['accept-language'].split(',');
const headerLngCodes = headerLngs.map(lng => lng.split(';')[0].trim());
const headerLang = headerLngCodes.find(code => {
return INIT_OPTIONS.localeOptions.find(option => option == code);
});
if (headerLang) {
locale = headerLang;
}
} else {
locale = INIT_OPTIONS.initialLocale || INIT_OPTIONS.fallbackLocale;
}
}
if (locale != null && locale !== currentLocale) {
$locale.set(locale);
}
next();
};
}