Faça sua pergunta e obtenha um resumo do documento referenciando esta página e o provedor AI de sua escolha
Este documento está desatualizado, a versão base foi atualizada em 16 de novembro de 2025.
Ir para a documentação em inglêsHistórico de versões
- "Histórico inicial"v5.5.1029/06/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 getMultilingualUrls em intlayer
Descrição
A função getMultilingualUrls gera um mapeamento de URLs multilíngues prefixando a URL fornecida com cada localidade suportada. Ela pode lidar tanto com URLs absolutas quanto relativas, aplicando o prefixo de localidade apropriado com base na configuração fornecida ou nos padrões.
Assinatura da Função
Copiar o código para a área de transferência
getMultilingualUrls( url: string, // Obrigatório options?: { // Opcional locales?: Locales[]; defaultLocale?: Locales; mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'; }): StrictModeLocaleMap<string>Parâmetros
Parâmetros
url: string- Descrição: A string da URL original a ser prefixada com as localidades.
- Tipo:
string
locales: Locales[]- Descrição: Array opcional de localidades suportadas. O padrão são as localidades configuradas no projeto.
- Tipo:
Locales[] - Padrão:
localesDefault
defaultLocale: Locales- Descrição: A localidade padrão para a aplicação. O padrão é a localidade padrão configurada no projeto.
- Tipo:
Locales - Padrão:
defaultLocaleDefault
prefixDefault: boolean- Descrição: Se deve prefixar a localidade padrão. O padrão é o valor configurado no projeto.
- Tipo:
boolean - Padrão:
prefixDefaultDefault
Parâmetros Opcionais
options?: object- Description: Objeto de configuração para comportamento de localização de URL.
- Type:
object Required: Não (Opcional)
options.locales?: Locales[]- Description: Array de locales suportados. Se não fornecido, usa os locales configurados da configuração do seu projeto.
- Type:
Locales[] - Default:
Project Configuration
options.defaultLocale?: Locales- Description: O locale padrão para a aplicação. Se não fornecido, usa o locale padrão configurado da configuração do seu projeto.
- Type:
Locales - Default:
Project Configuration
options.mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'- Description: O modo de roteamento de URL para manipulação de locale. Se não fornecido, usa o modo configurado da configuração do seu projeto.
- Type:
'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params' - Default:
Project Configuration - Modes:
prefix-no-default: Sem prefixo para o locale padrão, prefixo para todos os outrosprefix-all: Prefixo para todos os locales incluindo o padrãono-prefix: Sem prefixo de locale na URLsearch-params: Usar parâmetros de query para locale (ex:?locale=fr)
Retorno
- Tipo:
IConfigLocales<string> - Descrição: Um objeto que mapeia cada localidade para sua URL multilíngue correspondente.
Exemplo de Uso
Uso Básico (Usa Configuração do Projeto)
Copiar o código para a área de transferência
import { getMultilingualUrls, Locales } from "intlayer";
// Usa a configuração do seu projeto para locales, defaultLocale e mode
getMultilingualUrls("/dashboard");
// Output (assumindo que a configuração do projeto tem en, fr com mode 'prefix-no-default'):
// {
// en: "/dashboard",
// fr: "/fr/dashboard"
// }URLs Relativas
Copiar o código para a área de transferência
import { getMultilingualUrls, Locales } from "intlayer";
getMultilingualUrls(
"/dashboard",
[Locales.ENGLISH, Locales.FRENCH],
Locales.ENGLISH,
false
);
// Saída: {
// en: "/dashboard",
// fr: "/fr/dashboard"
// }URLs Absolutas
Copiar o código para a área de transferência
getMultilingualUrls( "https://example.com/dashboard", [Locales.ENGLISH, Locales.FRENCH], Locales.ENGLISH, true);// Saída: {// en: "https://example.com/en/dashboard",// fr: "https://example.com/fr/dashboard"// }Diferentes Modos de Roteamento
Copiar o código para a área de transferência
// prefix-no-default: Sem prefixo para locale padrãogetMultilingualUrls("/dashboard", { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], defaultLocale: Locales.ENGLISH, mode: "prefix-no-default",});// Output: {// en: "/dashboard",// fr: "/fr/dashboard",// es: "/es/dashboard"// }// prefix-all: Prefixo para todas as localesgetMultilingualUrls("/dashboard", { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], defaultLocale: Locales.ENGLISH, mode: "prefix-all",});// Output: {// en: "/en/dashboard",// fr: "/fr/dashboard",// es: "/es/dashboard"// }// no-prefix: Sem prefixo de locale nas URLsgetMultilingualUrls("/dashboard", { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], defaultLocale: Locales.ENGLISH, mode: "no-prefix",});// Output: {// en: "/dashboard",// fr: "/dashboard",// es: "/dashboard"// }// search-params: Locale como parâmetro de querygetMultilingualUrls("/dashboard", { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], defaultLocale: Locales.ENGLISH, mode: "search-params",});// Output: {// en: "/dashboard?locale=en",// fr: "/dashboard?locale=fr",// es: "/dashboard?locale=es"// }Casos Especiais
Sem Segmento de Localidade:
- A função remove qualquer segmento de localidade existente da URL antes de gerar os mapeamentos multilíngues.
Localidade Padrão:
- Quando
prefixDefaultéfalse, a função não adiciona prefixo na URL para a localidade padrão.
- Quando
Localidades Não Suportadas:
- Apenas as localidades fornecidas no array
localessão consideradas para gerar as URLs.
- Apenas as localidades fornecidas no array
Uso em Aplicações
Em uma aplicação multilíngue, configurar as definições de internacionalização com locales e defaultLocale é fundamental para garantir que o idioma correto seja exibido. Abaixo está um exemplo de como getMultilingualUrls pode ser usado na configuração de uma aplicação:
Copiar o código para a área de transferência
import { Locales, type IntlayerConfig } from "intlayer";
// Configuração para localidades suportadas e localidade padrão
export default {
internationalization: {
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
defaultLocale: Locales.ENGLISH,
},
} satisfies IntlayerConfig;
export default config;A configuração acima garante que a aplicação reconheça ENGLISH, FRENCH e SPANISH como idiomas suportados e utilize ENGLISH como idioma padrão.
Usando esta configuração, a função getMultilingualUrls pode gerar dinamicamente mapeamentos de URLs multilíngues com base nos idiomas suportados pela aplicação:
Copiar o código para a área de transferência
getMultilingualUrls( "/dashboard", [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], Locales.ENGLISH);// Saída:// {// en: "/dashboard",// fr: "/fr/dashboard",// es: "/es/dashboard"// }getMultilingualUrls( "https://example.com/dashboard", [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], Locales.ENGLISH, true);// Saída:// {// en: "https://example.com/en/dashboard",// fr: "https://example.com/fr/dashboard",// es: "https://example.com/es/dashboard"// }Ao integrar getMultilingualUrls, os desenvolvedores podem manter estruturas de URL consistentes em múltiplos idiomas, melhorando tanto a experiência do usuário quanto o SEO.