Đặt câu hỏi và nhận tóm tắt tài liệu bằng cách tham chiếu trang này và nhà cung cấp AI bạn chọn
Bằng cách tích hợp Intlayer MCP Server vào trợ lý AI ưa thích của bạn, bạn có thể truy xuất toàn bộ tài liệu trực tiếp từ ChatGPT, DeepSeek, Cursor, VSCode, v.v.
Xem tài liệu MCP ServerLịch sử phiên bản
- Initial documentationv7.1.016/11/2025
Nội dung của trang này đã được dịch bằng AI.
Xem phiên bản mới nhất của nội dung gốc bằng tiếng AnhNếu bạn có ý tưởng để cải thiện tài liệu này, vui lòng đóng góp bằng cách gửi pull request trên GitHub.
Liên kết GitHub tới tài liệuSao chép Markdown của tài liệu vào bộ nhớ tạm
Documentation: getPrefix Function in intlayer
Description
The getPrefix function determines the URL prefix for a given locale based on the routing mode configuration. It compares the locale with the default locale and returns an object containing three different prefix formats for flexible URL construction.
Key Features:
- Takes a locale as the first parameter (required)
- Optional options object with defaultLocale and mode
- Returns an object with prefix, and localePrefix properties
- Supports all routing modes: prefix-no-default, prefix-all, no-prefix, and search-params
- Lightweight utility for determining when to add locale prefixes
Function Signature
getPrefix( locale: Locales, // Required options?: { // Optional defaultLocale?: Locales; mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'; }): GetPrefixResulttype GetPrefixResult = { prefix: string; // e.g., 'fr/' or '' localePrefix?: Locale; // e.g., 'fr' or undefined}Parameters
locale: Locales
- Description: The locale to generate the prefix for. If the value is falsy (undefined, null, empty string), the function returns an empty string.
- Type: Locales
- Required: Yes
options?: object
- Description: Configuration object for prefix determination.
- Type: object
Required: No (Optional)
options.defaultLocale?: Locales
- Description: The default locale for the application. If not provided, uses the configured default locale from your project configuration.
- Type: Locales
- Default: Project Configuration
options.mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'
- Description: The URL routing mode for locale handling. If not provided, uses the configured mode from your project configuration.
- Type: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'
- Default: Project Configuration
- Modes:
- prefix-no-default: Returns empty strings when locale matches default locale
- prefix-all: Returns prefix for all locales including default
- no-prefix: Returns empty strings (no prefix in URLs)
- search-params: Returns empty strings (locale in query parameters)
Returns
- Type: GetPrefixResult
- Description: An object containing three different prefix formats:
- prefix: The path prefix with trailing slash (e.g., 'fr/', '')
- localePrefix: The locale identifier without slashes (e.g., 'fr', undefined)
Example Usage
Basic Usage
import { getPrefix, Locales } from "intlayer";// Check prefix for English localegetPrefix(Locales.ENGLISH, { defaultLocale: Locales.ENGLISH, mode: "prefix-all",});// Returns: { prefix: 'en/', localePrefix: 'en' }// Check prefix for French localegetPrefix(Locales.FRENCH, { defaultLocale: Locales.ENGLISH, mode: "prefix-no-default",});// Returns: { prefix: 'fr/', localePrefix: 'fr' }Different Routing Modes
import { getPrefix, Locales } from "intlayer";// prefix-all: Always returns prefixgetPrefix(Locales.ENGLISH, { mode: "prefix-all", defaultLocale: Locales.ENGLISH,});// Returns: { prefix: '/en', localePrefix: 'en' }// prefix-no-default: No prefix when locale matches defaultgetPrefix(Locales.ENGLISH, { mode: "prefix-no-default", defaultLocale: Locales.ENGLISH,});// Returns: { prefix: '', localePrefix: undefined }// prefix-no-default: Returns prefix when locale differs from defaultgetPrefix(Locales.FRENCH, { mode: "prefix-no-default", defaultLocale: Locales.ENGLISH,});// Returns: { prefix: 'fr/', localePrefix: 'fr' }// no-prefix & search-params: Never returns prefixgetPrefix(Locales.ENGLISH, { mode: "no-prefix" });// Returns: { prefix: '', localePrefix: undefined }getPrefix(Locales.ENGLISH, { mode: "search-params" });// Returns: { prefix: '', localePrefix: undefined }Practical Example
import { getPrefix, Locales } from "intlayer";// Build URLs with the appropriate prefix for a specific localeconst locale = Locales.FRENCH;const { prefix, localePrefix } = getPrefix(locale, { defaultLocale: Locales.ENGLISH, mode: "prefix-no-default",});// Using prefix for path constructionconst url1 = `/${prefix}about`.replace(/\/+/g, "/");// Result: "/fr/about"// Using localePrefix for locale identificationconsole.log(`Current locale: ${localePrefix}`);// Output: "Current locale: fr"Related Functions
- getLocalizedUrl: Generates a localized URL for a specific locale
- getMultilingualUrls: Generates URLs for all configured locales
TypeScript
type GetPrefixResult = { prefix: string; // The path prefix with trailing slash (e.g., 'fr/' or '') localePrefix?: Locale; // The locale identifier without slashes (e.g., 'fr' or undefined)};function getPrefix( locale: Locales, options?: { defaultLocale?: Locales; mode?: "prefix-no-default" | "prefix-all" | "no-prefix" | "search-params"; }): GetPrefixResult;