Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,13 @@ the way:
- 🇧🇷 Brazilian Portuguese
- 🇨🇿 Czech
- 🇬🇪 Georgian
- 🇮🇷 Persian

### 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)
- 🇮🇷 Persian [(Issue)](https://github.com/aykutkardas/regexlearn.com/issues/325)
- 🇻🇳 Vietnamese [(Issue)](https://github.com/aykutkardas/regexlearn.com/issues/329)
- 🇮🇩 Indonesian [(Issue)](https://github.com/aykutkardas/regexlearn.com/issues/335)

Expand Down
2 changes: 1 addition & 1 deletion scripts/html-lang-fixer.js
Original file line number Diff line number Diff line change
Expand Up @@ -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)\/?/);
const result = currentPath.match(/^\.\/out\/(en|es|de|tr|uk|fr|ru|pl|ko|zh-cn|pt-br|cs-cz|ka|fa)\/?/);

if (result) {
replaceLangTag(currentPath, result[1]);
Expand Down
2 changes: 1 addition & 1 deletion src/localization/en/general.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,5 @@
"page.cheatsheet.description": "Sometimes you just need to remember Regex. Try the cheatsheet that will make it easier for you to understand and remember better.",
"page.playground.description": "You can easily build and test your regex pattern online via Playground.",

"learn.safari.unsupportWarning": "Regex in this step are not supported by the some browsers. If you have trouble getting past this step, you can click here."
"learn.safari.unsupportWarning": "Regex in this step is not supported by some browsers. If you have trouble getting past this step, click here."
}
6 changes: 3 additions & 3 deletions src/localization/en/learn.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,13 @@
"steps.questionMark.description": "To indicate that a character is optional, we put a `?` question mark after a character. For example, indicate that the following letter `u` is optional.",

"steps.quantifier.title": "Curly Braces - 1",
"steps.quantifier.description": "To express a certain number of occurrences of a character, at the end we write curly braces `{n}` along with how many times we want it to occur. For example, indicate that the following letter `e` can occur only `2` times.",
"steps.quantifier.description": "To express a certain number of occurrences of a character, at the end we write curly braces `{n}` along with how many times we want it to occur. For example, indicate that the following letter `e` can occur only `2` times in a row.",

"steps.quantifierMin.title": "Curly Braces - 2",
"steps.quantifierMin.description": "To express at least a certain number of occurrences of a character, immediately after the character we write at least how many times we want it to occur followed by a comma `,` and wrapped inside curly braces `{n, }`. For example, indicate that the following letter `e` can occur at least `3` times.",
"steps.quantifierMin.description": "To express at least a certain number of occurrences of a character, immediately after the character we write at least how many times we want it to occur in a row followed by a comma `,` and wrapped inside curly braces `{n, }`. For example, indicate that the following letter `e` can occur at least `3` times in a row.",

"steps.quantifierRange.title": "Curly Braces - 3",
"steps.quantifierRange.description": "To express the occurrence of a character in a certain number range, we write curly braces `{x,y}` with the interval we want to go to the end. For example, indicate that the following letter `e` can only occur between `1` and `3`.",
"steps.quantifierRange.description": "To express the occurrence of a character in a certain number range, we write curly braces `{x,y}` for the inclusive interval. For example, indicate that the following letter `e` can only occur between `1` and `3` times in a row.",

"examples.asterisk.title": "Practice: Asterisk `*`",
"examples.asterisk.description": "Use the asterisk `*` to write the expression that will select each word, suitable for the absence of the letter `e` in the text and the presence of one or more.",
Expand Down
70 changes: 70 additions & 0 deletions src/localization/fa/cheatsheet.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
{
"cheatsheet.section.title": "برگه تقلب ریجکس",
"cheatsheet.section.description": "تمام الگوها و نمادهای ریجکس را با کدتقلب ریجکس کاوش کنید.",

"cheatsheet.anchors": "مهارها (لنگرها)",
"cheatsheet.caret.title": "شروع رشته یا خط",
"cheatsheet.caret.description": "با ابتدای ریشته یا خط تطابق دارد.",
"cheatsheet.dollar.title": "انتهای رشته یا خط",
"cheatsheet.dollar.description": "با انتهای رشته یا خط تطابق دارد.",
"cheatsheet.wordBoundary.title": "مرز کلمه",
"cheatsheet.wordBoundary.description": "اشاره به آخرین کاراکتر کلمات می کند که مرزی بین کلمه ی فعلی و کلمه ی بعدی می باشد.",
"cheatsheet.notWordBoundary.title": "مرکز کلمه نباشه",
"cheatsheet.notWordBoundary.description": "با کارکتر یا کلمه ایی مطابقت دارد که در انتهای یک کلمه نیست.",

"cheatsheet.characterClasses": "عملگرهای کارکتر",
"cheatsheet.characterSet.title": "لیست کارکتر",
"cheatsheet.characterSet.description": "با هر کارکتری در لیست مطابقت دارد.",
"cheatsheet.negatedCharacterSet.title": "لیست کارکتر منفی",
"cheatsheet.negatedCharacterSet.description": "با هر کارکتری که در لیست نیست، مطابقت دارد.",
"cheatsheet.range.title": "محدوده",
"cheatsheet.range.description": "همه کارکترهای بین دوکارکتر (از جمله خودشان) را پوشش میدهد.",
"cheatsheet.dot.title": "نقطه",
"cheatsheet.dot.description": "با هر کارکتری جز خط جدید تطابق دارد.",
"cheatsheet.word.title": "کلمه",
"cheatsheet.word.description": "با تمامی کارکترهای انگلیسی ، اعداد و زیرخط مطابقت دارد.",
"cheatsheet.notWord.title": "غیر کلمه",
"cheatsheet.notWord.description": "با کارکترهای غیر از حروف انگلیسی ، اعداد و آندلاین تطابق دارد.",
"cheatsheet.digit.title": "اعداد",
"cheatsheet.digit.description": "با اعداد 0 تا 9 مطابقت دارد.",
"cheatsheet.notDigit.title": "غیر اعداد",
"cheatsheet.notDigit.description": "با هرکارکتری جز اعداد مطابقت دارد.",
"cheatsheet.space.title": "فضای سفید",
"cheatsheet.space.description": "با هر کارکتر فضای خالی مطابقت دارد.",
"cheatsheet.notSpace.title": "غیر فضای سفید",
"cheatsheet.notSpace.description": "با هرکارکتر غیر از فضای سفید مطابقت دارد.",

"cheatsheet.flags": "پرچم ها",
"cheatsheet.caseInsensitiveFlag.title": "حساسیت به حروف",
"cheatsheet.caseInsensitiveFlag.description": "الگو را غیر حساس به حروف بزرگ و کوچک میکند.",
"cheatsheet.globalFlag.title": "جهانی",
"cheatsheet.globalFlag.description": "الگو را در اولین پیدا کردن متوقف نمیکند.",
"cheatsheet.multilineFlag.title": "چند خطی",
"cheatsheet.multilineFlag.description": "اگر فعال نباشد، شروع و پایان خط، برابر با ابتدا و انتهای جمله است و برای هر خط به صورت جداگانه کار نمیکند.",

"cheatsheet.groupAndReferences": "گروه و مرجع",
"cheatsheet.group.title": "گروه بندی",
"cheatsheet.group.description": "یک الگو را گروه بندی میکند.",
"cheatsheet.reference.title": "مرجع",
"cheatsheet.reference.description": "شما را به گروه قبلی ارجاع میدهد.",
"cheatsheet.nonCapturingGroup.title": "گروه بندی بدون ارجاع",
"cheatsheet.nonCapturingGroup.description": "گروه بندی ایجاد میکند که قابل ارجاع نیست.",

"cheatsheet.lookarounds": "جستجو کردن",
"cheatsheet.positiveLookahead.title": "بررسی رو به جلو مثبت",
"cheatsheet.negativeLookahead.title": "بررسی رو به جلو منفی",
"cheatsheet.positiveLookbehind.title": "بررسی رو به عقب مثبت",
"cheatsheet.negativeLookbehind.title": "بررسی رو به عقب منفی",

"cheatsheet.quantifiersAndAlternation": "تعداد و جایزگینی",
"cheatsheet.plus.title": "بعلاوه",
"cheatsheet.plus.description": "مشخص کردن تعداد 1 یا بیشتر.",
"cheatsheet.asterisk.title": "ستاره",
"cheatsheet.asterisk.description": "مشخص کردن تعداد 0 یا بیشتر.",
"cheatsheet.quantifier.title": "کمیت",
"cheatsheet.quantifier.description": "مشخص کردن محدوده ایی برای تعداد.",
"cheatsheet.optional.title": "اختیاری",
"cheatsheet.optional.description": "وجود داشتن یا نداشتن عبارت را اختیاری میکند.",
"cheatsheet.alternation.title": "جایگزینی",
"cheatsheet.alternation.description": "انتظار میرود با حداقل یکی از عبارات مطابقت داشته باشد."
}
39 changes: 39 additions & 0 deletions src/localization/fa/general.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"general.prev": "قبلی",
"general.next": "بعدی",
"general.result": "نتیجه",
"general.regex": "regex",
"general.text": "متن",
"general.watch": "تماشا",
"general.start": "شروع",
"general.continue": "ادامه",
"general.completedStep": "مرحله تکمیل شد!",
"general.hintQuestion": "نمایش پاسخ",
"general.reportStep": "گزارش مشکل",
"general.startLearning": "شروع یادگیری",
"general.comingSoon": "به زودی",
"general.becomeSponsor": "اسپانسر شوید",
"general.learn": "آموزش",
"general.playground": "زمین تمرین",
"general.cheatsheet": "برگه تقلب",
"general.ourSponsors": "حامیان ما",
"general.share": "اشتراک گذاری",
"general.shareLinkCopied": "لینک اشتراک کپی شد!",
"general.somethingWentWrong": "مشکلی به وجود اومد!",

"notFound.intro": "صفحه ایی که دنبال آن هستید وجود ندارد.",
"notFound.button": "بازگشت به خانه",

"page.landing.title": "آموزش ریجکس - قدم به قدم ، از صفر تا صد",
"page.learn.title": "آموزش ریجکس - دوره تعاملی ریجکس",
"page.cheatsheet.title": "آموزش ریجکس - برگه تقلب",
"page.playground.title": "آموزش ریجکس - زمین تمرین",
"page.404.title": "آموزش ریجکس - پیدا نشد",

"page.landing.description": "ریجکس را به صورت تعاملی یاد بگیرید، به صورت مداوم تمرین کنید و به اشتراک بگذارید.",
"page.learn.description": "ریجکس را گام به گام یاد بگیرید. آموزش ما را تکمیل کنید تا یادگیری شما به انتها برسد.",
"page.cheatsheet.description": "بعضی وقت ها نیاز به یادآوری ریجکس در ذهن خود دارد. از برگه تقلب برای یادآوری استفاده کنید.",
"page.playground.description": "شما به راحتی میتوانید الگوی ریجکس خود را به صورت آنلاین در زمین تمرین بسازید و آزمایش کنید.",

"learn.safari.unsupportWarning": "ریجکس در این مرحله توسط برخی از مرورگرها پشتیبانی نمی شود. اگر برای عبور از این مرحله مشکل دارید، اینجا را کلیک کنید"
}
17 changes: 17 additions & 0 deletions src/localization/fa/index.js
Original file line number Diff line number Diff line change
@@ -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;
26 changes: 26 additions & 0 deletions src/localization/fa/landing.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"landing.title": "یادگیری ریجکس به صورت گام به گام ، از صفر تا صد.",
"landing.description": "یادگیری ریجکس از چیزی که فکر میکنید ، ساده تر است. میتوانید از این وب سایت برای `یادگیری`، `تمرین`، `تست` و `اشتراک گذاری` استفاده کنید.",
"landing.imageAltText": "تصویر مردی که پاهایش را روی میز گذاشته است.",

