Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Історія версій
- "Ініціалізація документації"v9.5.519.09.2026
Вміст цієї сторінки перекладено за допомогою штучного інтелекту.
Переглянути останню версію оригінального вмісту англійськоюЯкщо у вас є ідея щодо покращення цієї документації, будь ласка, долучіться, надіславши pull request на GitHub.
Посилання на документацію на GitHubСкопіювати документацію у форматі Markdown в буфер обміну
Документація хука useLocale
Хук useLocale з astro-intlayer надає доступ до поточної локалі запиту, налаштованої локалі за замовчуванням та всіх доступних локалей у додатках Astro.
Він працює однаково як у frontmatter компонентів .astro, що рендеряться на сервері, так і в клієнтських блоках <script>.
Використання
У Frontmatter компонента (рендер на сервері)
Скопіюйте код у буфер обміну
У клієнтському <script> (інтерактивність)
Скопіюйте код у буфер обміну
Значення, що повертаються
Хук повертає об'єкт типу UseLocaleResult:
Відкрийте таблицю в модальному вікні, щоб чітко переглянути всі дані
| Властивість | Тип | Опис |
|---|---|---|
locale | DeclaredLocales | Активна локаль. |
defaultLocale | DeclaredLocales | Локаль за замовчуванням, налаштована в intlayer.config.ts. |
availableLocales | DeclaredLocales[] | Масив усіх підтримуваних локалей, налаштованих для проекту. |
setLocale | (locale: LocalesValues) => void | Функція для оновлення локалі. (Інтерактивна в клієнтському <script>, виводить попередження під час SSR). |
subscribe | (callback: () => void) => () => void | Підписується на зміни локалі на стороні клієнта. |
Поведінка на сервері та на клієнті
- Під час SSR / рендерингу на сервері: Запит рендериться один раз із фіксованими параметрами. Виклик
setLocale()під час рендерингу на сервері не діє і виводить попередження; перемикання локалей слід виконувати на клієнті або шляхом переходу за потрібною локалізованою URL-адресою. - У клієнтських скриптах:
setLocaleоновлює клієнтське сховище та оновлює збережені кукі або локальне сховище відповідно до вашої конфігурації Intlayer.
