Разбор слова корень суффикс: корень, приставка, суффикс, окончание и основа слова

Файл .gitignore — игнорирование файлов в Git

Git рассматривает каждый файл в вашей рабочей копии как файл одного из трех нижеуказанных типов.

  1. Отслеживаемый файл — файл, который был предварительно проиндексирован или зафиксирован в коммите.
  2. Неотслеживаемый файл — файл, который не был проиндексирован или зафиксирован в коммите.
  3. Игнорируемый файл — файл, явным образом помеченный для Git как файл, который необходимо игнорировать.

Игнорируемые файлы — это, как правило, артефакты сборки и файлы, генерируемые машиной из исходных файлов в вашем репозитории, либо файлы, которые по какой-либо иной причине не должны попадать в коммиты. Вот некоторые распространенные примеры таких файлов:

  • кэши зависимостей, например содержимое /node_modules или /packages;
  • скомпилированный код, например файлы .o, .pyc и .class ;
  • каталоги для выходных данных сборки, например /bin, /out
    или /target;
  • файлы, сгенерированные во время выполнения, например . log, .lock или .tmp;
  • скрытые системные файлы, например .DS_Store или Thumbs.db;
  • личные файлы конфигурации IDE, например .idea/workspace.xml.

Игнорируемые файлы отслеживаются в специальном файле .gitignore, который регистрируется в корневом каталоге репозитория. В Git нет специальной команды для указания игнорируемых файлов: вместо этого необходимо вручную отредактировать файл .gitignore, чтобы указать в нем новые файлы, которые должны быть проигнорированы. Файлы .gitignore содержат шаблоны, которые сопоставляются с именами файлов в репозитории для определения необходимости игнорировать эти файлы.

  • Игнорирование файлов в Git
    • Шаблоны игнорирования в Git
    • Общие файлы .gitignore в вашем репозитории
    • Персональные правила игнорирования в Git
    • Глобальные правила игнорирования в Git
    • Игнорирование ранее закоммиченного файла
    • Коммит игнорируемого файла
    • Скрытие изменений в игнорируем файле
    • Отладка файлов . gitignore

Шаблоны игнорирования в Git

Для сопоставления с именами файлов в .gitignore используются шаблоны подстановки. С помощью различных символов можно создавать собственные шаблоны.