"section.learn.title": "آموزش",
"section.learn.content": "کلمه Regular Expressions که به اختصار Regex یا Regexp نامیده می شود، رشته ای از کاراکترها هستند که در چارچوب قوانین نحوی Regex ایجاد شده اند. شما به راحتی می توانید داده های خود را با Regex مدیریت کنید که از دستوراتی مانند یافتن، تطبیق و ویرایش استفاده می کند. Regex را می توان در زبان های برنامه نویسی مانند Python، SQL، JavaScript، R، Google Analytics، Google Data Studio و در طول فرآیند کدنویسی استفاده کرد. هم اکنون regex را با مثال ها و آموزش های RegexLearn به صورت آنلاین بیاموزید.",
"section.learn.imageAltText": "تصویر کوه با پرچمی بر قله آن.",

"section.cheatsheet.button": "همین الان بررسی کنید",
"section.cheatsheet.title": "برگه تقلب",
"section.cheatsheet.content": "با برگه تقلب ریجکس میتونید همه آنچه نیاز دارید را به طور همزمان بررسی کنید. تمام الگوها و نمادها در برگه تقلب وجود دارند.",
"section.cheatsheet.imageAltText": "تصویر مردی که صفحات را با دوربین دوچشمی مشاهده میکند.",

"section.playground.title": "زمین تمرین",
"section.playground.content": "اگر میخواهید یک ریجکس بسازید و آن را آزمایش کنید، میتوانید از طریق زمین بازی این کار را انجام دهید و با دیگران به اشتراک بگذارید.",
"section.playground.imageAltText": "تصویر گربه ایی در حال انداختن لیوان پر.",

"section.practice.title": "تمرین",
"section.practice.content": "اگر بخش یادگیری را تکمیل کرده اید، زمان تمرین کردن رسیده! در بخش تمرین میتوانید دانش خود را ارتقا دهید. به زودی در دسترس قرار خواهد گرفت.",
"section.practice.imageAltText": "تصویر زنی که از یک کتاب یادداشت میکند.",

"section.opensource.title": "منبع باز",
"section.opensource.content": "این وب سایت یک پروژه منبع باز است که از مشارکت های داخل جامعه استقبال میکند و همچنین استفاده از آن رایگان است. کار بر روی این پروژه به شما امکان میدهد مهارت های خود را تقویت کنید. شما میتوانید در زیر مشارکت و حمایت کنید.",
"section.opensource.imageAltText": "تصویری از یک زن، یک مرد و یک گربه که قطعات پازل را کنار هم میچینند."
}
Loading