booklick-dictionary
v1.0.3
Published
Esta libreria contiene el dictionario de todas las plataformas de booklick
Downloads
5
Readme
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