1.0.3 • Published 5 years ago

booklick-dictionary v1.0.3

Weekly downloads
1
License
ISC
Repository
gitlab
Last release
5 years ago

booklick-dictionary :ledger:

Esta libreria contiene el dictionario de todas las plataformas de booklick

Install :dart:

Ejecuta para instalar la libreria:

npm install booklick-dictionary

Tambien se debe instalar react-intl ejecutando la siguiente linea:

npm i react-intl

Por ultimo debemos instalar la libreria de constantes de Booklick:

npm install booklick-constants

Usage :wrench:

1. Encapsular la aplicación :pill:

En la raiz del proyecto encapsular la aplicación dentro del componente IntlProvider, de la siguiente manera

import ReactDOM from 'react-dom';
import App from './';
import {IntlProvider} from 'react-intl';

ReactDOM.render(
    <IntlProvider locale={'es'}>
      <App />
    </IntlProvider>,
  document.querySelector('#root')
);

2. Importar las librerias :books:

En la parte de los imports agregar las siguientes linea:

import Dictionary from 'booklick-dictionary';
import { injectIntl } from 'react-intl';
import { REACT_NATIVE } from 'booklick-constants'; // si estamos desarrollando en React Native

3. Inyectar props :syringe:

Al final del archivo, donde exportamos el componente debebemos inyectar los props de esta manera:

export default injectIntl(MyComponent);

4. Declarar el diccionario :books:

Al momento de declarar el diccionario debemos indicarle que framework estamos usando, de la siguiente manera:

  • Si es React:
    const messages = Dictionary();
  • Si es React Native:
    const messages = Dictionary(REACT_NATIVE);

5. Obtener la traducción :black_nib:

Antes de realizar la traducción debemos obtener la data necesaria para traducir la llave, para esto usamos el siguiente fragmento de condigo:

const message = messages[key]
  • key: es la llave con la que identificamos la traducción

6. Realizar la traduccion :twisted_rightwards_arrows:

Para realizar la traducción debemos comprobar que exista la data para luego poder traducir:

if (message) {
  console.log('Traducción: ', this.props.intl.formatMessage(message));
}

Traducciones :black_nib:

  • activityCardCaption-activityCreate-booklist: ha creado una Booklist
  • activityCardCaption-activityEdit-content: editó
  • activityCardCaption-activityEdit-booklist: editó
  • activityCardCaption-activityEdit-profile: editó
  • activityCardCaption-activityFollow-profile: ha seguido a
  • activityCardCaption-activityRate-content-true: le ha gustado un contenido
  • activityCardCaption-activityRate-content-false: no le ha gustado un contenido
  • activityCardCaption-activityRate-content: ha calificado un contenido
  • activityCardCaption-activityRate-booklist-true: le ha gustado un contenido
  • activityCardCaption-activityRate-booklist-false: no le ha gustado un contenido
  • activityCardCaption-activityRate-booklist: ha calificado un contenido
  • activityCardCaption-activityShare-content: ha compartido un contenido
  • activityCardCaption-activityShare-profile: ha compartido el perfil de
  • description: biografía
  • slug: enlace
  • contents: contenido
  • keyWords: interéses
  • title: titulo
  • profileImgUrl: foto de perfil
  • image: portada
  • reader: lector
  • type: tipo
  • name: nombre
  • author: autor
  • profileRole-student: Estudiante
  • profileRole-teacher: Profesor
  • profileRole-admin: Administrativo
  • profileRole-null: Selecciona un rol
  • profileRole-Seleccione su rol en la institución: ' '
  • tableHeader-location: Ubicación
  • tableHeader-callNumber: Numero de ubicación
  • contentType-header-article: Artículos
  • contentType-header-booklick-content: Contenido Booklick
  • contentType-header-booklist: Booklists
  • contentType-header-external-book: Libros
  • contentType-header-PrintBook: Catálogo físico
  • contentType-header-document: Documentos
  • contentType-header-link: Links
  • contentType-header-book-eds: Libros
  • contentType-header-book: Libros
  • contentType-header-book-offline-primo: Catálogo físico
  • contentType-header-offline-book: Catálogo físico
  • category: Categoría
  • advanceSearch-category-all: Todo
  • advanceSearch-category-title: Titulo
  • advanceSearch-category-author: Autor
  • operator: Operador
  • advanceSearch-operator-OR: O
  • advanceSearch-operator-AND: Y
  • constant-admin: Administrador
  • constant-student: Estudiante
  • constant-teacher: Profesor
  • constant-booklist: Booklist
  • constant-document: Documentos
  • constant-link: Links
  • constant-create: Crear
  • constant-edit: Editar
  • constant-follow: Seguir
  • constant-rate: Calificar
  • constant-share: Compartir
  • sconstant-Booklick: Booklick
  • constant-elsevier: Elsevier
  • constant-taylor: Taylor & Francis
  • constant-oxford: Oxford
  • constant-sage: Sage
  • constant-springer: Springer
  • constant-crossref: Crossref

Instrucciones :page_with_curl:

Scripts :school_satchel:

npm run build :construction:

Compila el proyecto.

npm run format :tophat:

Estiliza todo el codio de la aplicación.

npm run lint :straight_ruler:

Revisa que todo el codigo cumpla con las condiciones de TypeScript

npm run prepare :speak_no_evil:

Compila el proyecto.

npm run preversion :hear_no_evil:

Verifica la reglas de TypeScript.

npm run version :zap:

Estiliza y agrega a git.

npm run postversion :sunny:

Pushea los tags y commits a git.

Despliegue :rocket:

1. Actualizar la version :arrow_double_up:

Camiar la version de la libreria en el package.json

2. Se deben ejecutar los siguientes comandos en este orden :station:

npm run prepare
npm run preversion
npm run version

3. Crear el tag :u5272:

Hacer un commit con una descripción de los cambios y crear el tag de la version

4. Taggear :new:

Sube los cambios y los taggea

5. Publicar

Ejecutar npm publish para actualizar la libreria

Mapa del proyecto :busstop:

:file_folder: src :white_flower:

Guarda todo el codigo de la aplicación

dictionary.json :inbox_tray:

Aca se declaran las traducciones de la siguiente manera:

{
  "KEY": {
    "id": "KEY",
    "defaultMessage": "TRADUCCIÓN"
  }
}

Los campos que se deben modificar son los siguientes:

  • KEY: el identificador de la traducción el cual es el que se le pasa al diccionario
  • TRADUCCIÓN: La respuesta a la traducción del KEY

index.ts :traffic_light:

Aca esta la logica que verifica el framework y construye el diccionario

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago