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"