PHP 8.2.30
Preview: adminjs.i18n.js Size: 1.79 KB
//proc/thread-self/root/home/byroehnu/.trash/node_modules11/adminjs/lib/frontend/utils/adminjs.i18n.js

/* eslint-disable function-paren-newline */
/* eslint-disable implicit-arrow-linebreak */
import i18n from 'i18next';
import LanguageDetector from 'i18next-browser-languagedetector';
import Backend from 'i18next-http-backend';
import intersection from 'lodash/intersection.js';
import merge from 'lodash/merge.js';
import { initReactI18next } from 'react-i18next';
import { defaultConfig, DEFAULT_NS, locales } from '../../locale/index.js';
import { flat } from '../../utils/flat/index.js';

/**
  Initializes i18n translations based on provided configuration.
  @function
  @param {Locale} config - The configuration object for initializing i18n
  @returns {{i18n: i18next}} - An object containing an i18n instance.
*/
const initTranslations = config => {
  const {
    language = 'en',
    availableLanguages = [],
    translations,
    localeDetection = false,
    withBackend = false,
    ...i18nConfig
  } = config;
  const combinedConfig = merge(defaultConfig, i18nConfig, {
    supportedLngs: availableLanguages,
    fallbackLng: i18nConfig.fallbackLng || language
  });
  const instance = i18n.createInstance(combinedConfig);
  if (!instance.isInitialized) {
    if (localeDetection) {
      instance.use(LanguageDetector);
    }
    if (withBackend) {
      instance.use(Backend);
    }
    instance.use(initReactI18next).init(combinedConfig);
  }
  const buildInTranslations = intersection(Object.keys(locales), availableLanguages);
  if (buildInTranslations.length) {
    buildInTranslations.forEach(lang => instance.addResourceBundle(lang, DEFAULT_NS, flat.flatten(locales[lang])));
  }
  if (translations) {
    Object.keys(translations).forEach(lang => instance.addResourceBundle(lang, DEFAULT_NS, flat.flatten(translations[lang]), true, true));
  }
  return {
    i18n: instance
  };
};
export default initTranslations;

Directory Contents

Dirs: 0 × Files: 5

Name Size Perms Modified Actions
1.79 KB lrw-r--r-- 2026-02-28 00:29:16
Edit Download
6.75 KB lrw-r--r-- 2026-02-28 00:29:22
Edit Download
291 B lrw-r--r-- 2026-02-28 00:31:26
Edit Download
112 B lrw-r--r-- 2026-02-28 00:31:44
Edit Download
10 B lrw-r--r-- 2026-02-28 00:31:48
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).