diff --git a/static/lang/ko-kr.json b/static/lang/ko-kr.json
new file mode 100644
index 0000000..6264358
--- /dev/null
+++ b/static/lang/ko-kr.json
@@ -0,0 +1,98 @@
+{
+ "languageName": "ํ๊ตญ์ด(KR)",
+ "translatedLanguageName": "Korean (KR)",
+ "flag": "๐ฐ๐ท",
+ "author": "Johnmacro",
+
+ "stringKeys": {
+ "kGeneric_CollabVM": "CollabVM",
+ "kGeneric_Yes": "์",
+ "kGeneric_No": "์๋์",
+ "kGeneric_Ok": "ํ์ธ",
+ "kGeneric_Cancel": "์ทจ์",
+ "kGeneric_Send": "๋ณด๋ด๊ธฐ",
+ "kGeneric_Understood": "์ดํดํจ",
+ "kGeneric_Username": "์ฌ์ฉ์๋ช
",
+ "kGeneric_Password": "์ํธ",
+ "kGeneric_Login": "๋ก๊ทธ์ธ",
+ "kGeneric_Register": "๋ฑ๋ก",
+ "kGeneric_EMail": "์ ์ ๋ฉ์ผ",
+ "kGeneric_DateOfBirth": "์๋
์์ผ",
+ "kGeneric_VerificationCode": "์ธ์ฆ ์ฝ๋",
+ "kGeneric_Verify": "์ธ์ฆ",
+ "kGeneric_Update": "๊ฐฑ์ ",
+ "kGeneric_Logout": "๋ก๊ทธ์์",
+
+ "kWelcomeModal_Header": "CollabVM์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค",
+ "kWelcomeModal_Body": "
๊ณ์ํ๊ธฐ ์ ์ ๊ท์น์ ์์งํ์๊ธฐ ๋ฐ๋๋๋ค.
๊ท์น 1. ๋ฒ์ ์ด๊ธฐ์ง ๋ง ๊ฒ.
CollabVM์ด๋ CollabVM์ ๋คํธ์ํฌ๋ฅผ ๋ฏธ๊ตญ ์ฐ๋ฐฉ๋ฒ์ด๋ ๋ด์์ฃผ๋ฒ, ๊ตญ์ ๋ฒ์ ์๋ฐํ๋ ๋ฐ ์ฌ์ฉํ์ง ๋ง์ญ์์ค. CollabVM์ด ๊ทธ ์๋น์ค๋ฅผ ํตํด ๋ฒ์ฃ๊ฐ ์ ์ง๋ฌ์ก์์ ์๊ฒ ๋๋ฉด ๊ทํ๋ ์ฆ์ ์ฐจ๋จ๋๋ฉฐ ํ์ํ ๊ฒฝ์ฐ ๊ทํ์ ํ๋์ด ๋น๊ตญ์ ์ ๊ณ ๋ ์ ์์ต๋๋ค.
CollabVM์ ๋ฒ์ ๋ฐ๋ผ ๊ทธ ๋คํธ์ํฌ์ ๋๋ ๋คํธ์ํฌ๋ฅผ ํตํด ์ ์ก๋๋ ์๋ ํฌ๋ฅด๋
ธ์ ์กด์ฌ๋ฅผ ์๊ฒ ๋๋ฉด ๋ฒ ์งํ ๊ธฐ๊ด์ ์๋ ค์ผ ํฉ๋๋ค.
COPPA๋ ์ํ๋๋ฏ๋ก 13์ธ ๋ฏธ๋ง์ด๋ผ๋ฉด CollabVM์ ์ด์ฉํ์ง ๋ง์ญ์์ค. ๊ท์น 2. DoS/DDoS ๋๊ตฌ ์คํ ๊ธ์ง.
CollabVM์ ๊ฐ์ธ์ด๋ ๊ธฐ์
, ํ์ฌ, ๋ค๋ฅธ ์ฌ๋์ DoS/DDoSํ๋ ๋ฐ ์ฌ์ฉํ์ง ๋ง์ญ์์ค. ๊ท์น 3. ์คํธ ๋ฐฐํฌ ๊ธ์ง.
์ด ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ ๋ฉ์ผ ์คํธ์ ๋ณด๋ด๊ฑฐ๋, ์ ๋ฐ์ ์ผ๋ก ์คํธ์ ํธ์ํ์ง ๋ง์ญ์์ค.๊ท์น 4. ์ต์คํ๋ก์์ ์
์ฉํ์ง ๋ง ๊ฒ.
์ด๋ ํ ์ต์คํ๋ก์๋ ์
์ฉํ์ง ๋ง์ญ์์ค. ์ถ๊ฐ๋ก ์ต์คํ๋ก์์ ์
์ฉํ๋ ์ฌ๋์ ๋ชฉ๊ฒฉํ๊ฑฐ๋ ์ ๊ณ ํด์ผ ํ๋ค๋ฉด computernewbab@gmail.com์ผ๋ก ์ฐ๋ฝํ์๊ธฐ ๋ฐ๋๋๋ค ๊ท์น 5. ๋ค๋ฅธ ์ด์ฉ์๋ฅผ ์ฌ์นญํ์ง ๋ง ๊ฒ.
CollabVM์ ๋ค๋ฅธ ๊ตฌ์ฑ์์ ์ฌ์นญํ์ง ๋ง์ญ์์ค. ์ ๋ฐ๋๋ฉด ์ผ์์ ์ผ๋ก ์ฐ๊ฒฐ์ด ๋์ด์ง๋ฉฐ ํ์ํ ๊ฒฝ์ฐ ์ฐจ๋จ๋ฉ๋๋ค. ๊ท์น 6. ํ ์ฌ๋๋น ํ ํ.
ํฌํ ์ ํ์ ์ฐํํ๊ธฐ ์ํ ์ด๋ ํ ๋ฐฉ๋ฒ์ด๋ ๋๊ตฌ๋ ์ฌ์ฉํ์ง ๋ง์ญ์์ค. ์ด๋ ํ ๊ฒฝ์ฐ์๋ ํ ์ฌ๋๋น ํ ํ๋ง ํ์ฉ๋ฉ๋๋ค. ์ด ํ์๊ฐ ์ ๋ฐ๋ ์ฌ๋์ ์ฐจ๋จ๋ฉ๋๋ค. ๊ท์น 7. ์๊ฒฉ ๊ด๋ฆฌ ๋๊ตฌ ๊ธ์ง.
์ด๋ ํ ์๊ฒฉ ๊ด๋ฆฌ ๋๊ตฌ(์: DarkComet, NanoCore, AnyDesk, TeamViewer, Orcus ๋ฑ)๋ ์ฌ์ฉํ์ง ๋ง์ญ์์ค ๊ท์น 8. CollabNet ์ฐํ ๊ธ์ง.
CollabNet์์ ์ ๊ณตํ๋ ์ฐจ๋จ ์ฐํ๋ฅผ ์๋ํ์ง ๋ง์ญ์์ค(ํนํ ๊ท์น 1์ด๋ ๊ท์น 2, ๊ท์น 7์ ์ด๊ธฐ๊ธฐ ์ํด (๋๋ ๊ณผ๋ํ๊ฒ ์ฌ์ฉ๋๋ ๋ฐ๋ณด ๊ฐ์ ๊ฒ๋ค์ ์คํํ๊ธฐ ์ํด) ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ). ๊ท์น 9. ์ง์์ ์ธ ํ๊ดด์ ์ธ ํ์ ์ํ ๊ธ์ง.
์ด๋ ํ ์ด์ฉ์๋ VM์ ํ๊ดดํ๊ฑฐ๋(์ง์์ ์ผ๋ก ์ฌ์ฉํ ์ ์๊ฒ ํ๋ ๊ฒ), ์ด์ ์ฒด์ ๋ฅผ ์ค์น/๋ค์ ์ค์นํ๊ฑฐ๋(VM7์ด๋ VM8 ์ ์ธ), ๊ทธ๋ฌํ ํ์๋ฅผ ํ๋ ๋ด์ ์คํํด์๋ ์ ๋ฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋๋์ ํค๋ณด๋/๋ง์ฐ์ค ์
๋ ฅ ์คํธ์ ๋ณด๋ด๋(\"ํคํ
(kitting)\") ๋ด์ด ํฌํจ๋ฉ๋๋ค. ๊ท์น 10. ์ํธ ํํ ์ฑ๊ตด ๊ธ์ง
VM์์ ์ํธ ํํ๋ฅผ ์ฑ๊ตดํ๋ ค๊ณ ํ๋ฉด ์ถ๋ฐฉ๋๋ฉฐ ๊ณ์ ์๋ํ๋ฉด ์๊ตฌ์ ์ผ๋ก ์ฐจ๋จ๋ฉ๋๋ค. ๊ฒ๋ค๊ฐ ๊ทธ๊ฑธ๋ก ๋์ ์กฐ๊ธ์ด๋ผ๋ ๋ฒ ์ ์๋ ๊ฒ๋ ์๋์์์. ํ๋ฐฉ์ฃผ์ ๊ฒฝ๊ณ
ํ๋ฐฉ์ฃผ์ ์ฝํ
์ธ ๊ฐ ๋ฌด์ ๋ถ VM(VM0b0t)์์ ํ์ฉ๋๋ฉฐ ์์ฃผ ์์ฒญ๋จ์ ์ ์ํ์๊ธฐ ๋ฐ๋๋๋ค. ์ถ๊ฐ๋ก ์ ํฌ๋ ์ฃผ VM์์ ํ๋ฐฉ์ฃผ์๋ฅผ ๋ง์ผ๋ ค๊ณ ๋ง์ ๋
ธ๋ ฅ์ ๊ธฐ์ธ์ด์ง๋ง ์ฌ๋๋ค์ด ๊ฐ๋ ๋ชฐ๋ ํต๊ณผ์ํต๋๋ค.",
+
+ "kSiteButtons_Home": "ํ",
+ "kSiteButtons_FAQ": "์์ฃผ ํ๋ ์ง๋ฌธ",
+ "kSiteButtons_Rules": "๊ท์น",
+ "kSiteButtons_DarkMode": "๋คํฌ ๋ชจ๋",
+ "kSiteButtons_LightMode": "๋ผ์ดํธ ๋ชจ๋",
+ "kSiteButtons_Languages": "์ธ์ด",
+
+ "kVM_UsersOnlineText": "์ ์ ์ค์ธ ์ด์ฉ์:",
+
+ "kVM_TurnTimeTimer": "์ฐจ๋ก๊ฐ {0}์ด ํ ๋ง๋ฃ๋ฉ๋๋ค.",
+ "kVM_WaitingTurnTimer": "{0}์ด ํ ์ฐจ๋ก๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค.",
+ "kVM_VoteCooldownTimer": "๋ค๋ฅธ ํฌํ๋ฅผ ์์ํ๊ธฐ ์ ์ {0}์ด ๋์ ๊ธฐ๋ค๋ ค ์ฃผ์ธ์.",
+
+ "kVM_VoteForResetTitle": "VM์ ์ด๊ธฐํํ์๊ฒ ์ต๋๊น?",
+ "kVM_VoteForResetTimer": "ํฌํ๊ฐ {0}์ด ํ ์ข
๋ฃ๋ฉ๋๋ค",
+
+ "kVMButtons_TakeTurn": "์ฐจ๋ก ๊ฐ์ ธ๊ฐ๊ธฐ",
+ "kVMButtons_EndTurn": "์ฐจ๋ก ๋๋ด๊ธฐ",
+ "kVMButtons_ChangeUsername": "์ฌ์ฉ์๋ช
๋ณ๊ฒฝ",
+ "kVMButtons_Keyboard": "ํค๋ณด๋",
+ "KVMButtons_CtrlAltDel": "Ctrl+Alt+Del",
+
+ "kVMButtons_VoteForReset": "์ด๊ธฐํ ํฌํ",
+ "kVMButtons_Screenshot": "์คํฌ๋ฆฐ์ท",
+
+ "kQEMUMonitor": "QEMU ๋ชจ๋ํฐ",
+ "kAdminVMButtons_PassVote": "ํฌํ ๊ฑด๋๋ฐ๊ธฐ",
+ "kAdminVMButtons_CancelVote": "ํฌํ ์ทจ์",
+
+ "kAdminVMButtons_Restore": "๋ณต์",
+ "kAdminVMButtons_Reboot": "์ฌ๋ถํ
",
+ "kAdminVMButtons_ClearTurnQueue": "์ฐจ๋ก ๋๊ธฐ์ด ๋น์ฐ๊ธฐ",
+ "kAdminVMButtons_BypassTurn": "์ฐจ๋ก ์ฐํ",
+ "kAdminVMButtons_IndefiniteTurn": "๋ฌด๊ธฐํ ์ฐจ๋ก",
+
+ "kAdminVMButtons_Ban": "์ฐจ๋จ",
+ "kAdminVMButtons_Kick": "์ถ๋ฐฉ",
+ "kAdminVMButtons_TempMute": "์ผ์ ๋ฎคํธ",
+ "kAdminVMButtons_IndefMute": "๋ฌด๊ธฐํ ๋ฎคํธ",
+ "kAdminVMButtons_Unmute": "๋ฎคํธ ํด์ ",
+ "kAdminVMButtons_GetIP": "IP ๊ฐ์ ธ์ค๊ธฐ",
+
+ "kVMPrompts_AdminChangeUsernamePrompt": "{0}์ ์ ์ฌ์ฉ์๋ช
์ ์
๋ ฅํ์ธ์.",
+ "kVMPrompts_AdminRestoreVMPrompt": "VM์ ๋ณต์ํ์๊ฒ ์ต๋๊น?",
+ "kVMPrompts_EnterNewUsernamePrompt": "์ ์ฌ์ฉ์๋ช
์ ์
๋ ฅํ๊ฑฐ๋, ๊ฒ์คํธ ์ฌ์ฉ์๋ช
์ ํ ๋น๋ฐ์ผ๋ ค๋ฉด ํ๋๋ฅผ ๋น์ ๋์ธ์",
+
+ "kError_UnexpectedDisconnection": "์๋ฒ์์ ์ฐ๊ฒฐ์ด ๋์ด์ก์ต๋๋ค.",
+ "kError_UsernameTaken": "ํด๋น ์ฌ์ฉ์๋ช
์ ์ด๋ฏธ ์ฌ์ฉ ์ค์
๋๋ค",
+ "kError_UsernameInvalid": "์ฌ์ฉ์๋ช
์ ์ซ์, ์๋ฌธ์, ๊ณต๋ฐฑ, ๋์, ๋ฐ์ค, ์ ๋ง ํฌํจํ ์ ์์ผ๋ฉฐ 3์์์ 20์ ์ฌ์ด์ฌ์ผ ํฉ๋๋ค.",
+ "kError_UsernameBlacklisted": "ํด๋น ์ฌ์ฉ์๋ช
์ ๋ธ๋๋ฆฌ์คํธ์ ๋ฑ๋ก๋์ด ์์ต๋๋ค.",
+ "kError_IncorrectPassword": "์๋ชป๋ ์ํธ์
๋๋ค.",
+
+ "kAccountModal_Verify": "์ ์ ๋ฉ์ผ ์ธ์ฆ",
+ "kAccountModal_AccountSettings": "๊ณ์ ์ค์ ",
+ "kAccountModal_ResetPassword": "์ํธ ์ฌ์ค์ ",
+
+ "kAccountModal_NewPassword": "์ ์ํธ",
+ "kAccountModal_ConfirmNewPassword": "์ ์ํธ ํ์ธ",
+ "kAccountModal_CurrentPassword": "ํ์ฌ ์ํธ",
+ "kAccountModal_ConfirmPassword": "์ํธ ํ์ธ",
+
+ "kMissingCaptcha": "๋ณด์ ๋ฌธ์๋ฅผ ์
๋ ฅํ์ธ์.",
+ "kPasswordsMustMatch": "์ํธ๊ฐ ์ผ์นํด์ผ ํฉ๋๋ค.",
+ "kAccountModal_VerifyText": "{0}(์ผ)๋ก ์ ์ ๋ฉ์ผ์ ๋ณด๋์ต๋๋ค. ๊ณ์ ์ ์ธ์ฆํ๋ ค๋ฉด ์๋ ์ ์ ๋ฉ์ผ์ 8์๋ฆฌ ์ฝ๋๋ฅผ ์
๋ ฅํ์ธ์.",
+ "kAccountModal_VerifyPasswordResetText": "{0}(์ผ)๋ก ์ ์ ๋ฉ์ผ์ ๋ณด๋์ต๋๋ค. ์ํธ๋ฅผ ์ฌ์ค์ ํ๋ ค๋ฉด ์๋ ์ ์ ๋ฉ์ผ์ 8์๋ฆฌ ์ฝ๋๋ฅผ ์
๋ ฅํ์ธ์.",
+ "kAccountModal_PasswordResetSuccess": "์ํธ๊ฐ ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด์ ์ ์ํธ๋ก ๋ก๊ทธ์ธํ ์ ์์ต๋๋ค.",
+
+ "kNotLoggedIn": "๋ก๊ทธ์ธ๋์ง ์์"
+ }
+}
diff --git a/static/lang/languages.json b/static/lang/languages.json
index 6bf8a88..f1eaf64 100644
--- a/static/lang/languages.json
+++ b/static/lang/languages.json
@@ -1,4 +1,4 @@
{
- "languages": ["en-us", "fr-fr", "de-de", "ja-jp", "pl-pl", "es-es", "ru-ru", "hu-hu", "uk-ua", "hr-hr", "ro-ro", "tok", "id"],
+ "languages": ["en-us", "fr-fr", "de-de", "ja-jp", "pl-pl", "es-es", "ru-ru", "hu-hu", "uk-ua", "hr-hr", "ro-ro", "tok", "id", "ko-kr"],
"defaultLanguage": "en-us"
}