diff --git a/translate-backend/main.py b/translate-backend/main.py index 6f8519ae..00d9b160 100644 --- a/translate-backend/main.py +++ b/translate-backend/main.py @@ -91,6 +91,9 @@ def source2wakati_byLines(source): if letter_default[num] == "ー": # 長音は長音のまま letter[num] = letter_default[num] kana = "".join(letter) + for num in range(min(len(letter), len(letter_normal))): + if letter[num] == "ー" and (hinshi == "動詞"): + kana = kana_normal if ( letter_default[0] in mapping.mapping_alpha or letter_default[0] in mapping.mapping_alpha_CAP @@ -102,12 +105,19 @@ def source2wakati_byLines(source): target.append(kana) elif prehinshi_specific == "数詞" and hinshi == "名詞": # 数字と単位の間は空けない target.append(kana) + elif hinshi == "形状詞" and kana == "ヨー": # 「そのような」は1語 + target.append(kana) elif kana == "*": pass elif hinshi == "補助記号": - target.append(kana) + if hinshi_specific == "括弧開": + target.append(" " + kana) + else: + target.append(kana) elif target == []: target.append(kana) + elif prehinshi_specific == "括弧開": + target.append(kana) else: target.append(" " + kana) prehinshi = hinshi diff --git a/translate-backend/mapping.py b/translate-backend/mapping.py index 36c8b4a6..c9b2ee0a 100644 --- a/translate-backend/mapping.py +++ b/translate-backend/mapping.py @@ -117,6 +117,12 @@ "?": "⠢", "「": "⠤", "」": "⠤", + "&": "⠰⠯", + "&": "⠰⠯", + "(": "⠶", + ")": "⠶", + "(": "⠶", + ")": "⠶", } mapping_alpha = { diff --git a/translate/package.json b/translate/package.json index f7f0f345..fc54d627 100644 --- a/translate/package.json +++ b/translate/package.json @@ -7,7 +7,8 @@ "setup": "npm run setup:env && npm run setup:ci", "setup:env": "cp .env.sample .env", "setup:ci": "npm ci", - "dev": "vite", + "dev": "vite & npm run backend:dev", + "backend:dev": "cd ../translate-backend && . ./env/bin/activate && uvicorn main:app --reload --port 8000 && deactivate", "build": "vite build", "lint": "eslint . --report-unused-disable-directives --max-warnings 0", "preview": "vite preview", diff --git a/translate/src/App.tsx b/translate/src/App.tsx index 86e9e123..326f7b23 100644 --- a/translate/src/App.tsx +++ b/translate/src/App.tsx @@ -7,6 +7,8 @@ import { IconButton, Typography, TextField, + FormControlLabel, + Switch, } from "@mui/material"; import MenuIcon from "@mui/icons-material/Menu"; import { useTheme } from "@mui/material/styles"; @@ -25,6 +27,10 @@ function App() { //const [displayTargetText, setDisplayTargetText] = useState(""); const [targetText, setTargetText] = useState(""); + const [isPageNumberOn, setIsPageNumberOn] = useState(false); + const [fileName, setFileName] = useState(""); + const [showWarning, setShowWarning] = useState(false); + async function source2wakati(text: string) { const response = await fetch( `${API_ENDPOINT}/source2wakati?sourceText=` + text, @@ -155,15 +161,55 @@ function App() { Copy +
+ + {showWarning && ( +
+ ファイル名を入力してください。 +
+ )} +
+
+ { + setIsPageNumberOn(!isPageNumberOn); + }} + /> + } + label="ページ番号あり" + labelPlacement="start" + /> +