@albertdz/sml
TypeScript icon, indicating that this package has built-in type declarations

1.2.2 • Public • Published

Simple multi language

Configuración y Uso de @albertdz/sml

Instalación

npm i @albertdz/sml

Configuración de Variables de Entorno

Antes de utilizar la librería, es necesario configurar algunas variables de entorno que serán utilizadas para su funcionamiento. A continuación se detallan las variables que necesitas configurar:

  • TYPE_FILE: Este valor indica la extensión de donde se obtendrán los valores. Acepta los valores csv, json y txt. Se recomienda utilizar txt en producción (archivo encriptado con los valores de la traducción).

  • PATH_FILE: Indica la ruta donde se encuentra el archivo csv o json.

  • CRYPT_KEY: Llave para encriptar y desencriptar los datos del archivo txt.

.env

TYPE_FILE="txt"
PATH_FILE="C:/Users/Username/Desktop/Projects/My_app"
CRYPT_KEY="1234567890123456"

Además, es importante destacar que el archivo debe llamarse lang.csv o lang.json y seguir la siguiente estructura:

Estructura del Archivo

lang.csv

property;es;en;... 
test;Prueba;Test;...

lang.json

{
  "es": {
    "test": "Prueba"
  },
  "en": {
    "test": "Test"
  }
}

Uso

Una vez que tienes configuradas las variables de entorno y preparado el archivo de traducción, puedes comenzar a utilizar la librería. Aquí te mostramos cómo hacerlo:

const { text, createCryptFromCsv, createCryptFromJson } = require("@albertdz/sml");

const value = text('test', 'en');
createCryptFromCsv(); // Crea el lang.txt a partir de un csv
createCryptFromJson(); // Crea el lang.txt a partir de un json

Recuerda que el archivo lang.txt se crea de forma interna, por lo que se recomienda trabajar con él en producción. En el caso de desarrollo, puedes utilizar el archivo lang.csv o lang.json.

Soporte TS

/
└── @types/
    └──albertdz__sml/
        └── index.d.ts
declare module '@albertdz/sml' {
  export function text(property: string, lang: string): string;
  export function createCryptFromCsv(): void;
  export function createCryptFromJson(): void;
}

Package Sidebar

Install

npm i @albertdz/sml

Weekly Downloads

10

Version

1.2.2

License

ISC

Unpacked Size

7.09 kB

Total Files

9

Last publish

Collaborators

  • albertdz