From e4a048c8d55a3cd5cb891b24f761fe09a7a26a3b Mon Sep 17 00:00:00 2001 From: EJClaw Date: Mon, 21 Sep 2026 18:05:22 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=ED=95=84=EC=88=98=20=ED=8C=A9=20?= =?UTF-8?q?=EA=B8=B0=EB=B3=B8=20=ED=99=9C=EC=84=B1=ED=99=94=20+=20?= =?UTF-8?q?=EC=A0=80=EB=B6=80=ED=95=98=20=EB=AA=A8=EB=93=9C=20=ED=86=A0?= =?UTF-8?q?=EA=B8=80=20=EB=B0=98=EC=98=81=20+=20=EC=9A=A9=EC=96=B4=20?= =?UTF-8?q?=EA=B2=B9=EC=B9=A8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 리뷰 지적 2건과, 그것을 고치다 드러난 용어집 버그 1건을 함께 처리했다. 1) 저부하 모드 토글이 모델에 반영되지 않던 버그 ModelManager 는 생성 시점의 low_power 로 정밀도를 정하는데 설정에서 토글해도 갱신되지 않았고, stop() 은 모델을 내리지 않아 이전 정밀도 모델이 그대로 남았다. TranslationEngine.sync_performance() 를 추가해 값이 바뀌면 언로드 후 갱신하고, _bootstrap 과 재시작 경로에서 부른다. 2) 필수 게임 팩이 기본으로 꺼져 있던 문제 새 설치 기본값을 fps-common + 오버워치 + 배그 + R6 + 워독스로 켰다. 3) (1)(2)를 고치며 드러난 것: 팩 여러 개를 켜면 결과가 체크 순서에 휘둘렸다. knocked 가 FPS공통 "기절" / 배그 "눕혔다" 로 갈리는 식으로 19개 용어가 충돌하는데, 사용자는 그 순서를 볼 수도 바꿀 수도 없었다. 팩에 scope(generic/game) 를 두고 범용 -> 게임 전용 -> 사용자 항목 순으로 적용해 결정적으로 만들었다. 게임 팩끼리 갈리는 것은 사람이 판단할 문제라 find_conflicts() 로 뽑아 용어집 화면에 표시한다. 4) 용어 겹침 버그: "the blue"(조각)가 "blue zone" 보다 앞 위치라는 이유로 먼저 잡혀 "자기장 자기장" 이 됐다. 최장일치 정렬은 같은 시작 위치에서만 통한다. 조각 항목을 제거하고, 모든 팩을 켠 상태로 각 용어가 정확히 한 번만 치환되는지 검사하는 테스트를 추가했다. 검증: pytest 110개 통과 (저부하 6 + 팩 계층/충돌/겹침 12 신규), ruff clean Co-Authored-By: Claude Opus 4.7 --- README.md | 18 +- docs/ARCHITECTURE.md | 17 + docs/images/glossary.png | Bin 114680 -> 134237 bytes src/livesub/config.py | 9 +- src/livesub/core/engine.py | 19 + src/livesub/resources/glossaries/apex.json | 406 +++++++++-- .../resources/glossaries/fps-common.json | 1 + src/livesub/resources/glossaries/lol.json | 667 ++++++++++++++++-- .../resources/glossaries/minecraft.json | 343 ++++++++- .../resources/glossaries/overwatch.json | 442 ++++++++++-- src/livesub/resources/glossaries/pubg.json | 587 +++++++++++++-- src/livesub/resources/glossaries/r6siege.json | 604 ++++++++++++++-- .../resources/glossaries/streaming.json | 343 ++++++++- .../resources/glossaries/valorant.json | 532 ++++++++++++-- .../resources/glossaries/watchdogs.json | 532 ++++++++++++-- src/livesub/ui/main_window.py | 2 + src/livesub/ui/pages/glossary_page.py | 47 +- tests/test_low_power.py | 95 +++ tests/test_packs.py | 108 ++- 19 files changed, 4266 insertions(+), 506 deletions(-) create mode 100644 tests/test_low_power.py diff --git a/README.md b/README.md index ddcfb97..67ac725 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ - **게임과 같이 써도 안 무겁게** — GPU를 얼마나 양보할지 직접 정합니다 (아래 참고) - **디스코드식 자막 배치** — 모니터를 고르고 9칸 중 하나를 누르면 그 자리에 붙습니다 - **전역 단축키** — 게임 중에 `Ctrl+Alt+S` 로 자막을 껐다 켭니다 -- **게임별 기본 용어집 내장** — 옵치2·워독스·배그·R6·롤·발로란트·에이펙스 등 **541개** +- **게임별 기본 용어집 내장** — 옵치2·워독스·배그·R6·롤·발로란트·에이펙스 등 **540개** (필수 게임은 기본 켜짐) - **5단계 품질 선택** — 속도 우선(0.6초)부터 품질 우선까지 - **자막 자유 설정** — 글꼴·크기·색·외곽선·투명도·줄 수 - **추가학습** — 게임/방송 말투로 번역 모델을 LoRA 학습시킬 수 있습니다 @@ -155,13 +155,16 @@ VRAM이 넉넉하면 **모델** 화면에서 올리면 됩니다. 게임 고유명사가 이상하게 번역될 때 씁니다. **학습이 필요 없고 즉시 적용됩니다.** -### 기본 제공 용어집 (체크만 하면 끝) +### 기본 제공 용어집 + +**처음 설치하면 `FPS 공통 · 오버워치2 · 배그 · R6 · 워독스`가 이미 켜져 있습니다.** +안 하는 게임은 체크를 끄면 됩니다. | 팩 | 개수 | 내용 | |---|---|---| | 리그 오브 레전드 | 74 | 바론·갱·억제기·한타·오브젝트 콜 | | 레인보우 식스 시즈 | 67 | 보강·하드브리치·앵커/로머·디퓨저·파밸 | -| 배틀그라운드 | 66 | 자기장·어부·파밍·낙하·스쿼드 콜 | +| 배틀그라운드 | 65 | 자기장·어부·파밍·낙하·스쿼드 콜 | | 발로란트 | 59 | 스파이크·설치·해체·이코·리테이크 | | 워치독스 | 59 | 데드섹·ctOS·블룸·해킹/잠입 용어 | | 오버워치 2 | 49 | 궁 게이지·거점·화물·역할군 | @@ -170,7 +173,14 @@ VRAM이 넉넉하면 **모델** 화면에서 올리면 됩니다. | 마인크래프트 | 38 | 블록·몹·차원 이름 (한국어판 공식 번역어) | | 방송·스트리밍 | 38 | 후원·구독·클립·메타 등 방송 말투 | -게임별 팩 + `FPS 공통`을 같이 켜는 것을 권합니다. 겹치는 단어는 게임별 팩이 이깁니다. +#### 여러 팩을 같이 켜면 + +적용 순서는 **장르 공통 → 게임 전용 → 내가 등록한 것** 입니다. 뒤에 오는 쪽이 이기므로 +`knocked`는 배그를 켰으면 항상 "눕혔다"(배그)가 되고, 체크한 순서에 휘둘리지 않습니다. + +게임 전용 팩끼리 역어가 갈리는 경우(예: `payload`가 오버워치는 "화물", 워독스는 "페이로드")는 +용어집 화면이 어떤 단어인지 알려줍니다. 안 하는 게임을 끄거나, 원하는 역어를 직접 +등록하면 됩니다. ![용어집 화면](docs/images/glossary.png) diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index eeedd2d..ebbce6f 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -89,6 +89,23 @@ WASAPI의 `ActivateAudioInterfaceAsync` + `AUDIOCLIENT_ACTIVATION_TYPE_PROCESS_L 매번 번역까지 돌리면 GPU가 몇 배로 바빠지고, 문장이 완성되기 전 번역은 어차피 틀린다. 그래서 **중간 결과는 원문만, 확정 문장만 번역**한다. +### 용어집 팩은 계층으로 겹친다 + +여러 게임 팩을 동시에 켜면 같은 단어의 역어가 갈린다 (`knocked`는 FPS 공통에서 +"기절", 배그에서 "눕혔다"). 단순히 켠 순서대로 덮어쓰면 체크박스를 누른 순서가 +결과를 바꾸는데, 사용자는 그 순서를 볼 수도 바꿀 수도 없다. + +그래서 팩에 `scope`("generic" / "game")를 두고 **범용 → 게임 전용 → 사용자 항목** +순으로 적용한다. 게임 전용이 항상 범용을 이기므로 결과가 결정적이다. +게임 팩끼리 갈리는 것은 사람이 판단할 문제라, `find_conflicts()` 로 뽑아 UI에 +그대로 보여준다. + +데이터 쪽 함정도 하나 있다. 용어 목록은 최장일치를 위해 길이 내림차순으로 +정렬하지만, 이는 **같은 시작 위치**에서만 통한다. "the blue"(조각)가 등록돼 +있으면 "the blue zone"에서 더 앞 위치라는 이유로 "blue zone"을 이겨 "자기장 +자기장"이 된다. `test_each_term_protects_as_a_single_unit` 이 모든 팩을 켠 +상태로 이 겹침을 잡는다. + ### 배치 계산을 Qt에서 떼어냈다 `placement.py` 는 `ScreenInfo` 라는 순수 데이터만 받아 좌표를 계산한다. 덕분에 diff --git a/docs/images/glossary.png b/docs/images/glossary.png index 9e620a40ecf607d0002bfe38088ff7e4fb9ff23b..08642dd2743877fffc1645b7c8ce13345e54757a 100644 GIT binary patch delta 117271 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≦&ns)4gh=_}3YoYY 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

