blob: 3e9d7028ab9d1d02610f04ea30270862a91b605e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# ローマ字変換
LunaticChat では、日本語のテキストをローマ字に変換する機能が提供されています.
## 設定を有効化する
ローマ字変換機能を有効にするには `features.japaneseConversion.enabled` の値を `true` にする必要があります.
```yaml{4}
features:
# ...
japaneseConversion:
enabled: true
```
## 変換の仕組み
LunaticChat はプレイヤーからのテキストを以下の手順で変換を行います.
1. プレイヤーからのテキストがローマ字で構成されているかを検証する
2. メモリキャッシュから該当のフレーズがあるかどうかを調べる
1. ここで該当フレーズがヒットした場合はそれをサーバーに返す
3. メモリキャッシュに存在していない場合は,ローマ字からひらがなに変換する
4. 変換した文字列を Google IME API へ送り,人が読める形に変換する
5. メモリキャッシュに保存し,それをサーバーに返す
```
┌───────────────────────────────────────────────────┐
│ User Input │
│ (Romanji Text) │
└─────────────────────┬─────────────────────────────┘
│
▼
┌───────────────────────────────────────────────────┐
│ RomanjiConverter │
│ ┌───────────────────────────────────────────┐ │
│ │ 1. Check Memory Cache │ │
│ │ └─→ Hit: Return immediately │ │
│ │ │ │
│ │ 2. Call Google IME API │ │
│ │ │ │
│ │ 3. Store in Memory Cache │ │
│ │ │ │
│ │ 4. Queue for Disk Save (async) │ │
│ └───────────────────────────────────────────┘ │
└─────────────────────┬─────────────────────────────┘
│
▼
┌───────────────────────────────────────────────────┐
│ Converted Text │
│ (Japanese Text) │
└───────────────────────────────────────────────────┘
```
::: tip ファイルへの保存
メモリキャッシュの内容は負荷にならないよう,設定した秒毎にファイルキャッシュへ自動でセーブします.
:::
##
|