Debe proporcionar una Dirección de API
y una API Key
válidas para acceder a las funcionalidades de BABEL. Esta llave se especifica en la instanciación concreta de la clase BabelProxyService
.
const babel = new BabelProxyService({
apiAddress: 'MY-API-ADDRESS', //Babel API Address
apiKey: 'MY-API-KEY', //Secret API Key
defaultLocale: 'es_ES', //Lenguaje de traducciones por defecto
});
IMPORTANTE: Prefiera variables de entorno y/u otros medios seguros para manejar datos sensibles en la configuración de su cliente
BabelProxyService
.
IMPORTANTE: El parámetro
apiAddress
se especifica a través del constructor de clase o en su defecto la variable de entornoBABEL_SERVICE
. Sibabel-ripper
no detecta la dirección de API en el constructor o en la variable de entorno, el servicio gatillará unaexcepción de instanciación
.
IMPORTANTE: Puede además configurar el valor de la propiedad
clientTimeout
para modificar los tiempos de espera de respuesta antes de forzar una excepción en tiempo de ejecución.
Existen varias formas de implementación de la librería según sea su caso de uso:
Necesita obtener la traducción desde una lista de referencias:
//Ref 1
const dateNameTarget = {
target: 'references.header.dateNameLabel',
};
//Ref 2
const formNameTarget = {
target: 'references.nameLabel',
};
//Loading translations
const [dateName, formName] = await babel.loadTranslations([
dateNameTarget,
formNameTarget,
]);
console.log(dateName.message); //"Fecha estimada"
console.log(formNameTarget.message); //"Nombre completo"
Necesita obtener traducciones desde un diccionario de referencias:
- Para facilitar la tarea de mapeo de traducciones en grandes volúmenes utilice clase helper
BabelRipper
//Ref dictionary
const dictionary = {
dateName: 'references.header.dateNameLabel',
folioName: 'references.header.folioNameLabel',
formName: 'references.nameLabel',
};
//Loading translations
const translations = await babel.loadTranslationsFromObject(dictionary);
//BabelRipper plugin
const rip = new BabelRipper(translations);
console.log(rip.get(dictionary.dateName));
//"Fecha estimada"
console.log(rip.get(dictionary.formName));
//"Nombre completo"
//Ref dictionary
const dictionary = {
dateName: 'references.header.dateNameLabel',
folioName: 'references.header.folioNameLabel',
formName: 'references.nameLabel',
};
//Loading translations (includes pre-loaded Ripper)
const rip = await babel.loadGuttedTranslations(dictionary);
console.log(rip.get(dictionary.dateName));
//"Fecha estimada"
console.log(rip.get(dictionary.formName));
//"Nombre completo"
Necesita recibir la traducción de un mensaje de traducción para respuesta estándar HTTP de su API. por ejemplo:
//...
if (!userName) {
const message = await babel.loadMessage({
target: 'standardErrors.STANDARD.BAD_REQUEST',
});
// Will return:
// {
// id: 'standardErrors.STANDARD.BAD_REQUEST',
// message: 'Bad Request',
// httpCode: 400,
// }
return message;
}
Este proyecto se encuentra bajo la licencia GNU General Public License
. Puede consultar más detalles aquí.
Puede consultar el historial de cambios aquí.
Puede encontrar la distribución oficial de NPM de este proyecto aquí.