├── .github
└── workflows
│ ├── jekyll-gh-pages.yml
│ └── readme.yml
├── .gitignore
├── LICENSE
├── README.en.md
├── README.ja.md
├── README.md
├── README.zh-CN.md
├── SECURITY.md
├── api.bat
├── api
├── __init__.py
└── chatglm.py
├── api_offline.bat
├── app.py
├── app_api.py
├── app_imagetools.py
├── config.py
├── convert_tags
├── convert_translate_cache.py
├── danbooru_tags_zh_cn.txt
├── readme.md
├── run.sh
├── selected_tags.csv
├── translate_tags_by_google.py
├── w14_tags.txt
└── w14_tags_zh_cn.txt
├── data
├── chain
│ └── vector_store
│ │ └── .keep
└── translate_cache
│ ├── tags
│ ├── wd14.txt
│ ├── 上身装饰.txt
│ ├── 下身装饰.txt
│ ├── 主食.txt
│ ├── 乳制品.txt
│ ├── 作品角色.txt
│ ├── 全身装饰.txt
│ ├── 制图特效.txt
│ ├── 动作.txt
│ ├── 品控.txt
│ ├── 图片杂件.txt
│ ├── 图片类型.txt
│ ├── 城市.txt
│ ├── 天空_气象.txt
│ ├── 头发.txt
│ ├── 头部饰品.txt
│ ├── 室内.txt
│ ├── 室外.txt
│ ├── 建筑物.txt
│ ├── 成年限定.txt
│ ├── 打码方式.txt
│ ├── 摆位.txt
│ ├── 构图方式.txt
│ ├── 水果.txt
│ ├── 物品.txt
│ ├── 画风.txt
│ ├── 类型.txt
│ ├── 糖果零食.txt
│ ├── 耳朵.txt
│ ├── 肉类与海鲜.txt
│ ├── 背景.txt
│ ├── 胸部.txt
│ ├── 脖子.txt
│ ├── 色彩.txt
│ ├── 艺术破格.txt
│ ├── 花卉.txt
│ ├── 蔬菜与香料.txt
│ ├── 衣装.txt
│ ├── 视角.txt
│ ├── 调味料.txt
│ ├── 谷制品.txt
│ ├── 限制级.txt
│ ├── 面部.txt
│ ├── 鞋袜.txt
│ └── 饮料.txt
│ └── tags_zh2en
│ ├── 上身装饰.txt
│ ├── 下身装饰.txt
│ ├── 主食.txt
│ ├── 乳制品.txt
│ ├── 作品角色.txt
│ ├── 全身装饰.txt
│ ├── 制图特效.txt
│ ├── 动作.txt
│ ├── 品控.txt
│ ├── 图片杂件.txt
│ ├── 图片类型.txt
│ ├── 城市.txt
│ ├── 天空_气象.txt
│ ├── 头发.txt
│ ├── 头部饰品.txt
│ ├── 室内.txt
│ ├── 室外.txt
│ ├── 建筑物.txt
│ ├── 成年限定.txt
│ ├── 打码方式.txt
│ ├── 摆位.txt
│ ├── 构图方式.txt
│ ├── 水果.txt
│ ├── 物品.txt
│ ├── 画风.txt
│ ├── 类型.txt
│ ├── 糖果零食.txt
│ ├── 耳朵.txt
│ ├── 肉类与海鲜.txt
│ ├── 背景.txt
│ ├── 胸部.txt
│ ├── 脖子.txt
│ ├── 色彩.txt
│ ├── 艺术破格.txt
│ ├── 花卉.txt
│ ├── 蔬菜与香料.txt
│ ├── 衣装.txt
│ ├── 视角.txt
│ ├── 调味料.txt
│ ├── 谷制品.txt
│ ├── 限制级.txt
│ ├── 面部.txt
│ ├── 鞋袜.txt
│ └── 饮料.txt
├── imagetools
├── __init__.py
├── mesh_face.py
├── remove_backgroud.py
├── tags.py
├── ui.py
└── vedio2image.py
├── img
├── chatglm.png
├── chrome_ex.png
├── hg_cache.png
├── image2text.png
├── imagetools.png
├── imagetools.tags.png
├── param.png
├── setting.offline.png
└── text2text.png
├── requirements.txt
├── settings-offline.toml
├── settings.toml
├── ui
├── __init__.py
├── chain.py
├── chat.py
└── image2text.py
├── utils
├── __init__.py
├── chain.py
├── chatglm.py
├── dbimutils.py
├── exif.py
├── generator.py
├── html.py
├── image2text.py
├── models.py
├── singleton.py
├── textsplitter.py
└── translate.py
├── webui.bat
├── webui.sh
├── webui_chat.bat
├── webui_imagetools.bat
├── webui_imagetools.sh
├── webui_offline.bat
└── webui_venv.bat
/.github/workflows/jekyll-gh-pages.yml:
--------------------------------------------------------------------------------
1 | # Sample workflow for building and deploying a Jekyll site to GitHub Pages
2 | name: Deploy Jekyll with GitHub Pages dependencies preinstalled
3 |
4 | on:
5 | # Runs on pushes targeting the default branch
6 | push:
7 | branches: ["main"]
8 |
9 | # Allows you to run this workflow manually from the Actions tab
10 | workflow_dispatch:
11 |
12 | # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
13 | permissions:
14 | contents: read
15 | pages: write
16 | id-token: write
17 |
18 | # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
19 | # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
20 | concurrency:
21 | group: "pages"
22 | cancel-in-progress: false
23 |
24 | jobs:
25 | # Build job
26 | build:
27 | runs-on: ubuntu-latest
28 | steps:
29 | - name: Checkout
30 | uses: actions/checkout@v3
31 | - name: Setup Pages
32 | uses: actions/configure-pages@v3
33 | - name: Build with Jekyll
34 | uses: actions/jekyll-build-pages@v1
35 | with:
36 | source: ./
37 | destination: ./_site
38 | - name: Upload artifact
39 | uses: actions/upload-pages-artifact@v1
40 |
41 | # Deployment job
42 | deploy:
43 | environment:
44 | name: github-pages
45 | url: ${{ steps.deployment.outputs.page_url }}
46 | runs-on: ubuntu-latest
47 | needs: build
48 | steps:
49 | - name: Deploy to GitHub Pages
50 | id: deployment
51 | uses: actions/deploy-pages@v2
52 |
--------------------------------------------------------------------------------
/.github/workflows/readme.yml:
--------------------------------------------------------------------------------
1 | name: Translate README
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 | - master
8 | jobs:
9 | build:
10 | runs-on: ubuntu-latest
11 | steps:
12 | - uses: actions/checkout@v2
13 | - name: Setup Node.js
14 | uses: actions/setup-node@v1
15 | with:
16 | node-version: 12.x
17 | # ISO Langusge Codes: https://cloud.google.com/translate/docs/languages
18 | - name: Adding README - Chinese Simplified
19 | uses: dephraiim/translate-readme@main
20 | with:
21 | LANG: zh-CN
22 | - name: Adding README - English
23 | uses: dephraiim/translate-readme@main
24 | with:
25 | LANG: en
26 | - name: Adding README - Japanese
27 | uses: dephraiim/translate-readme@main
28 | with:
29 | LANG: ja
30 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 | *$py.class
5 | system/
6 | models/
7 | cache/
8 | # C extensions
9 | *.so
10 |
11 | # Distribution / packaging
12 | .Python
13 | build/
14 | develop-eggs/
15 | dist/
16 | downloads/
17 | eggs/
18 | .eggs/
19 | lib/
20 | lib64/
21 | parts/
22 | sdist/
23 | var/
24 | wheels/
25 | pip-wheel-metadata/
26 | share/python-wheels/
27 | *.egg-info/
28 | .installed.cfg
29 | *.egg
30 | MANIFEST
31 |
32 | # PyInstaller
33 | # Usually these files are written by a python script from a template
34 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
35 | *.manifest
36 | *.spec
37 |
38 | # Installer logs
39 | pip-log.txt
40 | pip-delete-this-directory.txt
41 |
42 | # Unit test / coverage reports
43 | htmlcov/
44 | .tox/
45 | .nox/
46 | .coverage
47 | .coverage.*
48 | .cache
49 | nosetests.xml
50 | coverage.xml
51 | *.cover
52 | *.py,cover
53 | .hypothesis/
54 | .pytest_cache/
55 |
56 | # Translations
57 | *.mo
58 | *.pot
59 |
60 | # Django stuff:
61 | *.log
62 | local_settings.py
63 | db.sqlite3
64 | db.sqlite3-journal
65 |
66 | # Flask stuff:
67 | instance/
68 | .webassets-cache
69 |
70 | # Scrapy stuff:
71 | .scrapy
72 |
73 | # Sphinx documentation
74 | docs/_build/
75 |
76 | # PyBuilder
77 | target/
78 |
79 | # Jupyter Notebook
80 | .ipynb_checkpoints
81 |
82 | # IPython
83 | profile_default/
84 | ipython_config.py
85 |
86 | # pyenv
87 | .python-version
88 |
89 | # pipenv
90 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
91 | # However, in case of collaboration, if having platform-specific dependencies or dependencies
92 | # having no cross-platform support, pipenv may install dependencies that don't work, or not
93 | # install all needed dependencies.
94 | #Pipfile.lock
95 |
96 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow
97 | __pypackages__/
98 |
99 | # Celery stuff
100 | celerybeat-schedule
101 | celerybeat.pid
102 |
103 | # SageMath parsed files
104 | *.sage.py
105 |
106 | # Environments
107 | .env
108 | .venv
109 | env/
110 | venv/
111 | ENV/
112 | env.bak/
113 | venv.bak/
114 |
115 | # Spyder project settings
116 | .spyderproject
117 | .spyproject
118 |
119 | # Rope project settings
120 | .ropeproject
121 |
122 | # mkdocs documentation
123 | /site
124 |
125 | # mypy
126 | .mypy_cache/
127 | .dmypy.json
128 | dmypy.json
129 |
130 | # Pyre type checker
131 | .pyre/
132 |
133 | # Ignore dynaconf secret files
134 | .secrets.*
135 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | ## Supported Versions
4 |
5 | | Version | Supported |
6 | | ------- | ------------------ |
7 | | 1.8 | :white_check_mark: |
8 | | <1.8 | :x: |
9 |
10 |
--------------------------------------------------------------------------------
/api.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | set PYTHON=".\system\python\Scripts\python.exe"
4 | set GIT=
5 | set VENV_DIR=.\system\python
6 |
7 | :activate_venv
8 | set PYTHON="%VENV_DIR%\Python.exe"
9 | echo venv %PYTHON%
10 |
11 |
12 | :launch
13 | %PYTHON% app_api.py %*
14 | pause
15 | exit /b
16 |
--------------------------------------------------------------------------------
/api/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhongpei/image2text_prompt_generator/68f7e94f4b4e4fca4de10dd42c2000373d8102ea/api/__init__.py
--------------------------------------------------------------------------------
/api/chatglm.py:
--------------------------------------------------------------------------------
1 | import json
2 | from typing import List
3 | import re
4 | import uvicorn
5 | from fastapi import FastAPI, Request, status, HTTPException
6 | from fastapi.middleware.cors import CORSMiddleware
7 | from pydantic import BaseModel
8 | from sse_starlette.sse import EventSourceResponse
9 |
10 | from utils.chatglm import models as chatglm_model
11 | from utils.generator import generate_prompt
12 | from utils.translate import zh2en, en2zh
13 | from utils.chatglm import chat2text
14 | from config import settings
15 |
16 |
17 | def torch_gc():
18 | import torch
19 |
20 | if torch.cuda.is_available():
21 | with torch.cuda.device(0):
22 | torch.cuda.empty_cache()
23 | torch.cuda.ipc_collect()
24 |
25 |
26 | app = FastAPI()
27 |
28 | app.add_middleware(
29 | CORSMiddleware,
30 | allow_origins=["*"],
31 | allow_credentials=True,
32 | allow_methods=["*"],
33 | allow_headers=["*"],
34 | )
35 |
36 |
37 | class Message(BaseModel):
38 | role: str
39 | content: str
40 |
41 |
42 | class Body(BaseModel):
43 | messages: List[Message]
44 | model: str
45 | stream: bool
46 | max_tokens: int
47 |
48 |
49 | @app.post("/chat/completions")
50 | async def completions(body: Body, request: Request):
51 | question = body.messages[-1]
52 | if question.role == 'user':
53 | question = question.content
54 | else:
55 | raise HTTPException(status.HTTP_400_BAD_REQUEST, "No Question Found")
56 |
57 | user_question = ''
58 | print(question)
59 | history = []
60 | for message in body.messages:
61 | if message.role == 'user':
62 | user_question = message.content
63 | elif message.role == 'system' or message.role == 'assistant':
64 | assistant_answer = message.content
65 | history.append((user_question, assistant_answer))
66 |
67 | completion_text = """The following is a conversation with an AI assistant.
68 | The assistant is helpful, creative, clever, and very friendly. The assistant is familiar with various languages in the world.
69 | Human: Hello, who are you?
70 | AI: I am an AI assistant. How can I help you today?
71 | Human: 没什么
72 | AI: 好的, 如果有什么需要, 随时告诉我"""
73 | for message in body.messages:
74 | if message.role == 'user':
75 | completion_text += "\nHuman: " + message.content
76 | elif message.role == 'assistant':
77 | completion_text += "\nAI: " + message.content
78 | completion_text += "\nAI: "
79 |
80 | async def eval_chatglm():
81 | if body.stream:
82 | for response in chatglm_model.chatglm.model.stream_chat(
83 | chatglm_model.chatglm.tokenizer,
84 | question,
85 | history,
86 | max_length=max(2048, body.max_tokens)
87 | ):
88 | if await request.is_disconnected():
89 | torch_gc()
90 | return
91 | yield json.dumps({"response": response[0]})
92 | yield "[DONE]"
93 | else:
94 | response, _ = chatglm_model.chatglm.model.chat(
95 | chatglm_model.chatglm.tokenizer,
96 | question,
97 | history,
98 | max_length=max(2048, body.max_tokens)
99 | )
100 | yield json.dumps({"response": response[0]})
101 | torch_gc()
102 |
103 | async def eval_prompt():
104 |
105 | def format_prompt(plist: list) -> str:
106 |
107 | if settings.api.generate_translate:
108 | return '\n\n'.join(["{}\n{}".format(p, en2zh(p)) for p in plist])
109 | return '\n\n'.join(plist)
110 |
111 | def is_ascii(s):
112 | return all(ord(c) < 128 for c in s)
113 |
114 | def get_question():
115 | prompt = re.search(r"^prompt.*:", question)
116 | if prompt is None:
117 | return '', question
118 | prompt = prompt.group(0).strip()
119 | q = question.replace(prompt, '').strip()
120 | if prompt.find('chatglm') != -1:
121 | q = chat2text(question)
122 |
123 | if is_ascii(q):
124 | return prompt, q
125 |
126 | return prompt, zh2en(q)
127 |
128 | prompt, q = get_question()
129 | if prompt.find('gpt2') != -1:
130 | yield json.dumps(
131 | {
132 | "response": format_prompt(
133 | generate_prompt(
134 | plain_text=q,
135 | max_length=body.max_tokens,
136 | model_name="gpt2_650k",
137 | num_return_sequences=settings.api.generate_num_return_sequences
138 | )
139 | )
140 | }
141 | )
142 | elif prompt.find('mj') != -1:
143 | yield json.dumps(
144 | {
145 | "response": format_prompt(
146 | generate_prompt(
147 | plain_text=q,
148 | max_length=body.max_tokens,
149 | model_name="mj",
150 | num_return_sequences=settings.api.generate_num_return_sequences
151 | )
152 | )
153 | }
154 | )
155 |
156 | yield json.dumps(
157 | {
158 | "response": format_prompt(
159 | generate_prompt(
160 | plain_text=q,
161 | max_length=body.max_tokens,
162 | model_name='microsoft',
163 | num_return_sequences=settings.api.generate_num_return_sequences
164 | )
165 | )
166 | }
167 | )
168 | torch_gc()
169 |
170 | if question.startswith('prompt'):
171 | return EventSourceResponse(eval_prompt())
172 |
173 | return EventSourceResponse(eval_chatglm())
174 |
175 |
176 | if __name__ == "__main__":
177 | uvicorn.run("main:app", reload=True, app_dir=".")
178 |
--------------------------------------------------------------------------------
/api_offline.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | set SETTINGS_FILE_FOR_DYNACONF="settings-offline.toml"
4 |
5 | set PYTHON=".\system\python\Scripts\python.exe"
6 | set GIT=
7 | set VENV_DIR=.\system\python
8 |
9 | :activate_venv
10 | set PYTHON="%VENV_DIR%\Python.exe"
11 | echo venv %PYTHON%
12 |
13 |
14 | :launch
15 | %PYTHON% app_api.py %*
16 | pause
17 | exit /b
18 |
--------------------------------------------------------------------------------
/app_api.py:
--------------------------------------------------------------------------------
1 |
2 |
3 | if __name__ == '__main__':
4 | import uvicorn
5 |
6 | uvicorn.run("api.chatglm:app", host='0.0.0.0', port=8000, reload=True, app_dir=".")
7 |
--------------------------------------------------------------------------------
/app_imagetools.py:
--------------------------------------------------------------------------------
1 | import gradio as gr
2 | import torch
3 | import click
4 | from config import settings
5 | from imagetools.ui import image_tools_ui
6 | import signal
7 | from ui.image2text import image2text_settings_ui
8 |
9 | device = "cuda" if torch.cuda.is_available() else "cpu"
10 |
11 |
12 | @click.command()
13 | @click.option("--port", type=int, default=None, help="server port")
14 | def ui(port):
15 | with gr.Blocks(title="image tools(图片处理工具)") as block:
16 | with gr.Accordion("settings(参数)", open=False):
17 | blip_max_length, clip_mode_type, clip_model_name, wd14_model_name, wd14_general_threshold, wd14_character_threshold = image2text_settings_ui()
18 | image_tools_ui(
19 | clip_mode_type=clip_mode_type,
20 | clip_model_name=clip_model_name,
21 | wd14_model=wd14_model_name,
22 | wd14_general_threshold=wd14_general_threshold,
23 | wd14_character_threshold=wd14_character_threshold
24 | )
25 |
26 | block.queue(max_size=settings.server.queue_size).launch(
27 | show_api=settings.server.show_api,
28 | enable_queue=settings.server.enable_queue,
29 | debug=settings.server.debug,
30 | share=False,
31 | server_name=settings.server.host,
32 | server_port=port or settings.server.port,
33 | )
34 |
35 |
36 | def signal_handler(sig, frame):
37 | gr.close_all()
38 | exit(0)
39 |
40 |
41 | if __name__ == "__main__":
42 | signal.signal(signal.SIGINT, signal_handler)
43 | ui()
44 |
--------------------------------------------------------------------------------
/config.py:
--------------------------------------------------------------------------------
1 | import torch.cuda
2 | import torch.backends
3 |
4 | from dynaconf import Dynaconf
5 |
6 | settings = Dynaconf(
7 | envvar_prefix="IPG_CONF",
8 | settings_files=['settings.toml', '.secrets.toml'],
9 | )
10 |
11 |
12 |
--------------------------------------------------------------------------------
/convert_tags/convert_translate_cache.py:
--------------------------------------------------------------------------------
1 | from yaml import load, dump
2 |
3 | try:
4 | from yaml import CLoader as Loader, CDumper as Dumper
5 | except ImportError:
6 | from yaml import Loader, Dumper
7 | import os
8 | import subprocess
9 |
10 |
11 | def clone():
12 | subprocess.run(["git", "clone", "https://github.com/wfjsw/danbooru-diffusion-prompt-builder"])
13 |
14 |
15 | def get_files(tags_dir):
16 | fns = []
17 | for root, dirs, files in os.walk(tags_dir, topdown=False):
18 | for name in files:
19 | lower_name = name.lower()
20 | if lower_name.endswith(".yaml"):
21 | fns.append(os.path.join(root, name))
22 | return fns
23 |
24 |
25 | def parse_files(fns):
26 | if not os.path.exists("./translate_cache"):
27 | os.mkdir("./translate_cache")
28 | if not os.path.exists(os.path.join("./translate_cache", "tags")):
29 | os.mkdir(os.path.join("./translate_cache", "tags"))
30 |
31 | if not os.path.exists(os.path.join("./translate_cache", "tags_zh2en")):
32 | os.mkdir(os.path.join("./translate_cache", "tags_zh2en"))
33 | all_tags_fn = open(os.path.join('./translate_cache', 'zh-CN.txt'), 'w+', encoding='utf8')
34 | for fn in fns:
35 | stream = open(fn, 'r')
36 | data = load(stream, Loader=Loader)
37 | tag_type, tags = parse_tag(data)
38 |
39 | tag_type = tag_type.replace('/', '_').replace('\\', '_')
40 | for name, tag in tags:
41 | all_tags_fn.write(f'{name}={tag}\n')
42 |
43 | output_file = os.path.join("./translate_cache", "tags", f"{tag_type}.txt")
44 | with open(output_file, 'w+', encoding='utf8') as f:
45 | for name, tag in tags:
46 | f.write(f'{name}={tag}\n')
47 |
48 | output_file = os.path.join("./translate_cache", "tags_zh2en", f"{tag_type}.txt")
49 | with open(output_file, 'w+', encoding='utf8') as f:
50 | for name, tag in tags:
51 | f.write(f'{tag}={name}\n')
52 | all_tags_fn.close()
53 |
54 |
55 | def parse_tag(data):
56 | tag_type = data['name']
57 | tags = []
58 | for name, item in data['content'].items():
59 | print(name, item['name'], tag_type)
60 | tags.append((name.strip(), item['name'].strip()))
61 | return tag_type, tags
62 |
63 |
64 | fns = get_files('./danbooru-diffusion-prompt-builder/data/tags')
65 | tags = parse_files(fns)
66 |
--------------------------------------------------------------------------------
/convert_tags/readme.md:
--------------------------------------------------------------------------------
1 |
2 | selected_tags.csv
3 | ```
4 | https://huggingface.co/SmilingWolf/wd-v1-4-convnextv2-tagger-v2/tree/main
5 |
6 | ```
7 |
8 |
9 | google trans
10 | ```
11 | pip install googletrans==3.1.0a0
12 | ```
13 |
--------------------------------------------------------------------------------
/convert_tags/run.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | all_proxy="http://127.0.0.1:6152" python translate_tags_by_google.py
4 |
--------------------------------------------------------------------------------
/convert_tags/translate_tags_by_google.py:
--------------------------------------------------------------------------------
1 | import googletrans
2 | from googletrans import Translator
3 |
4 | print(googletrans.LANGUAGES)
5 |
6 | translator = Translator()
7 | result = translator.translate('hello world','zh-cn')
8 | print(result.text)
9 | lines = []
10 |
11 | with open("all.txt","r") as f:
12 | lines = f.readlines()
13 |
14 | with open("all_zh.text","w+") as f:
15 | for l in lines:
16 | l = l.replace("_"," ").strip()
17 | result = translator.translate(l,'zh-cn')
18 | print("{}={}".format(l,result.text))
19 | f.write("{}={}\n".format(l,result.text))
20 | f.flush()
21 |
--------------------------------------------------------------------------------
/data/chain/vector_store/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhongpei/image2text_prompt_generator/68f7e94f4b4e4fca4de10dd42c2000373d8102ea/data/chain/vector_store/.keep
--------------------------------------------------------------------------------
/data/translate_cache/tags/上身装饰.txt:
--------------------------------------------------------------------------------
1 | collarbone=锁骨
2 | wings=翅膀/翼
3 | bat wings=蝙蝠翅膀
4 | butterfly wings=蝴蝶翅膀
5 | black wings=黑色之翼
6 | demon wings=恶魔之翼
7 | muscle=肌肉
8 | cape=披肩/斗篷/披风
9 | camisole=吊带背心
10 | detached sleeves=袖肩分离装
11 | hoodie=卫衣
12 | long sleeves=长袖
13 | robe=长袍
14 | off shoulder=露单肩
15 | bare shoulders=露双肩
16 | topless=上着较少
17 | open clothes=敞开衣服
18 | open robe=敞开长袍
19 | naked cape=裸体披风
20 | naked shirt=裸体衬衫
21 | angel wings=天使的翅膀
22 | detached wings=脱离本体的翅膀
23 | dragon wings=龙翼
24 | fairy wings=妖精的翅膀
25 | harness=背带
26 | whip marks=鞭痕
27 | badge=徽章
28 | arm belt=臂环
29 | bandaged arm=缠着绷带的手臂
30 | bandaged hands=缠着绷带的手
31 | bangle=手镯
32 | bead bracelet=珠子手链
33 | bracelet=手镯
34 | bracer=护腕
35 | armband=臂章
36 | armlet=臂环
37 | elbow gloves=长袖手套
38 | fingerless gloves=露指手套
39 | gloves=手套
40 | wrist cuffs=腕饰
41 | wristband=腕带
42 | belly chain=脐链
43 | bandages=绷带
44 | barcode=条形码
45 | bow=蝴蝶结
46 | command spell=令咒
47 | diamond (gemstone)=钻石(宝石)
48 | heart lock (kantai collection)=舰娘锁(舰C)
49 | heart tattoo=心形纹身
50 | heartbeat=心跳/表现出心动的文字
51 | mole=痣
52 | number tattoo=编号纹身
53 | blazer=西装夹克
54 | suit jacket=西装外套
55 | capelet=披肩
56 | cloak=斗篷
57 | coat=外套
58 | coattails=燕尾
59 | collared jacket=翻领夹克
60 | duffel coat=粗呢大衣
61 | hooded cape=连帽斗篷
62 | hooded cloak=连帽披巾
63 | hooded coat=连帽外套
64 | hooded jacket=连帽夹克
65 | kesa=袈裟
66 | labcoat=白大褂
67 | military jacket=军装夹克
68 | pant suit=女性穿着西服
69 | tailcoat=燕尾服
70 | blouse=罩衫
71 | cardigan=开襟衫
72 | casual=私服
73 | heart cutout=衣服上有心形的开口
74 | center frills=胸口带花边的服装
75 | center opening=正中间开口的服装
76 | checkered shirt=格子衬衫
77 | clothes between breasts=衣服勒在乳沟里
78 | cat cutout=猫咪内衣
79 | t-shirt=T 恤
80 | collared shirt=翻领衬衫
81 | criss-cross halter=交叉吊带
82 | crop top=露腹短上衣
83 | cropped shirt=短衬衫
84 | cropped vest=小款背心
85 | dress shirt=西服衬衫
86 | faulds=腹甲
87 | front-tie top=从正面打结的衣物
88 | gathers=褶裥(衣物)
89 | gym shirt=体操服(上身)
90 | high-waist skirt=高腰裙
91 | virgin killer sweater=处男杀手毛衣
92 | open-chest sweater=胸部开口的毛衣
93 | hooded sweater=连帽毛衣
94 | hooded track jacket=连帽运动夹克
95 | jersey=运动衫
96 | load bearing vest=承重背心
97 | lowleg=低胸装
98 | oversized shirt=过大号衬衫
99 | sailor shirt=水手服款衬衫
100 | tank top=无袖紧身背心
101 | unbuttoned shirt=解开纽扣的衬衫
102 | vest=背心
103 | wet shirt=湿衬衫
104 | cat lingerie=猫系内衣
105 | dudou=肚兜
106 | bikini top=比基尼上衣
107 | bikini top removed=脱下比基尼上衣
108 | gloves removed=脱下手套
109 | half gloves=很短的手套/半截手套
110 | latex gloves=乳胶手套
111 | layered sleeves=分层的衣袖
112 | sleeves folded up=叠起来的袖子
113 | sleeves past fingers=袖子长过手指
114 | sleeves past wrists=袖子长过手腕
115 | sleeves pushed up=袖子往上拉起
116 | hat flower=花环
117 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/下身装饰.txt:
--------------------------------------------------------------------------------
1 | midriff=腹部
2 | navel=肚脐
3 | hips=臀部
4 | thigh gap=股沟
5 | tail=尾巴
6 | thighs=大腿
7 | thick thighs=粗腿
8 | kneepits=膝盖内侧
9 | foot=脚
10 | toes=脚趾
11 | apron=围裙
12 | belt=腰带
13 | bike shorts=自行车短裤
14 | bloomers=灯笼裤
15 | fundoshi=日式丁字裤
16 | girdling=束腰
17 | legwear=裹腿
18 | lowleg panties=低腰式内裤
19 | miniskirt=迷你裙
20 | no panties=无内裤
21 | panties=内裤
22 | pink panties=粉红内裤
23 | pleated skirt=百褶裙
24 | side-tie panties=系带式内裤
25 | skirt=裙子
26 | striped panties=条纹内裤
27 | thong=丁字裤
28 | trefoil=露出三角裤
29 | white panties=白色内裤
30 | zettai ryouiki=绝对领域
31 | shorts=短裤
32 | bottomless=下着较少
33 | panty pull=内裤拉下来
34 | pantyshot=内裤走光
35 | maebari=阴贴
36 | barefoot=赤脚
37 | bare legs=光腿
38 | ankle lace-up=腿部系带
39 | butt plug=插入式尾巴
40 | diaper=尿布
41 | leg garter=腿部花边环
42 | bandaged leg=绑着绷带的腿
43 | anklet=脚镯
44 | demon tail=恶魔尾巴
45 | dog tail=狗尾巴
46 | dragon tail=龙尾
47 | fox tail=狐狸尾巴
48 | horse tail=马尾
49 | bikini bottom=比基尼泳裤
50 | buruma=女式灯笼裤
51 | capri pants=七分裤
52 | chaps=皮套裤
53 | checkered skirt=格子裙
54 | clothes between thighs=衣物挂到大腿之间
55 | skirt around one leg=一条腿上挂着短裙
56 | skirt suit=正装短裙
57 | short shorts=热裤
58 | cutoffs=热裤
59 | denim shorts=牛仔短裤
60 | denim skirt=牛仔裙
61 | greaves=胫甲
62 | gym shorts=体操短裤
63 | hakama=袴/腿衣
64 | hakama skirt=袴裙
65 | jeans=牛仔裤
66 | jumpsuit=(尤指女式)连衫裤
67 | leotard aside=把连衣裤裆部剥到一边
68 | leotard pull=剥开连衣裤
69 | leotard under clothes=内层穿着连衣裤
70 | lowleg pants=低腰裤子
71 | back-print panties=背面印花的内裤
72 | bear panties=熊印花内裤
73 | bow panties=带蝴蝶结的内裤
74 | buruma pull=褪下一部分的内裤
75 | cat ear panties=猫耳造型内裤
76 | strawberry panties=草莓内裤
77 | panties around one leg=一只脚上挂着内裤
78 | swimsuit aside=把泳衣的裆部挪到一边
79 | crotch plate=裆部有特别覆盖物
80 | wet panties=湿内裤
81 | crotchless panties=开档内裤
82 | front-print panties=正面有图案的内裤
83 | g-string=超细款丁字裤
84 | highleg panties=高开衩的内裤
85 | lace-trimmed panties=蕾丝边内裤
86 | micro panties=布料很少的内裤
87 | panties aside=内裤挪到一边
88 | panties under pantyhose=穿在裤袜里的内裤
89 | ass=屁股
90 | ass visible through thighs=正面可见的屁股
91 | bare hips=裸臀
92 | bandaid on leg=腿上的绷带
93 | mechanical legs=机械腿
94 | leg belt=腿带
95 | leg tattoo=腿部纹身
96 | bound legs=绑腿
97 | panty & stocking with garterbelt=吊袜带内裤和长袜
98 | thighhighs over pantyhose=连裤袜加长筒袜
99 | socks over thighhighs=长筒袜加短袜
100 | panties over pantyhose=连裤袜上的内裤
101 | pantyhose under swimsuit=泳衣下连裤袜
102 | black garter belt=黑色吊袜带
103 | neck garter=吊袜带
104 | white garter straps=白色吊袜带
105 | black garter straps=黑色吊袜带
106 | ankle garter=脚踝吊袜带
107 | covering crotch=遮着裆部
108 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/主食.txt:
--------------------------------------------------------------------------------
1 | canned food=罐头食品
2 | cooking oil=食用油
3 | crumbs=面包屑
4 | curry=咖喱
5 | curry rice=咖喱饭
6 | dumpling=饺子
7 | jiaozi=饺子
8 | shumai=烧卖
9 | tang yuan=汤圆
10 | croquette=炸丸
11 | fish and chips=炸鱼薯条
12 | flour=面粉
13 | fondue=芝士火锅
14 | french fries=炸薯条
15 | french toast=法式吐司
16 | burger=汉堡包
17 | megamac=超级汉堡
18 | hot dog=热狗
19 | corn dog=玉米热狗
20 | katsu=日式炸鸡排
21 | katsudon=日式猪排饭
22 | konnyaku=蒟蒻
23 | meal=一顿饭
24 | breakfast=早餐
25 | dim sum=点心
26 | dinner=晚餐
27 | feast=盛宴
28 | lunch=午饭
29 | bento=便当
30 | okosama lunch=okosama 儿童餐
31 | party=派对
32 | birthday party=生日聚会
33 | tea party=茶会
34 | baozi=包子
35 | nabe=火锅
36 | oden=关东煮
37 | sukiyaki=寿喜烧
38 | narutomaki=鸣门卷
39 | okonomiyaki=什锦煎饼
40 | omelet=煎蛋卷
41 | pizza=披萨
42 | holding pizza=拿着披萨
43 | pizza box=披萨盒
44 | pizza delivery=披萨递送
45 | pizza slice=切下的一块比萨
46 | ribs (food)=排骨
47 | salad=沙拉
48 | salt=盐
49 | sandwich=三明治
50 | soup=汤
51 | miso soup=味噌
52 | zouni soup=日式烩年糕
53 | sushi=寿司
54 | conveyor belt sushi=回转寿司
55 | gunkanmaki=军舰卷
56 | inarizushi=稻荷寿司
57 | makizushi=寿司巻
58 | nigirizushi=手握寿司
59 | sushi geta=寿司板
60 | taco=炸玉米饼
61 | takoyaki=章鱼烧
62 | takuan=腌萝卜片
63 | tamagokake gohan=生蛋盖饭
64 | tempura=天妇罗
65 | shrimp tempura=虾天妇罗
66 | tofu=豆腐
67 | aburaage=油炸豆腐
68 | mapo tofu=麻婆豆腐
69 | stinky tofu=臭豆腐
70 | twice cooked pork=回锅肉
71 | unadon (food)=鳗丼
72 | zongzi=粽子
73 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/乳制品.txt:
--------------------------------------------------------------------------------
1 | butter=黄油
2 | cheese=芝士
3 | smoked cheese=烟熏奶酪
4 | swiss cheese=瑞士奶酪
5 | cream=奶油
6 | whipped cream=打发的奶油
7 | eggnog=蛋酒
8 | kefir=开菲尔
9 | milk=牛奶
10 | baby bottle=婴儿奶瓶
11 | condensed milk=炼乳
12 | chocolate milk=巧克力牛奶
13 | milk bottle=奶瓶
14 | milk carton=盒装牛奶
15 | milk churn=牛奶周转桶
16 | milk mustache=牛奶小胡子
17 | milkshake=奶昔
18 | strawberry milk=草莓牛奶
19 | yakult=养乐多
20 | yogurt=酸奶
21 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/作品角色.txt:
--------------------------------------------------------------------------------
1 | 2k-tan=2K碳(OS碳)
2 | abe nana=安部菜菜(偶像大师)
3 | admiral graf spee (azur lane)=斯佩伯爵海军上将(碧蓝航线)
4 | aegis (persona)=艾吉斯(女神异闻录)
5 | aerith gainsborough=艾丽丝·盖恩斯巴勒(最终幻想VII)
6 | afuro terumi=亚风炉照美(闪电十一人)
7 | agrias oaks=阿格莉亚丝(最终幻想)
8 | ahri=阿狸(英雄联盟)
9 | aida mana=相田爱(心跳!光之美少女)
10 | aino megumi=爱乃惠(光之美少女happiness charge)
11 | aino minako=爱野美奈子(美少女战士)
12 | aircraft carrier oni=空母栖鬼(舰Colle)
13 | aisaka taiga=逢坂大河(龙与虎)
14 | aisha landar=爱莎·兰德尔(艾尔之光)
15 | akagi (azur lane)=赤城(碧蓝航线)
16 | akagi miria=赤城米莉亚(偶像大师)
17 | akali=阿卡丽(英雄联盟)
18 | akashi (azur lane)=明石(碧蓝航线)
19 | akatsuki kirika=晓切歌(战姬绝唱SYMPHOGEAR)
20 | akaza akari=赤座灯里(摇曳百合)
21 | akemi homura=晓美焰(魔法少女小圆)
22 | aki (girls und panzer)=小秋(少女与战车)
23 | aki minoriko=秋穰子(东方)
24 | aki shizuha=秋静叶(东方)
25 | akita neru=亚北音留(Vocaloid)
26 | akiyama mio=秋山澪(K-ON!轻音少女)
27 | akiyama yukari=秋山优花里(少女与战车)
28 | akizuki ritsuko=秋月律子(偶像大师)
29 | akizuki ryo=秋月凉(偶像大师)
30 | akuma homura=恶魔焰(魔法少女小圆)
31 | alastor (shakugan no shana)=天壤劫火·亚拉斯特尔(灼眼的夏娜)
32 | alena (dq4)=安莉娜公主(勇者斗恶龙4)
33 | alice cartelet=爱丽丝·卡塔雷特(黄金拼图)
34 | alice margatroid=爱丽丝·玛格特罗依德(东方)
35 | alice margatroid (pc-98)=爱丽丝·玛格特罗依德(东方 PC-98)
36 | alisa (girls und panzer)=亚理纱(少女与战车)
37 | alisa ilinichina amiella=亚莉莎·伊莉妮提娜·阿米耶拉(噬神者系列)
38 | alpaca suri (kemono friends)=苏利羊驼(动物朋友)
39 | alphonse elric=阿尔冯斯·艾尔利克(钢之炼金术师)
40 | altera (fate)=阿提拉(Fate)
41 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/全身装饰.txt:
--------------------------------------------------------------------------------
1 | bandaid=创可贴
2 | cane=手杖
3 | chains=锁链
4 | cuffs=手枷
5 | handcuffs=警用手铐
6 | shackles=宽手铐
7 | tattoo=纹身
8 | sarong=莎笼/沙滩浴巾
9 | buttons=纽扣
10 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/制图特效.txt:
--------------------------------------------------------------------------------
1 | chromatic aberration=色差
2 | lens flare=镜头光晕
3 | motion blur=动态模糊
4 | sparkle=闪耀效果
5 | jpeg artifacts=JPEG 压缩失真
6 | blurry=模糊的
7 | cinematic lighting=电影光效
8 | glowing light=荧光
9 | god rays=自上而下的光
10 | ray tracing=光线追踪
11 | reflection light=反射光
12 | overexposure=过曝
13 | backlighting=逆光
14 | blending=混合
15 | bloom=盛开
16 | bokeh=背景散焦
17 | caustics=焦散
18 | chiaroscuro=明暗对比
19 | chromatic aberration abuse=色差滥用
20 | diffraction spikes=衍射十字星
21 | depth of field=背景虚化
22 | dithering=抖动
23 | drop shadow=立绘阴影
24 | emphasis lines=集中线
25 | film grain=胶片颗粒感/老电影滤镜
26 | foreshortening=正前缩距透视法
27 | halftone=一种漫画中常见的网点状的组色组图画法
28 | image fill=图像填充
29 | lens flare abuse=镜头光晕滥用
30 | motion lines=体现运动的线
31 | multiple monochrome=多个单色结构拼接成的
32 | optical illusion=视错觉
33 | anaglyph=互补色
34 | stereogram=立体画
35 | scanlines=扫描线
36 | silhouette=剪影
37 | speed lines=速度线
38 | vignetting=晕影
39 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/动作.txt:
--------------------------------------------------------------------------------
1 | arm support=用手支撑住
2 | armpits=举手露腋
3 | arms behind back=手放在身后
4 | arms crossed=手交叉于胸前
5 | arms up=双抬臂
6 | caramelldansen=焦糖舞
7 | finger gun=手枪手势
8 | hand on hip=单手插腰
9 | hands on another's breast=手放在另一人的胸前
10 | hands on hips=双手叉腰
11 | holding=拿着
12 | holding hands=牵手
13 | middle finger=比出中指
14 | salute=敬礼
15 | shushing=嘘手势
16 | spread arms=张开双臂
17 | thumbs up=翘大拇指
18 | undressing=脱衣服中
19 | v=胜利手势
20 | waving=招手
21 | outstretched arms=伸出双臂
22 | outstretched arm=伸出单臂
23 | outstretched hand=伸出手
24 | reaching=伸手触及
25 | arm up=单抬臂
26 | presenting armpit=展示腋窝
27 | presenting panties=展示内裤
28 | arms behind head=手臂放头后
29 | kimono lift=掀起和服
30 | kimono pull=剥开和服
31 | skirt lift=掀起裙子
32 | shared food=共享食物/用嘴递食物
33 | adjusting hair=理头发
34 | adjusting legwear=整理裤袜
35 | adjusting panties=拨内裤
36 | arm grab=抓住手臂
37 | arm held back=手臂往后拉
38 | arm hug=挽手
39 | armpit peek=微微露出腋窝
40 | arms around neck=双手搂着脖子
41 | arms at sides=双手垂放
42 | beckoning=招手
43 | belly grab=捏着肚子
44 | bikini pull=扯着比基尼
45 | skirt pull=拉开裙子
46 | caressing testicles=爱抚睾丸
47 | carrying over shoulder=肩扛
48 | carrying under arm=夹在腋下
49 | paw pose=爪子姿势
50 | claw pose=举爪姿势
51 | clothes lift=掀起衣物
52 | clothes pull=拉开衣物
53 | bunching hair=手持辫子
54 | convenient arm=遮住关键部位的手臂
55 | convenient head=挡住关键部位的头
56 | convenient leg=挡住关键部位的腿
57 | crossed arms=交叉双臂
58 | cuddling=拥抱
59 | dress lift=掀起裙子
60 | dress removed=脱下裙子
61 | dual wielding=双持
62 | palm=以手掩面
63 | feeding=喂食
64 | fingering through clothes=手指隔着衣物摸来摸去
65 | flapping=拍打动作
66 | glomp=热情的拥抱/扑上来抱住
67 | grabbing=抓住/抓着
68 | guided breast grab=把对方的手抓过来摸自己的胸
69 | hair flip=拨头发
70 | hair tucking=撩头发
71 | hair twirling=手指卷着头发
72 | hand between legs=手放在两腿之间
73 | hand in hair=手埋在头发里
74 | hand in panties=手伸进内裤里
75 | hand on another's cheek=手摸着对方的脸颊
76 | hand on another's chest=手放在对方的胸前
77 | hand on another's chin=手托着对方的下巴
78 | hand on another's=手接触到对方的脸
79 | hand on another's stomach=手放在对方的肚子上
80 | hand on own knee=手放在自己的膝盖上
81 | hand on own stomach=把手放在自己的肚子上
82 | hand to own mouth=手朝向自己嘴
83 | heart hands=双手比心
84 | heart hands duo=两个人一起用手比心
85 | holding arrow=拉着弓
86 | holding condom=拿着避孕套
87 | holding panties=拿着内裤
88 | holding strap=手拉着吊带
89 | holding syringe=手持注射器
90 | holding underwear=手持内衣
91 | holding whip=握着鞭子
92 | index finger raised=食指抬起
93 | lifted by another=被对方掀起衣物
94 | lifted by self=掀起自己的衣物
95 | necktie grab=抓着领带
96 | ok sign=OK手势
97 | own hands together=双手合十
98 | rubbing eyes=揉眼睛
99 | shading eyes=遮阳手势
100 | sheet grab=抓着床单
101 | shoujo kitou-chuu=少女祈祷中
102 | talking on phone=打电话
103 | through clothes=隔着衣物爱抚
104 | tying=打结(动作)
105 | yawning=打哈欠
106 | drying hair=弄干头发
107 | v over eye=在眼边比剪刀手
108 | grabbing another's hair=抓着对方的头发
109 | tying hair=扎头发
110 | mimikaki=采耳
111 | holding eyewear=拿着眼镜/正在摘眼镜
112 | hand on ear=手放在耳朵上
113 | adjusting eyewear=扶眼镜
114 | hand on another's head=手放在对方的头上
115 | hand on own head=手放在自己头上
116 | hand on own forehead=手放在自己前额
117 | hand on another's face=手接触到对方的脸
118 | hand on own face=把手放在自己脸上
119 | hands on another's face=双手放在别人的脸上
120 | hands on own face=双手放在自己的脸上
121 | hand on own cheek=把手放在自己的脸颊上
122 | hand on headwear=手触碰帽子
123 | hand on own chest=把手放在自己的胸口
124 | hand on another's shoulder=手放在对方的肩上
125 | hand on own shoulder=手放在自己的肩上
126 | hand on own ass=把手放在自己的臀部
127 | hands on ass=双手放在屁股上
128 | hands on own knees=双手放在自己的膝盖上
129 | hands on feet=双手放在脚上
130 | hand on another's hand=手放在对方的手上
131 | hand in pocket=手插在口袋里
132 | hands in pockets=双手插在兜里
133 | air quotes=引号手势
134 | bunny pose=兔耳 pose
135 | carry me=抱着我手势
136 | clenched hands=紧握的双手
137 | cupping hands=用手比作杯子
138 | double v=双手比 V
139 | fidgeting=紧张手势
140 | finger counting=用手指比数字
141 | finger frame=用手指作相框
142 | fist bump=碰拳
143 | fist in hand=抱拳
144 | hand glasses=用手比作眼镜
145 | own hands clasped=握住自己的双手
146 | heart arms=手臂摆出心的姿势
147 | heart hands trio=三个人用手比心
148 | high five=击掌庆祝
149 | horns pose=用手比作角
150 | noogie=双拳挤头
151 | palm-fist greeting=拱手礼
152 | palm-fist tap=拳头拍手掌/有主意了
153 | penetration gesture=插入手势/做爱示意
154 | pinky swear=勾指起誓
155 | shadow puppet=用手模仿其他物件/皮影戏
156 | tsuki ni kawatte oshioki yo=代表月亮消灭你
157 | steepled fingers=指尖抵着指间
158 | akanbe=拉下眼睑的鬼脸
159 | slit throat (gesture)=割喉手势
160 | pinky out=伸出小拇指
161 | pointing=用手指着
162 | pointing at self=指着自己
163 | pointing at viewer=指向看图的人
164 | pointing down=指向下方
165 | pointing forward=指向前方
166 | pointing up=向上指
167 | kamina pose=抬高手臂向上指
168 | saturday night fever=叉腰向上指 (舞蹈)
169 | thumbs down=大拇指向下
170 | \n/=摇滚手势
171 | crossed fingers=手指交错
172 | fox shadow puppet=狐狸手势
173 | finger heart=双指比心
174 | inward v=反向比 V
175 | shaka sign=沙卡手势
176 | two-finger salute=二指敬禮
177 | \m/=6+1 手势
178 | middle w=3 手势
179 | money gesture=金钱手势
180 | \||/=手掌贴墙
181 | open hand=张开的手
182 | ohikaenasutte=要求自我介绍
183 | spread fingers=张开手指
184 | straight-arm salute=直臂敬礼/纳粹式敬礼
185 | vulcan salute=瓦肯举手礼
186 | clenched hand=握紧的手
187 | fig sign=Fig 手势
188 | power fist=力量手套
189 | raised fist=举起的拳头
190 | stroking own chin=扶颏冥想
191 | cunnilingus gesture=舔阴手势
192 | fellatio gesture=口交手势
193 | handjob gesture=手冲手势
194 | hat tip=捏着帽檐
195 | shocker (gesture)=爽歪歪 (手势)
196 | v over mouth=手指比 V 放在手上
197 | w=手指比 W
198 | air guitar=空气吉他
199 | curtsey=(女子的)屈膝礼
200 | heart tail=心形尾巴/心形尾尖/尾巴摆出心形
201 | heart tail duo=两人尾巴摆出心形
202 | kuji-in=九字印
203 | shrugging=耸肩
204 | toe-point=趾尖/脚尖
205 | victory pose=胜利手势
206 | orchid fingers=兰花指
207 | holding flower=拿着花
208 | smelling flower=闻花
209 | dress tug=拉下连衣裙下摆
210 | open dress=分开裙子
211 | dress pull=剥下裙子露出胸口
212 | all fours=四肢趴地
213 | arched back=弓身体
214 | bent over=翘臀姿势
215 | crossed legs=二郎腿
216 | fetal position=曲腿至胸
217 | fighting stance=战斗姿态
218 | hugging own legs=抱腿
219 | indian style=盘腿
220 | kneeling=下跪
221 | leaning forward=身体前驱
222 | leg lift=抬一只脚
223 | legs up=抬两只脚
224 | lying=躺着
225 | on stomach=趴着
226 | princess carry=公主抱
227 | seiza=正坐
228 | sitting=坐着
229 | spread legs=张腿
230 | squatting=蹲下
231 | top-down bottom-up=趴着翘臀
232 | wariza=割坐
233 | yokozuwari=侧身坐
234 | zombie pose=僵尸姿势
235 | humpbacked=驼背
236 | back-to-back=背靠背
237 | head back=弓背高潮
238 | bowing=鞠躬
239 | leaning=倚靠/身体倾斜
240 | leaning back=身体往后靠
241 | leaning to the side=向一侧倾斜身体
242 | on back=仰躺
243 | on side=侧卧
244 | reclining=斜倒斜躺姿势
245 | sitting on lap=坐在大腿上
246 | straddling=跨坐
247 | the pose=趴在地上并翘起脚
248 | head rest=枕着头/托着头
249 | head tilt=歪着头
250 | head down=低着头
251 | one knee=单膝跪
252 | butterfly sitting=蝴蝶坐
253 | figure four sitting=二郎腿
254 | lotus position=结跏趺坐
255 | sitting on person=坐在人身上
256 | thigh straddling=大腿跨骑
257 | upright straddle=对坐体位
258 | standing=站立的
259 | legs apart=两腿分开
260 | standing on one leg=单腿站立
261 | balancing=(保持)平衡的姿势
262 | crawling=爬行
263 | jumping=跳跃
264 | running=奔跑
265 | walking=走路
266 | wallwalking=走在墙顶上
267 | prostration=失意体前屈/Orz
268 | chest stand=用胸支撑身体
269 | cowering=抱头
270 | crucifixion=磔
271 | faceplant=脸贴地面
272 | battoujutsu stance=拔刀起手式
273 | full scorpion=头扑倒在地
274 | stretching=伸懒腰
275 | superhero landing=三点着地
276 | handstand=用手倒立
277 | headstand=用头倒立
278 | yoga=瑜伽
279 | scorpion pose=蝎子姿势
280 | slouching=伛
281 | twisted torso=躯干夸张地扭曲
282 | crossed ankles=交叉脚踝
283 | folded=抬腿露阴
284 | leg up=抬起腿
285 | knees to chest=膝盖顶到胸部
286 | legs over head=双腿抬过头
287 | outstretched leg=腿部伸展
288 | split=分开
289 | pigeon pose=鸽子姿势
290 | standing split=站立劈叉/站立高抬腿
291 | watson cross=双腿交叉站姿
292 | arm around neck=手臂环绕脖子
293 | hand on another's neck=手放在他人的脖子上
294 | hand on own neck=把手放在自己的脖子上
295 | neck biting=咬脖子
296 | necking=缩颈
297 | kissing neck=亲吻脖子
298 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/品控.txt:
--------------------------------------------------------------------------------
1 | bad anatomy=身体结构错误
2 | bad hands=手型错误
3 | fewer digits=缺少手指
4 | extra digit=多余手指
5 | missing arms=缺少手臂
6 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/图片杂件.txt:
--------------------------------------------------------------------------------
1 | text=含文字
2 | signature=含签名
3 | watermark=含水印
4 | username=含用户名
5 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/图片类型.txt:
--------------------------------------------------------------------------------
1 | absurdres=超高分辨率
2 | back=背影像
3 | checkered=格子的
4 | everyone=所有人
5 | highres=高分辨率
6 | huge filesize=大文件体积
7 | incredibly absurdres=极高分辨率
8 | lowres=低分辨率
9 | original=原创
10 | parody=拙劣模仿
11 | sample=样图标记
12 | wallpaper=壁纸
13 | masterpiece=杰作
14 | best quality=顶级质量
15 | worst quality=糟糕质量
16 | low quality=低质量
17 | normal quality=一般质量
18 | error=有错误
19 | extremely detailed cg unity 8k wallpaper=极高分辨率 CG 壁纸
20 | illustration=插画
21 | nsfw=不宜工作时观看
22 | 3d=3D
23 | animated=动图
24 | animated png=PNG 动图
25 | flash=Flash
26 | video=视频
27 | music video=音乐视频
28 | animated gif=GIF 动图
29 | easytoon=EasyToon
30 | non-repeating animation=非循环动画
31 | looping animation=循环播放动画
32 | roulette animation=轮转动画
33 | live2d=Live2D
34 | archived file=压缩包
35 | artbook=原画
36 | calendar (medium)=日历(介质)
37 | card (medium)=卡片(介质)
38 | comic=漫画
39 | 1koma=单格漫画
40 | 2koma=双分镜漫画
41 | 3koma=三格漫画
42 | 4koma=四格漫画
43 | multiple 4koma=多列四格漫画
44 | 5koma=五格漫画
45 | borderless panels=无边框漫画
46 | eromanga=色情漫画
47 | left-to-right manga=从左往右读的漫画
48 | right-to-left comic=从右往左读的漫画
49 | silent comic=默剧漫画
50 | corrupted file=损坏的文件
51 | cover=封面
52 | album cover=专辑封面
53 | character single=单人封面
54 | cover page=封面
55 | doujin cover=同人封面
56 | dvd cover=DVD 封面
57 | fake cover=(同人向玩梗向的)封面
58 | video game cover=视频游戏封面
59 | magazine cover=杂志封面
60 | manga cover=漫画封面
61 | fake screenshot=(同人向玩梗向的)截图
62 | game cg=游戏 CG
63 | gyotaku (medium)=鱼拓 (介质)
64 | icon=图标
65 | logo=标志
66 | kirigami=剪纸
67 | lineart=线条艺术
68 | no lineart=几乎没用勾线的画
69 | outline=角色形象有描边
70 | tall image=长图
71 | wide image=宽图
72 | oekaki=简朴的画作
73 | official art=官方画作
74 | phonecard=电话卡
75 | photo=照片
76 | papercraft=纸艺
77 | paper child=纸质角色
78 | paper cutout=纸艺模型
79 | pixel art=像素风
80 | postcard=明信片
81 | poster=海报
82 | revision=修正版
83 | scan=扫描件
84 | anime screencap=动画截图
85 | shitajiki=垫板
86 | tegaki=来自 tegaki 博客
87 | triptych (art)=三联画 (艺术)
88 | vector trace=矢量画
89 | tileable=可平铺拼贴
90 | widescreen=宽屏幕
91 | official wallpaper=官方壁纸图
92 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/城市.txt:
--------------------------------------------------------------------------------
1 | skyscrapers=摩天大楼
2 | neon lights=霓虹灯
3 | cityscape=城市风景
4 | fences=栏杆
5 | building=建筑
6 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/天空_气象.txt:
--------------------------------------------------------------------------------
1 | cloud=云
2 | full moon=满月
3 | moon=月亮
4 | moonlight=月光
5 | night=夜晚
6 | night sky=夜空
7 | blue moon=蓝月
8 | sky=天空
9 | starry sky=星空
10 | sun=太阳
11 | skyline=天际线
12 | shooting star=流星
13 | sunburst background=旭日纹背景
14 | sunset=落日
15 | beautiful detailed sky=漂亮的天空
16 | day=白天
17 | dusk=黄昏
18 | in spring=春
19 | in summer=夏
20 | in autumn=秋
21 | in winter=冬
22 | stars=星星
23 | cloudy=多云
24 | rain=下雨
25 | in the rain=雨中
26 | rainy days=雨天
27 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/头发.txt:
--------------------------------------------------------------------------------
1 | streaked hair=条染
2 | multicolored hair=多彩头发
3 | colored inner hair=内侧染色
4 | blonde hair=金发
5 | silver hair=银发
6 | grey hair=灰发
7 | white hair=白发
8 | brown hair=茶发
9 | light brown hair=浅褐发
10 | black hair=黑发
11 | purple hair=紫发
12 | red hair=红发
13 | blue hair=蓝发/水色发
14 | dark blue hair=深蓝发
15 | light blue hair=浅蓝发
16 | green hair=绿发
17 | pink hair=粉发
18 | gradient hair=渐变发色
19 | rainbow hair=彩虹发
20 | ahoge=呆毛
21 | asymmetrical hair=非对称发型
22 | bangs=刘海
23 | blunt bangs=齐刘海
24 | braid=辫子
25 | braided ponytail=编织马尾辫
26 | curly hair=卷发
27 | curtained hair=窗帘/瀑布发型
28 | double bun=双团子头
29 | drill hair=钻头卷/公主卷
30 | twin drills=双钻头卷
31 | quad drills=多钻头卷
32 | side drill=单侧钻头卷
33 | french braid=法式辫
34 | hair behind ear=耳后发
35 | hair between eyes=眼间刘海
36 | crossed bangs=交错刘海
37 | hair bun=团子头
38 | hair intakes=进气口发型
39 | hair over shoulder=披肩发
40 | hime cut=姬发式
41 | long hair=长发
42 | messy hair=凌乱发型
43 | parted bangs=分开的刘海
44 | ponytail=马尾
45 | short hair=短发
46 | short ponytail=短马尾
47 | side swept bangs=朝一个方向的刘海
48 | side ponytail=侧马尾
49 | twin braids=双辫子
50 | twintails=双马尾
51 | very long hair=很长的头发
52 | front ponytail=前马尾
53 | short twintails=短双马尾
54 | folded ponytail=折叠马尾
55 | quad tails=四马尾
56 | single braid=单辫
57 | low twin braids=低双辫
58 | side braid=侧辫
59 | crown braid=冠型织辫
60 | dreadlocks=脏辫
61 | cone hair bun=锥形发髻
62 | braided bun=辫子髻
63 | doughnut hair bun=圆环发髻
64 | heart hair bun=心形发髻
65 | wavy hair=自然卷
66 | asymmetrical bangs=不对称刘海
67 | swept bangs=扫浏海
68 | sidelocks=耳前发
69 | single sidelock=单耳前发
70 | hair pulled back=头发后梳
71 | half updo=侧发后梳
72 | hair one side up=一侧绑发
73 | hair two side up=双侧绑发
74 | hair spread out=散发
75 | floating hair=漂浮的头发
76 | straight hair=直发
77 | big hair=头发很多的
78 | crystal hair=水晶状的头发
79 | expressive hair=富有表现力的头发
80 | hair over eyes=头发遮着双眼
81 | hair strand=强调一缕一缕感的发型/发丝
82 | hair over one eye=头发遮住了一只眼睛
83 | shiny hair=有光泽的头发
84 | wet hair=湿头发
85 | hair slicked back=垂下的长鬈发
86 | high ponytail=披在两侧的两条辫子
87 | long braid=侧马尾
88 | low-tied long hair=直发
89 | low ponytail=低扎马尾
90 | low twintails=低扎双尾
91 | medium hair=中等长发
92 | ringlets=垂下的长鬈发
93 | side braids=披在两侧的两条辫子
94 | side bun=披在两侧的发髻
95 | split ponytail=尾部散开的单马尾发型
96 | two side up=小型双股辫
97 | absurdly long hair=超长的头发
98 | cloud hair=云絮状发型
99 | flipped hair=外卷发型
100 | tentacle hair=触手头发
101 | very short hair=很短的头发
102 | bangs pinned back=掀起的刘海
103 | braided bangs=辫子刘海
104 | diagonal bangs=斜刘海
105 | single hair intake=单侧进气口发型
106 | hair ears=耳状头发
107 | bald=秃头
108 | bald girl=秃头女孩
109 | bowl cut=锅盖头
110 | buzz cut=寸头
111 | chonmage=丁髷
112 | crew cut=平头/板寸头
113 | flattop=平顶
114 | okappa=河童头
115 | pixie cut=精灵头
116 | undercut=帽盔式发型
117 | bob cut=波波头
118 | cornrows=玉米垄发型
119 | mullet=鲻鱼头
120 | bow-shaped hair=弓形头发
121 | front braid=前辫
122 | multiple braids=多股(麻花)辫
123 | tri braids=三股辫
124 | quad braids=四股辫
125 | triple bun=三发髻
126 | hair rings=发圈
127 | tied hair=扎头发
128 | single hair ring=单发圈
129 | one side up=只扎了一边的头发
130 | low-braided long hair=低辫长发
131 | mizura=角发
132 | multi-tied hair=多扎头发
133 | nihongami=日本发
134 | topknot=丸子头
135 | uneven twintails=两股辫子大小不一
136 | tri tails=有三股辫子
137 | quin tails=有五股辫子
138 | afro=鸟窝头/爆炸头
139 | huge afro=超大鸟窝头
140 | beehive hairdo=蜂窝头
141 | pompadour=蓬帕杜发型
142 | quiff=蓬松感油头
143 | shouten pegasus mix mori=昇天ペガサスMIX盛り
144 | hair flaps=在摆动的头发
145 | pointy hair=带着尖角的发型
146 | spiked hair=刺刺的头发
147 | widow's peak=美人尖
148 | heart ahoge=心形呆毛
149 | huge ahoge=大呆毛
150 | antenna hair=多根呆毛
151 | comb over=遮盖头发稀少部分
152 | mohawk=莫霍克发型
153 | lone nape hair=孤颈毛
154 | hair bikini=头发比基尼
155 | hair in mouth=嘴里有头发
156 | hair scarf=头发围巾
157 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/头部饰品.txt:
--------------------------------------------------------------------------------
1 | halo=头顶光环
2 | tokin hat=东金帽子
3 | mini top hat=迷你礼帽
4 | beret=贝雷帽
5 | hood=兜帽
6 | nurse cap=护士帽
7 | tiara=三重冕
8 | crown=皇冠
9 | hairpin=发卡
10 | hairband=头箍
11 | hairclip=发夹
12 | hair ribbon=发带
13 | hair flower=发花
14 | hair ornament=头饰
15 | hair bow=蝴蝶结发饰
16 | maid headdress=女仆头饰
17 | ribbon=丝带
18 | sunglasses=太阳镜
19 | blindfold=眼罩
20 | eyepatch=单眼罩
21 | mask=面具/眼罩/口罩
22 | jewelry=首饰
23 | bell=铃铛
24 | facepaint=面纹
25 | horns=兽角
26 | antlers=鹿角
27 | clover hair ornament=三叶草发饰
28 | crescent hair ornament=月牙发饰
29 | demon horns=恶魔的角
30 | jeweled branch of hourai=蓬莱玉枝
31 | fish hair ornament=鱼形发饰
32 | forehead jewel=额前有宝石
33 | forehead mark=额前有图案
34 | forehead protector=护额
35 | kanzashi=簪子
36 | hair bobbles=头绳
37 | hairpods=头发上成对的像无线蓝牙的发饰
38 | hair bell=头发上系着铃铛
39 | heart-shaped eyewear=心形眼镜
40 | goggles=护目镜
41 | rimless eyewear=无框眼镜
42 | over-rim eyewear=下半无框眼镜
43 | kamina shades=卡米纳墨镜
44 | goggles on head=头上别着护目镜
45 | goggles on headwear=帽子上别着护目镜
46 | head mounted display=戴着头戴显示设备
47 | bandage on=贴有绷带的脸
48 | bandage over one eye=缠着绷带的单眼
49 | scar across eye=眼睛上的疤痕
50 | scar on cheek=脸颊上的疤痕
51 | covered eyes=蒙住的眼
52 | surgical mask=医用口罩
53 | mouth mask=口罩
54 | mouth veil=面纱
55 | coke-bottle glasses=厚如玻璃瓶底的圆眼镜
56 | tengu mask=天狗面具
57 | fox mask=狐狸面具
58 | mask on head=掀到头上的面具
59 | mask pull=拉着口罩
60 | mask removed=摘下的面具
61 | gas mask=防毒面具
62 | anchor choker=锚形项圈
63 | bead necklace=珠子项链
64 | headphones=耳机
65 | behind-the-head headphones=从后脑戴上的耳机
66 | whistle around neck=脖子上挂着口哨
67 | animal hood=兽耳头罩
68 | bespectacled=戴眼镜的
69 | fedora=软呢帽
70 | witch hat=女巫帽
71 | wizard hat=法师帽
72 | winged helmet=带翅膀的头盔
73 | hood down=放下的兜帽
74 | hood up=戴起来的兜帽
75 | sailor hat=水手帽
76 | santa hat=圣诞帽
77 | peaked cap=类似警帽的帽子
78 | elbow pads=护肘
79 | dragon horns=龙角
80 | eyewear on head=眼镜别在头上
81 | mole under eye=眼角有痣
82 | mole under mouth=嘴角有痣/美人痣
83 | x hair ornament=x发饰
84 | black hairband=黑色发带
85 | hair scrunchie=发箍
86 | white hairband=白色发带
87 | hair tie=发带
88 | frog hair ornament=青蛙发饰
89 | food-themed hair ornament=食物发饰
90 | star hair ornament=星星发饰
91 | heart hair ornament=心形发饰
92 | red hairband=红色发带
93 | butterfly hair ornament=蝴蝶发饰
94 | snake hair ornament=蛇发饰
95 | lolita hairband=洛丽塔发带
96 | feather hair ornament=羽毛头饰
97 | blue hairband=蓝色发带
98 | anchor hair ornament=锚发饰
99 | leaf hair ornament=叶发饰
100 | bunny hair ornament=兔子头饰
101 | skull hair ornament=骷髅头饰
102 | yellow hairband=黄色发带
103 | pink hairband=粉色发带
104 | bow hairband=蝴蝶结发带
105 | cat hair ornament=猫头饰
106 | musical note hair ornament=音符发饰
107 | carrot hair ornament=胡萝卜发饰
108 | purple hairband=紫色发带
109 | hair beads=发珠
110 | multiple hair bows=多个蝴蝶结
111 | bat hair ornament=蝙蝠发饰
112 | bone hair ornament=骨发饰
113 | orange hairband=橙色发带
114 | snowflake hair ornament=雪花发饰
115 | flower on head=头上有花
116 | head wreath=头上戴着花冠
117 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/室内.txt:
--------------------------------------------------------------------------------
1 | bathroom=浴室场景
2 | bathtub=浴缸
3 | toilet stall=厕所隔间
4 | shower=淋浴
5 | bedroom=卧室
6 | hotel room=旅馆房间
7 | messy room=杂乱的房间
8 | otaku room=御宅房
9 | cafeteria=自助餐厅
10 | changing room=更衣室
11 | classroom=教室
12 | clubroom=社团活动室
13 | conservatory=温室
14 | courtroom=法庭
15 | dining room=家里的餐厅
16 | dressing room=更衣室
17 | dungeon=地牢
18 | prison cell=牢房
19 | fitting room=试衣间
20 | gym=健身房
21 | locker room=更衣室
22 | gym storeroom=体育器材库房
23 | infirmary=医务室
24 | kitchen=厨房
25 | laboratory=实验室
26 | library=图书馆
27 | living room=客厅
28 | office=办公室
29 | cubicle=隔间
30 | stage=舞台
31 | staff room=职员休息室
32 | storage room=储存室
33 | armory=军械库
34 | closet=壁橱
35 | workshop=创意工坊
36 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/室外.txt:
--------------------------------------------------------------------------------
1 | airfield=飞机场
2 | runway=跑道
3 | amusement park=游乐园
4 | carousel=旋转木马
5 | ferris wheel=摩天轮
6 | roller coaster=过山车
7 | aqueduct=渡槽
8 | bridge=桥
9 | rope bridge=绳桥
10 | wooden bridge=木桥
11 | canal=运河
12 | city=城市
13 | floating city=浮动城堡
14 | rural=田园
15 | town=城镇
16 | village=村庄
17 | dam=大坝
18 | dock=码头
19 | drydock=旱坞
20 | shipyard=船厂
21 | graveyard=墓地
22 | jetty=码头/栈桥
23 | field=田野
24 | rice paddy=稻田
25 | wheat field=麦田
26 | fountain=喷泉
27 | harbor=港口
28 | market=市场
29 | market stall=市场摊位
30 | pier=码头
31 | phone booth=电话亭
32 | poolside=泳池边
33 | waterpark=水上乐园
34 | railroad tracks=铁轨
35 | railroad crossing=铁路道口
36 | road=路
37 | alley=胡同/小巷
38 | crosswalk=人行横道
39 | dirt road=泥路
40 | highway=高速公路
41 | path=小径
42 | sidewalk=人行道
43 | stone walkway=石制人行道
44 | street=街道
45 | soccer field=足球场
46 | running track=运行轨道
47 | trench=战壕
48 | tunnel=隧道
49 | well=出色地
50 | zoo=动物园
51 | garden=花园
52 | paper lantern=灯笼
53 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/建筑物.txt:
--------------------------------------------------------------------------------
1 | airport=飞机场
2 | control tower=控制塔
3 | hangar=机库
4 | apartment=公寓
5 | aquarium=水族馆
6 | arcade=室内购物中心
7 | bar=酒吧
8 | izakaya=居酒屋
9 | tavern=酒馆
10 | barn=谷仓
11 | bunker=掩体/地堡
12 | bus stop=公交车站
13 | bowling alley=保龄球馆
14 | cafe=咖啡厅
15 | casino=赌场
16 | castle=城堡
17 | floating castle=浮动城堡
18 | church=教堂
19 | construction site=施工现场
20 | convention=售卖现场
21 | garage=车库
22 | gas station=加油站
23 | gazebo=凉亭
24 | greenhouse=温室
25 | hospital=医院
26 | house=房子
27 | hotel=酒店
28 | hut=小屋
29 | industrial=重工业
30 | factory=工厂
31 | refinery=精炼厂
32 | powerplant=发电厂
33 | nuclear powerplant=核电厂
34 | cooling tower=冷却塔
35 | warehouse=仓库
36 | lighthouse=灯塔
37 | mall=购物中心
38 | megastructure=巨型结构
39 | space elevator=轨道电梯
40 | military base=军事基地
41 | mosque=清真寺
42 | museum=博物馆
43 | art gallery=美术馆
44 | nightclub=夜店
45 | observatory=天文台
46 | onsen=温泉
47 | pagoda=宝塔
48 | planetarium=天文馆
49 | prison=监狱
50 | restaurant=餐厅
51 | rooftop=屋顶
52 | ruins=废墟
53 | school=学校竞赛泳衣
54 | skating rink=滑冰场
55 | shack=小屋
56 | shrine=神社
57 | shop=商店
58 | bakery=面包店
59 | bookstore=书店
60 | convenience store=便利店
61 | flower shop=花店
62 | pharmacy=药店
63 | salon=沙龙
64 | sex shop=性用品店
65 | supermarket=超市
66 | weapon shop=武器商店
67 | skyscraper=摩天大楼
68 | stadium=体育场
69 | arena=竞技场
70 | stilt house=高跷屋
71 | temple=寺庙
72 | theater=剧院
73 | amphitheater=音乐剧院
74 | movie theater=电影院
75 | tower=塔
76 | bell tower=钟楼
77 | clock tower=钟楼
78 | guard tower=守卫塔
79 | minaret=宣礼塔
80 | train station=火车站
81 | treehouse=树屋
82 | windmill=风车
83 | pool=水池
84 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/成年限定.txt:
--------------------------------------------------------------------------------
1 | huge ass=大屁股
2 | spread ass=用手张开屁股
3 | buttjob=臀交
4 | wakamezake=酒倒在阴部
5 | anus=菊花
6 | anal=爆菊
7 | peeing=尿尿
8 | have to pee=憋尿
9 | double anal=双重爆菊
10 | anal fingering=手爆菊
11 | anilingus=肛吻
12 | hairjob=发交
13 | oral=口交
14 | gokkun=吃精
15 | facial=颜射
16 | handjob=手淫
17 | leash=宠物链
18 | lactation=哺乳(大范围)
19 | breast sucking=吸乳(中)
20 | self breast sucking=自吸乳
21 | mutual breast sucking=双向吸乳
22 | paizuri=乳交
23 | multiple paizuri=多P乳交
24 | pussy=阴户
25 | pubic hair=阴毛
26 | shaved pussy=剃过阴毛的
27 | no pussy=没逼的
28 | clitoris=阴蒂
29 | fat mons=肥逼
30 | pussy juice=爱液
31 | female ejaculation=潮吹
32 | grinding=性器摩擦
33 | crotch rub=胯部摩擦
34 | facesitting=坐在脸上
35 | cervix=子宫口
36 | cunnilingus=舔阴
37 | thigh sex=腿交
38 | footjob=足交
39 | masturbation=自慰
40 | clothed masturbation=隔着衣服自慰
41 | penis=阳具/屌
42 | testicles=睾丸/蛋蛋
43 | ejaculation=射出
44 | cum=射精
45 | cum inside=内射
46 | cum on breast=射在胸上
47 | cum on hair=射在头发上
48 | cum on food=射在食物上
49 | public=公共场所
50 | humiliation=羞耻play
51 | caught=被发现
52 | walk-in=进门被发现
53 | body writing=身上有字
54 | asian=亚洲
55 | faceless male=无脸男
56 | artificial vagina=人工阴道
57 | hitachi magic wand=按摩棒
58 | dildo=人造阴茎
59 | egg vibrator=跳蛋
60 | sex=性爱
61 | clothed sex=穿着衣服做爱
62 | happy sex=快乐做爱
63 | underwater sex=水中做爱
64 | cock in thighhigh=插在过膝袜里
65 | doggystyle=狗爬式
66 | leg lock=跨坐式
67 | missionary=传教士体位
68 | girl on top=女上体位
69 | cowgirl position=女上正骑
70 | reverse cowgirl=女上反骑
71 | virgin=处女/破瓜
72 | threesome=3P
73 | group sex=群P
74 | tribadism=磨豆腐
75 | gangbang=轮奸
76 | femdom=逆推
77 | condom=套套
78 | bandaid on pussy=阴部贴着创可贴
79 | anal hair=肛毛
80 | pubic hair peek=从衣物里露出一部分阴毛
81 | cleft of venus=蜜缝
82 | clitoral hood=阴蒂包皮
83 | clitoris piercing=阴核环
84 | perineum=会阴
85 | urethra=尿道
86 | crotch seam=裆部的缝
87 | erect clitoris=膨胀的阴核
88 | moderate pubic hair=中分的阴毛
89 | overflow=精液溢出(未拔出)
90 | overgrown=杂草丛生
91 | excessive pubic hair=极浓密的阴毛
92 | flat ass=贫瘠的屁股
93 | gaping=敞开的/撑开的(阴部和屁眼)
94 | labia=阴唇
95 | partially visible anus=可以看见一部分肛门
96 | partially visible vulva=可以看见一部分外阴
97 | pussy juice puddle=爱液流成的滩
98 | pussy juice trail=拉丝的爱液
99 | pussy peek=微微渗出的爱液
100 | condom on penis=戴避孕套
101 | double handjob=双手各握着一根阴茎
102 | fingering=指交
103 | guided penetration=抓住男性器插入自己
104 | penis grab=抓着阴茎
105 | two-handed handjob=用双手手交
106 | paizuri under clothes=着衣乳交
107 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/打码方式.txt:
--------------------------------------------------------------------------------
1 | censored=有码
2 | uncensored=无码
3 | bar censor=黑条打码
4 | convenient censoring=简单巧妙的打码
5 | bubble filter=泡泡打码
6 | hair censor=头发遮住了乳头(三点)
7 | hair over breasts=头发披在胸上
8 | hair over crotch=头发盖在胯下
9 | hair over one breast=头发盖在一边胸上
10 | steam censor=蒸汽/雾气打码
11 | tail censor=尾巴遮住三点/用尾巴打码
12 | wing censor=用翅膀打码
13 | intimate covering=自然的打码
14 | nude cover=裸体封面
15 | clothes in front=衣服在前面挡着
16 | mosaic censoring=马赛克
17 | non-intimate covering=不自然的打码
18 | novelty censor=恶搞的马赛克
19 | can't show this=不能显示这个
20 | character censor=用人脸打码
21 | heart censor=心形马赛克
22 | outside of play area=离开了可游玩区域
23 | treasure mark censor=宝藏标记打码
24 | out-of-frame censoring=关键部位在画面外
25 | one finger selfie challenge=单指自拍挑战
26 | fake censor=假打码
27 | censored food=打码食品
28 | censored violence=打码暴力行为
29 | identity censor=眼部打码
30 | pointless censoring=敷衍的打码
31 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/摆位.txt:
--------------------------------------------------------------------------------
1 | facing away=背对
2 | profile=侧脸
3 | straight-on=正脸
4 | full body=全身
5 | upper body=上半身
6 | lower body=下半身
7 | cropped torso upper body=上半身出框
8 | cropped shoulders=肩膀出框
9 | cropped arms=手臂出框
10 | cropped legs=腿部出框
11 | cropped torso=躯干出框
12 | selfiemirror=自拍镜
13 | facing viewer=面对观众
14 | looking at another=盯着另一人
15 | looking afar=远眺
16 | staring=盯着看
17 | eye contact=对视
18 | female pov=女性视角
19 | looking at breasts=瞄着乳房
20 | looking at penis=看着阴茎
21 | looking at phone=看手机
22 | looking at viewer=看向阅图者
23 | looking away=移开视线
24 | looking back=回眸
25 | looking down=俯视
26 | looking to the side=看向侧面
27 | looking up=仰视
28 | peeping=偷窥(强调视角)
29 | pov crotch=看向裤裆的视角
30 | pov hands=手伸来方向的视角
31 | sideways glance=轻轻向侧面瞥
32 | taking picture=拍照/自拍
33 | upshirt=从衬衫下方瞥
34 | upshorts=从裙底瞥
35 | upskirt=从人的下方往上瞥
36 | solo focus=单人焦点
37 | back focus=背景焦点
38 | ass focus=臀部焦点
39 | foot focus=足部焦点
40 | portrait=半身像
41 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/构图方式.txt:
--------------------------------------------------------------------------------
1 | afterimage=残像
2 | border=边框
3 | framed=画框
4 | outside border=一部分画到了背景框外面
5 | fading border=褪色边框
6 | rounded corners=背景或画框是圆角
7 | viewfinder=相机取景框
8 | chart=图表
9 | bust chart=胸围图
10 | character chart=人设图
11 | reference sheet=设定图
12 | diagram=图表
13 | move chart=动作演示图
14 | relationship graph=关系表
15 | seating chart=座次表
16 | stats=属性栏/状态表
17 | collage=拼贴画
18 | column lineup=小图拼接
19 | cropped=遭到裁剪
20 | fake scrollbar=假的滚动条
21 | head out of frame=头部脱框
22 | out of frame=脱框
23 | feet out of frame=脚部脱框
24 | glitch=画面噪点
25 | isometric=等轴图
26 | letterboxed=宽银幕格式
27 | pillarboxed=柱状画布背景
28 | lineup=一排人
29 | mosaic art=马赛克艺术
30 | photomosaic=马赛克拼图
31 | negative space=大量留白
32 | omake=附图
33 | partially underwater shot=部分水下拍摄
34 | social media composition=社交媒体整合
35 | symmetry=左右对称
36 | polar opposites=两极对称
37 | rotational symmetry=对称旋转/《少女革命》女同转圈圈
38 | tachi-e=立绘样式
39 | trim marks=裁剪标记
40 | zoom layer=人物立绘缩放(剪影)图层
41 | projected inset=类似海报或杂志的插图效果
42 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/水果.txt:
--------------------------------------------------------------------------------
1 | akebia fruit=阿科比
2 | apple=苹果
3 | apple bunny=苹果兔(苹果瓣一侧的果皮削去,像兔耳)
4 | apple core=苹果核
5 | apple peel=长串苹果皮
6 | bitten apple=咬苹果
7 | golden apple=金苹果
8 | green apple=青苹果
9 | red apple=红苹果
10 | avocado=牛油果/鳄梨
11 | banana=香蕉
12 | banana boat=充气香蕉船
13 | banana peel=香蕉皮
14 | banana popsicle=香蕉冰棒
15 | banana slice=香蕉片
16 | chocolate banana=巧克力香蕉
17 | gel banana=绿色果冻香蕉(命运石之门)
18 | on banana=在巨型香蕉上
19 | berry=浆果
20 | blackberry=黑莓
21 | blueberry=蓝莓
22 | raspberry=树莓
23 | strawberry=草莓
24 | cacao fruit=可可果
25 | cherry=樱桃
26 | dragon fruit=火龙果
27 | fig=无花果
28 | fruit bowl=果盘
29 | fruit cup=水果杯
30 | gooseberry=猕猴桃
31 | grapefruit=西柚
32 | grapes=葡萄
33 | currant=小葡萄干
34 | grape stomping=脚踩葡萄汁
35 | kiwi=猕猴桃
36 | kiwi slice=猕猴桃切片
37 | lemon=柠檬
38 | lemon slice=柠檬片
39 | lime=青柠
40 | lime slice=青柠片
41 | lychee=荔枝
42 | mango=芒果
43 | mangosteen=山竹
44 | melon=瓜
45 | cantaloupe=哈密瓜
46 | honeydew=蜜瓜
47 | muskmelon=甜瓜
48 | watermelon=西瓜
49 | olive=橄榄
50 | orange=橙子
51 | mandarin orange=橘子
52 | orangette=巧克力橙片
53 | orange slice=一片橙子
54 | papaya=番木瓜
55 | peach=桃
56 | pear=梨
57 | nashi pear=黄金梨
58 | persimmon=柿子
59 | pineapple=菠萝
60 | plum=李子
61 | pomegranate=石榴
62 | rambutan=红毛丹
63 | starfruit=杨桃
64 | umeboshi=梅干
65 | yuzu (fruit)=柚子(水果)
66 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/物品.txt:
--------------------------------------------------------------------------------
1 | camera=相机
2 | chopsticks=筷子
3 | microphone=麦克风
4 | weapons=武器
5 | dagger=匕首/短剑
6 | sword=刀
7 | scythe=镰刀
8 | whip=鞭
9 | riding crop=马鞭
10 | gun=枪
11 | handgun=手枪
12 | wand=魔杖
13 | arrow=箭
14 | umbrella=伞
15 | gohei=御币
16 | ofuda=札符
17 | yin yang=阴阳
18 | lantern/lamp=灯笼
19 | teacup=茶杯
20 | cigarette=香烟
21 | guitar=吉他
22 | piano=钢琴
23 | chair=椅子
24 | crease=起皱
25 | backpack=背包
26 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/画风.txt:
--------------------------------------------------------------------------------
1 | abstract=抽象
2 | acrylic paint (medium)=亚克力画风
3 | airbrush (medium)=喷枪
4 | alphonse mucha=阿尔丰斯·慕夏
5 | amigurumi (medium)=钩织玩偶/毛线娃娃
6 | art deco=装饰艺术
7 | art nouveau=新艺术
8 | ballpoint pen (medium)=圆珠笔
9 | book cover (medium)=书本封面
10 | brush (medium)=刷子
11 | brushpen (medium)=毛笔
12 | calligraphy brush (medium)=书法毛笔
13 | calligraphy pen (medium)=书法笔
14 | canvas (medium)=画布
15 | chalk (medium)=粉笔
16 | charcoal (medium)=炭笔
17 | clay (medium)=黏土
18 | color ink (medium)=彩色墨水
19 | color trace=原画
20 | colored pencil (medium)=彩色铅笔画
21 | cosplay=角色扮演
22 | coupy pencil (medium)=Coupy 铅笔
23 | crayon (medium)=蜡笔
24 | cursor (medium)=光标
25 | cyberpunk=赛博朋克
26 | dakimakura (medium)=抱枕
27 | disc (medium)=碟片
28 | expression chart=角色的多表情展示
29 | faux figurine=仿手办风格
30 | faux traditional media=仿手绘
31 | fine art parody=对某美术品的模仿/模仿名画
32 | flame painter=Flame Painter (工具)
33 | flat color=平涂风格
34 | fourth wall=虚实穿插/现实感/次元壁
35 | fudepen (medium)=墨笔/毛钢笔
36 | g-pen (medium)=G 笔
37 | google sketchup (medium)=Google Sketchup
38 | gouache (medium)=水粉
39 | graffiti (medium)=涂鸦
40 | graphite (medium)=铅笔画/炭笔画
41 | illustrator (medium)=Illustrator
42 | impressionism=印象派
43 | ink (medium)=墨水
44 | leaf (medium)=树叶
45 | lego (medium)=乐高
46 | ligne claire=白描
47 | marker (medium)=马克笔风格
48 | millipen (medium)=毫厘笔
49 | minimalism=极简主义
50 | mousepad (medium)=手绘板
51 | nib pen (medium)=蘸水笔画风
52 | nihonga=日本画
53 | oil painting (medium)=油画风格
54 | painting (medium)=传统绘图工具
55 | pastel (medium)=像粉笔蜡笔作画的
56 | pastel color=粉彩
57 | pen (medium)=钢笔
58 | photorealistic=很像照片的画
59 | porcelain (medium)=瓷器
60 | print (medium)=印刷品
61 | realistic=现实的/真实的
62 | retro artstyle=赛璐璐/复古艺术
63 | sketch=草图
64 | style parody=画风模仿
65 | sumi-e=墨绘
66 | surreal=怪诞的/超现实主义
67 | swapnote (medium)=交换笔记
68 | tempera (medium)=蛋彩画
69 | theatre (medium)=剧场
70 | traditional media=手绘
71 | ukiyo-e=浮世绘
72 | unfinished=未完成的
73 | variations=(变装、变化、变色、成长)对比图
74 | washi tape (medium)=和纸胶带
75 | watercolor (medium)=水彩
76 | watercolor pencil (medium)=彩铅
77 | whiteboard (medium)=白板
78 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/类型.txt:
--------------------------------------------------------------------------------
1 | 1boy=1 个男人
2 | 1girl=1 个女人
3 | 2boys=2 个男人
4 | 2girls=2 个女人
5 | angel=天使
6 | chibi=Q 版
7 | crossdressing=伪娘
8 | devil=魔鬼(撒旦)
9 | doll=人偶
10 | elf=妖精
11 | fairy=小精灵
12 | female=女人
13 | furry=兽人
14 | giantess=女巨人
15 | harem=后宫
16 | loli=萝莉
17 | magical girl=魔法少女
18 | maid=女仆
19 | male=男人
20 | mermaid=美人鱼
21 | miko=巫女
22 | milf=熟女
23 | minigirl=迷你女孩
24 | monster=怪物
25 | ninja=忍者/日本武士
26 | nun=修女
27 | orc=半兽人
28 | shota=正太
29 | siblings=兄弟姐妹
30 | sisters=姐妹
31 | solo=单人
32 | vampire=吸血鬼
33 | waitress=女服务员
34 | witch=女巫/魔女
35 | yaoi=搞基
36 | yukkuri shiteitte ne=油库里
37 | yuri=百合
38 | no humans=无人
39 | teenage=青少年
40 | adolescent=青春期的
41 | angel and devil=天使与恶魔
42 | bunny girl=兔娘/兔女郎
43 | cat girl=猫娘
44 | centaur=人马
45 | horse girl=马娘
46 | cow girl=牛娘
47 | dark elf=暗精灵
48 | demon girl=魅魔
49 | dog girl=犬娘
50 | dragon girl=龙娘
51 | fox girl=狐娘
52 | ghost=幽灵
53 | goblin=哥布林
54 | goddess=女神
55 | imp=小恶魔
56 | k/da (league of legends)=KDA组合(英雄联盟)
57 | kirisame marisa (cosplay)=cos成雾雨魔理沙
58 | kitsune=妖狐
59 | kyuubi=九尾|九尾狐
60 | mecha musume=机娘
61 | raccoon girl=浣熊娘
62 | sailor senshi=美少女战士
63 | spider girl=蜘蛛娘
64 | valkyrie=女武神
65 | voyakiloid=弱音(歌手)
66 | wolf girl=狼女孩
67 | ballerina=芭蕾舞女演员
68 | butler=管家
69 | bara=大叔
70 | cheerleader=啦啦队
71 | chef=厨师
72 | child=儿童
73 | dancer=舞者
74 | doctor=医生
75 | dominatrix=女王(SM中)
76 | female pervert=痴女
77 | gothic lolita=哥特萝莉
78 | gyaru=辣妹
79 | kogal=小辣妹
80 | gym leader=体操队队长
81 | idol=偶像
82 | kyuudou=弓道
83 | nurse=护士
84 | office lady=办公室女职员
85 | oppai loli=巨乳萝莉
86 | police=警察
87 | policewoman=女警
88 | priest=牧师
89 | princess=公主
90 | public use=公用/肉便器/公交车
91 | race queen=赛车女郎
92 | wa lolita=和风萝莉
93 | wa maid=和风女仆
94 | glasses=眼镜/眼镜娘
95 | brother and sister=姐弟/兄妹
96 | cousins=表亲
97 | husband and wife=夫妻
98 | interracial=跨人种的
99 | interspecies=异种奸/异种爱
100 | mmf threesome=二男加一女
101 | mother and daughter=母女
102 | mother and son=母子
103 | twins=双胞胎
104 | long neck=长脖子
105 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/糖果零食.txt:
--------------------------------------------------------------------------------
1 | anmitsu (dessert)=豆沙水果涼粉
2 | mitsumame=蜜豆
3 | batter=面糊
4 | anpan=红豆包
5 | cinnamon roll=肉桂卷
6 | gumball=口香糖球
7 | hot cross bun=十字包
8 | noppo bread=noppo 面包
9 | pastry box=糕点盒
10 | cake=蛋糕
11 | baumkuchen=年轮蛋糕
12 | birthday cake=生日蛋糕
13 | black forest cake=黑森林蛋糕
14 | charlotte cake=夏洛特蛋糕
15 | cheesecake=乳酪蛋糕
16 | rare cheesecake=生乳酪蛋糕
17 | brownie=巧克力布朗尼
18 | chocolate cake=巧克力蛋糕
19 | chocolate framboise=巧克力红桑子莓
20 | christmas cake=圣诞蛋糕
21 | cupcake=纸杯蛋糕
22 | fondant au chocolat=熔岩巧克力蛋糕
23 | layer cake=千层蛋糕
24 | madeleine=玛德琳蛋糕
25 | mille-feuille=千层酥
26 | mont blanc (food)=白山蛋糕
27 | opera cake=歌剧院蛋糕
28 | pound cake=磅蛋糕
29 | red velvet cake=红丝绒蛋糕
30 | cake slice=分层蛋糕
31 | stollen=史多伦
32 | strawberry shortcake=草莓奶油海绵蛋糕
33 | swiss roll=瑞士卷
34 | strawberry swiss roll=草莓瑞士卷
35 | tiramisu=提拉米苏
36 | wedding cake=婚礼蛋糕
37 | yule log=圣诞节原木
38 | candy=糖果
39 | candy cane=糖果手杖
40 | chitose ame=千岁饴
41 | cigarette candy=香烟糖果
42 | creme egg=鸡蛋奶油
43 | jelly bean=糖果豆
44 | kitkat=奇巧
45 | konpeitou=金平糖
46 | lollipop=棒棒糖
47 | chupa chups=珍宝珠
48 | shaped lollipop=棒棒糖形状
49 | swirl lollipop=漩涡棒棒糖
50 | m&m's=M&M's
51 | marble chocolate=大理石巧克力
52 | nerunerunerune=nerunerunerune(糖果)
53 | pinata=皮纳塔
54 | tootsweets=甜甜圈
55 | candy apple=糖苹果
56 | caramel=焦糖
57 | chewing gum=口香糖
58 | chocolate=巧克力
59 | apollo chocolate=阿波罗巧克力
60 | chocolate bar=巧克力棒
61 | chocolate fountain=巧克力喷泉
62 | heart-shaped chocolate=心形巧克力
63 | chocolate marquise=女爵巧克力
64 | kinoko no yama=明治巧克力蘑菇饼干
65 | takenoko no sato=明治巧克力竹笋饼干
66 | white chocolate=白巧克力
67 | churro=油条
68 | cookie=曲奇饼
69 | checkerboard cookie=棋盘花纹的饼干
70 | chocolate chip cookie=巧克力片饼干
71 | country ma'am=COUNTRY MA'AM
72 | gingerbread cookie=姜饼饼干
73 | gingerbread house=姜饼屋
74 | gingerbread man=姜饼人(一种曲奇饼)
75 | pocky=百奇饼干
76 | sandwich cookie=夹心饼干
77 | oreo=奥利奥
78 | thumbprint cookie=指纹特征数据
79 | toppo=托普
80 | wafer=冰淇淋脆片
81 | wafer stick=晶圆卷
82 | cotton candy=棉花糖
83 | bavarois=巴伐利亚奶油
84 | icing=糖霜
85 | crepe=绉
86 | dorayaki=铜锣烧
87 | dough=面团
88 | doughnut=甜甜圈
89 | chocolate doughnut=巧克力甜甜圈
90 | french cruller=螺旋脊状甜甜圈
91 | sakura french=樱花甜甜圈
92 | old-fashioned doughnut=酥皮甜甜圈
93 | gelatin=凝胶
94 | ice cream=冰激凌
95 | banana split=香蕉冰激凌
96 | coolish=Coolish
97 | ice cream cone=蛋卷冰淇淋
98 | waffle cone=华夫饼蛋筒
99 | ice cream float=飘浮冰淇淋
100 | ice cream sandwich=冰淇淋三明治
101 | parfait=芭菲
102 | strawberry parfait=草莓冻糕
103 | single scoop=单球冰淇淋
104 | double scoop=双勺
105 | triple scoop=三球冰淇淋
106 | quadruple scoop=四个球的冰淇淋蛋筒
107 | too many scoops=过多的冰激凌甜筒
108 | soft serve=软冰淇淋
109 | sprinkles=小块彩色糖果
110 | sundae=圣代
111 | imagawayaki=今川烧
112 | marshmallow=棉花糖
113 | mooncake=月饼
114 | muffin=松饼
115 | pastry=糕点
116 | chocolate cornet=巧克力夹心
117 | cream puff=泡芙
118 | eclair (food)=闪电泡芙
119 | macaron=马卡龙
120 | pie=馅饼
121 | apple pie=苹果派
122 | popsicle=冰棒/棒冰
123 | popsicle stick=冰棒棍
124 | tupet=小喇叭
125 | watermelon bar=西瓜冰棍
126 | pudding=布丁
127 | custard=卡仕达酱
128 | pudding a la mode=法式布丁
129 | shaved ice=刨冰
130 | slushie=冰沙
131 | tanghulu=糖葫芦
132 | tart=果馅饼
133 | blueberry tart=蓝莓馅饼
134 | fruit tart=水果馅饼
135 | strawberry tart=草莓挞
136 | wagashi=日式点心
137 | momiji manjuu=红叶馒头
138 | mochi=麻糬
139 | dango=团子
140 | ichigo daifuku=草莓大福
141 | kashiwa mochi (food)=柏饼
142 | namagashi=生菓子
143 | sakura mochi=樱花麻糬
144 | songpyeon=松饼
145 | suama (food)=蘇阿馬
146 | taiyaki=鲷鱼烧
147 | uirou=外郎饼
148 | warabimochi=蕨饼
149 | youkan=羊羹
150 | chikuwa=竹轮(食物)
151 | chips=薯片
152 | bugles=号角
153 | doritos=多力多滋
154 | potato chips=土豆片
155 | pringles=品客
156 | popcorn=爆米花
157 | pretzel=椒盐卷饼
158 | umaibou=美味棒
159 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/耳朵.txt:
--------------------------------------------------------------------------------
1 | animal ears=动物耳朵
2 | fox ears=狐狸耳朵
3 | cat ears=猫耳
4 | dog ears=狗耳
5 | mouse ears=老鼠耳朵
6 | pointy ears=尖耳
7 | heart earrings=心形耳环
8 | hoop earrings=环状耳环
9 | crystal earrings=水晶耳环
10 | earrings=耳环
11 | crescent earrings=月牙耳环
12 | cat ear headphones=猫耳式耳机
13 | bat ears=蝙蝠耳朵
14 | raccoon ears=浣熊耳朵
15 | long pointy ears=尖尖的长耳朵
16 | covering ears=遮住耳朵
17 | bear ears=熊耳朵
18 | rabbit ears=兔子耳朵
19 | cow ears=牛耳朵
20 | deer ears=鹿耳朵
21 | ferret ears=鼬耳朵
22 | goat ears=山羊耳朵
23 | horse ears=马耳
24 | kemonomimi mode=兽耳萝莉模式
25 | lion ears=狮子耳朵
26 | monkey ears=猴耳
27 | panda ears=熊猫耳朵
28 | pikachu ears=皮卡丘耳朵
29 | pig ears=猪耳朵
30 | sheep ears=羊耳
31 | squirrel ears=松鼠耳朵
32 | tiger ears=虎耳
33 | wolf ears=狼耳朵
34 | fake animal ears=仿制的动物耳朵
35 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/肉类与海鲜.txt:
--------------------------------------------------------------------------------
1 | bacon=培根
2 | boned meat=圆柱形带骨肉
3 | chicken=鸡
4 | chicken leg=鸡腿
5 | chicken nuggets=鸡块
6 | fried chicken=炸鸡
7 | yakitori=烤鸡肉串
8 | crab=螃蟹
9 | egg=蛋
10 | broken egg=破碎的蛋
11 | egg laying=产卵
12 | egg yolk=蛋黄
13 | eggshell=蛋壳
14 | eggshell hat=蛋壳帽子
15 | fried egg=煎鸡蛋
16 | century egg (food)=皮蛋
17 | hardboiled egg=水煮蛋
18 | scrambled egg=炒鸡蛋
19 | roe=鱼子
20 | caviar=鱼子酱
21 | ikura=红鱼子酱
22 | fish=鱼
23 | fish bone=鱼骨
24 | sashimi=生鱼片
25 | katsuo no tataki=炙烤鲣鱼片
26 | gyuudon=牛丼
27 | hamburger steak=汉堡牛排
28 | kamaboko=鱼糕
29 | kebab=烤肉串
30 | lobster=龙虾
31 | meatball=肉丸
32 | pork=猪肉
33 | ham=火腿
34 | sausage=香肠
35 | shrimp=虾类
36 | steak=牛排
37 | tako-san wiener=章鱼状的香肠
38 | kani-san wiener=蟹状的香肠
39 | turkey=火鸡
40 | turkey leg=火鸡腿
41 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/背景.txt:
--------------------------------------------------------------------------------
1 | landscape=风景
2 | science fiction=科幻
3 | gradient background=渐变的背景
4 | simple background=简单背景/无背景
5 | transparent background=透明背景
6 | pentagram=五角星
7 | magic circle=魔法阵
8 | valentine=情人节
9 | halloween=万圣节
10 | christmas=圣诞节
11 | outdoors=户外
12 | indoors=室内
13 | feather=场景飘羽毛
14 | beautiful detailed water=漂亮的水
15 | white background=白色背景
16 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/胸部.txt:
--------------------------------------------------------------------------------
1 | chest=胸肌
2 | breasts=胸部
3 | flat chest=贫乳 (A)
4 | small breasts=小胸部 (B)
5 | medium breasts=中等胸部 (C)
6 | large breasts=大胸 (D)
7 | huge breasts=巨乳 (E)
8 | gigantic breasts=魔乳 (F)
9 | bra=胸罩
10 | bustier=胸衣
11 | chemise=吊带胸衣
12 | sarashi=缠胸布
13 | cleavage=乳沟
14 | no bra=无胸罩
15 | brooch=胸针
16 | chest jewel=胸前有宝石
17 | chocolate on breasts=胸上的巧克力
18 | strap between breasts=乳房之间的带子
19 | headphones on breasts=耳机压胸
20 | underboob=南半球
21 | bandaids on nipples=乳头贴着创可贴
22 | beltbra=皮带束胸
23 | lace-trimmed bra=蕾丝边胸罩
24 | open bra=(前面)解开的胸罩
25 | sports bra=运动内衣
26 | bow bra=带蝴蝶结的胸罩
27 | star pasties=星形乳贴
28 | training bra=运动内衣
29 | bra lift=掀上去的胸罩
30 | bra peek=微微露出胸罩
31 | bra pull=拉下的胸罩
32 | bra removed=摘下的胸罩
33 | bra strap=内衣肩带
34 | breast padding=胸垫
35 | breastplate=胸甲
36 | budget sarashi=绷带裹胸
37 | cupless bra=高露出度胸罩
38 | heart pasties=心形乳贴
39 | lace bra=蕾丝胸罩
40 | pasties=乳贴
41 | strap gap=泛指覆盖面少的吊带胸罩
42 | strapless bra=无肩带胸罩
43 | tube top=直筒式抹胸
44 | nipples=乳头
45 | puffy nipples=大乳头
46 | small nipples=小乳头
47 | areola slip=乳晕微露
48 | arm under breasts=托胸
49 | arms under breasts=双手托胸
50 | asymmetrical docking=胸部互碰/胸顶着胸
51 | symmetrical docking=胸部贴着胸部
52 | bouncing breasts=乳摇
53 | breast bondage=乳房绑缚
54 | breast grab=揉胸
55 | breast hold=抱着胸部
56 | breast lift=托着胸部
57 | breast poke=戳胸
58 | breast press=挤压胸部
59 | breast rest=搁着胸部
60 | head between breasts=头埋在胸里/洗面奶
61 | breast squeeze=从两侧挤胸
62 | breast suppress=手放在乳房上方
63 | breasts on glass=胸压玻璃
64 | breasts on head=压在头上的乳房
65 | bubble tea challenge=不用手喝珍珠奶茶挑战
66 | covering breasts=遮着乳房
67 | covering nipples=挡住乳头
68 | flat chest grab=抓着贫乳
69 | grabbing from behind=从背后揉胸/从背后抓住胸部
70 | hand under shirt=手伸进衬衫下面
71 | nipple tweak=玩弄乳头
72 | nipple pull=拉乳头
73 | breast smother=把头塞入胸
74 | breast envy=胸围歧视
75 | flat envy=平胸歧视
76 | breast expansion=丰胸
77 | breast reduction=缩胸
78 | bust measuring=罩杯测量
79 | flying button=飞出的纽扣
80 | convenient breasts=自然的胸部
81 | inconvenient breasts=不自然的胸部
82 | oversized breast cup=过大的罩杯
83 | weighing breasts=测量乳房重量
84 | areolae=乳晕
85 | dark areolae=深色的乳晕
86 | glands of montgomery=蒙哥马利腺体
87 | large areolae=大乳晕
88 | light areolae=有光泽的乳晕
89 | backboob=从背后可看到的胸部
90 | bursting breasts=包不住的巨乳
91 | dark nipples=深色的乳头
92 | covered nipples=激凸的乳头/隐约可见的乳头
93 | inverted nipples=内陷乳头
94 | long nipples=长乳头
95 | nipple slip=乳头走光
96 | no nipples=没画出乳头
97 | nipple hair=乳头毛
98 | sideboob=侧乳
99 | breast slip=胸部走光
100 | breasts out=胸部露出
101 | impossible shirt=贴合程度不合逻辑的衬衫
102 | one breast out=露出一只乳房
103 | asymmetrical breasts=不对称的胸部
104 | breasts apart=向两侧摊开的乳房
105 | floating breasts=漂浮的乳房
106 | hanging breasts=(俯身)双乳下垂
107 | perky breasts=丰满的乳房
108 | sagging breasts=(因俯身而)下垂的乳房
109 | unaligned breasts=左右乳房动态不一
110 | veiny breasts=看见静脉的乳房
111 | pointy breasts=尖乳房
112 | nursing bra=哺乳用文胸
113 | shelf bra=无顶文胸/露出乳头的胸罩
114 | breastless clothes=露胸的衣服
115 | breast curtain=乳帘
116 | chest binder=平胸衬衫
117 | cinderella bust=Feast 灰姑娘系列胸罩
118 | cleavage cutout=露出的乳沟
119 | framed breasts=极具立体感的乳房
120 | nipple cutout=衣服破损露出乳头
121 | nippleless clothes=能露出乳头的衣物
122 | panties on breasts=在乳房上穿内裤
123 | rei no himo=(乳头)激凸
124 | taut shirt=绷紧的衬衫
125 | underbust=勒着下胸围的衣服
126 | breast pillow=乳房枕头
127 | face to breasts=脸贴乳房
128 | face to pecs=脸贴胸肌
129 | breast biting=咬胸
130 | breastfeeding=哺乳
131 | nursing handjob=喂奶手交
132 | nipple biting=咬乳头
133 | licking nipple=舔乳头
134 | breast pull=拉胸
135 | breast punch=锤胸
136 | breast slap=拍胸
137 | hand in bra=手在胸罩里
138 | nipple flick=拨动乳头
139 | nipple press=按乳头
140 | nipple push=压乳头
141 | nipple rub=揉搓乳头
142 | nipple-to-nipple=乳头贴乳头
143 | between breasts=乳沟里
144 | card between breasts=卡片在乳沟里
145 | arm between breasts=胳膊在乳沟里
146 | person between breasts=乳房夹人
147 | tied breast=绑起来的乳房
148 | breast mousepad=乳房鼠标垫
149 | carried breast rest=拿着乳房
150 | bust cup=乳沟作杯子
151 | cum on breasts=射在胸上
152 | food on breasts=胸上有食物
153 | object on breast=胸上有物体
154 | tawawa challenge=tawawa挑战/用胸撑起平放的手机
155 | object on pectorals=胸肌上有物体
156 | oppai challenge=欧派挑战
157 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/脖子.txt:
--------------------------------------------------------------------------------
1 | ascot=领巾状领带
2 | bolo tie=细绳装饰性领带
3 | bowtie=蝴蝶领结
4 | choker=项圈
5 | ribbon choker=颈带
6 | collar=项圈
7 | neck bell=颈铃
8 | animal collar=动物项圈
9 | spiked collar=带钉项圈
10 | pet cone=伊丽莎白圈
11 | feather boa=羽毛围巾
12 | goggles around neck=护目镜在脖子上
13 | headphones around neck=脖子上挂耳机
14 | jabot=饰边
15 | lanyard=工牌挂绳
16 | neckerchief=领巾
17 | necklace=项链
18 | chain necklace=项链
19 | flower necklace=花项链
20 | lei=夏威夷花环
21 | friendship charm=友情护身符
22 | pearl necklace=珍珠项链
23 | pendant=吊坠
24 | amulet=护身符
25 | locket=盒式项链坠
26 | magatama=勾玉
27 | pentacle=五芒星
28 | neck ribbon=颈部系着缎带
29 | neck ruff=波浪褶边的领子
30 | necktie=领带
31 | necktie between breasts=领带贴(夹)在乳沟里
32 | necktie on head=头带
33 | necktie removed=取下领带
34 | scarf=围巾
35 | stole=脖子后挂的彩色布带
36 | cross tie=交叉领带
37 | dog collar=狗项圈
38 | heart choker=心形项圈
39 | metal collar=金属项圈
40 | detached collar=假领
41 | high collar=高领
42 | sailor collar=水手领
43 | aqua neckwear=水色领带
44 | black neckwear=黑色领带
45 | blue neckwear=蓝色领带
46 | brown neckwear=棕色领带
47 | green neckwear=绿色领带
48 | grey neckwear=灰色领带
49 | orange neckwear=橙色领带
50 | pink neckwear=粉色领带
51 | purple neckwear=紫色领带
52 | red neckwear=红色领带
53 | white neckwear=白色领带
54 | yellow neckwear=黄色领带
55 | plaid neckwear=格子衣领
56 | striped neckwear=条纹衣领
57 | collar grab=抓住衣领
58 | collar tug=调整衣领
59 | adjusting collar=调整领子
60 | fur collar=毛领
61 | open collar=开领
62 | popped collar=竖起来的衣领
63 | turtleneck=高领套头衫
64 | sleeveless turtleneck=无袖高领毛衣
65 | v-neck=V领
66 | wing collar=翼领
67 | checkered neckwear=格子领口
68 | halterneck=绕颈系带
69 | neck ring=颈环
70 | plunging neckline=深领
71 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/色彩.txt:
--------------------------------------------------------------------------------
1 | aqua theme=水蓝色
2 | black theme=黑色主题
3 | blue theme=蓝色
4 | brown theme=棕色主题
5 | green theme=绿色主题
6 | grey theme=灰色
7 | orange theme=橙色
8 | pink theme=粉色主题
9 | purple theme=紫色
10 | red theme=红色/红色主题
11 | white theme=白色主题
12 | yellow theme=黄色主题
13 | anime coloring=动画上色
14 | cel shading=卡通渲染
15 | gradient=渐变色
16 | ff gradient=最终幻想式渐变
17 | high contrast=高对比度
18 | inverted colors=色彩反转
19 | limited palette=色块风格
20 | monochrome=单色画
21 | greyscale=纯黑白色/黑白照片化/灰度
22 | greyscale with colored background=黑白角色与有色背景
23 | colored with greyscale background=有色角色与黑白背景
24 | partially colored=部分上色
25 | muted color=哑光
26 | neon palette=霓虹色彩
27 | pale color=苍白的颜色
28 | pastel colors=柔和色彩
29 | rainbow=彩虹
30 | rainbow order=彩虹色序排列
31 | sepia=深棕色/乌贼墨色
32 | color connection=色彩关联
33 | colorized=上色
34 | colorful=五彩斑斓的
35 | spot color=黑白画中的少量颜色
36 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/艺术破格.txt:
--------------------------------------------------------------------------------
1 | animalization=动物化
2 | foodification=食物化
3 | furrification=多毛化
4 | humanization=拟人化
5 | mechanization=机械化
6 | monsterification=魔物化
7 | objectification=物品化
8 | personification=拟人化
9 | slimification=史莱姆化
10 | vehicalization=载具化
11 | zombification=僵尸化
12 | adapted costume=原设服装改编
13 | alternate costume=角色换装
14 | alternate headwear=与原设不同头饰变化
15 | alternate weapon=与原设不同武器变化
16 | headwear switch=头饰互换
17 | no eyewear=去掉了(原设有的)眼镜
18 | no headwear=去掉了(原设有的)头饰
19 | costume switch=服饰互换
20 | contemporary=现代改编
21 | enmaided=女仆装
22 | costume combination=服装组合
23 | alternate breast size=贫乳化/爆乳化
24 | alternate wings=与原设不同翅膀
25 | alternate skin color=与原设不同肤色变化
26 | no fire=无火化
27 | no horn=无角化
28 | no tail=无尾化
29 | no wings=去掉了(原设有的)翅膀
30 | no animal ears=去掉了(原设有的)兽耳
31 | no legwear=裆胯以下裸着
32 | no mask=去掉了(原设有的)面具
33 | alternate hair color=与原设不同发色变化
34 | alternate hairstyle=与原设不同发型变化
35 | hair down=披下来的头发
36 | hair up=盘起来的头发
37 | alternate hair length=与原设不同头发长度变化
38 | alternate eye color=与原设不同瞳色
39 | unusually open eyes=(与原设不同)睁眼
40 | out of character=不符角色原本性格
41 | personality switch=人格替换
42 | role reversal=角色转换
43 | dark persona=黑化
44 | light persona=美化
45 | alternate color=异色
46 | alternate element=与原设不同元素
47 | palette swap=色调互换
48 | player 2=2P玩家角色风格颜色替换
49 | age comparison=年龄对比
50 | age progression=年龄段展现
51 | aged down=年龄减少
52 | aged up=年龄增加
53 | character doll=角色公仔
54 | fusion=融合/合体
55 | genderswap=性转
56 | genderswap (mtf)=女体化
57 | genderswap (ftm)=男体化
58 | if they mated=假如这两个角色有孩子了
59 | alternate universe=异世界
60 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/花卉.txt:
--------------------------------------------------------------------------------
1 | petals=花瓣
2 | flower=花
3 | rose petals=玫瑰花瓣
4 | cherry blossoms=樱花
5 | flowers meadows=花田
6 | alstroemeria (flower)=百合水仙
7 | amaryllis (flower)=孤挺花
8 | anemone=银莲花
9 | angel's trumpet=木曼陀罗
10 | anthurium=花烛
11 | azalea=杜鹃花
12 | baby's-breath=石头花
13 | begonia=秋海棠
14 | bellflower=风铃草
15 | chinese bellflower=桔梗
16 | bird of paradise flower=鹤望兰
17 | black-eyed susan=黑心金光菊
18 | bleeding heart=荷包牡丹
19 | blueberry blossoms=蓝莓花
20 | bougainvillea=九重葛
21 | calla lily=马蹄莲
22 | camellia=山茶花
23 | carnation=康乃馨
24 | red carnation=红色康乃馨
25 | chamomile=西洋甘菊
26 | chinese lantern (plant)=灯笼草
27 | chrysanthemum=菊属
28 | clivia=君子兰
29 | clematis=铁线莲
30 | columbine=耬斗菜
31 | cockscomb (flower)=青葙
32 | cornflower=矢车菊
33 | cosmos=秋英/大波斯菊/秋樱
34 | crocus=番紅花
35 | cymbidium=蕙兰属
36 | daffodil=水仙
37 | dahlia=大丽花
38 | daisy=雏菊
39 | dimorphotheca=异果菊
40 | dandelion=蒲公英
41 | dianthus=石竹
42 | dipsacaceae=川续断科
43 | dusty miller=银叶菊
44 | edelweiss=高山火绒草
45 | epiphyllum=昙花
46 | eustoma=洋桔梗
47 | flax=亚麻
48 | forget-me-not=勿忘草
49 | forsythia=连翘
50 | four o'clock (flower)=紫茉莉
51 | foxglove=毛地黄
52 | freesia=小苍兰
53 | fuchsia=倒挂金钟
54 | hawthorn (plant)=山楂
55 | hellebore=铁筷子/嚏根草
56 | hibiscus=扶桑花
57 | heliconia=蝎尾蕉
58 | hollyhock=蜀葵属
59 | hyacinth=风信子
60 | hydrangea=紫阳花
61 | genista (flower)=染料木属
62 | gentiana (flower)=龙胆属
63 | geranium=天竺葵属
64 | gerbera=大丁草属
65 | gladiolus=唐菖蒲属
66 | gloriosa (flower)=嘉兰
67 | grass lily=伞花虎眼万年青
68 | great burnet=地榆
69 | jasmine=素馨属/素英属/茉莉花
70 | iris=鸢尾属
71 | kalanchoe=长寿花/家乐花/矮生伽蓝菜/圣诞伽蓝菜/寿星花/布洛斯费尔德高凉菜
72 | kerria japonica=棣棠花/山吹
73 | lantana (flower)=马缨丹属
74 | larkspur=翠雀属
75 | lavender=薰衣草
76 | lilac=丁香属
77 | lily=百合属
78 | tiger lily=卷丹
79 | lily of the valley=铃兰
80 | lisianthus (flower)=洋桔梗属
81 | magnolia=荷花玉兰/洋玉兰/广玉兰
82 | marigold=万寿菊属
83 | marsh marigold=驴蹄草/驴蹄菜/沼泽金盏花/立金花
84 | mimosa (flower)=含羞草
85 | morning glory=牵牛花
86 | moonflower=月光花/嫦娥奔月/天茄儿/天茄子/夜颜/夕颜
87 | gourd blossom=葫芦花 (辐射76)
88 | nemophila=粉蝶花属/喜林草属/幌菊属
89 | nigella=黑种草
90 | oleander=夹竹桃
91 | orange blossoms=橙花
92 | orchid=兰科/兰花/胡姬花
93 | oncidium=文心兰属
94 | osmanthus=木樨属/木犀属/桂花属/桂花树属
95 | gold osmanthus=金木犀
96 | pansy=三色紫罗兰/三色堇
97 | passion flower=西番莲属
98 | paulownia=毛泡桐
99 | peach blossom=桃花
100 | pentas (flower)=五星花属/繁星花属
101 | peony=芍药属
102 | perennial=多年生植物
103 | periwinkle=蔓长春花属
104 | petunia (flower)=碧冬茄属
105 | pieris japonica=马醉木
106 | plant=植物
107 | clover=三叶草
108 | lotus=莲花
109 | lily pad=睡莲
110 | potted plant=盆栽
111 | plum blossoms=梅花
112 | plumeria=缅栀花
113 | poinsettia=一品红/圣诞红/圣诞花
114 | pomegranate flower=石榴花
115 | poppy=罂粟
116 | portulaca=马齿苋
117 | potato flower=土豆花
118 | potentilla=委陵菜属
119 | rafflesia=大花草属
120 | ranunculus=毛茛属
121 | buttercup=花毛茛
122 | rapeseed blossoms=欧洲油菜花
123 | red ginger=红姜花
124 | reimu=灵梦花
125 | rhododendron=杜鹃花属/映山红/满山红/山石榴
126 | rose=玫瑰/蔷薇
127 | black rose=黑玫瑰
128 | blue rose=蓝玫瑰
129 | brown rose=棕色玫瑰
130 | green rose=绿色玫瑰
131 | grey rose=灰色玫瑰
132 | orange rose=橙玫瑰
133 | pink rose=粉红玫瑰
134 | purple rose=紫玫瑰
135 | red rose=红玫瑰
136 | white rose=白玫瑰
137 | yellow rose=黄玫瑰
138 | multicolored rose=多色玫瑰
139 | rudbeckia=金光菊
140 | snapdragon=金鱼草
141 | snowdrop=雪花莲属
142 | spathiphyllum=白鹤芋属
143 | spider lily=彼岸花
144 | strawberry blossoms=草莓花
145 | sunflower=向日葵
146 | thistle=蓟属
147 | trumpet creeper=厚萼凌霄
148 | tulip=郁金香
149 | water lily flower=睡莲科
150 | wax flower=风蜡花属
151 | wisteria=紫藤
152 | wolfsbane=乌头属
153 | violet=堇菜属
154 | zinnia=百日菊属
155 | black lotus=黑莲花
156 | fire flower=烈焰花 (原神)
157 | glaze lily=琉璃百合 (原神)
158 | gracidea=葛拉西蒂亚花 (宝可梦)
159 | ice flower=冰雾花 (原神)
160 | lunar tear=月之泪 (尼尔)
161 | qingxin flower=清心 (原神)
162 | silent princess=静谧公主 (塞尔达)
163 | silk flower=霓裳花 (原神)
164 | sweet flower=甜甜花 (原神)
165 | bouquet=花束
166 | coughing flowers=咳出花
167 | flower (symbol)=花(符号)
168 | flower bed=花床
169 | flower bracelet=花手镯
170 | flower on liquid=水上的花
171 | flower trim=花饰
172 | floral print=花朵图案(印花)
173 | hanafuda=花札
174 | gardening=园艺
175 | on flower=在花上
176 | petals on liquid=水面上漂着花瓣
177 | wreath=花环
178 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/蔬菜与香料.txt:
--------------------------------------------------------------------------------
1 | asparagus=芦笋
2 | beans=豆子
3 | red bean paste=红豆馅
4 | nattou=纳豆
5 | bitter melon=苦瓜
6 | broccoli=西兰花
7 | cabbage=卷心菜
8 | bok choy=白菜
9 | carrot=胡萝卜
10 | cauliflower=菜花
11 | coconut=椰子
12 | corn=玉米
13 | cucumber=黄瓜
14 | pickle=泡菜
15 | eggplant=茄子
16 | garlic=大蒜
17 | kimchi=韩国泡菜
18 | lettuce=生菜
19 | mint=薄荷
20 | mushroom=蘑菇
21 | onion=洋葱
22 | onion rings=洋葱圈
23 | spring onion=大葱
24 | parsley=欧芹
25 | almond=扁桃
26 | chestnut=板栗
27 | peanut=花生
28 | pepper=胡椒
29 | bell pepper=灯笼椒
30 | green pepper=青椒
31 | red pepper=红椒
32 | yellow pepper=黄椒
33 | chili pepper=辣椒
34 | habanero pepper=哈瓦那辣椒
35 | jalapeno pepper=墨西哥辣椒
36 | potato=土豆
37 | radish=萝卜
38 | daikon=萝卜
39 | seaweed=海藻
40 | hijiki=羊栖菜
41 | nori=海苔
42 | squash=南瓜属
43 | pumpkin=南瓜
44 | jack-o'-lantern=南瓜灯
45 | sweet potato=红薯
46 | yakiimo=烤白薯
47 | tomato=番茄
48 | cherry tomato=圣女果(小西红柿
49 | turnip=芜菁
50 | warabi=蕨
51 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/衣装.txt:
--------------------------------------------------------------------------------
1 | babydoll=透明睡衣
2 | bikini=比基尼
3 | japanese clothes=和服
4 | bodysuit=紧身衣
5 | business suit=职场制服
6 | china dress=旗袍
7 | chinese clothes=中国服饰(极大概率是旗袍)
8 | corset=紧身褡
9 | dress=连衣裙
10 | gym uniform=运动服
11 | leotard=體操服
12 | lingerie=女用贴身内衣裤
13 | obi=衣带(和服用)
14 | pajamas=睡衣
15 | santa=圣诞装
16 | school swimsuit=学校泳衣
17 | school uniform=学校制服
18 | see-through=透明装
19 | side-tie bikini=系带式比基尼
20 | suit=西装
21 | swimsuit=泳装
22 | torn clothes=破烂衣服
23 | underwear=内衣
24 | uniform=制服
25 | yukata=浴衣
26 | serafuku=水手服
27 | wedding dress=婚纱
28 | gothic=哥特风格
29 | lolita fashion=洛丽塔风格
30 | western=西部风格
31 | nude=裸体的
32 | naked apron=裸体围裙
33 | naked overalls=裸体工作服
34 | naked ribbon=裸体丝带
35 | tartan=格子花纹
36 | striped=横条花纹
37 | polka dot=点状花纹
38 | frills=皱边
39 | formal=正装
40 | lace=蕾丝
41 | clothes down=褪下衣物
42 | short kimono=短下摆和服
43 | kimono=和服
44 | open kimono=敞开的和服
45 | suspender skirt=吊带裙
46 | kimono skirt=和服裙
47 | pleated dress=百褶连衣裙
48 | sailor dress=水手服款裙子
49 | strapless dress=无肩带连衣裙
50 | sundress=太阳裙/背心裙
51 | sheath dress=包臀裙
52 | layered skirt=分层式半身裙
53 | waist apron=腰围裙
54 | pettiskirt=蓬蓬裙
55 | tutu=芭蕾舞裙
56 | layered dress=分层连衣裙
57 | off-shoulder dress=露肩连衣裙
58 | organza lace=透明硬纱/蕾丝花边
59 | bikini armor=比基尼盔甲
60 | bikini aside=从三点剥开的比基尼
61 | bikini lift=往上剥开的比基尼
62 | bow bikini=带蝴蝶结的比基尼
63 | eyepatch bikini=眼罩比基尼
64 | front-tie bikini=从正面打结的比基尼
65 | highleg bikini=高开衩的比基尼
66 | layered bikini=分层比基尼
67 | lowleg bikini=低腰比基尼
68 | maid bikini=女仆比基尼
69 | micro bikini=迷你比基尼
70 | multi-strapped bikini=细带款比基尼
71 | sailor bikini=水手服款比基尼
72 | shell bikini=贝壳比基尼
73 | slingshot swimsuit=弹弓泳衣/吊带泳衣/V字泳衣
74 | sports bikini=运动比基尼
75 | strapless bikini=无肩带比基尼
76 | thong bikini=丁字式比基尼
77 | untied bikini=解开的比基尼
78 | bandeau=抹胸比基尼
79 | bikini under clothes=比基尼当内衣
80 | armored dress=战甲裙
81 | athletic leotard=体操服
82 | backless dress=露背连衣裙
83 | backless outfit=露背装
84 | baseball uniform=棒球服
85 | biker clothes=自行车运动服
86 | bikesuit=骑行套装
87 | bikini skirt=比基尼裙
88 | bodysuit under clothes=紧身衣裤
89 | bondage outfit=束缚服
90 | casual one-piece swimsuit=连体泳衣
91 | collared dress=有领连衣裙
92 | competition school swimsuit=竞泳死库水
93 | competition swimsuit=赛用泳衣
94 | evening gown=晚会礼服
95 | dougi=武道服
96 | front zipper swimsuit=拉链在正面的泳衣
97 | gown=女裙/女长服/女礼服
98 | halter dress=绕颈裙/衬衣式连衣裙/露背吊带裙
99 | hanfu=汉服
100 | harem outfit=舞娘服
101 | highleg leotard=高开衩的连身衣
102 | impossible bodysuit=人体彩绘般的紧身衣
103 | kindergarten uniform=幼儿园制服
104 | latex=胶衣
105 | letterman jacket=棒球服
106 | living clothes=活体衣服
107 | loungewear=休闲服
108 | meiji schoolgirl uniform=明治年间女学生制服
109 | military uniform=军服
110 | one-piece swimsuit=一体式泳衣
111 | playboy bunny leotard=兔女郎连身衣
112 | police uniform=警服
113 | reverse bunnysuit=逆兔女郎
114 | sailor=水手服
115 | sailor senshi uniform=美少女战士制服
116 | santa costume=圣诞老人服装
117 | stile uniform=女侍从的制服
118 | straitjacket=拘束服
119 | uchikake=白无垢/日式嫁衣
120 | varia suit=强化服
121 | virgin killer outfit=处男杀手服
122 | volleyball uniform=排球服
123 | cute & girly (idolmaster)=Cute & Girly (偶像大师)
124 | crinoline=裙撑/裙架
125 | dress flip=飘起的裙子
126 | dress grab=抓住裙子
127 | skirt basket=裙子篮兜
128 | torn dress=撕破的连衣裙
129 | wet dress=潮湿的衣服
130 | aqua dress=水色连衣裙
131 | black dress=黑连衣裙
132 | blue dress=蓝连衣裙
133 | brown dress=棕色连衣裙
134 | green dress=绿色连衣裙
135 | grey dress=灰色连衣裙
136 | orange dress=橙色连衣裙
137 | pink dress=粉连衣裙
138 | purple dress=紫连衣裙
139 | red dress=红连衣裙
140 | sepia dress=红棕色连衣裙
141 | white dress=白色连衣裙
142 | yellow dress=黄色连衣裙
143 | multicolored dress=多色连衣裙
144 | two-tone dress=双色连衣裙
145 | argyle dress=钻石图案的裙子
146 | checkered dress=方格花纹连衣裙
147 | flag dress=国旗连衣裙
148 | plaid dress=格子连衣裙
149 | polka dot dress=圆点花纹连衣裙
150 | print dress=印花裙子
151 | striped dress=条纹连衣裙
152 | vertical-striped dress=垂直条纹连衣裙
153 | pinstripe dress=细条纹连衣裙
154 | frilled dress=花边连衣裙
155 | fur-trimmed dress=毛边连衣裙
156 | half-dress=半开裙
157 | highleg dress=高叉长裙
158 | high-low skirt=高低裙
159 | hobble dress=乳胶连衣裙
160 | impossible dress=不切实际的连衣裙
161 | lace-trimmed dress=蕾丝连衣裙
162 | latex dress=乳胶裙
163 | long dress=长裙
164 | ribbed dress=罗纹连衣裙
165 | ribbon-trimmed dress=色带装饰的连衣裙
166 | short dress=短裙
167 | side slit=侧开叉
168 | taut dress=绷紧的连衣裙
169 | see-through dress=透明连衣裙
170 | sleeveless dress=无袖连衣裙
171 | cake dress=形似蛋糕的连衣裙
172 | coat dress=外套连衣裙
173 | cocktail dress=燕尾短裙
174 | denim dress=牛仔连衣裙
175 | dirndl=酒馆服务员服装
176 | funeral dress=丧服
177 | mermaid dress=鱼尾裙
178 | negligee=晨衣
179 | nightgown=睡衣
180 | microskirt=超短裙
181 | pencil dress=铅笔裙
182 | pencil skirt=短铅笔裙
183 | plaid skirt=格子呢短裙
184 | pinafore dress=背心裙/无袖连衣裙
185 | santa dress=圣诞老人风格的裙子
186 | sweater dress=毛衣连衣裙
187 | tennis dress=网球连衣裙
188 | trapeze dress=梯形连衣裙
189 | tube dress=抹胸连衣裙
190 | vietnamese dress=越南连衣裙
191 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/视角.txt:
--------------------------------------------------------------------------------
1 | first-person view=第一人称视角
2 | pov=主观视角
3 | three sided view=三视图
4 | multiple views=多视图
5 | cut-in=插入画面
6 | between fingers=(突出)指间
7 | between legs=(强调)两腿之间
8 | between thighs=(强调)大腿之间
9 | blurry foreground=前景模糊
10 | breast conscious=对胸部在意
11 | breast awe=着迷于乳房
12 | close-up=特写镜头
13 | cowboy shot=七分身镜头
14 | dutch angle=德式倾斜镜头
15 | fisheye=鱼眼镜头
16 | hatching (texture)=线影法(纹理)
17 | vanishing point=远景透视画法
18 | wide shot=广角镜头
19 | from above=俯视镜头
20 | from behind=背影
21 | from below=仰视镜头
22 | from outside=室外看向室内(的镜头)
23 | from side=角色的侧面
24 | atmospheric perspective=大气距离感
25 | panorama=全景
26 | perspective=透视画法
27 | rotated=经过旋转的
28 | sideways=横向显示的
29 | upside-down=倒挂的
30 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/调味料.txt:
--------------------------------------------------------------------------------
1 | furikake=拌饭素
2 | honey=蜂蜜
3 | jam=果酱
4 | marmalade=果酱/橘子酱
5 | ketchup=番茄酱
6 | mayonnaise=蛋黄酱
7 | mustard=芥末
8 | peanut butter=花生酱
9 | pepper shaker=胡椒
10 | salt shaker=撒盐瓶子
11 | sauce=酱汁
12 | hot sauce=辣酱
13 | soy sauce=酱油
14 | sugar (food)=粉状糖(食物)
15 | sugar cube=方糖
16 | wasabi=芥末
17 | syrup=果酱
18 | chocolate syrup=巧克力酱
19 | strawberry syrup=草莓酱
20 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/谷制品.txt:
--------------------------------------------------------------------------------
1 | bread=面包
2 | baguette=法棍
3 | biscuit (bread)=饼干(面包)
4 | bread bun=面包包子
5 | bread crust=面包皮
6 | bread eating race=吃面包比赛(咬住面包跑到终点)
7 | japari bun=加帕里面包(兽娘动物园)
8 | melon bread=菠萝包
9 | toast=吐司
10 | cereal=谷物早餐
11 | cracker=饼干
12 | arare=粗米饼
13 | senbei=仙贝
14 | croissant=羊角面包
15 | empanada=恩巴纳达
16 | noodles=面条
17 | pasta=意大利面
18 | lasagne=千层面
19 | spaghetti=意大利面
20 | black spaghetti=黑色意大利面
21 | spaghetti and meatballs=肉丸意大利面
22 | ramen=拉面
23 | cup ramen=杯面
24 | jirou (ramen)=堆高的豚骨拉面
25 | soba=荞麦
26 | yakisoba=炒面
27 | italian (niigata)=意大利面(新潟)
28 | yakisobapan=炒面面包
29 | soumen=素麺(面条 食物)
30 | udon=乌冬面
31 | kitsune udon=狐狸乌冬面
32 | pancake=煎饼
33 | pancake stack=煎饼堆
34 | rice=米饭
35 | fried rice=炒饭
36 | omurice=蛋包饭
37 | onigiri=饭团
38 | rice on face=脸上有米饭
39 | rice porridge=稀饭
40 | nanakusa-no-sekku=喝七草粥的日子
41 | risotto=烩饭
42 | scone=烤饼
43 | waffle=华夫饼干
44 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/限制级.txt:
--------------------------------------------------------------------------------
1 | spanked=打屁股
2 | anal fisting=拳爆菊
3 | enema=灌肠
4 | stomach bulge=肚子胀
5 | x-ray=透视人体内部
6 | tentacle=触手
7 | gag=口塞
8 | ballgag=球塞
9 | bitgag=棍塞
10 | ring gag=扩口器
11 | cleave gag=用布勒住嘴
12 | panty gag=用内裤塞口
13 | tapegag=胶带封口
14 | groping=摸索
15 | nipple torture=虐乳头
16 | nipple piercing=乳头穿孔
17 | cameltoe=骆驼趾(俗称馒头逼)
18 | insertion=插入物
19 | anal insertion=菊花插入物
20 | fruit insertion=用水果蔬菜
21 | large insertion=巨大插入
22 | penetration=异物插入
23 | fisting=拳头插入
24 | multiple insertions=一穴多插
25 | double penetration=双穴同插
26 | triple penetration=三穴同插
27 | double vaginal=双重入穴
28 | piercing=穿孔
29 | navel piercing=肚脐穿孔
30 | mound of venus=腹部三角带
31 | wide hips=宽盆骨
32 | tamakericzx=蛋疼
33 | vore=丸吞
34 | transformation=肉体变形
35 | mind control=思想操控
36 | blood=血
37 | nyotaimori=女体盛
38 | wooden horse=木马
39 | anal beads=肛珠
40 | cock ring=屌环
41 | double dildo=双头龙
42 | vibrator=带振动的自慰器
43 | vibrator in thighhighs=大腿贴着跳蛋控制器
44 | vibrator under panties=跳蛋在内裤里
45 | slave=奴隶
46 | shibari=捆绑
47 | bondage=捆绑/奴役
48 | bdsm=绑缚与调教/支配与臣服/施虐与受虐
49 | pillory=枷锁
50 | rope=绳子
51 | bound arms=手臂捆绑
52 | bound wrists=手腕捆绑
53 | crotch rope=胯下捆绑
54 | hogtie=曲膝捆绑
55 | frogtie=青蛙捆绑
56 | suspension=悬空捆绑
57 | spreader bar=分腿捆绑
58 | futanari=双性
59 | incest=乱伦
60 | twincest=兄弟/姐妹/姐弟/兄妹
61 | pegging=女性使用假屌
62 | ganguro=日本黑妹
63 | bestiality=人兽
64 | molestation=性骚扰
65 | voyeurism=窥阴癖
66 | exhibitionism=裸露癖
67 | rape=强暴
68 | about to be raped=将要被强暴
69 | anal tail=肛尾
70 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/面部.txt:
--------------------------------------------------------------------------------
1 | makeup=浓装
2 | food on face=食物在脸上
3 | smelling=闻
4 | nosebleed=鼻血
5 | lips=嘴唇
6 | clenched teeth=咬牙
7 | open mouth=张口
8 | pout=努嘴
9 | sigh=叹气
10 | smile=微笑
11 | light smile=浅笑
12 | grin=露齿而笑
13 | evil smile=坏笑
14 | angry=生气的
15 | annoyed=苦恼的
16 | crazy=疯狂的
17 | shy=害羞的
18 | embarrassed=尴尬的
19 | blush=脸红的
20 | sleepy=困乏的
21 | sad=悲伤的
22 | drunk=喝醉的
23 | frown=皱眉/蹙额
24 | ahegao=阿嘿颜
25 | naughty face=下流的表情
26 | endured face=忍耐的表情
27 | fangs=尖牙
28 | tongue=舌头
29 | no nose=没有鼻子
30 | saliva=唾液
31 | facial hair=胡子
32 | fingersmile=用手指做出笑脸
33 | mouth hold=嘴咬住
34 | parted lips=嘴唇微张
35 | closed mouth=闭嘴
36 | tongue out=吐舌头
37 | licking lips=舔嘴唇
38 | pain=疼痛
39 | crying=哭
40 | fume=气得冒烟(漫画)
41 | grimace=(因痛苦、厌恶等)做怪相
42 | screaming=尖叫/大声喊
43 | v-shaped eyebrows=眉毛皱成V形(表高傲或愤怒)
44 | scared=害怕的
45 | scowl=怒视/嫌弃/不满
46 | serious=严肃的
47 | tearing up=要哭的表情
48 | bored=无聊的
49 | gloom (expression)=消沉(表情)
50 | jealous=嫉妒的
51 | jitome=轻蔑的眼神
52 | nervous=不安的
53 | nervous smile=不安地微笑
54 | shaded=阴沉脸
55 | turn pale=脸色苍白
56 | expressionless=无口
57 | expressions=表情
58 | unconscious=失神
59 | bright pupils=明亮的瞳孔
60 | ear blush=耳红
61 | holding breath=憋气
62 | puckered lips=撅起的嘴唇
63 | seductive smile=诱人的微笑
64 | smiley=笑脸
65 | smirk=傻笑/得意的笑
66 | doyagao=得意脸
67 | flustered=慌乱的
68 | full blush=整张脸泛红
69 | heart in eye=眼里冒爱心
70 | heavy breathing=喘粗气
71 | moaning=呻吟
72 | smug=得意脸
73 | spit take=惊讶或无语到喷了
74 | surprised=惊讶
75 | tsundere=傲娇
76 | drooling=流口水
77 | torogao=淫荡的表情
78 | glint=眼中闪现强烈的情感
79 | happy=快乐/幸福
80 | laughing=在笑的
81 | naughty=下流的表情
82 | troll=嚣张脸
83 | yandere=病娇
84 | saliva trail=唾液拉丝
85 | red lips=朱唇
86 | skin fang=把嘴的一部分画成虎牙状
87 | upper teeth=露出上排牙齿
88 | fang=虎牙
89 | fang out=露出虎牙/露出尖牙
90 | long tongue=长舌头
91 | forehead=额头
92 | light blush=淡淡的腮红
93 | cheek-to-cheek=脸贴脸
94 | cheek bulge=鼓着腮帮
95 | cheek pinching=捏脸颊
96 | cheek poking=戳脸颊
97 | cheek pull=扯脸颊
98 | chin grab=抬下巴
99 | covering eyes=遮住眼睛
100 | covering=挡住脸
101 | covering mouth=挡住嘴巴
102 | face-to-face=脸贴脸
103 | facing another=二人面对面(脸贴得很近)
104 | forehead-to-forehead=额头贴额头
105 | teeth=牙
106 | excited=兴奋
107 | nose blush=害羞
108 | expressionless eyes=失神
109 | wide eyed=睁大眼睛
110 | >:(=愤怒
111 | >:)=嘲笑
112 | :o=惊讶
113 | :q=右上吐舌头
114 | :p=右下吐舌头
115 | :d=咧嘴笑
116 | ;d=单眼咧嘴笑
117 | :3=猫嘴
118 | lipstick=口红/唇膏
119 | covering face=挡住脸
120 | black eyes=黑眼
121 | blue eyes=蓝眼
122 | brown eyes=棕眼
123 | green eyes=绿眼
124 | grey eyes=灰眼
125 | heart-shaped pupils=爱心形瞳孔
126 | heterochromia=异色瞳
127 | purple eyes=紫眼
128 | red eyes=红眼
129 | slit pupils=竖瞳孔/猫眼
130 | white eyes=白眼
131 | yellow eyes=金眼
132 | tareme=下垂的眼睛
133 | sanpaku=三白眼
134 | upturned eyes=上翘的眼睛
135 | wide-eyed=睁开眼睛
136 | ringed eyes=眼圈
137 | rolling eyes=眼睛抬头
138 | crazy eyes=疯狂的眼睛
139 | raised eyebrows=挑眉
140 | furrowed brow=下眉毛
141 | dashed eyes=黑眼圈中的水平线
142 | multicolored eyes=多色的黑眼睛
143 | mismatched pupils=左右眼颜色不同
144 | mismatched sclera=左右眼不同颜色的眼白
145 | no pupils=没有眼睛
146 | empty eyes=眼睛没有亮点
147 | blank eyes=白眼球
148 | dilated pupils=瞳孔扩张
149 | hollow eyes=漆黑的眼睛
150 | constricted pupils=瞳孔收缩
151 | symbol-shaped pupils=符号眼
152 | star-shaped pupils=星形眼睛
153 | x-shaped pupils=X 形眼睛
154 | button eyes=纽扣眼
155 | eye reflection=眼睛反射
156 | closed eyes=闭上眼睛
157 | one eye closed=一只眼睛闭着
158 | half-closed eyes=眼睛半闭
159 | eyes closed=闭眼
160 | wince=闭一只眼
161 | tsurime=吊眼角
162 | eyeball=盯着看
163 | tears=眼泪
164 | gradient eyes=渐变瞳色
165 | aqua eyes=吐舌鬼脸
166 | crying with eyes open=睁着眼落泪
167 | glowing eyes=发光的双眼
168 | half-closed eye=半闭的眼睛(单眼)
169 | happy tears=开心的眼泪
170 | sparkling eyes=星星眼
171 | glaring=轻蔑/怒视
172 | streaming tears=流泪
173 | eyebrows behind hair=挡在头发下的眉毛
174 | eyebrows visible through hair=透过头发可以看到的眉毛
175 | eyelashes=睫毛
176 | eyeliner=眼线
177 | eyes visible through hair=透过头发可以看到的眼睛
178 | anger vein=青筋
179 | blush stickers=表情贴纸
180 | full-face blush=整张脸泛红
181 | confused=疑惑
182 | determined=有决心的
183 | disappointed=失望的
184 | disdain=蔑视
185 | disgust=恶心
186 | despair=绝望
187 | envy=嫉妒
188 | evil=邪恶
189 | facepalm=以手掩面
190 | frustrated=沮丧
191 | guilt=有罪的
192 | kubrick stare=库布里克凝视
193 | lonely=孤独的
194 | raised eyebrow=扬起的眉毛
195 | rape face=一副要强奸人的表情
196 | depressed=压抑的/郁闷的
197 | panicking=恐慌的
198 | worried=担忧的
199 | tired=累
200 | sulking=闷闷不乐
201 | thinking=思考
202 | pensive=沉思的
203 | upset=气愤
204 | crazy smile=疯狂地笑
205 | forced smile=强迫笑
206 | glasgow smile=格拉斯哥微笑
207 | sad smile=苦笑
208 | stifled laugh=憋笑
209 | ^^^=惊讶的
210 | color drain=惊讶到掉色
211 | horrified=恐惧表情
212 | sobbing=啜泣
213 | trembling=颤抖
214 | wavy mouth=薯片嘴型
215 | ;)=;)
216 | d:=d:
217 | ;3=;3
218 | 3:=斜嘴
219 | uwu=猫脸
220 | ;p=;p
221 | ;q=;q
222 | :t=:t
223 | :i=:i
224 | :/=斜嘴
225 | :|=无语
226 | :x=:x
227 | :c=伤心
228 | c:=c:
229 | :<=:<
230 | ;<=;<
231 | :<>=张大嘴
232 | :>=:>
233 | :>==:>=
234 | ;o=;o
235 | o3o=o3o
236 | (-3-)=嘟嘴
237 | >3<=亲嘴
238 | o_o=发呆
239 | 0_0=0_0
240 | |_|=|_|
241 | ._.=._.
242 | solid circle eyes=实心圆眼睛
243 | heart-shaped eyes=心形眼
244 | ^_^=^_^
245 | ^o^=^o^
246 | \(^o^)/=\(^o^)/
247 | ^q^=^q^
248 | >_<=>_<
249 | xd=XD
250 | x3=X3
251 | >o<=>o<
252 | >_@=>_@
253 | +_-=+_-
254 | =_===_=
255 | =^===^=
256 | =v===v=
257 | _=_
258 | <|>_<|>=<|>_<|>
259 | cross-eyed=斗鸡眼
260 | dot mouth=小圆点嘴
261 | dot nose=小圆点鼻
262 | mouth drool=嘴角画着口水滴形状的缺口
263 | no mouth=没画出嘴
264 | rectangular mouth=方形嘴
265 | sideways mouth=把嘴画在侧脸
266 | split mouth=裂开的嘴
267 | orange eyes=橙色的眼镜
268 | pink eyes=粉红色的眼睛
269 | amber eyes=琥珀色眼
270 | @ @=晕眼
271 | pac-man eyes=吃豆人形眼
272 | horizontal pupils=一字型瞳孔/蛙眼
273 | + +=加号型眼
274 | diamond-shaped pupils=钻石形瞳孔
275 | flower-shaped pupils=花形瞳孔
276 | blue sclera=蓝色巩膜
277 | black sclera=黑色巩膜
278 | bloodshot eyes=布满血丝的眼睛
279 | green sclera=绿色巩膜
280 | no sclera=无色巩膜
281 | orange sclera=橙色巩膜
282 | red sclera=红色巩膜
283 | yellow sclera=黄色巩膜
284 | bags under eyes=眼袋
285 | aegyo sal=眼袋
286 | bruised eye=瘀伤的眼睛
287 | flaming eyes=燃烧的眼睛
288 | glowing eye=发光的眼睛(单眼)
289 | mako eyes=魔眼
290 | amphibian eyes=两栖动物的眼睛
291 | cephalopod eyes=头足类动物的眼睛
292 | compound eyes=复合眼
293 | oral invitation=迎接射精而伸出舌头
294 | flower in mouth=花在嘴里
295 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/鞋袜.txt:
--------------------------------------------------------------------------------
1 | slippers=拖鞋
2 | socks=短袜
3 | striped socks=横条袜
4 | striped thighhighs=条纹过膝袜
5 | tabi=日式厚底短袜
6 | torn thighhighs=损坏了的过膝袜
7 | uwabaki=女式学生鞋
8 | thighhighs=过膝袜
9 | white thighhighs=白色过膝袜
10 | high heels=高跟鞋
11 | mary janes=玛丽珍鞋
12 | ankle socks=踝袜
13 | back-seamed legwear=袜缝
14 | bobby socks=美式短袜
15 | bodystocking=连体裤袜
16 | bow legwear=带蝴蝶结的裤袜
17 | fine fabric emphasis=精细的面料感/超还原的丝袜
18 | fishnet legwear=渔网袜
19 | pantylines=紧致的裤袜/略透明的裤袜
20 | seamed legwear=有接缝的裤袜
21 | stirrup legwear=马镫袜
22 | toeless legwear=露趾裤袜
23 | lace-trimmed legwear=蕾丝边裤袜
24 | leg cutout=裤袜有开口
25 | leg warmers=腿套/暖腿袜
26 | kneehighs=长袜
27 | leggings=裤袜
28 | loose socks=泡泡袜
29 | garter straps=袜带
30 | garters=吊带袜
31 | garter belt=连腰吊带袜
32 | pink thighhighs=粉色过膝袜
33 | pantyhose=连裤袜
34 | fishnets=网袜
35 | frilled legwear=带褶边的过膝袜
36 | black thighhighs=黑色过膝袜
37 | ballet slippers=芭蕾舞鞋
38 | barefoot sandals=裸足凉鞋
39 | boots=长靴
40 | boots removed=脱下的靴子
41 | cross-laced footwear=交叉系带鞋
42 | high heel boots=高跟靴
43 | knee boots=及膝靴
44 | loafers=乐福鞋
45 | rudder footwear=舰C舰娘专用鞋
46 | stiletto heels=细跟高跟鞋
47 | strappy heels=带束带的高跟鞋
48 | thigh boots=高帮靴
49 | toeless boots=露趾靴
50 | black legwear=黑色裤袜
51 | white legwear=白色裤袜
52 | torn legwear=撕裂的裤袜
53 | striped legwear=条纹裤袜
54 | asymmetrical legwear=不对称裤腿
55 | brown legwear=棕色裤袜
56 | uneven legwear=不均匀的裤腿
57 | print legwear=印花裤袜
58 | red legwear=红色裤袜
59 | mismatched legwear=不匹配的腿饰
60 | legwear under shorts=短裤穿在裤袜外面
61 | purple legwear=紫色裤袜
62 | grey legwear=灰色裤袜
63 | blue legwear=蓝色裤袜
64 | pink legwear=粉色裤袜
65 | argyle legwear=菱形裤腿
66 | ribbon-trimmed legwear=丝带边饰裤袜
67 | american flag legwear=星条旗裤袜
68 | green legwear=绿色裤袜
69 | vertical-striped legwear=竖条纹裤袜
70 | alternate legwear=备用裤袜
71 | yellow legwear=黄色裤袜
72 | multicolored legwear=五彩裤袜
73 | ribbed legwear=罗纹裤袜
74 | fur-trimmed legwear=毛皮裤袜
75 | see-through legwear=透视裤袜
76 | legwear garter=裤袜吊袜带
77 | two-tone legwear=分段裤袜
78 | latex legwear=乳胶裤袜
79 |
--------------------------------------------------------------------------------
/data/translate_cache/tags/饮料.txt:
--------------------------------------------------------------------------------
1 | alcohol=酒精
2 | beer=啤酒
3 | non-alcoholic beer=非酒精啤酒
4 | guinness (beer)=健力士黑啤酒(啤酒)
5 | champagne=香槟酒
6 | cocktail=鸡尾酒
7 | caesar (drink)=凯撒鸡尾酒
8 | cocktail umbrella=鸡尾酒伞
9 | margarita=玛格丽塔
10 | martini=马提尼酒
11 | liquor=酒
12 | sake=日本酒
13 | tequila=龙舌兰酒
14 | vodka=伏特加
15 | whiskey=威士忌酒
16 | wine=葡萄酒
17 | coffee=咖啡
18 | cafe au lait=咖啡加牛奶
19 | canned coffee=罐装咖啡
20 | coffee beans=咖啡豆
21 | dandelion coffee=蒲公英咖啡
22 | georgia max coffee=Georgia MAX Coffee
23 | latte art=咖啡拉花
24 | starbucks=星巴克
25 | juice=果汁
26 | amazake=甘酒
27 | lemonade=柠檬汽水
28 | orange juice=橙汁
29 | soda=苏打
30 | 7up=7up
31 | calpis=Calpis
32 | coca-cola=可口可乐
33 | dr pepper=Dr Pepper
34 | fanta=芬达
35 | melon soda=绿色苏打水
36 | mountain dew=激浪(饮料)
37 | pepsi=百事可乐
38 | pepsi ice cucumber=黄瓜味百事可乐
39 | ramune=ramune 波子汽水
40 | root beer=根汁啤酒
41 | soda can=汽水罐
42 | tea=茶
43 | barley tea=燕麦茶
44 | black tea=红茶
45 | bubble tea=珍珠奶茶
46 | darjeeling tea=达吉岭茶
47 | earl grey tea=伯爵茶
48 | green tea=绿茶
49 | herbal tea=草药茶
50 | iced tea=冰茶
51 | milk tea=奶茶
52 | rose hip tea=茉莉花茶
53 | spear mint tea=薄荷茶
54 | tropical drink=热带特色的饮料
55 | blue hawaii=蓝色夏威夷(鸡尾酒)
56 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/上身装饰.txt:
--------------------------------------------------------------------------------
1 | 锁骨=collarbone
2 | 翅膀/翼=wings
3 | 蝙蝠翅膀=bat wings
4 | 蝴蝶翅膀=butterfly wings
5 | 黑色之翼=black wings
6 | 恶魔之翼=demon wings
7 | 肌肉=muscle
8 | 披肩/斗篷/披风=cape
9 | 吊带背心=camisole
10 | 袖肩分离装=detached sleeves
11 | 卫衣=hoodie
12 | 长袖=long sleeves
13 | 长袍=robe
14 | 露单肩=off shoulder
15 | 露双肩=bare shoulders
16 | 上着较少=topless
17 | 敞开衣服=open clothes
18 | 敞开长袍=open robe
19 | 裸体披风=naked cape
20 | 裸体衬衫=naked shirt
21 | 天使的翅膀=angel wings
22 | 脱离本体的翅膀=detached wings
23 | 龙翼=dragon wings
24 | 妖精的翅膀=fairy wings
25 | 背带=harness
26 | 鞭痕=whip marks
27 | 徽章=badge
28 | 臂环=arm belt
29 | 缠着绷带的手臂=bandaged arm
30 | 缠着绷带的手=bandaged hands
31 | 手镯=bangle
32 | 珠子手链=bead bracelet
33 | 手镯=bracelet
34 | 护腕=bracer
35 | 臂章=armband
36 | 臂环=armlet
37 | 长袖手套=elbow gloves
38 | 露指手套=fingerless gloves
39 | 手套=gloves
40 | 腕饰=wrist cuffs
41 | 腕带=wristband
42 | 脐链=belly chain
43 | 绷带=bandages
44 | 条形码=barcode
45 | 蝴蝶结=bow
46 | 令咒=command spell
47 | 钻石(宝石)=diamond (gemstone)
48 | 舰娘锁(舰C)=heart lock (kantai collection)
49 | 心形纹身=heart tattoo
50 | 心跳/表现出心动的文字=heartbeat
51 | 痣=mole
52 | 编号纹身=number tattoo
53 | 西装夹克=blazer
54 | 西装外套=suit jacket
55 | 披肩=capelet
56 | 斗篷=cloak
57 | 外套=coat
58 | 燕尾=coattails
59 | 翻领夹克=collared jacket
60 | 粗呢大衣=duffel coat
61 | 连帽斗篷=hooded cape
62 | 连帽披巾=hooded cloak
63 | 连帽外套=hooded coat
64 | 连帽夹克=hooded jacket
65 | 袈裟=kesa
66 | 白大褂=labcoat
67 | 军装夹克=military jacket
68 | 女性穿着西服=pant suit
69 | 燕尾服=tailcoat
70 | 罩衫=blouse
71 | 开襟衫=cardigan
72 | 私服=casual
73 | 衣服上有心形的开口=heart cutout
74 | 胸口带花边的服装=center frills
75 | 正中间开口的服装=center opening
76 | 格子衬衫=checkered shirt
77 | 衣服勒在乳沟里=clothes between breasts
78 | 猫咪内衣=cat cutout
79 | T 恤=t-shirt
80 | 翻领衬衫=collared shirt
81 | 交叉吊带=criss-cross halter
82 | 露腹短上衣=crop top
83 | 短衬衫=cropped shirt
84 | 小款背心=cropped vest
85 | 西服衬衫=dress shirt
86 | 腹甲=faulds
87 | 从正面打结的衣物=front-tie top
88 | 褶裥(衣物)=gathers
89 | 体操服(上身)=gym shirt
90 | 高腰裙=high-waist skirt
91 | 处男杀手毛衣=virgin killer sweater
92 | 胸部开口的毛衣=open-chest sweater
93 | 连帽毛衣=hooded sweater
94 | 连帽运动夹克=hooded track jacket
95 | 运动衫=jersey
96 | 承重背心=load bearing vest
97 | 低胸装=lowleg
98 | 过大号衬衫=oversized shirt
99 | 水手服款衬衫=sailor shirt
100 | 无袖紧身背心=tank top
101 | 解开纽扣的衬衫=unbuttoned shirt
102 | 背心=vest
103 | 湿衬衫=wet shirt
104 | 猫系内衣=cat lingerie
105 | 肚兜=dudou
106 | 比基尼上衣=bikini top
107 | 脱下比基尼上衣=bikini top removed
108 | 脱下手套=gloves removed
109 | 很短的手套/半截手套=half gloves
110 | 乳胶手套=latex gloves
111 | 分层的衣袖=layered sleeves
112 | 叠起来的袖子=sleeves folded up
113 | 袖子长过手指=sleeves past fingers
114 | 袖子长过手腕=sleeves past wrists
115 | 袖子往上拉起=sleeves pushed up
116 | 花环=hat flower
117 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/下身装饰.txt:
--------------------------------------------------------------------------------
1 | 腹部=midriff
2 | 肚脐=navel
3 | 臀部=hips
4 | 股沟=thigh gap
5 | 尾巴=tail
6 | 大腿=thighs
7 | 粗腿=thick thighs
8 | 膝盖内侧=kneepits
9 | 脚=foot
10 | 脚趾=toes
11 | 围裙=apron
12 | 腰带=belt
13 | 自行车短裤=bike shorts
14 | 灯笼裤=bloomers
15 | 日式丁字裤=fundoshi
16 | 束腰=girdling
17 | 裹腿=legwear
18 | 低腰式内裤=lowleg panties
19 | 迷你裙=miniskirt
20 | 无内裤=no panties
21 | 内裤=panties
22 | 粉红内裤=pink panties
23 | 百褶裙=pleated skirt
24 | 系带式内裤=side-tie panties
25 | 裙子=skirt
26 | 条纹内裤=striped panties
27 | 丁字裤=thong
28 | 露出三角裤=trefoil
29 | 白色内裤=white panties
30 | 绝对领域=zettai ryouiki
31 | 短裤=shorts
32 | 下着较少=bottomless
33 | 内裤拉下来=panty pull
34 | 内裤走光=pantyshot
35 | 阴贴=maebari
36 | 赤脚=barefoot
37 | 光腿=bare legs
38 | 腿部系带=ankle lace-up
39 | 插入式尾巴=butt plug
40 | 尿布=diaper
41 | 腿部花边环=leg garter
42 | 绑着绷带的腿=bandaged leg
43 | 脚镯=anklet
44 | 恶魔尾巴=demon tail
45 | 狗尾巴=dog tail
46 | 龙尾=dragon tail
47 | 狐狸尾巴=fox tail
48 | 马尾=horse tail
49 | 比基尼泳裤=bikini bottom
50 | 女式灯笼裤=buruma
51 | 七分裤=capri pants
52 | 皮套裤=chaps
53 | 格子裙=checkered skirt
54 | 衣物挂到大腿之间=clothes between thighs
55 | 一条腿上挂着短裙=skirt around one leg
56 | 正装短裙=skirt suit
57 | 热裤=short shorts
58 | 热裤=cutoffs
59 | 牛仔短裤=denim shorts
60 | 牛仔裙=denim skirt
61 | 胫甲=greaves
62 | 体操短裤=gym shorts
63 | 袴/腿衣=hakama
64 | 袴裙=hakama skirt
65 | 牛仔裤=jeans
66 | (尤指女式)连衫裤=jumpsuit
67 | 把连衣裤裆部剥到一边=leotard aside
68 | 剥开连衣裤=leotard pull
69 | 内层穿着连衣裤=leotard under clothes
70 | 低腰裤子=lowleg pants
71 | 背面印花的内裤=back-print panties
72 | 熊印花内裤=bear panties
73 | 带蝴蝶结的内裤=bow panties
74 | 褪下一部分的内裤=buruma pull
75 | 猫耳造型内裤=cat ear panties
76 | 草莓内裤=strawberry panties
77 | 一只脚上挂着内裤=panties around one leg
78 | 把泳衣的裆部挪到一边=swimsuit aside
79 | 裆部有特别覆盖物=crotch plate
80 | 湿内裤=wet panties
81 | 开档内裤=crotchless panties
82 | 正面有图案的内裤=front-print panties
83 | 超细款丁字裤=g-string
84 | 高开衩的内裤=highleg panties
85 | 蕾丝边内裤=lace-trimmed panties
86 | 布料很少的内裤=micro panties
87 | 内裤挪到一边=panties aside
88 | 穿在裤袜里的内裤=panties under pantyhose
89 | 屁股=ass
90 | 正面可见的屁股=ass visible through thighs
91 | 裸臀=bare hips
92 | 腿上的绷带=bandaid on leg
93 | 机械腿=mechanical legs
94 | 腿带=leg belt
95 | 腿部纹身=leg tattoo
96 | 绑腿=bound legs
97 | 吊袜带内裤和长袜=panty & stocking with garterbelt
98 | 连裤袜加长筒袜=thighhighs over pantyhose
99 | 长筒袜加短袜=socks over thighhighs
100 | 连裤袜上的内裤=panties over pantyhose
101 | 泳衣下连裤袜=pantyhose under swimsuit
102 | 黑色吊袜带=black garter belt
103 | 吊袜带=neck garter
104 | 白色吊袜带=white garter straps
105 | 黑色吊袜带=black garter straps
106 | 脚踝吊袜带=ankle garter
107 | 遮着裆部=covering crotch
108 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/主食.txt:
--------------------------------------------------------------------------------
1 | 罐头食品=canned food
2 | 食用油=cooking oil
3 | 面包屑=crumbs
4 | 咖喱=curry
5 | 咖喱饭=curry rice
6 | 饺子=dumpling
7 | 饺子=jiaozi
8 | 烧卖=shumai
9 | 汤圆=tang yuan
10 | 炸丸=croquette
11 | 炸鱼薯条=fish and chips
12 | 面粉=flour
13 | 芝士火锅=fondue
14 | 炸薯条=french fries
15 | 法式吐司=french toast
16 | 汉堡包=burger
17 | 超级汉堡=megamac
18 | 热狗=hot dog
19 | 玉米热狗=corn dog
20 | 日式炸鸡排=katsu
21 | 日式猪排饭=katsudon
22 | 蒟蒻=konnyaku
23 | 一顿饭=meal
24 | 早餐=breakfast
25 | 点心=dim sum
26 | 晚餐=dinner
27 | 盛宴=feast
28 | 午饭=lunch
29 | 便当=bento
30 | okosama 儿童餐=okosama lunch
31 | 派对=party
32 | 生日聚会=birthday party
33 | 茶会=tea party
34 | 包子=baozi
35 | 火锅=nabe
36 | 关东煮=oden
37 | 寿喜烧=sukiyaki
38 | 鸣门卷=narutomaki
39 | 什锦煎饼=okonomiyaki
40 | 煎蛋卷=omelet
41 | 披萨=pizza
42 | 拿着披萨=holding pizza
43 | 披萨盒=pizza box
44 | 披萨递送=pizza delivery
45 | 切下的一块比萨=pizza slice
46 | 排骨=ribs (food)
47 | 沙拉=salad
48 | 盐=salt
49 | 三明治=sandwich
50 | 汤=soup
51 | 味噌=miso soup
52 | 日式烩年糕=zouni soup
53 | 寿司=sushi
54 | 回转寿司=conveyor belt sushi
55 | 军舰卷=gunkanmaki
56 | 稻荷寿司=inarizushi
57 | 寿司巻=makizushi
58 | 手握寿司=nigirizushi
59 | 寿司板=sushi geta
60 | 炸玉米饼=taco
61 | 章鱼烧=takoyaki
62 | 腌萝卜片=takuan
63 | 生蛋盖饭=tamagokake gohan
64 | 天妇罗=tempura
65 | 虾天妇罗=shrimp tempura
66 | 豆腐=tofu
67 | 油炸豆腐=aburaage
68 | 麻婆豆腐=mapo tofu
69 | 臭豆腐=stinky tofu
70 | 回锅肉=twice cooked pork
71 | 鳗丼=unadon (food)
72 | 粽子=zongzi
73 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/乳制品.txt:
--------------------------------------------------------------------------------
1 | 黄油=butter
2 | 芝士=cheese
3 | 烟熏奶酪=smoked cheese
4 | 瑞士奶酪=swiss cheese
5 | 奶油=cream
6 | 打发的奶油=whipped cream
7 | 蛋酒=eggnog
8 | 开菲尔=kefir
9 | 牛奶=milk
10 | 婴儿奶瓶=baby bottle
11 | 炼乳=condensed milk
12 | 巧克力牛奶=chocolate milk
13 | 奶瓶=milk bottle
14 | 盒装牛奶=milk carton
15 | 牛奶周转桶=milk churn
16 | 牛奶小胡子=milk mustache
17 | 奶昔=milkshake
18 | 草莓牛奶=strawberry milk
19 | 养乐多=yakult
20 | 酸奶=yogurt
21 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/作品角色.txt:
--------------------------------------------------------------------------------
1 | 2K碳(OS碳)=2k-tan
2 | 安部菜菜(偶像大师)=abe nana
3 | 斯佩伯爵海军上将(碧蓝航线)=admiral graf spee (azur lane)
4 | 艾吉斯(女神异闻录)=aegis (persona)
5 | 艾丽丝·盖恩斯巴勒(最终幻想VII)=aerith gainsborough
6 | 亚风炉照美(闪电十一人)=afuro terumi
7 | 阿格莉亚丝(最终幻想)=agrias oaks
8 | 阿狸(英雄联盟)=ahri
9 | 相田爱(心跳!光之美少女)=aida mana
10 | 爱乃惠(光之美少女happiness charge)=aino megumi
11 | 爱野美奈子(美少女战士)=aino minako
12 | 空母栖鬼(舰Colle)=aircraft carrier oni
13 | 逢坂大河(龙与虎)=aisaka taiga
14 | 爱莎·兰德尔(艾尔之光)=aisha landar
15 | 赤城(碧蓝航线)=akagi (azur lane)
16 | 赤城米莉亚(偶像大师)=akagi miria
17 | 阿卡丽(英雄联盟)=akali
18 | 明石(碧蓝航线)=akashi (azur lane)
19 | 晓切歌(战姬绝唱SYMPHOGEAR)=akatsuki kirika
20 | 赤座灯里(摇曳百合)=akaza akari
21 | 晓美焰(魔法少女小圆)=akemi homura
22 | 小秋(少女与战车)=aki (girls und panzer)
23 | 秋穰子(东方)=aki minoriko
24 | 秋静叶(东方)=aki shizuha
25 | 亚北音留(Vocaloid)=akita neru
26 | 秋山澪(K-ON!轻音少女)=akiyama mio
27 | 秋山优花里(少女与战车)=akiyama yukari
28 | 秋月律子(偶像大师)=akizuki ritsuko
29 | 秋月凉(偶像大师)=akizuki ryo
30 | 恶魔焰(魔法少女小圆)=akuma homura
31 | 天壤劫火·亚拉斯特尔(灼眼的夏娜)=alastor (shakugan no shana)
32 | 安莉娜公主(勇者斗恶龙4)=alena (dq4)
33 | 爱丽丝·卡塔雷特(黄金拼图)=alice cartelet
34 | 爱丽丝·玛格特罗依德(东方)=alice margatroid
35 | 爱丽丝·玛格特罗依德(东方 PC-98)=alice margatroid (pc-98)
36 | 亚理纱(少女与战车)=alisa (girls und panzer)
37 | 亚莉莎·伊莉妮提娜·阿米耶拉(噬神者系列)=alisa ilinichina amiella
38 | 苏利羊驼(动物朋友)=alpaca suri (kemono friends)
39 | 阿尔冯斯·艾尔利克(钢之炼金术师)=alphonse elric
40 | 阿提拉(Fate)=altera (fate)
41 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/全身装饰.txt:
--------------------------------------------------------------------------------
1 | 创可贴=bandaid
2 | 手杖=cane
3 | 锁链=chains
4 | 手枷=cuffs
5 | 警用手铐=handcuffs
6 | 宽手铐=shackles
7 | 纹身=tattoo
8 | 莎笼/沙滩浴巾=sarong
9 | 纽扣=buttons
10 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/制图特效.txt:
--------------------------------------------------------------------------------
1 | 色差=chromatic aberration
2 | 镜头光晕=lens flare
3 | 动态模糊=motion blur
4 | 闪耀效果=sparkle
5 | JPEG 压缩失真=jpeg artifacts
6 | 模糊的=blurry
7 | 电影光效=cinematic lighting
8 | 荧光=glowing light
9 | 自上而下的光=god rays
10 | 光线追踪=ray tracing
11 | 反射光=reflection light
12 | 过曝=overexposure
13 | 逆光=backlighting
14 | 混合=blending
15 | 盛开=bloom
16 | 背景散焦=bokeh
17 | 焦散=caustics
18 | 明暗对比=chiaroscuro
19 | 色差滥用=chromatic aberration abuse
20 | 衍射十字星=diffraction spikes
21 | 背景虚化=depth of field
22 | 抖动=dithering
23 | 立绘阴影=drop shadow
24 | 集中线=emphasis lines
25 | 胶片颗粒感/老电影滤镜=film grain
26 | 正前缩距透视法=foreshortening
27 | 一种漫画中常见的网点状的组色组图画法=halftone
28 | 图像填充=image fill
29 | 镜头光晕滥用=lens flare abuse
30 | 体现运动的线=motion lines
31 | 多个单色结构拼接成的=multiple monochrome
32 | 视错觉=optical illusion
33 | 互补色=anaglyph
34 | 立体画=stereogram
35 | 扫描线=scanlines
36 | 剪影=silhouette
37 | 速度线=speed lines
38 | 晕影=vignetting
39 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/动作.txt:
--------------------------------------------------------------------------------
1 | 用手支撑住=arm support
2 | 举手露腋=armpits
3 | 手放在身后=arms behind back
4 | 手交叉于胸前=arms crossed
5 | 双抬臂=arms up
6 | 焦糖舞=caramelldansen
7 | 手枪手势=finger gun
8 | 单手插腰=hand on hip
9 | 手放在另一人的胸前=hands on another's breast
10 | 双手叉腰=hands on hips
11 | 拿着=holding
12 | 牵手=holding hands
13 | 比出中指=middle finger
14 | 敬礼=salute
15 | 嘘手势=shushing
16 | 张开双臂=spread arms
17 | 翘大拇指=thumbs up
18 | 脱衣服中=undressing
19 | 胜利手势=v
20 | 招手=waving
21 | 伸出双臂=outstretched arms
22 | 伸出单臂=outstretched arm
23 | 伸出手=outstretched hand
24 | 伸手触及=reaching
25 | 单抬臂=arm up
26 | 展示腋窝=presenting armpit
27 | 展示内裤=presenting panties
28 | 手臂放头后=arms behind head
29 | 掀起和服=kimono lift
30 | 剥开和服=kimono pull
31 | 掀起裙子=skirt lift
32 | 共享食物/用嘴递食物=shared food
33 | 理头发=adjusting hair
34 | 整理裤袜=adjusting legwear
35 | 拨内裤=adjusting panties
36 | 抓住手臂=arm grab
37 | 手臂往后拉=arm held back
38 | 挽手=arm hug
39 | 微微露出腋窝=armpit peek
40 | 双手搂着脖子=arms around neck
41 | 双手垂放=arms at sides
42 | 招手=beckoning
43 | 捏着肚子=belly grab
44 | 扯着比基尼=bikini pull
45 | 拉开裙子=skirt pull
46 | 爱抚睾丸=caressing testicles
47 | 肩扛=carrying over shoulder
48 | 夹在腋下=carrying under arm
49 | 爪子姿势=paw pose
50 | 举爪姿势=claw pose
51 | 掀起衣物=clothes lift
52 | 拉开衣物=clothes pull
53 | 手持辫子=bunching hair
54 | 遮住关键部位的手臂=convenient arm
55 | 挡住关键部位的头=convenient head
56 | 挡住关键部位的腿=convenient leg
57 | 交叉双臂=crossed arms
58 | 拥抱=cuddling
59 | 掀起裙子=dress lift
60 | 脱下裙子=dress removed
61 | 双持=dual wielding
62 | 以手掩面=palm
63 | 喂食=feeding
64 | 手指隔着衣物摸来摸去=fingering through clothes
65 | 拍打动作=flapping
66 | 热情的拥抱/扑上来抱住=glomp
67 | 抓住/抓着=grabbing
68 | 把对方的手抓过来摸自己的胸=guided breast grab
69 | 拨头发=hair flip
70 | 撩头发=hair tucking
71 | 手指卷着头发=hair twirling
72 | 手放在两腿之间=hand between legs
73 | 手埋在头发里=hand in hair
74 | 手伸进内裤里=hand in panties
75 | 手摸着对方的脸颊=hand on another's cheek
76 | 手放在对方的胸前=hand on another's chest
77 | 手托着对方的下巴=hand on another's chin
78 | 手接触到对方的脸=hand on another's
79 | 手放在对方的肚子上=hand on another's stomach
80 | 手放在自己的膝盖上=hand on own knee
81 | 把手放在自己的肚子上=hand on own stomach
82 | 手朝向自己嘴=hand to own mouth
83 | 双手比心=heart hands
84 | 两个人一起用手比心=heart hands duo
85 | 拉着弓=holding arrow
86 | 拿着避孕套=holding condom
87 | 拿着内裤=holding panties
88 | 手拉着吊带=holding strap
89 | 手持注射器=holding syringe
90 | 手持内衣=holding underwear
91 | 握着鞭子=holding whip
92 | 食指抬起=index finger raised
93 | 被对方掀起衣物=lifted by another
94 | 掀起自己的衣物=lifted by self
95 | 抓着领带=necktie grab
96 | OK手势=ok sign
97 | 双手合十=own hands together
98 | 揉眼睛=rubbing eyes
99 | 遮阳手势=shading eyes
100 | 抓着床单=sheet grab
101 | 少女祈祷中=shoujo kitou-chuu
102 | 打电话=talking on phone
103 | 隔着衣物爱抚=through clothes
104 | 打结(动作)=tying
105 | 打哈欠=yawning
106 | 弄干头发=drying hair
107 | 在眼边比剪刀手=v over eye
108 | 抓着对方的头发=grabbing another's hair
109 | 扎头发=tying hair
110 | 采耳=mimikaki
111 | 拿着眼镜/正在摘眼镜=holding eyewear
112 | 手放在耳朵上=hand on ear
113 | 扶眼镜=adjusting eyewear
114 | 手放在对方的头上=hand on another's head
115 | 手放在自己头上=hand on own head
116 | 手放在自己前额=hand on own forehead
117 | 手接触到对方的脸=hand on another's face
118 | 把手放在自己脸上=hand on own face
119 | 双手放在别人的脸上=hands on another's face
120 | 双手放在自己的脸上=hands on own face
121 | 把手放在自己的脸颊上=hand on own cheek
122 | 手触碰帽子=hand on headwear
123 | 把手放在自己的胸口=hand on own chest
124 | 手放在对方的肩上=hand on another's shoulder
125 | 手放在自己的肩上=hand on own shoulder
126 | 把手放在自己的臀部=hand on own ass
127 | 双手放在屁股上=hands on ass
128 | 双手放在自己的膝盖上=hands on own knees
129 | 双手放在脚上=hands on feet
130 | 手放在对方的手上=hand on another's hand
131 | 手插在口袋里=hand in pocket
132 | 双手插在兜里=hands in pockets
133 | 引号手势=air quotes
134 | 兔耳 pose=bunny pose
135 | 抱着我手势=carry me
136 | 紧握的双手=clenched hands
137 | 用手比作杯子=cupping hands
138 | 双手比 V=double v
139 | 紧张手势=fidgeting
140 | 用手指比数字=finger counting
141 | 用手指作相框=finger frame
142 | 碰拳=fist bump
143 | 抱拳=fist in hand
144 | 用手比作眼镜=hand glasses
145 | 握住自己的双手=own hands clasped
146 | 手臂摆出心的姿势=heart arms
147 | 三个人用手比心=heart hands trio
148 | 击掌庆祝=high five
149 | 用手比作角=horns pose
150 | 双拳挤头=noogie
151 | 拱手礼=palm-fist greeting
152 | 拳头拍手掌/有主意了=palm-fist tap
153 | 插入手势/做爱示意=penetration gesture
154 | 勾指起誓=pinky swear
155 | 用手模仿其他物件/皮影戏=shadow puppet
156 | 代表月亮消灭你=tsuki ni kawatte oshioki yo
157 | 指尖抵着指间=steepled fingers
158 | 拉下眼睑的鬼脸=akanbe
159 | 割喉手势=slit throat (gesture)
160 | 伸出小拇指=pinky out
161 | 用手指着=pointing
162 | 指着自己=pointing at self
163 | 指向看图的人=pointing at viewer
164 | 指向下方=pointing down
165 | 指向前方=pointing forward
166 | 向上指=pointing up
167 | 抬高手臂向上指=kamina pose
168 | 叉腰向上指 (舞蹈)=saturday night fever
169 | 大拇指向下=thumbs down
170 | 摇滚手势=\n/
171 | 手指交错=crossed fingers
172 | 狐狸手势=fox shadow puppet
173 | 双指比心=finger heart
174 | 反向比 V=inward v
175 | 沙卡手势=shaka sign
176 | 二指敬禮=two-finger salute
177 | 6+1 手势=\m/
178 | 3 手势=middle w
179 | 金钱手势=money gesture
180 | 手掌贴墙=\||/
181 | 张开的手=open hand
182 | 要求自我介绍=ohikaenasutte
183 | 张开手指=spread fingers
184 | 直臂敬礼/纳粹式敬礼=straight-arm salute
185 | 瓦肯举手礼=vulcan salute
186 | 握紧的手=clenched hand
187 | Fig 手势=fig sign
188 | 力量手套=power fist
189 | 举起的拳头=raised fist
190 | 扶颏冥想=stroking own chin
191 | 舔阴手势=cunnilingus gesture
192 | 口交手势=fellatio gesture
193 | 手冲手势=handjob gesture
194 | 捏着帽檐=hat tip
195 | 爽歪歪 (手势)=shocker (gesture)
196 | 手指比 V 放在手上=v over mouth
197 | 手指比 W=w
198 | 空气吉他=air guitar
199 | (女子的)屈膝礼=curtsey
200 | 心形尾巴/心形尾尖/尾巴摆出心形=heart tail
201 | 两人尾巴摆出心形=heart tail duo
202 | 九字印=kuji-in
203 | 耸肩=shrugging
204 | 趾尖/脚尖=toe-point
205 | 胜利手势=victory pose
206 | 兰花指=orchid fingers
207 | 拿着花=holding flower
208 | 闻花=smelling flower
209 | 拉下连衣裙下摆=dress tug
210 | 分开裙子=open dress
211 | 剥下裙子露出胸口=dress pull
212 | 四肢趴地=all fours
213 | 弓身体=arched back
214 | 翘臀姿势=bent over
215 | 二郎腿=crossed legs
216 | 曲腿至胸=fetal position
217 | 战斗姿态=fighting stance
218 | 抱腿=hugging own legs
219 | 盘腿=indian style
220 | 下跪=kneeling
221 | 身体前驱=leaning forward
222 | 抬一只脚=leg lift
223 | 抬两只脚=legs up
224 | 躺着=lying
225 | 趴着=on stomach
226 | 公主抱=princess carry
227 | 正坐=seiza
228 | 坐着=sitting
229 | 张腿=spread legs
230 | 蹲下=squatting
231 | 趴着翘臀=top-down bottom-up
232 | 割坐=wariza
233 | 侧身坐=yokozuwari
234 | 僵尸姿势=zombie pose
235 | 驼背=humpbacked
236 | 背靠背=back-to-back
237 | 弓背高潮=head back
238 | 鞠躬=bowing
239 | 倚靠/身体倾斜=leaning
240 | 身体往后靠=leaning back
241 | 向一侧倾斜身体=leaning to the side
242 | 仰躺=on back
243 | 侧卧=on side
244 | 斜倒斜躺姿势=reclining
245 | 坐在大腿上=sitting on lap
246 | 跨坐=straddling
247 | 趴在地上并翘起脚=the pose
248 | 枕着头/托着头=head rest
249 | 歪着头=head tilt
250 | 低着头=head down
251 | 单膝跪=one knee
252 | 蝴蝶坐=butterfly sitting
253 | 二郎腿=figure four sitting
254 | 结跏趺坐=lotus position
255 | 坐在人身上=sitting on person
256 | 大腿跨骑=thigh straddling
257 | 对坐体位=upright straddle
258 | 站立的=standing
259 | 两腿分开=legs apart
260 | 单腿站立=standing on one leg
261 | (保持)平衡的姿势=balancing
262 | 爬行=crawling
263 | 跳跃=jumping
264 | 奔跑=running
265 | 走路=walking
266 | 走在墙顶上=wallwalking
267 | 失意体前屈/Orz=prostration
268 | 用胸支撑身体=chest stand
269 | 抱头=cowering
270 | 磔=crucifixion
271 | 脸贴地面=faceplant
272 | 拔刀起手式=battoujutsu stance
273 | 头扑倒在地=full scorpion
274 | 伸懒腰=stretching
275 | 三点着地=superhero landing
276 | 用手倒立=handstand
277 | 用头倒立=headstand
278 | 瑜伽=yoga
279 | 蝎子姿势=scorpion pose
280 | 伛=slouching
281 | 躯干夸张地扭曲=twisted torso
282 | 交叉脚踝=crossed ankles
283 | 抬腿露阴=folded
284 | 抬起腿=leg up
285 | 膝盖顶到胸部=knees to chest
286 | 双腿抬过头=legs over head
287 | 腿部伸展=outstretched leg
288 | 分开=split
289 | 鸽子姿势=pigeon pose
290 | 站立劈叉/站立高抬腿=standing split
291 | 双腿交叉站姿=watson cross
292 | 手臂环绕脖子=arm around neck
293 | 手放在他人的脖子上=hand on another's neck
294 | 把手放在自己的脖子上=hand on own neck
295 | 咬脖子=neck biting
296 | 缩颈=necking
297 | 亲吻脖子=kissing neck
298 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/品控.txt:
--------------------------------------------------------------------------------
1 | 身体结构错误=bad anatomy
2 | 手型错误=bad hands
3 | 缺少手指=fewer digits
4 | 多余手指=extra digit
5 | 缺少手臂=missing arms
6 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/图片杂件.txt:
--------------------------------------------------------------------------------
1 | 含文字=text
2 | 含签名=signature
3 | 含水印=watermark
4 | 含用户名=username
5 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/图片类型.txt:
--------------------------------------------------------------------------------
1 | 超高分辨率=absurdres
2 | 背影像=back
3 | 格子的=checkered
4 | 所有人=everyone
5 | 高分辨率=highres
6 | 大文件体积=huge filesize
7 | 极高分辨率=incredibly absurdres
8 | 低分辨率=lowres
9 | 原创=original
10 | 拙劣模仿=parody
11 | 样图标记=sample
12 | 壁纸=wallpaper
13 | 杰作=masterpiece
14 | 顶级质量=best quality
15 | 糟糕质量=worst quality
16 | 低质量=low quality
17 | 一般质量=normal quality
18 | 有错误=error
19 | 极高分辨率 CG 壁纸=extremely detailed cg unity 8k wallpaper
20 | 插画=illustration
21 | 不宜工作时观看=nsfw
22 | 3D=3d
23 | 动图=animated
24 | PNG 动图=animated png
25 | Flash=flash
26 | 视频=video
27 | 音乐视频=music video
28 | GIF 动图=animated gif
29 | EasyToon=easytoon
30 | 非循环动画=non-repeating animation
31 | 循环播放动画=looping animation
32 | 轮转动画=roulette animation
33 | Live2D=live2d
34 | 压缩包=archived file
35 | 原画=artbook
36 | 日历(介质)=calendar (medium)
37 | 卡片(介质)=card (medium)
38 | 漫画=comic
39 | 单格漫画=1koma
40 | 双分镜漫画=2koma
41 | 三格漫画=3koma
42 | 四格漫画=4koma
43 | 多列四格漫画=multiple 4koma
44 | 五格漫画=5koma
45 | 无边框漫画=borderless panels
46 | 色情漫画=eromanga
47 | 从左往右读的漫画=left-to-right manga
48 | 从右往左读的漫画=right-to-left comic
49 | 默剧漫画=silent comic
50 | 损坏的文件=corrupted file
51 | 封面=cover
52 | 专辑封面=album cover
53 | 单人封面=character single
54 | 封面=cover page
55 | 同人封面=doujin cover
56 | DVD 封面=dvd cover
57 | (同人向玩梗向的)封面=fake cover
58 | 视频游戏封面=video game cover
59 | 杂志封面=magazine cover
60 | 漫画封面=manga cover
61 | (同人向玩梗向的)截图=fake screenshot
62 | 游戏 CG=game cg
63 | 鱼拓 (介质)=gyotaku (medium)
64 | 图标=icon
65 | 标志=logo
66 | 剪纸=kirigami
67 | 线条艺术=lineart
68 | 几乎没用勾线的画=no lineart
69 | 角色形象有描边=outline
70 | 长图=tall image
71 | 宽图=wide image
72 | 简朴的画作=oekaki
73 | 官方画作=official art
74 | 电话卡=phonecard
75 | 照片=photo
76 | 纸艺=papercraft
77 | 纸质角色=paper child
78 | 纸艺模型=paper cutout
79 | 像素风=pixel art
80 | 明信片=postcard
81 | 海报=poster
82 | 修正版=revision
83 | 扫描件=scan
84 | 动画截图=anime screencap
85 | 垫板=shitajiki
86 | 来自 tegaki 博客=tegaki
87 | 三联画 (艺术)=triptych (art)
88 | 矢量画=vector trace
89 | 可平铺拼贴=tileable
90 | 宽屏幕=widescreen
91 | 官方壁纸图=official wallpaper
92 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/城市.txt:
--------------------------------------------------------------------------------
1 | 摩天大楼=skyscrapers
2 | 霓虹灯=neon lights
3 | 城市风景=cityscape
4 | 栏杆=fences
5 | 建筑=building
6 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/天空_气象.txt:
--------------------------------------------------------------------------------
1 | 云=cloud
2 | 满月=full moon
3 | 月亮=moon
4 | 月光=moonlight
5 | 夜晚=night
6 | 夜空=night sky
7 | 蓝月=blue moon
8 | 天空=sky
9 | 星空=starry sky
10 | 太阳=sun
11 | 天际线=skyline
12 | 流星=shooting star
13 | 旭日纹背景=sunburst background
14 | 落日=sunset
15 | 漂亮的天空=beautiful detailed sky
16 | 白天=day
17 | 黄昏=dusk
18 | 春=in spring
19 | 夏=in summer
20 | 秋=in autumn
21 | 冬=in winter
22 | 星星=stars
23 | 多云=cloudy
24 | 下雨=rain
25 | 雨中=in the rain
26 | 雨天=rainy days
27 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/头发.txt:
--------------------------------------------------------------------------------
1 | 条染=streaked hair
2 | 多彩头发=multicolored hair
3 | 内侧染色=colored inner hair
4 | 金发=blonde hair
5 | 银发=silver hair
6 | 灰发=grey hair
7 | 白发=white hair
8 | 茶发=brown hair
9 | 浅褐发=light brown hair
10 | 黑发=black hair
11 | 紫发=purple hair
12 | 红发=red hair
13 | 蓝发/水色发=blue hair
14 | 深蓝发=dark blue hair
15 | 浅蓝发=light blue hair
16 | 绿发=green hair
17 | 粉发=pink hair
18 | 渐变发色=gradient hair
19 | 彩虹发=rainbow hair
20 | 呆毛=ahoge
21 | 非对称发型=asymmetrical hair
22 | 刘海=bangs
23 | 齐刘海=blunt bangs
24 | 辫子=braid
25 | 编织马尾辫=braided ponytail
26 | 卷发=curly hair
27 | 窗帘/瀑布发型=curtained hair
28 | 双团子头=double bun
29 | 钻头卷/公主卷=drill hair
30 | 双钻头卷=twin drills
31 | 多钻头卷=quad drills
32 | 单侧钻头卷=side drill
33 | 法式辫=french braid
34 | 耳后发=hair behind ear
35 | 眼间刘海=hair between eyes
36 | 交错刘海=crossed bangs
37 | 团子头=hair bun
38 | 进气口发型=hair intakes
39 | 披肩发=hair over shoulder
40 | 姬发式=hime cut
41 | 长发=long hair
42 | 凌乱发型=messy hair
43 | 分开的刘海=parted bangs
44 | 马尾=ponytail
45 | 短发=short hair
46 | 短马尾=short ponytail
47 | 朝一个方向的刘海=side swept bangs
48 | 侧马尾=side ponytail
49 | 双辫子=twin braids
50 | 双马尾=twintails
51 | 很长的头发=very long hair
52 | 前马尾=front ponytail
53 | 短双马尾=short twintails
54 | 折叠马尾=folded ponytail
55 | 四马尾=quad tails
56 | 单辫=single braid
57 | 低双辫=low twin braids
58 | 侧辫=side braid
59 | 冠型织辫=crown braid
60 | 脏辫=dreadlocks
61 | 锥形发髻=cone hair bun
62 | 辫子髻=braided bun
63 | 圆环发髻=doughnut hair bun
64 | 心形发髻=heart hair bun
65 | 自然卷=wavy hair
66 | 不对称刘海=asymmetrical bangs
67 | 扫浏海=swept bangs
68 | 耳前发=sidelocks
69 | 单耳前发=single sidelock
70 | 头发后梳=hair pulled back
71 | 侧发后梳=half updo
72 | 一侧绑发=hair one side up
73 | 双侧绑发=hair two side up
74 | 散发=hair spread out
75 | 漂浮的头发=floating hair
76 | 直发=straight hair
77 | 头发很多的=big hair
78 | 水晶状的头发=crystal hair
79 | 富有表现力的头发=expressive hair
80 | 头发遮着双眼=hair over eyes
81 | 强调一缕一缕感的发型/发丝=hair strand
82 | 头发遮住了一只眼睛=hair over one eye
83 | 有光泽的头发=shiny hair
84 | 湿头发=wet hair
85 | 垂下的长鬈发=hair slicked back
86 | 披在两侧的两条辫子=high ponytail
87 | 侧马尾=long braid
88 | 直发=low-tied long hair
89 | 低扎马尾=low ponytail
90 | 低扎双尾=low twintails
91 | 中等长发=medium hair
92 | 垂下的长鬈发=ringlets
93 | 披在两侧的两条辫子=side braids
94 | 披在两侧的发髻=side bun
95 | 尾部散开的单马尾发型=split ponytail
96 | 小型双股辫=two side up
97 | 超长的头发=absurdly long hair
98 | 云絮状发型=cloud hair
99 | 外卷发型=flipped hair
100 | 触手头发=tentacle hair
101 | 很短的头发=very short hair
102 | 掀起的刘海=bangs pinned back
103 | 辫子刘海=braided bangs
104 | 斜刘海=diagonal bangs
105 | 单侧进气口发型=single hair intake
106 | 耳状头发=hair ears
107 | 秃头=bald
108 | 秃头女孩=bald girl
109 | 锅盖头=bowl cut
110 | 寸头=buzz cut
111 | 丁髷=chonmage
112 | 平头/板寸头=crew cut
113 | 平顶=flattop
114 | 河童头=okappa
115 | 精灵头=pixie cut
116 | 帽盔式发型=undercut
117 | 波波头=bob cut
118 | 玉米垄发型=cornrows
119 | 鲻鱼头=mullet
120 | 弓形头发=bow-shaped hair
121 | 前辫=front braid
122 | 多股(麻花)辫=multiple braids
123 | 三股辫=tri braids
124 | 四股辫=quad braids
125 | 三发髻=triple bun
126 | 发圈=hair rings
127 | 扎头发=tied hair
128 | 单发圈=single hair ring
129 | 只扎了一边的头发=one side up
130 | 低辫长发=low-braided long hair
131 | 角发=mizura
132 | 多扎头发=multi-tied hair
133 | 日本发=nihongami
134 | 丸子头=topknot
135 | 两股辫子大小不一=uneven twintails
136 | 有三股辫子=tri tails
137 | 有五股辫子=quin tails
138 | 鸟窝头/爆炸头=afro
139 | 超大鸟窝头=huge afro
140 | 蜂窝头=beehive hairdo
141 | 蓬帕杜发型=pompadour
142 | 蓬松感油头=quiff
143 | 昇天ペガサスMIX盛り=shouten pegasus mix mori
144 | 在摆动的头发=hair flaps
145 | 带着尖角的发型=pointy hair
146 | 刺刺的头发=spiked hair
147 | 美人尖=widow's peak
148 | 心形呆毛=heart ahoge
149 | 大呆毛=huge ahoge
150 | 多根呆毛=antenna hair
151 | 遮盖头发稀少部分=comb over
152 | 莫霍克发型=mohawk
153 | 孤颈毛=lone nape hair
154 | 头发比基尼=hair bikini
155 | 嘴里有头发=hair in mouth
156 | 头发围巾=hair scarf
157 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/头部饰品.txt:
--------------------------------------------------------------------------------
1 | 头顶光环=halo
2 | 东金帽子=tokin hat
3 | 迷你礼帽=mini top hat
4 | 贝雷帽=beret
5 | 兜帽=hood
6 | 护士帽=nurse cap
7 | 三重冕=tiara
8 | 皇冠=crown
9 | 发卡=hairpin
10 | 头箍=hairband
11 | 发夹=hairclip
12 | 发带=hair ribbon
13 | 发花=hair flower
14 | 头饰=hair ornament
15 | 蝴蝶结发饰=hair bow
16 | 女仆头饰=maid headdress
17 | 丝带=ribbon
18 | 太阳镜=sunglasses
19 | 眼罩=blindfold
20 | 单眼罩=eyepatch
21 | 面具/眼罩/口罩=mask
22 | 首饰=jewelry
23 | 铃铛=bell
24 | 面纹=facepaint
25 | 兽角=horns
26 | 鹿角=antlers
27 | 三叶草发饰=clover hair ornament
28 | 月牙发饰=crescent hair ornament
29 | 恶魔的角=demon horns
30 | 蓬莱玉枝=jeweled branch of hourai
31 | 鱼形发饰=fish hair ornament
32 | 额前有宝石=forehead jewel
33 | 额前有图案=forehead mark
34 | 护额=forehead protector
35 | 簪子=kanzashi
36 | 头绳=hair bobbles
37 | 头发上成对的像无线蓝牙的发饰=hairpods
38 | 头发上系着铃铛=hair bell
39 | 心形眼镜=heart-shaped eyewear
40 | 护目镜=goggles
41 | 无框眼镜=rimless eyewear
42 | 下半无框眼镜=over-rim eyewear
43 | 卡米纳墨镜=kamina shades
44 | 头上别着护目镜=goggles on head
45 | 帽子上别着护目镜=goggles on headwear
46 | 戴着头戴显示设备=head mounted display
47 | 贴有绷带的脸=bandage on
48 | 缠着绷带的单眼=bandage over one eye
49 | 眼睛上的疤痕=scar across eye
50 | 脸颊上的疤痕=scar on cheek
51 | 蒙住的眼=covered eyes
52 | 医用口罩=surgical mask
53 | 口罩=mouth mask
54 | 面纱=mouth veil
55 | 厚如玻璃瓶底的圆眼镜=coke-bottle glasses
56 | 天狗面具=tengu mask
57 | 狐狸面具=fox mask
58 | 掀到头上的面具=mask on head
59 | 拉着口罩=mask pull
60 | 摘下的面具=mask removed
61 | 防毒面具=gas mask
62 | 锚形项圈=anchor choker
63 | 珠子项链=bead necklace
64 | 耳机=headphones
65 | 从后脑戴上的耳机=behind-the-head headphones
66 | 脖子上挂着口哨=whistle around neck
67 | 兽耳头罩=animal hood
68 | 戴眼镜的=bespectacled
69 | 软呢帽=fedora
70 | 女巫帽=witch hat
71 | 法师帽=wizard hat
72 | 带翅膀的头盔=winged helmet
73 | 放下的兜帽=hood down
74 | 戴起来的兜帽=hood up
75 | 水手帽=sailor hat
76 | 圣诞帽=santa hat
77 | 类似警帽的帽子=peaked cap
78 | 护肘=elbow pads
79 | 龙角=dragon horns
80 | 眼镜别在头上=eyewear on head
81 | 眼角有痣=mole under eye
82 | 嘴角有痣/美人痣=mole under mouth
83 | x发饰=x hair ornament
84 | 黑色发带=black hairband
85 | 发箍=hair scrunchie
86 | 白色发带=white hairband
87 | 发带=hair tie
88 | 青蛙发饰=frog hair ornament
89 | 食物发饰=food-themed hair ornament
90 | 星星发饰=star hair ornament
91 | 心形发饰=heart hair ornament
92 | 红色发带=red hairband
93 | 蝴蝶发饰=butterfly hair ornament
94 | 蛇发饰=snake hair ornament
95 | 洛丽塔发带=lolita hairband
96 | 羽毛头饰=feather hair ornament
97 | 蓝色发带=blue hairband
98 | 锚发饰=anchor hair ornament
99 | 叶发饰=leaf hair ornament
100 | 兔子头饰=bunny hair ornament
101 | 骷髅头饰=skull hair ornament
102 | 黄色发带=yellow hairband
103 | 粉色发带=pink hairband
104 | 蝴蝶结发带=bow hairband
105 | 猫头饰=cat hair ornament
106 | 音符发饰=musical note hair ornament
107 | 胡萝卜发饰=carrot hair ornament
108 | 紫色发带=purple hairband
109 | 发珠=hair beads
110 | 多个蝴蝶结=multiple hair bows
111 | 蝙蝠发饰=bat hair ornament
112 | 骨发饰=bone hair ornament
113 | 橙色发带=orange hairband
114 | 雪花发饰=snowflake hair ornament
115 | 头上有花=flower on head
116 | 头上戴着花冠=head wreath
117 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/室内.txt:
--------------------------------------------------------------------------------
1 | 浴室场景=bathroom
2 | 浴缸=bathtub
3 | 厕所隔间=toilet stall
4 | 淋浴=shower
5 | 卧室=bedroom
6 | 旅馆房间=hotel room
7 | 杂乱的房间=messy room
8 | 御宅房=otaku room
9 | 自助餐厅=cafeteria
10 | 更衣室=changing room
11 | 教室=classroom
12 | 社团活动室=clubroom
13 | 温室=conservatory
14 | 法庭=courtroom
15 | 家里的餐厅=dining room
16 | 更衣室=dressing room
17 | 地牢=dungeon
18 | 牢房=prison cell
19 | 试衣间=fitting room
20 | 健身房=gym
21 | 更衣室=locker room
22 | 体育器材库房=gym storeroom
23 | 医务室=infirmary
24 | 厨房=kitchen
25 | 实验室=laboratory
26 | 图书馆=library
27 | 客厅=living room
28 | 办公室=office
29 | 隔间=cubicle
30 | 舞台=stage
31 | 职员休息室=staff room
32 | 储存室=storage room
33 | 军械库=armory
34 | 壁橱=closet
35 | 创意工坊=workshop
36 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/室外.txt:
--------------------------------------------------------------------------------
1 | 飞机场=airfield
2 | 跑道=runway
3 | 游乐园=amusement park
4 | 旋转木马=carousel
5 | 摩天轮=ferris wheel
6 | 过山车=roller coaster
7 | 渡槽=aqueduct
8 | 桥=bridge
9 | 绳桥=rope bridge
10 | 木桥=wooden bridge
11 | 运河=canal
12 | 城市=city
13 | 浮动城堡=floating city
14 | 田园=rural
15 | 城镇=town
16 | 村庄=village
17 | 大坝=dam
18 | 码头=dock
19 | 旱坞=drydock
20 | 船厂=shipyard
21 | 墓地=graveyard
22 | 码头/栈桥=jetty
23 | 田野=field
24 | 稻田=rice paddy
25 | 麦田=wheat field
26 | 喷泉=fountain
27 | 港口=harbor
28 | 市场=market
29 | 市场摊位=market stall
30 | 码头=pier
31 | 电话亭=phone booth
32 | 泳池边=poolside
33 | 水上乐园=waterpark
34 | 铁轨=railroad tracks
35 | 铁路道口=railroad crossing
36 | 路=road
37 | 胡同/小巷=alley
38 | 人行横道=crosswalk
39 | 泥路=dirt road
40 | 高速公路=highway
41 | 小径=path
42 | 人行道=sidewalk
43 | 石制人行道=stone walkway
44 | 街道=street
45 | 足球场=soccer field
46 | 运行轨道=running track
47 | 战壕=trench
48 | 隧道=tunnel
49 | 出色地=well
50 | 动物园=zoo
51 | 花园=garden
52 | 灯笼=paper lantern
53 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/建筑物.txt:
--------------------------------------------------------------------------------
1 | 飞机场=airport
2 | 控制塔=control tower
3 | 机库=hangar
4 | 公寓=apartment
5 | 水族馆=aquarium
6 | 室内购物中心=arcade
7 | 酒吧=bar
8 | 居酒屋=izakaya
9 | 酒馆=tavern
10 | 谷仓=barn
11 | 掩体/地堡=bunker
12 | 公交车站=bus stop
13 | 保龄球馆=bowling alley
14 | 咖啡厅=cafe
15 | 赌场=casino
16 | 城堡=castle
17 | 浮动城堡=floating castle
18 | 教堂=church
19 | 施工现场=construction site
20 | 售卖现场=convention
21 | 车库=garage
22 | 加油站=gas station
23 | 凉亭=gazebo
24 | 温室=greenhouse
25 | 医院=hospital
26 | 房子=house
27 | 酒店=hotel
28 | 小屋=hut
29 | 重工业=industrial
30 | 工厂=factory
31 | 精炼厂=refinery
32 | 发电厂=powerplant
33 | 核电厂=nuclear powerplant
34 | 冷却塔=cooling tower
35 | 仓库=warehouse
36 | 灯塔=lighthouse
37 | 购物中心=mall
38 | 巨型结构=megastructure
39 | 轨道电梯=space elevator
40 | 军事基地=military base
41 | 清真寺=mosque
42 | 博物馆=museum
43 | 美术馆=art gallery
44 | 夜店=nightclub
45 | 天文台=observatory
46 | 温泉=onsen
47 | 宝塔=pagoda
48 | 天文馆=planetarium
49 | 监狱=prison
50 | 餐厅=restaurant
51 | 屋顶=rooftop
52 | 废墟=ruins
53 | 学校竞赛泳衣=school
54 | 滑冰场=skating rink
55 | 小屋=shack
56 | 神社=shrine
57 | 商店=shop
58 | 面包店=bakery
59 | 书店=bookstore
60 | 便利店=convenience store
61 | 花店=flower shop
62 | 药店=pharmacy
63 | 沙龙=salon
64 | 性用品店=sex shop
65 | 超市=supermarket
66 | 武器商店=weapon shop
67 | 摩天大楼=skyscraper
68 | 体育场=stadium
69 | 竞技场=arena
70 | 高跷屋=stilt house
71 | 寺庙=temple
72 | 剧院=theater
73 | 音乐剧院=amphitheater
74 | 电影院=movie theater
75 | 塔=tower
76 | 钟楼=bell tower
77 | 钟楼=clock tower
78 | 守卫塔=guard tower
79 | 宣礼塔=minaret
80 | 火车站=train station
81 | 树屋=treehouse
82 | 风车=windmill
83 | 水池=pool
84 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/成年限定.txt:
--------------------------------------------------------------------------------
1 | 大屁股=huge ass
2 | 用手张开屁股=spread ass
3 | 臀交=buttjob
4 | 酒倒在阴部=wakamezake
5 | 菊花=anus
6 | 爆菊=anal
7 | 尿尿=peeing
8 | 憋尿=have to pee
9 | 双重爆菊=double anal
10 | 手爆菊=anal fingering
11 | 肛吻=anilingus
12 | 发交=hairjob
13 | 口交=oral
14 | 吃精=gokkun
15 | 颜射=facial
16 | 手淫=handjob
17 | 宠物链=leash
18 | 哺乳(大范围)=lactation
19 | 吸乳(中)=breast sucking
20 | 自吸乳=self breast sucking
21 | 双向吸乳=mutual breast sucking
22 | 乳交=paizuri
23 | 多P乳交=multiple paizuri
24 | 阴户=pussy
25 | 阴毛=pubic hair
26 | 剃过阴毛的=shaved pussy
27 | 没逼的=no pussy
28 | 阴蒂=clitoris
29 | 肥逼=fat mons
30 | 爱液=pussy juice
31 | 潮吹=female ejaculation
32 | 性器摩擦=grinding
33 | 胯部摩擦=crotch rub
34 | 坐在脸上=facesitting
35 | 子宫口=cervix
36 | 舔阴=cunnilingus
37 | 腿交=thigh sex
38 | 足交=footjob
39 | 自慰=masturbation
40 | 隔着衣服自慰=clothed masturbation
41 | 阳具/屌=penis
42 | 睾丸/蛋蛋=testicles
43 | 射出=ejaculation
44 | 射精=cum
45 | 内射=cum inside
46 | 射在胸上=cum on breast
47 | 射在头发上=cum on hair
48 | 射在食物上=cum on food
49 | 公共场所=public
50 | 羞耻play=humiliation
51 | 被发现=caught
52 | 进门被发现=walk-in
53 | 身上有字=body writing
54 | 亚洲=asian
55 | 无脸男=faceless male
56 | 人工阴道=artificial vagina
57 | 按摩棒=hitachi magic wand
58 | 人造阴茎=dildo
59 | 跳蛋=egg vibrator
60 | 性爱=sex
61 | 穿着衣服做爱=clothed sex
62 | 快乐做爱=happy sex
63 | 水中做爱=underwater sex
64 | 插在过膝袜里=cock in thighhigh
65 | 狗爬式=doggystyle
66 | 跨坐式=leg lock
67 | 传教士体位=missionary
68 | 女上体位=girl on top
69 | 女上正骑=cowgirl position
70 | 女上反骑=reverse cowgirl
71 | 处女/破瓜=virgin
72 | 3P=threesome
73 | 群P=group sex
74 | 磨豆腐=tribadism
75 | 轮奸=gangbang
76 | 逆推=femdom
77 | 套套=condom
78 | 阴部贴着创可贴=bandaid on pussy
79 | 肛毛=anal hair
80 | 从衣物里露出一部分阴毛=pubic hair peek
81 | 蜜缝=cleft of venus
82 | 阴蒂包皮=clitoral hood
83 | 阴核环=clitoris piercing
84 | 会阴=perineum
85 | 尿道=urethra
86 | 裆部的缝=crotch seam
87 | 膨胀的阴核=erect clitoris
88 | 中分的阴毛=moderate pubic hair
89 | 精液溢出(未拔出)=overflow
90 | 杂草丛生=overgrown
91 | 极浓密的阴毛=excessive pubic hair
92 | 贫瘠的屁股=flat ass
93 | 敞开的/撑开的(阴部和屁眼)=gaping
94 | 阴唇=labia
95 | 可以看见一部分肛门=partially visible anus
96 | 可以看见一部分外阴=partially visible vulva
97 | 爱液流成的滩=pussy juice puddle
98 | 拉丝的爱液=pussy juice trail
99 | 微微渗出的爱液=pussy peek
100 | 戴避孕套=condom on penis
101 | 双手各握着一根阴茎=double handjob
102 | 指交=fingering
103 | 抓住男性器插入自己=guided penetration
104 | 抓着阴茎=penis grab
105 | 用双手手交=two-handed handjob
106 | 着衣乳交=paizuri under clothes
107 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/打码方式.txt:
--------------------------------------------------------------------------------
1 | 有码=censored
2 | 无码=uncensored
3 | 黑条打码=bar censor
4 | 简单巧妙的打码=convenient censoring
5 | 泡泡打码=bubble filter
6 | 头发遮住了乳头(三点)=hair censor
7 | 头发披在胸上=hair over breasts
8 | 头发盖在胯下=hair over crotch
9 | 头发盖在一边胸上=hair over one breast
10 | 蒸汽/雾气打码=steam censor
11 | 尾巴遮住三点/用尾巴打码=tail censor
12 | 用翅膀打码=wing censor
13 | 自然的打码=intimate covering
14 | 裸体封面=nude cover
15 | 衣服在前面挡着=clothes in front
16 | 马赛克=mosaic censoring
17 | 不自然的打码=non-intimate covering
18 | 恶搞的马赛克=novelty censor
19 | 不能显示这个=can't show this
20 | 用人脸打码=character censor
21 | 心形马赛克=heart censor
22 | 离开了可游玩区域=outside of play area
23 | 宝藏标记打码=treasure mark censor
24 | 关键部位在画面外=out-of-frame censoring
25 | 单指自拍挑战=one finger selfie challenge
26 | 假打码=fake censor
27 | 打码食品=censored food
28 | 打码暴力行为=censored violence
29 | 眼部打码=identity censor
30 | 敷衍的打码=pointless censoring
31 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/摆位.txt:
--------------------------------------------------------------------------------
1 | 背对=facing away
2 | 侧脸=profile
3 | 正脸=straight-on
4 | 全身=full body
5 | 上半身=upper body
6 | 下半身=lower body
7 | 上半身出框=cropped torso upper body
8 | 肩膀出框=cropped shoulders
9 | 手臂出框=cropped arms
10 | 腿部出框=cropped legs
11 | 躯干出框=cropped torso
12 | 自拍镜=selfiemirror
13 | 面对观众=facing viewer
14 | 盯着另一人=looking at another
15 | 远眺=looking afar
16 | 盯着看=staring
17 | 对视=eye contact
18 | 女性视角=female pov
19 | 瞄着乳房=looking at breasts
20 | 看着阴茎=looking at penis
21 | 看手机=looking at phone
22 | 看向阅图者=looking at viewer
23 | 移开视线=looking away
24 | 回眸=looking back
25 | 俯视=looking down
26 | 看向侧面=looking to the side
27 | 仰视=looking up
28 | 偷窥(强调视角)=peeping
29 | 看向裤裆的视角=pov crotch
30 | 手伸来方向的视角=pov hands
31 | 轻轻向侧面瞥=sideways glance
32 | 拍照/自拍=taking picture
33 | 从衬衫下方瞥=upshirt
34 | 从裙底瞥=upshorts
35 | 从人的下方往上瞥=upskirt
36 | 单人焦点=solo focus
37 | 背景焦点=back focus
38 | 臀部焦点=ass focus
39 | 足部焦点=foot focus
40 | 半身像=portrait
41 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/构图方式.txt:
--------------------------------------------------------------------------------
1 | 残像=afterimage
2 | 边框=border
3 | 画框=framed
4 | 一部分画到了背景框外面=outside border
5 | 褪色边框=fading border
6 | 背景或画框是圆角=rounded corners
7 | 相机取景框=viewfinder
8 | 图表=chart
9 | 胸围图=bust chart
10 | 人设图=character chart
11 | 设定图=reference sheet
12 | 图表=diagram
13 | 动作演示图=move chart
14 | 关系表=relationship graph
15 | 座次表=seating chart
16 | 属性栏/状态表=stats
17 | 拼贴画=collage
18 | 小图拼接=column lineup
19 | 遭到裁剪=cropped
20 | 假的滚动条=fake scrollbar
21 | 头部脱框=head out of frame
22 | 脱框=out of frame
23 | 脚部脱框=feet out of frame
24 | 画面噪点=glitch
25 | 等轴图=isometric
26 | 宽银幕格式=letterboxed
27 | 柱状画布背景=pillarboxed
28 | 一排人=lineup
29 | 马赛克艺术=mosaic art
30 | 马赛克拼图=photomosaic
31 | 大量留白=negative space
32 | 附图=omake
33 | 部分水下拍摄=partially underwater shot
34 | 社交媒体整合=social media composition
35 | 左右对称=symmetry
36 | 两极对称=polar opposites
37 | 对称旋转/《少女革命》女同转圈圈=rotational symmetry
38 | 立绘样式=tachi-e
39 | 裁剪标记=trim marks
40 | 人物立绘缩放(剪影)图层=zoom layer
41 | 类似海报或杂志的插图效果=projected inset
42 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/水果.txt:
--------------------------------------------------------------------------------
1 | 阿科比=akebia fruit
2 | 苹果=apple
3 | 苹果兔(苹果瓣一侧的果皮削去,像兔耳)=apple bunny
4 | 苹果核=apple core
5 | 长串苹果皮=apple peel
6 | 咬苹果=bitten apple
7 | 金苹果=golden apple
8 | 青苹果=green apple
9 | 红苹果=red apple
10 | 牛油果/鳄梨=avocado
11 | 香蕉=banana
12 | 充气香蕉船=banana boat
13 | 香蕉皮=banana peel
14 | 香蕉冰棒=banana popsicle
15 | 香蕉片=banana slice
16 | 巧克力香蕉=chocolate banana
17 | 绿色果冻香蕉(命运石之门)=gel banana
18 | 在巨型香蕉上=on banana
19 | 浆果=berry
20 | 黑莓=blackberry
21 | 蓝莓=blueberry
22 | 树莓=raspberry
23 | 草莓=strawberry
24 | 可可果=cacao fruit
25 | 樱桃=cherry
26 | 火龙果=dragon fruit
27 | 无花果=fig
28 | 果盘=fruit bowl
29 | 水果杯=fruit cup
30 | 猕猴桃=gooseberry
31 | 西柚=grapefruit
32 | 葡萄=grapes
33 | 小葡萄干=currant
34 | 脚踩葡萄汁=grape stomping
35 | 猕猴桃=kiwi
36 | 猕猴桃切片=kiwi slice
37 | 柠檬=lemon
38 | 柠檬片=lemon slice
39 | 青柠=lime
40 | 青柠片=lime slice
41 | 荔枝=lychee
42 | 芒果=mango
43 | 山竹=mangosteen
44 | 瓜=melon
45 | 哈密瓜=cantaloupe
46 | 蜜瓜=honeydew
47 | 甜瓜=muskmelon
48 | 西瓜=watermelon
49 | 橄榄=olive
50 | 橙子=orange
51 | 橘子=mandarin orange
52 | 巧克力橙片=orangette
53 | 一片橙子=orange slice
54 | 番木瓜=papaya
55 | 桃=peach
56 | 梨=pear
57 | 黄金梨=nashi pear
58 | 柿子=persimmon
59 | 菠萝=pineapple
60 | 李子=plum
61 | 石榴=pomegranate
62 | 红毛丹=rambutan
63 | 杨桃=starfruit
64 | 梅干=umeboshi
65 | 柚子(水果)=yuzu (fruit)
66 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/物品.txt:
--------------------------------------------------------------------------------
1 | 相机=camera
2 | 筷子=chopsticks
3 | 麦克风=microphone
4 | 武器=weapons
5 | 匕首/短剑=dagger
6 | 刀=sword
7 | 镰刀=scythe
8 | 鞭=whip
9 | 马鞭=riding crop
10 | 枪=gun
11 | 手枪=handgun
12 | 魔杖=wand
13 | 箭=arrow
14 | 伞=umbrella
15 | 御币=gohei
16 | 札符=ofuda
17 | 阴阳=yin yang
18 | 灯笼=lantern/lamp
19 | 茶杯=teacup
20 | 香烟=cigarette
21 | 吉他=guitar
22 | 钢琴=piano
23 | 椅子=chair
24 | 起皱=crease
25 | 背包=backpack
26 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/画风.txt:
--------------------------------------------------------------------------------
1 | 抽象=abstract
2 | 亚克力画风=acrylic paint (medium)
3 | 喷枪=airbrush (medium)
4 | 阿尔丰斯·慕夏=alphonse mucha
5 | 钩织玩偶/毛线娃娃=amigurumi (medium)
6 | 装饰艺术=art deco
7 | 新艺术=art nouveau
8 | 圆珠笔=ballpoint pen (medium)
9 | 书本封面=book cover (medium)
10 | 刷子=brush (medium)
11 | 毛笔=brushpen (medium)
12 | 书法毛笔=calligraphy brush (medium)
13 | 书法笔=calligraphy pen (medium)
14 | 画布=canvas (medium)
15 | 粉笔=chalk (medium)
16 | 炭笔=charcoal (medium)
17 | 黏土=clay (medium)
18 | 彩色墨水=color ink (medium)
19 | 原画=color trace
20 | 彩色铅笔画=colored pencil (medium)
21 | 角色扮演=cosplay
22 | Coupy 铅笔=coupy pencil (medium)
23 | 蜡笔=crayon (medium)
24 | 光标=cursor (medium)
25 | 赛博朋克=cyberpunk
26 | 抱枕=dakimakura (medium)
27 | 碟片=disc (medium)
28 | 角色的多表情展示=expression chart
29 | 仿手办风格=faux figurine
30 | 仿手绘=faux traditional media
31 | 对某美术品的模仿/模仿名画=fine art parody
32 | Flame Painter (工具)=flame painter
33 | 平涂风格=flat color
34 | 虚实穿插/现实感/次元壁=fourth wall
35 | 墨笔/毛钢笔=fudepen (medium)
36 | G 笔=g-pen (medium)
37 | Google Sketchup=google sketchup (medium)
38 | 水粉=gouache (medium)
39 | 涂鸦=graffiti (medium)
40 | 铅笔画/炭笔画=graphite (medium)
41 | Illustrator=illustrator (medium)
42 | 印象派=impressionism
43 | 墨水=ink (medium)
44 | 树叶=leaf (medium)
45 | 乐高=lego (medium)
46 | 白描=ligne claire
47 | 马克笔风格=marker (medium)
48 | 毫厘笔=millipen (medium)
49 | 极简主义=minimalism
50 | 手绘板=mousepad (medium)
51 | 蘸水笔画风=nib pen (medium)
52 | 日本画=nihonga
53 | 油画风格=oil painting (medium)
54 | 传统绘图工具=painting (medium)
55 | 像粉笔蜡笔作画的=pastel (medium)
56 | 粉彩=pastel color
57 | 钢笔=pen (medium)
58 | 很像照片的画=photorealistic
59 | 瓷器=porcelain (medium)
60 | 印刷品=print (medium)
61 | 现实的/真实的=realistic
62 | 赛璐璐/复古艺术=retro artstyle
63 | 草图=sketch
64 | 画风模仿=style parody
65 | 墨绘=sumi-e
66 | 怪诞的/超现实主义=surreal
67 | 交换笔记=swapnote (medium)
68 | 蛋彩画=tempera (medium)
69 | 剧场=theatre (medium)
70 | 手绘=traditional media
71 | 浮世绘=ukiyo-e
72 | 未完成的=unfinished
73 | (变装、变化、变色、成长)对比图=variations
74 | 和纸胶带=washi tape (medium)
75 | 水彩=watercolor (medium)
76 | 彩铅=watercolor pencil (medium)
77 | 白板=whiteboard (medium)
78 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/类型.txt:
--------------------------------------------------------------------------------
1 | 1 个男人=1boy
2 | 1 个女人=1girl
3 | 2 个男人=2boys
4 | 2 个女人=2girls
5 | 天使=angel
6 | Q 版=chibi
7 | 伪娘=crossdressing
8 | 魔鬼(撒旦)=devil
9 | 人偶=doll
10 | 妖精=elf
11 | 小精灵=fairy
12 | 女人=female
13 | 兽人=furry
14 | 女巨人=giantess
15 | 后宫=harem
16 | 萝莉=loli
17 | 魔法少女=magical girl
18 | 女仆=maid
19 | 男人=male
20 | 美人鱼=mermaid
21 | 巫女=miko
22 | 熟女=milf
23 | 迷你女孩=minigirl
24 | 怪物=monster
25 | 忍者/日本武士=ninja
26 | 修女=nun
27 | 半兽人=orc
28 | 正太=shota
29 | 兄弟姐妹=siblings
30 | 姐妹=sisters
31 | 单人=solo
32 | 吸血鬼=vampire
33 | 女服务员=waitress
34 | 女巫/魔女=witch
35 | 搞基=yaoi
36 | 油库里=yukkuri shiteitte ne
37 | 百合=yuri
38 | 无人=no humans
39 | 青少年=teenage
40 | 青春期的=adolescent
41 | 天使与恶魔=angel and devil
42 | 兔娘/兔女郎=bunny girl
43 | 猫娘=cat girl
44 | 人马=centaur
45 | 马娘=horse girl
46 | 牛娘=cow girl
47 | 暗精灵=dark elf
48 | 魅魔=demon girl
49 | 犬娘=dog girl
50 | 龙娘=dragon girl
51 | 狐娘=fox girl
52 | 幽灵=ghost
53 | 哥布林=goblin
54 | 女神=goddess
55 | 小恶魔=imp
56 | KDA组合(英雄联盟)=k/da (league of legends)
57 | cos成雾雨魔理沙=kirisame marisa (cosplay)
58 | 妖狐=kitsune
59 | 九尾|九尾狐=kyuubi
60 | 机娘=mecha musume
61 | 浣熊娘=raccoon girl
62 | 美少女战士=sailor senshi
63 | 蜘蛛娘=spider girl
64 | 女武神=valkyrie
65 | 弱音(歌手)=voyakiloid
66 | 狼女孩=wolf girl
67 | 芭蕾舞女演员=ballerina
68 | 管家=butler
69 | 大叔=bara
70 | 啦啦队=cheerleader
71 | 厨师=chef
72 | 儿童=child
73 | 舞者=dancer
74 | 医生=doctor
75 | 女王(SM中)=dominatrix
76 | 痴女=female pervert
77 | 哥特萝莉=gothic lolita
78 | 辣妹=gyaru
79 | 小辣妹=kogal
80 | 体操队队长=gym leader
81 | 偶像=idol
82 | 弓道=kyuudou
83 | 护士=nurse
84 | 办公室女职员=office lady
85 | 巨乳萝莉=oppai loli
86 | 警察=police
87 | 女警=policewoman
88 | 牧师=priest
89 | 公主=princess
90 | 公用/肉便器/公交车=public use
91 | 赛车女郎=race queen
92 | 和风萝莉=wa lolita
93 | 和风女仆=wa maid
94 | 眼镜/眼镜娘=glasses
95 | 姐弟/兄妹=brother and sister
96 | 表亲=cousins
97 | 夫妻=husband and wife
98 | 跨人种的=interracial
99 | 异种奸/异种爱=interspecies
100 | 二男加一女=mmf threesome
101 | 母女=mother and daughter
102 | 母子=mother and son
103 | 双胞胎=twins
104 | 长脖子=long neck
105 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/糖果零食.txt:
--------------------------------------------------------------------------------
1 | 豆沙水果涼粉=anmitsu (dessert)
2 | 蜜豆=mitsumame
3 | 面糊=batter
4 | 红豆包=anpan
5 | 肉桂卷=cinnamon roll
6 | 口香糖球=gumball
7 | 十字包=hot cross bun
8 | noppo 面包=noppo bread
9 | 糕点盒=pastry box
10 | 蛋糕=cake
11 | 年轮蛋糕=baumkuchen
12 | 生日蛋糕=birthday cake
13 | 黑森林蛋糕=black forest cake
14 | 夏洛特蛋糕=charlotte cake
15 | 乳酪蛋糕=cheesecake
16 | 生乳酪蛋糕=rare cheesecake
17 | 巧克力布朗尼=brownie
18 | 巧克力蛋糕=chocolate cake
19 | 巧克力红桑子莓=chocolate framboise
20 | 圣诞蛋糕=christmas cake
21 | 纸杯蛋糕=cupcake
22 | 熔岩巧克力蛋糕=fondant au chocolat
23 | 千层蛋糕=layer cake
24 | 玛德琳蛋糕=madeleine
25 | 千层酥=mille-feuille
26 | 白山蛋糕=mont blanc (food)
27 | 歌剧院蛋糕=opera cake
28 | 磅蛋糕=pound cake
29 | 红丝绒蛋糕=red velvet cake
30 | 分层蛋糕=cake slice
31 | 史多伦=stollen
32 | 草莓奶油海绵蛋糕=strawberry shortcake
33 | 瑞士卷=swiss roll
34 | 草莓瑞士卷=strawberry swiss roll
35 | 提拉米苏=tiramisu
36 | 婚礼蛋糕=wedding cake
37 | 圣诞节原木=yule log
38 | 糖果=candy
39 | 糖果手杖=candy cane
40 | 千岁饴=chitose ame
41 | 香烟糖果=cigarette candy
42 | 鸡蛋奶油=creme egg
43 | 糖果豆=jelly bean
44 | 奇巧=kitkat
45 | 金平糖=konpeitou
46 | 棒棒糖=lollipop
47 | 珍宝珠=chupa chups
48 | 棒棒糖形状=shaped lollipop
49 | 漩涡棒棒糖=swirl lollipop
50 | M&M's=m&m's
51 | 大理石巧克力=marble chocolate
52 | nerunerunerune(糖果)=nerunerunerune
53 | 皮纳塔=pinata
54 | 甜甜圈=tootsweets
55 | 糖苹果=candy apple
56 | 焦糖=caramel
57 | 口香糖=chewing gum
58 | 巧克力=chocolate
59 | 阿波罗巧克力=apollo chocolate
60 | 巧克力棒=chocolate bar
61 | 巧克力喷泉=chocolate fountain
62 | 心形巧克力=heart-shaped chocolate
63 | 女爵巧克力=chocolate marquise
64 | 明治巧克力蘑菇饼干=kinoko no yama
65 | 明治巧克力竹笋饼干=takenoko no sato
66 | 白巧克力=white chocolate
67 | 油条=churro
68 | 曲奇饼=cookie
69 | 棋盘花纹的饼干=checkerboard cookie
70 | 巧克力片饼干=chocolate chip cookie
71 | COUNTRY MA'AM=country ma'am
72 | 姜饼饼干=gingerbread cookie
73 | 姜饼屋=gingerbread house
74 | 姜饼人(一种曲奇饼)=gingerbread man
75 | 百奇饼干=pocky
76 | 夹心饼干=sandwich cookie
77 | 奥利奥=oreo
78 | 指纹特征数据=thumbprint cookie
79 | 托普=toppo
80 | 冰淇淋脆片=wafer
81 | 晶圆卷=wafer stick
82 | 棉花糖=cotton candy
83 | 巴伐利亚奶油=bavarois
84 | 糖霜=icing
85 | 绉=crepe
86 | 铜锣烧=dorayaki
87 | 面团=dough
88 | 甜甜圈=doughnut
89 | 巧克力甜甜圈=chocolate doughnut
90 | 螺旋脊状甜甜圈=french cruller
91 | 樱花甜甜圈=sakura french
92 | 酥皮甜甜圈=old-fashioned doughnut
93 | 凝胶=gelatin
94 | 冰激凌=ice cream
95 | 香蕉冰激凌=banana split
96 | Coolish=coolish
97 | 蛋卷冰淇淋=ice cream cone
98 | 华夫饼蛋筒=waffle cone
99 | 飘浮冰淇淋=ice cream float
100 | 冰淇淋三明治=ice cream sandwich
101 | 芭菲=parfait
102 | 草莓冻糕=strawberry parfait
103 | 单球冰淇淋=single scoop
104 | 双勺=double scoop
105 | 三球冰淇淋=triple scoop
106 | 四个球的冰淇淋蛋筒=quadruple scoop
107 | 过多的冰激凌甜筒=too many scoops
108 | 软冰淇淋=soft serve
109 | 小块彩色糖果=sprinkles
110 | 圣代=sundae
111 | 今川烧=imagawayaki
112 | 棉花糖=marshmallow
113 | 月饼=mooncake
114 | 松饼=muffin
115 | 糕点=pastry
116 | 巧克力夹心=chocolate cornet
117 | 泡芙=cream puff
118 | 闪电泡芙=eclair (food)
119 | 马卡龙=macaron
120 | 馅饼=pie
121 | 苹果派=apple pie
122 | 冰棒/棒冰=popsicle
123 | 冰棒棍=popsicle stick
124 | 小喇叭=tupet
125 | 西瓜冰棍=watermelon bar
126 | 布丁=pudding
127 | 卡仕达酱=custard
128 | 法式布丁=pudding a la mode
129 | 刨冰=shaved ice
130 | 冰沙=slushie
131 | 糖葫芦=tanghulu
132 | 果馅饼=tart
133 | 蓝莓馅饼=blueberry tart
134 | 水果馅饼=fruit tart
135 | 草莓挞=strawberry tart
136 | 日式点心=wagashi
137 | 红叶馒头=momiji manjuu
138 | 麻糬=mochi
139 | 团子=dango
140 | 草莓大福=ichigo daifuku
141 | 柏饼=kashiwa mochi (food)
142 | 生菓子=namagashi
143 | 樱花麻糬=sakura mochi
144 | 松饼=songpyeon
145 | 蘇阿馬=suama (food)
146 | 鲷鱼烧=taiyaki
147 | 外郎饼=uirou
148 | 蕨饼=warabimochi
149 | 羊羹=youkan
150 | 竹轮(食物)=chikuwa
151 | 薯片=chips
152 | 号角=bugles
153 | 多力多滋=doritos
154 | 土豆片=potato chips
155 | 品客=pringles
156 | 爆米花=popcorn
157 | 椒盐卷饼=pretzel
158 | 美味棒=umaibou
159 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/耳朵.txt:
--------------------------------------------------------------------------------
1 | 动物耳朵=animal ears
2 | 狐狸耳朵=fox ears
3 | 猫耳=cat ears
4 | 狗耳=dog ears
5 | 老鼠耳朵=mouse ears
6 | 尖耳=pointy ears
7 | 心形耳环=heart earrings
8 | 环状耳环=hoop earrings
9 | 水晶耳环=crystal earrings
10 | 耳环=earrings
11 | 月牙耳环=crescent earrings
12 | 猫耳式耳机=cat ear headphones
13 | 蝙蝠耳朵=bat ears
14 | 浣熊耳朵=raccoon ears
15 | 尖尖的长耳朵=long pointy ears
16 | 遮住耳朵=covering ears
17 | 熊耳朵=bear ears
18 | 兔子耳朵=rabbit ears
19 | 牛耳朵=cow ears
20 | 鹿耳朵=deer ears
21 | 鼬耳朵=ferret ears
22 | 山羊耳朵=goat ears
23 | 马耳=horse ears
24 | 兽耳萝莉模式=kemonomimi mode
25 | 狮子耳朵=lion ears
26 | 猴耳=monkey ears
27 | 熊猫耳朵=panda ears
28 | 皮卡丘耳朵=pikachu ears
29 | 猪耳朵=pig ears
30 | 羊耳=sheep ears
31 | 松鼠耳朵=squirrel ears
32 | 虎耳=tiger ears
33 | 狼耳朵=wolf ears
34 | 仿制的动物耳朵=fake animal ears
35 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/肉类与海鲜.txt:
--------------------------------------------------------------------------------
1 | 培根=bacon
2 | 圆柱形带骨肉=boned meat
3 | 鸡=chicken
4 | 鸡腿=chicken leg
5 | 鸡块=chicken nuggets
6 | 炸鸡=fried chicken
7 | 烤鸡肉串=yakitori
8 | 螃蟹=crab
9 | 蛋=egg
10 | 破碎的蛋=broken egg
11 | 产卵=egg laying
12 | 蛋黄=egg yolk
13 | 蛋壳=eggshell
14 | 蛋壳帽子=eggshell hat
15 | 煎鸡蛋=fried egg
16 | 皮蛋=century egg (food)
17 | 水煮蛋=hardboiled egg
18 | 炒鸡蛋=scrambled egg
19 | 鱼子=roe
20 | 鱼子酱=caviar
21 | 红鱼子酱=ikura
22 | 鱼=fish
23 | 鱼骨=fish bone
24 | 生鱼片=sashimi
25 | 炙烤鲣鱼片=katsuo no tataki
26 | 牛丼=gyuudon
27 | 汉堡牛排=hamburger steak
28 | 鱼糕=kamaboko
29 | 烤肉串=kebab
30 | 龙虾=lobster
31 | 肉丸=meatball
32 | 猪肉=pork
33 | 火腿=ham
34 | 香肠=sausage
35 | 虾类=shrimp
36 | 牛排=steak
37 | 章鱼状的香肠=tako-san wiener
38 | 蟹状的香肠=kani-san wiener
39 | 火鸡=turkey
40 | 火鸡腿=turkey leg
41 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/背景.txt:
--------------------------------------------------------------------------------
1 | 风景=landscape
2 | 科幻=science fiction
3 | 渐变的背景=gradient background
4 | 简单背景/无背景=simple background
5 | 透明背景=transparent background
6 | 五角星=pentagram
7 | 魔法阵=magic circle
8 | 情人节=valentine
9 | 万圣节=halloween
10 | 圣诞节=christmas
11 | 户外=outdoors
12 | 室内=indoors
13 | 场景飘羽毛=feather
14 | 漂亮的水=beautiful detailed water
15 | 白色背景=white background
16 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/胸部.txt:
--------------------------------------------------------------------------------
1 | 胸肌=chest
2 | 胸部=breasts
3 | 贫乳 (A)=flat chest
4 | 小胸部 (B)=small breasts
5 | 中等胸部 (C)=medium breasts
6 | 大胸 (D)=large breasts
7 | 巨乳 (E)=huge breasts
8 | 魔乳 (F)=gigantic breasts
9 | 胸罩=bra
10 | 胸衣=bustier
11 | 吊带胸衣=chemise
12 | 缠胸布=sarashi
13 | 乳沟=cleavage
14 | 无胸罩=no bra
15 | 胸针=brooch
16 | 胸前有宝石=chest jewel
17 | 胸上的巧克力=chocolate on breasts
18 | 乳房之间的带子=strap between breasts
19 | 耳机压胸=headphones on breasts
20 | 南半球=underboob
21 | 乳头贴着创可贴=bandaids on nipples
22 | 皮带束胸=beltbra
23 | 蕾丝边胸罩=lace-trimmed bra
24 | (前面)解开的胸罩=open bra
25 | 运动内衣=sports bra
26 | 带蝴蝶结的胸罩=bow bra
27 | 星形乳贴=star pasties
28 | 运动内衣=training bra
29 | 掀上去的胸罩=bra lift
30 | 微微露出胸罩=bra peek
31 | 拉下的胸罩=bra pull
32 | 摘下的胸罩=bra removed
33 | 内衣肩带=bra strap
34 | 胸垫=breast padding
35 | 胸甲=breastplate
36 | 绷带裹胸=budget sarashi
37 | 高露出度胸罩=cupless bra
38 | 心形乳贴=heart pasties
39 | 蕾丝胸罩=lace bra
40 | 乳贴=pasties
41 | 泛指覆盖面少的吊带胸罩=strap gap
42 | 无肩带胸罩=strapless bra
43 | 直筒式抹胸=tube top
44 | 乳头=nipples
45 | 大乳头=puffy nipples
46 | 小乳头=small nipples
47 | 乳晕微露=areola slip
48 | 托胸=arm under breasts
49 | 双手托胸=arms under breasts
50 | 胸部互碰/胸顶着胸=asymmetrical docking
51 | 胸部贴着胸部=symmetrical docking
52 | 乳摇=bouncing breasts
53 | 乳房绑缚=breast bondage
54 | 揉胸=breast grab
55 | 抱着胸部=breast hold
56 | 托着胸部=breast lift
57 | 戳胸=breast poke
58 | 挤压胸部=breast press
59 | 搁着胸部=breast rest
60 | 头埋在胸里/洗面奶=head between breasts
61 | 从两侧挤胸=breast squeeze
62 | 手放在乳房上方=breast suppress
63 | 胸压玻璃=breasts on glass
64 | 压在头上的乳房=breasts on head
65 | 不用手喝珍珠奶茶挑战=bubble tea challenge
66 | 遮着乳房=covering breasts
67 | 挡住乳头=covering nipples
68 | 抓着贫乳=flat chest grab
69 | 从背后揉胸/从背后抓住胸部=grabbing from behind
70 | 手伸进衬衫下面=hand under shirt
71 | 玩弄乳头=nipple tweak
72 | 拉乳头=nipple pull
73 | 把头塞入胸=breast smother
74 | 胸围歧视=breast envy
75 | 平胸歧视=flat envy
76 | 丰胸=breast expansion
77 | 缩胸=breast reduction
78 | 罩杯测量=bust measuring
79 | 飞出的纽扣=flying button
80 | 自然的胸部=convenient breasts
81 | 不自然的胸部=inconvenient breasts
82 | 过大的罩杯=oversized breast cup
83 | 测量乳房重量=weighing breasts
84 | 乳晕=areolae
85 | 深色的乳晕=dark areolae
86 | 蒙哥马利腺体=glands of montgomery
87 | 大乳晕=large areolae
88 | 有光泽的乳晕=light areolae
89 | 从背后可看到的胸部=backboob
90 | 包不住的巨乳=bursting breasts
91 | 深色的乳头=dark nipples
92 | 激凸的乳头/隐约可见的乳头=covered nipples
93 | 内陷乳头=inverted nipples
94 | 长乳头=long nipples
95 | 乳头走光=nipple slip
96 | 没画出乳头=no nipples
97 | 乳头毛=nipple hair
98 | 侧乳=sideboob
99 | 胸部走光=breast slip
100 | 胸部露出=breasts out
101 | 贴合程度不合逻辑的衬衫=impossible shirt
102 | 露出一只乳房=one breast out
103 | 不对称的胸部=asymmetrical breasts
104 | 向两侧摊开的乳房=breasts apart
105 | 漂浮的乳房=floating breasts
106 | (俯身)双乳下垂=hanging breasts
107 | 丰满的乳房=perky breasts
108 | (因俯身而)下垂的乳房=sagging breasts
109 | 左右乳房动态不一=unaligned breasts
110 | 看见静脉的乳房=veiny breasts
111 | 尖乳房=pointy breasts
112 | 哺乳用文胸=nursing bra
113 | 无顶文胸/露出乳头的胸罩=shelf bra
114 | 露胸的衣服=breastless clothes
115 | 乳帘=breast curtain
116 | 平胸衬衫=chest binder
117 | Feast 灰姑娘系列胸罩=cinderella bust
118 | 露出的乳沟=cleavage cutout
119 | 极具立体感的乳房=framed breasts
120 | 衣服破损露出乳头=nipple cutout
121 | 能露出乳头的衣物=nippleless clothes
122 | 在乳房上穿内裤=panties on breasts
123 | (乳头)激凸=rei no himo
124 | 绷紧的衬衫=taut shirt
125 | 勒着下胸围的衣服=underbust
126 | 乳房枕头=breast pillow
127 | 脸贴乳房=face to breasts
128 | 脸贴胸肌=face to pecs
129 | 咬胸=breast biting
130 | 哺乳=breastfeeding
131 | 喂奶手交=nursing handjob
132 | 咬乳头=nipple biting
133 | 舔乳头=licking nipple
134 | 拉胸=breast pull
135 | 锤胸=breast punch
136 | 拍胸=breast slap
137 | 手在胸罩里=hand in bra
138 | 拨动乳头=nipple flick
139 | 按乳头=nipple press
140 | 压乳头=nipple push
141 | 揉搓乳头=nipple rub
142 | 乳头贴乳头=nipple-to-nipple
143 | 乳沟里=between breasts
144 | 卡片在乳沟里=card between breasts
145 | 胳膊在乳沟里=arm between breasts
146 | 乳房夹人=person between breasts
147 | 绑起来的乳房=tied breast
148 | 乳房鼠标垫=breast mousepad
149 | 拿着乳房=carried breast rest
150 | 乳沟作杯子=bust cup
151 | 射在胸上=cum on breasts
152 | 胸上有食物=food on breasts
153 | 胸上有物体=object on breast
154 | tawawa挑战/用胸撑起平放的手机=tawawa challenge
155 | 胸肌上有物体=object on pectorals
156 | 欧派挑战=oppai challenge
157 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/脖子.txt:
--------------------------------------------------------------------------------
1 | 领巾状领带=ascot
2 | 细绳装饰性领带=bolo tie
3 | 蝴蝶领结=bowtie
4 | 项圈=choker
5 | 颈带=ribbon choker
6 | 项圈=collar
7 | 颈铃=neck bell
8 | 动物项圈=animal collar
9 | 带钉项圈=spiked collar
10 | 伊丽莎白圈=pet cone
11 | 羽毛围巾=feather boa
12 | 护目镜在脖子上=goggles around neck
13 | 脖子上挂耳机=headphones around neck
14 | 饰边=jabot
15 | 工牌挂绳=lanyard
16 | 领巾=neckerchief
17 | 项链=necklace
18 | 项链=chain necklace
19 | 花项链=flower necklace
20 | 夏威夷花环=lei
21 | 友情护身符=friendship charm
22 | 珍珠项链=pearl necklace
23 | 吊坠=pendant
24 | 护身符=amulet
25 | 盒式项链坠=locket
26 | 勾玉=magatama
27 | 五芒星=pentacle
28 | 颈部系着缎带=neck ribbon
29 | 波浪褶边的领子=neck ruff
30 | 领带=necktie
31 | 领带贴(夹)在乳沟里=necktie between breasts
32 | 头带=necktie on head
33 | 取下领带=necktie removed
34 | 围巾=scarf
35 | 脖子后挂的彩色布带=stole
36 | 交叉领带=cross tie
37 | 狗项圈=dog collar
38 | 心形项圈=heart choker
39 | 金属项圈=metal collar
40 | 假领=detached collar
41 | 高领=high collar
42 | 水手领=sailor collar
43 | 水色领带=aqua neckwear
44 | 黑色领带=black neckwear
45 | 蓝色领带=blue neckwear
46 | 棕色领带=brown neckwear
47 | 绿色领带=green neckwear
48 | 灰色领带=grey neckwear
49 | 橙色领带=orange neckwear
50 | 粉色领带=pink neckwear
51 | 紫色领带=purple neckwear
52 | 红色领带=red neckwear
53 | 白色领带=white neckwear
54 | 黄色领带=yellow neckwear
55 | 格子衣领=plaid neckwear
56 | 条纹衣领=striped neckwear
57 | 抓住衣领=collar grab
58 | 调整衣领=collar tug
59 | 调整领子=adjusting collar
60 | 毛领=fur collar
61 | 开领=open collar
62 | 竖起来的衣领=popped collar
63 | 高领套头衫=turtleneck
64 | 无袖高领毛衣=sleeveless turtleneck
65 | V领=v-neck
66 | 翼领=wing collar
67 | 格子领口=checkered neckwear
68 | 绕颈系带=halterneck
69 | 颈环=neck ring
70 | 深领=plunging neckline
71 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/色彩.txt:
--------------------------------------------------------------------------------
1 | 水蓝色=aqua theme
2 | 黑色主题=black theme
3 | 蓝色=blue theme
4 | 棕色主题=brown theme
5 | 绿色主题=green theme
6 | 灰色=grey theme
7 | 橙色=orange theme
8 | 粉色主题=pink theme
9 | 紫色=purple theme
10 | 红色/红色主题=red theme
11 | 白色主题=white theme
12 | 黄色主题=yellow theme
13 | 动画上色=anime coloring
14 | 卡通渲染=cel shading
15 | 渐变色=gradient
16 | 最终幻想式渐变=ff gradient
17 | 高对比度=high contrast
18 | 色彩反转=inverted colors
19 | 色块风格=limited palette
20 | 单色画=monochrome
21 | 纯黑白色/黑白照片化/灰度=greyscale
22 | 黑白角色与有色背景=greyscale with colored background
23 | 有色角色与黑白背景=colored with greyscale background
24 | 部分上色=partially colored
25 | 哑光=muted color
26 | 霓虹色彩=neon palette
27 | 苍白的颜色=pale color
28 | 柔和色彩=pastel colors
29 | 彩虹=rainbow
30 | 彩虹色序排列=rainbow order
31 | 深棕色/乌贼墨色=sepia
32 | 色彩关联=color connection
33 | 上色=colorized
34 | 五彩斑斓的=colorful
35 | 黑白画中的少量颜色=spot color
36 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/艺术破格.txt:
--------------------------------------------------------------------------------
1 | 动物化=animalization
2 | 食物化=foodification
3 | 多毛化=furrification
4 | 拟人化=humanization
5 | 机械化=mechanization
6 | 魔物化=monsterification
7 | 物品化=objectification
8 | 拟人化=personification
9 | 史莱姆化=slimification
10 | 载具化=vehicalization
11 | 僵尸化=zombification
12 | 原设服装改编=adapted costume
13 | 角色换装=alternate costume
14 | 与原设不同头饰变化=alternate headwear
15 | 与原设不同武器变化=alternate weapon
16 | 头饰互换=headwear switch
17 | 去掉了(原设有的)眼镜=no eyewear
18 | 去掉了(原设有的)头饰=no headwear
19 | 服饰互换=costume switch
20 | 现代改编=contemporary
21 | 女仆装=enmaided
22 | 服装组合=costume combination
23 | 贫乳化/爆乳化=alternate breast size
24 | 与原设不同翅膀=alternate wings
25 | 与原设不同肤色变化=alternate skin color
26 | 无火化=no fire
27 | 无角化=no horn
28 | 无尾化=no tail
29 | 去掉了(原设有的)翅膀=no wings
30 | 去掉了(原设有的)兽耳=no animal ears
31 | 裆胯以下裸着=no legwear
32 | 去掉了(原设有的)面具=no mask
33 | 与原设不同发色变化=alternate hair color
34 | 与原设不同发型变化=alternate hairstyle
35 | 披下来的头发=hair down
36 | 盘起来的头发=hair up
37 | 与原设不同头发长度变化=alternate hair length
38 | 与原设不同瞳色=alternate eye color
39 | (与原设不同)睁眼=unusually open eyes
40 | 不符角色原本性格=out of character
41 | 人格替换=personality switch
42 | 角色转换=role reversal
43 | 黑化=dark persona
44 | 美化=light persona
45 | 异色=alternate color
46 | 与原设不同元素=alternate element
47 | 色调互换=palette swap
48 | 2P玩家角色风格颜色替换=player 2
49 | 年龄对比=age comparison
50 | 年龄段展现=age progression
51 | 年龄减少=aged down
52 | 年龄增加=aged up
53 | 角色公仔=character doll
54 | 融合/合体=fusion
55 | 性转=genderswap
56 | 女体化=genderswap (mtf)
57 | 男体化=genderswap (ftm)
58 | 假如这两个角色有孩子了=if they mated
59 | 异世界=alternate universe
60 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/花卉.txt:
--------------------------------------------------------------------------------
1 | 花瓣=petals
2 | 花=flower
3 | 玫瑰花瓣=rose petals
4 | 樱花=cherry blossoms
5 | 花田=flowers meadows
6 | 百合水仙=alstroemeria (flower)
7 | 孤挺花=amaryllis (flower)
8 | 银莲花=anemone
9 | 木曼陀罗=angel's trumpet
10 | 花烛=anthurium
11 | 杜鹃花=azalea
12 | 石头花=baby's-breath
13 | 秋海棠=begonia
14 | 风铃草=bellflower
15 | 桔梗=chinese bellflower
16 | 鹤望兰=bird of paradise flower
17 | 黑心金光菊=black-eyed susan
18 | 荷包牡丹=bleeding heart
19 | 蓝莓花=blueberry blossoms
20 | 九重葛=bougainvillea
21 | 马蹄莲=calla lily
22 | 山茶花=camellia
23 | 康乃馨=carnation
24 | 红色康乃馨=red carnation
25 | 西洋甘菊=chamomile
26 | 灯笼草=chinese lantern (plant)
27 | 菊属=chrysanthemum
28 | 君子兰=clivia
29 | 铁线莲=clematis
30 | 耬斗菜=columbine
31 | 青葙=cockscomb (flower)
32 | 矢车菊=cornflower
33 | 秋英/大波斯菊/秋樱=cosmos
34 | 番紅花=crocus
35 | 蕙兰属=cymbidium
36 | 水仙=daffodil
37 | 大丽花=dahlia
38 | 雏菊=daisy
39 | 异果菊=dimorphotheca
40 | 蒲公英=dandelion
41 | 石竹=dianthus
42 | 川续断科=dipsacaceae
43 | 银叶菊=dusty miller
44 | 高山火绒草=edelweiss
45 | 昙花=epiphyllum
46 | 洋桔梗=eustoma
47 | 亚麻=flax
48 | 勿忘草=forget-me-not
49 | 连翘=forsythia
50 | 紫茉莉=four o'clock (flower)
51 | 毛地黄=foxglove
52 | 小苍兰=freesia
53 | 倒挂金钟=fuchsia
54 | 山楂=hawthorn (plant)
55 | 铁筷子/嚏根草=hellebore
56 | 扶桑花=hibiscus
57 | 蝎尾蕉=heliconia
58 | 蜀葵属=hollyhock
59 | 风信子=hyacinth
60 | 紫阳花=hydrangea
61 | 染料木属=genista (flower)
62 | 龙胆属=gentiana (flower)
63 | 天竺葵属=geranium
64 | 大丁草属=gerbera
65 | 唐菖蒲属=gladiolus
66 | 嘉兰=gloriosa (flower)
67 | 伞花虎眼万年青=grass lily
68 | 地榆=great burnet
69 | 素馨属/素英属/茉莉花=jasmine
70 | 鸢尾属=iris
71 | 长寿花/家乐花/矮生伽蓝菜/圣诞伽蓝菜/寿星花/布洛斯费尔德高凉菜=kalanchoe
72 | 棣棠花/山吹=kerria japonica
73 | 马缨丹属=lantana (flower)
74 | 翠雀属=larkspur
75 | 薰衣草=lavender
76 | 丁香属=lilac
77 | 百合属=lily
78 | 卷丹=tiger lily
79 | 铃兰=lily of the valley
80 | 洋桔梗属=lisianthus (flower)
81 | 荷花玉兰/洋玉兰/广玉兰=magnolia
82 | 万寿菊属=marigold
83 | 驴蹄草/驴蹄菜/沼泽金盏花/立金花=marsh marigold
84 | 含羞草=mimosa (flower)
85 | 牵牛花=morning glory
86 | 月光花/嫦娥奔月/天茄儿/天茄子/夜颜/夕颜=moonflower
87 | 葫芦花 (辐射76)=gourd blossom
88 | 粉蝶花属/喜林草属/幌菊属=nemophila
89 | 黑种草=nigella
90 | 夹竹桃=oleander
91 | 橙花=orange blossoms
92 | 兰科/兰花/胡姬花=orchid
93 | 文心兰属=oncidium
94 | 木樨属/木犀属/桂花属/桂花树属=osmanthus
95 | 金木犀=gold osmanthus
96 | 三色紫罗兰/三色堇=pansy
97 | 西番莲属=passion flower
98 | 毛泡桐=paulownia
99 | 桃花=peach blossom
100 | 五星花属/繁星花属=pentas (flower)
101 | 芍药属=peony
102 | 多年生植物=perennial
103 | 蔓长春花属=periwinkle
104 | 碧冬茄属=petunia (flower)
105 | 马醉木=pieris japonica
106 | 植物=plant
107 | 三叶草=clover
108 | 莲花=lotus
109 | 睡莲=lily pad
110 | 盆栽=potted plant
111 | 梅花=plum blossoms
112 | 缅栀花=plumeria
113 | 一品红/圣诞红/圣诞花=poinsettia
114 | 石榴花=pomegranate flower
115 | 罂粟=poppy
116 | 马齿苋=portulaca
117 | 土豆花=potato flower
118 | 委陵菜属=potentilla
119 | 大花草属=rafflesia
120 | 毛茛属=ranunculus
121 | 花毛茛=buttercup
122 | 欧洲油菜花=rapeseed blossoms
123 | 红姜花=red ginger
124 | 灵梦花=reimu
125 | 杜鹃花属/映山红/满山红/山石榴=rhododendron
126 | 玫瑰/蔷薇=rose
127 | 黑玫瑰=black rose
128 | 蓝玫瑰=blue rose
129 | 棕色玫瑰=brown rose
130 | 绿色玫瑰=green rose
131 | 灰色玫瑰=grey rose
132 | 橙玫瑰=orange rose
133 | 粉红玫瑰=pink rose
134 | 紫玫瑰=purple rose
135 | 红玫瑰=red rose
136 | 白玫瑰=white rose
137 | 黄玫瑰=yellow rose
138 | 多色玫瑰=multicolored rose
139 | 金光菊=rudbeckia
140 | 金鱼草=snapdragon
141 | 雪花莲属=snowdrop
142 | 白鹤芋属=spathiphyllum
143 | 彼岸花=spider lily
144 | 草莓花=strawberry blossoms
145 | 向日葵=sunflower
146 | 蓟属=thistle
147 | 厚萼凌霄=trumpet creeper
148 | 郁金香=tulip
149 | 睡莲科=water lily flower
150 | 风蜡花属=wax flower
151 | 紫藤=wisteria
152 | 乌头属=wolfsbane
153 | 堇菜属=violet
154 | 百日菊属=zinnia
155 | 黑莲花=black lotus
156 | 烈焰花 (原神)=fire flower
157 | 琉璃百合 (原神)=glaze lily
158 | 葛拉西蒂亚花 (宝可梦)=gracidea
159 | 冰雾花 (原神)=ice flower
160 | 月之泪 (尼尔)=lunar tear
161 | 清心 (原神)=qingxin flower
162 | 静谧公主 (塞尔达)=silent princess
163 | 霓裳花 (原神)=silk flower
164 | 甜甜花 (原神)=sweet flower
165 | 花束=bouquet
166 | 咳出花=coughing flowers
167 | 花(符号)=flower (symbol)
168 | 花床=flower bed
169 | 花手镯=flower bracelet
170 | 水上的花=flower on liquid
171 | 花饰=flower trim
172 | 花朵图案(印花)=floral print
173 | 花札=hanafuda
174 | 园艺=gardening
175 | 在花上=on flower
176 | 水面上漂着花瓣=petals on liquid
177 | 花环=wreath
178 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/蔬菜与香料.txt:
--------------------------------------------------------------------------------
1 | 芦笋=asparagus
2 | 豆子=beans
3 | 红豆馅=red bean paste
4 | 纳豆=nattou
5 | 苦瓜=bitter melon
6 | 西兰花=broccoli
7 | 卷心菜=cabbage
8 | 白菜=bok choy
9 | 胡萝卜=carrot
10 | 菜花=cauliflower
11 | 椰子=coconut
12 | 玉米=corn
13 | 黄瓜=cucumber
14 | 泡菜=pickle
15 | 茄子=eggplant
16 | 大蒜=garlic
17 | 韩国泡菜=kimchi
18 | 生菜=lettuce
19 | 薄荷=mint
20 | 蘑菇=mushroom
21 | 洋葱=onion
22 | 洋葱圈=onion rings
23 | 大葱=spring onion
24 | 欧芹=parsley
25 | 扁桃=almond
26 | 板栗=chestnut
27 | 花生=peanut
28 | 胡椒=pepper
29 | 灯笼椒=bell pepper
30 | 青椒=green pepper
31 | 红椒=red pepper
32 | 黄椒=yellow pepper
33 | 辣椒=chili pepper
34 | 哈瓦那辣椒=habanero pepper
35 | 墨西哥辣椒=jalapeno pepper
36 | 土豆=potato
37 | 萝卜=radish
38 | 萝卜=daikon
39 | 海藻=seaweed
40 | 羊栖菜=hijiki
41 | 海苔=nori
42 | 南瓜属=squash
43 | 南瓜=pumpkin
44 | 南瓜灯=jack-o'-lantern
45 | 红薯=sweet potato
46 | 烤白薯=yakiimo
47 | 番茄=tomato
48 | 圣女果(小西红柿=cherry tomato
49 | 芜菁=turnip
50 | 蕨=warabi
51 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/衣装.txt:
--------------------------------------------------------------------------------
1 | 透明睡衣=babydoll
2 | 比基尼=bikini
3 | 和服=japanese clothes
4 | 紧身衣=bodysuit
5 | 职场制服=business suit
6 | 旗袍=china dress
7 | 中国服饰(极大概率是旗袍)=chinese clothes
8 | 紧身褡=corset
9 | 连衣裙=dress
10 | 运动服=gym uniform
11 | 體操服=leotard
12 | 女用贴身内衣裤=lingerie
13 | 衣带(和服用)=obi
14 | 睡衣=pajamas
15 | 圣诞装=santa
16 | 学校泳衣=school swimsuit
17 | 学校制服=school uniform
18 | 透明装=see-through
19 | 系带式比基尼=side-tie bikini
20 | 西装=suit
21 | 泳装=swimsuit
22 | 破烂衣服=torn clothes
23 | 内衣=underwear
24 | 制服=uniform
25 | 浴衣=yukata
26 | 水手服=serafuku
27 | 婚纱=wedding dress
28 | 哥特风格=gothic
29 | 洛丽塔风格=lolita fashion
30 | 西部风格=western
31 | 裸体的=nude
32 | 裸体围裙=naked apron
33 | 裸体工作服=naked overalls
34 | 裸体丝带=naked ribbon
35 | 格子花纹=tartan
36 | 横条花纹=striped
37 | 点状花纹=polka dot
38 | 皱边=frills
39 | 正装=formal
40 | 蕾丝=lace
41 | 褪下衣物=clothes down
42 | 短下摆和服=short kimono
43 | 和服=kimono
44 | 敞开的和服=open kimono
45 | 吊带裙=suspender skirt
46 | 和服裙=kimono skirt
47 | 百褶连衣裙=pleated dress
48 | 水手服款裙子=sailor dress
49 | 无肩带连衣裙=strapless dress
50 | 太阳裙/背心裙=sundress
51 | 包臀裙=sheath dress
52 | 分层式半身裙=layered skirt
53 | 腰围裙=waist apron
54 | 蓬蓬裙=pettiskirt
55 | 芭蕾舞裙=tutu
56 | 分层连衣裙=layered dress
57 | 露肩连衣裙=off-shoulder dress
58 | 透明硬纱/蕾丝花边=organza lace
59 | 比基尼盔甲=bikini armor
60 | 从三点剥开的比基尼=bikini aside
61 | 往上剥开的比基尼=bikini lift
62 | 带蝴蝶结的比基尼=bow bikini
63 | 眼罩比基尼=eyepatch bikini
64 | 从正面打结的比基尼=front-tie bikini
65 | 高开衩的比基尼=highleg bikini
66 | 分层比基尼=layered bikini
67 | 低腰比基尼=lowleg bikini
68 | 女仆比基尼=maid bikini
69 | 迷你比基尼=micro bikini
70 | 细带款比基尼=multi-strapped bikini
71 | 水手服款比基尼=sailor bikini
72 | 贝壳比基尼=shell bikini
73 | 弹弓泳衣/吊带泳衣/V字泳衣=slingshot swimsuit
74 | 运动比基尼=sports bikini
75 | 无肩带比基尼=strapless bikini
76 | 丁字式比基尼=thong bikini
77 | 解开的比基尼=untied bikini
78 | 抹胸比基尼=bandeau
79 | 比基尼当内衣=bikini under clothes
80 | 战甲裙=armored dress
81 | 体操服=athletic leotard
82 | 露背连衣裙=backless dress
83 | 露背装=backless outfit
84 | 棒球服=baseball uniform
85 | 自行车运动服=biker clothes
86 | 骑行套装=bikesuit
87 | 比基尼裙=bikini skirt
88 | 紧身衣裤=bodysuit under clothes
89 | 束缚服=bondage outfit
90 | 连体泳衣=casual one-piece swimsuit
91 | 有领连衣裙=collared dress
92 | 竞泳死库水=competition school swimsuit
93 | 赛用泳衣=competition swimsuit
94 | 晚会礼服=evening gown
95 | 武道服=dougi
96 | 拉链在正面的泳衣=front zipper swimsuit
97 | 女裙/女长服/女礼服=gown
98 | 绕颈裙/衬衣式连衣裙/露背吊带裙=halter dress
99 | 汉服=hanfu
100 | 舞娘服=harem outfit
101 | 高开衩的连身衣=highleg leotard
102 | 人体彩绘般的紧身衣=impossible bodysuit
103 | 幼儿园制服=kindergarten uniform
104 | 胶衣=latex
105 | 棒球服=letterman jacket
106 | 活体衣服=living clothes
107 | 休闲服=loungewear
108 | 明治年间女学生制服=meiji schoolgirl uniform
109 | 军服=military uniform
110 | 一体式泳衣=one-piece swimsuit
111 | 兔女郎连身衣=playboy bunny leotard
112 | 警服=police uniform
113 | 逆兔女郎=reverse bunnysuit
114 | 水手服=sailor
115 | 美少女战士制服=sailor senshi uniform
116 | 圣诞老人服装=santa costume
117 | 女侍从的制服=stile uniform
118 | 拘束服=straitjacket
119 | 白无垢/日式嫁衣=uchikake
120 | 强化服=varia suit
121 | 处男杀手服=virgin killer outfit
122 | 排球服=volleyball uniform
123 | Cute & Girly (偶像大师)=cute & girly (idolmaster)
124 | 裙撑/裙架=crinoline
125 | 飘起的裙子=dress flip
126 | 抓住裙子=dress grab
127 | 裙子篮兜=skirt basket
128 | 撕破的连衣裙=torn dress
129 | 潮湿的衣服=wet dress
130 | 水色连衣裙=aqua dress
131 | 黑连衣裙=black dress
132 | 蓝连衣裙=blue dress
133 | 棕色连衣裙=brown dress
134 | 绿色连衣裙=green dress
135 | 灰色连衣裙=grey dress
136 | 橙色连衣裙=orange dress
137 | 粉连衣裙=pink dress
138 | 紫连衣裙=purple dress
139 | 红连衣裙=red dress
140 | 红棕色连衣裙=sepia dress
141 | 白色连衣裙=white dress
142 | 黄色连衣裙=yellow dress
143 | 多色连衣裙=multicolored dress
144 | 双色连衣裙=two-tone dress
145 | 钻石图案的裙子=argyle dress
146 | 方格花纹连衣裙=checkered dress
147 | 国旗连衣裙=flag dress
148 | 格子连衣裙=plaid dress
149 | 圆点花纹连衣裙=polka dot dress
150 | 印花裙子=print dress
151 | 条纹连衣裙=striped dress
152 | 垂直条纹连衣裙=vertical-striped dress
153 | 细条纹连衣裙=pinstripe dress
154 | 花边连衣裙=frilled dress
155 | 毛边连衣裙=fur-trimmed dress
156 | 半开裙=half-dress
157 | 高叉长裙=highleg dress
158 | 高低裙=high-low skirt
159 | 乳胶连衣裙=hobble dress
160 | 不切实际的连衣裙=impossible dress
161 | 蕾丝连衣裙=lace-trimmed dress
162 | 乳胶裙=latex dress
163 | 长裙=long dress
164 | 罗纹连衣裙=ribbed dress
165 | 色带装饰的连衣裙=ribbon-trimmed dress
166 | 短裙=short dress
167 | 侧开叉=side slit
168 | 绷紧的连衣裙=taut dress
169 | 透明连衣裙=see-through dress
170 | 无袖连衣裙=sleeveless dress
171 | 形似蛋糕的连衣裙=cake dress
172 | 外套连衣裙=coat dress
173 | 燕尾短裙=cocktail dress
174 | 牛仔连衣裙=denim dress
175 | 酒馆服务员服装=dirndl
176 | 丧服=funeral dress
177 | 鱼尾裙=mermaid dress
178 | 晨衣=negligee
179 | 睡衣=nightgown
180 | 超短裙=microskirt
181 | 铅笔裙=pencil dress
182 | 短铅笔裙=pencil skirt
183 | 格子呢短裙=plaid skirt
184 | 背心裙/无袖连衣裙=pinafore dress
185 | 圣诞老人风格的裙子=santa dress
186 | 毛衣连衣裙=sweater dress
187 | 网球连衣裙=tennis dress
188 | 梯形连衣裙=trapeze dress
189 | 抹胸连衣裙=tube dress
190 | 越南连衣裙=vietnamese dress
191 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/视角.txt:
--------------------------------------------------------------------------------
1 | 第一人称视角=first-person view
2 | 主观视角=pov
3 | 三视图=three sided view
4 | 多视图=multiple views
5 | 插入画面=cut-in
6 | (突出)指间=between fingers
7 | (强调)两腿之间=between legs
8 | (强调)大腿之间=between thighs
9 | 前景模糊=blurry foreground
10 | 对胸部在意=breast conscious
11 | 着迷于乳房=breast awe
12 | 特写镜头=close-up
13 | 七分身镜头=cowboy shot
14 | 德式倾斜镜头=dutch angle
15 | 鱼眼镜头=fisheye
16 | 线影法(纹理)=hatching (texture)
17 | 远景透视画法=vanishing point
18 | 广角镜头=wide shot
19 | 俯视镜头=from above
20 | 背影=from behind
21 | 仰视镜头=from below
22 | 室外看向室内(的镜头)=from outside
23 | 角色的侧面=from side
24 | 大气距离感=atmospheric perspective
25 | 全景=panorama
26 | 透视画法=perspective
27 | 经过旋转的=rotated
28 | 横向显示的=sideways
29 | 倒挂的=upside-down
30 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/调味料.txt:
--------------------------------------------------------------------------------
1 | 拌饭素=furikake
2 | 蜂蜜=honey
3 | 果酱=jam
4 | 果酱/橘子酱=marmalade
5 | 番茄酱=ketchup
6 | 蛋黄酱=mayonnaise
7 | 芥末=mustard
8 | 花生酱=peanut butter
9 | 胡椒=pepper shaker
10 | 撒盐瓶子=salt shaker
11 | 酱汁=sauce
12 | 辣酱=hot sauce
13 | 酱油=soy sauce
14 | 粉状糖(食物)=sugar (food)
15 | 方糖=sugar cube
16 | 芥末=wasabi
17 | 果酱=syrup
18 | 巧克力酱=chocolate syrup
19 | 草莓酱=strawberry syrup
20 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/谷制品.txt:
--------------------------------------------------------------------------------
1 | 面包=bread
2 | 法棍=baguette
3 | 饼干(面包)=biscuit (bread)
4 | 面包包子=bread bun
5 | 面包皮=bread crust
6 | 吃面包比赛(咬住面包跑到终点)=bread eating race
7 | 加帕里面包(兽娘动物园)=japari bun
8 | 菠萝包=melon bread
9 | 吐司=toast
10 | 谷物早餐=cereal
11 | 饼干=cracker
12 | 粗米饼=arare
13 | 仙贝=senbei
14 | 羊角面包=croissant
15 | 恩巴纳达=empanada
16 | 面条=noodles
17 | 意大利面=pasta
18 | 千层面=lasagne
19 | 意大利面=spaghetti
20 | 黑色意大利面=black spaghetti
21 | 肉丸意大利面=spaghetti and meatballs
22 | 拉面=ramen
23 | 杯面=cup ramen
24 | 堆高的豚骨拉面=jirou (ramen)
25 | 荞麦=soba
26 | 炒面=yakisoba
27 | 意大利面(新潟)=italian (niigata)
28 | 炒面面包=yakisobapan
29 | 素麺(面条 食物)=soumen
30 | 乌冬面=udon
31 | 狐狸乌冬面=kitsune udon
32 | 煎饼=pancake
33 | 煎饼堆=pancake stack
34 | 米饭=rice
35 | 炒饭=fried rice
36 | 蛋包饭=omurice
37 | 饭团=onigiri
38 | 脸上有米饭=rice on face
39 | 稀饭=rice porridge
40 | 喝七草粥的日子=nanakusa-no-sekku
41 | 烩饭=risotto
42 | 烤饼=scone
43 | 华夫饼干=waffle
44 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/限制级.txt:
--------------------------------------------------------------------------------
1 | 打屁股=spanked
2 | 拳爆菊=anal fisting
3 | 灌肠=enema
4 | 肚子胀=stomach bulge
5 | 透视人体内部=x-ray
6 | 触手=tentacle
7 | 口塞=gag
8 | 球塞=ballgag
9 | 棍塞=bitgag
10 | 扩口器=ring gag
11 | 用布勒住嘴=cleave gag
12 | 用内裤塞口=panty gag
13 | 胶带封口=tapegag
14 | 摸索=groping
15 | 虐乳头=nipple torture
16 | 乳头穿孔=nipple piercing
17 | 骆驼趾(俗称馒头逼)=cameltoe
18 | 插入物=insertion
19 | 菊花插入物=anal insertion
20 | 用水果蔬菜=fruit insertion
21 | 巨大插入=large insertion
22 | 异物插入=penetration
23 | 拳头插入=fisting
24 | 一穴多插=multiple insertions
25 | 双穴同插=double penetration
26 | 三穴同插=triple penetration
27 | 双重入穴=double vaginal
28 | 穿孔=piercing
29 | 肚脐穿孔=navel piercing
30 | 腹部三角带=mound of venus
31 | 宽盆骨=wide hips
32 | 蛋疼=tamakericzx
33 | 丸吞=vore
34 | 肉体变形=transformation
35 | 思想操控=mind control
36 | 血=blood
37 | 女体盛=nyotaimori
38 | 木马=wooden horse
39 | 肛珠=anal beads
40 | 屌环=cock ring
41 | 双头龙=double dildo
42 | 带振动的自慰器=vibrator
43 | 大腿贴着跳蛋控制器=vibrator in thighhighs
44 | 跳蛋在内裤里=vibrator under panties
45 | 奴隶=slave
46 | 捆绑=shibari
47 | 捆绑/奴役=bondage
48 | 绑缚与调教/支配与臣服/施虐与受虐=bdsm
49 | 枷锁=pillory
50 | 绳子=rope
51 | 手臂捆绑=bound arms
52 | 手腕捆绑=bound wrists
53 | 胯下捆绑=crotch rope
54 | 曲膝捆绑=hogtie
55 | 青蛙捆绑=frogtie
56 | 悬空捆绑=suspension
57 | 分腿捆绑=spreader bar
58 | 双性=futanari
59 | 乱伦=incest
60 | 兄弟/姐妹/姐弟/兄妹=twincest
61 | 女性使用假屌=pegging
62 | 日本黑妹=ganguro
63 | 人兽=bestiality
64 | 性骚扰=molestation
65 | 窥阴癖=voyeurism
66 | 裸露癖=exhibitionism
67 | 强暴=rape
68 | 将要被强暴=about to be raped
69 | 肛尾=anal tail
70 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/面部.txt:
--------------------------------------------------------------------------------
1 | 浓装=makeup
2 | 食物在脸上=food on face
3 | 闻=smelling
4 | 鼻血=nosebleed
5 | 嘴唇=lips
6 | 咬牙=clenched teeth
7 | 张口=open mouth
8 | 努嘴=pout
9 | 叹气=sigh
10 | 微笑=smile
11 | 浅笑=light smile
12 | 露齿而笑=grin
13 | 坏笑=evil smile
14 | 生气的=angry
15 | 苦恼的=annoyed
16 | 疯狂的=crazy
17 | 害羞的=shy
18 | 尴尬的=embarrassed
19 | 脸红的=blush
20 | 困乏的=sleepy
21 | 悲伤的=sad
22 | 喝醉的=drunk
23 | 皱眉/蹙额=frown
24 | 阿嘿颜=ahegao
25 | 下流的表情=naughty face
26 | 忍耐的表情=endured face
27 | 尖牙=fangs
28 | 舌头=tongue
29 | 没有鼻子=no nose
30 | 唾液=saliva
31 | 胡子=facial hair
32 | 用手指做出笑脸=fingersmile
33 | 嘴咬住=mouth hold
34 | 嘴唇微张=parted lips
35 | 闭嘴=closed mouth
36 | 吐舌头=tongue out
37 | 舔嘴唇=licking lips
38 | 疼痛=pain
39 | 哭=crying
40 | 气得冒烟(漫画)=fume
41 | (因痛苦、厌恶等)做怪相=grimace
42 | 尖叫/大声喊=screaming
43 | 眉毛皱成V形(表高傲或愤怒)=v-shaped eyebrows
44 | 害怕的=scared
45 | 怒视/嫌弃/不满=scowl
46 | 严肃的=serious
47 | 要哭的表情=tearing up
48 | 无聊的=bored
49 | 消沉(表情)=gloom (expression)
50 | 嫉妒的=jealous
51 | 轻蔑的眼神=jitome
52 | 不安的=nervous
53 | 不安地微笑=nervous smile
54 | 阴沉脸=shaded
55 | 脸色苍白=turn pale
56 | 无口=expressionless
57 | 表情=expressions
58 | 失神=unconscious
59 | 明亮的瞳孔=bright pupils
60 | 耳红=ear blush
61 | 憋气=holding breath
62 | 撅起的嘴唇=puckered lips
63 | 诱人的微笑=seductive smile
64 | 笑脸=smiley
65 | 傻笑/得意的笑=smirk
66 | 得意脸=doyagao
67 | 慌乱的=flustered
68 | 整张脸泛红=full blush
69 | 眼里冒爱心=heart in eye
70 | 喘粗气=heavy breathing
71 | 呻吟=moaning
72 | 得意脸=smug
73 | 惊讶或无语到喷了=spit take
74 | 惊讶=surprised
75 | 傲娇=tsundere
76 | 流口水=drooling
77 | 淫荡的表情=torogao
78 | 眼中闪现强烈的情感=glint
79 | 快乐/幸福=happy
80 | 在笑的=laughing
81 | 下流的表情=naughty
82 | 嚣张脸=troll
83 | 病娇=yandere
84 | 唾液拉丝=saliva trail
85 | 朱唇=red lips
86 | 把嘴的一部分画成虎牙状=skin fang
87 | 露出上排牙齿=upper teeth
88 | 虎牙=fang
89 | 露出虎牙/露出尖牙=fang out
90 | 长舌头=long tongue
91 | 额头=forehead
92 | 淡淡的腮红=light blush
93 | 脸贴脸=cheek-to-cheek
94 | 鼓着腮帮=cheek bulge
95 | 捏脸颊=cheek pinching
96 | 戳脸颊=cheek poking
97 | 扯脸颊=cheek pull
98 | 抬下巴=chin grab
99 | 遮住眼睛=covering eyes
100 | 挡住脸=covering
101 | 挡住嘴巴=covering mouth
102 | 脸贴脸=face-to-face
103 | 二人面对面(脸贴得很近)=facing another
104 | 额头贴额头=forehead-to-forehead
105 | 牙=teeth
106 | 兴奋=excited
107 | 害羞=nose blush
108 | 失神=expressionless eyes
109 | 睁大眼睛=wide eyed
110 | 愤怒=>:(
111 | 嘲笑=>:)
112 | 惊讶=:o
113 | 右上吐舌头=:q
114 | 右下吐舌头=:p
115 | 咧嘴笑=:d
116 | 单眼咧嘴笑=;d
117 | 猫嘴=:3
118 | 口红/唇膏=lipstick
119 | 挡住脸=covering face
120 | 黑眼=black eyes
121 | 蓝眼=blue eyes
122 | 棕眼=brown eyes
123 | 绿眼=green eyes
124 | 灰眼=grey eyes
125 | 爱心形瞳孔=heart-shaped pupils
126 | 异色瞳=heterochromia
127 | 紫眼=purple eyes
128 | 红眼=red eyes
129 | 竖瞳孔/猫眼=slit pupils
130 | 白眼=white eyes
131 | 金眼=yellow eyes
132 | 下垂的眼睛=tareme
133 | 三白眼=sanpaku
134 | 上翘的眼睛=upturned eyes
135 | 睁开眼睛=wide-eyed
136 | 眼圈=ringed eyes
137 | 眼睛抬头=rolling eyes
138 | 疯狂的眼睛=crazy eyes
139 | 挑眉=raised eyebrows
140 | 下眉毛=furrowed brow
141 | 黑眼圈中的水平线=dashed eyes
142 | 多色的黑眼睛=multicolored eyes
143 | 左右眼颜色不同=mismatched pupils
144 | 左右眼不同颜色的眼白=mismatched sclera
145 | 没有眼睛=no pupils
146 | 眼睛没有亮点=empty eyes
147 | 白眼球=blank eyes
148 | 瞳孔扩张=dilated pupils
149 | 漆黑的眼睛=hollow eyes
150 | 瞳孔收缩=constricted pupils
151 | 符号眼=symbol-shaped pupils
152 | 星形眼睛=star-shaped pupils
153 | X 形眼睛=x-shaped pupils
154 | 纽扣眼=button eyes
155 | 眼睛反射=eye reflection
156 | 闭上眼睛=closed eyes
157 | 一只眼睛闭着=one eye closed
158 | 眼睛半闭=half-closed eyes
159 | 闭眼=eyes closed
160 | 闭一只眼=wince
161 | 吊眼角=tsurime
162 | 盯着看=eyeball
163 | 眼泪=tears
164 | 渐变瞳色=gradient eyes
165 | 吐舌鬼脸=aqua eyes
166 | 睁着眼落泪=crying with eyes open
167 | 发光的双眼=glowing eyes
168 | 半闭的眼睛(单眼)=half-closed eye
169 | 开心的眼泪=happy tears
170 | 星星眼=sparkling eyes
171 | 轻蔑/怒视=glaring
172 | 流泪=streaming tears
173 | 挡在头发下的眉毛=eyebrows behind hair
174 | 透过头发可以看到的眉毛=eyebrows visible through hair
175 | 睫毛=eyelashes
176 | 眼线=eyeliner
177 | 透过头发可以看到的眼睛=eyes visible through hair
178 | 青筋=anger vein
179 | 表情贴纸=blush stickers
180 | 整张脸泛红=full-face blush
181 | 疑惑=confused
182 | 有决心的=determined
183 | 失望的=disappointed
184 | 蔑视=disdain
185 | 恶心=disgust
186 | 绝望=despair
187 | 嫉妒=envy
188 | 邪恶=evil
189 | 以手掩面=facepalm
190 | 沮丧=frustrated
191 | 有罪的=guilt
192 | 库布里克凝视=kubrick stare
193 | 孤独的=lonely
194 | 扬起的眉毛=raised eyebrow
195 | 一副要强奸人的表情=rape face
196 | 压抑的/郁闷的=depressed
197 | 恐慌的=panicking
198 | 担忧的=worried
199 | 累=tired
200 | 闷闷不乐=sulking
201 | 思考=thinking
202 | 沉思的=pensive
203 | 气愤=upset
204 | 疯狂地笑=crazy smile
205 | 强迫笑=forced smile
206 | 格拉斯哥微笑=glasgow smile
207 | 苦笑=sad smile
208 | 憋笑=stifled laugh
209 | 惊讶的=^^^
210 | 惊讶到掉色=color drain
211 | 恐惧表情=horrified
212 | 啜泣=sobbing
213 | 颤抖=trembling
214 | 薯片嘴型=wavy mouth
215 | ;)=;)
216 | d:=d:
217 | ;3=;3
218 | 斜嘴=3:
219 | 猫脸=uwu
220 | ;p=;p
221 | ;q=;q
222 | :t=:t
223 | :i=:i
224 | 斜嘴=:/
225 | 无语=:|
226 | :x=:x
227 | 伤心=:c
228 | c:=c:
229 | :<=:<
230 | ;<=;<
231 | 张大嘴=:<>
232 | :>=:>
233 | :>==:>=
234 | ;o=;o
235 | o3o=o3o
236 | 嘟嘴=(-3-)
237 | 亲嘴=>3<
238 | 发呆=o_o
239 | 0_0=0_0
240 | |_|=|_|
241 | ._.=._.
242 | 实心圆眼睛=solid circle eyes
243 | 心形眼=heart-shaped eyes
244 | ^_^=^_^
245 | ^o^=^o^
246 | \(^o^)/=\(^o^)/
247 | ^q^=^q^
248 | >_<=>_<
249 | XD=xd
250 | X3=x3
251 | >o<=>o<
252 | >_@=>_@
253 | +_-=+_-
254 | =_===_=
255 | =^===^=
256 | =v===v=
257 | _=_
258 | <|>_<|>=<|>_<|>
259 | 斗鸡眼=cross-eyed
260 | 小圆点嘴=dot mouth
261 | 小圆点鼻=dot nose
262 | 嘴角画着口水滴形状的缺口=mouth drool
263 | 没画出嘴=no mouth
264 | 方形嘴=rectangular mouth
265 | 把嘴画在侧脸=sideways mouth
266 | 裂开的嘴=split mouth
267 | 橙色的眼镜=orange eyes
268 | 粉红色的眼睛=pink eyes
269 | 琥珀色眼=amber eyes
270 | 晕眼=@ @
271 | 吃豆人形眼=pac-man eyes
272 | 一字型瞳孔/蛙眼=horizontal pupils
273 | 加号型眼=+ +
274 | 钻石形瞳孔=diamond-shaped pupils
275 | 花形瞳孔=flower-shaped pupils
276 | 蓝色巩膜=blue sclera
277 | 黑色巩膜=black sclera
278 | 布满血丝的眼睛=bloodshot eyes
279 | 绿色巩膜=green sclera
280 | 无色巩膜=no sclera
281 | 橙色巩膜=orange sclera
282 | 红色巩膜=red sclera
283 | 黄色巩膜=yellow sclera
284 | 眼袋=bags under eyes
285 | 眼袋=aegyo sal
286 | 瘀伤的眼睛=bruised eye
287 | 燃烧的眼睛=flaming eyes
288 | 发光的眼睛(单眼)=glowing eye
289 | 魔眼=mako eyes
290 | 两栖动物的眼睛=amphibian eyes
291 | 头足类动物的眼睛=cephalopod eyes
292 | 复合眼=compound eyes
293 | 迎接射精而伸出舌头=oral invitation
294 | 花在嘴里=flower in mouth
295 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/鞋袜.txt:
--------------------------------------------------------------------------------
1 | 拖鞋=slippers
2 | 短袜=socks
3 | 横条袜=striped socks
4 | 条纹过膝袜=striped thighhighs
5 | 日式厚底短袜=tabi
6 | 损坏了的过膝袜=torn thighhighs
7 | 女式学生鞋=uwabaki
8 | 过膝袜=thighhighs
9 | 白色过膝袜=white thighhighs
10 | 高跟鞋=high heels
11 | 玛丽珍鞋=mary janes
12 | 踝袜=ankle socks
13 | 袜缝=back-seamed legwear
14 | 美式短袜=bobby socks
15 | 连体裤袜=bodystocking
16 | 带蝴蝶结的裤袜=bow legwear
17 | 精细的面料感/超还原的丝袜=fine fabric emphasis
18 | 渔网袜=fishnet legwear
19 | 紧致的裤袜/略透明的裤袜=pantylines
20 | 有接缝的裤袜=seamed legwear
21 | 马镫袜=stirrup legwear
22 | 露趾裤袜=toeless legwear
23 | 蕾丝边裤袜=lace-trimmed legwear
24 | 裤袜有开口=leg cutout
25 | 腿套/暖腿袜=leg warmers
26 | 长袜=kneehighs
27 | 裤袜=leggings
28 | 泡泡袜=loose socks
29 | 袜带=garter straps
30 | 吊带袜=garters
31 | 连腰吊带袜=garter belt
32 | 粉色过膝袜=pink thighhighs
33 | 连裤袜=pantyhose
34 | 网袜=fishnets
35 | 带褶边的过膝袜=frilled legwear
36 | 黑色过膝袜=black thighhighs
37 | 芭蕾舞鞋=ballet slippers
38 | 裸足凉鞋=barefoot sandals
39 | 长靴=boots
40 | 脱下的靴子=boots removed
41 | 交叉系带鞋=cross-laced footwear
42 | 高跟靴=high heel boots
43 | 及膝靴=knee boots
44 | 乐福鞋=loafers
45 | 舰C舰娘专用鞋=rudder footwear
46 | 细跟高跟鞋=stiletto heels
47 | 带束带的高跟鞋=strappy heels
48 | 高帮靴=thigh boots
49 | 露趾靴=toeless boots
50 | 黑色裤袜=black legwear
51 | 白色裤袜=white legwear
52 | 撕裂的裤袜=torn legwear
53 | 条纹裤袜=striped legwear
54 | 不对称裤腿=asymmetrical legwear
55 | 棕色裤袜=brown legwear
56 | 不均匀的裤腿=uneven legwear
57 | 印花裤袜=print legwear
58 | 红色裤袜=red legwear
59 | 不匹配的腿饰=mismatched legwear
60 | 短裤穿在裤袜外面=legwear under shorts
61 | 紫色裤袜=purple legwear
62 | 灰色裤袜=grey legwear
63 | 蓝色裤袜=blue legwear
64 | 粉色裤袜=pink legwear
65 | 菱形裤腿=argyle legwear
66 | 丝带边饰裤袜=ribbon-trimmed legwear
67 | 星条旗裤袜=american flag legwear
68 | 绿色裤袜=green legwear
69 | 竖条纹裤袜=vertical-striped legwear
70 | 备用裤袜=alternate legwear
71 | 黄色裤袜=yellow legwear
72 | 五彩裤袜=multicolored legwear
73 | 罗纹裤袜=ribbed legwear
74 | 毛皮裤袜=fur-trimmed legwear
75 | 透视裤袜=see-through legwear
76 | 裤袜吊袜带=legwear garter
77 | 分段裤袜=two-tone legwear
78 | 乳胶裤袜=latex legwear
79 |
--------------------------------------------------------------------------------
/data/translate_cache/tags_zh2en/饮料.txt:
--------------------------------------------------------------------------------
1 | 酒精=alcohol
2 | 啤酒=beer
3 | 非酒精啤酒=non-alcoholic beer
4 | 健力士黑啤酒(啤酒)=guinness (beer)
5 | 香槟酒=champagne
6 | 鸡尾酒=cocktail
7 | 凯撒鸡尾酒=caesar (drink)
8 | 鸡尾酒伞=cocktail umbrella
9 | 玛格丽塔=margarita
10 | 马提尼酒=martini
11 | 酒=liquor
12 | 日本酒=sake
13 | 龙舌兰酒=tequila
14 | 伏特加=vodka
15 | 威士忌酒=whiskey
16 | 葡萄酒=wine
17 | 咖啡=coffee
18 | 咖啡加牛奶=cafe au lait
19 | 罐装咖啡=canned coffee
20 | 咖啡豆=coffee beans
21 | 蒲公英咖啡=dandelion coffee
22 | Georgia MAX Coffee=georgia max coffee
23 | 咖啡拉花=latte art
24 | 星巴克=starbucks
25 | 果汁=juice
26 | 甘酒=amazake
27 | 柠檬汽水=lemonade
28 | 橙汁=orange juice
29 | 苏打=soda
30 | 7up=7up
31 | Calpis=calpis
32 | 可口可乐=coca-cola
33 | Dr Pepper=dr pepper
34 | 芬达=fanta
35 | 绿色苏打水=melon soda
36 | 激浪(饮料)=mountain dew
37 | 百事可乐=pepsi
38 | 黄瓜味百事可乐=pepsi ice cucumber
39 | ramune 波子汽水=ramune
40 | 根汁啤酒=root beer
41 | 汽水罐=soda can
42 | 茶=tea
43 | 燕麦茶=barley tea
44 | 红茶=black tea
45 | 珍珠奶茶=bubble tea
46 | 达吉岭茶=darjeeling tea
47 | 伯爵茶=earl grey tea
48 | 绿茶=green tea
49 | 草药茶=herbal tea
50 | 冰茶=iced tea
51 | 奶茶=milk tea
52 | 茉莉花茶=rose hip tea
53 | 薄荷茶=spear mint tea
54 | 热带特色的饮料=tropical drink
55 | 蓝色夏威夷(鸡尾酒)=blue hawaii
56 |
--------------------------------------------------------------------------------
/imagetools/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhongpei/image2text_prompt_generator/68f7e94f4b4e4fca4de10dd42c2000373d8102ea/imagetools/__init__.py
--------------------------------------------------------------------------------
/imagetools/remove_backgroud.py:
--------------------------------------------------------------------------------
1 | import subprocess
2 | import click
3 | import os
4 | import platform
5 | from transparent_background import Remover
6 | from transparent_background.utils import ImageLoader
7 | from PIL import Image
8 |
9 |
10 | def get_image_files(image_path):
11 | image_files = []
12 | for root, dirs, files in os.walk(image_path, topdown=False):
13 | for name in files:
14 | lower_name = name.lower()
15 | if lower_name.endswith(".jpg") or lower_name.endswith(".png"):
16 | image_files.append(os.path.join(root, name))
17 | return image_files
18 |
19 |
20 | @click.command()
21 | @click.option('--image_path', default='download_images', help='Path to the image')
22 | @click.option('--output_path', default='out_images', help='Path to the output ')
23 | @click.option('--background_type', '-t', default='green', help='rgba map green blur overlay')
24 | @click.option('--fast', '-f', is_flag=True, default=False, help='Fast mode')
25 | @click.option('--jit', '-j', is_flag=True, default=False, help='Jit mode')
26 | def remove_cmd(image_path, output_path, background_type, fast, jit):
27 | if platform.system() == 'Darwin':
28 | os.environ['PYTORCH_ENABLE_MPS_FALLBACK'] = '1'
29 | fns = get_image_files(image_path)
30 | for fn in fns:
31 | remove_background(fn, output_path, background_type, fast, jit)
32 | else:
33 | remove_background(image_path, output_path, background_type, fast, jit)
34 |
35 |
36 | def remove_background(
37 | image_path,
38 | output_path,
39 | background_type,
40 | fast=False,
41 | jit=False,
42 | ckpt=None,
43 | device="cpu"
44 | ):
45 | # Remove the background of the images
46 | # video_path: path to the source
47 | # output_path: path to the output
48 | if not os.path.exists(output_path):
49 | os.makedirs(output_path, exist_ok=True)
50 |
51 | if ckpt is not None:
52 | if not os.path.isfile(ckpt):
53 | ckpt = None
54 | print("ckpt: {} fast: {}".format(ckpt, fast))
55 | remover = Remover(fast=fast, jit=jit, ckpt=ckpt, device=device)
56 |
57 | for img, name in ImageLoader(image_path):
58 | print("Processing: {}".format(name))
59 | out = remover.process(img, background_type)
60 | outname = '{}'.format(os.path.splitext(name)[0])
61 | Image.fromarray(out).save(os.path.join(output_path, '{}.png'.format(outname)))
62 |
63 |
64 | if __name__ == '__main__':
65 | remove_cmd()
66 |
--------------------------------------------------------------------------------
/imagetools/tags.py:
--------------------------------------------------------------------------------
1 | from typing import List, Dict, Tuple
2 |
3 | from utils.translate import tags_en2zh as translate_en2zh
4 | import os
5 | from utils.image2text import clip_image2text, w14_image2text
6 | import random
7 | import PIL.Image
8 |
9 |
10 | def get_tag_from_file(fn: str) -> List[str]:
11 | if not os.path.exists(fn):
12 | return []
13 | with open(fn, "r") as f:
14 | data = f.read().split(",")
15 | tags = [d.strip().replace("_", " ") for d in data if len(d.strip()) > 0]
16 | print(f'Found {len(tags)} tags in {fn}')
17 | return tags
18 |
19 |
20 | def get_tag_files(input_dir: str) -> Dict[str, List[str]]:
21 | tag_files = {}
22 | for root, dirs, files in os.walk(input_dir, topdown=False):
23 | for name in files:
24 | lower_name = name.lower()
25 | if lower_name.endswith(".txt"):
26 | print('Processing', os.path.join(root, name))
27 | tag_files.update(
28 | {os.path.join(root, name): get_tag_from_file(os.path.join(root, name))}
29 | )
30 | return tag_files
31 |
32 |
33 | def get_image_tags_fns(input_dir: str) -> List[Tuple[str, str]]:
34 | image_files = []
35 | image_tags_files = []
36 | for root, dirs, files in os.walk(input_dir, topdown=False):
37 | for name in files:
38 | lower_name = name.lower()
39 | if lower_name.endswith(".jpeg") or lower_name.endswith(".jpg") or lower_name.endswith(".png"):
40 | image_files.append(os.path.join(root, name))
41 |
42 | for image_fn in image_files:
43 | image_tags_files.append(
44 | (
45 | image_fn,
46 | os.path.splitext(image_fn)[0] + '.txt'
47 | )
48 | )
49 |
50 | return image_tags_files
51 |
52 |
53 | def insert_tag2file(new_tags: str, fn: str, tags_pos: str):
54 | tags = get_tag_from_file(fn)
55 |
56 | new_tags = [t.strip().replace("_", " ") for t in new_tags.split(",") if len(t.strip()) > 0]
57 | if tags_pos == "top":
58 | tags = new_tags + tags
59 | elif tags_pos == "bottom":
60 | tags = tags + new_tags
61 | elif tags_pos == "center":
62 | tags = tags[:len(tags) // 2] + new_tags + tags[len(tags) // 2:]
63 | elif tags_pos == "random":
64 | rlen = random.randint(0, len(tags))
65 | tags = tags[:rlen] + new_tags + tags[rlen:]
66 | elif tags_pos == "cover":
67 | tags = new_tags
68 | else:
69 | raise ValueError(f"Unknown mode {tags_pos}")
70 | tags = [t.strip().replace("_", " ") for t in tags if len(t.strip()) > 0]
71 | with open(fn, "w+") as f:
72 | f.write(",".join(tags))
73 |
74 |
75 | def gen_wd14_tags_files(
76 | input_dir: str,
77 | tags_pos: str,
78 | model_name: str,
79 | general_threshold: float,
80 | character_threshold: float,
81 | w14_tags_max_count: int,
82 | ) -> str:
83 | tag_files = get_image_tags_fns(input_dir)
84 | output = []
85 | for image_fn, tags_fn in tag_files:
86 | with PIL.Image.open(image_fn) as image:
87 | tags, c, d, _, _, _ = w14_image2text(
88 | image=image,
89 | model_name=model_name,
90 | general_threshold=general_threshold,
91 | character_threshold=character_threshold
92 | )
93 |
94 | tags = ",".join(tags.split(",")[:w14_tags_max_count])
95 | print(f'{image_fn} -> {tags}')
96 | insert_tag2file(new_tags=tags, tags_pos=tags_pos, fn=tags_fn)
97 | output.append(tags_fn)
98 | return "\n".join(output)
99 |
100 |
101 | def gen_clip_tags_files(input_dir: str, tags_pos: str, clip_mode_type: str, clip_model_name: str) -> str:
102 | tag_files = get_image_tags_fns(input_dir)
103 | output = []
104 | for image_fn, tags_fn in tag_files:
105 | with PIL.Image.open(image_fn) as image:
106 | tags = clip_image2text(image=image, mode_type=clip_mode_type, model_name=clip_model_name)
107 | insert_tag2file(new_tags=tags, tags_pos=tags_pos, fn=tags_fn)
108 | output.append(tags_fn)
109 | return "\n".join(output)
110 |
111 |
112 | def load_translated_tags(input_dir: str) -> Tuple[List[Tuple[str, int]], List[Tuple[str, int]]]:
113 | if not os.path.exists(input_dir) or not os.path.isdir(input_dir):
114 | return [], []
115 |
116 | tag_files = get_tag_files(input_dir)
117 | tags_count = {}
118 |
119 | for _, v in tag_files.items():
120 | for t in v:
121 | tags_count.setdefault(t, 0)
122 | tags_count[t] += 1
123 |
124 | tags_list = sorted(tags_count.keys())
125 | tags_map = translate_tags(
126 | sorted(tags_count.keys())
127 | )
128 | return [(t, tags_count[t]) for t in tags_list], [(tags_map[t], tags_count[t]) for t in tags_list]
129 |
130 |
131 | def translate_tags(tags: List[str]) -> Dict[str, str]:
132 | """Translate a tag to a human readable string."""
133 | tags_zh = [translate_en2zh(tag) for tag in tags]
134 | return dict(zip(tags, tags_zh))
135 |
--------------------------------------------------------------------------------
/imagetools/vedio2image.py:
--------------------------------------------------------------------------------
1 | import subprocess
2 | import click
3 | import cv2
4 | import os
5 | import glob
6 | import shutil
7 | import numpy as np
8 | import math
9 | import re
10 | import logging
11 | from remove_backgroud import remove_background
12 |
13 | _kernel = None
14 |
15 | logger = logging.Logger(__name__)
16 |
17 |
18 | @click.command()
19 | @click.option("--movie_file", "-i", help="movie file", prompt="movie file")
20 | @click.option("--image_path", default="./output_images", help="")
21 | @click.option("--mask_path", default="./output_masks", help="")
22 | @click.option("--fps", help="1/4 (every 4 seconds 1 frame)")
23 | def video2image(movie_file, image_path, fps, mask_path):
24 | if not os.path.exists(image_path):
25 | os.mkdir(image_path)
26 |
27 | if not os.path.exists(mask_path):
28 | os.mkdir(mask_path)
29 |
30 | output_path = os.path.join(image_path, "%05d.png")
31 |
32 | if fps is not None:
33 | fps = "fps={}".format(fps)
34 | else:
35 | fps = ""
36 | cmd = "ffmpeg -ss 00:00:00 -y -i {movie_file} {fps} -f image2 -c:v png {image_path}".format(
37 | movie_file=movie_file,
38 | fps=fps,
39 | image_path=output_path
40 | )
41 | print(cmd)
42 | subprocess.call(cmd, shell=True)
43 | # create_mask_transparent_background(image_path, mask_path)
44 | # keys = analyze_key_frames(png_dir=image_path,mask_dir=mask_path)
45 |
46 |
47 | def mean_pixel_distance(left: np.ndarray, right: np.ndarray) -> float:
48 | """Return the mean average distance in pixel values between `left` and `right`.
49 | Both `left and `right` should be 2 dimensional 8-bit images of the same shape.
50 | """
51 | assert len(left.shape) == 2 and len(right.shape) == 2
52 | assert left.shape == right.shape
53 | num_pixels: float = float(left.shape[0] * left.shape[1])
54 | return (np.sum(np.abs(left.astype(np.int32) - right.astype(np.int32))) / num_pixels)
55 |
56 |
57 | def create_mask_transparent_background(
58 | input_dir,
59 | output_dir,
60 | tb_use_fast_mode=False,
61 | tb_use_jit=False,
62 | st1_mask_threshold=1
63 | ):
64 | bin_path = os.path.join("venv", "Scripts")
65 | bin_path = os.path.join(bin_path, "transparent-background")
66 |
67 | remove_background(image_path=input_dir, output_path=output_dir, background_type="map", fast=tb_use_fast_mode,
68 | jit=tb_use_jit)
69 |
70 | mask_imgs = glob.glob(os.path.join(output_dir, "*.png"))
71 |
72 | for m in mask_imgs:
73 | img = cv2.imread(m)
74 | img[img < int(255 * st1_mask_threshold)] = 0
75 | cv2.imwrite(m, img)
76 |
77 | p = re.compile(r'([0-9]+)_[a-z]*\.png')
78 |
79 | for mask in mask_imgs:
80 | base_name = os.path.basename(mask)
81 | m = p.fullmatch(base_name)
82 | if m:
83 | os.rename(mask, os.path.join(output_dir, m.group(1) + ".png"))
84 |
85 |
86 | def estimated_kernel_size(frame_width: int, frame_height: int) -> int:
87 | """Estimate kernel size based on video resolution."""
88 | size: int = 4 + round(math.sqrt(frame_width * frame_height) / 192)
89 | if size % 2 == 0:
90 | size += 1
91 | return
92 |
93 |
94 | def _detect_edges(lum: np.ndarray) -> np.ndarray:
95 | global _kernel
96 | """Detect edges using the luma channel of a frame.
97 | Arguments:
98 | lum: 2D 8-bit image representing the luma channel of a frame.
99 | Returns:
100 | 2D 8-bit image of the same size as the input, where pixels with values of 255
101 | represent edges, and all other pixels are 0.
102 | """
103 | # Initialize kernel.
104 | if _kernel is None:
105 | kernel_size = estimated_kernel_size(lum.shape[1], lum.shape[0])
106 | _kernel = np.ones((kernel_size, kernel_size), np.uint8)
107 |
108 | # Estimate levels for thresholding.
109 | sigma: float = 1.0 / 3.0
110 | median = np.median(lum)
111 | low = int(max(0, (1.0 - sigma) * median))
112 | high = int(min(255, (1.0 + sigma) * median))
113 |
114 | # Calculate edges using Canny algorithm, and reduce noise by dilating the edges.
115 | # This increases edge overlap leading to improved robustness against noise and slow
116 | # camera movement. Note that very large kernel sizes can negatively affect accuracy.
117 | edges = cv2.Canny(lum, low, high)
118 | return cv2.dilate(edges, _kernel)
119 |
120 |
121 | def detect_edges(img_path, mask_path, is_invert_mask):
122 | im = cv2.imread(img_path)
123 | if mask_path:
124 | mask = cv2.imread(mask_path)[:, :, 0]
125 | mask = mask[:, :, np.newaxis]
126 | im = im * ((mask == 0) if is_invert_mask else (mask > 0))
127 | # im = im * (mask/255)
128 | # im = im.astype(np.uint8)
129 | # cv2.imwrite( os.path.join( os.path.dirname(mask_path) , "tmp.png" ) , im)
130 |
131 | hue, sat, lum = cv2.split(cv2.cvtColor(im, cv2.COLOR_BGR2HSV))
132 | return _detect_edges(lum)
133 |
134 |
135 | def get_mask_path_of_img(img_path, mask_dir):
136 | img_basename = os.path.basename(img_path)
137 | mask_path = os.path.join(mask_dir, img_basename)
138 | return mask_path if os.path.isfile(mask_path) else None
139 |
140 |
141 | def analyze_key_frames(png_dir, mask_dir, th=8.5, min_gap=10, max_gap=300, add_last_frame=True, is_invert_mask=False):
142 | keys = []
143 |
144 | frames = sorted(glob.glob(os.path.join(png_dir, "[0-9]*.png")))
145 |
146 | key_frame = frames[0]
147 | keys.append(int(os.path.splitext(os.path.basename(key_frame))[0]))
148 | key_edges = detect_edges(key_frame, get_mask_path_of_img(key_frame, mask_dir), is_invert_mask)
149 | gap = 0
150 |
151 | for frame in frames:
152 | gap += 1
153 | if gap < min_gap:
154 | continue
155 |
156 | edges = detect_edges(frame, get_mask_path_of_img(frame, mask_dir), is_invert_mask)
157 |
158 | delta = mean_pixel_distance(edges, key_edges)
159 |
160 | _th = th * (max_gap - gap) / max_gap
161 |
162 | if _th < delta:
163 | basename_without_ext = os.path.splitext(os.path.basename(frame))[0]
164 | keys.append(int(basename_without_ext))
165 | key_frame = frame
166 | key_edges = edges
167 | gap = 0
168 |
169 | if add_last_frame:
170 | basename_without_ext = os.path.splitext(os.path.basename(frames[-1]))[0]
171 | last_frame = int(basename_without_ext)
172 | if not last_frame in keys:
173 | keys.append(last_frame)
174 |
175 | return keys
176 |
177 |
178 | if __name__ == "__main__":
179 | video2image()
180 |
--------------------------------------------------------------------------------
/img/chatglm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhongpei/image2text_prompt_generator/68f7e94f4b4e4fca4de10dd42c2000373d8102ea/img/chatglm.png
--------------------------------------------------------------------------------
/img/chrome_ex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhongpei/image2text_prompt_generator/68f7e94f4b4e4fca4de10dd42c2000373d8102ea/img/chrome_ex.png
--------------------------------------------------------------------------------
/img/hg_cache.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhongpei/image2text_prompt_generator/68f7e94f4b4e4fca4de10dd42c2000373d8102ea/img/hg_cache.png
--------------------------------------------------------------------------------
/img/image2text.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhongpei/image2text_prompt_generator/68f7e94f4b4e4fca4de10dd42c2000373d8102ea/img/image2text.png
--------------------------------------------------------------------------------
/img/imagetools.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhongpei/image2text_prompt_generator/68f7e94f4b4e4fca4de10dd42c2000373d8102ea/img/imagetools.png
--------------------------------------------------------------------------------
/img/imagetools.tags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhongpei/image2text_prompt_generator/68f7e94f4b4e4fca4de10dd42c2000373d8102ea/img/imagetools.tags.png
--------------------------------------------------------------------------------
/img/param.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhongpei/image2text_prompt_generator/68f7e94f4b4e4fca4de10dd42c2000373d8102ea/img/param.png
--------------------------------------------------------------------------------
/img/setting.offline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhongpei/image2text_prompt_generator/68f7e94f4b4e4fca4de10dd42c2000373d8102ea/img/setting.offline.png
--------------------------------------------------------------------------------
/img/text2text.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhongpei/image2text_prompt_generator/68f7e94f4b4e4fca4de10dd42c2000373d8102ea/img/text2text.png
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | transformers==4.27.4
2 | sentencepiece==0.1.97
3 | sacremoses==0.0.53
4 | torch==2.0.0
5 | gradio==3.24.1
6 | pillow>=9.0.0
7 | piexif>=1.1.3
8 | onnxruntime>=1.12.0
9 | protobuf==3.20.2
10 | opencv-python==4.7.0.72
11 | huggingface-hub==0.13.2
12 | clip-interrogator==0.6.0
13 | cpm_kernels==1.0.11
14 | mdtex2html==1.2.0
15 | httpx[socks]
16 | numba==0.56.4
17 | click==8.1.3
18 | dynaconf==3.1.12
19 | ## image-tools
20 | # deepface==0.0.79
21 | git+https://github.com/zhongpei/transparent-background
22 | mediapipe==0.9.1.0
23 | autocrop==1.3.0
24 |
25 | ## api
26 | sse-starlette==1.3.3
27 | fastapi==0.95.0
28 |
29 | ## langchain
30 | langchain>=0.0.124
31 | unstructured[local-inference]
32 | layoutparser[layoutmodels,tesseract]
33 | faiss-cpu
34 | sentence-transformers
35 |
--------------------------------------------------------------------------------
/settings-offline.toml:
--------------------------------------------------------------------------------
1 | [server]
2 | port = 7868 # 端口
3 | host = '127.0.0.1' # 局域网访问需要改成 "0.0.0.0"
4 | enable_queue = true # chat功能需要开启,如错误,需要关闭代理
5 | queue_size = 10
6 | show_api = false
7 | debug = true
8 |
9 |
10 | [api]
11 | generate_num_return_sequences = 2 # 生成返回数量
12 | generate_translate = true # 是否启用生成翻译功能
13 |
14 | [image_tools]
15 | enable = true # 是否启用图片处理功能
16 | device = "cuda" # cpu mps cuda
17 | transparent_background_model_path = ".\\models\\transparent-background\\ckpt_base.pth" # transparent-background模型路径
18 |
19 |
20 | [generator]
21 | enable = true # 是否启用generator功能
22 | device = "cuda" # cpu mps cuda
23 | fix_sd_prompt = true # 是否修复sd prompt
24 | # models
25 | microsoft_model = ".\\models\\Promptist"
26 | gpt2_650k_model = ".\\models\\gpt2-650k-stable-diffusion-prompt-generator"
27 | gpt_neo_125m_model = ".\\models\\StableDiffusion-Prompt-Generator-GPT-Neo-125M"
28 | mj_model = ".\\models\\text2image-prompt-generator"
29 | local_files_only = true # 是否只使用本地模型
30 |
31 | default_model_name = "microsoft" # microsoft gpt2_650k gpt_neo_125m mj
32 | default_num_return_sequences = 4 # 生成返回数量
33 |
34 | [clip]
35 | default_model_name = "vit_l_14" # vit_h_14 vit_l_14
36 | default_model_type = "fast" # fast best classic negative
37 |
38 | [git]
39 | model = "microsoft/git-large-coco" # "microsoft/git-large-coco"
40 |
41 | [wd14]
42 | default_model_name="ConvNextV2"
43 | default_general_threshold=0.35
44 | default_character_threshold=0.85
45 | local_files_only = true # 是否只使用本地模型
46 | model_dir = ".\\models"
47 |
48 | [translate]
49 | enable = true # 是否启用翻译功能
50 | device = "cuda" # cpu mps cuda
51 | local_files_only = true # 是否只使用本地模型
52 | zh2en_model = ".\\models\\opus-mt-zh-en"
53 | en2zh_model = ".\\models\\opus-mt-en-zh"
54 |
55 | cache_dir = "./data/translate_cache" # 翻译缓存目录
56 |
57 |
58 | [chatglm]
59 | # 本地模型 https://github.com/THUDM/ChatGLM-6B#从本地加载模型
60 | model = ".\\models\\chatglm-6b-int4" # ./chatglm-6b-int4 ./chatglm-6b-int8 ./chatglm-6b
61 | device = "cuda" # cpu mps cuda
62 | enable_chat = true # 是否启用聊天功能
63 | local_files_only = true # 是否只使用本地模型
64 |
--------------------------------------------------------------------------------
/settings.toml:
--------------------------------------------------------------------------------
1 | [server]
2 | port = 7868 # 端口
3 | host = '127.0.0.1' # 局域网访问需要改成 "0.0.0.0"
4 | enable_queue = false # chat功能需要开启,如错误,需要关闭代理
5 | queue_size = 10
6 | show_api = false
7 | debug = true
8 |
9 |
10 | [api]
11 | generate_num_return_sequences = 2 # 生成返回数量
12 | generate_translate = true # 是否启用生成翻译功能
13 |
14 | [image_tools]
15 | enable = true # 是否启用图片处理功能plugin
16 | device = "cuda" # cpu mps cuda
17 | transparent_background_model_path = "./models/transparent-background/ckpt_base.pth" # transparent-background模型路径
18 |
19 |
20 | [generator]
21 | enable = true # 是否启用generator功能
22 | device = "cuda" # cpu mps cuda
23 | fix_sd_prompt = true # 是否修复sd prompt
24 | # models
25 | microsoft_model = "microsoft/Promptist"
26 | gpt2_650k_model = "Ar4ikov/gpt2-650k-stable-diffusion-prompt-generator"
27 | gpt_neo_125m_model = "DrishtiSharma/StableDiffusion-Prompt-Generator-GPT-Neo-125M"
28 | mj_model = "succinctly/text2image-prompt-generator"
29 | local_files_only = false # 是否只使用本地模型
30 |
31 | default_model_name = "microsoft" # microsoft gpt2_650k gpt_neo_125m mj
32 | default_num_return_sequences = 4 # 生成返回数量
33 |
34 | [clip]
35 | default_model_name = "vit_l_14" # vit_h_14 vit_l_14
36 | default_model_type = "fast" # fast best classic negative
37 |
38 | [wd14]
39 | default_model_name = "ConvNextV2"
40 | default_general_threshold = 0.35
41 | default_character_threshold = 0.85
42 | local_files_only = false # 是否只使用本地模型
43 | model_dir = ".\\models"
44 |
45 | [translate]
46 | enable = true # 是否启用翻译功能
47 | device = "cuda" # cpu mps cuda
48 | local_files_only = false # 是否只使用本地模型
49 |
50 | zh2en_model = "Helsinki-NLP/opus-mt-zh-en"
51 | en2zh_model = "Helsinki-NLP/opus-mt-en-zh"
52 |
53 | cache_dir = "./data/translate_cache" # 翻译缓存目录
54 |
55 | # zh2en_model = "./models/opus-mt-zh-en"
56 | # en2zh_model = "./models/opus-mt-en-zh"
57 |
58 | [chatglm]
59 | model = "THUDM/chatglm-6b-int4" # THUDM/chatglm-6b-int4 THUDM/chatglm-6b-int8 THUDM/chatglm-6b
60 |
61 | # 本地模型 https://github.com/THUDM/ChatGLM-6B#从本地加载模型
62 | # model = "./models/chatglm-6b-int4"
63 |
64 | device = "cuda" # cpu mps cuda
65 | enable_chat = false # 是否启用聊天功能plugin
66 | local_files_only = false # 是否只使用本地模型
--------------------------------------------------------------------------------
/ui/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhongpei/image2text_prompt_generator/68f7e94f4b4e4fca4de10dd42c2000373d8102ea/ui/__init__.py
--------------------------------------------------------------------------------
/ui/chat.py:
--------------------------------------------------------------------------------
1 | import torch
2 |
3 | from utils.chatglm import models as chatglm_models
4 | from .chain import chain_ui
5 | import gradio as gr
6 | from .chain import get_answer
7 |
8 | device = "cuda" if torch.cuda.is_available() else "cpu"
9 |
10 |
11 | def update_status(history, status):
12 | history = history + [[None, status]]
13 | print(status)
14 | return history
15 |
16 |
17 | def predict_continue(
18 | query,
19 | latest_message,
20 | max_length,
21 | top_p,
22 | temperature,
23 | allow_generate,
24 | history,
25 | chat_mode='chat',
26 |
27 | ):
28 | if chat_mode == "chat":
29 | yield chatglm_models.chatglm.predict_continue(
30 | query=query,
31 | latest_message=latest_message,
32 | max_lengt=max_length,
33 | top_p=top_p,
34 | temperature=temperature,
35 | allow_generate=allow_generate,
36 | history=history,
37 | )
38 | elif chat_mode == "chain":
39 | from .chain import get_answer
40 | return get_answer(query, history)
41 | else:
42 | raise ValueError(f"Unknown chat mode {chat_mode}")
43 |
44 |
45 | def chatglm_ui():
46 | with gr.Tab('Chat'):
47 | def revise(history, latest_message):
48 | history[-1] = (history[-1][0], latest_message)
49 | return history, ''
50 |
51 | def revoke(history):
52 | if len(history) >= 1:
53 | history.pop()
54 | return history
55 |
56 | def interrupt(allow_generate):
57 | allow_generate[0] = False
58 |
59 | def reset_state():
60 | return [], []
61 |
62 | history = gr.State([])
63 |
64 | with gr.Tab("ChatGLM"):
65 | with gr.Row():
66 | with gr.Column(scale=4):
67 | chatbot = gr.Chatbot(
68 | elem_id="chat-box",
69 | show_label=False
70 | ).style(height=800)
71 | with gr.Column(scale=-1):
72 | with gr.Row():
73 | max_length = gr.Slider(32, 4096, value=2048, step=1, label="Maximum length", interactive=True)
74 | top_p = gr.Slider(0.01, 1, value=0.7, step=0.01, label="Top P", interactive=True)
75 | temperature = gr.Slider(0.01, 5, value=0.95, step=0.01, label="Temperature", interactive=True)
76 |
77 | with gr.Row():
78 | query = gr.Textbox(show_label=False, placeholder="Prompts", lines=4).style(container=False)
79 | generate_button = gr.Button("生成")
80 | chain_generate_button = gr.Button("知识库问答")
81 | chain_generate_button.click(get_answer, inputs=[query, history], outputs=[chatbot])
82 | with gr.Row():
83 | continue_message = gr.Textbox(
84 | show_label=False, placeholder="Continue message", lines=2).style(container=False)
85 | continue_btn = gr.Button("续写")
86 | revise_message = gr.Textbox(
87 | show_label=False, placeholder="Revise message", lines=2).style(container=False)
88 | revise_btn = gr.Button("修订")
89 | revoke_btn = gr.Button("撤回")
90 | interrupt_btn = gr.Button("终止生成")
91 | reset_btn = gr.Button("清空")
92 |
93 | with gr.Tab("Chain"):
94 | chain_ui()
95 |
96 | allow_generate = gr.State([True])
97 | blank_input = gr.State("")
98 | reset_btn.click(reset_state, outputs=[chatbot, history], show_progress=True)
99 | generate_button.click(
100 | chatglm_models.chatglm.predict_continue,
101 | inputs=[query, blank_input, max_length, top_p, temperature, allow_generate, history],
102 | outputs=[chatbot, query]
103 | )
104 | revise_btn.click(revise, inputs=[history, revise_message], outputs=[chatbot, revise_message])
105 | revoke_btn.click(revoke, inputs=[history], outputs=[chatbot])
106 | continue_btn.click(
107 | chatglm_models.chatglm.predict_continue,
108 | inputs=[query, continue_message, max_length, top_p, temperature, allow_generate, history],
109 | outputs=[chatbot, query, continue_message]
110 | )
111 | interrupt_btn.click(interrupt, inputs=[allow_generate])
112 |
--------------------------------------------------------------------------------
/ui/image2text.py:
--------------------------------------------------------------------------------
1 | import gradio as gr
2 | from config import settings
3 |
4 |
5 | def image2text_settings_ui():
6 | with gr.Accordion('GIT参数', open=True):
7 | git_max_length = gr.Slider(1, 512, 200, label='max_length', step=1)
8 | with gr.Accordion('CLIP参数', open=True):
9 | clip_mode_type = gr.Radio(
10 | ['best', 'classic', 'fast', 'negative'],
11 | value=settings.clip.default_model_type,
12 | label='mode_type'
13 | )
14 | clip_model_name = gr.Radio(
15 | ['vit_h_14', 'vit_l_14', ],
16 | value=settings.clip.default_model_name,
17 | label='model_name'
18 | )
19 | with gr.Accordion('WD14参数', open=True):
20 | wd14_model_name = gr.Radio(
21 | [
22 | "SwinV2",
23 | "ConvNext",
24 | "ConvNextV2",
25 | "ViT",
26 | ],
27 | value=settings.wd14.default_model_name,
28 | label="Model"
29 | )
30 | wd14_general_threshold = gr.Slider(
31 | 0,
32 | 1,
33 | step=0.05,
34 | value=settings.wd14.default_general_threshold,
35 | label="General Tags Threshold",
36 | )
37 | wd14_character_threshold = gr.Slider(
38 | 0,
39 | 1,
40 | step=0.05,
41 | value=settings.wd14.default_character_threshold,
42 | label="Character Tags Threshold",
43 | )
44 | return git_max_length, clip_mode_type, clip_model_name, wd14_model_name, wd14_general_threshold, wd14_character_threshold
45 |
--------------------------------------------------------------------------------
/utils/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhongpei/image2text_prompt_generator/68f7e94f4b4e4fca4de10dd42c2000373d8102ea/utils/__init__.py
--------------------------------------------------------------------------------
/utils/dbimutils.py:
--------------------------------------------------------------------------------
1 | # DanBooru IMage Utility functions
2 |
3 | import cv2
4 | import numpy as np
5 | from PIL import Image
6 |
7 |
8 | def smart_imread(img, flag=cv2.IMREAD_UNCHANGED):
9 | if img.endswith(".gif"):
10 | img = Image.open(img)
11 | img = img.convert("RGB")
12 | img = cv2.cvtColor(np.array(img), cv2.COLOR_RGB2BGR)
13 | else:
14 | img = cv2.imread(img, flag)
15 | return img
16 |
17 |
18 | def smart_24bit(img):
19 | if img.dtype is np.dtype(np.uint16):
20 | img = (img / 257).astype(np.uint8)
21 |
22 | if len(img.shape) == 2:
23 | img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
24 | elif img.shape[2] == 4:
25 | trans_mask = img[:, :, 3] == 0
26 | img[trans_mask] = [255, 255, 255, 255]
27 | img = cv2.cvtColor(img, cv2.COLOR_BGRA2BGR)
28 | return img
29 |
30 |
31 | def make_square(img, target_size):
32 | old_size = img.shape[:2]
33 | desired_size = max(old_size)
34 | desired_size = max(desired_size, target_size)
35 |
36 | delta_w = desired_size - old_size[1]
37 | delta_h = desired_size - old_size[0]
38 | top, bottom = delta_h // 2, delta_h - (delta_h // 2)
39 | left, right = delta_w // 2, delta_w - (delta_w // 2)
40 |
41 | color = [255, 255, 255]
42 | new_im = cv2.copyMakeBorder(
43 | img, top, bottom, left, right, cv2.BORDER_CONSTANT, value=color
44 | )
45 | return new_im
46 |
47 |
48 | def smart_resize(img, size):
49 | # Assumes the image has already gone through make_square
50 | if img.shape[0] > size:
51 | img = cv2.resize(img, (size, size), interpolation=cv2.INTER_AREA)
52 | elif img.shape[0] < size:
53 | img = cv2.resize(img, (size, size), interpolation=cv2.INTER_CUBIC)
54 | return img
55 |
--------------------------------------------------------------------------------
/utils/exif.py:
--------------------------------------------------------------------------------
1 | import piexif
2 | import piexif.helper
3 | from .html import plaintext_to_html
4 |
5 |
6 | def get_image_info(rawimage):
7 | items = rawimage.info
8 | geninfo = ""
9 |
10 | if "exif" in rawimage.info:
11 | exif = piexif.load(rawimage.info["exif"])
12 | exif_comment = (exif or {}).get("Exif", {}).get(piexif.ExifIFD.UserComment, b"")
13 | try:
14 | exif_comment = piexif.helper.UserComment.load(exif_comment)
15 | except ValueError:
16 | exif_comment = exif_comment.decode("utf8", errors="ignore")
17 |
18 | items["exif comment"] = exif_comment
19 | geninfo = exif_comment
20 |
21 | for field in [
22 | "jfif",
23 | "jfif_version",
24 | "jfif_unit",
25 | "jfif_density",
26 | "dpi",
27 | "exif",
28 | "loop",
29 | "background",
30 | "timestamp",
31 | "duration",
32 | ]:
33 | items.pop(field, None)
34 |
35 | geninfo = items.get("parameters", geninfo)
36 |
37 | info = f"""
38 | PNG Info
39 | """
40 | for key, text in items.items():
41 | info += (
42 | f"""
43 |
44 |
{plaintext_to_html(str(key))}
45 |
{plaintext_to_html(str(text))}
46 |
47 | """.strip()
48 | + "\n"
49 | )
50 |
51 | if len(info) == 0:
52 | message = "Nothing found in the image."
53 | info = f""
54 | return info
55 |
--------------------------------------------------------------------------------
/utils/html.py:
--------------------------------------------------------------------------------
1 | import html
2 |
3 |
4 | def plaintext_to_html(text):
5 | text = (
6 | "" + "
\n".join([f"{html.escape(x)}" for x in text.split("\n")]) + "
"
7 | )
8 | return text
9 |
--------------------------------------------------------------------------------
/utils/models.py:
--------------------------------------------------------------------------------
1 | from typing import Any
2 | import threading
3 | from abc import ABC, abstractmethod
4 |
5 |
6 | class ModelsBase(object):
7 | def __init__(self):
8 | self.models = {}
9 | self.lock = threading.Lock()
10 |
11 | def unload(self):
12 | with self.lock:
13 | for name in list(self.models.keys()):
14 | del self.models[name]
15 | del self.models
16 | self.models = {}
17 |
18 | def __getattr__(self, item):
19 |
20 | if item in self.models:
21 | return self.models[item]
22 |
23 | self.load(item)
24 | if item in self.models:
25 | return self.models[item]
26 |
27 | return getattr(self, item)
28 |
29 | def load(self, item: str) -> None:
30 |
31 | raise NotImplementedError
32 |
33 | def register(self, name: str, model: Any) -> None:
34 | with self.lock:
35 | print(f'Register {name} ...')
36 |
37 | if name in self.models:
38 | print(f"Unloading {name} ...")
39 | # delattr(self, name)
40 | del self.models[name]
41 |
42 | self.models[name] = model
43 |
44 | # setattr(self, name, model)
45 |
--------------------------------------------------------------------------------
/utils/singleton.py:
--------------------------------------------------------------------------------
1 | class Singleton:
2 | """
3 | A non-thread-safe helper class to ease implementing singletons.
4 | This should be used as a decorator -- not a metaclass -- to the
5 | class that should be a singleton.
6 |
7 | The decorated class can define one `__init__` function that
8 | takes only the `self` argument. Also, the decorated class cannot be
9 | inherited from. Other than that, there are no restrictions that apply
10 | to the decorated class.
11 |
12 | To get the singleton instance, use the `instance` method. Trying
13 | to use `__call__` will result in a `TypeError` being raised.
14 |
15 | """
16 |
17 | def __init__(self, decorated):
18 | self._decorated = decorated
19 |
20 | def instance(self):
21 | """
22 | Returns the singleton instance. Upon its first call, it creates a
23 | new instance of the decorated class and calls its `__init__` method.
24 | On all subsequent calls, the already created instance is returned.
25 |
26 | """
27 | try:
28 | return self._instance
29 | except AttributeError:
30 | self._instance = self._decorated()
31 | return self._instance
32 |
33 | def __call__(self):
34 | raise TypeError('Singletons must be accessed through `instance()`.')
35 |
36 | def __instancecheck__(self, inst):
37 | return isinstance(inst, self._decorated)
38 |
--------------------------------------------------------------------------------
/utils/textsplitter.py:
--------------------------------------------------------------------------------
1 | import re
2 | from typing import List
3 |
4 | from langchain.text_splitter import CharacterTextSplitter
5 |
6 |
7 | class ChineseTextSplitter(CharacterTextSplitter):
8 | def __init__(self, pdf: bool = False, min_length=200, max_length=512, **kwargs):
9 | super().__init__(**kwargs)
10 | self.pdf = pdf
11 | self.min_length = min_length
12 | self.max_length = max_length
13 | self.sent_sep_pattern = re.compile('([﹒﹖﹗.。!?]["’”」』]{0,2}|(?=["‘“「『]{1,2}|$))') # del :;
14 | self.sent_sep_pattern_2 = re.compile('([,,;;])')
15 |
16 | def fix_length(self, sent_list: List[str]) -> List[str]:
17 | new_sent_list = []
18 |
19 | for i in range(len(sent_list)):
20 | last_sent = new_sent_list[-1] if new_sent_list else ""
21 | sent = sent_list[i]
22 |
23 | if len(last_sent) < self.min_length and new_sent_list:
24 | new_sent_list[-1] += sent
25 | elif len(sent) > self.max_length:
26 | new_sent_list.extend(self.__split_text(sent, self.sent_sep_pattern_2))
27 | else:
28 | new_sent_list.append(sent)
29 | return new_sent_list
30 |
31 | def split_text(self, text: str) -> List[str]:
32 | sent_list = self.__split_text(text)
33 |
34 | fix_list = self.fix_length(sent_list)
35 | print(f"text: {len(text)} ==> split: {len(sent_list)} fix: {len(fix_list)}")
36 |
37 | return fix_list
38 |
39 | def __split_text(self, text: str, sent_sep_pattern=None) -> List[str]:
40 | if self.pdf:
41 | text = re.sub(r"\n{3,}", "\n", text)
42 | text = re.sub('\s', ' ', text)
43 | text = text.replace("\n\n", "")
44 |
45 | if sent_sep_pattern is None:
46 | sent_sep_pattern = self.sent_sep_pattern
47 |
48 | sent_list = []
49 | for ele in sent_sep_pattern.split(text):
50 | if sent_sep_pattern.match(ele) and sent_list:
51 | sent_list[-1] += ele
52 | elif ele:
53 | sent_list.append(ele)
54 | return sent_list
55 |
56 |
57 | if __name__ == '__main__':
58 | test_text = """娘儿们说了回话,不觉五更,鸡叫天明。吴月娘梳洗面貌,走到禅堂中,礼佛烧香。只见普静老师在禅床上高叫:“那吴氏娘子,你如何可省悟得了么?”
59 |
60 | 这月娘便跪下参拜:“上告尊师,弟子吴氏,肉眼凡胎,不知师父是一尊古佛。适间一梦中都已省悟了。”
61 |
62 | 老师道:“既已省悟,也不消前去,你就去,也无过只是如此。倒没的丧了五口儿性命。你这儿子,有分有缘遇着我,都是你平日一点善根所种。不然,定然难免骨肉分离。当初,你去世夫主西门庆造恶非善,此子转身托化你家,本要荡散其财本,倾覆其产业,临死还当身首羿处。今我度脱了他去,做了徒弟,常言‘一子出家,九祖升天’,你那夫主冤愆解释,亦得超生去了。你不信,跟我来,与你看一看。”
63 |
64 | 于是叉步来到方丈内,只见孝哥儿还睡在床上。老师将手中禅杖,向他头上只一点,教月娘众人看。忽然翻过身来,却是西门庆,项带沉枷,腰系铁索。复用禅杖只一点,依旧是孝哥儿睡在床上。月娘见了,不觉放声大哭,原来孝哥儿即是西门庆托生。
65 |
66 | 良久,孝哥儿醒了。月娘问他:“如何你跟了师父出家。"""
67 | text = "".join([test_text] * 1)
68 | splitter = ChineseTextSplitter(min_length=100, max_length=500, pdf=False)
69 |
70 | print([(l, len(l)) for l in splitter.split_text(text)])
71 | splitter = ChineseTextSplitter(min_length=10, max_length=20)
72 | print([(l, len(l)) for l in splitter.split_text(text)])
73 |
--------------------------------------------------------------------------------
/utils/translate.py:
--------------------------------------------------------------------------------
1 | import os
2 | from typing import Any
3 | from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
4 | import torch
5 | from .singleton import Singleton
6 | import re
7 | import threading
8 | from config import settings
9 | from .models import ModelsBase
10 |
11 | device = "cuda" if torch.cuda.is_available() else "cpu"
12 |
13 | if settings.translate.device == "cpu":
14 | device = "cpu"
15 |
16 |
17 | @Singleton
18 | class Models(ModelsBase):
19 | def __init__(self):
20 | super().__init__()
21 |
22 | def load(self, item: str) -> None:
23 |
24 | if item in ('zh2en_model', 'zh2en_tokenizer',):
25 | zh2en_model, zh2en_tokenizer = self.load_model(settings.translate.zh2en_model)
26 |
27 | self.register('zh2en_model', zh2en_model)
28 | self.register('zh2en_tokenizer', zh2en_tokenizer)
29 |
30 | if item in ('en2zh_model', 'en2zh_tokenizer',):
31 | en2zh_model, en2zh_tokenizer = self.load_model(settings.translate.en2zh_model)
32 | self.register('en2zh_model', en2zh_model)
33 | self.register('en2zh_tokenizer', en2zh_tokenizer)
34 |
35 | @classmethod
36 | def load_model(cls, model_name: str):
37 | model = AutoModelForSeq2SeqLM.from_pretrained(
38 | model_name,
39 | trust_remote_code=True,
40 | resume_download=True,
41 | local_files_only=settings.translate.local_files_only,
42 | ).to(device).eval()
43 | tokenizer = AutoTokenizer.from_pretrained(
44 | model_name,
45 | trust_remote_code=True,
46 | resume_download=True,
47 | local_files_only=settings.translate.local_files_only,
48 | )
49 | return model, tokenizer
50 |
51 |
52 | models = Models.instance()
53 |
54 |
55 | @Singleton
56 | class TranslateLocalCache(object):
57 | def __init__(self):
58 |
59 | if os.path.exists(settings.translate.cache_dir) and os.path.isdir(settings.translate.cache_dir):
60 | self.cache = self.load_cache(settings.translate.cache_dir)
61 | else:
62 | self.cache = {}
63 |
64 | @classmethod
65 | def get_cache_fns(cls, cache_dir):
66 | fns = []
67 | for root, dirs, files in os.walk(cache_dir, topdown=False):
68 | for name in files:
69 | lower_name = name.lower()
70 | if lower_name.endswith(".txt"):
71 | fns.append(os.path.join(root, name))
72 | return fns
73 |
74 | @classmethod
75 | def load_cache(cls, cache_dir):
76 | cache = {}
77 |
78 | for cache_file in cls.get_cache_fns(cache_dir):
79 | with open(cache_file, "r", encoding='utf8') as f:
80 | lines = f.readlines()
81 | print(f"Loading cache from {cache_file} count: {len(lines)}")
82 | for line in lines:
83 | if len(line.split("=")) != 2:
84 | continue
85 | key, value = line.split("=")
86 | cache[key] = value
87 | return cache
88 |
89 | def __call__(self, func):
90 | def wrapper(*args, **kwargs):
91 | key = args[0]
92 | if key in self.cache:
93 | return self.cache[key]
94 | else:
95 | result = func(*args, **kwargs)
96 | with threading.Lock():
97 | self.cache[key] = result
98 | return result
99 |
100 | return wrapper
101 |
102 |
103 | translate_cache = TranslateLocalCache.instance()
104 |
105 |
106 | def fix_text(text: str) -> str:
107 | text = text.strip()
108 | text_lines = [t.strip() for t in text.split("\n") if len(t.strip()) > 0]
109 |
110 | return "".join(text_lines)
111 |
112 |
113 | @torch.no_grad()
114 | def _zh2en(text: str, max_new_tokens: int = 512) -> str:
115 | text = fix_text(text)
116 | with torch.no_grad():
117 | encoded = models.zh2en_tokenizer([text], return_tensors="pt").to(models.zh2en_model.device)
118 | sequences = models.zh2en_model.generate(**encoded, max_new_tokens=max_new_tokens)
119 | return models.zh2en_tokenizer.batch_decode(sequences, skip_special_tokens=True)[0]
120 |
121 |
122 | @torch.no_grad()
123 | def _en2zh(text: str, max_new_tokens: int = 512) -> str:
124 | text = fix_text(text)
125 | with torch.no_grad():
126 | encoded = models.en2zh_tokenizer([text], return_tensors="pt").to(models.zh2en_model.device)
127 | sequences = models.en2zh_model.generate(**encoded, max_new_tokens=max_new_tokens)
128 | return models.en2zh_tokenizer.batch_decode(sequences, skip_special_tokens=True)[0]
129 |
130 |
131 | def tags_en2zh(text: str, max_new_tokens: int = 512) -> str:
132 | output = translate_cache(_en2zh)(text, max_new_tokens)
133 | output = output.strip(",")
134 | output = re.sub(r",,+", ",", output)
135 | output = ",".join(list(set(output.split(","))))
136 | return output
137 |
138 |
139 | def en2zh(text: str, max_new_tokens: int = 512) -> str:
140 | return translate_cache(_en2zh)(text, max_new_tokens)
141 |
142 |
143 | def zh2en(text: str, max_new_tokens: int = 512) -> str:
144 | return translate_cache(_zh2en)(text, max_new_tokens)
145 |
146 |
147 | if __name__ == "__main__":
148 | input_text = "飞流直下三千尺,疑是银河落九天"
149 | en = zh2en(input_text)
150 | print(input_text, en)
151 | zh = en2zh(en)
152 | print(en, zh)
153 |
--------------------------------------------------------------------------------
/webui.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | set PYTHON=".\system\python\Scripts\python.exe"
4 | set GIT=
5 | set VENV_DIR=.\system\python
6 |
7 | :activate_venv
8 | set PYTHON="%VENV_DIR%\Python.exe"
9 | echo venv %PYTHON%
10 |
11 |
12 | :launch
13 | %PYTHON% app.py %*
14 | pause
15 | exit /b
16 |
--------------------------------------------------------------------------------
/webui.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | ./venv/bin/activate
4 |
5 | python app.py
6 |
--------------------------------------------------------------------------------
/webui_chat.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | set PYTHON=".\system\python\Scripts\python.exe"
4 | set GIT=
5 | set VENV_DIR=.\system\python
6 |
7 | :activate_venv
8 | set PYTHON="%VENV_DIR%\Python.exe"
9 | echo venv %PYTHON%
10 |
11 |
12 | :launch
13 | %PYTHON% app.py --chat --queue %*
14 | pause
15 | exit /b
16 |
--------------------------------------------------------------------------------
/webui_imagetools.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | set PYTHON=".\system\python\Scripts\python.exe"
4 | set GIT=
5 | set VENV_DIR=.\system\python
6 |
7 | :activate_venv
8 | set PYTHON="%VENV_DIR%\Python.exe"
9 | echo venv %PYTHON%
10 |
11 |
12 | :launch
13 | %PYTHON% app_imagetools.py --port 7899 %*
14 | pause
15 | exit /b
16 |
--------------------------------------------------------------------------------
/webui_imagetools.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # mac os
4 | PYTORCH_ENABLE_MPS_FALLBACK=1 python app_imagetools.py --port 7865
5 |
6 |
--------------------------------------------------------------------------------
/webui_offline.bat:
--------------------------------------------------------------------------------
1 |
2 |
3 | @echo off
4 |
5 |
6 |
7 |
8 | set PYTHON=".\system\python\Scripts\python.exe"
9 | set GIT=
10 | set VENV_DIR=.\system\python
11 |
12 | :activate_venv
13 | set SETTINGS_FILE_FOR_DYNACONF="settings-offline.toml"
14 | set PYTHON="%VENV_DIR%\Python.exe"
15 | echo venv %PYTHON%
16 |
17 |
18 | :launch
19 | %PYTHON% app.py %*
20 | pause
21 | exit /b
22 |
--------------------------------------------------------------------------------
/webui_venv.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | set PYTHON="venv/scripts/python.exe"
4 | set GIT=
5 | set VENV_DIR=venv
6 |
7 | :activate_venv
8 | set PYTHON="%VENV_DIR%\Scripts\Python.exe"
9 | echo venv %PYTHON%
10 |
11 |
12 | :launch
13 | %PYTHON% app.py %*
14 | pause
15 | exit /b
16 |
--------------------------------------------------------------------------------