Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i18n(ru): update ru/reference/api-reference.mdx #10588

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions src/content/docs/ru/guides/cms/builderio.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -87,12 +87,12 @@ interface ImportMetaEnv {

(остальные параметры оставьте по умолчанию)

Затем нажмите кнопку **Save** в правом верхнем углу.
Затем нажмите кнопку **Save** в правом верхнем углу.

:::caution[Slugs]
С полем `slug` есть несколько подводных камней:

* Убедитесь, что ваш слаг не является просто числом. Это, похоже, приводит к поломке запроса на получение в API Builder.
* Убедитесь, что ваш слаг не является просто числом. Это, похоже, приводит к поломке запроса на получение в API Builder.

* Убедитесь, что ваши слаги уникальны, так как от этого будет зависеть маршрутизация вашего сайта.
:::
Expand Down Expand Up @@ -140,7 +140,7 @@ const builderModel = import.meta.env.BUILDER_BLOGPOST_MODEL;

#### Установка нового маршрута в качестве URL-адреса предварительного просмотра

1. Скопируйте полный URL-адрес превью, включая протокол, в буфер обмена (например, `https://{ваш хост}/builder-preview`).
1. Скопируйте полный URL-адрес превью, включая протокол, в буфер обмена (например, `https://{ваш хост}/builder-preview`).

2. Перейдите на вкладку **Models** в вашем пространстве Builder, выберите созданную модель и вставьте URL из шага 1 в поле **Preview URL**. Убедитесь, что URL-адрес является полным и включает протокол, например `https://`.

Expand Down Expand Up @@ -249,7 +249,7 @@ const { results: posts } = await fetch(
</FileTree>

Этот файл должен содержать:
- Функция [`getStaticPaths()`](/ru/reference/api-reference/#getstaticpaths) для получения информации о `slug` из Builder и создания статического маршрута для каждой записи блога.
- Функция [`getStaticPaths()`](/ru/reference/routing-reference/#getstaticpaths) для получения информации о `slug` из Builder и создания статического маршрута для каждой записи блога.
- Функция `fetch()` для обращения к API Builder с использованием идентификатора `slug` для возврата содержимого поста и метаданных (например, `title`).
- Фрагмент `<Fragment />` в шаблоне для отображения содержимого поста в виде HTML.

Expand Down Expand Up @@ -314,7 +314,7 @@ const { html: postHTML } = await fetch(
```

:::note
Переменные `builderModel` и `builderAPIpublicKey` должны быть созданы дважды, поскольку [`getStaticPaths()` выполняется в собственной изолированной области](/ru/reference/api-reference/#getstaticpaths).
Переменные `builderModel` и `builderAPIpublicKey` должны быть созданы дважды, поскольку [`getStaticPaths()` выполняется в собственной изолированной области](/ru/reference/routing-reference/#getstaticpaths).
:::

Теперь при нажатии на ссылку в индексном маршруте вы будете переходить на страницу отдельной записи блога.
Expand Down
40 changes: 20 additions & 20 deletions src/content/docs/ru/guides/content-collections.mdx

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions src/content/docs/ru/guides/internationalization.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ export default defineConfig({

### Создание ссылок

Настроив маршрутизацию i18n, вы теперь можете вычислять ссылки на страницы вашего сайта, используя вспомогательные функции, такие как [`getRelativeLocaleUrl()`](/ru/reference/api-reference/#getrelativelocaleurl), доступные из [`astro: i18n`](/ru/reference/api-reference/#интернационализация-astroi18n). Эти сгенерированные ссылки всегда будут обеспечивать правильный локализованный маршрут и могут помочь вам правильно использовать или проверять URL-адреса на вашем сайте.
Настроив маршрутизацию i18n, вы теперь можете вычислять ссылки на страницы вашего сайта, используя вспомогательные функции, такие как [`getRelativeLocaleUrl()`](/ru/reference/modules/astro-i18n/#getrelativelocaleurl), доступные из [`astro: i18n`](/ru/reference/modules/astro-i18n/). Эти сгенерированные ссылки всегда будут обеспечивать правильный локализованный маршрут и могут помочь вам правильно использовать или проверять URL-адреса на вашем сайте.

Вы также можете написать ссылки вручную.

Expand Down Expand Up @@ -198,7 +198,7 @@ export default defineConfig({
})
```

Astro предоставляет вспомогательные функции для вашего промежуточного программного обеспечения, чтобы вы могли самостоятельно управлять маршрутизацией по умолчанию, исключениями, резервным поведением, отслеживанием ошибок и т. д.: [`redirectToDefaultLocale()`](/ru/reference/api-reference/#redirecttodefaultlocale), [`NotFound()`](/ru/reference/api-reference/#notfound), и [`redirectToFallback()`](/ru/reference/api-reference/#redirecttofallback):
Astro предоставляет вспомогательные функции для вашего промежуточного программного обеспечения, чтобы вы могли самостоятельно управлять маршрутизацией по умолчанию, исключениями, резервным поведением, отслеживанием ошибок и т. д.: [`redirectToDefaultLocale()`](/ru/reference/modules/astro-i18n/#redirecttodefaultlocale), [`NotFound()`](/ru/reference/modules/astro-i18n/#notfound), и [`redirectToFallback()`](/ru/reference/modules/astro-i18n/#redirecttofallback):


```js title="src/middleware.js"
Expand All @@ -217,7 +217,7 @@ export const onRequest = defineMiddleware(async (ctx, next) => {

Функция [`middleware`](#функция-middleware) вручную создаёт промежуточное программное обеспечение Astro i18n. Это позволяет расширить маршрутизацию Astro i18n вместо её полной замены.

Вы можете запустить `middleware` с [параметрами маршрутизации](#routing) в сочетании с вашим собственным промежуточным программным обеспечением, используя утилиту [`sequence`](/ru/reference/api-reference/#sequence) для определения порядка:
Вы можете запустить `middleware` с [параметрами маршрутизации](#routing) в сочетании с вашим собственным промежуточным программным обеспечением, используя утилиту [`sequence`](/ru/reference/modules/astro-middleware/#sequence) для определения порядка:

```js title="src/middleware.js"
import {defineMiddleware, sequence} from "astro:middleware";
Expand Down Expand Up @@ -271,19 +271,19 @@ export default defineConfig({
})
```

При использовании функций из [виртуального модуля `astro: i18n`](/ru/reference/api-reference/#интернационализация-astroi18n) для вычисления допустимых URL-путей на основе вашей конфигурации (например, `getRelativeLocaleUrl()`), [используйте `path` как значение `locale`](/ru/reference/api-reference/#getlocalebypath).
При использовании функций из [виртуального модуля `astro: i18n`](/ru/reference/modules/astro-i18n/) для вычисления допустимых URL-путей на основе вашей конфигурации (например, `getRelativeLocaleUrl()`), [используйте `path` как значение `locale`](/ru/reference/modules/astro-i18n/#getlocalebypath).

## Определение языка браузера

Маршрутизация Astro i18n позволяет вам получить доступ к двум свойствам для определения языка браузера на страницах, отображаемых по запросу: `Astro.preferredLocale` и `Astro.preferredLocaleList`. Все страницы, включая статические страницы с предварительным отображением, имеют доступ к `Astro.currentLocale`.

Они объединяют заголовок `Accept-Language` браузера и ваши `locales` (строки или `codes`) для автоматического учёта предпочитаемых языков вашего посетителя.

- [`Astro.preferredLocale`](/ru/reference/api-reference/#astropreferredlocale): Astro может вычислить **предпочтительный языковой стандарт** для вашего посетителя, если предпочтительный языковой стандарт его браузера включен в ваш массив `locales`. Это значение не определено, если такого соответствия не существует.
- [`Astro.preferredLocale`](/ru/reference/api-reference/#preferredlocale): Astro может вычислить **предпочтительный языковой стандарт** для вашего посетителя, если предпочтительный языковой стандарт его браузера включен в ваш массив `locales`. Это значение не определено, если такого соответствия не существует.

- [`Astro.preferredLocaleList`](/ru/reference/api-reference/#astropreferredlocalelist): Массив всех локалей, которые запрашиваются браузером и поддерживаются вашим веб-сайтом. В результате выводится список всех языков, совместимых между вашим сайтом и посетителем. Значением является `[]`, если ни один из запрошенных браузером языков не найден в массиве `locales`. Если в браузере не указаны предпочтительные языки, то это значение будет [`i18n.locales`].
- [`Astro.preferredLocaleList`](/ru/reference/api-reference/#preferredlocalelist): Массив всех локалей, которые запрашиваются браузером и поддерживаются вашим веб-сайтом. В результате выводится список всех языков, совместимых между вашим сайтом и посетителем. Значением является `[]`, если ни один из запрошенных браузером языков не найден в массиве `locales`. Если в браузере не указаны предпочтительные языки, то это значение будет [`i18n.locales`].

- [`Astro.currentLocale`](/ru/reference/api-reference/#astrocurrentlocale): Локаль, рассчитанная на основе текущего URL-адреса с использованием синтаксиса, указанного в опции `locales`. Если URL-адрес не содержит префикс `/[locale]/`, то значением по умолчанию будет [`i18n.defaultLocale`](/ru/reference/configuration-reference/#i18ndefaultlocale).
- [`Astro.currentLocale`](/ru/reference/api-reference/#currentlocale): Локаль, рассчитанная на основе текущего URL-адреса с использованием синтаксиса, указанного в опции `locales`. Если URL-адрес не содержит префикс `/[locale]/`, то значением по умолчанию будет [`i18n.defaultLocale`](/ru/reference/configuration-reference/#i18ndefaultlocale).

Чтобы успешно соответствовать предпочтениям ваших посетителей, предоставляйте свои `codes`, используя тот же шаблон, [используемый браузером](https://developer.mozilla.org/ru/docs/Web/HTTP/Headers/Accept-Language#%D1%81%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%81).

Expand Down
8 changes: 4 additions & 4 deletions src/content/docs/ru/guides/middleware.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro';

1. Создайте `src/middleware.js|ts` (В качестве альтернативы можно создать `src/middleware/index.js|ts`).

2. Внутри этого файла экспортируйте функцию [`onRequest()`](/ru/reference/api-reference/#onrequest), которой можно передать объект [`context`](#объект-context) и функцию `next()`. Это не должен быть экспорт по умолчанию.
2. Внутри этого файла экспортируйте функцию [`onRequest()`](/ru/reference/modules/astro-middleware/#onrequest), которой можно передать объект [`context`](#объект-context) и функцию `next()`. Это не должен быть экспорт по умолчанию.

```js title="src/middleware.js"
export function onRequest ({ locals, request }, next) {
Expand All @@ -38,15 +38,15 @@ import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro';

### Объект `context`

Объект [`context`](/ru/reference/api-reference/#контекст-конечной-точки) содержит информацию, которая будет доступна другому промежуточному ПО, маршрутам API и маршрутам `.astro` в процессе рендеринга.
Объект [`context`](/ru/reference/api-reference/) содержит информацию, которая будет доступна другому промежуточному ПО, маршрутам API и маршрутам `.astro` в процессе рендеринга.

Это необязательный аргумент, передаваемый в `onRequest()`, который может содержать объект `locals`, а также любые дополнительные свойства, которые будут переданы во время рендеринга. Например, объект `context` может содержать куки, используемые при аутентификации.

### Хранение данных в `context.locals`

`context.locals` - это объект, которым можно манипулировать внутри промежуточного ПО.

Этот объект `locals` передается в процессе обработки запроса и доступен в качестве свойства для [`APIContext`](/ru/reference/api-reference/#contextlocals) и [`AstroGlobal`](/ru/reference/api-reference/#astrolocals). Это позволяет обмениваться данными между промежуточным ПО, маршрутами API и страницами `.astro`. Это полезно для хранения специфических данных запроса, таких как данные пользователя, на всех этапах рендеринга.
Этот объект `locals` передается в процессе обработки запроса и доступен в качестве свойства для [`APIContext`](/ru/reference/api-reference/#locals) и [`AstroGlobal`](/ru/reference/api-reference/#locals). Это позволяет обмениваться данными между промежуточным ПО, маршрутами API и страницами `.astro`. Это полезно для хранения специфических данных запроса, таких как данные пользователя, на всех этапах рендеринга.

:::tip[Свойства интеграции]
[Интеграции](/ru/guides/integrations-guide/) могут устанавливать свойства и предоставлять функциональность через объект `locals`. Если вы используете интеграцию, ознакомьтесь с ее документацией, чтобы убедиться, что вы не переопределяете ее свойства и не выполняете лишнюю работу.
Expand Down Expand Up @@ -154,7 +154,7 @@ declare namespace App {

## Цепочка промежуточного ПО

Несколько промежуточных программ могут быть объединены в определенном порядке с помощью [`sequence()`](/ru/reference/api-reference/#sequence):
Несколько промежуточных программ могут быть объединены в определенном порядке с помощью [`sequence()`](/ru/reference/modules/astro-middleware/#sequence):

```js title="src/middleware.js"
import { sequence } from "astro:middleware";
Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/ru/guides/routing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ const { lang, version } = Astro.params;

Параметры могут быть включены в отдельные части пути. Например, файл `src/pages/[lang]/[version]/info.astro` с тем же `getStaticPaths()`, что и выше, сгенерирует маршруты `/en/v1/info` и `/fr/v2/info`.

<ReadMore>Узнайте больше о [`getStaticPaths()`](/ru/reference/api-reference/#getstaticpaths).</ReadMore>
<ReadMore>Узнайте больше о [`getStaticPaths()`](/ru/reference/routing-reference/#getstaticpaths).</ReadMore>


<RecipeLinks slugs={["ru/recipes/i18n"]} />
Expand Down Expand Up @@ -129,7 +129,7 @@ const { path } = Astro.params;

#### Пример: Динамические страницы на нескольких уровнях

В следующем примере параметр rest (`[...slug]`) и функция [`props`](/ru/reference/api-reference/#передача-данных-с-помощью-props) в `getStaticPaths()` генерируют страницы для слагов разной глубины.
В следующем примере параметр rest (`[...slug]`) и функция [`props`](/ru/reference/routing-reference/#data-passing-with-props) в `getStaticPaths()` генерируют страницы для слагов разной глубины.


```astro title="src/pages/[...slug].astro"
Expand Down
Loading