Escrito el 10/03/2024
Librería: TranslationSummaryJS (Javascript)
Librería que permite visualizar un resumen los archivos de traducción dentro de una carpeta.
Ayuda a encontrar los archivos de traducción faltantes dentro de la carpeta docs
Link
(link to npm package)[https://www.npmjs.com/package/@translation-summary/core]
Salida
Cómo usar
Instalación
npm i @translation-summary/core -g
Crea un archivo llamado translation-summary-config.js con la siguiente configuración, se puede ajustar las propiedad a cualquier forma.
module.exports = {
folderPath: './i18n',
filePattern: '_...md$',
filePatternForReplace: '_LANGUAGE.md',
fileExtension: '.md',
extractLanguage: (file) => {
return file.substring(file.length - 5, file.length - 3);
},
replaceExtension: (file, lang, pattern, fileExtension) => {
return file.replace(fileExtension, pattern.replace('LANGUAGE', lang));
},
};
Ejecutar el comando ts
translation-summary --config translation-summary-config.js
o más simplificado
ts -c translation-summary-config.js
Instalar el plugin en el proyecto
node (JS)
const ts = require('@translation-summary/core');
const helper = new ts.TranslationSummary();
const summary = helper.getSummary();
console.table(summary);
Mostrar los datos en consola
import { TranslationSummary } from './translation-summay';
const helper = new TranslationSummary();
const summary = helper.getSummary();
console.table(summary);
Tabla de resultados
export interface FileSummary {
file: string;
[key: string]: string;
}
Opciones
Se pueden definir las opciones por archivo, extensión o funciones para reemplazar.
const options = new Options();
options.folderPath = './docs';
options.filePattern = '_...md$';
options.filePatternForReplace = '_param.md';
options.fileExtension = '.md';
options.extractLanguage = (file: string): string => {
return file.substring(file.length - 5, file.length - 3);
};
options.replaceExtension = (file: string, lang: string, pattern: string, fileExtension: string): string => {
return file.replace(fileExtension, pattern.replace('param', lang));
};
const helper = new TranslationSummary(options);
const summary = helper.getSummary();
Opciones Disponibles
| Opciones | Descripcion | Valor por defecto |
|---|---|---|
folderPath |
Carpeta dónde empezará a buscar archivos | ./docs |
filePattern |
Extresión regular como string usada para encontrar archivos | _...md$ |
filePatternForReplace |
Expresión regular con un parametro con lo que reemplazará el valor en el archivo | _param.md |
fileExtension |
Extensión de archivo para los archivos (vacío buscará todos los archivos) | .md |
extractLanguage |
Función que devuelve el idioma para un archivo (ejemplo: doc_en.md devuelve en) |
|
replaceExtension |
Función que reemplaza el nombre del archivo por el correspondiente al idioma (ejemplo: doc.md devuelve doc_en.d) |
Solucionar problemas
Algunas libreías tal vez necesitan instalarse globalmente
ts-node
npm i ts-node -g
tsutils
npm i tsutils -g
typescript
npm i typescript -g