ШаблонПримеры соответствияПояснение*
**/logs logs/debug.log
logs/monday/foo.bar
build/logs/debug.log
Добавьте в начало шаблона две звездочки, чтобы сопоставлять каталоги в любом месте репозитория.
**/logs/debug.log
logs/debug.log
build/logs/debug.log
но не
logs/build/debug.log
Две звездочки можно также использовать для сопоставления файлов на основе их имени и имени родительского каталога.
*.log debug.log
foo.log
. log
logs/debug.log
Одна звездочка — это подстановочный знак, который может соответствовать как нескольким символам, так и ни одному.
*.log
!important.log
debug.log
trace.log
но не
important.log
logs/important.log
Добавление восклицательного знака в начало шаблона отменяет действие шаблона. Если файл соответствует некоему шаблону, но при этом
также
соответствует отменяющему шаблону, указанному после, такой файл не будет игнорироваться.
*.log
!important/*.log
trace.*
debug.log
important/trace.log
но не
important/debug.log
Шаблоны, указанные после отменяющего шаблона, снова будут помечать файлы как игнорируемые, даже если ранее игнорирование этих файлов было отменено.
/debug.log debug.log
но не
logs/debug.log
Косая черта перед именем файла соответствует файлу в корневом каталоге репозитория.
debug.log debug.log
logs/debug.log
По умолчанию шаблоны соответствуют файлам, находящимся в любом каталоге
debug?.log debug0.log
debugg.log
но не
debug10.log
Знак вопроса соответствует строго одному символу.
debug[0-9].log debug0.log
debug1.log
но не
debug10.log
Квадратные скобки можно также использовать для указания соответствия одному символу из заданного диапазона.
debug[01].log debug0.log
debug1. log
но не
debug2.log
debug01.log
Квадратные скобки соответствуют одному символу из указанного набора.
debug[!01].log debug2.log
но не

debug0.log
debug1.log
debug01.log
Восклицательный знак можно использовать для указания соответствия любому символу, кроме символов из указанного набора.
debug[a-z].log debuga.log
debugb.log
но не
debug1.log
Диапазоны могут быть цифровыми или буквенными.
logs logs
logs/debug.log
logs/latest/foo.bar
build/logs
build/logs/debug.log
Без косой черты в конце этот шаблон будет соответствовать и файлам, и содержимому каталогов с таким именем. В примере соответствия слева игнорируются и каталоги, и файлы с именем logs
logs/ logs/debug.log
logs/latest/foo.bar

build/logs/foo.bar
build/logs/latest/debug.log
Косая черта в конце шаблона означает каталог. Все содержимое любого каталога репозитория, соответствующего этому имени (включая все его файлы и подкаталоги), будет игнорироваться
logs/
!logs/important.log
logs/debug.log
logs/important.log
Минуточку! Разве файл logs/important.log из примера слева не должен быть исключен нз списка игнорируемых?

Нет! Из-за странностей Git, связанных с производительностью, вы не можете отменить игнорирование файла, которое задано шаблоном соответствия каталогу

logs/**/debug.log logs/debug.log
logs/monday/debug. log
logs/monday/pm/debug.log
Две звездочки соответствуют множеству каталогов или ни одному.
logs/*day/debug.log logs/monday/debug.log
logs/tuesday/debug.log
but not
logs/latest/debug.log
Подстановочные символы можно использовать и в именах каталогов.
logs/debug.log logs/debug.log
но не
debug.log
build/logs/debug.log
Шаблоны, указывающие на файл в определенном каталоге, задаются относительно корневого каталога репозитория. (При желании можно добавить в начало косую черту, но она ни на что особо не повлияет.)

Две звездочки (**) означают, что ваш файл .gitignore находится в каталоге верхнего уровня вашего репозитория, как указано в соглашении. Если в репозитории несколько файлов .gitignore, просто мысленно поменяйте слова «корень репозитория» на «каталог, содержащий файл .

gitignore» (и подумайте об объединении этих файлов, чтобы упростить работу для своей команды)*.

Помимо указанных символов, можно использовать символ #, чтобы добавить в файл .gitignore комментарии:

# ignore all logs
*.log

Если у вас есть файлы или каталоги, в имени которых содержатся спецсимволы шаблонов, для экранирования этих спецсимволов в .gitignore можно использовать обратную косую черту (\):

# ignore the file literally named foo[01].txt
foo\[01\].txt

Общие файлы .gitignore в вашем репозитории

Обычно правила игнорирования Git задаются в файле .gitignore в корневом каталоге репозитория. Тем не менее вы можете определить несколько файлов .gitignore

в разных каталогах репозитория. Каждый шаблон из конкретного файла .gitignore проверяется относительно каталога, в котором содержится этот файл. Однако проще всего (и этот подход рекомендуется в качестве общего соглашения) определить один файл . gitignore в корневом каталоге. После регистрации файла .gitignore для него, как и для любого другого файла в репозитории, включается контроль версий, а после публикации с помощью команды push он становится доступен остальным участникам команды. В файл .gitignore, как правило, включаются только те шаблоны, которые будут полезны другим пользователям репозитория.

Персональные правила игнорирования в Git

В специальном файле, который находится в папке .git/info/exclude, можно определить персональные шаблоны игнорирования для конкретного репозитория. Этот файл не имеет контроля версий и не распространяется вместе с репозиторием, поэтому он хорошо подходит для указания шаблонов, которые будут полезны только вам. Например, если у вас есть пользовательские настройки для ведения журналов или специальные инструменты разработки, которые создают файлы в рабочем каталоге вашего репозитория, вы можете добавить их в

.git/info/exclude, чтобы они случайно не попали в коммит в вашем репозитории.

Глобальные правила игнорирования в Git

Кроме того, для всех репозиториев в локальной системе можно определить глобальные шаблоны игнорирования Git, настроив параметр конфигурации Git core.excludesFile . Этот файл нужно создать самостоятельно. Если вы не знаете, куда поместить глобальный файл .gitignore, расположите его в домашнем каталоге (потом его будет легче найти). После создания этого файла необходимо настроить его местоположение с помощью команды git config:

$ touch ~/.gitignore
$ git config --global core.excludesFile ~/.gitignore

Будьте внимательны при указании глобальных шаблонов игнорирования, поскольку для разных проектов актуальны различные типы файлов. Типичные кандидаты на глобальное игнорирование — это специальные файлы операционной системы (например, .DS_Store и thumbs.db) или временные файлы, создаваемые некоторыми инструментами разработки.

Игнорирование ранее закоммиченного файла

Чтобы игнорировать файл, для которого ранее был сделан коммит, необходимо удалить этот файл из репозитория, а затем добавить для него правило в . gitignore . Используйте команду git rm с параметром --cached, чтобы удалить этот файл из репозитория, но оставить его в рабочем каталоге как игнорируемый файл.

$ echo debug.log >> .gitignore
  
$ git rm --cached debug.log
rm 'debug.log'
  
$ git commit -m "Start ignoring debug.log"

Опустите опцию --cached, чтобы удалить файл как из репозитория, так и из локальной файловой системы.

Коммит игнорируемого файла

Можно принудительно сделать коммит игнорируемого файла в репозиторий с помощью команды git add с параметром -f (или --force):

$ cat .gitignore
*.log
  
$ git add -f debug.log
  
$ git commit -m "Force adding debug.log"

Этот способ хорош, если у вас задан общий шаблон (например, *.log), но вы хотите сделать коммит определенного файла. Однако еще лучше в этом случае задать исключение из общего правила:

$ echo !debug. log >> .gitignore
  
$ cat .gitignore
*.log
!debug.log
  
$ git add debug.log
  
$ git commit -m "Adding debug.log"

Этот подход более прозрачен и понятен, если вы работаете в команде.

Скрытие изменений в игнорируем файле

Команда git stash — это мощная функция системы Git, позволяющая временно отложить и отменить локальные изменения, а позже применить их повторно. По умолчанию команда git stash ожидаемо не обрабатывает игнорируемые файлы и создает отложенные изменения только для тех файлов, которые отслеживаются Git. Тем не менее вы можете вызвать команду git stash с параметром —all, чтобы создать отложенные изменения также для игнорируемых и неотслеживаемых файлов.

Отладка файлов .gitignore

Если шаблоны .gitignore сложны или разбиты на множество файлов .gitignore, бывает непросто отследить, почему игнорируется определенный файл. Используйте команду git check-ignore с параметром -v (или --verbose), чтобы определить, какой шаблон приводит к игнорированию конкретного файла:

$ git check-ignore -v debug. log
.gitignore:3:*.log  debug.log

Вывод показывает:

<file containing the pattern> : <line number of the pattern> : <pattern>    <file name>

При желании команде git check-ignore можно передать несколько имен файлов, причем сами имена могут даже не соответствовать файлам, существующим в вашем репозитории.

Корневой анализ — Словарный запас и стратегии обучения беглости

Корневой анализ

Что это такое и что говорят исследования?

Корневой анализ — это разбивка и выявление корней в неизвестном слове. Учащиеся могут связать ранее известные слова с новым неизвестным словом, основываясь на сходстве корня (и префикса/суффикса). Было показано, что «читатели-подростки могут использовать корневые слова и знания об аффиксах для анализа значения таких слов» (Pacheco, & Goodwin, 2013). Но как вы, как учитель, можете заставить своих юных учеников применять корневой анализ в классе?

Исследования показывают, что, «обучая учащихся средней школы конкретным значениям слов с помощью явных прямых указаний, наряду с такими методами, как анализ семантических признаков или метод ключевых слов, учителя поощряют учащихся к более глубокому пониманию слов» (Ebbers, & Denton, 2008). Это может быть бесценным инструментом для них на других занятиях, дома или на работе. 

Примеры анализа корня

Как отмечают Пачеко и Гудвин (2013), корень обычно содержит больше информации о значении, чем префикс или суффикс. Попросив учащихся использовать эти корни для создания новых слов, реальных или вымышленных, с префиксами и суффиксами, они могут лучше понять, что означает корень и как его можно использовать.

Пример таблицы корневого анализа можно увидеть ниже. Два очень распространенных корня могут происходить от латинских и греческих слов. Таблицу, подобную приведенной ниже, можно использовать, чтобы учащиеся искали значения корня и находили примеры слов, чтобы обнаружить связанную природу корня. Например, слово «spec, spect», означающее «смотреть», встречается в словах «осматривать» и «зритель». Два слова, которые включают в себя действие «смотреть».

Это можно расширить, если учащиеся составят новые предложения, используя произведения, содержащие корень, значение которого они только что определили.

Видео Примеры анализа корней

Это первое видео отлично помогает объяснить разницу между корнями и суффиксами. Некоторая полезная информация может быть собрана о том, как научить разбивать слова и находить корень. Он длинный, поэтому я бы посоветовал просмотреть его, чтобы получить собственное представление об идентификации корней и о том, как их использовать. Он не вдается в подробности о проведении корневого анализа, кроме записи фактических

http://education-portal.com/academy/lesson/science-vocabulary-concepts-study-skills-word-parts.html#lesson
Как использовать анализ корней, чтобы помочь разбить сложные научные слова. Что хорошо в этой ссылке на видео, так это то, что она содержит викторину и учебное пособие для студентов. Используемый язык находится на уровне старшей начальной и средней школы.

Интернет-ресурсы для анализа корней

https://academic.cuesta.edu/acasupp/as/506.HTM
Большой список общих корневых слов
http://www.literacyleader.com/sites/litlead.essdack .org/files/prefix%20suffix%20root.pdf
Корни слов разделены по классам
http://www.lethbridgecollege.net/elearningcafe/images/stories/pdf/structural_analysis.pdf
Большой список общих частей слов
http ://www.lethbridgecollege.net/elearningcafe/index.php/studyskills/vocabulary-development/structural-analysis-exercises
Упражнения с корнями
http://www.teachercreatedmaterials.com/curriculum_files/pdfs/newsevents/Teaching%20Vocabulary%20from%20Word%20Roots_An%20Instructional%20Routine%20for%20Elementary%20Grades.pdf
Предложение по изучению корней в начальной школе уровень

Ссылки

Ebbers, S.M., & Denton, C.A. (2008). Корневое пробуждение: инструкция по словарному запасу для учащихся старшего возраста, испытывающих трудности с чтением. Исследование и практика проблем с обучаемостью        (Wiley-Blackwell) , 23 (2), 90-102. doi:10.1111/j.1540-5826.2008.00267.x
Пачеко, М.Б., и Гудвин, А.П. (2013). Соединяем два и два: морфологические стратегии решения задач учащихся средней школы для неизвестных слов. Journal Of Adolescent & Adult Literacy , 56 (7), 541-553. doi:10.1002/JAAL.181

Маршрутизация: Интернационализация | Next.js

Примеры
  • Маршрутизация i18n

Next.js имеет встроенную поддержку интернационализированной (i18n) маршрутизации с v10.0.0 . Вы можете указать список локалей, локаль по умолчанию и локали для конкретного домена, и Next.js автоматически выполнит маршрутизацию.

Поддержка маршрутизации i18n в настоящее время предназначена для дополнения существующих решений библиотеки i18n, таких как react-intl , react-i18next , lingui , rosetta , next-intl , следующий-перевести , следующий -multilingual , typesafe-i18n , tolgee и другие за счет оптимизации маршрутов и анализа локалей.

Для начала добавьте конфигурацию i18n в файл next.config.js .

Локали — это идентификаторы локалей UTS, стандартизированный формат для определения локалей.

Обычно идентификатор локали состоит из языка, региона и алфавита, разделенных дефисом: язык-регион-сценарий . Регион и скрипт необязательны. Пример:

  • en-US — английский язык, используемый в США
  • нл-нл — Нидерландский язык, на котором говорят в Нидерландах
  • nl — нидерландский, регион не указан

Если локаль пользователя nl-BE и она не указана в вашей конфигурации, они будут перенаправлены на nl , если доступно, или на локаль по умолчанию в противном случае. Если вы не планируете поддерживать все регионы страны, рекомендуется включить региональные настройки страны, которые будут действовать как запасные.

 модуль.экспорт = {
  i18n: {
    // Это все локали, которые вы хотите поддерживать
    // ваше приложение
    локали: ['en-US', 'fr', 'nl-NL'],
    // Это локаль по умолчанию, которую вы хотите использовать при посещении
    // путь с префиксом, не зависящим от локали, например.  `/привет`
    локаль по умолчанию: 'en-US',
    // Это список доменов локалей и локалей по умолчанию, которые они
    // должны обрабатываться (требуются только при настройке доменной маршрутизации)
    // Примечание: субдомены должны быть включены в значение домена для сопоставления, например. "fr.example.com".
    домены: [
      {
        домен: 'example.com',
        локаль по умолчанию: 'en-US',
      },
      {
        домен: 'example.nl',
        язык по умолчанию: 'nl-NL',
      },
      {
        домен: 'example.fr',
        язык по умолчанию: 'fr',
        // для проверки также можно использовать необязательное поле http
        // локальные домены локально с http вместо https
        http: правда,
      },
    ],
  },
} 

Существует две стратегии обработки локали: маршрутизация подпути и маршрутизация домена.

Маршрутизация подпути

Маршрутизация подпути помещает языковой стандарт в путь URL.

 модуль.экспорт = {
  i18n: {
    локали: ['en-US', 'fr', 'nl-NL'],
    локаль по умолчанию: 'en-US',
  },
} 

При указанной выше конфигурации en-US , fr и nl-NL будут доступны для маршрутизации, а en-US является локалью по умолчанию. Если у вас pages/blog.js будут доступны следующие URL:

  • /blog
  • /фр/блог
  • /nl-nl/блог

Локаль по умолчанию не имеет префикса.

Маршрутизация домена

Используя маршрутизацию домена, вы можете настроить локали для обслуживания из разных доменов:

 module.exports = {
  i18n: {
    локали: ['en-US', 'fr', 'nl-NL', 'nl-BE'],
    локаль по умолчанию: 'en-US',
 
    домены: [
      {
        // Примечание: субдомены должны быть включены в значение домена для сопоставления
        // например www.example.com следует использовать, если это ожидаемое имя хоста.
        домен: 'example.com',
        локаль по умолчанию: 'en-US',
      },
      {
        домен: 'example.fr',
        язык по умолчанию: 'fr',
      },
      {
        домен: 'example.nl',
        язык по умолчанию: 'nl-NL',
        // указать другие локали, которые должны быть перенаправлены
        // в этот домен
        локали: ['nl-BE'],
      },
    ],
  },
} 

Например, если у вас страниц/blog. js , будут доступны следующие URL-адреса:

  • example.com/blog
  • www.example.com/blog
  • пример.fr/блог
  • пример.nl/блог
  • пример.nl/nl-BE/блог

Когда пользователь посещает корень приложения (обычно /), Next.js попытается автоматически определить, какой язык предпочитает пользователь, на основе Accept-Language заголовок и текущий домен.

Если обнаружена локаль, отличная от локали по умолчанию, пользователь будет перенаправлен на:

  • При использовании маршрутизации подпути: Путь с префиксом локали
  • При использовании доменной маршрутизации: Домен с этим языковым стандартом, указанный по умолчанию

При использовании доменной маршрутизации, если пользователь с заголовком Accept-Language fr;q=0.9 посещает example. com , они будут перенаправлены на example.fr , так как этот домен по умолчанию обрабатывает локаль fr .

При использовании Sub-path Routing пользователь будет перенаправлен на /fr .

Добавление префикса к локали по умолчанию

С помощью Next.js 12 и ПО промежуточного слоя мы можем добавить префикс к локали по умолчанию с помощью обходного пути.

Например, вот файл next.config.js с поддержкой нескольких языков. Обратите внимание, что локаль «по умолчанию» была добавлена ​​намеренно.

 модуль.экспорт = {
  i18n: {
    локали: ['по умолчанию', 'en', 'de', 'fr'],
    defaultLocale: 'по умолчанию',
    localeDetection: ложь,
  },
  трейлингслэш: правда,
} 

Затем мы можем использовать промежуточное ПО для добавления пользовательских правил маршрутизации:

 import { NextRequest, NextResponse } from 'next/server'
 
const PUBLIC_FILE = /\. (.*)$/
 
экспортировать промежуточное ПО асинхронной функции (требование: NextRequest) {
  если (
    req.nextUrl.pathname.startsWith('/_next') ||
    req.nextUrl.pathname.includes('/api/') ||
    PUBLIC_FILE.test(req.nextUrl.pathname)
  ) {
    возвращаться
  }
 
  если (req.nextUrl.locale === 'по умолчанию') {
    const locale = req.cookies.get('NEXT_LOCALE')?.value || 'en'
 
    вернуть NextResponse.redirect(
      новый URL(`/${locale}${req.nextUrl.pathname}${req.nextUrl.search}`, req.url)
    )
  }
} 

Это ПО промежуточного слоя пропускает добавление префикса по умолчанию к маршрутам API и общедоступным файлам, таким как шрифты или изображения. Если делается запрос к локали по умолчанию, мы перенаправляем на наш префикс /en .

Отключение автоматического определения локали

Автоматическое определение локали можно отключить с помощью:

 module.exports = {
  i18n: {
    localeDetection: ложь,
  },
} 

Когда для localeDetection задано значение false Next. js больше не будет автоматически перенаправлять на основе предпочтительного языкового стандарта пользователя и будет предоставлять только информацию о языковом стандарте, обнаруженную либо из домена на основе языкового стандарта, либо из пути к языковому стандарту, как описано выше.

Вы можете получить доступ к информации о локали через маршрутизатор Next.js. Например, при использовании хука useRouter() доступны следующие свойства:

  • локаль содержит текущую активную локаль.
  • локалей содержит все настроенные локали.
  • defaultLocale содержит настроенную локаль по умолчанию.

При предварительном рендеринге страниц с getStaticProps или getServerSideProps информация о локали предоставляется в контексте, предоставляемом функции.

При использовании getStaticPaths сконфигурированные локали предоставляются в параметре контекста функции под локалями и сконфигурированным defaultLocale под defaultLocale .

Вы можете использовать next/link или next/router для перехода между локалями.

Для next/link может быть предоставлена ​​поддержка локали для перехода к другой локали, отличной от текущей активной. Если нет языковой стандарт предоставляется, текущий активный языковой стандарт используется во время клиентских переходов. Например:

 импортировать ссылку из 'далее/ссылка'
 
функция экспорта по умолчанию IndexPage (реквизит) {
  возвращаться (
    <Ссылка href="/another" locale="fr">
      В / фр / другой
    
  )
} 

При непосредственном использовании методов next/router можно указать локаль , которую следует использовать с помощью параметров перехода. Например:

 import {useRouter} из 'следующий/маршрутизатор'
 
функция экспорта по умолчанию IndexPage (реквизит) {
  постоянный маршрутизатор = useRouter()
 
  возвращаться (
    <дел
      onClick={() => {
        router. push('/другой', '/другой', {локаль: 'fr'})
      }}
    >
      к / фр / другому
    
) }

Обратите внимание, что для обработки переключения только локали при сохранении всей информации о маршрутизации, такой как значения запроса динамического маршрута или значения скрытого запроса href, вы можете указать параметр href как объект:

 import { useRouter } from 'next /маршрутизатор'
постоянный маршрутизатор = useRouter()
const { путь, asPath, запрос } = маршрутизатор
// изменить только локаль и сохранить всю остальную информацию о маршруте, включая запрос href
router.push({pathname, query}, asPath, {locale: nextLocale}) 

См. здесь дополнительную информацию о структуре объекта для router.push .

Если у вас есть href , который уже включает языковой стандарт, вы можете отказаться от автоматической обработки префикса языкового стандарта:

 импортировать ссылку из 'следующей/ссылки'
 
функция экспорта по умолчанию IndexPage (реквизит) {
  возвращаться (
    
      В / фр / другой
    
  )
} 

Next. js поддерживает переопределение заголовка accept-language с помощью NEXT_LOCALE=местный файл cookie . Этот файл cookie можно установить с помощью переключателя языка, а затем, когда пользователь вернется на сайт, он будет использовать языковой стандарт, указанный в файле cookie, при перенаправлении с / на правильное местоположение языкового стандарта.

Например, если пользователь предпочитает локаль fr в своем заголовке accept-language, но файл cookie NEXT_LOCALE=en устанавливает локаль en при посещении / , пользователь будет перенаправлен на / .0080 en местоположение локали до тех пор, пока файл cookie не будет удален или срок его действия не истечет.

Так как Next.js знает, какой язык посещает пользователь, он автоматически добавит атрибут lang к тегу .

Next.js не знает о вариантах страницы, поэтому вы можете добавить метатеги hreflang , используя next/head . Вы можете узнать больше о hreflang в документации Google Webmasters.

Обратите внимание, что интернационализированная маршрутизация не интегрируется с 9Вывод 0080: «экспорт» , так как он не использует уровень маршрутизации Next.js. Гибридные приложения Next.js, которые не используют вывод : «экспорт» , полностью поддерживаются.

Dynamic Routes и

getStaticProps Pages

Для страниц, использующих getStaticProps с Dynamic Routes, все варианты локали страницы, которые требуется предварительно отобразить, должны быть возвращены из getStaticPaths . Наряду с параметрами объект вернулся за paths , вы также можете вернуть поле локали , указывающее, какую локаль вы хотите отображать. Например:

 export const getStaticPaths = ({ locales }) => {
  возвращаться {
    пути: [
      // если `locale` не указан, будет сгенерирован только defaultLocale
      { params: { slug: 'post-1' }, языковой стандарт: 'en-US' },
      { params: { slug: 'post-1' }, языковой стандарт: 'fr' },
    ],
    запасной вариант: правда,
  }
} 

Для автоматически статически оптимизированных и нединамических getStaticProps страницы, версия страницы будет создана для каждой локали . Это важно учитывать, поскольку это может увеличить время сборки в зависимости от того, сколько локалей настроено внутри getStaticProps .

Например, если у вас есть 50 локалей, настроенных с 10 нединамическими страницами с использованием getStaticProps , это означает, что getStaticProps будет вызываться 500 раз. Во время каждой сборки будет создано 50 версий из 10 страниц.

Чтобы сократить время сборки динамических страниц с помощью getStaticProps , используйте резервный режим . Это позволяет вам возвращать только самые популярные пути и локали из getStaticPaths для пререндеринга во время сборки. Затем Next.js создаст оставшиеся страницы во время выполнения по мере их запроса.

Автоматически статически оптимизированные страницы

Для автоматически статически оптимизированных страниц будет создана версия страницы для каждого языкового стандарта.

Нединамические страницы getStaticProps

Для нединамических страниц getStaticProps версия создается для каждой локали, как указано выше.

admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *