summaryrefslogtreecommitdiff
path: root/docs/src/guide/japanese-romanization.md
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 ファイルへの保存

メモリキャッシュの内容は負荷にならないよう,設定した秒毎にファイルキャッシュへ自動でセーブします.

:::

##