Faça sua pergunta e obtenha um resumo do documento referenciando esta página e o provedor AI de sua escolha
Histórico de versões
- "Documentação inicial"v7.1.016/11/2025
O conteúdo desta página foi traduzido com uma IA.
Veja a última versão do conteúdo original em inglêsIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
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
optionsopcional comdefaultLocaleemode - Retorna um objeto com as propriedades
prefixelocalePrefix - Suporta todos os modos de roteamento:
prefix-no-default,prefix-all,no-prefixesearch-params - Utilitário leve para determinar quando adicionar prefixos de locale
Assinatura da Função
Copiar o código para a área de transferência
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ãoprefix-all: Retorna prefixo para todos os locales, incluindo o padrãono-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
Copiar o código para a área de transferência
import { getPrefix, Locales } from "intlayer";
// Verifica o prefixo para o locale inglês
getPrefix(Locales.ENGLISH, {
defaultLocale: Locales.ENGLISH,
mode: "prefix-all",
});
// Retorna: { prefix: 'en/', localePrefix: 'en' }
// Verifica o prefixo para o locale francês
getPrefix(Locales.FRENCH, {
defaultLocale: Locales.ENGLISH,
mode: "prefix-no-default",
});
// Retorna: { prefix: 'fr/', localePrefix: 'fr' }Modos Diferentes de Roteamento
Copiar o código para a área de transferência
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
Copiar o código para a área de transferência
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
getLocalizedUrl: Gera uma URL localizada para um locale específicogetMultilingualUrls: Gera URLs para todos os locales configurados
TypeScript
Copiar o código para a área de transferência
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;