Skip to content

Commit da3328e

Browse files
authored
Merge branch 'main' into main
2 parents 3e6e8ea + 81b262b commit da3328e

File tree

4 files changed

+36
-7
lines changed

4 files changed

+36
-7
lines changed

components/playgroundEditor/LiveCodes.tsx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import type { Config, Playground } from "livecodes";
33
import LiveCodesPlayground from "livecodes/react";
44
import { luaTestRunner, type Language } from "lib/playground/livecodes";
55
import { useDarkTheme } from "hooks/darkTheme";
6+
import { useRouter } from "next/router";
67

78
export default function LiveCodes({
89
language,
@@ -15,6 +16,14 @@ export default function LiveCodes({
1516
}) {
1617
const [playground, setPlayground] = useState<Playground | undefined>();
1718
const [darkTheme] = useDarkTheme();
19+
const { locale } = useRouter();
20+
21+
const getLanguageFromLocale = (locale_: string | undefined) =>
22+
!locale_
23+
? "en"
24+
: locale_ === "zh_Hans"
25+
? "zh-CN"
26+
: (locale_.split("_")[0] as Config["appLanguage"]);
1827

1928
const onReady = (sdk: Playground) => {
2029
setPlayground(sdk);
@@ -31,6 +40,7 @@ export default function LiveCodes({
3140
}, [playground, darkTheme]);
3241

3342
const baseConfig: Partial<Config> = {
43+
appLanguage: getLanguageFromLocale(locale),
3444
autoupdate: true,
3545
languages: [language === "jupyter" ? "python-wasm" : language],
3646
script: {
@@ -42,6 +52,7 @@ export default function LiveCodes({
4252
active: "console",
4353
status: "full",
4454
},
55+
themeColor: "hsl(205, 17%, 50%)", // the original theme color is "#3a4852" which is "hsl(205, 17%, 27%)"
4556
};
4657

4758
const getJSTSConfig = (
@@ -223,7 +234,7 @@ ${test.replace(pattern, "\n")}`.trimStart();
223234

224235
return (
225236
<LiveCodesPlayground
226-
appUrl="https://v34.livecodes.io/"
237+
appUrl="https://v39.livecodes.io/"
227238
loading="eager"
228239
config={config}
229240
style={{ borderRadius: "0", resize: "none" }}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
"highlight.js": "^11.5.1",
3636
"iframe-resizer-react": "^1.1.0",
3737
"katex": "^0.13.24",
38-
"livecodes": "0.6.0",
38+
"livecodes": "0.7.2",
3939
"marked": "^4.0.17",
4040
"next": "^12.1.0",
4141
"next-i18next": "^8.10.0",

public/locales/fa/common.json

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,5 +62,23 @@
6262
"donateButton": "کمک مالی",
6363
"internalServerError": "خطای سرور داخلی",
6464
"codeplayground": "زمین‌بازی کد",
65-
"addTranslation": "این توضیح را ترجمه کنید"
65+
"addTranslation": "این توضیح را ترجمه کنید",
66+
"algorithmExplanation": "یک الگوریتم مجموعه‌ای از قواعد است که یک یا چند ورودی را دریافت می‌کند، سپس محاسبات و دستکاری‌های داخلی انجام می‌دهد و یک یا چند خروجی را برمی‌گرداند. به عبارت دیگر، الگوریتم‌ها زندگی را آسان می‌کنند. از دستکاری داده‌های پیچیده و هش‌ها تا حساب ساده، الگوریتم‌ها یک مجموعه مراحل برای تولید نتیجه‌ای مفید دنبال می‌کنند. یک مثال از الگوریتم می‌تواند یک تابع ساده باشد که دو مقدار ورودی دریافت می‌کند، آن‌ها را جمع می‌کند و حاصل جمع را برمی‌گرداند.",
67+
"aboutUs": "ما گروهی از توسعه‌دهندگان هستیم که به یکدیگر در ساختن چیزهای جدید کمک می‌کنیم، چه نوشتن برنامه‌های رمزنگاری پیچیده، چه رمزهای ساده. هدف ما این است که با همکاری هم، الگوریتم‌های زیبا، مفید و جالب را با استفاده از کد مستند و مدل‌سازی کنیم. ما یک اجتماع متن‌باز هستیم - هرکسی می‌تواند مشارکت کند. ما کارهای یکدیگر را بررسی می‌کنیم، ارتباط برقرار می‌کنیم و با همکاری به حل مشکلات می‌پردازیم. ما تلاش می‌کنیم تا خوش‌آمدگو، محترم باشیم و مطمئن شویم که کد ما از آخرین راهنمایی‌های برنامه‌نویسی پیروی می‌کند.",
68+
"contribute": "آیا به مشارکت علاقه‌مندید؟ راه‌های زیادی برای مشارکت وجود دارد، مانند ترجمه، تصحیح اشتباهات (املا) و بهبود کد؛ اگر تازه شروع کرده‌اید، به قسمت issueها با برچسب good first issue مراجعه کنید.",
69+
"addExplanationInfo": "این الگوریتم هنوز توضیحی ندارد. توضیحات در مخزن [Algorithms-Explanations] قرار دارند. اگر می‌خواهید توضیحی اضافه کنید، این مخزن را انشعاب(fork) کرده و توضیح را به صورت پرونده مارک‌داون ([example]) اضافه کنید. پس از اتمام، می‌توانید یک pull request باز کنید تا توضیحات خود را ادغام کنید.",
70+
"editPageHelp": "اگر مشکلی دارید، می‌توانید به سرور [Discord] ما بروید و درخواست کمک کنید.",
71+
"addImplementationMissing": "در اینجا پیوندهایی به مخزن‌های که هنوز پیاده‌سازی‌های آن‌ها را ندارند آمده است:",
72+
"algorithmMetaDescription": "{algorithm} پیاده‌سازی شده در {implementations}",
73+
"algorithmMetaDescriptionExplained": "{algorithm} توضیح داده شده و پیاده‌سازی شده در {implementations}",
74+
"languageMetaDescription": "الگوریتم‌ها پیاده‌سازی شده در {language}",
75+
"analyticsFooter": "تجزیه و تحلیل‌ها",
76+
"analyticsTitle": "تجزیه و تحلیل‌های این وبگاه",
77+
"contributorsOneCommit": "۱ کامیت",
78+
"contributorsCommits": "{numberCommits} کامیت",
79+
"indexMetaDescription": "متن‌باز برای یادگیری ساختار داده‌ها و الگوریتم‌ها و پیاده‌سازی آن‌ها در هر زبان برنامه‌نویسی",
80+
"donateText": "می‌توانید از طریق [Liberapay] از کار متن‌باز ما حمایت کنید. با اهدا کردن به ما، نقش ویژه‌ای در سرور Discord ما خواهید داشت و به زنده ماندن این پروژه کمک می‌کنید. از حمایت شما سپاسگزاریم، چه اهدا کنید و چه نه.",
81+
"addImplementationInfo": "برای اضافه کردن یک پیاده‌سازی در زبان دیگر، لطفا به مخزن مربوط به آن زبان مراجعه کنید و دستورالعمل‌های داده شده در <code>README.md</code> و <code>CONTRIBUTING.md</code> را دنبال کنید.",
82+
"addTranslationInfo": "توضیح این الگوریتم هنوز به زبان شما ترجمه نشده است. برای ترجمه این توضیحات، لطفا به مخزن [Algorithms-Explanation] مراجعه کنید. این مخزن را انشعاب(Fork) کنید و ترجمه خود را به عنوان یک پرونده مارک‌داون جدید بر اساس انگلیسی [<code>{ogFilename}</code>] در پوشه مناسب برای مکان محلی خود (<code>{locale}</code>) اضافه کنید. هنگامی که پرونده را ترجمه کردید، می‌توانید یک pull request جدید برای ادغام ترجمه خود ایجاد کنید.",
83+
"analyticsText": "ما از [Plausible Analytics] در این وبگاه استفاده می‌کنیم تا داده‌های استفاده ناشناس جمع‌آوری کنیم و ببینیم چند نفر از وبگاه ما استفاده می‌کنند و کدام ویژگی‌ها بیشترین استفاده را دارند. وبگاه به هیچ وجه بازدیدکنندگان فردی را پیگیری نمی‌کند. همه داده‌ها فقط به صورت تجمعی است. هیچ داده شخصی جمع‌آوری نمی‌شود و هیچ کوکی استفاده نمی‌شود. شما می‌توانید همه داده‌های جمع‌آوری شده را اینجا مشاهده کنید:"
6684
}

yarn.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2996,10 +2996,10 @@ levn@~0.3.0:
29962996
prelude-ls "~1.1.2"
29972997
type-check "~0.3.2"
29982998

2999-
livecodes@0.6.0:
3000-
version "0.6.0"
3001-
resolved "https://registry.yarnpkg.com/livecodes/-/livecodes-0.6.0.tgz#3ad0d4361f6615cea62b8d40acfa33a892d1542f"
3002-
integrity sha512-nUqS6yy3NAKhVw+wt6yLKiqKSNbpbaJddI+KgtpMeQuIclBZbvhXK/enF8w/vQfxODPf5tmXkq765DIDxwTLTA==
2999+
livecodes@0.7.2:
3000+
version "0.7.2"
3001+
resolved "https://registry.yarnpkg.com/livecodes/-/livecodes-0.7.2.tgz#117bea6a171e677a49958dc52d21e96ca6aa8bea"
3002+
integrity sha512-9u8s+/mOztX6Ll1ru1Tpv2V8Ctb5TRprxXxyhl4U71nUPQIgaGt5ZiwTdRg4HofPiEKsdC1drTnAi9gNL3XRhA==
30033003

30043004
locate-path@^2.0.0:
30053005
version "2.0.0"

0 commit comments

Comments
 (0)