$_tx8}XAG@{z#WTDzp&*QM{ork2?B=Z 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 ol{}vgPC1;3$@YjOy!BDYJn80b)H6wEzGB diff --git a/src/livesub/config.py b/src/livesub/config.py index 219eac0..1409c97 100644 --- a/src/livesub/config.py +++ b/src/livesub/config.py @@ -87,8 +87,13 @@ class GlossaryConfig: enabled: bool = True path: str = "" # 비어있으면 user_data_dir()/glossary.json case_sensitive: bool = False - #: 함께 불러온 기본 제공 용어집 팩 키 목록 (presets/games 참고) - enabled_packs: list[str] = field(default_factory=list) + #: 처음 설치했을 때 켜져 있는 용어집 팩. + #: 체크를 안 해보고 그냥 쓰는 경우가 대부분이라 기본으로 켜둔다. + #: 게임 전용 팩끼리 역어가 갈리면 용어집 화면이 알려주므로, 안 하는 게임은 + #: 꺼주면 된다. + enabled_packs: list[str] = field( + default_factory=lambda: ["fps-common", "overwatch", "pubg", "r6siege", "watchdogs"] + ) @dataclass diff --git a/src/livesub/core/engine.py b/src/livesub/core/engine.py index 3d80dd3..dc7dbb4 100644 --- a/src/livesub/core/engine.py +++ b/src/livesub/core/engine.py @@ -103,9 +103,28 @@ class TranslationEngine: def reload_glossary(self) -> None: self.glossary = self._load_glossary() + def sync_performance(self) -> bool: + """저부하 모드 설정을 모델 매니저에 반영한다. 바뀌었으면 True. + + `ModelManager` 는 생성 시점의 `low_power` 로 연산 정밀도를 정한다. + 설정에서 모드를 토글해도 이 값을 갱신하지 않으면 이미 올라가 있는 + 이전 정밀도 모델이 그대로 쓰여서, 껐는데 품질이 안 오르거나 켰는데 + 게임이 계속 버벅이는 상태가 된다. 그래서 값을 바꾸고 모델을 내려 + 다음 사용 때 새 사양으로 다시 올라가게 한다. + """ + want = self.config.performance.game_mode + if self.models.low_power == want: + return False + log.info("저부하 모드 %s — 모델을 새 정밀도로 다시 올립니다", "켬" if want else "끔") + self.models.unload() + self.models.low_power = want + return True + # --- 내부 스레드 ---------------------------------------------------- def _bootstrap(self) -> None: try: + # 설정이 바뀐 채로 재시작됐을 수 있으므로 매 시작마다 맞춘다. + self.sync_performance() perf = self.config.performance if perf.game_mode and self.config.models.device == "cuda": # 모델을 올리기 *전에* 걸어야 상한이 실제로 먹는다. diff --git a/src/livesub/resources/glossaries/apex.json b/src/livesub/resources/glossaries/apex.json index 061c122..7f03fc5 100644 --- a/src/livesub/resources/glossaries/apex.json +++ b/src/livesub/resources/glossaries/apex.json @@ -2,51 +2,367 @@ "key": "apex", "name": "에이펙스 레전드", "description": "링·배너·부활 등 스쿼드 콜. 배틀로얄 FPS를 같이 하신다면 켜두세요.", + "scope": "game", "entries": [ - {"source": "legend", "targets": {"ko": "레전드", "ja": "レジェンド", "zh": "传奇"}}, - {"source": "ring", "targets": {"ko": "링", "ja": "リング", "zh": "圆圈"}}, - {"source": "ring is closing", "targets": {"ko": "링 좁혀진다", "ja": "リングが縮む", "zh": "圈要缩了"}}, - {"source": "jumpmaster", "targets": {"ko": "점프마스터", "ja": "ジャンプマスター", "zh": "跳伞指挥"}}, - {"source": "hot zone", "targets": {"ko": "핫존", "ja": "ホットゾーン", "zh": "热区"}}, - {"source": "care package", "targets": {"ko": "보급", "ja": "ケアパッケージ", "zh": "空投"}}, - {"source": "banner", "targets": {"ko": "배너", "ja": "バナー", "zh": "旗帜"}}, - {"source": "grab my banner", "targets": {"ko": "내 배너 챙겨", "ja": "バナー取って", "zh": "捡我旗帜"}}, - {"source": "respawn beacon", "targets": {"ko": "리스폰 비컨", "ja": "リスポーンビーコン", "zh": "重生信标"}}, - {"source": "survey beacon", "targets": {"ko": "조사 비컨", "ja": "調査ビーコン", "zh": "勘探信标"}}, - {"source": "knocked", "targets": {"ko": "눕혔다", "ja": "ダウンさせた", "zh": "打倒了"}}, - {"source": "thirsting", "targets": {"ko": "마무리", "ja": "追い打ち", "zh": "补刀"}}, - {"source": "finisher", "targets": {"ko": "피니셔", "ja": "フィニッシャー", "zh": "处决"}}, - {"source": "knockdown shield", "targets": {"ko": "녹다운 실드", "ja": "ノックダウンシールド", "zh": "击倒护盾"}}, - {"source": "evo shield", "targets": {"ko": "진화 실드", "ja": "EVOシールド", "zh": "进化护盾"}}, - {"source": "shield cell", "targets": {"ko": "실드 셀", "ja": "シールドセル", "zh": "小蓝"}}, - {"source": "shield battery", "targets": {"ko": "실드 배터리", "ja": "シールドバッテリー", "zh": "大蓝"}}, - {"source": "med kit", "targets": {"ko": "의료 키트", "ja": "医療キット", "zh": "大血包"}}, - {"source": "syringe", "targets": {"ko": "주사기", "ja": "注射器", "zh": "小血包"}}, - {"source": "phoenix kit", "targets": {"ko": "피닉스 키트", "ja": "フェニックスキット", "zh": "凤凰治疗包"}}, - {"source": "heat shield", "targets": {"ko": "히트 실드", "ja": "ヒートシールド", "zh": "隔热罩"}}, - {"source": "ult", "targets": {"ko": "궁", "ja": "アルト", "zh": "大招"}}, - {"source": "ultimate accelerant", "targets": {"ko": "궁 가속제", "ja": "アルト促進剤", "zh": "大招加速器"}}, - {"source": "tactical", "targets": {"ko": "전술 능력", "ja": "戦術アビリティ", "zh": "战术技能"}}, - {"source": "passive", "targets": {"ko": "패시브", "ja": "パッシブ", "zh": "被动"}}, - {"source": "zipline", "targets": {"ko": "집라인", "ja": "ジップライン", "zh": "索道"}}, - {"source": "portal", "targets": {"ko": "포탈", "ja": "ポータル", "zh": "传送门"}}, - {"source": "dome", "targets": {"ko": "돔", "ja": "ドーム", "zh": "护盾罩"}}, - {"source": "gas", "targets": {"ko": "가스", "ja": "ガス", "zh": "毒气"}}, - {"source": "wall", "targets": {"ko": "벽", "ja": "ウォール", "zh": "墙"}}, - {"source": "attachment", "targets": {"ko": "부착물", "ja": "アタッチメント", "zh": "配件"}}, - {"source": "purple", "targets": {"ko": "보라", "ja": "紫", "zh": "紫色"}}, - {"source": "gold", "targets": {"ko": "금", "ja": "金", "zh": "金色"}}, - {"source": "loot bin", "targets": {"ko": "보급 상자", "ja": "ルートビン", "zh": "物资箱"}}, - {"source": "death box", "targets": {"ko": "데스박스", "ja": "デスボックス", "zh": "死亡盒"}}, - {"source": "third party", "targets": {"ko": "어부", "ja": "漁夫", "zh": "第三方"}}, - {"source": "rotate", "targets": {"ko": "로테", "ja": "ローテ", "zh": "转点"}}, - {"source": "push them", "targets": {"ko": "밀어", "ja": "詰めよう", "zh": "推他们"}}, - {"source": "back off", "targets": {"ko": "빠져", "ja": "引こう", "zh": "撤"}}, - {"source": "high ground", "targets": {"ko": "고지", "ja": "高所", "zh": "高地"}}, - {"source": "ping", "targets": {"ko": "핑", "ja": "ピン", "zh": "标记"}}, - {"source": "ping it", "targets": {"ko": "핑 찍어", "ja": "ピンして", "zh": "标记一下"}}, - {"source": "squad wiped", "targets": {"ko": "스쿼드 전멸", "ja": "スクワッド全滅", "zh": "小队团灭"}}, - {"source": "champion", "targets": {"ko": "챔피언", "ja": "チャンピオン", "zh": "冠军"}}, - {"source": "kill leader", "targets": {"ko": "킬 리더", "ja": "キルリーダー", "zh": "击杀王"}} + { + "source": "legend", + "targets": { + "ko": "레전드", + "ja": "レジェンド", + "zh": "传奇" + } + }, + { + "source": "ring", + "targets": { + "ko": "링", + "ja": "リング", + "zh": "圆圈" + } + }, + { + "source": "ring is closing", + "targets": { + "ko": "링 좁혀진다", + "ja": "リングが縮む", + "zh": "圈要缩了" + } + }, + { + "source": "jumpmaster", + "targets": { + "ko": "점프마스터", + "ja": "ジャンプマスター", + "zh": "跳伞指挥" + } + }, + { + "source": "hot zone", + "targets": { + "ko": "핫존", + "ja": "ホットゾーン", + "zh": "热区" + } + }, + { + "source": "care package", + "targets": { + "ko": "보급", + "ja": "ケアパッケージ", + "zh": "空投" + } + }, + { + "source": "banner", + "targets": { + "ko": "배너", + "ja": "バナー", + "zh": "旗帜" + } + }, + { + "source": "grab my banner", + "targets": { + "ko": "내 배너 챙겨", + "ja": "バナー取って", + "zh": "捡我旗帜" + } + }, + { + "source": "respawn beacon", + "targets": { + "ko": "리스폰 비컨", + "ja": "リスポーンビーコン", + "zh": "重生信标" + } + }, + { + "source": "survey beacon", + "targets": { + "ko": "조사 비컨", + "ja": "調査ビーコン", + "zh": "勘探信标" + } + }, + { + "source": "knocked", + "targets": { + "ko": "눕혔다", + "ja": "ダウンさせた", + "zh": "打倒了" + } + }, + { + "source": "thirsting", + "targets": { + "ko": "마무리", + "ja": "追い打ち", + "zh": "补刀" + } + }, + { + "source": "finisher", + "targets": { + "ko": "피니셔", + "ja": "フィニッシャー", + "zh": "处决" + } + }, + { + "source": "knockdown shield", + "targets": { + "ko": "녹다운 실드", + "ja": "ノックダウンシールド", + "zh": "击倒护盾" + } + }, + { + "source": "evo shield", + "targets": { + "ko": "진화 실드", + "ja": "EVOシールド", + "zh": "进化护盾" + } + }, + { + "source": "shield cell", + "targets": { + "ko": "실드 셀", + "ja": "シールドセル", + "zh": "小蓝" + } + }, + { + "source": "shield battery", + "targets": { + "ko": "실드 배터리", + "ja": "シールドバッテリー", + "zh": "大蓝" + } + }, + { + "source": "med kit", + "targets": { + "ko": "의료 키트", + "ja": "医療キット", + "zh": "大血包" + } + }, + { + "source": "syringe", + "targets": { + "ko": "주사기", + "ja": "注射器", + "zh": "小血包" + } + }, + { + "source": "phoenix kit", + "targets": { + "ko": "피닉스 키트", + "ja": "フェニックスキット", + "zh": "凤凰治疗包" + } + }, + { + "source": "heat shield", + "targets": { + "ko": "히트 실드", + "ja": "ヒートシールド", + "zh": "隔热罩" + } + }, + { + "source": "ult", + "targets": { + "ko": "궁", + "ja": "アルト", + "zh": "大招" + } + }, + { + "source": "ultimate accelerant", + "targets": { + "ko": "궁 가속제", + "ja": "アルト促進剤", + "zh": "大招加速器" + } + }, + { + "source": "tactical", + "targets": { + "ko": "전술 능력", + "ja": "戦術アビリティ", + "zh": "战术技能" + } + }, + { + "source": "passive", + "targets": { + "ko": "패시브", + "ja": "パッシブ", + "zh": "被动" + } + }, + { + "source": "zipline", + "targets": { + "ko": "집라인", + "ja": "ジップライン", + "zh": "索道" + } + }, + { + "source": "portal", + "targets": { + "ko": "포탈", + "ja": "ポータル", + "zh": "传送门" + } + }, + { + "source": "dome", + "targets": { + "ko": "돔", + "ja": "ドーム", + "zh": "护盾罩" + } + }, + { + "source": "gas", + "targets": { + "ko": "가스", + "ja": "ガス", + "zh": "毒气" + } + }, + { + "source": "wall", + "targets": { + "ko": "벽", + "ja": "ウォール", + "zh": "墙" + } + }, + { + "source": "attachment", + "targets": { + "ko": "부착물", + "ja": "アタッチメント", + "zh": "配件" + } + }, + { + "source": "purple", + "targets": { + "ko": "보라", + "ja": "紫", + "zh": "紫色" + } + }, + { + "source": "gold", + "targets": { + "ko": "금", + "ja": "金", + "zh": "金色" + } + }, + { + "source": "loot bin", + "targets": { + "ko": "보급 상자", + "ja": "ルートビン", + "zh": "物资箱" + } + }, + { + "source": "death box", + "targets": { + "ko": "데스박스", + "ja": "デスボックス", + "zh": "死亡盒" + } + }, + { + "source": "third party", + "targets": { + "ko": "어부", + "ja": "漁夫", + "zh": "第三方" + } + }, + { + "source": "rotate", + "targets": { + "ko": "로테", + "ja": "ローテ", + "zh": "转点" + } + }, + { + "source": "push them", + "targets": { + "ko": "밀어", + "ja": "詰めよう", + "zh": "推他们" + } + }, + { + "source": "back off", + "targets": { + "ko": "빠져", + "ja": "引こう", + "zh": "撤" + } + }, + { + "source": "high ground", + "targets": { + "ko": "고지", + "ja": "高所", + "zh": "高地" + } + }, + { + "source": "ping", + "targets": { + "ko": "핑", + "ja": "ピン", + "zh": "标记" + } + }, + { + "source": "ping it", + "targets": { + "ko": "핑 찍어", + "ja": "ピンして", + "zh": "标记一下" + } + }, + { + "source": "squad wiped", + "targets": { + "ko": "스쿼드 전멸", + "ja": "スクワッド全滅", + "zh": "小队团灭" + } + }, + { + "source": "champion", + "targets": { + "ko": "챔피언", + "ja": "チャンピオン", + "zh": "冠军" + } + }, + { + "source": "kill leader", + "targets": { + "ko": "킬 리더", + "ja": "キルリーダー", + "zh": "击杀王" + } + } ] } diff --git a/src/livesub/resources/glossaries/fps-common.json b/src/livesub/resources/glossaries/fps-common.json index c0b8b8d..e070488 100644 --- a/src/livesub/resources/glossaries/fps-common.json +++ b/src/livesub/resources/glossaries/fps-common.json @@ -2,6 +2,7 @@ "key": "fps-common", "name": "FPS 공통", "description": "장르 전반에서 두루 쓰는 총기·교전·파티 콜. 게임별 팩과 같이 켜세요.", + "scope": "generic", "entries": [ { "source": "enemy", diff --git a/src/livesub/resources/glossaries/lol.json b/src/livesub/resources/glossaries/lol.json index 37b95bc..61dd475 100644 --- a/src/livesub/resources/glossaries/lol.json +++ b/src/livesub/resources/glossaries/lol.json @@ -2,80 +2,599 @@ "key": "lol", "name": "리그 오브 레전드", "description": "라인·오브젝트·교전 콜, 한국 서버에서 실제로 쓰는 말로 맞췄습니다.", + "scope": "game", "entries": [ - {"source": "Nexus", "targets": {"ko": "넥서스", "ja": "ネクサス", "zh": "基地"}}, - {"source": "inhibitor", "targets": {"ko": "억제기", "ja": "抑制器", "zh": "水晶"}}, - {"source": "inhib", "targets": {"ko": "억제기", "ja": "抑制器", "zh": "水晶"}}, - {"source": "turret", "targets": {"ko": "포탑", "ja": "タワー", "zh": "防御塔"}}, - {"source": "tower", "targets": {"ko": "포탑", "ja": "タワー", "zh": "防御塔"}}, - {"source": "baron", "targets": {"ko": "바론", "ja": "バロン", "zh": "大龙"}}, - {"source": "Baron Nashor", "targets": {"ko": "내셔 남작", "ja": "バロン・ナッシャー", "zh": "纳什男爵"}}, - {"source": "dragon", "targets": {"ko": "드래곤", "ja": "ドラゴン", "zh": "小龙"}}, - {"source": "drake", "targets": {"ko": "드래곤", "ja": "ドラゴン", "zh": "小龙"}}, - {"source": "elder", "targets": {"ko": "장로 드래곤", "ja": "エルダードラゴン", "zh": "远古龙"}}, - {"source": "herald", "targets": {"ko": "전령", "ja": "ヘラルド", "zh": "峡谷先锋"}}, - {"source": "Rift Herald", "targets": {"ko": "협곡의 전령", "ja": "リフトヘラルド", "zh": "峡谷先锋"}}, - {"source": "grubs", "targets": {"ko": "유충", "ja": "虫", "zh": "虚空幼虫"}}, - {"source": "gank", "targets": {"ko": "갱", "ja": "ガンク", "zh": "抓人"}}, - {"source": "ganking", "targets": {"ko": "갱킹", "ja": "ガンク", "zh": "抓人"}}, - {"source": "counter gank", "targets": {"ko": "역갱", "ja": "カウンターガンク", "zh": "反蹲"}}, - {"source": "roam", "targets": {"ko": "로밍", "ja": "ローム", "zh": "游走"}}, - {"source": "jungle", "targets": {"ko": "정글", "ja": "ジャングル", "zh": "打野"}}, - {"source": "jungler", "targets": {"ko": "정글러", "ja": "ジャングラー", "zh": "打野"}}, - {"source": "top lane", "targets": {"ko": "탑", "ja": "トップ", "zh": "上路"}}, - {"source": "mid lane", "targets": {"ko": "미드", "ja": "ミッド", "zh": "中路"}}, - {"source": "bot lane", "targets": {"ko": "바텀", "ja": "ボット", "zh": "下路"}}, - {"source": "support", "targets": {"ko": "서폿", "ja": "サポート", "zh": "辅助"}}, - {"source": "ADC", "targets": {"ko": "원딜", "ja": "ADC", "zh": "ADC"}}, - {"source": "minion", "targets": {"ko": "미니언", "ja": "ミニオン", "zh": "小兵"}}, - {"source": "wave", "targets": {"ko": "웨이브", "ja": "ウェーブ", "zh": "兵线"}}, - {"source": "creep score", "targets": {"ko": "CS", "ja": "CS", "zh": "补刀"}}, - {"source": "last hit", "targets": {"ko": "막타", "ja": "ラストヒット", "zh": "补刀"}}, - {"source": "freeze", "targets": {"ko": "프리징", "ja": "フリーズ", "zh": "控线"}}, - {"source": "push", "targets": {"ko": "푸시", "ja": "プッシュ", "zh": "推线"}}, - {"source": "split push", "targets": {"ko": "스플릿", "ja": "スプリットプッシュ", "zh": "分推"}}, - {"source": "back", "targets": {"ko": "귀환", "ja": "リコール", "zh": "回城"}}, - {"source": "recall", "targets": {"ko": "귀환", "ja": "リコール", "zh": "回城"}}, - {"source": "ward", "targets": {"ko": "와드", "ja": "ワード", "zh": "眼"}}, - {"source": "vision", "targets": {"ko": "시야", "ja": "視界", "zh": "视野"}}, - {"source": "flash", "targets": {"ko": "점멸", "ja": "フラッシュ", "zh": "闪现"}}, - {"source": "ignite", "targets": {"ko": "점화", "ja": "イグナイト", "zh": "点燃"}}, - {"source": "teleport", "targets": {"ko": "순간이동", "ja": "テレポート", "zh": "传送"}}, - {"source": "smite", "targets": {"ko": "강타", "ja": "スマイト", "zh": "惩戒"}}, - {"source": "ult", "targets": {"ko": "궁", "ja": "アルト", "zh": "大招"}}, - {"source": "ultimate", "targets": {"ko": "궁극기", "ja": "アルティメット", "zh": "大招"}}, - {"source": "cooldown", "targets": {"ko": "쿨", "ja": "クールダウン", "zh": "冷却"}}, - {"source": "on cooldown", "targets": {"ko": "쿨 도는 중", "ja": "クール中", "zh": "冷却中"}}, - {"source": "engage", "targets": {"ko": "이니시", "ja": "エンゲージ", "zh": "开团"}}, - {"source": "disengage", "targets": {"ko": "빠지기", "ja": "ディスエンゲージ", "zh": "撤退"}}, - {"source": "team fight", "targets": {"ko": "한타", "ja": "集団戦", "zh": "团战"}}, - {"source": "teamfight", "targets": {"ko": "한타", "ja": "集団戦", "zh": "团战"}}, - {"source": "peel", "targets": {"ko": "피어싱 보호", "ja": "ピール", "zh": "保护"}}, - {"source": "kite", "targets": {"ko": "카이팅", "ja": "カイト", "zh": "风筝"}}, - {"source": "poke", "targets": {"ko": "견제", "ja": "ポーク", "zh": "消耗"}}, - {"source": "dive", "targets": {"ko": "다이브", "ja": "ダイブ", "zh": "越塔"}}, - {"source": "tower dive", "targets": {"ko": "타워 다이브", "ja": "タワーダイブ", "zh": "越塔强杀"}}, - {"source": "ace", "targets": {"ko": "에이스", "ja": "エース", "zh": "团灭"}}, - {"source": "first blood", "targets": {"ko": "퍼블", "ja": "ファーストブラッド", "zh": "一血"}}, - {"source": "shutdown", "targets": {"ko": "현상금", "ja": "シャットダウン", "zh": "赏金"}}, - {"source": "respawn", "targets": {"ko": "부활", "ja": "リスポーン", "zh": "复活"}}, - {"source": "missing", "targets": {"ko": "실종", "ja": "ミア", "zh": "消失"}}, - {"source": "MIA", "targets": {"ko": "실종", "ja": "ミア", "zh": "消失"}}, - {"source": "SS", "targets": {"ko": "실종", "ja": "ミア", "zh": "消失"}}, - {"source": "fed", "targets": {"ko": "잘 큰", "ja": "育った", "zh": "养肥"}}, - {"source": "scaling", "targets": {"ko": "성장력", "ja": "スケーリング", "zh": "后期"}}, - {"source": "objective", "targets": {"ko": "오브젝트", "ja": "オブジェクト", "zh": "资源"}}, - {"source": "backdoor", "targets": {"ko": "백도어", "ja": "バックドア", "zh": "偷家"}}, - {"source": "surrender", "targets": {"ko": "항복", "ja": "サレンダー", "zh": "投降"}}, - {"source": "buff", "targets": {"ko": "버프", "ja": "バフ", "zh": "增益"}}, - {"source": "nerf", "targets": {"ko": "너프", "ja": "ナーフ", "zh": "削弱"}}, - {"source": "CC", "targets": {"ko": "군중제어", "ja": "CC", "zh": "控制"}}, - {"source": "stun", "targets": {"ko": "기절", "ja": "スタン", "zh": "眩晕"}}, - {"source": "slow", "targets": {"ko": "둔화", "ja": "スロウ", "zh": "减速"}}, - {"source": "shield", "targets": {"ko": "실드", "ja": "シールド", "zh": "护盾"}}, - {"source": "heal", "targets": {"ko": "회복", "ja": "ヒール", "zh": "治疗"}}, - {"source": "mana", "targets": {"ko": "마나", "ja": "マナ", "zh": "蓝"}}, - {"source": "low HP", "targets": {"ko": "체력 낮음", "ja": "体力低い", "zh": "残血"}}, - {"source": "full build", "targets": {"ko": "풀템", "ja": "フルビルド", "zh": "满装备"}} + { + "source": "Nexus", + "targets": { + "ko": "넥서스", + "ja": "ネクサス", + "zh": "基地" + } + }, + { + "source": "inhibitor", + "targets": { + "ko": "억제기", + "ja": "抑制器", + "zh": "水晶" + } + }, + { + "source": "inhib", + "targets": { + "ko": "억제기", + "ja": "抑制器", + "zh": "水晶" + } + }, + { + "source": "turret", + "targets": { + "ko": "포탑", + "ja": "タワー", + "zh": "防御塔" + } + }, + { + "source": "tower", + "targets": { + "ko": "포탑", + "ja": "タワー", + "zh": "防御塔" + } + }, + { + "source": "baron", + "targets": { + "ko": "바론", + "ja": "バロン", + "zh": "大龙" + } + }, + { + "source": "Baron Nashor", + "targets": { + "ko": "내셔 남작", + "ja": "バロン・ナッシャー", + "zh": "纳什男爵" + } + }, + { + "source": "dragon", + "targets": { + "ko": "드래곤", + "ja": "ドラゴン", + "zh": "小龙" + } + }, + { + "source": "drake", + "targets": { + "ko": "드래곤", + "ja": "ドラゴン", + "zh": "小龙" + } + }, + { + "source": "elder", + "targets": { + "ko": "장로 드래곤", + "ja": "エルダードラゴン", + "zh": "远古龙" + } + }, + { + "source": "herald", + "targets": { + "ko": "전령", + "ja": "ヘラルド", + "zh": "峡谷先锋" + } + }, + { + "source": "Rift Herald", + "targets": { + "ko": "협곡의 전령", + "ja": "リフトヘラルド", + "zh": "峡谷先锋" + } + }, + { + "source": "grubs", + "targets": { + "ko": "유충", + "ja": "虫", + "zh": "虚空幼虫" + } + }, + { + "source": "gank", + "targets": { + "ko": "갱", + "ja": "ガンク", + "zh": "抓人" + } + }, + { + "source": "ganking", + "targets": { + "ko": "갱킹", + "ja": "ガンク", + "zh": "抓人" + } + }, + { + "source": "counter gank", + "targets": { + "ko": "역갱", + "ja": "カウンターガンク", + "zh": "反蹲" + } + }, + { + "source": "roam", + "targets": { + "ko": "로밍", + "ja": "ローム", + "zh": "游走" + } + }, + { + "source": "jungle", + "targets": { + "ko": "정글", + "ja": "ジャングル", + "zh": "打野" + } + }, + { + "source": "jungler", + "targets": { + "ko": "정글러", + "ja": "ジャングラー", + "zh": "打野" + } + }, + { + "source": "top lane", + "targets": { + "ko": "탑", + "ja": "トップ", + "zh": "上路" + } + }, + { + "source": "mid lane", + "targets": { + "ko": "미드", + "ja": "ミッド", + "zh": "中路" + } + }, + { + "source": "bot lane", + "targets": { + "ko": "바텀", + "ja": "ボット", + "zh": "下路" + } + }, + { + "source": "support", + "targets": { + "ko": "서폿", + "ja": "サポート", + "zh": "辅助" + } + }, + { + "source": "ADC", + "targets": { + "ko": "원딜", + "ja": "ADC", + "zh": "ADC" + } + }, + { + "source": "minion", + "targets": { + "ko": "미니언", + "ja": "ミニオン", + "zh": "小兵" + } + }, + { + "source": "wave", + "targets": { + "ko": "웨이브", + "ja": "ウェーブ", + "zh": "兵线" + } + }, + { + "source": "creep score", + "targets": { + "ko": "CS", + "ja": "CS", + "zh": "补刀" + } + }, + { + "source": "last hit", + "targets": { + "ko": "막타", + "ja": "ラストヒット", + "zh": "补刀" + } + }, + { + "source": "freeze", + "targets": { + "ko": "프리징", + "ja": "フリーズ", + "zh": "控线" + } + }, + { + "source": "push", + "targets": { + "ko": "푸시", + "ja": "プッシュ", + "zh": "推线" + } + }, + { + "source": "split push", + "targets": { + "ko": "스플릿", + "ja": "スプリットプッシュ", + "zh": "分推" + } + }, + { + "source": "back", + "targets": { + "ko": "귀환", + "ja": "リコール", + "zh": "回城" + } + }, + { + "source": "recall", + "targets": { + "ko": "귀환", + "ja": "リコール", + "zh": "回城" + } + }, + { + "source": "ward", + "targets": { + "ko": "와드", + "ja": "ワード", + "zh": "眼" + } + }, + { + "source": "vision", + "targets": { + "ko": "시야", + "ja": "視界", + "zh": "视野" + } + }, + { + "source": "flash", + "targets": { + "ko": "점멸", + "ja": "フラッシュ", + "zh": "闪现" + } + }, + { + "source": "ignite", + "targets": { + "ko": "점화", + "ja": "イグナイト", + "zh": "点燃" + } + }, + { + "source": "teleport", + "targets": { + "ko": "순간이동", + "ja": "テレポート", + "zh": "传送" + } + }, + { + "source": "smite", + "targets": { + "ko": "강타", + "ja": "スマイト", + "zh": "惩戒" + } + }, + { + "source": "ult", + "targets": { + "ko": "궁", + "ja": "アルト", + "zh": "大招" + } + }, + { + "source": "ultimate", + "targets": { + "ko": "궁극기", + "ja": "アルティメット", + "zh": "大招" + } + }, + { + "source": "cooldown", + "targets": { + "ko": "쿨", + "ja": "クールダウン", + "zh": "冷却" + } + }, + { + "source": "on cooldown", + "targets": { + "ko": "쿨 도는 중", + "ja": "クール中", + "zh": "冷却中" + } + }, + { + "source": "engage", + "targets": { + "ko": "이니시", + "ja": "エンゲージ", + "zh": "开团" + } + }, + { + "source": "disengage", + "targets": { + "ko": "빠지기", + "ja": "ディスエンゲージ", + "zh": "撤退" + } + }, + { + "source": "team fight", + "targets": { + "ko": "한타", + "ja": "集団戦", + "zh": "团战" + } + }, + { + "source": "teamfight", + "targets": { + "ko": "한타", + "ja": "集団戦", + "zh": "团战" + } + }, + { + "source": "peel", + "targets": { + "ko": "피어싱 보호", + "ja": "ピール", + "zh": "保护" + } + }, + { + "source": "kite", + "targets": { + "ko": "카이팅", + "ja": "カイト", + "zh": "风筝" + } + }, + { + "source": "poke", + "targets": { + "ko": "견제", + "ja": "ポーク", + "zh": "消耗" + } + }, + { + "source": "dive", + "targets": { + "ko": "다이브", + "ja": "ダイブ", + "zh": "越塔" + } + }, + { + "source": "tower dive", + "targets": { + "ko": "타워 다이브", + "ja": "タワーダイブ", + "zh": "越塔强杀" + } + }, + { + "source": "ace", + "targets": { + "ko": "에이스", + "ja": "エース", + "zh": "团灭" + } + }, + { + "source": "first blood", + "targets": { + "ko": "퍼블", + "ja": "ファーストブラッド", + "zh": "一血" + } + }, + { + "source": "shutdown", + "targets": { + "ko": "현상금", + "ja": "シャットダウン", + "zh": "赏金" + } + }, + { + "source": "respawn", + "targets": { + "ko": "부활", + "ja": "リスポーン", + "zh": "复活" + } + }, + { + "source": "missing", + "targets": { + "ko": "실종", + "ja": "ミア", + "zh": "消失" + } + }, + { + "source": "MIA", + "targets": { + "ko": "실종", + "ja": "ミア", + "zh": "消失" + } + }, + { + "source": "SS", + "targets": { + "ko": "실종", + "ja": "ミア", + "zh": "消失" + } + }, + { + "source": "fed", + "targets": { + "ko": "잘 큰", + "ja": "育った", + "zh": "养肥" + } + }, + { + "source": "scaling", + "targets": { + "ko": "성장력", + "ja": "スケーリング", + "zh": "后期" + } + }, + { + "source": "objective", + "targets": { + "ko": "오브젝트", + "ja": "オブジェクト", + "zh": "资源" + } + }, + { + "source": "backdoor", + "targets": { + "ko": "백도어", + "ja": "バックドア", + "zh": "偷家" + } + }, + { + "source": "surrender", + "targets": { + "ko": "항복", + "ja": "サレンダー", + "zh": "投降" + } + }, + { + "source": "buff", + "targets": { + "ko": "버프", + "ja": "バフ", + "zh": "增益" + } + }, + { + "source": "nerf", + "targets": { + "ko": "너프", + "ja": "ナーフ", + "zh": "削弱" + } + }, + { + "source": "CC", + "targets": { + "ko": "군중제어", + "ja": "CC", + "zh": "控制" + } + }, + { + "source": "stun", + "targets": { + "ko": "기절", + "ja": "スタン", + "zh": "眩晕" + } + }, + { + "source": "slow", + "targets": { + "ko": "둔화", + "ja": "スロウ", + "zh": "减速" + } + }, + { + "source": "shield", + "targets": { + "ko": "실드", + "ja": "シールド", + "zh": "护盾" + } + }, + { + "source": "heal", + "targets": { + "ko": "회복", + "ja": "ヒール", + "zh": "治疗" + } + }, + { + "source": "mana", + "targets": { + "ko": "마나", + "ja": "マナ", + "zh": "蓝" + } + }, + { + "source": "low HP", + "targets": { + "ko": "체력 낮음", + "ja": "体力低い", + "zh": "残血" + } + }, + { + "source": "full build", + "targets": { + "ko": "풀템", + "ja": "フルビルド", + "zh": "满装备" + } + } ] } diff --git a/src/livesub/resources/glossaries/minecraft.json b/src/livesub/resources/glossaries/minecraft.json index 3ebd9e8..6d2de89 100644 --- a/src/livesub/resources/glossaries/minecraft.json +++ b/src/livesub/resources/glossaries/minecraft.json @@ -2,44 +2,311 @@ "key": "minecraft", "name": "마인크래프트", "description": "블록·몹·아이템 이름. 한국어판 공식 번역어를 따랐습니다.", + "scope": "game", "entries": [ - {"source": "creeper", "targets": {"ko": "크리퍼", "ja": "クリーパー", "zh": "苦力怕"}}, - {"source": "enderman", "targets": {"ko": "엔더맨", "ja": "エンダーマン", "zh": "末影人"}}, - {"source": "ender dragon", "targets": {"ko": "엔더 드래곤", "ja": "エンダードラゴン", "zh": "末影龙"}}, - {"source": "wither", "targets": {"ko": "위더", "ja": "ウィザー", "zh": "凋灵"}}, - {"source": "skeleton", "targets": {"ko": "스켈레톤", "ja": "スケルトン", "zh": "骷髅"}}, - {"source": "zombie", "targets": {"ko": "좀비", "ja": "ゾンビ", "zh": "僵尸"}}, - {"source": "piglin", "targets": {"ko": "피글린", "ja": "ピグリン", "zh": "猪灵"}}, - {"source": "villager", "targets": {"ko": "주민", "ja": "村人", "zh": "村民"}}, - {"source": "the Nether", "targets": {"ko": "네더", "ja": "ネザー", "zh": "下界"}}, - {"source": "the End", "targets": {"ko": "엔드", "ja": "ジ・エンド", "zh": "末地"}}, - {"source": "Overworld", "targets": {"ko": "오버월드", "ja": "オーバーワールド", "zh": "主世界"}}, - {"source": "nether portal", "targets": {"ko": "네더 차원문", "ja": "ネザーゲート", "zh": "下界传送门"}}, - {"source": "stronghold", "targets": {"ko": "요새", "ja": "要塞", "zh": "要塞"}}, - {"source": "bastion", "targets": {"ko": "잔해 성채", "ja": "砦の残骸", "zh": "堡垒遗迹"}}, - {"source": "diamond", "targets": {"ko": "다이아몬드", "ja": "ダイヤ", "zh": "钻石"}}, - {"source": "netherite", "targets": {"ko": "네더라이트", "ja": "ネザライト", "zh": "下界合金"}}, - {"source": "obsidian", "targets": {"ko": "흑요석", "ja": "黒曜石", "zh": "黑曜石"}}, - {"source": "redstone", "targets": {"ko": "레드스톤", "ja": "レッドストーン", "zh": "红石"}}, - {"source": "ender pearl", "targets": {"ko": "엔더 진주", "ja": "エンダーパール", "zh": "末影珍珠"}}, - {"source": "blaze rod", "targets": {"ko": "블레이즈 막대", "ja": "ブレイズロッド", "zh": "烈焰棒"}}, - {"source": "elytra", "targets": {"ko": "겉날개", "ja": "エリトラ", "zh": "鞘翅"}}, - {"source": "totem", "targets": {"ko": "불사의 토템", "ja": "不死のトーテム", "zh": "不死图腾"}}, - {"source": "enchant", "targets": {"ko": "인챈트", "ja": "エンチャント", "zh": "附魔"}}, - {"source": "anvil", "targets": {"ko": "모루", "ja": "金床", "zh": "铁砧"}}, - {"source": "crafting table", "targets": {"ko": "작업대", "ja": "作業台", "zh": "工作台"}}, - {"source": "furnace", "targets": {"ko": "화로", "ja": "かまど", "zh": "熔炉"}}, - {"source": "chest", "targets": {"ko": "상자", "ja": "チェスト", "zh": "箱子"}}, - {"source": "spawn point", "targets": {"ko": "스폰 지점", "ja": "スポーン地点", "zh": "出生点"}}, - {"source": "respawn", "targets": {"ko": "리스폰", "ja": "リスポーン", "zh": "重生"}}, - {"source": "biome", "targets": {"ko": "생물 군계", "ja": "バイオーム", "zh": "生物群系"}}, - {"source": "seed", "targets": {"ko": "시드", "ja": "シード", "zh": "种子"}}, - {"source": "mob", "targets": {"ko": "몹", "ja": "モブ", "zh": "生物"}}, - {"source": "hardcore", "targets": {"ko": "하드코어", "ja": "ハードコア", "zh": "极限模式"}}, - {"source": "speedrun", "targets": {"ko": "스피드런", "ja": "RTA", "zh": "速通"}}, - {"source": "mine", "targets": {"ko": "채굴", "ja": "採掘", "zh": "挖矿"}}, - {"source": "craft", "targets": {"ko": "제작", "ja": "クラフト", "zh": "合成"}}, - {"source": "build", "targets": {"ko": "건축", "ja": "建築", "zh": "建造"}}, - {"source": "farm", "targets": {"ko": "농장", "ja": "トラップ", "zh": "农场"}} + { + "source": "creeper", + "targets": { + "ko": "크리퍼", + "ja": "クリーパー", + "zh": "苦力怕" + } + }, + { + "source": "enderman", + "targets": { + "ko": "엔더맨", + "ja": "エンダーマン", + "zh": "末影人" + } + }, + { + "source": "ender dragon", + "targets": { + "ko": "엔더 드래곤", + "ja": "エンダードラゴン", + "zh": "末影龙" + } + }, + { + "source": "wither", + "targets": { + "ko": "위더", + "ja": "ウィザー", + "zh": "凋灵" + } + }, + { + "source": "skeleton", + "targets": { + "ko": "스켈레톤", + "ja": "スケルトン", + "zh": "骷髅" + } + }, + { + "source": "zombie", + "targets": { + "ko": "좀비", + "ja": "ゾンビ", + "zh": "僵尸" + } + }, + { + "source": "piglin", + "targets": { + "ko": "피글린", + "ja": "ピグリン", + "zh": "猪灵" + } + }, + { + "source": "villager", + "targets": { + "ko": "주민", + "ja": "村人", + "zh": "村民" + } + }, + { + "source": "the Nether", + "targets": { + "ko": "네더", + "ja": "ネザー", + "zh": "下界" + } + }, + { + "source": "the End", + "targets": { + "ko": "엔드", + "ja": "ジ・エンド", + "zh": "末地" + } + }, + { + "source": "Overworld", + "targets": { + "ko": "오버월드", + "ja": "オーバーワールド", + "zh": "主世界" + } + }, + { + "source": "nether portal", + "targets": { + "ko": "네더 차원문", + "ja": "ネザーゲート", + "zh": "下界传送门" + } + }, + { + "source": "stronghold", + "targets": { + "ko": "요새", + "ja": "要塞", + "zh": "要塞" + } + }, + { + "source": "bastion", + "targets": { + "ko": "잔해 성채", + "ja": "砦の残骸", + "zh": "堡垒遗迹" + } + }, + { + "source": "diamond", + "targets": { + "ko": "다이아몬드", + "ja": "ダイヤ", + "zh": "钻石" + } + }, + { + "source": "netherite", + "targets": { + "ko": "네더라이트", + "ja": "ネザライト", + "zh": "下界合金" + } + }, + { + "source": "obsidian", + "targets": { + "ko": "흑요석", + "ja": "黒曜石", + "zh": "黑曜石" + } + }, + { + "source": "redstone", + "targets": { + "ko": "레드스톤", + "ja": "レッドストーン", + "zh": "红石" + } + }, + { + "source": "ender pearl", + "targets": { + "ko": "엔더 진주", + "ja": "エンダーパール", + "zh": "末影珍珠" + } + }, + { + "source": "blaze rod", + "targets": { + "ko": "블레이즈 막대", + "ja": "ブレイズロッド", + "zh": "烈焰棒" + } + }, + { + "source": "elytra", + "targets": { + "ko": "겉날개", + "ja": "エリトラ", + "zh": "鞘翅" + } + }, + { + "source": "totem", + "targets": { + "ko": "불사의 토템", + "ja": "不死のトーテム", + "zh": "不死图腾" + } + }, + { + "source": "enchant", + "targets": { + "ko": "인챈트", + "ja": "エンチャント", + "zh": "附魔" + } + }, + { + "source": "anvil", + "targets": { + "ko": "모루", + "ja": "金床", + "zh": "铁砧" + } + }, + { + "source": "crafting table", + "targets": { + "ko": "작업대", + "ja": "作業台", + "zh": "工作台" + } + }, + { + "source": "furnace", + "targets": { + "ko": "화로", + "ja": "かまど", + "zh": "熔炉" + } + }, + { + "source": "chest", + "targets": { + "ko": "상자", + "ja": "チェスト", + "zh": "箱子" + } + }, + { + "source": "spawn point", + "targets": { + "ko": "스폰 지점", + "ja": "スポーン地点", + "zh": "出生点" + } + }, + { + "source": "respawn", + "targets": { + "ko": "리스폰", + "ja": "リスポーン", + "zh": "重生" + } + }, + { + "source": "biome", + "targets": { + "ko": "생물 군계", + "ja": "バイオーム", + "zh": "生物群系" + } + }, + { + "source": "seed", + "targets": { + "ko": "시드", + "ja": "シード", + "zh": "种子" + } + }, + { + "source": "mob", + "targets": { + "ko": "몹", + "ja": "モブ", + "zh": "生物" + } + }, + { + "source": "hardcore", + "targets": { + "ko": "하드코어", + "ja": "ハードコア", + "zh": "极限模式" + } + }, + { + "source": "speedrun", + "targets": { + "ko": "스피드런", + "ja": "RTA", + "zh": "速通" + } + }, + { + "source": "mine", + "targets": { + "ko": "채굴", + "ja": "採掘", + "zh": "挖矿" + } + }, + { + "source": "craft", + "targets": { + "ko": "제작", + "ja": "クラフト", + "zh": "合成" + } + }, + { + "source": "build", + "targets": { + "ko": "건축", + "ja": "建築", + "zh": "建造" + } + }, + { + "source": "farm", + "targets": { + "ko": "농장", + "ja": "トラップ", + "zh": "农场" + } + } ] } diff --git a/src/livesub/resources/glossaries/overwatch.json b/src/livesub/resources/glossaries/overwatch.json index 76ec41e..9770b14 100644 --- a/src/livesub/resources/glossaries/overwatch.json +++ b/src/livesub/resources/glossaries/overwatch.json @@ -2,55 +2,399 @@ "key": "overwatch", "name": "오버워치 2", "description": "역할·궁·거점 콜. 한국 공식 번역어를 우선했습니다.", + "scope": "game", "entries": [ - {"source": "tank", "targets": {"ko": "탱커", "ja": "タンク", "zh": "重装"}}, - {"source": "DPS", "targets": {"ko": "딜러", "ja": "ダメージ", "zh": "输出"}}, - {"source": "damage", "targets": {"ko": "딜", "ja": "ダメージ", "zh": "伤害"}}, - {"source": "support", "targets": {"ko": "지원가", "ja": "サポート", "zh": "辅助"}}, - {"source": "healer", "targets": {"ko": "힐러", "ja": "ヒーラー", "zh": "奶"}}, - {"source": "ult", "targets": {"ko": "궁", "ja": "アルト", "zh": "大招"}}, - {"source": "ultimate", "targets": {"ko": "궁극기", "ja": "アルティメット", "zh": "终极技能"}}, - {"source": "ult charge", "targets": {"ko": "궁 게이지", "ja": "アルトゲージ", "zh": "大招能量"}}, - {"source": "ult economy", "targets": {"ko": "궁 경제", "ja": "アルト回し", "zh": "大招经济"}}, - {"source": "combo", "targets": {"ko": "연계", "ja": "コンボ", "zh": "连招"}}, - {"source": "dive", "targets": {"ko": "다이브", "ja": "ダイブ", "zh": "突进"}}, - {"source": "poke", "targets": {"ko": "견제", "ja": "ポーク", "zh": "消耗"}}, - {"source": "brawl", "targets": {"ko": "난전", "ja": "ブロール", "zh": "近战团"}}, - {"source": "payload", "targets": {"ko": "화물", "ja": "ペイロード", "zh": "运载目标"}}, - {"source": "point", "targets": {"ko": "거점", "ja": "拠点", "zh": "点"}}, - {"source": "capture", "targets": {"ko": "점령", "ja": "占領", "zh": "占点"}}, - {"source": "contest", "targets": {"ko": "저지", "ja": "コンテスト", "zh": "拖点"}}, - {"source": "overtime", "targets": {"ko": "연장", "ja": "オーバータイム", "zh": "加时"}}, - {"source": "checkpoint", "targets": {"ko": "관문", "ja": "チェックポイント", "zh": "检查点"}}, - {"source": "spawn", "targets": {"ko": "리스폰", "ja": "リスポーン", "zh": "重生点"}}, - {"source": "regroup", "targets": {"ko": "모이자", "ja": "集合", "zh": "集合"}}, - {"source": "group up", "targets": {"ko": "모이자", "ja": "集合", "zh": "集合"}}, - {"source": "stagger", "targets": {"ko": "스태거", "ja": "スタッガー", "zh": "送人头"}}, - {"source": "flank", "targets": {"ko": "측면", "ja": "フランク", "zh": "绕后"}}, - {"source": "high ground", "targets": {"ko": "고지", "ja": "高台", "zh": "高地"}}, - {"source": "cooldown", "targets": {"ko": "쿨", "ja": "クールダウン", "zh": "冷却"}}, - {"source": "barrier", "targets": {"ko": "방벽", "ja": "バリア", "zh": "护盾"}}, - {"source": "shield", "targets": {"ko": "보호막", "ja": "シールド", "zh": "护盾"}}, - {"source": "armor", "targets": {"ko": "방어력", "ja": "アーマー", "zh": "护甲"}}, - {"source": "burst", "targets": {"ko": "순간 딜", "ja": "バースト", "zh": "爆发"}}, - {"source": "focus", "targets": {"ko": "집중 공격", "ja": "フォーカス", "zh": "集火"}}, - {"source": "peel", "targets": {"ko": "보호", "ja": "ピール", "zh": "保护"}}, - {"source": "nano", "targets": {"ko": "나노", "ja": "ナノ", "zh": "纳米"}}, - {"source": "beat", "targets": {"ko": "비트", "ja": "ビート", "zh": "音障"}}, - {"source": "sound barrier", "targets": {"ko": "음파 방벽", "ja": "サウンドバリア", "zh": "音障"}}, - {"source": "rez", "targets": {"ko": "부활", "ja": "リザ", "zh": "复活"}}, - {"source": "resurrect", "targets": {"ko": "부활", "ja": "リザレクト", "zh": "复活"}}, - {"source": "discord", "targets": {"ko": "불화의 구슬", "ja": "ディスコード", "zh": "不和之球"}}, - {"source": "hack", "targets": {"ko": "해킹", "ja": "ハック", "zh": "黑入"}}, - {"source": "EMP", "targets": {"ko": "EMP", "ja": "EMP", "zh": "EMP"}}, - {"source": "team wipe", "targets": {"ko": "전멸", "ja": "全滅", "zh": "团灭"}}, - {"source": "team fight", "targets": {"ko": "한타", "ja": "チームファイト", "zh": "团战"}}, - {"source": "counter pick", "targets": {"ko": "카운터 픽", "ja": "カウンターピック", "zh": "针对英雄"}}, - {"source": "swap", "targets": {"ko": "영웅 교체", "ja": "ヒーロー変更", "zh": "换英雄"}}, - {"source": "health pack", "targets": {"ko": "회복팩", "ja": "回復パック", "zh": "血包"}}, - {"source": "critical", "targets": {"ko": "치명타", "ja": "クリティカル", "zh": "暴击"}}, - {"source": "behind you", "targets": {"ko": "뒤에 있다", "ja": "後ろだ", "zh": "背后有人"}}, - {"source": "falling back", "targets": {"ko": "후퇴한다", "ja": "後退する", "zh": "撤退"}}, - {"source": "push", "targets": {"ko": "밀자", "ja": "押そう", "zh": "推进"}} + { + "source": "tank", + "targets": { + "ko": "탱커", + "ja": "タンク", + "zh": "重装" + } + }, + { + "source": "DPS", + "targets": { + "ko": "딜러", + "ja": "ダメージ", + "zh": "输出" + } + }, + { + "source": "damage", + "targets": { + "ko": "딜", + "ja": "ダメージ", + "zh": "伤害" + } + }, + { + "source": "support", + "targets": { + "ko": "지원가", + "ja": "サポート", + "zh": "辅助" + } + }, + { + "source": "healer", + "targets": { + "ko": "힐러", + "ja": "ヒーラー", + "zh": "奶" + } + }, + { + "source": "ult", + "targets": { + "ko": "궁", + "ja": "アルト", + "zh": "大招" + } + }, + { + "source": "ultimate", + "targets": { + "ko": "궁극기", + "ja": "アルティメット", + "zh": "终极技能" + } + }, + { + "source": "ult charge", + "targets": { + "ko": "궁 게이지", + "ja": "アルトゲージ", + "zh": "大招能量" + } + }, + { + "source": "ult economy", + "targets": { + "ko": "궁 경제", + "ja": "アルト回し", + "zh": "大招经济" + } + }, + { + "source": "combo", + "targets": { + "ko": "연계", + "ja": "コンボ", + "zh": "连招" + } + }, + { + "source": "dive", + "targets": { + "ko": "다이브", + "ja": "ダイブ", + "zh": "突进" + } + }, + { + "source": "poke", + "targets": { + "ko": "견제", + "ja": "ポーク", + "zh": "消耗" + } + }, + { + "source": "brawl", + "targets": { + "ko": "난전", + "ja": "ブロール", + "zh": "近战团" + } + }, + { + "source": "payload", + "targets": { + "ko": "화물", + "ja": "ペイロード", + "zh": "运载目标" + } + }, + { + "source": "point", + "targets": { + "ko": "거점", + "ja": "拠点", + "zh": "点" + } + }, + { + "source": "capture", + "targets": { + "ko": "점령", + "ja": "占領", + "zh": "占点" + } + }, + { + "source": "contest", + "targets": { + "ko": "저지", + "ja": "コンテスト", + "zh": "拖点" + } + }, + { + "source": "overtime", + "targets": { + "ko": "연장", + "ja": "オーバータイム", + "zh": "加时" + } + }, + { + "source": "checkpoint", + "targets": { + "ko": "관문", + "ja": "チェックポイント", + "zh": "检查点" + } + }, + { + "source": "spawn", + "targets": { + "ko": "리스폰", + "ja": "リスポーン", + "zh": "重生点" + } + }, + { + "source": "regroup", + "targets": { + "ko": "모이자", + "ja": "集合", + "zh": "集合" + } + }, + { + "source": "group up", + "targets": { + "ko": "모이자", + "ja": "集合", + "zh": "集合" + } + }, + { + "source": "stagger", + "targets": { + "ko": "스태거", + "ja": "スタッガー", + "zh": "送人头" + } + }, + { + "source": "flank", + "targets": { + "ko": "측면", + "ja": "フランク", + "zh": "绕后" + } + }, + { + "source": "high ground", + "targets": { + "ko": "고지", + "ja": "高台", + "zh": "高地" + } + }, + { + "source": "cooldown", + "targets": { + "ko": "쿨", + "ja": "クールダウン", + "zh": "冷却" + } + }, + { + "source": "barrier", + "targets": { + "ko": "방벽", + "ja": "バリア", + "zh": "护盾" + } + }, + { + "source": "shield", + "targets": { + "ko": "보호막", + "ja": "シールド", + "zh": "护盾" + } + }, + { + "source": "armor", + "targets": { + "ko": "방어력", + "ja": "アーマー", + "zh": "护甲" + } + }, + { + "source": "burst", + "targets": { + "ko": "순간 딜", + "ja": "バースト", + "zh": "爆发" + } + }, + { + "source": "focus", + "targets": { + "ko": "집중 공격", + "ja": "フォーカス", + "zh": "集火" + } + }, + { + "source": "peel", + "targets": { + "ko": "보호", + "ja": "ピール", + "zh": "保护" + } + }, + { + "source": "nano", + "targets": { + "ko": "나노", + "ja": "ナノ", + "zh": "纳米" + } + }, + { + "source": "beat", + "targets": { + "ko": "비트", + "ja": "ビート", + "zh": "音障" + } + }, + { + "source": "sound barrier", + "targets": { + "ko": "음파 방벽", + "ja": "サウンドバリア", + "zh": "音障" + } + }, + { + "source": "rez", + "targets": { + "ko": "부활", + "ja": "リザ", + "zh": "复活" + } + }, + { + "source": "resurrect", + "targets": { + "ko": "부활", + "ja": "リザレクト", + "zh": "复活" + } + }, + { + "source": "discord", + "targets": { + "ko": "불화의 구슬", + "ja": "ディスコード", + "zh": "不和之球" + } + }, + { + "source": "hack", + "targets": { + "ko": "해킹", + "ja": "ハック", + "zh": "黑入" + } + }, + { + "source": "EMP", + "targets": { + "ko": "EMP", + "ja": "EMP", + "zh": "EMP" + } + }, + { + "source": "team wipe", + "targets": { + "ko": "전멸", + "ja": "全滅", + "zh": "团灭" + } + }, + { + "source": "team fight", + "targets": { + "ko": "한타", + "ja": "チームファイト", + "zh": "团战" + } + }, + { + "source": "counter pick", + "targets": { + "ko": "카운터 픽", + "ja": "カウンターピック", + "zh": "针对英雄" + } + }, + { + "source": "swap", + "targets": { + "ko": "영웅 교체", + "ja": "ヒーロー変更", + "zh": "换英雄" + } + }, + { + "source": "health pack", + "targets": { + "ko": "회복팩", + "ja": "回復パック", + "zh": "血包" + } + }, + { + "source": "critical", + "targets": { + "ko": "치명타", + "ja": "クリティカル", + "zh": "暴击" + } + }, + { + "source": "behind you", + "targets": { + "ko": "뒤에 있다", + "ja": "後ろだ", + "zh": "背后有人" + } + }, + { + "source": "falling back", + "targets": { + "ko": "후퇴한다", + "ja": "後退する", + "zh": "撤退" + } + }, + { + "source": "push", + "targets": { + "ko": "밀자", + "ja": "押そう", + "zh": "推进" + } + } ] } diff --git a/src/livesub/resources/glossaries/pubg.json b/src/livesub/resources/glossaries/pubg.json index 9b3bbb8..e7789d2 100644 --- a/src/livesub/resources/glossaries/pubg.json +++ b/src/livesub/resources/glossaries/pubg.json @@ -2,72 +2,527 @@ "key": "pubg", "name": "배틀그라운드 (PUBG)", "description": "자기장·파밍·스쿼드 콜. 배틀로얄 공통 용어도 같이 들어 있습니다.", + "scope": "game", "entries": [ - {"source": "chicken dinner", "targets": {"ko": "치킨", "ja": "ドン勝", "zh": "吃鸡"}}, - {"source": "winner winner chicken dinner", "targets": {"ko": "이겼닭! 오늘 저녁은 치킨이닭!", "ja": "ドン勝つ!", "zh": "大吉大利,今晚吃鸡"}}, - {"source": "blue zone", "targets": {"ko": "자기장", "ja": "ブルーゾーン", "zh": "蓝圈"}}, - {"source": "the blue", "targets": {"ko": "자기장", "ja": "ブルーゾーン", "zh": "蓝圈"}}, - {"source": "circle", "targets": {"ko": "자기장", "ja": "サークル", "zh": "圈"}}, - {"source": "red zone", "targets": {"ko": "폭격 지역", "ja": "レッドゾーン", "zh": "红区"}}, - {"source": "safe zone", "targets": {"ko": "안전 구역", "ja": "セーフゾーン", "zh": "安全区"}}, - {"source": "zone is closing", "targets": {"ko": "자기장 좁혀진다", "ja": "ゾーンが縮まる", "zh": "圈要缩了"}}, - {"source": "final circle", "targets": {"ko": "막자", "ja": "最終サークル", "zh": "决赛圈"}}, - {"source": "drop", "targets": {"ko": "낙하", "ja": "降下", "zh": "跳伞"}}, - {"source": "hot drop", "targets": {"ko": "핫드랍", "ja": "ホットドロップ", "zh": "热门点"}}, - {"source": "landing", "targets": {"ko": "착지", "ja": "着地", "zh": "落地"}}, - {"source": "where are we dropping", "targets": {"ko": "어디 내릴까", "ja": "どこ降りる", "zh": "跳哪里"}}, - {"source": "loot", "targets": {"ko": "파밍", "ja": "物資", "zh": "物资"}}, - {"source": "looting", "targets": {"ko": "파밍 중", "ja": "漁り中", "zh": "搜物资"}}, - {"source": "care package", "targets": {"ko": "보급", "ja": "補給物資", "zh": "空投"}}, - {"source": "airdrop", "targets": {"ko": "보급 상자", "ja": "エアドロップ", "zh": "空投"}}, - {"source": "third party", "targets": {"ko": "어부", "ja": "漁夫", "zh": "第三方"}}, - {"source": "third partied", "targets": {"ko": "어부 당했다", "ja": "漁夫られた", "zh": "被第三方了"}}, - {"source": "squad", "targets": {"ko": "스쿼드", "ja": "スクワッド", "zh": "四排"}}, - {"source": "duo", "targets": {"ko": "듀오", "ja": "デュオ", "zh": "双排"}}, - {"source": "solo", "targets": {"ko": "솔로", "ja": "ソロ", "zh": "单排"}}, - {"source": "knocked", "targets": {"ko": "눕혔다", "ja": "ダウンさせた", "zh": "打倒了"}}, - {"source": "knocked down", "targets": {"ko": "기절", "ja": "ダウン", "zh": "倒地"}}, - {"source": "finish him", "targets": {"ko": "마무리해", "ja": "とどめ刺して", "zh": "补掉他"}}, - {"source": "revive", "targets": {"ko": "살리기", "ja": "蘇生", "zh": "救人"}}, - {"source": "reviving", "targets": {"ko": "살리는 중", "ja": "蘇生中", "zh": "救人中"}}, - {"source": "res me", "targets": {"ko": "살려줘", "ja": "起こして", "zh": "救我"}}, - {"source": "med kit", "targets": {"ko": "구급상자", "ja": "救急箱", "zh": "医疗箱"}}, - {"source": "first aid", "targets": {"ko": "구급상자", "ja": "応急手当", "zh": "急救包"}}, - {"source": "bandage", "targets": {"ko": "붕대", "ja": "包帯", "zh": "绷带"}}, - {"source": "energy drink", "targets": {"ko": "에너지 드링크", "ja": "エナドリ", "zh": "饮料"}}, - {"source": "painkiller", "targets": {"ko": "진통제", "ja": "鎮痛剤", "zh": "止痛药"}}, - {"source": "boost", "targets": {"ko": "부스트", "ja": "ブースト", "zh": "能量"}}, - {"source": "level 3 helmet", "targets": {"ko": "3렙 헬멧", "ja": "レベル3ヘルメット", "zh": "三级头"}}, - {"source": "level 3 vest", "targets": {"ko": "3렙 조끼", "ja": "レベル3アーマー", "zh": "三级甲"}}, - {"source": "backpack", "targets": {"ko": "가방", "ja": "バックパック", "zh": "背包"}}, - {"source": "scope", "targets": {"ko": "배율", "ja": "スコープ", "zh": "倍镜"}}, - {"source": "8x", "targets": {"ko": "8배율", "ja": "8倍", "zh": "八倍镜"}}, - {"source": "4x", "targets": {"ko": "4배율", "ja": "4倍", "zh": "四倍镜"}}, - {"source": "red dot", "targets": {"ko": "레드닷", "ja": "レッドドット", "zh": "红点"}}, - {"source": "suppressor", "targets": {"ko": "소음기", "ja": "サプレッサー", "zh": "消音器"}}, - {"source": "compensator", "targets": {"ko": "보정기", "ja": "コンペンセイター", "zh": "补偿器"}}, - {"source": "grip", "targets": {"ko": "손잡이", "ja": "グリップ", "zh": "握把"}}, - {"source": "extended mag", "targets": {"ko": "확장 탄창", "ja": "拡張マガジン", "zh": "扩容弹匣"}}, - {"source": "ammo", "targets": {"ko": "탄약", "ja": "弾薬", "zh": "子弹"}}, - {"source": "need ammo", "targets": {"ko": "탄 필요해", "ja": "弾ちょうだい", "zh": "要子弹"}}, - {"source": "frag grenade", "targets": {"ko": "수류탄", "ja": "フラグ", "zh": "手雷"}}, - {"source": "molotov", "targets": {"ko": "화염병", "ja": "モロトフ", "zh": "燃烧瓶"}}, - {"source": "smoke", "targets": {"ko": "연막", "ja": "スモーク", "zh": "烟雾弹"}}, - {"source": "stun", "targets": {"ko": "섬광", "ja": "スタン", "zh": "闪光"}}, - {"source": "prone", "targets": {"ko": "엎드려", "ja": "伏せろ", "zh": "趴下"}}, - {"source": "take cover", "targets": {"ko": "엄폐해", "ja": "隠れて", "zh": "找掩体"}}, - {"source": "cover", "targets": {"ko": "엄폐물", "ja": "遮蔽物", "zh": "掩体"}}, - {"source": "compound", "targets": {"ko": "건물 단지", "ja": "建物群", "zh": "房区"}}, - {"source": "ridge", "targets": {"ko": "능선", "ja": "尾根", "zh": "山脊"}}, - {"source": "high ground", "targets": {"ko": "고지", "ja": "高所", "zh": "高地"}}, - {"source": "vehicle", "targets": {"ko": "차량", "ja": "車両", "zh": "载具"}}, - {"source": "get in the car", "targets": {"ko": "차 타", "ja": "車乗って", "zh": "上车"}}, - {"source": "fuel", "targets": {"ko": "연료", "ja": "燃料", "zh": "油"}}, - {"source": "footsteps", "targets": {"ko": "발소리", "ja": "足音", "zh": "脚步声"}}, - {"source": "I hear footsteps", "targets": {"ko": "발소리 들린다", "ja": "足音する", "zh": "听到脚步"}}, - {"source": "sniper", "targets": {"ko": "저격수", "ja": "スナイパー", "zh": "狙击手"}}, - {"source": "kar98", "targets": {"ko": "카구팔", "ja": "Kar98k", "zh": "98K"}}, - {"source": "spectate", "targets": {"ko": "관전", "ja": "観戦", "zh": "观战"}}, - {"source": "rank push", "targets": {"ko": "티어 올리기", "ja": "ランク上げ", "zh": "上分"}} + { + "source": "chicken dinner", + "targets": { + "ko": "치킨", + "ja": "ドン勝", + "zh": "吃鸡" + } + }, + { + "source": "winner winner chicken dinner", + "targets": { + "ko": "이겼닭! 오늘 저녁은 치킨이닭!", + "ja": "ドン勝つ!", + "zh": "大吉大利,今晚吃鸡" + } + }, + { + "source": "blue zone", + "targets": { + "ko": "자기장", + "ja": "ブルーゾーン", + "zh": "蓝圈" + } + }, + { + "source": "circle", + "targets": { + "ko": "자기장", + "ja": "サークル", + "zh": "圈" + } + }, + { + "source": "red zone", + "targets": { + "ko": "폭격 지역", + "ja": "レッドゾーン", + "zh": "红区" + } + }, + { + "source": "safe zone", + "targets": { + "ko": "안전 구역", + "ja": "セーフゾーン", + "zh": "安全区" + } + }, + { + "source": "zone is closing", + "targets": { + "ko": "자기장 좁혀진다", + "ja": "ゾーンが縮まる", + "zh": "圈要缩了" + } + }, + { + "source": "final circle", + "targets": { + "ko": "막자", + "ja": "最終サークル", + "zh": "决赛圈" + } + }, + { + "source": "drop", + "targets": { + "ko": "낙하", + "ja": "降下", + "zh": "跳伞" + } + }, + { + "source": "hot drop", + "targets": { + "ko": "핫드랍", + "ja": "ホットドロップ", + "zh": "热门点" + } + }, + { + "source": "landing", + "targets": { + "ko": "착지", + "ja": "着地", + "zh": "落地" + } + }, + { + "source": "where are we dropping", + "targets": { + "ko": "어디 내릴까", + "ja": "どこ降りる", + "zh": "跳哪里" + } + }, + { + "source": "loot", + "targets": { + "ko": "파밍", + "ja": "物資", + "zh": "物资" + } + }, + { + "source": "looting", + "targets": { + "ko": "파밍 중", + "ja": "漁り中", + "zh": "搜物资" + } + }, + { + "source": "care package", + "targets": { + "ko": "보급", + "ja": "補給物資", + "zh": "空投" + } + }, + { + "source": "airdrop", + "targets": { + "ko": "보급 상자", + "ja": "エアドロップ", + "zh": "空投" + } + }, + { + "source": "third party", + "targets": { + "ko": "어부", + "ja": "漁夫", + "zh": "第三方" + } + }, + { + "source": "third partied", + "targets": { + "ko": "어부 당했다", + "ja": "漁夫られた", + "zh": "被第三方了" + } + }, + { + "source": "squad", + "targets": { + "ko": "스쿼드", + "ja": "スクワッド", + "zh": "四排" + } + }, + { + "source": "duo", + "targets": { + "ko": "듀오", + "ja": "デュオ", + "zh": "双排" + } + }, + { + "source": "solo", + "targets": { + "ko": "솔로", + "ja": "ソロ", + "zh": "单排" + } + }, + { + "source": "knocked", + "targets": { + "ko": "눕혔다", + "ja": "ダウンさせた", + "zh": "打倒了" + } + }, + { + "source": "knocked down", + "targets": { + "ko": "기절", + "ja": "ダウン", + "zh": "倒地" + } + }, + { + "source": "finish him", + "targets": { + "ko": "마무리해", + "ja": "とどめ刺して", + "zh": "补掉他" + } + }, + { + "source": "revive", + "targets": { + "ko": "살리기", + "ja": "蘇生", + "zh": "救人" + } + }, + { + "source": "reviving", + "targets": { + "ko": "살리는 중", + "ja": "蘇生中", + "zh": "救人中" + } + }, + { + "source": "res me", + "targets": { + "ko": "살려줘", + "ja": "起こして", + "zh": "救我" + } + }, + { + "source": "med kit", + "targets": { + "ko": "구급상자", + "ja": "救急箱", + "zh": "医疗箱" + } + }, + { + "source": "first aid", + "targets": { + "ko": "구급상자", + "ja": "応急手当", + "zh": "急救包" + } + }, + { + "source": "bandage", + "targets": { + "ko": "붕대", + "ja": "包帯", + "zh": "绷带" + } + }, + { + "source": "energy drink", + "targets": { + "ko": "에너지 드링크", + "ja": "エナドリ", + "zh": "饮料" + } + }, + { + "source": "painkiller", + "targets": { + "ko": "진통제", + "ja": "鎮痛剤", + "zh": "止痛药" + } + }, + { + "source": "boost", + "targets": { + "ko": "부스트", + "ja": "ブースト", + "zh": "能量" + } + }, + { + "source": "level 3 helmet", + "targets": { + "ko": "3렙 헬멧", + "ja": "レベル3ヘルメット", + "zh": "三级头" + } + }, + { + "source": "level 3 vest", + "targets": { + "ko": "3렙 조끼", + "ja": "レベル3アーマー", + "zh": "三级甲" + } + }, + { + "source": "backpack", + "targets": { + "ko": "가방", + "ja": "バックパック", + "zh": "背包" + } + }, + { + "source": "scope", + "targets": { + "ko": "배율", + "ja": "スコープ", + "zh": "倍镜" + } + }, + { + "source": "8x", + "targets": { + "ko": "8배율", + "ja": "8倍", + "zh": "八倍镜" + } + }, + { + "source": "4x", + "targets": { + "ko": "4배율", + "ja": "4倍", + "zh": "四倍镜" + } + }, + { + "source": "red dot", + "targets": { + "ko": "레드닷", + "ja": "レッドドット", + "zh": "红点" + } + }, + { + "source": "suppressor", + "targets": { + "ko": "소음기", + "ja": "サプレッサー", + "zh": "消音器" + } + }, + { + "source": "compensator", + "targets": { + "ko": "보정기", + "ja": "コンペンセイター", + "zh": "补偿器" + } + }, + { + "source": "grip", + "targets": { + "ko": "손잡이", + "ja": "グリップ", + "zh": "握把" + } + }, + { + "source": "extended mag", + "targets": { + "ko": "확장 탄창", + "ja": "拡張マガジン", + "zh": "扩容弹匣" + } + }, + { + "source": "ammo", + "targets": { + "ko": "탄약", + "ja": "弾薬", + "zh": "子弹" + } + }, + { + "source": "need ammo", + "targets": { + "ko": "탄 필요해", + "ja": "弾ちょうだい", + "zh": "要子弹" + } + }, + { + "source": "frag grenade", + "targets": { + "ko": "수류탄", + "ja": "フラグ", + "zh": "手雷" + } + }, + { + "source": "molotov", + "targets": { + "ko": "화염병", + "ja": "モロトフ", + "zh": "燃烧瓶" + } + }, + { + "source": "smoke", + "targets": { + "ko": "연막", + "ja": "スモーク", + "zh": "烟雾弹" + } + }, + { + "source": "stun", + "targets": { + "ko": "섬광", + "ja": "スタン", + "zh": "闪光" + } + }, + { + "source": "prone", + "targets": { + "ko": "엎드려", + "ja": "伏せろ", + "zh": "趴下" + } + }, + { + "source": "take cover", + "targets": { + "ko": "엄폐해", + "ja": "隠れて", + "zh": "找掩体" + } + }, + { + "source": "cover", + "targets": { + "ko": "엄폐물", + "ja": "遮蔽物", + "zh": "掩体" + } + }, + { + "source": "compound", + "targets": { + "ko": "건물 단지", + "ja": "建物群", + "zh": "房区" + } + }, + { + "source": "ridge", + "targets": { + "ko": "능선", + "ja": "尾根", + "zh": "山脊" + } + }, + { + "source": "high ground", + "targets": { + "ko": "고지", + "ja": "高所", + "zh": "高地" + } + }, + { + "source": "vehicle", + "targets": { + "ko": "차량", + "ja": "車両", + "zh": "载具" + } + }, + { + "source": "get in the car", + "targets": { + "ko": "차 타", + "ja": "車乗って", + "zh": "上车" + } + }, + { + "source": "fuel", + "targets": { + "ko": "연료", + "ja": "燃料", + "zh": "油" + } + }, + { + "source": "footsteps", + "targets": { + "ko": "발소리", + "ja": "足音", + "zh": "脚步声" + } + }, + { + "source": "I hear footsteps", + "targets": { + "ko": "발소리 들린다", + "ja": "足音する", + "zh": "听到脚步" + } + }, + { + "source": "sniper", + "targets": { + "ko": "저격수", + "ja": "スナイパー", + "zh": "狙击手" + } + }, + { + "source": "kar98", + "targets": { + "ko": "카구팔", + "ja": "Kar98k", + "zh": "98K" + } + }, + { + "source": "spectate", + "targets": { + "ko": "관전", + "ja": "観戦", + "zh": "观战" + } + }, + { + "source": "rank push", + "targets": { + "ko": "티어 올리기", + "ja": "ランク上げ", + "zh": "上分" + } + } ] } diff --git a/src/livesub/resources/glossaries/r6siege.json b/src/livesub/resources/glossaries/r6siege.json index e89fd7b..c2cae59 100644 --- a/src/livesub/resources/glossaries/r6siege.json +++ b/src/livesub/resources/glossaries/r6siege.json @@ -2,73 +2,543 @@ "key": "r6siege", "name": "레인보우 식스 시즈", "description": "역할·보강·파밸·콜아웃. 한국 서버에서 실제로 쓰는 말로 맞췄습니다.", + "scope": "game", "entries": [ - {"source": "operator", "targets": {"ko": "오퍼레이터", "ja": "オペレーター", "zh": "干员"}}, - {"source": "op", "targets": {"ko": "오퍼", "ja": "オペ", "zh": "干员"}}, - {"source": "attacker", "targets": {"ko": "공격팀", "ja": "攻撃側", "zh": "进攻方"}}, - {"source": "defender", "targets": {"ko": "수비팀", "ja": "防衛側", "zh": "防守方"}}, - {"source": "drone", "targets": {"ko": "드론", "ja": "ドローン", "zh": "无人机"}}, - {"source": "droning", "targets": {"ko": "드론 정찰", "ja": "ドローン偵察", "zh": "无人机侦察"}}, - {"source": "prep phase", "targets": {"ko": "준비 시간", "ja": "準備フェーズ", "zh": "准备阶段"}}, - {"source": "roam", "targets": {"ko": "로밍", "ja": "ローミング", "zh": "游走"}}, - {"source": "roamer", "targets": {"ko": "로머", "ja": "ローマー", "zh": "游走位"}}, - {"source": "anchor", "targets": {"ko": "앵커", "ja": "アンカー", "zh": "守点位"}}, - {"source": "anchoring", "targets": {"ko": "앵커링", "ja": "アンカリング", "zh": "守点"}}, - {"source": "site", "targets": {"ko": "거점", "ja": "サイト", "zh": "据点"}}, - {"source": "bomb site", "targets": {"ko": "폭탄 거점", "ja": "爆弾サイト", "zh": "炸弹点"}}, - {"source": "defuser", "targets": {"ko": "디퓨저", "ja": "ディフューザー", "zh": "拆弹器"}}, - {"source": "plant", "targets": {"ko": "설치", "ja": "設置", "zh": "安装"}}, - {"source": "planted", "targets": {"ko": "설치됐다", "ja": "設置された", "zh": "已安装"}}, - {"source": "defuse", "targets": {"ko": "해체", "ja": "解除", "zh": "拆除"}}, - {"source": "reinforcement", "targets": {"ko": "보강", "ja": "補強", "zh": "加固"}}, - {"source": "reinforce", "targets": {"ko": "보강하다", "ja": "補強する", "zh": "加固"}}, - {"source": "hard breach", "targets": {"ko": "하드 브리치", "ja": "ハードブリーチ", "zh": "硬破"}}, - {"source": "hard breacher", "targets": {"ko": "하드 브리처", "ja": "ハードブリーチャー", "zh": "硬破手"}}, - {"source": "soft breach", "targets": {"ko": "소프트 브리치", "ja": "ソフトブリーチ", "zh": "软破"}}, - {"source": "breach charge", "targets": {"ko": "브리치 차지", "ja": "ブリーチチャージ", "zh": "破门炸药"}}, - {"source": "rotate hole", "targets": {"ko": "로테 구멍", "ja": "ローテ穴", "zh": "转点洞"}}, - {"source": "murder hole", "targets": {"ko": "총구멍", "ja": "マーダーホール", "zh": "射击孔"}}, - {"source": "hatch", "targets": {"ko": "해치", "ja": "ハッチ", "zh": "天花板洞"}}, - {"source": "rappel", "targets": {"ko": "레펠", "ja": "ラペル", "zh": "速降"}}, - {"source": "vault", "targets": {"ko": "창넘기", "ja": "乗り越え", "zh": "翻窗"}}, - {"source": "run out", "targets": {"ko": "런아웃", "ja": "ランアウト", "zh": "冲出"}}, - {"source": "spawn peek", "targets": {"ko": "스폰킬", "ja": "スポーンピーク", "zh": "出生点偷袭"}}, - {"source": "gadget", "targets": {"ko": "장비", "ja": "ガジェット", "zh": "道具"}}, - {"source": "utility", "targets": {"ko": "유틸", "ja": "ユーティリティ", "zh": "道具"}}, - {"source": "trap", "targets": {"ko": "함정", "ja": "トラップ", "zh": "陷阱"}}, - {"source": "nitro cell", "targets": {"ko": "니트로", "ja": "ニトロセル", "zh": "C4"}}, - {"source": "impact", "targets": {"ko": "임팩트", "ja": "インパクト", "zh": "碰撞雷"}}, - {"source": "flashbang", "targets": {"ko": "섬광탄", "ja": "フラッシュ", "zh": "闪光弹"}}, - {"source": "smoke grenade", "targets": {"ko": "연막탄", "ja": "スモーク", "zh": "烟雾弹"}}, - {"source": "claymore", "targets": {"ko": "클레이모어", "ja": "クレイモア", "zh": "阔剑雷"}}, - {"source": "barbed wire", "targets": {"ko": "철조망", "ja": "鉄条網", "zh": "铁丝网"}}, - {"source": "deployable shield", "targets": {"ko": "방패", "ja": "展開シールド", "zh": "可部署盾"}}, - {"source": "bulletproof camera", "targets": {"ko": "방탄 카메라", "ja": "防弾カメラ", "zh": "防弹摄像头"}}, - {"source": "cam", "targets": {"ko": "카메라", "ja": "カメラ", "zh": "摄像头"}}, - {"source": "destroy the cam", "targets": {"ko": "카메라 깨줘", "ja": "カメラ壊して", "zh": "打掉摄像头"}}, - {"source": "prefire", "targets": {"ko": "선샷", "ja": "プリファイア", "zh": "预瞄"}}, - {"source": "peek", "targets": {"ko": "픽", "ja": "ピーク", "zh": "架点"}}, - {"source": "lean", "targets": {"ko": "린", "ja": "リーン", "zh": "侧身"}}, - {"source": "crouch", "targets": {"ko": "앉기", "ja": "しゃがみ", "zh": "蹲"}}, - {"source": "prone", "targets": {"ko": "엎드리기", "ja": "伏せ", "zh": "趴下"}}, - {"source": "trade", "targets": {"ko": "트레이드", "ja": "トレード", "zh": "换人"}}, - {"source": "entry frag", "targets": {"ko": "선취점", "ja": "エントリーキル", "zh": "首杀"}}, - {"source": "clutch", "targets": {"ko": "클러치", "ja": "クラッチ", "zh": "残局"}}, - {"source": "ace", "targets": {"ko": "에이스", "ja": "エース", "zh": "一穿五"}}, - {"source": "down", "targets": {"ko": "다운", "ja": "ダウン", "zh": "倒地"}}, - {"source": "dbno", "targets": {"ko": "기절", "ja": "ダウン状態", "zh": "濒死"}}, - {"source": "revive", "targets": {"ko": "살리기", "ja": "蘇生", "zh": "扶起"}}, - {"source": "callout", "targets": {"ko": "콜", "ja": "コール", "zh": "报点"}}, - {"source": "rotate", "targets": {"ko": "로테", "ja": "ローテ", "zh": "转点"}}, - {"source": "flank", "targets": {"ko": "측면", "ja": "フランク", "zh": "绕后"}}, - {"source": "watch flank", "targets": {"ko": "측면 봐줘", "ja": "フランク見て", "zh": "看侧面"}}, - {"source": "above you", "targets": {"ko": "위에 있다", "ja": "上にいる", "zh": "在你上面"}}, - {"source": "below you", "targets": {"ko": "아래에 있다", "ja": "下にいる", "zh": "在你下面"}}, - {"source": "basement", "targets": {"ko": "지하", "ja": "地下", "zh": "地下室"}}, - {"source": "top floor", "targets": {"ko": "최상층", "ja": "最上階", "zh": "顶层"}}, - {"source": "outside", "targets": {"ko": "바깥", "ja": "外", "zh": "外面"}}, - {"source": "ranked", "targets": {"ko": "랭크", "ja": "ランク", "zh": "排位"}}, - {"source": "overtime", "targets": {"ko": "연장", "ja": "オーバータイム", "zh": "加时"}}, - {"source": "ban", "targets": {"ko": "밴", "ja": "バン", "zh": "禁用"}} + { + "source": "operator", + "targets": { + "ko": "오퍼레이터", + "ja": "オペレーター", + "zh": "干员" + } + }, + { + "source": "op", + "targets": { + "ko": "오퍼", + "ja": "オペ", + "zh": "干员" + } + }, + { + "source": "attacker", + "targets": { + "ko": "공격팀", + "ja": "攻撃側", + "zh": "进攻方" + } + }, + { + "source": "defender", + "targets": { + "ko": "수비팀", + "ja": "防衛側", + "zh": "防守方" + } + }, + { + "source": "drone", + "targets": { + "ko": "드론", + "ja": "ドローン", + "zh": "无人机" + } + }, + { + "source": "droning", + "targets": { + "ko": "드론 정찰", + "ja": "ドローン偵察", + "zh": "无人机侦察" + } + }, + { + "source": "prep phase", + "targets": { + "ko": "준비 시간", + "ja": "準備フェーズ", + "zh": "准备阶段" + } + }, + { + "source": "roam", + "targets": { + "ko": "로밍", + "ja": "ローミング", + "zh": "游走" + } + }, + { + "source": "roamer", + "targets": { + "ko": "로머", + "ja": "ローマー", + "zh": "游走位" + } + }, + { + "source": "anchor", + "targets": { + "ko": "앵커", + "ja": "アンカー", + "zh": "守点位" + } + }, + { + "source": "anchoring", + "targets": { + "ko": "앵커링", + "ja": "アンカリング", + "zh": "守点" + } + }, + { + "source": "site", + "targets": { + "ko": "거점", + "ja": "サイト", + "zh": "据点" + } + }, + { + "source": "bomb site", + "targets": { + "ko": "폭탄 거점", + "ja": "爆弾サイト", + "zh": "炸弹点" + } + }, + { + "source": "defuser", + "targets": { + "ko": "디퓨저", + "ja": "ディフューザー", + "zh": "拆弹器" + } + }, + { + "source": "plant", + "targets": { + "ko": "설치", + "ja": "設置", + "zh": "安装" + } + }, + { + "source": "planted", + "targets": { + "ko": "설치됐다", + "ja": "設置された", + "zh": "已安装" + } + }, + { + "source": "defuse", + "targets": { + "ko": "해체", + "ja": "解除", + "zh": "拆除" + } + }, + { + "source": "reinforcement", + "targets": { + "ko": "보강", + "ja": "補強", + "zh": "加固" + } + }, + { + "source": "reinforce", + "targets": { + "ko": "보강하다", + "ja": "補強する", + "zh": "加固" + } + }, + { + "source": "hard breach", + "targets": { + "ko": "하드 브리치", + "ja": "ハードブリーチ", + "zh": "硬破" + } + }, + { + "source": "hard breacher", + "targets": { + "ko": "하드 브리처", + "ja": "ハードブリーチャー", + "zh": "硬破手" + } + }, + { + "source": "soft breach", + "targets": { + "ko": "소프트 브리치", + "ja": "ソフトブリーチ", + "zh": "软破" + } + }, + { + "source": "breach charge", + "targets": { + "ko": "브리치 차지", + "ja": "ブリーチチャージ", + "zh": "破门炸药" + } + }, + { + "source": "rotate hole", + "targets": { + "ko": "로테 구멍", + "ja": "ローテ穴", + "zh": "转点洞" + } + }, + { + "source": "murder hole", + "targets": { + "ko": "총구멍", + "ja": "マーダーホール", + "zh": "射击孔" + } + }, + { + "source": "hatch", + "targets": { + "ko": "해치", + "ja": "ハッチ", + "zh": "天花板洞" + } + }, + { + "source": "rappel", + "targets": { + "ko": "레펠", + "ja": "ラペル", + "zh": "速降" + } + }, + { + "source": "vault", + "targets": { + "ko": "창넘기", + "ja": "乗り越え", + "zh": "翻窗" + } + }, + { + "source": "run out", + "targets": { + "ko": "런아웃", + "ja": "ランアウト", + "zh": "冲出" + } + }, + { + "source": "spawn peek", + "targets": { + "ko": "스폰킬", + "ja": "スポーンピーク", + "zh": "出生点偷袭" + } + }, + { + "source": "gadget", + "targets": { + "ko": "장비", + "ja": "ガジェット", + "zh": "道具" + } + }, + { + "source": "utility", + "targets": { + "ko": "유틸", + "ja": "ユーティリティ", + "zh": "道具" + } + }, + { + "source": "trap", + "targets": { + "ko": "함정", + "ja": "トラップ", + "zh": "陷阱" + } + }, + { + "source": "nitro cell", + "targets": { + "ko": "니트로", + "ja": "ニトロセル", + "zh": "C4" + } + }, + { + "source": "impact", + "targets": { + "ko": "임팩트", + "ja": "インパクト", + "zh": "碰撞雷" + } + }, + { + "source": "flashbang", + "targets": { + "ko": "섬광탄", + "ja": "フラッシュ", + "zh": "闪光弹" + } + }, + { + "source": "smoke grenade", + "targets": { + "ko": "연막탄", + "ja": "スモーク", + "zh": "烟雾弹" + } + }, + { + "source": "claymore", + "targets": { + "ko": "클레이모어", + "ja": "クレイモア", + "zh": "阔剑雷" + } + }, + { + "source": "barbed wire", + "targets": { + "ko": "철조망", + "ja": "鉄条網", + "zh": "铁丝网" + } + }, + { + "source": "deployable shield", + "targets": { + "ko": "방패", + "ja": "展開シールド", + "zh": "可部署盾" + } + }, + { + "source": "bulletproof camera", + "targets": { + "ko": "방탄 카메라", + "ja": "防弾カメラ", + "zh": "防弹摄像头" + } + }, + { + "source": "cam", + "targets": { + "ko": "카메라", + "ja": "カメラ", + "zh": "摄像头" + } + }, + { + "source": "destroy the cam", + "targets": { + "ko": "카메라 깨줘", + "ja": "カメラ壊して", + "zh": "打掉摄像头" + } + }, + { + "source": "prefire", + "targets": { + "ko": "선샷", + "ja": "プリファイア", + "zh": "预瞄" + } + }, + { + "source": "peek", + "targets": { + "ko": "픽", + "ja": "ピーク", + "zh": "架点" + } + }, + { + "source": "lean", + "targets": { + "ko": "린", + "ja": "リーン", + "zh": "侧身" + } + }, + { + "source": "crouch", + "targets": { + "ko": "앉기", + "ja": "しゃがみ", + "zh": "蹲" + } + }, + { + "source": "prone", + "targets": { + "ko": "엎드리기", + "ja": "伏せ", + "zh": "趴下" + } + }, + { + "source": "trade", + "targets": { + "ko": "트레이드", + "ja": "トレード", + "zh": "换人" + } + }, + { + "source": "entry frag", + "targets": { + "ko": "선취점", + "ja": "エントリーキル", + "zh": "首杀" + } + }, + { + "source": "clutch", + "targets": { + "ko": "클러치", + "ja": "クラッチ", + "zh": "残局" + } + }, + { + "source": "ace", + "targets": { + "ko": "에이스", + "ja": "エース", + "zh": "一穿五" + } + }, + { + "source": "down", + "targets": { + "ko": "다운", + "ja": "ダウン", + "zh": "倒地" + } + }, + { + "source": "dbno", + "targets": { + "ko": "기절", + "ja": "ダウン状態", + "zh": "濒死" + } + }, + { + "source": "revive", + "targets": { + "ko": "살리기", + "ja": "蘇生", + "zh": "扶起" + } + }, + { + "source": "callout", + "targets": { + "ko": "콜", + "ja": "コール", + "zh": "报点" + } + }, + { + "source": "rotate", + "targets": { + "ko": "로테", + "ja": "ローテ", + "zh": "转点" + } + }, + { + "source": "flank", + "targets": { + "ko": "측면", + "ja": "フランク", + "zh": "绕后" + } + }, + { + "source": "watch flank", + "targets": { + "ko": "측면 봐줘", + "ja": "フランク見て", + "zh": "看侧面" + } + }, + { + "source": "above you", + "targets": { + "ko": "위에 있다", + "ja": "上にいる", + "zh": "在你上面" + } + }, + { + "source": "below you", + "targets": { + "ko": "아래에 있다", + "ja": "下にいる", + "zh": "在你下面" + } + }, + { + "source": "basement", + "targets": { + "ko": "지하", + "ja": "地下", + "zh": "地下室" + } + }, + { + "source": "top floor", + "targets": { + "ko": "최상층", + "ja": "最上階", + "zh": "顶层" + } + }, + { + "source": "outside", + "targets": { + "ko": "바깥", + "ja": "外", + "zh": "外面" + } + }, + { + "source": "ranked", + "targets": { + "ko": "랭크", + "ja": "ランク", + "zh": "排位" + } + }, + { + "source": "overtime", + "targets": { + "ko": "연장", + "ja": "オーバータイム", + "zh": "加时" + } + }, + { + "source": "ban", + "targets": { + "ko": "밴", + "ja": "バン", + "zh": "禁用" + } + } ] } diff --git a/src/livesub/resources/glossaries/streaming.json b/src/livesub/resources/glossaries/streaming.json index 27a1b7f..15ecf51 100644 --- a/src/livesub/resources/glossaries/streaming.json +++ b/src/livesub/resources/glossaries/streaming.json @@ -2,44 +2,311 @@ "key": "streaming", "name": "방송·스트리밍", "description": "해외 방송을 볼 때 자주 나오는 말. 게임 용어집과 같이 켜면 좋습니다.", + "scope": "generic", "entries": [ - {"source": "stream", "targets": {"ko": "방송", "ja": "配信", "zh": "直播"}}, - {"source": "streamer", "targets": {"ko": "스트리머", "ja": "配信者", "zh": "主播"}}, - {"source": "chat", "targets": {"ko": "채팅", "ja": "チャット", "zh": "弹幕"}}, - {"source": "donation", "targets": {"ko": "후원", "ja": "投げ銭", "zh": "打赏"}}, - {"source": "donate", "targets": {"ko": "후원하다", "ja": "投げ銭する", "zh": "打赏"}}, - {"source": "sub", "targets": {"ko": "구독", "ja": "サブスク", "zh": "订阅"}}, - {"source": "subscriber", "targets": {"ko": "구독자", "ja": "登録者", "zh": "订阅者"}}, - {"source": "follow", "targets": {"ko": "팔로우", "ja": "フォロー", "zh": "关注"}}, - {"source": "raid", "targets": {"ko": "합방 몰아주기", "ja": "レイド", "zh": "转播"}}, - {"source": "mod", "targets": {"ko": "매니저", "ja": "モデレーター", "zh": "房管"}}, - {"source": "clip", "targets": {"ko": "클립", "ja": "クリップ", "zh": "切片"}}, - {"source": "highlight", "targets": {"ko": "하이라이트", "ja": "ハイライト", "zh": "高光"}}, - {"source": "VOD", "targets": {"ko": "다시보기", "ja": "アーカイブ", "zh": "录播"}}, - {"source": "lag", "targets": {"ko": "렉", "ja": "ラグ", "zh": "卡"}}, - {"source": "ping", "targets": {"ko": "핑", "ja": "ピン", "zh": "延迟"}}, - {"source": "frame drop", "targets": {"ko": "프레임 드랍", "ja": "フレーム落ち", "zh": "掉帧"}}, - {"source": "patch", "targets": {"ko": "패치", "ja": "パッチ", "zh": "补丁"}}, - {"source": "meta", "targets": {"ko": "메타", "ja": "メタ", "zh": "版本环境"}}, - {"source": "nerf", "targets": {"ko": "너프", "ja": "ナーフ", "zh": "削弱"}}, - {"source": "buff", "targets": {"ko": "버프", "ja": "バフ", "zh": "加强"}}, - {"source": "ranked", "targets": {"ko": "랭크", "ja": "ランク", "zh": "排位"}}, - {"source": "casual", "targets": {"ko": "일반전", "ja": "カジュアル", "zh": "休闲"}}, - {"source": "smurf", "targets": {"ko": "부계정", "ja": "サブ垢", "zh": "小号"}}, - {"source": "grind", "targets": {"ko": "노가다", "ja": "周回", "zh": "刷"}}, - {"source": "carry", "targets": {"ko": "캐리", "ja": "キャリー", "zh": "带飞"}}, - {"source": "throw", "targets": {"ko": "던지다", "ja": "スローする", "zh": "送"}}, - {"source": "griefing", "targets": {"ko": "트롤링", "ja": "荒らし", "zh": "演员"}}, - {"source": "toxic", "targets": {"ko": "매너 나쁜", "ja": "民度が低い", "zh": "喷子"}}, - {"source": "cracked", "targets": {"ko": "미쳤다", "ja": "ヤバい", "zh": "太强了"}}, - {"source": "insane", "targets": {"ko": "대박", "ja": "やばい", "zh": "离谱"}}, - {"source": "clutch", "targets": {"ko": "클러치", "ja": "クラッチ", "zh": "关键时刻"}}, - {"source": "let's go", "targets": {"ko": "가자", "ja": "行くぞ", "zh": "冲"}}, - {"source": "no way", "targets": {"ko": "말도 안 돼", "ja": "ありえない", "zh": "不可能吧"}}, - {"source": "give me a second", "targets": {"ko": "잠깐만", "ja": "ちょっと待って", "zh": "等一下"}}, - {"source": "hold on", "targets": {"ko": "잠깐", "ja": "待って", "zh": "等等"}}, - {"source": "be right back", "targets": {"ko": "금방 올게", "ja": "すぐ戻る", "zh": "马上回来"}}, - {"source": "thanks for the sub", "targets": {"ko": "구독 고마워", "ja": "サブありがとう", "zh": "谢谢订阅"}}, - {"source": "welcome back", "targets": {"ko": "다시 왔네", "ja": "おかえり", "zh": "欢迎回来"}} + { + "source": "stream", + "targets": { + "ko": "방송", + "ja": "配信", + "zh": "直播" + } + }, + { + "source": "streamer", + "targets": { + "ko": "스트리머", + "ja": "配信者", + "zh": "主播" + } + }, + { + "source": "chat", + "targets": { + "ko": "채팅", + "ja": "チャット", + "zh": "弹幕" + } + }, + { + "source": "donation", + "targets": { + "ko": "후원", + "ja": "投げ銭", + "zh": "打赏" + } + }, + { + "source": "donate", + "targets": { + "ko": "후원하다", + "ja": "投げ銭する", + "zh": "打赏" + } + }, + { + "source": "sub", + "targets": { + "ko": "구독", + "ja": "サブスク", + "zh": "订阅" + } + }, + { + "source": "subscriber", + "targets": { + "ko": "구독자", + "ja": "登録者", + "zh": "订阅者" + } + }, + { + "source": "follow", + "targets": { + "ko": "팔로우", + "ja": "フォロー", + "zh": "关注" + } + }, + { + "source": "raid", + "targets": { + "ko": "합방 몰아주기", + "ja": "レイド", + "zh": "转播" + } + }, + { + "source": "mod", + "targets": { + "ko": "매니저", + "ja": "モデレーター", + "zh": "房管" + } + }, + { + "source": "clip", + "targets": { + "ko": "클립", + "ja": "クリップ", + "zh": "切片" + } + }, + { + "source": "highlight", + "targets": { + "ko": "하이라이트", + "ja": "ハイライト", + "zh": "高光" + } + }, + { + "source": "VOD", + "targets": { + "ko": "다시보기", + "ja": "アーカイブ", + "zh": "录播" + } + }, + { + "source": "lag", + "targets": { + "ko": "렉", + "ja": "ラグ", + "zh": "卡" + } + }, + { + "source": "ping", + "targets": { + "ko": "핑", + "ja": "ピン", + "zh": "延迟" + } + }, + { + "source": "frame drop", + "targets": { + "ko": "프레임 드랍", + "ja": "フレーム落ち", + "zh": "掉帧" + } + }, + { + "source": "patch", + "targets": { + "ko": "패치", + "ja": "パッチ", + "zh": "补丁" + } + }, + { + "source": "meta", + "targets": { + "ko": "메타", + "ja": "メタ", + "zh": "版本环境" + } + }, + { + "source": "nerf", + "targets": { + "ko": "너프", + "ja": "ナーフ", + "zh": "削弱" + } + }, + { + "source": "buff", + "targets": { + "ko": "버프", + "ja": "バフ", + "zh": "加强" + } + }, + { + "source": "ranked", + "targets": { + "ko": "랭크", + "ja": "ランク", + "zh": "排位" + } + }, + { + "source": "casual", + "targets": { + "ko": "일반전", + "ja": "カジュアル", + "zh": "休闲" + } + }, + { + "source": "smurf", + "targets": { + "ko": "부계정", + "ja": "サブ垢", + "zh": "小号" + } + }, + { + "source": "grind", + "targets": { + "ko": "노가다", + "ja": "周回", + "zh": "刷" + } + }, + { + "source": "carry", + "targets": { + "ko": "캐리", + "ja": "キャリー", + "zh": "带飞" + } + }, + { + "source": "throw", + "targets": { + "ko": "던지다", + "ja": "スローする", + "zh": "送" + } + }, + { + "source": "griefing", + "targets": { + "ko": "트롤링", + "ja": "荒らし", + "zh": "演员" + } + }, + { + "source": "toxic", + "targets": { + "ko": "매너 나쁜", + "ja": "民度が低い", + "zh": "喷子" + } + }, + { + "source": "cracked", + "targets": { + "ko": "미쳤다", + "ja": "ヤバい", + "zh": "太强了" + } + }, + { + "source": "insane", + "targets": { + "ko": "대박", + "ja": "やばい", + "zh": "离谱" + } + }, + { + "source": "clutch", + "targets": { + "ko": "클러치", + "ja": "クラッチ", + "zh": "关键时刻" + } + }, + { + "source": "let's go", + "targets": { + "ko": "가자", + "ja": "行くぞ", + "zh": "冲" + } + }, + { + "source": "no way", + "targets": { + "ko": "말도 안 돼", + "ja": "ありえない", + "zh": "不可能吧" + } + }, + { + "source": "give me a second", + "targets": { + "ko": "잠깐만", + "ja": "ちょっと待って", + "zh": "等一下" + } + }, + { + "source": "hold on", + "targets": { + "ko": "잠깐", + "ja": "待って", + "zh": "等等" + } + }, + { + "source": "be right back", + "targets": { + "ko": "금방 올게", + "ja": "すぐ戻る", + "zh": "马上回来" + } + }, + { + "source": "thanks for the sub", + "targets": { + "ko": "구독 고마워", + "ja": "サブありがとう", + "zh": "谢谢订阅" + } + }, + { + "source": "welcome back", + "targets": { + "ko": "다시 왔네", + "ja": "おかえり", + "zh": "欢迎回来" + } + } ] } diff --git a/src/livesub/resources/glossaries/valorant.json b/src/livesub/resources/glossaries/valorant.json index 133eb56..36ffe30 100644 --- a/src/livesub/resources/glossaries/valorant.json +++ b/src/livesub/resources/glossaries/valorant.json @@ -2,65 +2,479 @@ "key": "valorant", "name": "발로란트", "description": "스파이크·유틸·이코노미 콜. 아시아 서버 영어 콜아웃에 맞췄습니다.", + "scope": "game", "entries": [ - {"source": "spike", "targets": {"ko": "스파이크", "ja": "スパイク", "zh": "斩杀者"}}, - {"source": "plant", "targets": {"ko": "설치", "ja": "設置", "zh": "安装"}}, - {"source": "planted", "targets": {"ko": "설치됐다", "ja": "設置された", "zh": "已安装"}}, - {"source": "defuse", "targets": {"ko": "해체", "ja": "解除", "zh": "拆包"}}, - {"source": "defusing", "targets": {"ko": "해체 중", "ja": "解除中", "zh": "拆包中"}}, - {"source": "fake defuse", "targets": {"ko": "페이크 해체", "ja": "フェイク解除", "zh": "假拆"}}, - {"source": "post plant", "targets": {"ko": "설치 후", "ja": "ポストプラント", "zh": "安装后"}}, - {"source": "retake", "targets": {"ko": "리테이크", "ja": "リテイク", "zh": "残局夺回"}}, - {"source": "site", "targets": {"ko": "사이트", "ja": "サイト", "zh": "包点"}}, - {"source": "A site", "targets": {"ko": "A사이트", "ja": "Aサイト", "zh": "A点"}}, - {"source": "B site", "targets": {"ko": "B사이트", "ja": "Bサイト", "zh": "B点"}}, - {"source": "mid", "targets": {"ko": "미드", "ja": "ミッド", "zh": "中路"}}, - {"source": "rotate", "targets": {"ko": "로테", "ja": "ローテ", "zh": "换点"}}, - {"source": "rotating", "targets": {"ko": "로테 중", "ja": "ローテ中", "zh": "换点中"}}, - {"source": "eco", "targets": {"ko": "이코", "ja": "エコ", "zh": "经济局"}}, - {"source": "full eco", "targets": {"ko": "풀이코", "ja": "フルエコ", "zh": "全经济局"}}, - {"source": "eco round", "targets": {"ko": "이코 라운드", "ja": "エコラウンド", "zh": "经济局"}}, - {"source": "save", "targets": {"ko": "세이브", "ja": "セーブ", "zh": "存钱"}}, - {"source": "buy round", "targets": {"ko": "풀 구매", "ja": "フルバイ", "zh": "全起"}}, - {"source": "force buy", "targets": {"ko": "강제 구매", "ja": "フォースバイ", "zh": "强起"}}, - {"source": "pistol round", "targets": {"ko": "권총 라운드", "ja": "ピストルラウンド", "zh": "手枪局"}}, - {"source": "ult", "targets": {"ko": "궁", "ja": "アルト", "zh": "大招"}}, - {"source": "ultimate", "targets": {"ko": "궁극기", "ja": "アルティメット", "zh": "终极技能"}}, - {"source": "ult orb", "targets": {"ko": "궁 오브", "ja": "アルトオーブ", "zh": "能量球"}}, - {"source": "util", "targets": {"ko": "유틸", "ja": "ユーティリティ", "zh": "技能"}}, - {"source": "utility", "targets": {"ko": "유틸", "ja": "ユーティリティ", "zh": "技能"}}, - {"source": "smoke", "targets": {"ko": "연막", "ja": "スモーク", "zh": "烟"}}, - {"source": "flash", "targets": {"ko": "섬광", "ja": "フラッシュ", "zh": "闪"}}, - {"source": "flashed", "targets": {"ko": "섬광 맞음", "ja": "フラッシュ食らった", "zh": "被闪了"}}, - {"source": "molly", "targets": {"ko": "몰리", "ja": "モリー", "zh": "火"}}, - {"source": "wall", "targets": {"ko": "벽", "ja": "ウォール", "zh": "墙"}}, - {"source": "recon", "targets": {"ko": "정찰", "ja": "リコン", "zh": "侦察"}}, - {"source": "one tap", "targets": {"ko": "원탭", "ja": "ワンタップ", "zh": "一枪"}}, - {"source": "headshot", "targets": {"ko": "헤드샷", "ja": "ヘッドショット", "zh": "爆头"}}, - {"source": "entry", "targets": {"ko": "진입", "ja": "エントリー", "zh": "突破"}}, - {"source": "entry frag", "targets": {"ko": "선취점", "ja": "エントリーキル", "zh": "首杀"}}, - {"source": "trade", "targets": {"ko": "트레이드", "ja": "トレード", "zh": "换人"}}, - {"source": "peek", "targets": {"ko": "픽", "ja": "ピーク", "zh": "架点"}}, - {"source": "wide peek", "targets": {"ko": "와이드 픽", "ja": "ワイドピーク", "zh": "大幅架点"}}, - {"source": "clear", "targets": {"ko": "클리어", "ja": "クリア", "zh": "清点"}}, - {"source": "rush", "targets": {"ko": "러쉬", "ja": "ラッシュ", "zh": "强攻"}}, - {"source": "stack", "targets": {"ko": "몰빵", "ja": "スタック", "zh": "集火"}}, - {"source": "lurk", "targets": {"ko": "럴커", "ja": "ラーク", "zh": "潜伏"}}, - {"source": "op", "targets": {"ko": "오페", "ja": "オペ", "zh": "狙"}}, - {"source": "operator", "targets": {"ko": "오퍼레이터", "ja": "オペレーター", "zh": "狙击枪"}}, - {"source": "clutch", "targets": {"ko": "클러치", "ja": "クラッチ", "zh": "残局"}}, - {"source": "ace", "targets": {"ko": "에이스", "ja": "エース", "zh": "一穿五"}}, - {"source": "spray", "targets": {"ko": "연사", "ja": "スプレー", "zh": "扫射"}}, - {"source": "crosshair", "targets": {"ko": "크로스헤어", "ja": "クロスヘア", "zh": "准星"}}, - {"source": "callout", "targets": {"ko": "콜", "ja": "コール", "zh": "报点"}}, - {"source": "spotted", "targets": {"ko": "봤다", "ja": "発見", "zh": "看到了"}}, - {"source": "one down", "targets": {"ko": "한 명 잡음", "ja": "一人ダウン", "zh": "倒一个"}}, - {"source": "man advantage", "targets": {"ko": "인원 우위", "ja": "人数有利", "zh": "人数优势"}}, - {"source": "low", "targets": {"ko": "피 없음", "ja": "体力低い", "zh": "残血"}}, - {"source": "armor", "targets": {"ko": "방어구", "ja": "アーマー", "zh": "护甲"}}, - {"source": "creds", "targets": {"ko": "크레딧", "ja": "クレジット", "zh": "钱"}}, - {"source": "drop", "targets": {"ko": "드랍", "ja": "ドロップ", "zh": "丢枪"}}, - {"source": "overtime", "targets": {"ko": "연장", "ja": "オーバータイム", "zh": "加时"}}, - {"source": "match point", "targets": {"ko": "매치포인트", "ja": "マッチポイント", "zh": "赛点"}} + { + "source": "spike", + "targets": { + "ko": "스파이크", + "ja": "スパイク", + "zh": "斩杀者" + } + }, + { + "source": "plant", + "targets": { + "ko": "설치", + "ja": "設置", + "zh": "安装" + } + }, + { + "source": "planted", + "targets": { + "ko": "설치됐다", + "ja": "設置された", + "zh": "已安装" + } + }, + { + "source": "defuse", + "targets": { + "ko": "해체", + "ja": "解除", + "zh": "拆包" + } + }, + { + "source": "defusing", + "targets": { + "ko": "해체 중", + "ja": "解除中", + "zh": "拆包中" + } + }, + { + "source": "fake defuse", + "targets": { + "ko": "페이크 해체", + "ja": "フェイク解除", + "zh": "假拆" + } + }, + { + "source": "post plant", + "targets": { + "ko": "설치 후", + "ja": "ポストプラント", + "zh": "安装后" + } + }, + { + "source": "retake", + "targets": { + "ko": "리테이크", + "ja": "リテイク", + "zh": "残局夺回" + } + }, + { + "source": "site", + "targets": { + "ko": "사이트", + "ja": "サイト", + "zh": "包点" + } + }, + { + "source": "A site", + "targets": { + "ko": "A사이트", + "ja": "Aサイト", + "zh": "A点" + } + }, + { + "source": "B site", + "targets": { + "ko": "B사이트", + "ja": "Bサイト", + "zh": "B点" + } + }, + { + "source": "mid", + "targets": { + "ko": "미드", + "ja": "ミッド", + "zh": "中路" + } + }, + { + "source": "rotate", + "targets": { + "ko": "로테", + "ja": "ローテ", + "zh": "换点" + } + }, + { + "source": "rotating", + "targets": { + "ko": "로테 중", + "ja": "ローテ中", + "zh": "换点中" + } + }, + { + "source": "eco", + "targets": { + "ko": "이코", + "ja": "エコ", + "zh": "经济局" + } + }, + { + "source": "full eco", + "targets": { + "ko": "풀이코", + "ja": "フルエコ", + "zh": "全经济局" + } + }, + { + "source": "eco round", + "targets": { + "ko": "이코 라운드", + "ja": "エコラウンド", + "zh": "经济局" + } + }, + { + "source": "save", + "targets": { + "ko": "세이브", + "ja": "セーブ", + "zh": "存钱" + } + }, + { + "source": "buy round", + "targets": { + "ko": "풀 구매", + "ja": "フルバイ", + "zh": "全起" + } + }, + { + "source": "force buy", + "targets": { + "ko": "강제 구매", + "ja": "フォースバイ", + "zh": "强起" + } + }, + { + "source": "pistol round", + "targets": { + "ko": "권총 라운드", + "ja": "ピストルラウンド", + "zh": "手枪局" + } + }, + { + "source": "ult", + "targets": { + "ko": "궁", + "ja": "アルト", + "zh": "大招" + } + }, + { + "source": "ultimate", + "targets": { + "ko": "궁극기", + "ja": "アルティメット", + "zh": "终极技能" + } + }, + { + "source": "ult orb", + "targets": { + "ko": "궁 오브", + "ja": "アルトオーブ", + "zh": "能量球" + } + }, + { + "source": "util", + "targets": { + "ko": "유틸", + "ja": "ユーティリティ", + "zh": "技能" + } + }, + { + "source": "utility", + "targets": { + "ko": "유틸", + "ja": "ユーティリティ", + "zh": "技能" + } + }, + { + "source": "smoke", + "targets": { + "ko": "연막", + "ja": "スモーク", + "zh": "烟" + } + }, + { + "source": "flash", + "targets": { + "ko": "섬광", + "ja": "フラッシュ", + "zh": "闪" + } + }, + { + "source": "flashed", + "targets": { + "ko": "섬광 맞음", + "ja": "フラッシュ食らった", + "zh": "被闪了" + } + }, + { + "source": "molly", + "targets": { + "ko": "몰리", + "ja": "モリー", + "zh": "火" + } + }, + { + "source": "wall", + "targets": { + "ko": "벽", + "ja": "ウォール", + "zh": "墙" + } + }, + { + "source": "recon", + "targets": { + "ko": "정찰", + "ja": "リコン", + "zh": "侦察" + } + }, + { + "source": "one tap", + "targets": { + "ko": "원탭", + "ja": "ワンタップ", + "zh": "一枪" + } + }, + { + "source": "headshot", + "targets": { + "ko": "헤드샷", + "ja": "ヘッドショット", + "zh": "爆头" + } + }, + { + "source": "entry", + "targets": { + "ko": "진입", + "ja": "エントリー", + "zh": "突破" + } + }, + { + "source": "entry frag", + "targets": { + "ko": "선취점", + "ja": "エントリーキル", + "zh": "首杀" + } + }, + { + "source": "trade", + "targets": { + "ko": "트레이드", + "ja": "トレード", + "zh": "换人" + } + }, + { + "source": "peek", + "targets": { + "ko": "픽", + "ja": "ピーク", + "zh": "架点" + } + }, + { + "source": "wide peek", + "targets": { + "ko": "와이드 픽", + "ja": "ワイドピーク", + "zh": "大幅架点" + } + }, + { + "source": "clear", + "targets": { + "ko": "클리어", + "ja": "クリア", + "zh": "清点" + } + }, + { + "source": "rush", + "targets": { + "ko": "러쉬", + "ja": "ラッシュ", + "zh": "强攻" + } + }, + { + "source": "stack", + "targets": { + "ko": "몰빵", + "ja": "スタック", + "zh": "集火" + } + }, + { + "source": "lurk", + "targets": { + "ko": "럴커", + "ja": "ラーク", + "zh": "潜伏" + } + }, + { + "source": "op", + "targets": { + "ko": "오페", + "ja": "オペ", + "zh": "狙" + } + }, + { + "source": "operator", + "targets": { + "ko": "오퍼레이터", + "ja": "オペレーター", + "zh": "狙击枪" + } + }, + { + "source": "clutch", + "targets": { + "ko": "클러치", + "ja": "クラッチ", + "zh": "残局" + } + }, + { + "source": "ace", + "targets": { + "ko": "에이스", + "ja": "エース", + "zh": "一穿五" + } + }, + { + "source": "spray", + "targets": { + "ko": "연사", + "ja": "スプレー", + "zh": "扫射" + } + }, + { + "source": "crosshair", + "targets": { + "ko": "크로스헤어", + "ja": "クロスヘア", + "zh": "准星" + } + }, + { + "source": "callout", + "targets": { + "ko": "콜", + "ja": "コール", + "zh": "报点" + } + }, + { + "source": "spotted", + "targets": { + "ko": "봤다", + "ja": "発見", + "zh": "看到了" + } + }, + { + "source": "one down", + "targets": { + "ko": "한 명 잡음", + "ja": "一人ダウン", + "zh": "倒一个" + } + }, + { + "source": "man advantage", + "targets": { + "ko": "인원 우위", + "ja": "人数有利", + "zh": "人数优势" + } + }, + { + "source": "low", + "targets": { + "ko": "피 없음", + "ja": "体力低い", + "zh": "残血" + } + }, + { + "source": "armor", + "targets": { + "ko": "방어구", + "ja": "アーマー", + "zh": "护甲" + } + }, + { + "source": "creds", + "targets": { + "ko": "크레딧", + "ja": "クレジット", + "zh": "钱" + } + }, + { + "source": "drop", + "targets": { + "ko": "드랍", + "ja": "ドロップ", + "zh": "丢枪" + } + }, + { + "source": "overtime", + "targets": { + "ko": "연장", + "ja": "オーバータイム", + "zh": "加时" + } + }, + { + "source": "match point", + "targets": { + "ko": "매치포인트", + "ja": "マッチポイント", + "zh": "赛点" + } + } ] } diff --git a/src/livesub/resources/glossaries/watchdogs.json b/src/livesub/resources/glossaries/watchdogs.json index a961d3f..e1ca969 100644 --- a/src/livesub/resources/glossaries/watchdogs.json +++ b/src/livesub/resources/glossaries/watchdogs.json @@ -2,65 +2,479 @@ "key": "watchdogs", "name": "워치독스 (Watch Dogs)", "description": "1·2·리전 공통. 조직명과 해킹 용어는 고유명사라 번역기가 특히 잘 틀립니다.", + "scope": "game", "entries": [ - {"source": "DedSec", "targets": {"ko": "데드섹", "ja": "デッドセック", "zh": "DedSec"}}, - {"source": "ctOS", "targets": {"ko": "ctOS", "ja": "ctOS", "zh": "ctOS"}}, - {"source": "Blume", "targets": {"ko": "블룸", "ja": "ブルーム", "zh": "布鲁姆"}}, - {"source": "Albion", "targets": {"ko": "알비온", "ja": "アルビオン", "zh": "阿尔比恩"}}, - {"source": "Clan Kelley", "targets": {"ko": "켈리 클랜", "ja": "ケリー一家", "zh": "凯利帮"}}, - {"source": "Zero Day", "targets": {"ko": "제로 데이", "ja": "ゼロデイ", "zh": "零日"}}, - {"source": "Bratva", "targets": {"ko": "브라트바", "ja": "ブラトヴァ", "zh": "兄弟会"}}, - {"source": "Viceroys", "targets": {"ko": "바이스로이", "ja": "ヴァイスロイ", "zh": "总督帮"}}, - {"source": "the Fixer", "targets": {"ko": "해결사", "ja": "フィクサー", "zh": "中间人"}}, - {"source": "fixer contract", "targets": {"ko": "해결사 의뢰", "ja": "フィクサー依頼", "zh": "中间人任务"}}, - {"source": "operative", "targets": {"ko": "요원", "ja": "オペレーティブ", "zh": "特工"}}, - {"source": "recruit", "targets": {"ko": "영입", "ja": "勧誘", "zh": "招募"}}, - {"source": "permadeath", "targets": {"ko": "영구 사망", "ja": "パーマデス", "zh": "永久死亡"}}, - {"source": "hack", "targets": {"ko": "해킹", "ja": "ハッキング", "zh": "黑入"}}, - {"source": "hacked", "targets": {"ko": "해킹됐다", "ja": "ハックされた", "zh": "被黑了"}}, - {"source": "remote hack", "targets": {"ko": "원격 해킹", "ja": "リモートハック", "zh": "远程黑入"}}, - {"source": "backdoor", "targets": {"ko": "백도어", "ja": "バックドア", "zh": "后门"}}, - {"source": "firewall", "targets": {"ko": "방화벽", "ja": "ファイアウォール", "zh": "防火墙"}}, - {"source": "exploit", "targets": {"ko": "익스플로잇", "ja": "エクスプロイト", "zh": "漏洞利用"}}, - {"source": "payload", "targets": {"ko": "페이로드", "ja": "ペイロード", "zh": "载荷"}}, - {"source": "botnet", "targets": {"ko": "봇넷", "ja": "ボットネット", "zh": "僵尸网络"}}, - {"source": "server farm", "targets": {"ko": "서버 팜", "ja": "サーバーファーム", "zh": "服务器农场"}}, - {"source": "data breach", "targets": {"ko": "정보 유출", "ja": "情報漏洩", "zh": "数据泄露"}}, - {"source": "encryption", "targets": {"ko": "암호화", "ja": "暗号化", "zh": "加密"}}, - {"source": "profiler", "targets": {"ko": "프로파일러", "ja": "プロファイラー", "zh": "分析器"}}, - {"source": "profiling", "targets": {"ko": "신원 조회", "ja": "プロファイリング", "zh": "身份分析"}}, - {"source": "surveillance", "targets": {"ko": "감시", "ja": "監視", "zh": "监控"}}, - {"source": "security camera", "targets": {"ko": "감시 카메라", "ja": "防犯カメラ", "zh": "监控摄像头"}}, - {"source": "jump to camera", "targets": {"ko": "카메라 이동", "ja": "カメラに移動", "zh": "切换摄像头"}}, - {"source": "NetHack", "targets": {"ko": "넷핵", "ja": "ネットハック", "zh": "网络视野"}}, - {"source": "spiderbot", "targets": {"ko": "스파이더봇", "ja": "スパイダーボット", "zh": "蜘蛛机器人"}}, - {"source": "quadcopter", "targets": {"ko": "쿼드콥터", "ja": "クアッドコプター", "zh": "四轴飞行器"}}, - {"source": "jumper", "targets": {"ko": "점퍼", "ja": "ジャンパー", "zh": "跳跳车"}}, - {"source": "RC car", "targets": {"ko": "RC카", "ja": "ラジコン", "zh": "遥控车"}}, - {"source": "cargo drone", "targets": {"ko": "화물 드론", "ja": "カーゴドローン", "zh": "货运无人机"}}, - {"source": "turret", "targets": {"ko": "터렛", "ja": "タレット", "zh": "炮塔"}}, - {"source": "guard", "targets": {"ko": "경비원", "ja": "警備員", "zh": "守卫"}}, - {"source": "restricted area", "targets": {"ko": "제한 구역", "ja": "立ち入り禁止区域", "zh": "禁区"}}, - {"source": "detected", "targets": {"ko": "발각됐다", "ja": "見つかった", "zh": "被发现了"}}, - {"source": "stay hidden", "targets": {"ko": "숨어 있어", "ja": "隠れてろ", "zh": "别暴露"}}, - {"source": "take down", "targets": {"ko": "제압", "ja": "テイクダウン", "zh": "制服"}}, - {"source": "non lethal", "targets": {"ko": "비살상", "ja": "非殺傷", "zh": "非致命"}}, - {"source": "lethal", "targets": {"ko": "살상", "ja": "殺傷", "zh": "致命"}}, - {"source": "heat level", "targets": {"ko": "수배 단계", "ja": "指名手配レベル", "zh": "通缉等级"}}, - {"source": "wanted", "targets": {"ko": "수배 중", "ja": "指名手配", "zh": "被通缉"}}, - {"source": "lose the cops", "targets": {"ko": "경찰 따돌려", "ja": "警察撒いて", "zh": "甩掉警察"}}, - {"source": "traffic light", "targets": {"ko": "신호등", "ja": "信号機", "zh": "红绿灯"}}, - {"source": "steam pipe", "targets": {"ko": "증기관", "ja": "蒸気管", "zh": "蒸汽管道"}}, - {"source": "blocker", "targets": {"ko": "차단봉", "ja": "ブロッカー", "zh": "路障"}}, - {"source": "escape", "targets": {"ko": "도주", "ja": "逃走", "zh": "逃脱"}}, - {"source": "mission", "targets": {"ko": "임무", "ja": "ミッション", "zh": "任务"}}, - {"source": "side mission", "targets": {"ko": "서브 임무", "ja": "サブミッション", "zh": "支线任务"}}, - {"source": "checkpoint", "targets": {"ko": "체크포인트", "ja": "チェックポイント", "zh": "检查点"}}, - {"source": "borough", "targets": {"ko": "자치구", "ja": "区", "zh": "行政区"}}, - {"source": "uprising", "targets": {"ko": "봉기", "ja": "蜂起", "zh": "起义"}}, - {"source": "resistance", "targets": {"ko": "저항군", "ja": "レジスタンス", "zh": "抵抗组织"}}, - {"source": "whistleblower", "targets": {"ko": "내부 고발자", "ja": "内部告発者", "zh": "举报人"}}, - {"source": "privacy", "targets": {"ko": "사생활", "ja": "プライバシー", "zh": "隐私"}}, - {"source": "the city is watching", "targets": {"ko": "도시가 지켜보고 있다", "ja": "街が見ている", "zh": "城市在注视"}} + { + "source": "DedSec", + "targets": { + "ko": "데드섹", + "ja": "デッドセック", + "zh": "DedSec" + } + }, + { + "source": "ctOS", + "targets": { + "ko": "ctOS", + "ja": "ctOS", + "zh": "ctOS" + } + }, + { + "source": "Blume", + "targets": { + "ko": "블룸", + "ja": "ブルーム", + "zh": "布鲁姆" + } + }, + { + "source": "Albion", + "targets": { + "ko": "알비온", + "ja": "アルビオン", + "zh": "阿尔比恩" + } + }, + { + "source": "Clan Kelley", + "targets": { + "ko": "켈리 클랜", + "ja": "ケリー一家", + "zh": "凯利帮" + } + }, + { + "source": "Zero Day", + "targets": { + "ko": "제로 데이", + "ja": "ゼロデイ", + "zh": "零日" + } + }, + { + "source": "Bratva", + "targets": { + "ko": "브라트바", + "ja": "ブラトヴァ", + "zh": "兄弟会" + } + }, + { + "source": "Viceroys", + "targets": { + "ko": "바이스로이", + "ja": "ヴァイスロイ", + "zh": "总督帮" + } + }, + { + "source": "the Fixer", + "targets": { + "ko": "해결사", + "ja": "フィクサー", + "zh": "中间人" + } + }, + { + "source": "fixer contract", + "targets": { + "ko": "해결사 의뢰", + "ja": "フィクサー依頼", + "zh": "中间人任务" + } + }, + { + "source": "operative", + "targets": { + "ko": "요원", + "ja": "オペレーティブ", + "zh": "特工" + } + }, + { + "source": "recruit", + "targets": { + "ko": "영입", + "ja": "勧誘", + "zh": "招募" + } + }, + { + "source": "permadeath", + "targets": { + "ko": "영구 사망", + "ja": "パーマデス", + "zh": "永久死亡" + } + }, + { + "source": "hack", + "targets": { + "ko": "해킹", + "ja": "ハッキング", + "zh": "黑入" + } + }, + { + "source": "hacked", + "targets": { + "ko": "해킹됐다", + "ja": "ハックされた", + "zh": "被黑了" + } + }, + { + "source": "remote hack", + "targets": { + "ko": "원격 해킹", + "ja": "リモートハック", + "zh": "远程黑入" + } + }, + { + "source": "backdoor", + "targets": { + "ko": "백도어", + "ja": "バックドア", + "zh": "后门" + } + }, + { + "source": "firewall", + "targets": { + "ko": "방화벽", + "ja": "ファイアウォール", + "zh": "防火墙" + } + }, + { + "source": "exploit", + "targets": { + "ko": "익스플로잇", + "ja": "エクスプロイト", + "zh": "漏洞利用" + } + }, + { + "source": "payload", + "targets": { + "ko": "페이로드", + "ja": "ペイロード", + "zh": "载荷" + } + }, + { + "source": "botnet", + "targets": { + "ko": "봇넷", + "ja": "ボットネット", + "zh": "僵尸网络" + } + }, + { + "source": "server farm", + "targets": { + "ko": "서버 팜", + "ja": "サーバーファーム", + "zh": "服务器农场" + } + }, + { + "source": "data breach", + "targets": { + "ko": "정보 유출", + "ja": "情報漏洩", + "zh": "数据泄露" + } + }, + { + "source": "encryption", + "targets": { + "ko": "암호화", + "ja": "暗号化", + "zh": "加密" + } + }, + { + "source": "profiler", + "targets": { + "ko": "프로파일러", + "ja": "プロファイラー", + "zh": "分析器" + } + }, + { + "source": "profiling", + "targets": { + "ko": "신원 조회", + "ja": "プロファイリング", + "zh": "身份分析" + } + }, + { + "source": "surveillance", + "targets": { + "ko": "감시", + "ja": "監視", + "zh": "监控" + } + }, + { + "source": "security camera", + "targets": { + "ko": "감시 카메라", + "ja": "防犯カメラ", + "zh": "监控摄像头" + } + }, + { + "source": "jump to camera", + "targets": { + "ko": "카메라 이동", + "ja": "カメラに移動", + "zh": "切换摄像头" + } + }, + { + "source": "NetHack", + "targets": { + "ko": "넷핵", + "ja": "ネットハック", + "zh": "网络视野" + } + }, + { + "source": "spiderbot", + "targets": { + "ko": "스파이더봇", + "ja": "スパイダーボット", + "zh": "蜘蛛机器人" + } + }, + { + "source": "quadcopter", + "targets": { + "ko": "쿼드콥터", + "ja": "クアッドコプター", + "zh": "四轴飞行器" + } + }, + { + "source": "jumper", + "targets": { + "ko": "점퍼", + "ja": "ジャンパー", + "zh": "跳跳车" + } + }, + { + "source": "RC car", + "targets": { + "ko": "RC카", + "ja": "ラジコン", + "zh": "遥控车" + } + }, + { + "source": "cargo drone", + "targets": { + "ko": "화물 드론", + "ja": "カーゴドローン", + "zh": "货运无人机" + } + }, + { + "source": "turret", + "targets": { + "ko": "터렛", + "ja": "タレット", + "zh": "炮塔" + } + }, + { + "source": "guard", + "targets": { + "ko": "경비원", + "ja": "警備員", + "zh": "守卫" + } + }, + { + "source": "restricted area", + "targets": { + "ko": "제한 구역", + "ja": "立ち入り禁止区域", + "zh": "禁区" + } + }, + { + "source": "detected", + "targets": { + "ko": "발각됐다", + "ja": "見つかった", + "zh": "被发现了" + } + }, + { + "source": "stay hidden", + "targets": { + "ko": "숨어 있어", + "ja": "隠れてろ", + "zh": "别暴露" + } + }, + { + "source": "take down", + "targets": { + "ko": "제압", + "ja": "テイクダウン", + "zh": "制服" + } + }, + { + "source": "non lethal", + "targets": { + "ko": "비살상", + "ja": "非殺傷", + "zh": "非致命" + } + }, + { + "source": "lethal", + "targets": { + "ko": "살상", + "ja": "殺傷", + "zh": "致命" + } + }, + { + "source": "heat level", + "targets": { + "ko": "수배 단계", + "ja": "指名手配レベル", + "zh": "通缉等级" + } + }, + { + "source": "wanted", + "targets": { + "ko": "수배 중", + "ja": "指名手配", + "zh": "被通缉" + } + }, + { + "source": "lose the cops", + "targets": { + "ko": "경찰 따돌려", + "ja": "警察撒いて", + "zh": "甩掉警察" + } + }, + { + "source": "traffic light", + "targets": { + "ko": "신호등", + "ja": "信号機", + "zh": "红绿灯" + } + }, + { + "source": "steam pipe", + "targets": { + "ko": "증기관", + "ja": "蒸気管", + "zh": "蒸汽管道" + } + }, + { + "source": "blocker", + "targets": { + "ko": "차단봉", + "ja": "ブロッカー", + "zh": "路障" + } + }, + { + "source": "escape", + "targets": { + "ko": "도주", + "ja": "逃走", + "zh": "逃脱" + } + }, + { + "source": "mission", + "targets": { + "ko": "임무", + "ja": "ミッション", + "zh": "任务" + } + }, + { + "source": "side mission", + "targets": { + "ko": "서브 임무", + "ja": "サブミッション", + "zh": "支线任务" + } + }, + { + "source": "checkpoint", + "targets": { + "ko": "체크포인트", + "ja": "チェックポイント", + "zh": "检查点" + } + }, + { + "source": "borough", + "targets": { + "ko": "자치구", + "ja": "区", + "zh": "行政区" + } + }, + { + "source": "uprising", + "targets": { + "ko": "봉기", + "ja": "蜂起", + "zh": "起义" + } + }, + { + "source": "resistance", + "targets": { + "ko": "저항군", + "ja": "レジスタンス", + "zh": "抵抗组织" + } + }, + { + "source": "whistleblower", + "targets": { + "ko": "내부 고발자", + "ja": "内部告発者", + "zh": "举报人" + } + }, + { + "source": "privacy", + "targets": { + "ko": "사생활", + "ja": "プライバシー", + "zh": "隐私" + } + }, + { + "source": "the city is watching", + "targets": { + "ko": "도시가 지켜보고 있다", + "ja": "街が見ている", + "zh": "城市在注视" + } + } ] } diff --git a/src/livesub/ui/main_window.py b/src/livesub/ui/main_window.py index 2c092e2..35b6ec9 100644 --- a/src/livesub/ui/main_window.py +++ b/src/livesub/ui/main_window.py @@ -238,6 +238,8 @@ class MainWindow(QMainWindow): self.engine.start() def _on_restart_needed(self) -> None: + # 정지 상태에서도 반영해 둬야 저부하 모드를 켠 즉시 VRAM이 반납된다. + self.engine.sync_performance() if self.engine.running: self.engine.stop() self.engine.start() diff --git a/src/livesub/ui/pages/glossary_page.py b/src/livesub/ui/pages/glossary_page.py index 0f1fcf1..b8a57a0 100644 --- a/src/livesub/ui/pages/glossary_page.py +++ b/src/livesub/ui/pages/glossary_page.py @@ -25,8 +25,8 @@ from PySide6.QtWidgets import ( from ...config import AppConfig from ...constants import LANGUAGE_CODES, LANGUAGES, user_data_dir from ...models import Glossary, GlossaryEntry -from ...models.packs import available_packs -from ..theme import SPACING +from ...models.packs import available_packs, find_conflicts +from ..theme import SPACING, palette from ..widgets import Card, PageHeader COLUMNS = ["원문 용어", *[f"{LANGUAGES[c]['label']} 역어" for c in LANGUAGE_CODES], "메모"] @@ -71,14 +71,17 @@ class GlossaryPage(QWidget): card.add(_hint("기본 제공 용어집을 찾지 못했습니다.")) return card - for pack in packs: - check = QCheckBox(f"{pack.name} ({len(pack)}개)") + # 범용 팩을 위에 두어 "게임 전용이 범용을 이긴다"는 규칙이 눈에 보이게 한다. + for pack in sorted(packs, key=lambda p: (not p.is_generic, p.name)): + suffix = " · 장르 공통" if pack.is_generic else "" + check = QCheckBox(f"{pack.name} ({len(pack)}개){suffix}") check.setChecked(pack.key in enabled) check.setToolTip(pack.description) check.toggled.connect(self._on_packs_changed) self._pack_checks[pack.key] = check card.add(check) + self.conflict_label = card.add(_warning("")) self.pack_total = card.add(_hint("")) self._update_pack_total() return card @@ -94,6 +97,33 @@ class GlossaryPage(QWidget): enabled = set(self.config.glossary.enabled_packs) total = sum(len(p) for p in available_packs() if p.key in enabled) self.pack_total.setText(f"켜둔 기본 용어 {total}개") + self._update_conflicts() + + def _update_conflicts(self) -> None: + """게임 전용 팩끼리 역어가 갈리는 단어를 알려준다. + + 예를 들어 오버워치와 워치독스를 같이 켜면 payload 가 '화물'과 + '페이로드'로 갈린다. 조용히 아무거나 고르면 사용자는 영문도 모른 채 + 이상한 자막을 보게 되므로, 어떤 단어가 문제인지 그대로 보여준다. + """ + conflicts = find_conflicts(self.config.glossary.enabled_packs) + if not conflicts: + self.conflict_label.setText("") + self.conflict_label.setVisible(False) + return + + shown = sorted(conflicts.items())[:4] + parts = [ + f"{source} ({' / '.join(t for _, t in owners)})" for source, owners in shown + ] + more = f" 외 {len(conflicts) - len(shown)}개" if len(conflicts) > len(shown) else "" + self.conflict_label.setText( + "게임 팩끼리 역어가 갈리는 단어가 있습니다 — " + + ", ".join(parts) + + more + + ". 안 하는 게임은 꺼주세요. (직접 등록하면 그쪽이 이깁니다)" + ) + self.conflict_label.setVisible(True) # --- 구성 ----------------------------------------------------------- def _build_options_card(self) -> Card: @@ -295,3 +325,12 @@ def _hint(text: str) -> QLabel: label.setObjectName("Hint") label.setAlignment(Qt.AlignmentFlag.AlignRight) return label + + +def _warning(text: str) -> QLabel: + label = QLabel(text) + label.setObjectName("Hint") + label.setWordWrap(True) + label.setStyleSheet(f"color: {palette('dark').warning};") + label.setVisible(bool(text)) + return label diff --git a/tests/test_low_power.py b/tests/test_low_power.py new file mode 100644 index 0000000..6bf8c6c --- /dev/null +++ b/tests/test_low_power.py @@ -0,0 +1,95 @@ +"""저부하(게임) 모드 토글이 실제로 모델에 반영되는지. + +설정 화면에서 모드를 꺼도 이미 올라가 있는 int8 모델이 그대로 남으면 +"껐는데 품질이 안 올라간다"가 된다. 반대로 켜도 float16 모델이 남으면 +게임 프레임을 지키려던 목적이 통째로 무산된다. +""" + +from __future__ import annotations + +from livesub.config import AppConfig +from livesub.core.engine import TranslationEngine +from livesub.models import ModelManager + + +def make_engine(game_mode: bool, tmp_path) -> TranslationEngine: + cfg = AppConfig() + cfg.models.preload_on_start = False + cfg.glossary.path = str(tmp_path / "glossary.json") + cfg.performance.game_mode = game_mode + return TranslationEngine(cfg) + + +def test_manager_reflects_initial_game_mode(tmp_path): + on = make_engine(True, tmp_path) + off = make_engine(False, tmp_path) + assert on.models.low_power is True + assert off.models.low_power is False + + +def test_toggling_game_mode_updates_manager(tmp_path): + """설정에서 모드를 바꾸면 다음 시작 때 모델 사양이 따라와야 한다.""" + engine = make_engine(True, tmp_path) + assert "int8" in engine.models.effective_asr_spec().compute_type + + engine.config.performance.game_mode = False + engine.sync_performance() + + assert engine.models.low_power is False + assert engine.models.effective_asr_spec() == engine.models.tier.asr + + +def test_toggling_back_on_restores_low_power_specs(tmp_path): + engine = make_engine(False, tmp_path) + engine.config.performance.game_mode = True + engine.sync_performance() + assert engine.models.low_power is True + assert "int8" in engine.models.effective_asr_spec().compute_type + + +def test_changed_mode_unloads_stale_models(tmp_path): + """정밀도가 바뀌었으면 이미 올라간 모델을 반드시 내려야 한다.""" + engine = make_engine(True, tmp_path) + + class FakeModel: + def __init__(self): + self.loaded = True + self.unloaded = False + + def unload(self): + self.unloaded = True + self.loaded = False + + asr, mt = FakeModel(), FakeModel() + engine.models._asr, engine.models._mt = asr, mt + + engine.config.performance.game_mode = False + changed = engine.sync_performance() + + assert changed is True + assert asr.unloaded and mt.unloaded + assert engine.models._asr is None and engine.models._mt is None + + +def test_unchanged_mode_keeps_models_loaded(tmp_path): + """바뀐 게 없으면 굳이 내려서 재다운로드/재로딩을 유발하면 안 된다.""" + engine = make_engine(True, tmp_path) + + class FakeModel: + loaded = True + + def unload(self): + raise AssertionError("바뀐 게 없는데 언로드하면 안 됩니다") + + engine.models._asr = FakeModel() + engine.models._mt = FakeModel() + + assert engine.sync_performance() is False + assert engine.models._asr is not None + + +def test_int4_tier_is_not_downgraded_further(tmp_path): + cfg = AppConfig() + cfg.models.tier = "precision" + manager = ModelManager(cfg.models, low_power=True) + assert manager.effective_mt_spec().compute_type == "int4" diff --git a/tests/test_packs.py b/tests/test_packs.py index db677fd..3e8ab85 100644 --- a/tests/test_packs.py +++ b/tests/test_packs.py @@ -4,7 +4,13 @@ from __future__ import annotations from livesub.constants import LANGUAGE_CODES from livesub.models.glossary import Glossary, GlossaryEntry -from livesub.models.packs import available_packs, build_glossary, get_pack +from livesub.models.packs import ( + available_packs, + build_glossary, + find_conflicts, + get_pack, + resolve_packs, +) #: 사용자가 "필수 게임"으로 지정한 것 — 빠지면 테스트가 잡아낸다. REQUIRED_GAMES = {"overwatch", "watchdogs", "pubg", "r6siege"} @@ -102,3 +108,103 @@ def test_no_packs_means_only_user_entries(): user = Glossary([GlossaryEntry("foo", {"ko": "푸"})]) merged = build_glossary(user, []) assert len(merged) == 1 + + +# --- 팩 계층: 게임 전용이 장르 공통을 이긴다 -------------------------------- + + +def test_generic_packs_are_tagged(): + generic = {p.key for p in available_packs() if p.is_generic} + assert generic == {"fps-common", "streaming"} + + +def test_game_pack_beats_generic_regardless_of_check_order(): + """체크한 순서가 결과를 바꾸면 안 된다. + + knocked 는 FPS 공통에서 '기절', 배그에서 '눕혔다'다. 배그를 켰으면 + 어느 쪽을 먼저 눌렀든 '눕혔다'가 나와야 한다. + """ + for order in (["fps-common", "pubg"], ["pubg", "fps-common"]): + _, repl = build_glossary(Glossary(), order).protect("knocked", "ko") + assert repl == ["눕혔다"], f"{order} 에서 순서에 휘둘림" + + +def test_resolve_packs_puts_generic_first(): + order = [p.key for p in resolve_packs(["pubg", "fps-common", "overwatch", "streaming"])] + assert order.index("fps-common") < order.index("pubg") + assert order.index("streaming") < order.index("overwatch") + + +def test_user_entry_still_beats_everything(): + user = Glossary([GlossaryEntry("knocked", {"ko": "쓰러짐"})]) + _, repl = build_glossary(user, ["fps-common", "pubg"]).protect("knocked", "ko") + assert repl == ["쓰러짐"] + + +# --- 충돌 감지 --------------------------------------------------------------- + + +def test_conflicts_detected_between_game_packs(): + conflicts = find_conflicts(["overwatch", "watchdogs"]) + assert "payload" in conflicts + assert {t for _, t in conflicts["payload"]} == {"화물", "페이로드"} + + +def test_generic_vs_game_is_not_reported_as_conflict(): + """범용은 게임 팩에 확실히 지므로 사용자가 판단할 일이 없다.""" + assert "knocked" not in find_conflicts(["fps-common", "pubg"]) + + +def test_single_game_pack_has_no_conflicts(): + assert find_conflicts(["pubg", "fps-common", "streaming"]) == {} + + +def test_default_enabled_packs_cover_required_games(): + from livesub.config import AppConfig + + enabled = set(AppConfig().glossary.enabled_packs) + assert enabled >= REQUIRED_GAMES, f"기본값에서 빠진 필수 게임: {REQUIRED_GAMES - enabled}" + + +def test_default_enabled_packs_all_exist(): + from livesub.config import AppConfig + + keys = {p.key for p in available_packs()} + assert set(AppConfig().glossary.enabled_packs) <= keys + + +def test_default_enabled_packs_actually_translate(): + from livesub.config import AppConfig + + cfg = AppConfig() + merged = build_glossary(Glossary(), cfg.glossary.enabled_packs) + _, repl = merged.protect("DedSec hacked the ctOS server", "ko") + assert repl == ["데드섹", "해킹됐다", "ctOS"] + + +# --- 용어가 조각나서 두 번 치환되지 않는지 ----------------------------------- + + +def test_each_term_protects_as_a_single_unit(): + """등록된 용어를 그대로 넣으면 정확히 한 번만 치환돼야 한다. + + 조각 용어("the blue")가 더 긴 용어("blue zone")보다 앞 위치에서 먼저 + 매칭되면 "자기장 자기장" 같은 겹침이 생긴다. 최장일치 정렬은 같은 시작 + 위치에서만 통하므로, 데이터에 조각이 섞이면 이 테스트가 잡아낸다. + + 팩을 전부 켠 최악의 조합으로 검사한다. + """ + merged = build_glossary(Glossary(), [p.key for p in available_packs()]) + broken = [] + for entry in merged.entries: + _, repl = merged.protect(entry.source, "ko") + if len(repl) != 1: + broken.append((entry.source, repl)) + assert not broken, f"한 용어가 여러 조각으로 잘립니다: {broken[:5]}" + + +def test_blue_zone_is_one_replacement(): + merged = build_glossary(Glossary(), ["fps-common", "pubg"]) + protected, repl = merged.protect("head to the blue zone", "ko") + assert repl == ["자기장"], f"겹침 발생: {protected}" + assert Glossary.restore(protected, repl) == "head to the 자기장"