diff --git a/docs/package.json b/docs/package.json
index c09b2f6..1329e5e 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -1,6 +1,6 @@
 {
   "name": "docs",
-  "version": "3.1.6",
+  "version": "3.1.7",
   "private": true,
   "dependencies": {
     "preact": "^10.16.0"
diff --git a/package-lock.json b/package-lock.json
index 2040322..8a36b9e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "minista-monorepo",
-  "version": "3.1.5",
+  "version": "3.1.6",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "minista-monorepo",
-      "version": "3.1.5",
+      "version": "3.1.6",
       "workspaces": [
         "docs",
         "packages/*",
@@ -49,7 +49,7 @@
       }
     },
     "docs": {
-      "version": "3.1.5",
+      "version": "3.1.6",
       "dependencies": {
         "preact": "^10.16.0"
       },
@@ -15678,7 +15678,7 @@
       }
     },
     "packages/create-minista": {
-      "version": "3.1.5",
+      "version": "3.1.6",
       "license": "MIT",
       "dependencies": {
         "cac": "^6.7.14",
@@ -15691,7 +15691,7 @@
       }
     },
     "packages/minista": {
-      "version": "3.1.5",
+      "version": "3.1.6",
       "license": "MIT",
       "dependencies": {
         "@mdx-js/rollup": "^2.3.0",
diff --git a/package.json b/package.json
index b910875..a545884 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "minista-monorepo",
-  "version": "3.1.6",
+  "version": "3.1.7",
   "private": true,
   "engines": {
     "node": ">=14.15.0"
diff --git a/packages/create-minista/package.json b/packages/create-minista/package.json
index e53c491..5921f2a 100644
--- a/packages/create-minista/package.json
+++ b/packages/create-minista/package.json
@@ -1,7 +1,7 @@
 {
   "name": "create-minista",
   "description": "Scaffolding for minista projects",
-  "version": "3.1.6",
+  "version": "3.1.7",
   "type": "module",
   "bin": {
     "create-minista": "./bin/create-minista.js"
diff --git a/packages/create-minista/templates/minimal-js/package.json b/packages/create-minista/templates/minimal-js/package.json
index d7130e3..6fce1b4 100644
--- a/packages/create-minista/templates/minimal-js/package.json
+++ b/packages/create-minista/templates/minimal-js/package.json
@@ -11,7 +11,7 @@
     "semi": false
   },
   "devDependencies": {
-    "minista": "^3.1.6",
+    "minista": "^3.1.7",
     "react": "^18.2.0",
     "react-dom": "^18.2.0"
   }
diff --git a/packages/create-minista/templates/minimal-ts/package.json b/packages/create-minista/templates/minimal-ts/package.json
index bcd3c86..6e8cc37 100644
--- a/packages/create-minista/templates/minimal-ts/package.json
+++ b/packages/create-minista/templates/minimal-ts/package.json
@@ -13,7 +13,7 @@
   "devDependencies": {
     "@types/react": "^18.2.16",
     "@types/react-dom": "^18.2.7",
-    "minista": "^3.1.6",
+    "minista": "^3.1.7",
     "react": "^18.2.0",
     "react-dom": "^18.2.0",
     "typescript": "^5.1.6"
diff --git a/packages/minista/package.json b/packages/minista/package.json
index 57a82ca..a6d6abe 100644
--- a/packages/minista/package.json
+++ b/packages/minista/package.json
@@ -1,7 +1,7 @@
 {
   "name": "minista",
   "description": "Static site generator with 100% static export from React and Vite",
-  "version": "3.1.6",
+  "version": "3.1.7",
   "type": "module",
   "engines": {
     "node": ">=14.15.0"
diff --git a/packages/minista/src/server/page.ts b/packages/minista/src/server/page.ts
index b5b1c67..e73c8b8 100644
--- a/packages/minista/src/server/page.ts
+++ b/packages/minista/src/server/page.ts
@@ -50,12 +50,10 @@ export function getPages(): Page[] {
   const pages: Page[] = Object.keys(PAGES).map((page) => {
     const pagePath = page
       .replace(/^\/src\/pages\//g, "/")
-      .replace(/\index|\.tsx$/g, "")
-      .replace(/\index|\.jsx$/g, "")
-      .replace(/\index|\.mdx$/g, "")
-      .replace(/\index|\.md$/g, "")
-      .replace(/\[\.{3}.+\]/, "*")
-      .replace(/\[(.+)\]/, ":$1")
+      .replace(/\index(\.tsx|\.jsx|\.mdx|\.md)$/g, "")
+      .replace(/\.tsx$|\.jsx$|\.mdx$|\.md$/g, "")
+      .replace(/\[(\.{3}.+?)\]/g, "*")
+      .replace(/\[(.+?)\]/g, ":$1")
       .replace(/^.\//, "/")
     const frontmatter = PAGES[page].frontmatter || {}
     const metadata = {
diff --git a/playground/core-fetch/src/pages/index.tsx b/playground/core-fetch/src/pages/index.tsx
index 7c95e73..f8038c4 100644
--- a/playground/core-fetch/src/pages/index.tsx
+++ b/playground/core-fetch/src/pages/index.tsx
@@ -24,16 +24,22 @@ type PageIssuesProps = PageProps & {
 }
 
 export default function (props: PageIssuesProps) {
+  const langList = ["en", "ja"]
   return (
     <>
       <h1>Issues</h1>
-      <ul>
-        {props.issues?.map((item, index) => (
-          <li key={index}>
-            <a href={`/issues/${item.number}`}>{item.title}</a>
-          </li>
-        ))}
-      </ul>
+      {langList.map((lang) => (
+        <div key={lang}>
+          <h2>lang: {lang}</h2>
+          <ul>
+            {props.issues?.map((item, index) => (
+              <li key={index}>
+                <a href={`/issues/${lang}/${item.number}`}>{item.title}</a>
+              </li>
+            ))}
+          </ul>
+        </div>
+      ))}
     </>
   )
 }
diff --git a/playground/core-fetch/src/pages/issues/[number].tsx b/playground/core-fetch/src/pages/issues/[lang]/[number].tsx
similarity index 72%
rename from playground/core-fetch/src/pages/issues/[number].tsx
rename to playground/core-fetch/src/pages/issues/[lang]/[number].tsx
index 56110c7..3bb8738 100644
--- a/playground/core-fetch/src/pages/issues/[number].tsx
+++ b/playground/core-fetch/src/pages/issues/[lang]/[number].tsx
@@ -3,7 +3,7 @@
 // - Function Result Type: Promise<StaticData>
 import type { StaticData, PageProps } from "minista"
 
-export async function getStaticData(): Promise<StaticData> {
+export async function getStaticData(): Promise<StaticData[]> {
   //const apiUrl = "https://api.github.com/repos/qrac/minista/issues"
   //const apiParamsQuery = "?state=all&creator=qrac&per_page=5"
   //const response = await fetch(apiUrl + apiParamsQuery)
@@ -12,10 +12,15 @@ export async function getStaticData(): Promise<StaticData> {
   const response = await fetch(apiUrl)
 
   const data = await response.json()
-  return data.map((item: PageIssuesTemplateProps) => ({
-    props: item,
-    paths: { number: item.number },
-  }))
+  const langList = ["en", "ja"]
+  return langList
+    .map((lang) =>
+      data.map((item: PageIssuesTemplateProps) => ({
+        props: item,
+        paths: { lang, number: item.number },
+      }))
+    )
+    .flat()
 }
 
 type PageIssuesTemplateProps = PageProps & {