PageSourceSearch

https://site.nl/_static/57b54aa969c5e910/scripts/features/dashboard/user-locale.js

js site.nl collected 2026-10-02 15:05:25 UTC 949 bytes, 34 lines download raw bytes

1import { setLocale } from '../../client-utils.js';
2import { getLanguagesData, resolveLanguageLocale } from '../../i18n-language-preference.js';
3
4const getUserLanguageValue = (user) => {
5  const language = user?.language;
6  if (language && typeof language === 'object') {
7    return language.name ?? language.value ?? language.label ?? language.code ?? '';
8  }
9  return language ?? '';
10};
11
12const applyDashboardUserLocale = async (
13  user,
14  { loadLanguages = getLanguagesData, resolveLocale = resolveLanguageLocale, applyLocale = setLocale } = {},
15) => {
16  const languageValue = getUserLanguageValue(user);
17  if (!languageValue) {
18    return '';
19  }
20
21  try {
22    const languages = await loadLanguages();
23    const locale = resolveLocale(languageValue, languages);
24    if (!locale) {
25      return '';
26    }
27    await applyLocale(locale);
28    return locale;
29  } catch {
30    return '';
31  }
32};
33
34export { applyDashboardUserLocale, getUserLanguageValue };

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.