์ด ํ์ด์ง์ ์ํ๋ AI ์ด์์คํดํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์๋ฅผ ์์ฝํฉ๋๋ค
์ด ๋ฌธ์๋ ์ค๋๋์์ต๋๋ค. ๊ธฐ๋ณธ ๋ฒ์ ์ด ๋ค์ ๋ ์ง์ ์ ๋ฐ์ดํธ๋์์ต๋๋ค: 2026๋ 9์ 27์ผ.
์๋ฌธ ๋ฌธ์๋ก ์ด๋๋ฒ์ ๊ธฐ๋ก
- "์ด๋ ฅ ์ด๊ธฐํ"v5.5.102025. 6. 29.
์ด ํ์ด์ง์ ์ฝํ ์ธ ๋ AI๋ฅผ ์ฌ์ฉํ์ฌ ๋ฒ์ญ๋์์ต๋๋ค.
์์ด ์๋ณธ ๋ด์ฉ์ ์ต์ ๋ฒ์ ์ ๋ณด๊ธฐ์ด ๋ฌธ์๋ฅผ ๊ฐ์ ํ ์์ด๋์ด๊ฐ ์์ผ์๋ฉด GitHub์ ํ ๋ฆฌํ์คํธ๋ฅผ ์ ์ถํ์ฌ ์์ ๋กญ๊ฒ ๊ธฐ์ฌํด ์ฃผ์ธ์.
๋ฌธ์์ ๋ํ GitHub ๋งํฌ๋ฌธ์์ Markdown์ ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌ
๋ฌธ์: intlayer์ getMultilingualUrls ํจ์
์ค๋ช
getMultilingualUrls ํจ์๋ ์ฃผ์ด์ง URL์ ๊ฐ ์ง์๋๋ ๋ก์ผ์ผ์ ์ ๋์ฌ๋ก ๋ถ์ฌ ๋ค๊ตญ์ด URL ๋งคํ์ ์์ฑํฉ๋๋ค. ์ ๋ URL๊ณผ ์๋ URL ๋ชจ๋๋ฅผ ์ฒ๋ฆฌํ ์ ์์ผ๋ฉฐ, ์ ๊ณต๋ ๊ตฌ์ฑ์ด๋ ๊ธฐ๋ณธ๊ฐ์ ๋ฐ๋ผ ์ ์ ํ ๋ก์ผ์ผ ์ ๋์ฌ๋ฅผ ์ ์ฉํฉ๋๋ค.
์ฃผ์ ํน์ง:
- ํ์ ๋งค๊ฐ๋ณ์๋ 1๊ฐ์
๋๋ค:
url locales,defaultLocale,mode๋ฅผ ํฌํจํ๋ ์ ํ์ options๊ฐ์ฒด- ํ๋ก์ ํธ์ ๊ตญ์ ํ ์ค์ ์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ฌ์ฉํฉ๋๋ค
- ์ฌ๋ฌ ๋ผ์ฐํ
๋ชจ๋๋ฅผ ์ง์ํฉ๋๋ค:
prefix-no-default,prefix-all,no-prefix,search-params - ๋ชจ๋ ๋ก์ผ์ผ์ ํค๋ก, ํด๋น URL์ ๊ฐ์ผ๋ก ํ๋ ๋งคํ ๊ฐ์ฒด๋ฅผ ๋ฐํํฉ๋๋ค
ํจ์ ์๋ช
์ฝ๋๋ฅผ ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌ
๋งค๊ฐ๋ณ์
ํ์ ๋งค๊ฐ๋ณ์
url: string- Description: ๋ก์ผ์ผ๋ก ์ ๋์ด๊ฐ ๋ถ์ ์๋ณธ URL ๋ฌธ์์ด์ ๋๋ค.
- Type:
string - Required: Yes
์ ํ์ ๋งค๊ฐ๋ณ์
options?: object- Description: URL ์ง์ญํ ๋์์ ์ํ ๊ตฌ์ฑ ๊ฐ์ฒด์ ๋๋ค.
- Type:
object Required: No (์ ํ์ฌํญ)
options.locales?: Locales[]- Description: ์ง์๋๋ ๋ก์ผ์ผ์ ๋ฐฐ์ด์ ๋๋ค. ์ ๊ณต๋์ง ์์ผ๋ฉด ํ๋ก์ ํธ ๊ตฌ์ฑ์์ ๊ตฌ์ฑ๋ ๋ก์ผ์ผ์ ์ฌ์ฉํฉ๋๋ค.
- Type:
Locales[] - Default:
Project Configuration
options.defaultLocale?: Locales- Description: ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ๋ณธ ๋ก์ผ์ผ์ ๋๋ค. ์ ๊ณต๋์ง ์์ผ๋ฉด ํ๋ก์ ํธ ๊ตฌ์ฑ์์ ๊ตฌ์ฑ๋ ๊ธฐ๋ณธ ๋ก์ผ์ผ์ ์ฌ์ฉํฉ๋๋ค.
- Type:
Locales - Default:
Project Configuration
options.mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'- Description: ๋ก์ผ์ผ ์ฒ๋ฆฌ๋ฅผ ์ํ URL ๋ผ์ฐํ ๋ชจ๋์ ๋๋ค. ์ ๊ณต๋์ง ์์ผ๋ฉด ํ๋ก์ ํธ ๊ตฌ์ฑ์์ ๊ตฌ์ฑ๋ ๋ชจ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- Type:
'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params' - Default:
Project Configuration - Modes:
prefix-no-default: ๊ธฐ๋ณธ ๋ก์ผ์ผ์ ๊ฒฝ์ฐ ์ ๋์ฌ ์์, ๋ค๋ฅธ ๋ก์ผ์ผ์ ๊ฒฝ์ฐ ์ ๋์ฌ ํฌํจprefix-all: ๊ธฐ๋ณธ ๋ก์ผ์ผ์ ํฌํจํ ๋ชจ๋ ๋ก์ผ์ผ์ ์ ๋์ฌ ํฌํจno-prefix: URL์ ๋ก์ผ์ผ ์ ๋์ฌ ์์search-params: ๋ก์ผ์ผ์ ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์ ์ฌ์ฉ (์:?locale=fr)
๋ฐํ๊ฐ
- ํ์
:
IConfigLocales<string> - ์ค๋ช : ๊ฐ ๋ก์ผ์ผ์ ํด๋น ๋ค๊ตญ์ด URL์ ๋งคํํ ๊ฐ์ฒด์ ๋๋ค.
์ฌ์ฉ ์์
๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ (ํ๋ก์ ํธ ๊ตฌ์ฑ ์ฌ์ฉ)
์ฝ๋๋ฅผ ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌ
import { getMultilingualUrls, Locales } from "intlayer";
// ํ๋ก์ ํธ์ ๊ตฌ์ฑ์์ locales, defaultLocale, mode๋ฅผ ์ฌ์ฉํฉ๋๋ค
getMultilingualUrls("/dashboard");
// ์ถ๋ ฅ (ํ๋ก์ ํธ ๊ตฌ์ฑ์ en, fr์ด ์๊ณ mode๊ฐ 'prefix-no-default'์ธ ๊ฒฝ์ฐ):
// {
// en: "/dashboard",
// fr: "/fr/dashboard"
// }
์๋ URL
์ฝ๋๋ฅผ ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌ
import { getMultilingualUrls, Locales } from "intlayer";
getMultilingualUrls(
"/dashboard",
[Locales.ENGLISH, Locales.FRENCH],
Locales.ENGLISH,
false
);
// ์ถ๋ ฅ: {
// en: "/dashboard",
// fr: "/fr/dashboard"
// }
์ ๋ URL
์ฝ๋๋ฅผ ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌ
๋ค์ํ ๋ผ์ฐํ ๋ชจ๋
์ฝ๋๋ฅผ ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌ
์์ธ ์ํฉ
๋ก์ผ์ผ ์ธ๊ทธ๋จผํธ ์์:
- ํจ์๋ ๋ค๊ตญ์ด ๋งคํ์ ์์ฑํ๊ธฐ ์ ์ URL์์ ๊ธฐ์กด์ ๋ก์ผ์ผ ์ธ๊ทธ๋จผํธ๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
๊ธฐ๋ณธ ๋ก์ผ์ผ:
prefixDefault๊ฐfalse์ผ ๋, ํจ์๋ ๊ธฐ๋ณธ ๋ก์ผ์ผ์ ๋ํด URL์ ์ ๋์ฌ๋ฅผ ๋ถ์ด์ง ์์ต๋๋ค.
์ง์๋์ง ์๋ ๋ก์ผ์ผ:
locales๋ฐฐ์ด์ ์ ๊ณต๋ ๋ก์ผ์ผ๋ง URL ์์ฑ์ ๊ณ ๋ ค๋ฉ๋๋ค.
๋ผ์ฐํ ๋ชจ๋:
'prefix-no-default': ๊ธฐ๋ณธ ๋ก์ผ์ผ์ ์ ๋์ฌ๊ฐ ์๊ณ , ๋ค๋ฅธ ๋ก์ผ์ผ์ ์์ (์:/dashboard,/fr/dashboard)'prefix-all': ๋ชจ๋ ๋ก์ผ์ผ์ ์ ๋์ฌ๊ฐ ์์ (์:/en/dashboard,/fr/dashboard)'no-prefix': URL์ ๋ก์ผ์ผ ์ ๋์ฌ๊ฐ ์์ (๋ชจ๋ ๋ก์ผ์ผ์ด ๋์ผํ URL ๋ฐํ)'search-params': ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ๋ฅผ ํตํด ๋ก์ผ์ผ ์ง์ (์:/dashboard?locale=fr)
์ ํ๋ฆฌ์ผ์ด์ ์์์ ์ฌ์ฉ๋ฒ
๋ค๊ตญ์ด ์ ํ๋ฆฌ์ผ์ด์
์์๋ locales์ defaultLocale๋ก ๊ตญ์ ํ ์ค์ ์ ๊ตฌ์ฑํ๋ ๊ฒ์ด ์ฌ๋ฐ๋ฅธ ์ธ์ด๊ฐ ํ์๋๋๋ก ํ๋ ๋ฐ ์ค์ํฉ๋๋ค. ์๋๋ getMultilingualUrls๊ฐ ์ ํ๋ฆฌ์ผ์ด์
์ค์ ์์ ์ด๋ป๊ฒ ์ฌ์ฉ๋ ์ ์๋์ง์ ๋ํ ์์์
๋๋ค:
์ฝ๋๋ฅผ ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌ
import { Locales, type IntlayerConfig } from "intlayer";
// ์ง์๋๋ ๋ก์ผ์ผ๊ณผ ๊ธฐ๋ณธ ๋ก์ผ์ผ์ ๋ํ ์ค์
export default {
internationalization: {
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
defaultLocale: Locales.ENGLISH,
},
} satisfies IntlayerConfig;
export default config;
์ ๊ตฌ์ฑ์ ์ ํ๋ฆฌ์ผ์ด์
์ด ENGLISH, FRENCH, SPANISH๋ฅผ ์ง์ ์ธ์ด๋ก ์ธ์ํ๊ณ ENGLISH๋ฅผ ๊ธฐ๋ณธ ์ธ์ด๋ก ์ฌ์ฉํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
์ด ๊ตฌ์ฑ์ ์ฌ์ฉํ๋ฉด getMultilingualUrls ํจ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ์ง์ ๋ก์ผ์ผ์ ๊ธฐ๋ฐ์ผ๋ก ๋ค๊ตญ์ด URL ๋งคํ์ ๋์ ์ผ๋ก ์์ฑํ ์ ์์ต๋๋ค:
์ฝ๋๋ฅผ ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌ
getMultilingualUrls๋ฅผ ํตํฉํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ์ฌ๋ฌ ์ธ์ด์ ๊ฑธ์ณ ์ผ๊ด๋ URL ๊ตฌ์กฐ๋ฅผ ์ ์งํ ์ ์์ด ์ฌ์ฉ์ ๊ฒฝํ๊ณผ SEO๋ฅผ ๋ชจ๋ ํฅ์์ํฌ ์ ์์ต๋๋ค.
