Enumeração / Pluralização

    Como a Enumeração Funciona

    No Intlayer, a enumeração é alcançada através da função enu, que mapeia chaves específicas ao seu conteúdo correspondente. Essas chaves podem representar valores numéricos, intervalos ou identificadores personalizados. Quando usada com o React Intlayer ou Next Intlayer, o conteúdo apropriado é selecionado automaticamente com base na localidade da aplicação e nas regras definidas.

    Configurando a Enumeração

    Para configurar a enumeração em seu projeto Intlayer, você precisa criar um módulo de conteúdo que inclua definições de enumeração. Aqui está um exemplo de uma enumeração simples para o número de carros:

    **/*.content.ts
    import { enu, type DeclarationContent } from "intlayer";const carEnumeration = {  key: "car_count",  content: {    numberOfCar: enu({      "<-1": "Menos de menos um carro",      "-1": "Menos um carro",      "0": "Nenhum carro",      "1": "Um carro",      ">5": "Alguns carros",      ">19": "Muitos carros",    }),  },} satisfies DeclarationContent;export default carEnumeration;

    Neste exemplo, enu mapeia várias condições para conteúdos específicos. Quando utilizado em um componente React, o Intlayer pode escolher automaticamente o conteúdo apropriado com base na variável dada.

    Usando a Enumeração com React Intlayer

    Para usar a enumeração em um componente React, você pode aproveitar o hook useIntlayer do pacote react-intlayer. Este hook recupera o conteúdo correto com base no ID especificado. Aqui está um exemplo de como usá-lo:

    **/*.tsx
    import type { FC } from "react";import { useIntlayer } from "react-intlayer";const CarComponent: FC = () => {  const content = useIntlayer("car_count");  return (    <div>      <p>{content.numberOfCar(0)}</p> {/* Saída: Nenhum carro */}      <p>{content.numberOfCar(6)}</p> {/* Saída: Alguns carros */}      <p>{content.numberOfCar(20)}</p> {/* Saída: Alguns carros */}    </div>  );};

    Neste exemplo, o componente ajusta dinamicamente sua saída com base no número de carros. O conteúdo correto é escolhido automaticamente, dependendo da faixa especificada.

    Notas Importantes

    • A ordem de declaração é crucial nas enumerações do Intlayer. A primeira declaração válida é a que será utilizada.
    • Se várias condições se aplicarem, garanta que estão ordenadas corretamente para evitar comportamentos inesperados.

    Melhores Práticas para Enumeração

    Para garantir que suas enumerações funcionem conforme o esperado, siga estas melhores práticas:

    • Nomenclatura Consistente: Use IDs claros e consistentes para os módulos de enumeração para evitar confusão.
    • Documentação: Documente suas chaves de enumeração e suas saídas esperadas para garantir a manutenibilidade futura.
    • Tratamento de Erros: Implemente tratamento de erros para gerenciar casos em que nenhuma enumeração válida é encontrada.
    • Otimizar Desempenho: Para grandes aplicações, reduza o número de extensões de arquivo monitoradas para melhorar o desempenho.

    Recursos Adicionais

    Para mais informações detalhadas sobre configuração e uso, consulte os seguintes recursos:

    Esses recursos fornecem mais insights sobre a configuração e o uso do Intlayer em diferentes ambientes e com várias estruturas.

    Se você tiver uma ideia para melhorar esta documentação, sinta-se à vontade para contribuir enviando uma pull request no GitHub.

    Link do GitHub para a documentação