diff --git a/package.json b/package.json
index 07d7828e..b4af1ba6 100644
--- a/package.json
+++ b/package.json
@@ -17,6 +17,7 @@
"mathjs": "^13.0.2",
"mongodb": "^6.8.0",
"next": "14.2.3",
+ "next-international": "^1.2.4",
"react": "^18",
"react-datepicker": "^7.3.0",
"react-dom": "^18",
diff --git a/src/app/[locale]/LocaleProvider.js b/src/app/[locale]/LocaleProvider.js
new file mode 100644
index 00000000..b4649135
--- /dev/null
+++ b/src/app/[locale]/LocaleProvider.js
@@ -0,0 +1,11 @@
+'use client'
+
+import { I18nProviderClient } from '@/locales/client'
+
+export function LocaleProvider({ locale, children }) {
+ return (
+ Loading...
}>
+ {children}
+
+ )
+}
diff --git a/src/app/changelog/changelog.module.css b/src/app/[locale]/changelog copy/changelog.module.css
similarity index 100%
rename from src/app/changelog/changelog.module.css
rename to src/app/[locale]/changelog copy/changelog.module.css
diff --git a/src/app/changelog/page.jsx b/src/app/[locale]/changelog copy/page.jsx
similarity index 100%
rename from src/app/changelog/page.jsx
rename to src/app/[locale]/changelog copy/page.jsx
diff --git a/src/app/[locale]/changelog/changelog.module.css b/src/app/[locale]/changelog/changelog.module.css
new file mode 100644
index 00000000..273a4a34
--- /dev/null
+++ b/src/app/[locale]/changelog/changelog.module.css
@@ -0,0 +1,4 @@
+.test {
+ @apply bg-red-500;
+ @apply text-2xl;
+}
diff --git a/src/app/[locale]/changelog/page.jsx b/src/app/[locale]/changelog/page.jsx
new file mode 100644
index 00000000..ad626beb
--- /dev/null
+++ b/src/app/[locale]/changelog/page.jsx
@@ -0,0 +1,73 @@
+'use client'
+
+import { Button, Table, TableBody, TableCell, TableColumn, TableHeader, TableRow } from '@nextui-org/react'
+import Hero from '@/components/Hero'
+import QSelect from '@/components/ui/QSelect'
+import styles from './changelog.module.css'
+import { get } from '@/lib/Axios'
+
+export default function changelogPage() {
+ const testVar = process.env.NEXT_PUBLIC_TEST
+
+ const handleUsers = async () => {
+ const users = await get('/api/user/find-all')
+ console.log(users)
+ }
+
+ const data = [
+ {
+ id: 1,
+ author: 'SWYOO',
+ contents: '버튼 정리(템플릿 적용)',
+ date: '2024.07.16',
+ },
+ {
+ id: 2,
+ author: 'SWYOO',
+ contents: 'README.md 파일 이미지 경로 수정',
+ date: '2024.07.17',
+ },
+ {
+ id: 3,
+ author: 'SWYOO',
+ contents: '',
+ date: '',
+ },
+ ]
+ return (
+ <>
+
+ 이 영역은 테스트입니다.
+
+
+
+ DATE
+ NAME
+ CONTENTS
+
+
+ {data.map((item) => (
+
+ {item.date}
+ {item.author}
+ {item.contents}
+
+ ))}
+
+
+
+
+
+
+ {testVar}
+
+
+ >
+ )
+}
diff --git a/src/app/community/archive/page.jsx b/src/app/[locale]/community/archive/page.jsx
similarity index 100%
rename from src/app/community/archive/page.jsx
rename to src/app/[locale]/community/archive/page.jsx
diff --git a/src/app/community/faq/page.jsx b/src/app/[locale]/community/faq/page.jsx
similarity index 100%
rename from src/app/community/faq/page.jsx
rename to src/app/[locale]/community/faq/page.jsx
diff --git a/src/app/community/notice/page.jsx b/src/app/[locale]/community/notice/page.jsx
similarity index 100%
rename from src/app/community/notice/page.jsx
rename to src/app/[locale]/community/notice/page.jsx
diff --git a/src/app/[locale]/error.jsx b/src/app/[locale]/error.jsx
new file mode 100644
index 00000000..07d75e7e
--- /dev/null
+++ b/src/app/[locale]/error.jsx
@@ -0,0 +1,15 @@
+'use client'
+
+export default function ServerError() {
+ return (
+
+
+
+
500
+
Internal Server Error.
+
We are already working to solve the problem.
+
+
+
+ )
+}
diff --git a/src/app/intro/page.jsx b/src/app/[locale]/intro/page.jsx
similarity index 82%
rename from src/app/intro/page.jsx
rename to src/app/[locale]/intro/page.jsx
index 840b1f93..64a7c6ab 100644
--- a/src/app/intro/page.jsx
+++ b/src/app/[locale]/intro/page.jsx
@@ -6,7 +6,6 @@ import Intro from '@/components/Intro'
export default function IntroPage() {
return (
<>
-
diff --git a/src/app/[locale]/layout.js b/src/app/[locale]/layout.js
new file mode 100644
index 00000000..00f84991
--- /dev/null
+++ b/src/app/[locale]/layout.js
@@ -0,0 +1,13 @@
+'use client'
+
+import { useCurrentLocale } from '@/locales/client'
+import { LocaleProvider } from './LocaleProvider'
+
+export default function LocaleLayout({ children }) {
+ const locale = useCurrentLocale()
+ return (
+ <>
+ {children}
+ >
+ )
+}
diff --git a/src/app/login/page.jsx b/src/app/[locale]/login/page.jsx
similarity index 100%
rename from src/app/login/page.jsx
rename to src/app/[locale]/login/page.jsx
diff --git a/src/app/management/plan/page.jsx b/src/app/[locale]/management/plan/page.jsx
similarity index 100%
rename from src/app/management/plan/page.jsx
rename to src/app/[locale]/management/plan/page.jsx
diff --git a/src/app/management/stuff/page.jsx b/src/app/[locale]/management/stuff/page.jsx
similarity index 100%
rename from src/app/management/stuff/page.jsx
rename to src/app/[locale]/management/stuff/page.jsx
diff --git a/src/app/master/company/page.jsx b/src/app/[locale]/master/company/page.jsx
similarity index 100%
rename from src/app/master/company/page.jsx
rename to src/app/[locale]/master/company/page.jsx
diff --git a/src/app/master/price/page.jsx b/src/app/[locale]/master/price/page.jsx
similarity index 100%
rename from src/app/master/price/page.jsx
rename to src/app/[locale]/master/price/page.jsx
diff --git a/src/app/[locale]/not-found.jsx b/src/app/[locale]/not-found.jsx
new file mode 100644
index 00000000..8127943b
--- /dev/null
+++ b/src/app/[locale]/not-found.jsx
@@ -0,0 +1,25 @@
+'use client'
+
+import Link from 'next/link'
+
+export default function NotFound() {
+ return (
+
+
+
+
404
+
Something's missing.
+
+ Sorry, we can't find that page. You'll find lots to explore on the home page.{' '}
+
+
+ Back to Homepage
+
+
+
+
+ )
+}
diff --git a/src/app/[locale]/page.js b/src/app/[locale]/page.js
new file mode 100644
index 00000000..ab223428
--- /dev/null
+++ b/src/app/[locale]/page.js
@@ -0,0 +1,19 @@
+import MainPage from '@/components/Main'
+import { getCurrentLocale } from '@/locales/server'
+
+export default function page() {
+ const currentLocale = getCurrentLocale()
+
+ const mainPageProps = {
+ currentLocale,
+ }
+
+ return (
+ <>
+
+
Main
+
+
+ >
+ )
+}
diff --git a/src/app/roof/page.jsx b/src/app/[locale]/roof/page.jsx
similarity index 100%
rename from src/app/roof/page.jsx
rename to src/app/[locale]/roof/page.jsx
diff --git a/src/app/roof2/page.jsx b/src/app/[locale]/roof2/page.jsx
similarity index 100%
rename from src/app/roof2/page.jsx
rename to src/app/[locale]/roof2/page.jsx
diff --git a/src/components/Headers.jsx b/src/components/Headers.jsx
index 12d36144..a5503b8c 100644
--- a/src/components/Headers.jsx
+++ b/src/components/Headers.jsx
@@ -2,7 +2,7 @@ import Link from 'next/link'
export default function Headers() {
return (
-
+