Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 3x 3x 3x 3x 3x 3x 3x 3x 1x 1x 1x 1x 1x | import { normalizeI18nDefinitionMap, normalizeTranslations } from '../i18n-normalizer/i18n-normalizer.js'
import { provide } from './provider.js'
/** @import { Translations, I18nDefinitionMap } from './i18n-importer.js' */
/**
* Imports translations from an URL
* @param {string | URL} url - translations URL
* @param {string | URL} baseUrl - base URL to search if it is a relative URL
* @returns {Promise<Translations>} translations map
*/
export async function importTranslations (url, baseUrl) {
const absoluteUrl = new URL(url, baseUrl)
const response = await fetch(absoluteUrl)
const json = await response.json()
const normalizeResult = normalizeTranslations(json)
normalizeResult.errors.forEach((error) => console.error('Error on %s::%s, %s', absoluteUrl.href, error.path, error.message))
return normalizeResult.result
}
/**
* Imports an i18n definition map from an URL
* @param {string | URL} url - definition file URL
* @param {string | URL} baseUrl - base URL to search if it is a relative URL
* @returns {Promise<I18nDefinitionMap>} i18n definition map
*/
export async function importDefinitionMap (url, baseUrl) {
const absoluteUrl = new URL(url, baseUrl)
const response = await fetch(absoluteUrl)
const json = await response.json()
const normalizeResult = normalizeI18nDefinitionMap(json)
normalizeResult.errors.forEach((error) => console.error('Error on %s::%s, %s', absoluteUrl.href, error.path, error.message))
normalizeResult.warnings.forEach((warning) => console.warn('Warning on %s::%s, %s', absoluteUrl.href, warning.path, warning.message))
return normalizeResult.result
}
provide({
importTranslations,
importDefinitionMap,
})
|