Receba notificações sobre os próximos lançamentos de Intlayer
    Criação:2025-11-16Última atualização:2025-11-16

    Documentação: Função getPrefix no intlayer

    Descrição

    A função getPrefix determina o prefixo da URL para um determinado locale com base na configuração do modo de roteamento. Ela compara o locale com o locale padrão e retorna um objeto contendo três formatos diferentes de prefixo para construção flexível de URLs.

    Principais Características:

    • Recebe um locale como primeiro parâmetro (obrigatório)
    • Objeto options opcional com defaultLocale e mode
    • Retorna um objeto com as propriedades prefix e localePrefix
    • Suporta todos os modos de roteamento: prefix-no-default, prefix-all, no-prefix e search-params
    • Utilitário leve para determinar quando adicionar prefixos de locale

    Assinatura da Função

    getPrefix(  locale: Locales,               // Obrigatório  options?: {                    // Opcional    defaultLocale?: Locales;    mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params';  }): GetPrefixResulttype GetPrefixResult = {  prefix: string;   // ex: 'fr/' ou ''  localePrefix?: Locale; // ex: 'fr' ou indefinido}

    Parâmetros

    • locale: Locales

      • Descrição: O locale para o qual gerar o prefixo. Se o valor for falsy (undefined, null, string vazia), a função retorna uma string vazia.
      • Tipo: Locales
      • Obrigatório: Sim
    • options?: object

      • Descrição: Objeto de configuração para determinação do prefixo.
      • Tipo: object
      • Obrigatório: Não (Opcional)

      • options.defaultLocale?: Locales

        • Descrição: O locale padrão para a aplicação. Se não fornecido, usa o locale padrão configurado na configuração do seu projeto.
        • Tipo: Locales
        • Padrão: Configuração do Projeto
      • options.mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'

        • Descrição: O modo de roteamento da URL para o tratamento do locale. Se não fornecido, usa o modo configurado na configuração do seu projeto.
        • Tipo: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'
        • Padrão: Configuração do Projeto
        • Modos:
          • prefix-no-default: Retorna strings vazias quando o locale corresponde ao locale padrão
          • prefix-all: Retorna prefixo para todos os locales, incluindo o padrão
          • no-prefix: Retorna strings vazias (sem prefixo nas URLs)
          • search-params: Retorna strings vazias (locale nos parâmetros de consulta)

    Retorna

    • Tipo: GetPrefixResult
    • Descrição: Um objeto contendo três formatos diferentes de prefixo:
      • prefix: O prefixo do caminho com barra no final (ex., 'fr/', '')
      • localePrefix: O identificador do locale sem barras (ex., 'fr', undefined)

    Exemplo de Uso

    Uso Básico

    import { getPrefix, Locales } from "intlayer";// Verifica o prefixo para o locale inglêsgetPrefix(Locales.ENGLISH, {  defaultLocale: Locales.ENGLISH,  mode: "prefix-all",});// Retorna: { prefix: 'en/', localePrefix: 'en' }// Verifica o prefixo para o locale francêsgetPrefix(Locales.FRENCH, {  defaultLocale: Locales.ENGLISH,  mode: "prefix-no-default",});// Retorna: { prefix: 'fr/', localePrefix: 'fr' }

    Modos Diferentes de Roteamento

    import { getPrefix, Locales } from "intlayer";// prefix-all: Sempre retorna prefixogetPrefix(Locales.ENGLISH, {  mode: "prefix-all",  defaultLocale: Locales.ENGLISH,});// Retorna: { prefix: '/en', localePrefix: 'en' }// prefix-no-default: Sem prefixo quando o locale coincide com o padrãogetPrefix(Locales.ENGLISH, {  mode: "prefix-no-default",  defaultLocale: Locales.ENGLISH,});// Retorna: { prefix: '', localePrefix: undefined }// prefix-no-default: Retorna prefixo quando o locale difere do padrãogetPrefix(Locales.FRENCH, {  mode: "prefix-no-default",  defaultLocale: Locales.ENGLISH,});// Retorna: { prefix: 'fr/', localePrefix: 'fr' }// no-prefix & search-params: Nunca retorna prefixogetPrefix(Locales.ENGLISH, { mode: "no-prefix" });// Retorna: { prefix: '', localePrefix: undefined }getPrefix(Locales.ENGLISH, { mode: "search-params" });// Retorna: { prefix: '', localePrefix: undefined }

    Exemplo Prático

    import { getPrefix, Locales } from "intlayer";// Construir URLs com o prefixo apropriado para um locale específicoconst locale = Locales.FRENCH;const { prefix, localePrefix } = getPrefix(locale, {  defaultLocale: Locales.ENGLISH,  mode: "prefix-no-default",});// Usando prefix para construção do caminhoconst url1 = `/${prefix}about`.replace(/\/+/g, "/");// Resultado: "/fr/about"// Usando localePrefix para identificação do localeconsole.log(`Locale atual: ${localePrefix}`);// Saída: "Locale atual: fr"

    Funções Relacionadas


    TypeScript

    type GetPrefixResult = {  prefix: string; // O prefixo do caminho com barra final (ex: 'fr/' ou '')  localePrefix?: Locale; // O identificador do locale sem barras (ex: 'fr' ou indefinido)};function getPrefix(  locale: Locales,  options?: {    defaultLocale?: Locales;    mode?: "prefix-no-default" | "prefix-all" | "no-prefix" | "search-params";  }): GetPrefixResult;
    Receba notificações sobre os próximos lançamentos de Intlayer