From 46647d434eeb66f2bbccf1102400f357340f023a Mon Sep 17 00:00:00 2001
From: Fritto Misto <43555658+fritto-misto@users.noreply.github.com>
Date: Mon, 22 Jul 2024 06:45:59 +0200
Subject: [PATCH 1/3] Completed Italian Translation (#369)
- translated everything inside src\localization\it
- updated script and README
---
README.md | 2 +-
scripts/html-lang-fixer.js | 2 +-
src/localization/index.ts | 1 +
src/localization/it/cheatsheet.json | 70 ++++++++
src/localization/it/general.json | 39 +++++
src/localization/it/index.js | 17 ++
src/localization/it/landing.json | 26 +++
src/localization/it/learn.json | 163 +++++++++++++++++++
src/localization/it/lessons.json | 7 +
src/localization/it/lessons/regexForSeo.json | 49 ++++++
10 files changed, 374 insertions(+), 2 deletions(-)
create mode 100644 src/localization/it/cheatsheet.json
create mode 100644 src/localization/it/general.json
create mode 100644 src/localization/it/index.js
create mode 100644 src/localization/it/landing.json
create mode 100644 src/localization/it/learn.json
create mode 100644 src/localization/it/lessons.json
create mode 100644 src/localization/it/lessons/regexForSeo.json
diff --git a/README.md b/README.md
index a3989975..3c505491 100644
--- a/README.md
+++ b/README.md
@@ -42,12 +42,12 @@ the way:
- 🇨🇿 Czech
- 🇬🇪 Georgian
- 🇮🇷 Persian
+- 🇮🇹 Italian
### Requested Translations
- 🇦🇪 Arabic [(Issue)](https://github.com/aykutkardas/regexlearn.com/issues/163)
- 🇧🇩 Bengali [(Issue)](https://github.com/aykutkardas/regexlearn.com/issues/304)
-- 🇮🇹 Italian [(Issue)](https://github.com/aykutkardas/regexlearn.com/issues/323)
- 🇻🇳 Vietnamese [(Issue)](https://github.com/aykutkardas/regexlearn.com/issues/329)
- 🇮🇩 Indonesian [(Issue)](https://github.com/aykutkardas/regexlearn.com/issues/335)
diff --git a/scripts/html-lang-fixer.js b/scripts/html-lang-fixer.js
index 064d3359..24cd744b 100644
--- a/scripts/html-lang-fixer.js
+++ b/scripts/html-lang-fixer.js
@@ -15,7 +15,7 @@ function htmlLangFixer(path) {
const stats = fs.lstatSync(currentPath);
if (stats.isFile() && el.endsWith('.html')) {
- const result = currentPath.match(/^\.\/out\/(en|es|de|tr|uk|fr|ru|pl|ko|zh-cn|pt-br|cs-cz|ka|fa)\/?/);
+ const result = currentPath.match(/^\.\/out\/(en|es|de|tr|uk|fr|ru|pl|ko|zh-cn|pt-br|cs-cz|ka|fa|it)\/?/);
if (result) {
replaceLangTag(currentPath, result[1]);
diff --git a/src/localization/index.ts b/src/localization/index.ts
index 96ea6a3e..93bf5ec6 100644
--- a/src/localization/index.ts
+++ b/src/localization/index.ts
@@ -13,6 +13,7 @@ export const langNames = {
'pt-br': '🇧🇷',
'cs-cz': '🇨🇿',
'fa': '🇮🇷',
+ it: '🇮🇹',
};
export const rtlSupported = ['fa'];
diff --git a/src/localization/it/cheatsheet.json b/src/localization/it/cheatsheet.json
new file mode 100644
index 00000000..e10888aa
--- /dev/null
+++ b/src/localization/it/cheatsheet.json
@@ -0,0 +1,70 @@
+{
+ "cheatsheet.section.title": "Regex Cheatsheet",
+ "cheatsheet.section.description": "Esplora tutti i modelli e simboli Regex con il cheatsheet Regex.",
+
+ "cheatsheet.anchors": "Ancore",
+ "cheatsheet.caret.title": "Inizio di stringa o linea",
+ "cheatsheet.caret.description": "Corrisponde all'inizio della stringa o linea.",
+ "cheatsheet.dollar.title": "Fine di stringa o linea",
+ "cheatsheet.dollar.description": "Corrisponde alla fine della stringa o linea.",
+ "cheatsheet.wordBoundary.title": "Confine di parola",
+ "cheatsheet.wordBoundary.description": "Corrisponde al carattere o posizione alla fine di una parola.",
+ "cheatsheet.notWordBoundary.title": "Non confine di parola",
+ "cheatsheet.notWordBoundary.description": "Corrisponde a un carattere o posizione che non è alla fine di una parola.",
+
+ "cheatsheet.characterClasses": "Classi di caratteri",
+ "cheatsheet.characterSet.title": "Set di caratteri",
+ "cheatsheet.characterSet.description": "Corrisponde a qualsiasi carattere nel set.",
+ "cheatsheet.negatedCharacterSet.title": "Set di caratteri negato",
+ "cheatsheet.negatedCharacterSet.description": "Corrisponde a qualsiasi carattere non nel set.",
+ "cheatsheet.range.title": "Intervallo",
+ "cheatsheet.range.description": "Corrisponde a tutti i caratteri tra due caratteri, inclusi.",
+ "cheatsheet.dot.title": "Punto",
+ "cheatsheet.dot.description": "Corrisponde a qualsiasi carattere eccetto le interruzioni di linea.",
+ "cheatsheet.word.title": "Parola",
+ "cheatsheet.word.description": "Corrisponde a qualsiasi carattere alfanumerico, incluso il trattino basso.",
+ "cheatsheet.notWord.title": "Non parola",
+ "cheatsheet.notWord.description": "Corrisponde a qualsiasi carattere non alfanumerico.",
+ "cheatsheet.digit.title": "Cifra",
+ "cheatsheet.digit.description": "Corrisponde a qualsiasi carattere numerico.",
+ "cheatsheet.notDigit.title": "Non cifra",
+ "cheatsheet.notDigit.description": "Corrisponde a qualsiasi carattere non numerico.",
+ "cheatsheet.space.title": "Spazio bianco",
+ "cheatsheet.space.description": "Corrisponde a qualsiasi carattere di spazio bianco.",
+ "cheatsheet.notSpace.title": "Non spazio bianco",
+ "cheatsheet.notSpace.description": "Corrisponde a qualsiasi carattere che non sia uno spazio bianco.",
+
+ "cheatsheet.flags": "Flag",
+ "cheatsheet.caseInsensitiveFlag.title": "Ignora maiuscole/minuscole",
+ "cheatsheet.caseInsensitiveFlag.description": "Rende l'espressione insensibile alle maiuscole/minuscole.",
+ "cheatsheet.globalFlag.title": "Globale",
+ "cheatsheet.globalFlag.description": "Assicura che l'espressione non si fermi alla prima corrispondenza.",
+ "cheatsheet.multilineFlag.title": "Multilinea",
+ "cheatsheet.multilineFlag.description": "Se non abilitato, l'inizio e la fine della linea corrispondono all'inizio e alla fine dell'intera stringa. Non funziona per ogni riga singolarmente.",
+
+ "cheatsheet.groupAndReferences": "Gruppo e Riferimenti",
+ "cheatsheet.group.title": "Gruppo",
+ "cheatsheet.group.description": "Raggruppa un'espressione.",
+ "cheatsheet.reference.title": "Riferimento",
+ "cheatsheet.reference.description": "Fa riferimento a un'espressione raggruppata.",
+ "cheatsheet.nonCapturingGroup.title": "Gruppo non catturante",
+ "cheatsheet.nonCapturingGroup.description": "Crea un raggruppamento che non può essere referenziato.",
+
+ "cheatsheet.lookarounds": "Lookarounds",
+ "cheatsheet.positiveLookahead.title": "Lookahead positivo",
+ "cheatsheet.negativeLookahead.title": "Lookahead negativo",
+ "cheatsheet.positiveLookbehind.title": "Lookbehind positivo",
+ "cheatsheet.negativeLookbehind.title": "Lookbehind negativo",
+
+ "cheatsheet.quantifiersAndAlternation": "Quantificatori e Alternanza",
+ "cheatsheet.plus.title": "Più",
+ "cheatsheet.plus.description": "L'espressione corrisponde a uno o più.",
+ "cheatsheet.asterisk.title": "Asterisco",
+ "cheatsheet.asterisk.description": "L'espressione corrisponde a zero o più.",
+ "cheatsheet.quantifier.title": "Quantificatore",
+ "cheatsheet.quantifier.description": "L'espressione corrisponde entro intervalli specificati.",
+ "cheatsheet.optional.title": "Opzionale",
+ "cheatsheet.optional.description": "Rende l'espressione opzionale.",
+ "cheatsheet.alternation.title": "Alternanza",
+ "cheatsheet.alternation.description": "Funziona come un 'o'. Attende che una delle espressioni riservate corrisponda."
+}
\ No newline at end of file
diff --git a/src/localization/it/general.json b/src/localization/it/general.json
new file mode 100644
index 00000000..86a0e2c5
--- /dev/null
+++ b/src/localization/it/general.json
@@ -0,0 +1,39 @@
+{
+ "general.prev": "Precedente",
+ "general.next": "Successivo",
+ "general.result": "Risultato",
+ "general.regex": "Regex",
+ "general.text": "Testo",
+ "general.watch": "Guarda",
+ "general.start": "Inizia",
+ "general.continue": "Continua",
+ "general.completedStep": "Passaggio completato!",
+ "general.hintQuestion": "Mostra risposta",
+ "general.reportStep": "Segnala un problema",
+ "general.startLearning": "Inizia a imparare",
+ "general.comingSoon": "Prossimamente",
+ "general.becomeSponsor": "Diventa uno sponsor",
+ "general.learn": "Impara",
+ "general.playground": "Area di prova",
+ "general.cheatsheet": "Cheatsheet",
+ "general.ourSponsors": "I nostri sponsor",
+ "general.share": "Condividi",
+ "general.shareLinkCopied": "Link condiviso copiato!",
+ "general.somethingWentWrong": "Qualcosa è andato storto!",
+
+ "notFound.intro": "La pagina che stai cercando non esiste.",
+ "notFound.button": "Torna alla home",
+
+ "page.landing.title": "Regex Learn - Passo dopo passo, da zero ad avanzato.",
+ "page.learn.title": "Regex Learn - Corso interattivo di Regex",
+ "page.cheatsheet.title": "Regex Learn - Cheatsheet Regex",
+ "page.playground.title": "Regex Learn - Area di prova",
+ "page.404.title": "Regex Learn - Non trovato",
+
+ "page.landing.description": "Impara Regex in modo interattivo, pratica al tuo livello, testa e condividi il tuo Regex.",
+ "page.learn.description": "Impara Regex passo dopo passo. Completa il tutorial interattivo che renderà il tuo apprendimento più facile e veloce.",
+ "page.cheatsheet.description": "A volte hai solo bisogno di ricordare Regex. Prova il cheatsheet che ti renderà più facile capire e ricordare meglio.",
+ "page.playground.description": "Puoi facilmente costruire e testare il tuo modello regex online tramite l'Area di prova.",
+
+ "learn.safari.unsupportWarning": "Il Regex in questo passaggio non è supportato da alcuni browser. Se hai difficoltà a superare questo passaggio, clicca qui."
+}
\ No newline at end of file
diff --git a/src/localization/it/index.js b/src/localization/it/index.js
new file mode 100644
index 00000000..a30a668d
--- /dev/null
+++ b/src/localization/it/index.js
@@ -0,0 +1,17 @@
+import cheatsheet from './cheatsheet.json';
+import general from './general.json';
+import landing from './landing.json';
+import learn from './learn.json';
+import lessons from './lessons.json';
+import regexForSeo from './lessons/regexForSeo.json';
+
+const messages = {
+ ...cheatsheet,
+ ...general,
+ ...landing,
+ ...learn,
+ ...lessons,
+ ...regexForSeo,
+};
+
+export default messages;
diff --git a/src/localization/it/landing.json b/src/localization/it/landing.json
new file mode 100644
index 00000000..cae75a52
--- /dev/null
+++ b/src/localization/it/landing.json
@@ -0,0 +1,26 @@
+{
+ "landing.title": "Impara Regex passo dopo passo, da zero ad avanzato.",
+ "landing.description": "Imparare Regex è più facile di quanto pensi. Puoi usare questo strumento per `imparare`, `praticare`, `testare` e `condividere` Regex facilmente.",
+ "landing.imageAltText": "Illustrazione di un uomo rilassato con le gambe sul tavolo.",
+
+ "section.learn.title": "Impara",
+ "section.learn.content": "`Regular Expressions`, abbreviate come Regex o Regexp, sono una stringa di caratteri creata secondo le regole della sintassi Regex. Puoi gestire facilmente i tuoi dati con Regex, che utilizza comandi come trovare, corrispondere e modificare. Regex può essere utilizzato in linguaggi di programmazione come Python, SQL, JavaScript, R, Google Analytics, Google Data Studio e durante l'intero processo di codifica. Impara regex online con esempi e tutorial su RegexLearn ora.",
+ "section.learn.imageAltText": "Illustrazione di una montagna con una bandiera sulla cima.",
+
+ "section.cheatsheet.button": "Rivedi ora",
+ "section.cheatsheet.title": "Cheatsheet",
+ "section.cheatsheet.content": "Con `RegexLearn Cheatsheet`, puoi vedere tutti gli usi di cui hai bisogno in una volta sola e controllarli direttamente da una pagina. Esplora tutti i modelli e simboli Regex con il cheatsheet Regex.",
+ "section.cheatsheet.imageAltText": "Illustrazione di un uomo che guarda pagine attraverso un binocolo.",
+
+ "section.playground.title": "Area di prova",
+ "section.playground.content": "Se vuoi generare un Regex, puoi facilmente costruire e testare il tuo modello Regex tramite l'Area di prova. Come tester Regex, puoi convalidare e condividere il tuo Regex con altri per un lavoro collaborativo.",
+ "section.playground.imageAltText": "Illustrazione di un gatto che sta per far cadere un bicchiere pieno.",
+
+ "section.practice.title": "Pratica",
+ "section.practice.content": "Se hai completato la parte di apprendimento, è tempo di PRATICARE! Nella sezione pratica, puoi testare le tue conoscenze Regex e praticare con tutorial Regex basati sul tuo livello. Presto disponibile.",
+ "section.practice.imageAltText": "Illustrazione di una donna che prende appunti da un libro.",
+
+ "section.opensource.title": "Open Source",
+ "section.opensource.content": "Regex Learn è un progetto open-source che accoglie contributi della comunità ed è gratuito da usare. Lavorare su questo progetto ti permette di affinare le tue competenze, studiare e collaborare. Puoi contribuire e supportare qui.",
+ "section.opensource.imageAltText": "Illustrazione di una donna, un uomo e un gatto che mettono insieme pezzi di un puzzle."
+}
\ No newline at end of file
diff --git a/src/localization/it/learn.json b/src/localization/it/learn.json
new file mode 100644
index 00000000..5af56cf1
--- /dev/null
+++ b/src/localization/it/learn.json
@@ -0,0 +1,163 @@
+{
+ "examples.starter.title": "Pratica",
+ "examples.starter.description": "Ora è il momento di fare un po' di pratica per consolidare ciò che abbiamo imparato.",
+
+ "examples.finish.title": "Pratica completata!",
+ "examples.finish.description": " ",
+
+ "steps.starter.title": "Introduzione",
+ "steps.starter.description": "Regex è l'abbreviazione di `Regular Expression`. Aiuta a corrispondere, trovare o gestire il testo. Inizia scrivendo `OK` nel campo Regex per procedere al primo passo e accedere alla descrizione più dettagliata.",
+
+ "steps.whatIsRegex.title": "Cosa sono le `Regular Expressions` (Regex)?",
+ "steps.whatIsRegex.description": "Le espressioni regolari sono una stringa di caratteri che esprimono un modello di ricerca. Spesso abbreviate come `Regex` o `Regexp`. Sono particolarmente usate per trovare o sostituire parole nei testi. Inoltre, possiamo testare se un testo rispetta le regole che impostiamo.\\n\\n Per esempio, supponiamo di avere un elenco di nomi di file. E vogliamo trovare solo i file con estensione `pdf`. Scrivendo un'espressione `^\\w+\\.pdf$` funzionerà. Il significato delle definizioni in questa espressione diventerà più chiaro man mano che i passi progrediscono.",
+
+ "steps.basicMatchers.title": "Corrispondenze di base",
+ "steps.basicMatchers.description": "Il carattere o la parola che vogliamo trovare viene scritto direttamente. È simile a un normale processo di ricerca. Per esempio, per trovare la parola `curious` nel testo, scrivi la stessa.",
+
+ "steps.dotCharacter.title": "Punto `.`: Qualsiasi carattere",
+ "steps.dotCharacter.description": "Il punto `.` permette di selezionare qualsiasi carattere, inclusi i caratteri speciali e gli spazi. Scrivi un punto `.` nel campo Regex per procedere.",
+
+ "steps.characterSet.title": "Set di caratteri `[abc]`",
+ "steps.characterSet.description": "Se uno dei caratteri in una parola può essere vari, lo scriviamo tra parentesi quadre `[]` con tutti i caratteri alternativi. Per esempio, per scrivere un'espressione che può trovare tutte le parole nel testo, scrivi i caratteri `a`, `e`, `i`, `o`, `u` adiacenti tra parentesi quadre `[]`.",
+
+ "steps.negatedCharacterSet.title": "Set di caratteri negato `[^abc]`",
+ "steps.negatedCharacterSet.description": "Per trovare tutte le parole nel testo sottostante, eccetto `ber` e `bor`, scrivi `e` e `o` uno accanto all'altro dopo il carattere caret `^` all'interno di parentesi quadre `[]`.",
+
+ "steps.range.title": "Intervallo di lettere`[a-z]`",
+ "steps.range.description": "Per trovare le lettere nell'intervallo specificato, la lettera iniziale e la lettera finale sono scritte tra parentesi quadre `[]` con un trattino in mezzo `-`. È sensibile alle maiuscole. Scrivi l'espressione che selezionerà tutte le lettere minuscole tra `e` e `o`, inclusi loro stessi.",
+
+ "steps.rangeNumber.title": "Intervallo di numeri`[0-9]`",
+ "steps.rangeNumber.description": "Per trovare i numeri nell'intervallo specificato, il numero iniziale e il numero finale sono scritti tra parentesi quadre `[]` con un trattino `-` in mezzo. Scrivi un'espressione che selezionerà tutti i numeri tra `3` e `6`, inclusi loro stessi.",
+
+ "examples.basicMatchers.title": "Pratica: Corrispondenza di base",
+ "examples.basicMatchers.description": "Scrivi l'espressione che selezionerà le parole `of` nel testo.",
+
+ "examples.dotCharacter.title": "Pratica: Qualsiasi carattere",
+ "examples.dotCharacter.description": "Scrivi l'espressione per selezionare lettere individuali, numeri, spazi e caratteri speciali nel testo. L'espressione che scrivi deve corrispondere a qualsiasi carattere.",
+
+ "examples.characterSet.title": "Pratica: Set di caratteri",
+ "examples.characterSet.description": "Scrivi la frase che corrisponde a ogni parola nel testo. Gli unici caratteri che cambiano sono le iniziali delle parole.",
+
+ "examples.negatedCharacterSet.title": "Pratica: Set di caratteri negato",
+ "examples.negatedCharacterSet.description": "Scrivi l'espressione che corrisponderà a qualsiasi cosa tranne le parole `beor` e `beur` nel testo. Fai questo usando il set di caratteri negato.",
+
+ "examples.range.title": "Pratica: Intervallo di lettere",
+ "examples.range.description": "Scrivi l'espressione che selezionerà le lettere da `g` a `k` nel testo.\\nLe lettere `g` e `k` dovrebbero essere incluse in questo intervallo.",
+
+ "examples.rangeNumber.title": "Pratica: Intervallo di numeri",
+ "examples.rangeNumber.description": "Scrivi un'espressione per selezionare i numeri da `2` a `7` nel testo.\\nI numeri `2` e `7` dovrebbero essere inclusi in questo intervallo.",
+
+ "steps.repetitions.title": "Ripetizioni",
+ "steps.repetitions.description": "Alcuni caratteri speciali sono usati per specificare quante volte un carattere verrà ripetuto nel testo. Questi caratteri speciali sono il più `+`, l'asterisco `*` e il punto interrogativo `?`.",
+
+ "steps.asterisk.title": "Asterisco `*`",
+ "steps.asterisk.description": "Mettiamo un asterisco `*` dopo un carattere per indicare che il carattere potrebbe non corrispondere affatto o può corrispondere molte volte. Per esempio, indica che la lettera `e` non dovrebbe mai apparire nel testo, o può apparire una o più volte di seguito.",
+
+ "steps.plusCharacter.title": "Segno più `+`",
+ "steps.plusCharacter.description": "Per indicare che un carattere può apparire una o più volte, mettiamo un segno più `+` dopo un carattere. Per esempio, indica che la lettera `e` può apparire una o più volte nel testo.",
+
+ "steps.questionMark.title": "Punto interrogativo `?`",
+ "steps.questionMark.description": "Per indicare che un carattere è opzionale, mettiamo un punto interrogativo `?` dopo un carattere. Per esempio, indica che la lettera `u` seguente è opzionale.",
+
+ "steps.quantifier.title": "Parentesi graffe - 1",
+ "steps.quantifier.description": "Per esprimere un certo numero di occorrenze di un carattere, alla fine scriviamo le parentesi graffe `{n}` con il numero di volte che vogliamo che si verifichi. Per esempio, indica che la lettera `e` seguente può apparire solo `2` volte di seguito.",
+
+ "steps.quantifierMin.title": "Parentesi graffe - 2",
+ "steps.quantifierMin.description": "Per esprimere almeno un certo numero di occorrenze di un carattere, subito dopo il carattere scriviamo almeno quante volte vogliamo che si verifichi di seguito seguito da una virgola `,` e racchiuso tra parentesi graffe `{n, }`. Per esempio, indica che la lettera `e` seguente può apparire almeno `3` volte di seguito.",
+
+ "steps.quantifierRange.title": "Parentesi graffe - 3",
+ "steps.quantifierRange.description": "Per esprimere l'occorrenza di un carattere in un certo intervallo di numeri, scriviamo parentesi graffe `{x,y}` per l'intervallo inclusivo. Per esempio, indica che la lettera `e` seguente può apparire solo tra `1` e `3` volte di seguito.",
+
+ "examples.asterisk.title": "Pratica: Asterisco `*`",
+ "examples.asterisk.description": "Usa l'asterisco `*` per scrivere l'espressione che selezionerà ogni parola, adatta all'assenza della lettera `e` nel testo e alla presenza di una o più.",
+
+ "examples.plusCharacter.title": "Pratica: Segno più `+`",
+ "examples.plusCharacter.description": "Scrivi l'espressione usando il segno più `+` per selezionare le parole in cui la lettera `e` appare una o più volte nel testo.",
+
+ "examples.questionMark.title": "Pratica: Punto interrogativo `?`",
+ "examples.questionMark.description": "Scrivi l'espressione che indica che la lettera `n` è opzionale nel testo, usando il punto interrogativo `?`. In questo modo, sia le parole `a` che `an` possono essere selezionate.",
+
+ "examples.quantifier.title": "Pratica: Parentesi graffe - 1",
+ "examples.quantifier.description": "Scrivi l'espressione usando le parentesi graffe `{}` che troverà testi contenenti `4` numeri di seguito. Ricorda che l'intervallo `[0-9]` corrisponderà a una singola cifra.",
+
+ "examples.quantifierMin.title": "Pratica: Parentesi graffe - 2",
+ "examples.quantifierMin.description": "Scrivi l'espressione usando le parentesi graffe `{}` che troverà testi contenenti almeno `2` numeri di seguito.",
+
+ "examples.quantifierRange.title": "Pratica: Parentesi graffe - 3",
+ "examples.quantifierRange.description": "Scrivi l'espressione usando le parentesi graffe `{}` che troverà testi contenenti almeno `1` e al massimo `4` numeri di seguito.",
+
+ "steps.grouping.title": "Parentesi `( )`: Raggruppamento",
+ "steps.grouping.description": "Possiamo raggruppare un'espressione e usare questi gruppi per fare riferimento o imporre alcune regole. Per raggruppare un'espressione, la racchiudiamo tra parentesi `()`. Per ora, raggruppa solo `haa` qui sotto.",
+
+ "steps.groupReference.title": "Riferimento a un gruppo",
+ "steps.groupReference.description": "Le parole `ha` e `haa` sono raggruppate qui sotto. Il primo gruppo viene utilizzato scrivendo `\\1` per evitare di riscrivere. Qui `1` denota l'ordine del raggruppamento. Scrivi `\\2` alla fine dell'espressione per fare riferimento al secondo gruppo.",
+
+ "steps.nonCapturingGrouping.title": "Parentesi `(?: )`: Raggruppamento non catturante",
+ "steps.nonCapturingGrouping.description": "Puoi raggruppare un'espressione e assicurarti che non venga catturata dai riferimenti. Per esempio, qui sotto ci sono due gruppi. Tuttavia, il primo riferimento di gruppo che denotiamo con `\\1` in realtà indica il secondo gruppo, poiché il primo è un gruppo non catturante.",
+
+ "steps.pipeCharacter.title": "Carattere Pipe `|`",
+ "steps.pipeCharacter.description": "Permette di specificare che un'espressione può essere in diverse espressioni. Così, tutte le possibili affermazioni sono scritte separate dal segno pipe `|`. Questo differisce dai set di caratteri `[abc]`, i set di caratteri operano a livello di carattere. Le alternative sono a livello di espressione. Per esempio, l'espressione seguente selezionerebbe sia `cat` che `rat`. Aggiungi un altro segno pipe `|` alla fine dell'espressione e scrivi `dog` affinché tutte le parole siano selezionate.",
+
+ "steps.escapeCharacter.title": "Carattere di escape `\\`",
+ "steps.escapeCharacter.description": "Ci sono caratteri speciali che usiamo quando scriviamo regex. `{ } [ ] / \\ + * . $^ | ?` Prima di poter selezionare questi caratteri stessi, dobbiamo usare un carattere di escape `\\`. Per esempio, per selezionare i caratteri punto `.` e asterisco `*` nel testo, aggiungiamo un carattere di escape `\\` prima di essi.",
+
+ "steps.caret.title": "Segno di caret `^`:\\nSelezione per inizio di linea",
+ "steps.caret.description": "Usavamo `[0-9]` per trovare i numeri. Per trovare solo i numeri all'inizio di una linea, precediamo questa espressione con il segno `^`.",
+
+ "steps.dollar.title": "Segno del dollaro `$`:\\nSelezione per fine di linea",
+ "steps.dollar.description": "Usiamo il segno `$` dopo il valore `html` per trovare i testi `html` solo alla fine della linea.",
+
+ "steps.wordCharacter.title": "Carattere di parola `\\w`: Lettera, numero e trattino basso",
+ "steps.wordCharacter.description": "L'espressione `\\w` viene utilizzata per trovare lettere, numeri e caratteri di sottolineatura. Usiamo l'espressione `\\w` per trovare caratteri di parola nel testo.",
+
+ "steps.withoutWordCharacter.title": "Tranne carattere di parola `\\W`",
+ "steps.withoutWordCharacter.description": "L'espressione `\\W` viene utilizzata per trovare caratteri diversi da lettere, numeri e trattini bassi.",
+
+ "steps.numberCharacter.title": "Carattere numero `\\d`",
+ "steps.numberCharacter.description": "`\\d` viene utilizzato per trovare solo caratteri numerici.",
+
+ "steps.withoutNumberCharacter.title": "Tranne carattere numero `\\D`",
+ "steps.withoutNumberCharacter.description": "`\\D` viene utilizzato per trovare caratteri non numerici.",
+
+ "steps.spaceCharacter.title": "Carattere di spazio `\\s`",
+ "steps.spaceCharacter.description": "`\\s` viene utilizzato per trovare solo caratteri di spazio.",
+
+ "steps.withoutSpaceCharacter.title": "Tranne carattere di spazio `\\S`",
+ "steps.withoutSpaceCharacter.description": "`\\S` viene utilizzato per trovare caratteri non di spazio.",
+
+ "steps.lookarounds.title": "Lookarounds",
+ "steps.lookarounds.description": "Se vogliamo che la frase che stiamo scrivendo venga prima o dopo un'altra frase, dobbiamo fare un \"lookaround\". Passa al passo successivo per imparare come fare un \"lookaround\".",
+
+ "steps.positiveLookahead.title": "Lookahead positivo: `(?=)`",
+ "steps.positiveLookahead.description": "Per esempio, vogliamo selezionare il valore dell'ora nel testo. Quindi, per selezionare solo i valori numerici che hanno `PM` dopo di essi, dobbiamo scrivere l'espressione di look-ahead positivo `(?=)` dopo la nostra espressione. Includi `PM` dopo il segno `=` all'interno delle parentesi.",
+
+ "steps.negativeLookahead.title": "Lookahead negativo: `(?!)`",
+ "steps.negativeLookahead.description": "Per esempio, vogliamo selezionare numeri diversi dal valore dell'ora nel testo. Quindi, dobbiamo scrivere l'espressione di look-ahead negativo `(?!)` dopo la nostra espressione per selezionare solo i valori numerici che non hanno `PM` dopo di essi. Includi `PM` dopo il segno `!` all'interno delle parentesi.",
+
+ "steps.positiveLookbehind.title": "Lookbehind positivo: `(?<=)`",
+ "steps.positiveLookbehind.description": "Per esempio, vogliamo selezionare il valore del prezzo nel testo. Quindi, per selezionare solo i valori numerici preceduti da `$`, dobbiamo scrivere l'espressione di lookbehind positivo `(?<=)` prima della nostra espressione. Aggiungi `\\$` dopo il segno `=` all'interno delle parentesi.",
+
+ "steps.negativeLookbehind.title": "Lookbehind negativo: `(?
Date: Mon, 22 Jul 2024 07:49:16 +0300
Subject: [PATCH 2/3] hide: launch badge
---
src/components/Footer.tsx | 2 --
src/components/LearnFooter.tsx | 2 --
2 files changed, 4 deletions(-)
diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx
index ec9b487e..3909b373 100644
--- a/src/components/Footer.tsx
+++ b/src/components/Footer.tsx
@@ -3,7 +3,6 @@ import { FormattedMessage } from 'react-intl';
import Social from 'src/components/Social';
import packageInfo from 'package.json';
-import PeerlistLaunch from './PeerlistLaunch';
const Footer = () => (
);
diff --git a/src/components/LearnFooter.tsx b/src/components/LearnFooter.tsx
index c0506837..9372b162 100644
--- a/src/components/LearnFooter.tsx
+++ b/src/components/LearnFooter.tsx
@@ -9,7 +9,6 @@ import Social from 'src/components/Social';
import shortcuts from 'src/shortcuts';
import { InteractiveAreaContext } from 'src/context/InteractiveAreaContext';
import { useLanguageDirection } from 'src/utils/useLanguageDirection';
-import PeerlistLaunch from './PeerlistLaunch';
const LearnFooter = () => {
const { lessonData, step, nextStep, prevStep, success, error } =
@@ -69,7 +68,6 @@ const LearnFooter = () => {
)}
-
);
};
From 6c0e6379a8edbe60b5a3f9e74292e74032e6c015 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aykut=20Karda=C5=9F?=
Date: Mon, 22 Jul 2024 07:49:28 +0300
Subject: [PATCH 3/3] 2.30.0
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 8b63edf1..41010215 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "regexlearn",
- "version": "2.29.0",
+ "version": "2.30.0",
"author": {
"name": "Aykut Kardaş",
"email": "aykutkrds@gmail.com"