iVipCoin - System
  • Introdução
  • Referência
    • Models
      • FirestoreObject
      • Resultado
      • Usuario
    • Pages
    • Helper
      • UserHelper
    • Crucial
      • Messages
      • MenuBar
      • Palette
    • Widgets
  • API
    • Segurança e Privacidade
  • Termos de Serviço
Powered by GitBook
On this page
  • Sintaxe
  • Idiomas
  • @ metadata
  • Tradução
  • Propriedades
  • langList
  • lang
  • dic
  • dicKeys
  • Métodos
  • getMsg
  1. Referência
  2. Crucial

Messages

PreviousCrucialNextMenuBar

Last updated 3 years ago

O Messages servirá para traduzir o sistema a um idioma específica como pt-BR (Português Brasileiro) ou en (Inglês Americano).

Sua estrutura fica da seguinte forma:

├─ │ ├─ Messages │ │ ├─ lang │ │ │ ├─ default.json │ │ │ ├─ pt-BR.json │ │ │ └─ index.js │ │ └─ index.js

Sintaxe

import { Messages } from "Crucial";

export default ({})=>{
    return <div>
        <h1>Título em Inglês: {Messages.getMsg("TITLE", "en")}</h1>
    </div>
}

/* Render: <div>
    <h1>Título em Inglês: Title</h1>
</div> */

Em: //Messages/lang/en.json

{
    "@metadata": {
        "lang-code": "en",
        "name": "English",
        "nativeName": "English",
        "authors": []
    },
    ...
    "TITLE": "Title",
    ...
}

Idiomas

@ metadata

O metadata armazena os dados de identificação do idioma, nele contem os seguintes parâmetros:

  • "lang-code" : string

  • "name" : string

    • Se refere ao nome do idioma em Inglês.

  • "nativeName" : string

    • Se refere ao nome do idioma traduzido em seu idioma nativo, por exemplo, o idioma ja - Japanese o seu nome de idioma nativo será "日本語 (にほんご/にっぽんご)".

  • "authors" : Array

    • Se refere aos autores responsáveis pelo dicionário do idioma em questão.

Tradução

A chave será a forma que chamará a tradução no dicionário, essa chave deve está no padrão: maiúsculo, se caracteres especiais e separados por traço (-). Exemplos: "MENU-INICIAL", "LOGIN-ERRO-EMAIL-INVALIDO", "REDEFINIR-SENHA", etc...

Atenção!

Evite duplicidade de chave no mesmo dicionário. Busque sempre criar uma chave única, genérica e específica.

O valor será o diálogo traduzido que retornará após ser convocado utilizando o método getMsg. Exemplo:

{
    "@metadata": {
        "lang-code": "pt-BR",
        "name": "Portuguese - Brazil",
        "nativeName": "Português - Brasil",
        "authors": []
    },
    "TITLE": "Título",
    "MENU-INICIAL": "Menu inicial",
    "LOGIN-ERRO-EMAIL-INVALIDO": "Email inválido, tente novamente!",
    "REDEFINIR-SENHA": "Redefinir senha"
}
{
    "@metadata": {
        "lang-code": "en",
        "name": "English",
        "nativeName": "English",
        "authors": []
    },
    "TITLE": "Title",
    "MENU-INICIAL": "Home menu",
    "LOGIN-ERRO-EMAIL-INVALIDO": "Invalid email, try again!",
    "REDEFINIR-SENHA": "Redefine password"
}

Propriedades

langList

static langList : Array

Se refere a lista de códigos em abreviação dos idiomas disponíveis.

lang

static lang : string

Se refere ao idioma que o sistema estará utilizando no momento, vem como padrão o idioma pt-BR (Português Brasileiro)

dic

static dic : object

Onde estará o dicionário traduzido de acordo com idioma que o sistema estará utilizando no momento.

dicKeys

static dicKeys : Array

Se refere a uma lista de chaves de vocação disponível no dicionário.

Métodos

getMsg

static getMsg ( key : string , lang : string | null ) : string | null

Esse método será responsável em consultar no dicionário a tradução do diálogo de acordo com a chave já pré-definida, se caso a chave não for encontrado, retornará valor nulo ou um diálogo semelhante.

Exemplo:

import { Messages } from "Crucial";

//Messages.lang = "en";

console.log(`Título em Inglês: ${Messages.getMsg("TITLE")}`);
// Título em Inglês: Title

console.log(`Erro: ${Messages.getMsg("LOGIN-ERRO-EMAIL-INVALIDO")}`);
// Erro: Invalid email, try again!

Os diálogos de um idioma específico são concentrados em um único arquivo do idioma.

Se refere ao código em abreviação do idioma em questão, saiba mais como adquirir esse código de abreviação em:

A forma de traduzir é no mesmo conceito do , com chave e valor.

Para conseguir traduzir o valor da chave, essa chave deve ser utilizada da mesma forma em outros arquivos do idioma, porém, com seus valores traduzidos referente ao idioma em questão. Caso se no dicionário de um idioma específico não possuir uma tradução a aquela chave, ele retornará um valor nulo se caso não tiver definido no dicionário padrão (//Messages/lang/default.json).

//Messages/lang/pt-BR.json

//Messages/lang/en.json

src
Crucial
src
Crucial
JSON
O código das línguas
JSON
JSON
src
Crucial
src
Crucial
src
Crucial