Skip to content

Commit 0b75d19

Browse files
committed
feat: translate between any language
1 parent bda56d5 commit 0b75d19

File tree

1 file changed

+25
-10
lines changed

1 file changed

+25
-10
lines changed

src/pages/index.js

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ const languages = [
4646
i18nName: "اردو",
4747
direction: "rtl",
4848
fontFamily: "'Kawkab Mono'",
49+
toEnglishDict: "'languages/ur/ur_native.lang.yaml'",
4950
style: {
5051
direction: "rtl"
5152
}
@@ -57,6 +58,8 @@ const languages = [
5758
code2: "hi",
5859
name: "Hindi",
5960
i18nName: "Hindi",
61+
fontFamily: "'Hack', 'Courier New', monospaced",
62+
toEnglishDict: "'languages/hi/hi_native.lang.yaml'",
6063
},
6164
{
6265
id: "EN",
@@ -65,7 +68,7 @@ const languages = [
6568
code2: "en",
6669
name: "English",
6770
i18nName: "English",
68-
fontFamily: "'Hack', 'Courier New', monospaced"
71+
fontFamily: "'Hack', 'Courier New', monospaced",
6972
}
7073
]
7174

@@ -400,6 +403,18 @@ export default function Home() {
400403
}}
401404
/>
402405
</div>
406+
407+
<button style={{
408+
opacity: 0.45
409+
}} onClick={()=>{
410+
setTargetLanguage(sourceLanguage);
411+
setSourceLanguage(targetLanguage);
412+
var element = document.getElementById("python-code-editor2");
413+
setCode(element.innerHTML.replaceAll("<br>", "\n").replaceAll("&nbsp;", " "))
414+
}}>
415+
&#8660;
416+
</button>
417+
403418
<div
404419
style={{
405420
flex: 1,
@@ -556,7 +571,7 @@ packages = [
556571
overflowY: "auto",
557572
maxHeight: "300px",
558573
padding: "12px 18px 0px",
559-
}} key={code}>
574+
}} key={code+"_"+sourceLanguage.id+"_"+targetLanguage.id}>
560575
{`
561576
from urdupython import (run_module, SCRIPTDIR);
562577
from js import document;
@@ -565,34 +580,34 @@ import sys;
565580
566581
original_code = """${code.toString()}""";
567582
with open('file', 'w') as sys.stdout:
568-
english_code = run_module(
583+
english_code = ${sourceLanguage.id === "EN" ? `original_code;` : `run_module(
569584
mode="lex",
570585
code=original_code,
571586
args={
572587
'translate': True,
573-
'dictionary': os.path.join(SCRIPTDIR, 'languages/ur/ur_native.lang.yaml'),
588+
'dictionary': os.path.join(SCRIPTDIR, ${sourceLanguage.toEnglishDict}),
574589
'reverse': False,
575590
'keep': False,
576591
'keep_only': False,
577592
'return': True,
578593
}
579-
);
594+
);`}
580595
# display(english_code);
581-
print = display
596+
print = display;
582597
exec(english_code);
583598
584-
translated_code = run_module(
599+
translated_code = ${targetLanguage.id === "EN" ? `english_code;` : `run_module(
585600
mode="lex",
586601
code=english_code,
587602
args={
588603
'translate': True,
589-
'dictionary': os.path.join(SCRIPTDIR, 'languages/ur/ur_native.lang.yaml'),
590-
'reverse': False,
604+
'dictionary': os.path.join(SCRIPTDIR, ${targetLanguage.toEnglishDict}),
605+
'reverse': True,
591606
'keep': False,
592607
'keep_only': False,
593608
'return': True,
594609
}
595-
);
610+
);`}
596611
# display(translated_code)
597612
# code = code.replace("print", "display");
598613
element = document.getElementById("python-code-editor2");

0 commit comments

Comments
 (0)