Π Π°Π·Π±ΠΎΡ€ слова ΠΊΠΎΡ€Π΅Π½ΡŒ суффикс: ΠΊΠΎΡ€Π΅Π½ΡŒ, приставка, суффикс, ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ ΠΈ основа слова

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π€Π°ΠΉΠ» .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 Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *