diff --git a/.github/workflows/push.yaml b/.github/workflows/push.yaml new file mode 100644 index 0000000..69e4be7 --- /dev/null +++ b/.github/workflows/push.yaml @@ -0,0 +1,55 @@ +name: Push + +on: + schedule: + # runs at UTC+8 00:00 + - cron: '0 8 * * *' + workflow_dispatch: + repository_dispatch: + types: [boi-public-data-update] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + fetch-depth: 0 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.x' + - name: Install necessary Python packages + run: | + pip install -r requirements.txt + - name: Update submodules + run: | + git submodule update --remote + + # Custom script + - name: Run main.py + run: python main.py + + # Push changes + - name: Push changes + run: | + git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" + git config --global user.name "github-actions[bot]" + git add . + git commit -m "Update: push SHA ${{ github.sha }}" + git config -l | grep 'http\..*\.extraheader' | cut -d= -f1 | xargs -L1 git config --unset-all + git push https://github-actions[bot]:$REPO_KEY@github.com/BA-OST-Index/public_data.git HEAD:main + env: + REPO_KEY: ${{secrets.ACTION_SCRIPT}} + + # Invalidate CloudFront + - name: Invalidate CloudFront + uses: chetan/invalidate-cloudfront-action@v2 + env: + DISTRIBUTION: ${{ secrets.AWS_STATIC_DISTRIBUTION }} + PATHS: "/*" + AWS_REGION: "us-east-1" + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e61877a --- /dev/null +++ b/.gitignore @@ -0,0 +1,435 @@ +### VirtualEnv template +# Virtualenv +# http://iamzed.com/2009/05/07/a-primer-on-virtualenv/ +.Python +[Bb]in +[Ii]nclude +[Ll]ib +[Ll]ib64 +[Ll]ocal +[Ss]cripts +pyvenv.cfg +.venv +pip-selfcheck.json +virtual +*.pyc + +### PyCharm+all template +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf +.idea/ + +# AWS User-specific +.idea/**/aws.xml + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# SonarLint plugin +.idea/sonarlint/ + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +### PyCharm+iml template +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff + +# AWS User-specific + +# Generated files + +# Sensitive or high-churn files + +# Gradle + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake + +# Mongo Explorer plugin + +# File-based project format + +# IntelliJ + +# mpeltonen/sbt-idea plugin + +# JIRA plugin + +# Cursive Clojure plugin + +# SonarLint plugin + +# Crashlytics plugin (for Android Studio and IntelliJ) + +# Editor-based Rest Client + +# Android studio 3.1+ serialized cache file + +### venv template +# Virtualenv +# http://iamzed.com/2009/05/07/a-primer-on-virtualenv/ + +### PyCharm template +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff + +# AWS User-specific + +# Generated files + +# Sensitive or high-churn files + +# Gradle + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake + +# Mongo Explorer plugin + +# File-based project format + +# IntelliJ + +# mpeltonen/sbt-idea plugin + +# JIRA plugin + +# Cursive Clojure plugin + +# SonarLint plugin + +# Crashlytics plugin (for Android Studio and IntelliJ) + +# Editor-based Rest Client + +# Android studio 3.1+ serialized cache file + +### PythonVanilla template +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + + +### PyCharm+all template +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff + +# AWS User-specific + +# Generated files + +# Sensitive or high-churn files + +# Gradle + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake + +# Mongo Explorer plugin + +# File-based project format + +# IntelliJ + +# mpeltonen/sbt-idea plugin + +# JIRA plugin + +# Cursive Clojure plugin + +# SonarLint plugin + +# Crashlytics plugin (for Android Studio and IntelliJ) + +# Editor-based Rest Client + +# Android studio 3.1+ serialized cache file + +### Python template +# Byte-compiled / optimized / DLL files + +# C extensions + +# Distribution / packaging + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs + +# Unit test / coverage reports + +# Translations + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + diff --git a/i18n_zhcn_conversion/export/.keeper b/i18n_zhcn_conversion/export/.keeper new file mode 100644 index 0000000..e69de29 diff --git a/i18n_zhcn_conversion/export/i18n_zhcn_all.json b/i18n_zhcn_conversion/export/i18n_zhcn_all.json new file mode 100644 index 0000000..b475d03 --- /dev/null +++ b/i18n_zhcn_conversion/export/i18n_zhcn_all.json @@ -0,0 +1,2852 @@ +{ + "cf": [ + [ + "咲", + "咲", + "咲希", + "咲希" + ], + [ + "咲", + "咲", + "咲希", + "咲希" + ], + [ + "瑠美", + "流美", + "瑠美", + "瑠美" + ], + [ + "阿露", + "阿露", + "亚瑠", + "亞瑠" + ], + [ + "阿露", + "爱露", + "亚瑠", + "亞瑠" + ], + [ + "阿露", + "爱露", + "亚瑠", + "亞瑠" + ], + [ + "艾米", + "艾米", + "英美", + "英美" + ], + [ + "艾米", + "艾米", + "英美", + "英美" + ], + [ + "爱莉", + "爱理", + "爱莉", + "愛莉" + ], + [ + "爱丽丝", + "爱丽丝", + "爱丽丝", + "愛麗絲" + ], + [ + "爱丽丝", + "爱丽丝", + "爱丽丝", + "愛麗絲" + ], + [ + "白子", + "白子", + "白子", + "白子" + ], + [ + "白子", + "白子", + "白子", + "白子" + ], + [ + "白子", + "白子", + "白子", + "白子" + ], + [ + "操祈", + "操祈", + "操祈", + "操祈" + ], + [ + "吹雪", + "吹雪", + "吹雪", + "吹雪" + ], + [ + "椿", + "椿", + "椿", + "椿" + ], + [ + "椿", + "椿", + "椿", + "椿" + ], + [ + "纯子", + "纯子", + "淳子", + "淳子" + ], + [ + "纯子", + "纯子", + "淳子", + "淳子" + ], + [ + "菲娜", + "菲娜", + "菲娜", + "菲娜" + ], + [ + "枫", + "枫", + "枫", + "楓" + ], + [ + "枫香", + "风香", + "风华", + "風華" + ], + [ + "枫香", + "风香", + "风华", + "風華" + ], + [ + "歌原", + "歌原", + "咏叶", + "詠葉" + ], + [ + "歌原", + "歌原", + "咏叶", + "詠葉" + ], + [ + "宫子", + "宫子", + "都子", + "都子" + ], + [ + "宫子", + "宫子", + "都子", + "都子" + ], + [ + "果穗", + "果穗", + "佳穗", + "佳穗" + ], + [ + "海香", + "海香", + "海花", + "海花" + ], + [ + "好美", + "好美", + "喜美", + "喜美" + ], + [ + "和纱", + "和纱", + "千纱", + "千紗" + ], + [ + "和香", + "和香", + "和香", + "和香" + ], + [ + "和香", + "和香", + "和香", + "和香" + ], + [ + "鹤城", + "鹤城", + "弦生", + "弦生" + ], + [ + "鹤城", + "鹤城", + "弦生", + "弦生" + ], + [ + "红叶", + "红叶", + "红叶", + "紅葉" + ], + [ + "花江", + "花江", + "花绘", + "花繪" + ], + [ + "花江", + "花江", + "花绘", + "花繪" + ], + [ + "花凛", + "花凛", + "花凛", + "花凛" + ], + [ + "花凛", + "花凛", + "花凛", + "花凛" + ], + [ + "花子", + "花子", + "花子", + "花子" + ], + [ + "花子", + "花子", + "花子", + "花子" + ], + [ + "惠", + "惠久", + "惠", + "惠" + ], + [ + "佳代子", + "佳代子", + "佳世子", + "佳世子" + ], + [ + "佳代子", + "佳代子", + "佳世子", + "佳世子" + ], + [ + "佳代子", + "佳代子", + "佳世子", + "佳世子" + ], + [ + "桔梗", + "桔梗", + "桔梗", + "桔梗" + ], + [ + "静子", + "静子", + "静子", + "靜子" + ], + [ + "静子", + "静子", + "静子", + "靜子" + ], + [ + "泪子", + "泪子", + "泪子", + "淚子" + ], + [ + "莲华", + "莲华", + "莲华", + "蓮華" + ], + [ + "莲见", + "莲见", + "莲实", + "蓮實" + ], + [ + "莲见", + "莲见", + "莲实", + "蓮實" + ], + [ + "玲纱", + "玲纱", + "澪纱", + "澪紗" + ], + [ + "铃美", + "铃美", + "铃美", + "鈴美" + ], + [ + "绿", + "绿", + "绿", + "綠" + ], + [ + "玛丽", + "玛丽", + "玛丽", + "瑪麗" + ], + [ + "玛丽", + "玛丽", + "玛丽", + "瑪麗" + ], + [ + "玛利娜", + "真里奈", + "玛丽娜", + "瑪麗娜" + ], + [ + "满", + "满", + "三千留", + "三千留" + ], + [ + "美咲", + "美咲", + "美咲", + "美咲" + ], + [ + "美琴", + "美琴", + "美琴", + "美琴" + ], + [ + "美游", + "美游", + "美优", + "美優" + ], + [ + "美游", + "美游", + "美优", + "美優" + ], + [ + "美祢", + "峰", + "美祢", + "美禰" + ], + [ + "萌绘", + "萌绘", + "萌", + "萌" + ], + [ + "弥奈", + "弥奈", + "美奈", + "美奈" + ], + [ + "明里", + "明里", + "亚伽里", + "亞伽里" + ], + [ + "明里", + "明里", + "亚伽里", + "亞伽里" + ], + [ + "明日奈", + "明日奈", + "明日奈", + "明日奈" + ], + [ + "明日奈", + "明日奈", + "明日奈", + "明日奈" + ], + [ + "睦月", + "睦月", + "无月", + "無月" + ], + [ + "睦月", + "睦月", + "无月", + "無月" + ], + [ + "尼露", + "妮露", + "宁瑠", + "寧瑠" + ], + [ + "尼露", + "妮露", + "宁瑠", + "寧瑠" + ], + [ + "诺亚", + "诺亚", + "乃爱", + "乃愛" + ], + [ + "千世", + "千世", + "知世", + "知世" + ], + [ + "千世", + "千世", + "知世", + "知世" + ], + [ + "千夏", + "千夏", + "千夏", + "千夏" + ], + [ + "千夏", + "千夏", + "千夏", + "千夏" + ], + [ + "千寻", + "千寻", + "千寻", + "千尋" + ], + [ + "切里诺", + "切里诺", + "洁莉诺", + "潔莉諾" + ], + [ + "切里诺", + "切里诺", + "洁莉诺", + "潔莉諾" + ], + [ + "琴里", + "琴里", + "亚都梨", + "亞都梨" + ], + [ + "琴里", + "琴里", + "亚都梨", + "亞都梨" + ], + [ + "芹娜", + "芹娜", + "芹奈", + "芹奈" + ], + [ + "芹娜", + "芹娜", + "芹奈", + "芹奈" + ], + [ + "芹香", + "芹香", + "茜香", + "茜香" + ], + [ + "芹香", + "芹香", + "茜香", + "茜香" + ], + [ + "晴", + "晴", + "晴", + "晴" + ], + [ + "晴", + "晴", + "晴", + "晴" + ], + [ + "晴奈", + "晴奈", + "羽留奈", + "羽留奈" + ], + [ + "晴奈", + "晴奈", + "羽留奈", + "羽留奈" + ], + [ + "晴奈", + "晴奈", + "羽留奈", + "羽留奈" + ], + [ + "泉", + "泉", + "泉", + "泉" + ], + [ + "泉", + "泉", + "泉", + "泉" + ], + [ + "泉奈", + "泉奈", + "伊树菜", + "伊樹菜" + ], + [ + "泉奈", + "泉奈", + "伊树菜", + "伊樹菜" + ], + [ + "日富美", + "日富美", + "日步美", + "日步美" + ], + [ + "日富美", + "日富美", + "日步美", + "日步美" + ], + [ + "日和", + "日和", + "日和", + "日和" + ], + [ + "日鞠", + "日鞠", + "阳葵", + "陽葵" + ], + [ + "日奈", + "日奈", + "阳奈", + "陽奈" + ], + [ + "日奈", + "日奈", + "阳奈", + "陽奈" + ], + [ + "日奈", + "日奈", + "阳奈", + "陽奈" + ], + [ + "日向", + "日向", + "日向", + "日向" + ], + [ + "日向", + "日向", + "日向", + "日向" + ], + [ + "若藻", + "若藻", + "若藻", + "若藻" + ], + [ + "若藻", + "若藻", + "若藻", + "若藻" + ], + [ + "三森", + "三森", + "三森", + "三森" + ], + [ + "三森", + "三森", + "三森", + "三森" + ], + [ + "纱织", + "纱织", + "沙织", + "沙織" + ], + [ + "纱绫", + "纱绫", + "沙耶", + "沙耶" + ], + [ + "纱绫", + "纱绫", + "沙耶", + "沙耶" + ], + [ + "时", + "时", + "季", + "季" + ], + [ + "时", + "时", + "季", + "季" + ], + [ + "时雨", + "时雨", + "时雨", + "時雨" + ], + [ + "时雨", + "时雨", + "时雨", + "時雨" + ], + [ + "实里", + "实里", + "实里", + "實里" + ], + [ + "瞬", + "瞬", + "旬", + "旬" + ], + [ + "瞬", + "瞬", + "旬", + "旬" + ], + [ + "桃井", + "桃", + "桃井", + "桃井" + ], + [ + "桐乃", + "桐乃", + "桐乃", + "桐乃" + ], + [ + "未花", + "未花", + "弥香", + "彌香" + ], + [ + "未来", + "未来", + "未来", + "未來" + ], + [ + "霞", + "霞", + "佳澄", + "佳澄" + ], + [ + "夏", + "夏", + "夏", + "夏" + ], + [ + "响", + "响", + "响", + "響" + ], + [ + "响", + "响", + "响", + "響" + ], + [ + "小春", + "小春", + "小春", + "小春" + ], + [ + "小春", + "小春", + "小春", + "小春" + ], + [ + "小雪", + "小雪", + "小雪", + "小雪" + ], + [ + "小玉", + "小玉", + "小玉", + "小玉" + ], + [ + "小玉", + "小玉", + "小玉", + "小玉" + ], + [ + "心奈", + "心奈", + "心菜", + "心菜" + ], + [ + "星野", + "星野", + "星野", + "星野" + ], + [ + "星野", + "星野", + "星野", + "星野" + ], + [ + "芽瑠", + "芽留", + "爱瑠", + "愛瑠" + ], + [ + "亚津子", + "亚津子", + "敦子", + "敦子" + ], + [ + "亚子", + "亚子", + "亚子", + "亞子" + ], + [ + "亚子", + "亚子", + "亚子", + "亞子" + ], + [ + "遥香", + "春香", + "遥香", + "遙香" + ], + [ + "遥香", + "春香", + "遥香", + "遙香" + ], + [ + "野宫", + "野宫", + "野乃美", + "野乃美" + ], + [ + "野宫", + "野宫", + "野乃美", + "野乃美" + ], + [ + "叶渚", + "叶渚", + "环奈", + "環奈" + ], + [ + "一花", + "一花", + "一花", + "一花" + ], + [ + "伊吹", + "伊吹", + "伊吹", + "伊吹" + ], + [ + "伊吕波", + "伊吕波", + "伊吕波", + "伊呂波" + ], + [ + "伊织", + "伊织", + "伊织", + "伊織" + ], + [ + "伊织", + "伊织", + "伊织", + "伊織" + ], + [ + "樱子", + "樱子", + "樱子", + "櫻子" + ], + [ + "优香", + "优香", + "优香", + "優香" + ], + [ + "优香", + "优香", + "优香", + "優香" + ], + [ + "忧", + "忧", + "忧", + "憂" + ], + [ + "忧", + "忧", + "忧", + "憂" + ], + [ + "月咏", + "月咏", + "月夜", + "月夜" + ], + [ + "真白", + "真白", + "麻白", + "麻白" + ], + [ + "真白", + "真白", + "麻白", + "麻白" + ], + [ + "真纪", + "真纪", + "真纪", + "真紀" + ], + [ + "真琴", + "真琴", + "真琴", + "真琴" + ], + [ + "志美子", + "志美子", + "志美子", + "志美子" + ], + [ + "智惠", + "巴", + "智惠", + "智惠" + ], + [ + "紫草", + "紫草", + "紫草", + "紫草" + ], + [ + "茜", + "茜", + "朱音", + "朱音" + ], + [ + "茜", + "茜", + "朱音", + "朱音" + ], + [ + "茱莉", + "朱莉", + "茱莉", + "茱莉" + ], + [ + "堇", + "堇", + "堇", + "堇" + ], + [ + "渚", + "渚", + "渚", + "渚" + ], + [ + "濑名", + "濑名", + "濑奈", + "瀬奈" + ], + [ + "绫音", + "绫音", + "绫音", + "綾音" + ], + [ + "绫音", + "绫音", + "绫音", + "綾音" + ], + [ + "柚子", + "柚子", + "柚子", + "柚子" + ], + [ + "柚子", + "柚子", + "柚子", + "柚子" + ], + [ + "梓", + "梓", + "梓", + "梓" + ], + [ + "梓", + "梓", + "梓", + "梓" + ], + [ + "", + "", + "", + "" + ], + [ + "", + "", + "", + "" + ], + [ + "", + "", + "", + "" + ], + [ + "", + "", + "", + "" + ], + [ + "", + "", + "", + "" + ], + [ + "", + "", + "", + "" + ], + [ + "", + "", + "", + "" + ], + [ + "", + "", + "", + "" + ], + [ + "", + "", + "", + "" + ], + [ + "", + "", + "", + "" + ], + [ + "", + "", + "", + "" + ], + [ + "", + "", + "", + "" + ], + [ + "", + "", + "", + "" + ], + [ + "", + "", + "", + "" + ], + [ + "阿罗娜", + "阿洛娜", + "彩奈", + "彩奈" + ], + [ + "贝雅特里谢", + "贝雅特里谢", + "贝雅特里谢", + "貝雅特里謝" + ], + [ + "碧", + "碧", + "碧", + "碧" + ], + [ + "步", + "步", + "步", + "步" + ], + [ + "法兰西斯", + "法兰西斯", + "法兰西斯", + "法蘭西斯" + ], + [ + "戈尔孔特", + "戈尔孔特", + "戈尔孔特", + "戈爾孔特" + ], + [ + "葛业", + "葛业", + "葛业", + "葛葉" + ], + [ + "黑色西服人", + "黑色西服人", + "黑色西装人", + "黑色西裝人" + ], + [ + "莉央", + "莉央", + "莉音", + "莉音" + ], + [ + "琳", + "琳", + "琳", + "琳" + ], + [ + "玛艾斯托洛", + "玛艾斯托洛", + "玛艾斯托洛", + "瑪艾斯托洛" + ], + [ + "圣娅", + "圣娅", + "圣亚", + "聖亞" + ], + [ + "桃香", + "桃可", + "桃香", + "桃香" + ], + [ + "香耶", + "香耶", + "香耶", + "香耶" + ] + ], + "cl": [ + [ + "阿慈谷", + "阿慈谷", + "阿慈谷", + "阿慈谷" + ], + [ + "阿慈谷", + "阿慈谷", + "阿慈谷", + "阿慈谷" + ], + [ + "爱清", + "爱清", + "爱清", + "愛清" + ], + [ + "爱清", + "爱清", + "爱清", + "愛清" + ], + [ + "安守", + "安守", + "安守", + "安守" + ], + [ + "奥空", + "奥空", + "奥空", + "奥空" + ], + [ + "奥空", + "奥空", + "奥空", + "奥空" + ], + [ + "白石", + "白石", + "白石", + "白石" + ], + [ + "白石", + "白石", + "白石", + "白石" + ], + [ + "白洲", + "白洲", + "白洲", + "白洲" + ], + [ + "白洲", + "白洲", + "白洲", + "白洲" + ], + [ + "冰室", + "冰室", + "冰室", + "氷室" + ], + [ + "不破", + "不破", + "不破", + "不破" + ], + [ + "才羽", + "才羽", + "才羽", + "才羽" + ], + [ + "才羽", + "才羽", + "才羽", + "才羽" + ], + [ + "苍森", + "苍森", + "苍森", + "蒼森" + ], + [ + "朝比奈", + "朝比奈", + "朝比奈", + "朝比奈" + ], + [ + "朝颜", + "朝颜", + "朝颜", + "朝顏" + ], + [ + "朝颜", + "朝颜", + "朝颜", + "朝顏" + ], + [ + "秤", + "秤", + "秤", + "秤" + ], + [ + "池仓", + "池仓", + "池仓", + "池倉" + ], + [ + "赤司", + "赤司", + "赤司", + "赤司" + ], + [ + "赤司", + "赤司", + "赤司", + "赤司" + ], + [ + "初音", + "初音", + "初音", + "初音" + ], + [ + "春日", + "春日", + "春日", + "春日" + ], + [ + "春日", + "春日", + "春日", + "春日" + ], + [ + "春原", + "春原", + "春原", + "春原" + ], + [ + "春原", + "春原", + "春原", + "春原" + ], + [ + "春原", + "春原", + "春原", + "春原" + ], + [ + "大野", + "大野", + "大野", + "大野" + ], + [ + "丹花", + "丹花", + "丹花", + "丹花" + ], + [ + "锭前", + "锭前", + "锭前", + "錠前" + ], + [ + "飞鸟马", + "飞鸟马", + "飞鸟马", + "飛鳥馬" + ], + [ + "飞鸟马", + "飞鸟马", + "飞鸟马", + "飛鳥馬" + ], + [ + "丰见", + "丰见", + "丰见", + "豊見" + ], + [ + "丰见", + "丰见", + "丰见", + "豊見" + ], + [ + "风仓", + "风仓", + "风仓", + "風倉" + ], + [ + "歌住", + "歌住", + "歌住", + "歌住" + ], + [ + "各务", + "各务", + "各务", + "各務" + ], + [ + "古关", + "古关", + "古关", + "古関" + ], + [ + "古关", + "古关", + "古关", + "古関" + ], + [ + "鬼方", + "鬼方", + "鬼方", + "鬼方" + ], + [ + "鬼方", + "鬼方", + "鬼方", + "鬼方" + ], + [ + "鬼方", + "鬼方", + "鬼方", + "鬼方" + ], + [ + "鬼怒川", + "鬼怒川", + "鬼怒川", + "鬼怒川" + ], + [ + "和乐", + "和乐", + "和乐", + "和樂" + ], + [ + "和乐", + "和乐", + "和乐", + "和樂" + ], + [ + "和泉元", + "和泉元", + "和泉元", + "和泉元" + ], + [ + "和泉元", + "和泉元", + "和泉元", + "和泉元" + ], + [ + "合欢垣", + "合欢垣", + "合欢垣", + "合歡垣" + ], + [ + "河和", + "河和", + "河和", + "河和" + ], + [ + "河和", + "河和", + "河和", + "河和" + ], + [ + "黑馆", + "黑馆", + "黑馆", + "黑舘" + ], + [ + "黑馆", + "黑馆", + "黑馆", + "黑舘" + ], + [ + "黑馆", + "黑馆", + "黑馆", + "黑舘" + ], + [ + "黑见", + "黑见", + "黑见", + "黑見" + ], + [ + "黑见", + "黑见", + "黑见", + "黑見" + ], + [ + "黑崎", + "黑崎", + "黑崎", + "黑崎" + ], + [ + "狐坂", + "狐坂", + "狐坂", + "狐坂" + ], + [ + "狐坂", + "狐坂", + "狐坂", + "狐坂" + ], + [ + "花冈", + "花冈", + "花冈", + "花岡" + ], + [ + "花冈", + "花冈", + "花冈", + "花岡" + ], + [ + "火宫", + "火宫", + "火宫", + "火宮" + ], + [ + "火宫", + "火宫", + "火宫", + "火宮" + ], + [ + "姬木", + "姫木", + "姬木", + "姬木" + ], + [ + "间宵", + "间宵", + "间宵", + "間宵" + ], + [ + "间宵", + "间宵", + "间宵", + "間宵" + ], + [ + "剑先", + "剑先", + "剑先", + "劍先" + ], + [ + "剑先", + "剑先", + "剑先", + "劍先" + ], + [ + "角楯", + "角楯", + "角楯", + "角楯" + ], + [ + "角楯", + "角楯", + "角楯", + "角楯" + ], + [ + "戒野", + "戒野", + "戒野", + "戒野" + ], + [ + "近卫", + "近卫", + "近卫", + "近衛" + ], + [ + "静山", + "静山", + "静山", + "靜山" + ], + [ + "静山", + "静山", + "静山", + "靜山" + ], + [ + "久田", + "久田", + "久田", + "久田" + ], + [ + "久田", + "久田", + "久田", + "久田" + ], + [ + "勘解由小路", + "勘解由小路", + "勘解由小路", + "勘解由小路" + ], + [ + "空井", + "空井", + "空井", + "空井" + ], + [ + "空井", + "空井", + "空井", + "空井" + ], + [ + "空崎", + "空崎", + "空崎", + "空崎" + ], + [ + "空崎", + "空崎", + "空崎", + "空崎" + ], + [ + "空崎", + "空崎", + "空崎", + "空崎" + ], + [ + "里浜", + "里浜", + "里浜", + "里浜" + ], + [ + "栗村", + "栗村", + "栗村", + "栗村" + ], + [ + "连河", + "连河", + "连河", + "連河" + ], + [ + "连河", + "连河", + "连河", + "連河" + ], + [ + "陆八魔", + "陆八魔", + "陆八魔", + "陸八魔" + ], + [ + "陆八魔", + "陆八魔", + "陆八魔", + "陸八魔" + ], + [ + "陆八魔", + "陆八魔", + "陆八魔", + "陸八魔" + ], + [ + "猫冢", + "猫冢", + "猫冢", + "猫塚" + ], + [ + "猫冢", + "猫冢", + "猫冢", + "猫塚" + ], + [ + "美甘", + "美甘", + "美甘", + "美甘" + ], + [ + "美甘", + "美甘", + "美甘", + "美甘" + ], + [ + "明星", + "明星", + "明星", + "明星" + ], + [ + "牛牧", + "牛牧", + "牛牧", + "牛牧" + ], + [ + "浦和", + "浦和", + "浦和", + "浦和" + ], + [ + "浦和", + "浦和", + "浦和", + "浦和" + ], + [ + "千鸟", + "千鸟", + "千鸟", + "千鳥" + ], + [ + "浅黄", + "浅黄", + "浅黄", + "淺黃" + ], + [ + "浅黄", + "浅黄", + "浅黄", + "淺黃" + ], + [ + "秋泉", + "秋泉", + "秋泉", + "秋泉" + ], + [ + "若叶", + "若叶", + "若叶", + "若葉" + ], + [ + "若叶", + "若叶", + "若叶", + "若葉" + ], + [ + "桑上", + "桑上", + "桑上", + "桑上" + ], + [ + "砂狼", + "砂狼", + "砂狼", + "砂狼" + ], + [ + "砂狼", + "砂狼", + "砂狼", + "砂狼" + ], + [ + "砂狼", + "砂狼", + "砂狼", + "砂狼" + ], + [ + "生盐", + "生盐", + "生盐", + "生塩" + ], + [ + "圣园", + "圣园", + "圣园", + "聖園" + ], + [ + "狮子堂", + "狮子堂", + "狮子堂", + "獅子堂" + ], + [ + "狮子堂", + "狮子堂", + "狮子堂", + "獅子堂" + ], + [ + "十六夜", + "十六夜", + "十六夜", + "十六夜" + ], + [ + "十六夜", + "十六夜", + "十六夜", + "十六夜" + ], + [ + "食蜂", + "食蜂", + "食蜂", + "食蜂" + ], + [ + "室笠", + "室笠", + "室笠", + "室笠" + ], + [ + "室笠", + "室笠", + "室笠", + "室笠" + ], + [ + "守月", + "守月", + "守月", + "守月" + ], + [ + "水羽", + "水羽", + "水羽", + "水羽" + ], + [ + "水羽", + "水羽", + "水羽", + "水羽" + ], + [ + "天见", + "天见", + "天见", + "天見" + ], + [ + "天见", + "天见", + "天见", + "天見" + ], + [ + "天童", + "天童", + "天童", + "天童" + ], + [ + "天童", + "天童", + "天童", + "天童" + ], + [ + "天雨", + "天雨", + "天雨", + "天雨" + ], + [ + "天雨", + "天雨", + "天雨", + "天雨" + ], + [ + "桐生", + "桐生", + "桐生", + "桐生" + ], + [ + "桐藤", + "桐藤", + "桐藤", + "桐藤" + ], + [ + "尾刃", + "尾刃", + "尾刃", + "尾刃" + ], + [ + "霞泽", + "霞泽", + "霞泽", + "霞沢" + ], + [ + "霞泽", + "霞泽", + "霞泽", + "霞沢" + ], + [ + "下仓", + "下仓", + "下仓", + "下倉" + ], + [ + "下江", + "下江", + "下江", + "下江" + ], + [ + "下江", + "下江", + "下江", + "下江" + ], + [ + "小钩", + "小钩", + "小钩", + "小鈎" + ], + [ + "小钩", + "小钩", + "小钩", + "小鈎" + ], + [ + "小鸟游", + "小鸟游", + "小鸟游", + "小鳥遊" + ], + [ + "小鸟游", + "小鸟游", + "小鸟游", + "小鳥遊" + ], + [ + "小涂", + "小涂", + "小涂", + "小塗" + ], + [ + "杏山", + "杏山", + "杏山", + "杏山" + ], + [ + "药子", + "药子", + "药子", + "藥子" + ], + [ + "药子", + "药子", + "药子", + "藥子" + ], + [ + "一之濑", + "一之濑", + "一之濑", + "一之瀬" + ], + [ + "一之濑", + "一之濑", + "一之濑", + "一之瀬" + ], + [ + "伊草", + "伊草", + "伊草", + "伊草" + ], + [ + "伊草", + "伊草", + "伊草", + "伊草" + ], + [ + "伊落", + "伊落", + "伊落", + "伊落" + ], + [ + "伊落", + "伊落", + "伊落", + "伊落" + ], + [ + "伊原木", + "伊原木", + "伊原木", + "伊原木" + ], + [ + "乙花", + "乙花", + "乙花", + "乙花" + ], + [ + "音濑", + "音濑", + "音濑", + "音瀬" + ], + [ + "音濑", + "音濑", + "音濑", + "音瀬" + ], + [ + "银镜", + "银镜", + "银镜", + "銀鏡" + ], + [ + "银镜", + "银镜", + "银镜", + "銀鏡" + ], + [ + "勇美", + "勇美", + "勇美", + "勇美" + ], + [ + "宇泽", + "宇泽", + "宇泽", + "宇沢" + ], + [ + "羽川", + "羽川", + "羽川", + "羽川" + ], + [ + "羽川", + "羽川", + "羽川", + "羽川" + ], + [ + "羽沼", + "羽沼", + "羽沼", + "羽沼" + ], + [ + "御坂", + "御坂", + "御坂", + "御坂" + ], + [ + "圆堂", + "圆堂", + "圆堂", + "円堂" + ], + [ + "月雪", + "月雪", + "月雪", + "月雪" + ], + [ + "月雪", + "月雪", + "月雪", + "月雪" + ], + [ + "枣", + "枣", + "枣", + "棗" + ], + [ + "早濑", + "早濑", + "早濑", + "早瀬" + ], + [ + "早濑", + "早濑", + "早濑", + "早瀬" + ], + [ + "中务", + "中务", + "中务", + "中務" + ], + [ + "仲正", + "仲正", + "仲正", + "仲正" + ], + [ + "朱城", + "朱城", + "朱城", + "朱城" + ], + [ + "佐城", + "佐城", + "佐城", + "佐城" + ], + [ + "佐天", + "佐天", + "佐天", + "佐天" + ], + [ + "柚鸟", + "柚鸟", + "柚鸟", + "柚鳥" + ], + [ + "槌永", + "槌永", + "槌永", + "槌永" + ], + [ + "鹫见", + "鹫见", + "鹫见", + "鷲見" + ], + [ + "鹫见", + "鹫见", + "鹫见", + "鷲見" + ], + [ + "鳄渕", + "鳄渕", + "鳄渕", + "鰐渕" + ], + [ + "鳄渕", + "鳄渊", + "鳄渕", + "鰐渕" + ] + ], + "sn": [ + [ + "SRT特殊学院", + "SRT特殊学园", + "SRT特殊学园", + "SRT特殊學園" + ], + [ + "阿拜多斯高等学院", + "阿拜多斯高级中学", + "阿拜多斯高中", + "阿拜多斯高中" + ], + [ + "阿里乌斯分院", + "阿里乌斯分校", + "奥利斯分校", + "奧利斯分校" + ], + [ + "百鬼夜行联合学院", + "百鬼夜行联合学园", + "百鬼夜行联合学园", + "百鬼夜行聯合學園" + ], + [ + "常盘台中学", + "常盘台中学", + "常盘台中学", + "常盤台中學" + ], + [ + "崔尼蒂综合学院", + "三一综合学园", + "三一综合学园", + "三一綜合學園" + ], + [ + "歌赫娜学院", + "格黑娜学园", + "格黑娜学园", + "格黑娜學園" + ], + [ + "红冬联邦学院", + "红冬联邦学园", + "赤冬联邦学园", + "赤冬聯邦學園" + ], + [ + "其他", + "其他", + "其他", + "其他" + ], + [ + "千禧年科技学院", + "千年科学学园", + "千年科学学园", + "千年科學學園" + ], + [ + "山海经高等学院", + "山海经高级中学", + "山海经高级中学", + "山海經高級中學" + ], + [ + "瓦尔基丽警员学院", + "瓦尔基里警察学校", + "女武神警察学园", + "女武神警察學園" + ], + [ + "栅川中学", + "栅川中学", + "栅川中学", + "柵川中學" + ], + [ + "SRT", + "SRT", + "SRT", + "SRT" + ], + [ + "阿拜多斯", + "阿拜多斯", + "阿拜多斯", + "阿拜多斯" + ], + [ + "阿里乌斯", + "阿里乌斯", + "奥利斯", + "奧利斯" + ], + [ + "百鬼夜行", + "百鬼夜行", + "百鬼夜行", + "百鬼夜行" + ], + [ + "常盘台", + "常盘台", + "常盘台", + "常盤台" + ], + [ + "崔尼蒂", + "三一", + "三一", + "三一" + ], + [ + "歌赫娜", + "格黑娜", + "格黑娜", + "格黑娜" + ], + [ + "红冬", + "红冬", + "赤冬", + "赤冬" + ], + [ + "其他", + "其他", + "其他", + "其他" + ], + [ + "千禧年", + "千年", + "千年", + "千年" + ], + [ + "山海经", + "山海经", + "山海经", + "山海經" + ], + [ + "瓦尔基丽", + "瓦尔基里", + "女武神", + "女武神" + ], + [ + "栅川", + "栅川", + "栅川", + "柵川" + ] + ], + "cn": [ + [ + "227号特别班", + "227号特别班", + "227号特别班", + "227號特別班" + ], + [ + "C&C", + "C&C", + "C&C", + "C&C" + ], + [ + "RABBIT小队", + "RABBIT小队", + "RABBIT小队", + "RABBIT小队" + ], + [ + "阿里乌斯战术小队", + "阿里乌斯小队", + "奥利斯小队", + "奧利斯小隊" + ], + [ + "百花缭乱纷争调解委员会", + "百花缭乱纷争调解委员会", + "百花缭乱纷争调解委员会", + "百花繚亂紛爭調解委員會" + ], + [ + "便利屋68", + "便利屋68", + "便利屋68", + "便利屋68" + ], + [ + "补习部", + "补课部", + "补课部", + "補課部" + ], + [ + "茶话会", + "茶会", + "茶会", + "茶會" + ], + [ + "超自然现象调查部", + "特异现象调查部", + "特异现象搜查部", + "特異現象搜查部" + ], + [ + "崔尼蒂自警团", + "三一自警团", + "三一自卫队", + "三一自衛隊" + ], + [ + "对策委员会", + "对策委员会", + "对策委员会", + "對策委員會" + ], + [ + "风纪委员会", + "风纪委员会", + "风纪委员会", + "風紀委員會" + ], + [ + "工程部", + "工程部", + "工程师部", + "工程師部" + ], + [ + "供餐部", + "供餐部", + "供给部", + "供給部" + ], + [ + "公共安全局", + "公安局", + "公共安全局", + "公共安全局" + ], + [ + "红冬事务局", + "红冬事务局", + "赤冬事务局", + "赤冬事務局" + ], + [ + "急救医学部", + "急救医学部", + "急救医学部", + "急救醫學部" + ], + [ + "健身部", + "锻炼部", + "训练部", + "訓練部" + ], + [ + "建设部", + "建设部", + "建设部", + "建设部" + ], + [ + "姐妹会", + "修女会", + "修女会", + "修女會" + ], + [ + "救护骑士团", + "救护骑士团", + "救护骑士团", + "救護騎士團" + ], + [ + "炼丹研究会", + "炼丹术研究会", + "炼丹术研究会", + "鍊丹術研究會" + ], + [ + "梅花园", + "梅花园", + "梅花园", + "梅花园" + ], + [ + "美食研究会", + "美食研究会", + "美食研究会", + "美食研究會" + ], + [ + "庆典运营管理部", + "节庆运营委员会", + "节庆营运管理部", + "節慶營運管理部" + ], + [ + "忍术研究部", + "忍术研究部", + "忍术研究部", + "忍术研究部" + ], + [ + "生活安全局", + "生活安全局", + "生活安全局", + "生活安全局" + ], + [ + "甜点部", + "放学后甜品部", + "放学后的甜点部", + "放學後的甜點部" + ], + [ + "图书管理部", + "图书委员会", + "图书委员会", + "圖書委員會" + ], + [ + "万魔殿", + "万魔殿", + "万魔殿", + "萬魔殿" + ], + [ + "温泉开发部", + "温泉开发部", + "温泉开发部", + "溫泉開發部" + ], + [ + "无", + "无", + "无", + "無" + ], + [ + "修行部", + "修行部", + "修行部", + "修行部" + ], + [ + "玄龙门", + "玄龙门", + "玄龙门", + "玄龍門" + ], + [ + "玄武商会", + "玄武商会", + "玄武商会", + "玄武商會" + ], + [ + "研讨会", + "研讨会", + "研讨会", + "研討會" + ], + [ + "阴阳部", + "阴阳部", + "阴阳部", + "阴阳部" + ], + [ + "游戏开发部", + "游戏开发部", + "游戏开发部", + "遊戲開發部" + ], + [ + "真理社", + "真理会", + "贝里塔斯", + "貝里塔斯" + ], + [ + "正义实现部", + "正义实现委员会", + "实现正义部", + "實現正義部" + ], + [ + "知识解放战线", + "知识解放战线", + "知识解放战线", + "知識解放戰線" + ] + ], + "et": [ + [ + "", + "什亭之箱", + "希迪姆的箱子", + "希迪姆的箱子" + ], + [ + "埃里都", + "埃里都", + "埃里都", + "埃里都" + ], + [ + "盖玛特利亚", + "盖玛特利亚", + "盖玛特利亚", + "蓋瑪特利亞" + ], + [ + "夏莱", + "沙勒", + "夏莱", + "夏萊" + ] + ], + "ra": [ + [ + "白&黑", + "白&黑", + "白&黑", + "白&黑" + ], + [ + "比纳", + "Binah", + "薇娜", + "薇娜" + ], + [ + "额我略", + "额我略", + "葛利果", + "葛利果" + ], + [ + "格兹", + "戈兹", + "高兹", + "高茲" + ], + [ + "黑影", + "黑影", + "黑影", + "黑影" + ], + [ + "回转 FX Mk.0", + "KAITEN FX 0型", + "KAITEN FX 0型", + "KAITEN FX Mk.0" + ], + [ + "霍德", + "Hod", + "霍德", + "霍德" + ], + [ + "佩洛洛斯拉", + "佩洛洛斯拉", + "佩洛洛吉拉", + "佩洛洛吉拉" + ], + [ + "切赛德", + "Chesed", + "赫赛德", + "赫賽德" + ], + [ + "希罗尼穆斯", + "希罗尼穆斯", + "耶罗尼姆斯", + "耶羅尼姆斯" + ], + [ + "灾厄之狐", + "灾厄之狐", + "气垫船", + "氣墊船" + ], + [ + "白&黑 (色彩)", + "白&黑(色彩)", + "白&黑 (色彩)", + "白&黑 (色彩)" + ], + [ + "白子*TERROR", + "白子*恐怖", + "白子*TERROR", + "白子*TERROR" + ], + [ + "比纳 (色彩)", + "Binah(色彩)", + "薇娜 (色彩)", + "薇娜 (色彩)" + ], + [ + "霍德 (色彩)", + "Hod(色彩)", + "霍德 (色彩)", + "霍德 (色彩)" + ], + [ + "佩洛洛斯拉(色彩)", + "佩洛洛斯拉(色彩)", + "佩洛洛吉拉 (色彩)", + "佩洛洛吉拉 (色彩)" + ], + [ + "切赛德 (色彩)", + "Chesed(色彩)", + "赫赛德 (色彩)", + "赫賽德 (色彩)" + ], + [ + "若藻(气垫船)", + "若藻(气垫船)", + "若藻(气垫船)", + "若藻(氣墊船)" + ], + [ + "若藻(泳装)", + "若藻(泳装)", + "若藻(泳装)", + "若藻(泳裝)" + ], + [ + "希罗尼穆斯 (色彩)", + "希罗尼穆斯(色彩)", + "耶罗尼姆斯 (色彩)", + "耶羅尼姆斯 (色彩)" + ] + ] +} \ No newline at end of file diff --git a/i18n_zhcn_conversion/export/i18n_zhcn_all_min.json b/i18n_zhcn_conversion/export/i18n_zhcn_all_min.json new file mode 100644 index 0000000..a431ec6 --- /dev/null +++ b/i18n_zhcn_conversion/export/i18n_zhcn_all_min.json @@ -0,0 +1 @@ +{"cf": [["咲", "咲", "咲希", "咲希"], ["咲", "咲", "咲希", "咲希"], ["瑠美", "流美", "瑠美", "瑠美"], ["阿露", "阿露", "亚瑠", "亞瑠"], ["阿露", "爱露", "亚瑠", "亞瑠"], ["阿露", "爱露", "亚瑠", "亞瑠"], ["艾米", "艾米", "英美", "英美"], ["艾米", "艾米", "英美", "英美"], ["爱莉", "爱理", "爱莉", "愛莉"], ["爱丽丝", "爱丽丝", "爱丽丝", "愛麗絲"], ["爱丽丝", "爱丽丝", "爱丽丝", "愛麗絲"], ["白子", "白子", "白子", "白子"], ["白子", "白子", "白子", "白子"], ["白子", "白子", "白子", "白子"], ["操祈", "操祈", "操祈", "操祈"], ["吹雪", "吹雪", "吹雪", "吹雪"], ["椿", "椿", "椿", "椿"], ["椿", "椿", "椿", "椿"], ["纯子", "纯子", "淳子", "淳子"], ["纯子", "纯子", "淳子", "淳子"], ["菲娜", "菲娜", "菲娜", "菲娜"], ["枫", "枫", "枫", "楓"], ["枫香", "风香", "风华", "風華"], ["枫香", "风香", "风华", "風華"], ["歌原", "歌原", "咏叶", "詠葉"], ["歌原", "歌原", "咏叶", "詠葉"], ["宫子", "宫子", "都子", "都子"], ["宫子", "宫子", "都子", "都子"], ["果穗", "果穗", "佳穗", "佳穗"], ["海香", "海香", "海花", "海花"], ["好美", "好美", "喜美", "喜美"], ["和纱", "和纱", "千纱", "千紗"], ["和香", "和香", "和香", "和香"], ["和香", "和香", "和香", "和香"], ["鹤城", "鹤城", "弦生", "弦生"], ["鹤城", "鹤城", "弦生", "弦生"], ["红叶", "红叶", "红叶", "紅葉"], ["花江", "花江", "花绘", "花繪"], ["花江", "花江", "花绘", "花繪"], ["花凛", "花凛", "花凛", "花凛"], ["花凛", "花凛", "花凛", "花凛"], ["花子", "花子", "花子", "花子"], ["花子", "花子", "花子", "花子"], ["惠", "惠久", "惠", "惠"], ["佳代子", "佳代子", "佳世子", "佳世子"], ["佳代子", "佳代子", "佳世子", "佳世子"], ["佳代子", "佳代子", "佳世子", "佳世子"], ["桔梗", "桔梗", "桔梗", "桔梗"], ["静子", "静子", "静子", "靜子"], ["静子", "静子", "静子", "靜子"], ["泪子", "泪子", "泪子", "淚子"], ["莲华", "莲华", "莲华", "蓮華"], ["莲见", "莲见", "莲实", "蓮實"], ["莲见", "莲见", "莲实", "蓮實"], ["玲纱", "玲纱", "澪纱", "澪紗"], ["铃美", "铃美", "铃美", "鈴美"], ["绿", "绿", "绿", "綠"], ["玛丽", "玛丽", "玛丽", "瑪麗"], ["玛丽", "玛丽", "玛丽", "瑪麗"], ["玛利娜", "真里奈", "玛丽娜", "瑪麗娜"], ["满", "满", "三千留", "三千留"], ["美咲", "美咲", "美咲", "美咲"], ["美琴", "美琴", "美琴", "美琴"], ["美游", "美游", "美优", "美優"], ["美游", "美游", "美优", "美優"], ["美祢", "峰", "美祢", "美禰"], ["萌绘", "萌绘", "萌", "萌"], ["弥奈", "弥奈", "美奈", "美奈"], ["明里", "明里", "亚伽里", "亞伽里"], ["明里", "明里", "亚伽里", "亞伽里"], ["明日奈", "明日奈", "明日奈", "明日奈"], ["明日奈", "明日奈", "明日奈", "明日奈"], ["睦月", "睦月", "无月", "無月"], ["睦月", "睦月", "无月", "無月"], ["尼露", "妮露", "宁瑠", "寧瑠"], ["尼露", "妮露", "宁瑠", "寧瑠"], ["诺亚", "诺亚", "乃爱", "乃愛"], ["千世", "千世", "知世", "知世"], ["千世", "千世", "知世", "知世"], ["千夏", "千夏", "千夏", "千夏"], ["千夏", "千夏", "千夏", "千夏"], ["千寻", "千寻", "千寻", "千尋"], ["切里诺", "切里诺", "洁莉诺", "潔莉諾"], ["切里诺", "切里诺", "洁莉诺", "潔莉諾"], ["琴里", "琴里", "亚都梨", "亞都梨"], ["琴里", "琴里", "亚都梨", "亞都梨"], ["芹娜", "芹娜", "芹奈", "芹奈"], ["芹娜", "芹娜", "芹奈", "芹奈"], ["芹香", "芹香", "茜香", "茜香"], ["芹香", "芹香", "茜香", "茜香"], ["晴", "晴", "晴", "晴"], ["晴", "晴", "晴", "晴"], ["晴奈", "晴奈", "羽留奈", "羽留奈"], ["晴奈", "晴奈", "羽留奈", "羽留奈"], ["晴奈", "晴奈", "羽留奈", "羽留奈"], ["泉", "泉", "泉", "泉"], ["泉", "泉", "泉", "泉"], ["泉奈", "泉奈", "伊树菜", "伊樹菜"], ["泉奈", "泉奈", "伊树菜", "伊樹菜"], ["日富美", "日富美", "日步美", "日步美"], ["日富美", "日富美", "日步美", "日步美"], ["日和", "日和", "日和", "日和"], ["日鞠", "日鞠", "阳葵", "陽葵"], ["日奈", "日奈", "阳奈", "陽奈"], ["日奈", "日奈", "阳奈", "陽奈"], ["日奈", "日奈", "阳奈", "陽奈"], ["日向", "日向", "日向", "日向"], ["日向", "日向", "日向", "日向"], ["若藻", "若藻", "若藻", "若藻"], ["若藻", "若藻", "若藻", "若藻"], ["三森", "三森", "三森", "三森"], ["三森", "三森", "三森", "三森"], ["纱织", "纱织", "沙织", "沙織"], ["纱绫", "纱绫", "沙耶", "沙耶"], ["纱绫", "纱绫", "沙耶", "沙耶"], ["时", "时", "季", "季"], ["时", "时", "季", "季"], ["时雨", "时雨", "时雨", "時雨"], ["时雨", "时雨", "时雨", "時雨"], ["实里", "实里", "实里", "實里"], ["瞬", "瞬", "旬", "旬"], ["瞬", "瞬", "旬", "旬"], ["桃井", "桃", "桃井", "桃井"], ["桐乃", "桐乃", "桐乃", "桐乃"], ["未花", "未花", "弥香", "彌香"], ["未来", "未来", "未来", "未來"], ["霞", "霞", "佳澄", "佳澄"], ["夏", "夏", "夏", "夏"], ["响", "响", "响", "響"], ["响", "响", "响", "響"], ["小春", "小春", "小春", "小春"], ["小春", "小春", "小春", "小春"], ["小雪", "小雪", "小雪", "小雪"], ["小玉", "小玉", "小玉", "小玉"], ["小玉", "小玉", "小玉", "小玉"], ["心奈", "心奈", "心菜", "心菜"], ["星野", "星野", "星野", "星野"], ["星野", "星野", "星野", "星野"], ["芽瑠", "芽留", "爱瑠", "愛瑠"], ["亚津子", "亚津子", "敦子", "敦子"], ["亚子", "亚子", "亚子", "亞子"], ["亚子", "亚子", "亚子", "亞子"], ["遥香", "春香", "遥香", "遙香"], ["遥香", "春香", "遥香", "遙香"], ["野宫", "野宫", "野乃美", "野乃美"], ["野宫", "野宫", "野乃美", "野乃美"], ["叶渚", "叶渚", "环奈", "環奈"], ["一花", "一花", "一花", "一花"], ["伊吹", "伊吹", "伊吹", "伊吹"], ["伊吕波", "伊吕波", "伊吕波", "伊呂波"], ["伊织", "伊织", "伊织", "伊織"], ["伊织", "伊织", "伊织", "伊織"], ["樱子", "樱子", "樱子", "櫻子"], ["优香", "优香", "优香", "優香"], ["优香", "优香", "优香", "優香"], ["忧", "忧", "忧", "憂"], ["忧", "忧", "忧", "憂"], ["月咏", "月咏", "月夜", "月夜"], ["真白", "真白", "麻白", "麻白"], ["真白", "真白", "麻白", "麻白"], ["真纪", "真纪", "真纪", "真紀"], ["真琴", "真琴", "真琴", "真琴"], ["志美子", "志美子", "志美子", "志美子"], ["智惠", "巴", "智惠", "智惠"], ["紫草", "紫草", "紫草", "紫草"], ["茜", "茜", "朱音", "朱音"], ["茜", "茜", "朱音", "朱音"], ["茱莉", "朱莉", "茱莉", "茱莉"], ["堇", "堇", "堇", "堇"], ["渚", "渚", "渚", "渚"], ["濑名", "濑名", "濑奈", "瀬奈"], ["绫音", "绫音", "绫音", "綾音"], ["绫音", "绫音", "绫音", "綾音"], ["柚子", "柚子", "柚子", "柚子"], ["柚子", "柚子", "柚子", "柚子"], ["梓", "梓", "梓", "梓"], ["梓", "梓", "梓", "梓"], ["", "", "", ""], ["", "", "", ""], ["", "", "", ""], ["", "", "", ""], ["", "", "", ""], ["", "", "", ""], ["", "", "", ""], ["", "", "", ""], ["", "", "", ""], ["", "", "", ""], ["", "", "", ""], ["", "", "", ""], ["", "", "", ""], ["", "", "", ""], ["阿罗娜", "阿洛娜", "彩奈", "彩奈"], ["贝雅特里谢", "贝雅特里谢", "贝雅特里谢", "貝雅特里謝"], ["碧", "碧", "碧", "碧"], ["步", "步", "步", "步"], ["法兰西斯", "法兰西斯", "法兰西斯", "法蘭西斯"], ["戈尔孔特", "戈尔孔特", "戈尔孔特", "戈爾孔特"], ["葛业", "葛业", "葛业", "葛葉"], ["黑色西服人", "黑色西服人", "黑色西装人", "黑色西裝人"], ["莉央", "莉央", "莉音", "莉音"], ["琳", "琳", "琳", "琳"], ["玛艾斯托洛", "玛艾斯托洛", "玛艾斯托洛", "瑪艾斯托洛"], ["圣娅", "圣娅", "圣亚", "聖亞"], ["桃香", "桃可", "桃香", "桃香"], ["香耶", "香耶", "香耶", "香耶"]], "cl": [["阿慈谷", "阿慈谷", "阿慈谷", "阿慈谷"], ["阿慈谷", "阿慈谷", "阿慈谷", "阿慈谷"], ["爱清", "爱清", "爱清", "愛清"], ["爱清", "爱清", "爱清", "愛清"], ["安守", "安守", "安守", "安守"], ["奥空", "奥空", "奥空", "奥空"], ["奥空", "奥空", "奥空", "奥空"], ["白石", "白石", "白石", "白石"], ["白石", "白石", "白石", "白石"], ["白洲", "白洲", "白洲", "白洲"], ["白洲", "白洲", "白洲", "白洲"], ["冰室", "冰室", "冰室", "氷室"], ["不破", "不破", "不破", "不破"], ["才羽", "才羽", "才羽", "才羽"], ["才羽", "才羽", "才羽", "才羽"], ["苍森", "苍森", "苍森", "蒼森"], ["朝比奈", "朝比奈", "朝比奈", "朝比奈"], ["朝颜", "朝颜", "朝颜", "朝顏"], ["朝颜", "朝颜", "朝颜", "朝顏"], ["秤", "秤", "秤", "秤"], ["池仓", "池仓", "池仓", "池倉"], ["赤司", "赤司", "赤司", "赤司"], ["赤司", "赤司", "赤司", "赤司"], ["初音", "初音", "初音", "初音"], ["春日", "春日", "春日", "春日"], ["春日", "春日", "春日", "春日"], ["春原", "春原", "春原", "春原"], ["春原", "春原", "春原", "春原"], ["春原", "春原", "春原", "春原"], ["大野", "大野", "大野", "大野"], ["丹花", "丹花", "丹花", "丹花"], ["锭前", "锭前", "锭前", "錠前"], ["飞鸟马", "飞鸟马", "飞鸟马", "飛鳥馬"], ["飞鸟马", "飞鸟马", "飞鸟马", "飛鳥馬"], ["丰见", "丰见", "丰见", "豊見"], ["丰见", "丰见", "丰见", "豊見"], ["风仓", "风仓", "风仓", "風倉"], ["歌住", "歌住", "歌住", "歌住"], ["各务", "各务", "各务", "各務"], ["古关", "古关", "古关", "古関"], ["古关", "古关", "古关", "古関"], ["鬼方", "鬼方", "鬼方", "鬼方"], ["鬼方", "鬼方", "鬼方", "鬼方"], ["鬼方", "鬼方", "鬼方", "鬼方"], ["鬼怒川", "鬼怒川", "鬼怒川", "鬼怒川"], ["和乐", "和乐", "和乐", "和樂"], ["和乐", "和乐", "和乐", "和樂"], ["和泉元", "和泉元", "和泉元", "和泉元"], ["和泉元", "和泉元", "和泉元", "和泉元"], ["合欢垣", "合欢垣", "合欢垣", "合歡垣"], ["河和", "河和", "河和", "河和"], ["河和", "河和", "河和", "河和"], ["黑馆", "黑馆", "黑馆", "黑舘"], ["黑馆", "黑馆", "黑馆", "黑舘"], ["黑馆", "黑馆", "黑馆", "黑舘"], ["黑见", "黑见", "黑见", "黑見"], ["黑见", "黑见", "黑见", "黑見"], ["黑崎", "黑崎", "黑崎", "黑崎"], ["狐坂", "狐坂", "狐坂", "狐坂"], ["狐坂", "狐坂", "狐坂", "狐坂"], ["花冈", "花冈", "花冈", "花岡"], ["花冈", "花冈", "花冈", "花岡"], ["火宫", "火宫", "火宫", "火宮"], ["火宫", "火宫", "火宫", "火宮"], ["姬木", "姫木", "姬木", "姬木"], ["间宵", "间宵", "间宵", "間宵"], ["间宵", "间宵", "间宵", "間宵"], ["剑先", "剑先", "剑先", "劍先"], ["剑先", "剑先", "剑先", "劍先"], ["角楯", "角楯", "角楯", "角楯"], ["角楯", "角楯", "角楯", "角楯"], ["戒野", "戒野", "戒野", "戒野"], ["近卫", "近卫", "近卫", "近衛"], ["静山", "静山", "静山", "靜山"], ["静山", "静山", "静山", "靜山"], ["久田", "久田", "久田", "久田"], ["久田", "久田", "久田", "久田"], ["勘解由小路", "勘解由小路", "勘解由小路", "勘解由小路"], ["空井", "空井", "空井", "空井"], ["空井", "空井", "空井", "空井"], ["空崎", "空崎", "空崎", "空崎"], ["空崎", "空崎", "空崎", "空崎"], ["空崎", "空崎", "空崎", "空崎"], ["里浜", "里浜", "里浜", "里浜"], ["栗村", "栗村", "栗村", "栗村"], ["连河", "连河", "连河", "連河"], ["连河", "连河", "连河", "連河"], ["陆八魔", "陆八魔", "陆八魔", "陸八魔"], ["陆八魔", "陆八魔", "陆八魔", "陸八魔"], ["陆八魔", "陆八魔", "陆八魔", "陸八魔"], ["猫冢", "猫冢", "猫冢", "猫塚"], ["猫冢", "猫冢", "猫冢", "猫塚"], ["美甘", "美甘", "美甘", "美甘"], ["美甘", "美甘", "美甘", "美甘"], ["明星", "明星", "明星", "明星"], ["牛牧", "牛牧", "牛牧", "牛牧"], ["浦和", "浦和", "浦和", "浦和"], ["浦和", "浦和", "浦和", "浦和"], ["千鸟", "千鸟", "千鸟", "千鳥"], ["浅黄", "浅黄", "浅黄", "淺黃"], ["浅黄", "浅黄", "浅黄", "淺黃"], ["秋泉", "秋泉", "秋泉", "秋泉"], ["若叶", "若叶", "若叶", "若葉"], ["若叶", "若叶", "若叶", "若葉"], ["桑上", "桑上", "桑上", "桑上"], ["砂狼", "砂狼", "砂狼", "砂狼"], ["砂狼", "砂狼", "砂狼", "砂狼"], ["砂狼", "砂狼", "砂狼", "砂狼"], ["生盐", "生盐", "生盐", "生塩"], ["圣园", "圣园", "圣园", "聖園"], ["狮子堂", "狮子堂", "狮子堂", "獅子堂"], ["狮子堂", "狮子堂", "狮子堂", "獅子堂"], ["十六夜", "十六夜", "十六夜", "十六夜"], ["十六夜", "十六夜", "十六夜", "十六夜"], ["食蜂", "食蜂", "食蜂", "食蜂"], ["室笠", "室笠", "室笠", "室笠"], ["室笠", "室笠", "室笠", "室笠"], ["守月", "守月", "守月", "守月"], ["水羽", "水羽", "水羽", "水羽"], ["水羽", "水羽", "水羽", "水羽"], ["天见", "天见", "天见", "天見"], ["天见", "天见", "天见", "天見"], ["天童", "天童", "天童", "天童"], ["天童", "天童", "天童", "天童"], ["天雨", "天雨", "天雨", "天雨"], ["天雨", "天雨", "天雨", "天雨"], ["桐生", "桐生", "桐生", "桐生"], ["桐藤", "桐藤", "桐藤", "桐藤"], ["尾刃", "尾刃", "尾刃", "尾刃"], ["霞泽", "霞泽", "霞泽", "霞沢"], ["霞泽", "霞泽", "霞泽", "霞沢"], ["下仓", "下仓", "下仓", "下倉"], ["下江", "下江", "下江", "下江"], ["下江", "下江", "下江", "下江"], ["小钩", "小钩", "小钩", "小鈎"], ["小钩", "小钩", "小钩", "小鈎"], ["小鸟游", "小鸟游", "小鸟游", "小鳥遊"], ["小鸟游", "小鸟游", "小鸟游", "小鳥遊"], ["小涂", "小涂", "小涂", "小塗"], ["杏山", "杏山", "杏山", "杏山"], ["药子", "药子", "药子", "藥子"], ["药子", "药子", "药子", "藥子"], ["一之濑", "一之濑", "一之濑", "一之瀬"], ["一之濑", "一之濑", "一之濑", "一之瀬"], ["伊草", "伊草", "伊草", "伊草"], ["伊草", "伊草", "伊草", "伊草"], ["伊落", "伊落", "伊落", "伊落"], ["伊落", "伊落", "伊落", "伊落"], ["伊原木", "伊原木", "伊原木", "伊原木"], ["乙花", "乙花", "乙花", "乙花"], ["音濑", "音濑", "音濑", "音瀬"], ["音濑", "音濑", "音濑", "音瀬"], ["银镜", "银镜", "银镜", "銀鏡"], ["银镜", "银镜", "银镜", "銀鏡"], ["勇美", "勇美", "勇美", "勇美"], ["宇泽", "宇泽", "宇泽", "宇沢"], ["羽川", "羽川", "羽川", "羽川"], ["羽川", "羽川", "羽川", "羽川"], ["羽沼", "羽沼", "羽沼", "羽沼"], ["御坂", "御坂", "御坂", "御坂"], ["圆堂", "圆堂", "圆堂", "円堂"], ["月雪", "月雪", "月雪", "月雪"], ["月雪", "月雪", "月雪", "月雪"], ["枣", "枣", "枣", "棗"], ["早濑", "早濑", "早濑", "早瀬"], ["早濑", "早濑", "早濑", "早瀬"], ["中务", "中务", "中务", "中務"], ["仲正", "仲正", "仲正", "仲正"], ["朱城", "朱城", "朱城", "朱城"], ["佐城", "佐城", "佐城", "佐城"], ["佐天", "佐天", "佐天", "佐天"], ["柚鸟", "柚鸟", "柚鸟", "柚鳥"], ["槌永", "槌永", "槌永", "槌永"], ["鹫见", "鹫见", "鹫见", "鷲見"], ["鹫见", "鹫见", "鹫见", "鷲見"], ["鳄渕", "鳄渕", "鳄渕", "鰐渕"], ["鳄渕", "鳄渊", "鳄渕", "鰐渕"]], "sn": [["SRT特殊学院", "SRT特殊学园", "SRT特殊学园", "SRT特殊學園"], ["阿拜多斯高等学院", "阿拜多斯高级中学", "阿拜多斯高中", "阿拜多斯高中"], ["阿里乌斯分院", "阿里乌斯分校", "奥利斯分校", "奧利斯分校"], ["百鬼夜行联合学院", "百鬼夜行联合学园", "百鬼夜行联合学园", "百鬼夜行聯合學園"], ["常盘台中学", "常盘台中学", "常盘台中学", "常盤台中學"], ["崔尼蒂综合学院", "三一综合学园", "三一综合学园", "三一綜合學園"], ["歌赫娜学院", "格黑娜学园", "格黑娜学园", "格黑娜學園"], ["红冬联邦学院", "红冬联邦学园", "赤冬联邦学园", "赤冬聯邦學園"], ["其他", "其他", "其他", "其他"], ["千禧年科技学院", "千年科学学园", "千年科学学园", "千年科學學園"], ["山海经高等学院", "山海经高级中学", "山海经高级中学", "山海經高級中學"], ["瓦尔基丽警员学院", "瓦尔基里警察学校", "女武神警察学园", "女武神警察學園"], ["栅川中学", "栅川中学", "栅川中学", "柵川中學"], ["SRT", "SRT", "SRT", "SRT"], ["阿拜多斯", "阿拜多斯", "阿拜多斯", "阿拜多斯"], ["阿里乌斯", "阿里乌斯", "奥利斯", "奧利斯"], ["百鬼夜行", "百鬼夜行", "百鬼夜行", "百鬼夜行"], ["常盘台", "常盘台", "常盘台", "常盤台"], ["崔尼蒂", "三一", "三一", "三一"], ["歌赫娜", "格黑娜", "格黑娜", "格黑娜"], ["红冬", "红冬", "赤冬", "赤冬"], ["其他", "其他", "其他", "其他"], ["千禧年", "千年", "千年", "千年"], ["山海经", "山海经", "山海经", "山海經"], ["瓦尔基丽", "瓦尔基里", "女武神", "女武神"], ["栅川", "栅川", "栅川", "柵川"]], "cn": [["227号特别班", "227号特别班", "227号特别班", "227號特別班"], ["C&C", "C&C", "C&C", "C&C"], ["RABBIT小队", "RABBIT小队", "RABBIT小队", "RABBIT小队"], ["阿里乌斯战术小队", "阿里乌斯小队", "奥利斯小队", "奧利斯小隊"], ["百花缭乱纷争调解委员会", "百花缭乱纷争调解委员会", "百花缭乱纷争调解委员会", "百花繚亂紛爭調解委員會"], ["便利屋68", "便利屋68", "便利屋68", "便利屋68"], ["补习部", "补课部", "补课部", "補課部"], ["茶话会", "茶会", "茶会", "茶會"], ["超自然现象调查部", "特异现象调查部", "特异现象搜查部", "特異現象搜查部"], ["崔尼蒂自警团", "三一自警团", "三一自卫队", "三一自衛隊"], ["对策委员会", "对策委员会", "对策委员会", "對策委員會"], ["风纪委员会", "风纪委员会", "风纪委员会", "風紀委員會"], ["工程部", "工程部", "工程师部", "工程師部"], ["供餐部", "供餐部", "供给部", "供給部"], ["公共安全局", "公安局", "公共安全局", "公共安全局"], ["红冬事务局", "红冬事务局", "赤冬事务局", "赤冬事務局"], ["急救医学部", "急救医学部", "急救医学部", "急救醫學部"], ["健身部", "锻炼部", "训练部", "訓練部"], ["建设部", "建设部", "建设部", "建设部"], ["姐妹会", "修女会", "修女会", "修女會"], ["救护骑士团", "救护骑士团", "救护骑士团", "救護騎士團"], ["炼丹研究会", "炼丹术研究会", "炼丹术研究会", "鍊丹術研究會"], ["梅花园", "梅花园", "梅花园", "梅花园"], ["美食研究会", "美食研究会", "美食研究会", "美食研究會"], ["庆典运营管理部", "节庆运营委员会", "节庆营运管理部", "節慶營運管理部"], ["忍术研究部", "忍术研究部", "忍术研究部", "忍术研究部"], ["生活安全局", "生活安全局", "生活安全局", "生活安全局"], ["甜点部", "放学后甜品部", "放学后的甜点部", "放學後的甜點部"], ["图书管理部", "图书委员会", "图书委员会", "圖書委員會"], ["万魔殿", "万魔殿", "万魔殿", "萬魔殿"], ["温泉开发部", "温泉开发部", "温泉开发部", "溫泉開發部"], ["无", "无", "无", "無"], ["修行部", "修行部", "修行部", "修行部"], ["玄龙门", "玄龙门", "玄龙门", "玄龍門"], ["玄武商会", "玄武商会", "玄武商会", "玄武商會"], ["研讨会", "研讨会", "研讨会", "研討會"], ["阴阳部", "阴阳部", "阴阳部", "阴阳部"], ["游戏开发部", "游戏开发部", "游戏开发部", "遊戲開發部"], ["真理社", "真理会", "贝里塔斯", "貝里塔斯"], ["正义实现部", "正义实现委员会", "实现正义部", "實現正義部"], ["知识解放战线", "知识解放战线", "知识解放战线", "知識解放戰線"]], "et": [["", "什亭之箱", "希迪姆的箱子", "希迪姆的箱子"], ["埃里都", "埃里都", "埃里都", "埃里都"], ["盖玛特利亚", "盖玛特利亚", "盖玛特利亚", "蓋瑪特利亞"], ["夏莱", "沙勒", "夏莱", "夏萊"]], "ra": [["白&黑", "白&黑", "白&黑", "白&黑"], ["比纳", "Binah", "薇娜", "薇娜"], ["额我略", "额我略", "葛利果", "葛利果"], ["格兹", "戈兹", "高兹", "高茲"], ["黑影", "黑影", "黑影", "黑影"], ["回转 FX Mk.0", "KAITEN FX 0型", "KAITEN FX 0型", "KAITEN FX Mk.0"], ["霍德", "Hod", "霍德", "霍德"], ["佩洛洛斯拉", "佩洛洛斯拉", "佩洛洛吉拉", "佩洛洛吉拉"], ["切赛德", "Chesed", "赫赛德", "赫賽德"], ["希罗尼穆斯", "希罗尼穆斯", "耶罗尼姆斯", "耶羅尼姆斯"], ["灾厄之狐", "灾厄之狐", "气垫船", "氣墊船"], ["白&黑 (色彩)", "白&黑(色彩)", "白&黑 (色彩)", "白&黑 (色彩)"], ["白子*TERROR", "白子*恐怖", "白子*TERROR", "白子*TERROR"], ["比纳 (色彩)", "Binah(色彩)", "薇娜 (色彩)", "薇娜 (色彩)"], ["霍德 (色彩)", "Hod(色彩)", "霍德 (色彩)", "霍德 (色彩)"], ["佩洛洛斯拉(色彩)", "佩洛洛斯拉(色彩)", "佩洛洛吉拉 (色彩)", "佩洛洛吉拉 (色彩)"], ["切赛德 (色彩)", "Chesed(色彩)", "赫赛德 (色彩)", "赫賽德 (色彩)"], ["若藻(气垫船)", "若藻(气垫船)", "若藻(气垫船)", "若藻(氣墊船)"], ["若藻(泳装)", "若藻(泳装)", "若藻(泳装)", "若藻(泳裝)"], ["希罗尼穆斯 (色彩)", "希罗尼穆斯(色彩)", "耶罗尼姆斯 (色彩)", "耶羅尼姆斯 (色彩)"]]} \ No newline at end of file diff --git a/i18n_zhcn_conversion/main.py b/i18n_zhcn_conversion/main.py new file mode 100644 index 0000000..199517d --- /dev/null +++ b/i18n_zhcn_conversion/main.py @@ -0,0 +1,2 @@ +__import__("main_get") +__import__("main_join") diff --git a/i18n_zhcn_conversion/main_get.py b/i18n_zhcn_conversion/main_get.py new file mode 100644 index 0000000..cd5c33e --- /dev/null +++ b/i18n_zhcn_conversion/main_get.py @@ -0,0 +1,103 @@ +import requests +import json +import opencc +from collections import namedtuple + + +# -----------------General Function----------------- +def load_json(url): + print("getting", url) + while True: + try: + return requests.get(url).json() + except Exception: + pass + + +ZhI18nData = namedtuple("ZhI18nData", ["zh_cn_jp", "zh_cn_cn", "zh_cn_tw", "zh_tw"]) + +_JpToTw = opencc.OpenCC("jp2t.json") +_TwToCn = opencc.OpenCC("tw2sp.json") +TwToCn = lambda x: _TwToCn.convert(_JpToTw.convert(x)) +# -------------------------------------------------- + +i18n_students = ["https://github.com/lonqie/SchaleDB/raw/main/data/cn/students.json", + "https://github.com/lonqie/SchaleDB/raw/main/data/zh/students.json", + "https://github.com/lonqie/SchaleDB/raw/main/data/tw/students.json", + "https://github.com/lonqie/SchaleDB/raw/main/data/jp/students.json"] +i18n_localization = ["https://github.com/lonqie/SchaleDB/raw/main/data/cn/localization.json", + "https://github.com/lonqie/SchaleDB/raw/main/data/zh/localization.json", + "https://github.com/lonqie/SchaleDB/raw/main/data/tw/localization.json", + "https://github.com/lonqie/SchaleDB/raw/main/data/jp/localization.json"] +i18n_raid = ["https://github.com/lonqie/SchaleDB/raw/main/data/cn/raids.json", + "https://github.com/lonqie/SchaleDB/raw/main/data/zh/raids.json", + "https://github.com/lonqie/SchaleDB/raw/main/data/tw/raids.json", + "https://github.com/lonqie/SchaleDB/raw/main/data/jp/raids.json"] + +json_students = [load_json(i) for i in i18n_students] +json_localization = [load_json(i) for i in i18n_localization] +json_raid = [load_json(i) for i in i18n_raid] + +# ----------------- Student Data ----------------- +# first name, last name +data_student_firstname = [] +data_student_lastname = [] +for (cn, zh, tw, jp) in zip(*json_students): + tw_lastname = TwToCn(tw["FamilyName"]) if tw["FamilyName"] != jp["FamilyName"] else zh["FamilyName"] + data_student_lastname.append(ZhI18nData(zh["FamilyName"], cn["FamilyName"], tw_lastname, tw["FamilyName"])) + tw_firstname = TwToCn(tw["PersonalName"]) if tw["PersonalName"] != jp["PersonalName"] else zh[ + "PersonalName"] + data_student_firstname.append(ZhI18nData(zh["PersonalName"], cn["PersonalName"], tw_firstname, tw["PersonalName"])) + + +# ----------------- LocalizationData ----------------- +# club name, school name (short/long), boss faction +def get_data_by_keyname(dataset, first_key_name): + temp = [] + for keyname in dataset[3][first_key_name].keys(): + cn = json_localization[0][first_key_name][keyname] + zh = json_localization[1][first_key_name][keyname] + tw = json_localization[2][first_key_name][keyname] + if tw == json_localization[3][first_key_name][keyname]: + tw = tw_zh = cn + else: + tw_zh = TwToCn(tw) + temp.append(ZhI18nData(cn, zh, tw_zh, tw)) + return temp + + +data_l10n_club = get_data_by_keyname(json_localization, "Club") +data_l10n_school_short = get_data_by_keyname(json_localization, "School") +data_l10n_school_long = get_data_by_keyname(json_localization, "SchoolLong") +data_l10n_boss_faction = get_data_by_keyname(json_localization, "BossFaction") + +# ----------------- RaidData ----------------- +# total_assault, world raid +data_raid_total_assault = [] +data_raid_world_raid = [] +for (cn, zh, tw, jp) in zip(json_raid[0]["Raid"], json_raid[1]["Raid"], json_raid[2]["Raid"], json_raid[3]["Raid"]): + tw_name = TwToCn(tw["Name"]) if tw["Name"] != jp["Name"] else zh["Name"] + data_raid_total_assault.append(ZhI18nData(cn["Name"], zh["Name"], tw_name, tw["Name"])) +for (cn, zh, tw, jp) in zip(json_raid[0]["WorldRaid"], json_raid[1]["WorldRaid"], + json_raid[2]["WorldRaid"], json_raid[3]["WorldRaid"]): + tw_name = TwToCn(tw["Name"]) if tw["Name"] != jp["Name"] else zh["Name"] + data_raid_world_raid.append(ZhI18nData(cn["Name"], zh["Name"], tw_name, tw["Name"])) + + +# ----------------- WriteData ----------------- +def write_json(dataset: list[ZhI18nData, ...], filepath): + temp = [] + for i in dataset: + temp.append([i.zh_cn_jp, i.zh_cn_cn, i.zh_cn_tw, i.zh_tw]) + with open(filepath, mode="w", encoding="UTF-8") as file: + json.dump(temp, file, ensure_ascii=False, indent=2) + + +write_json(data_student_firstname, "./original/auto_stu_first.json") +write_json(data_student_lastname, "./original/auto_stu_last.json") +write_json(data_l10n_club, "./original/auto_l10n_club.json") +write_json(data_l10n_boss_faction, "./original/auto_l10n_boss_faction.json") +write_json(data_l10n_school_short, "./original/auto_l10n_school_short.json") +write_json(data_l10n_school_long, "./original/auto_l10n_school_long.json") +write_json(data_raid_total_assault, "./original/auto_raid_total.json") +write_json(data_raid_world_raid, "./original/auto_raid_world.json") diff --git a/i18n_zhcn_conversion/main_join.py b/i18n_zhcn_conversion/main_join.py new file mode 100644 index 0000000..12357b4 --- /dev/null +++ b/i18n_zhcn_conversion/main_join.py @@ -0,0 +1,34 @@ +import json +import os +from collections import OrderedDict + +BASE_DIR = "./original" +all_json_files = OrderedDict({ + "cf": ["auto_stu_first.json", "char_first.json"], + "cl": ["auto_stu_last.json"], + "sn": ["auto_l10n_school_short.json", "auto_l10n_school_long.json"], + "cn": ["auto_l10n_club.json"], + "et": ["etc.json"], + "ra": ["auto_raid_total.json", "auto_raid_world.json"] +}) + +result = OrderedDict() +for (tag_name, files) in all_json_files.items(): + for file in sorted(files, key=lambda x: x.encode("utf8")): + path = os.path.join(BASE_DIR, file) + + with open(path, mode="r", encoding="utf8") as f: + content = json.load(f) + + content2 = [[value.encode("gbk") for value in entry] for entry in content] + content2.sort(key=lambda x: tuple(x)) + content2 = [[value.decode("gbk") for value in entry] for entry in content2] + + if tag_name not in result.keys(): + result[tag_name] = [] + result[tag_name].extend(content2) + +with open("./export/i18n_zhcn_all.json", mode="w", encoding="utf8") as f: + json.dump(result, f, ensure_ascii=False, indent=2) +with open("./export/i18n_zhcn_all_min.json", mode="w", encoding="utf8") as f: + json.dump(result, f, ensure_ascii=False) diff --git a/i18n_zhcn_conversion/original/.gitignore b/i18n_zhcn_conversion/original/.gitignore new file mode 100644 index 0000000..6e7993d --- /dev/null +++ b/i18n_zhcn_conversion/original/.gitignore @@ -0,0 +1 @@ +auto_*.json \ No newline at end of file diff --git a/i18n_zhcn_conversion/original/char_first.json b/i18n_zhcn_conversion/original/char_first.json new file mode 100644 index 0000000..ba70a9f --- /dev/null +++ b/i18n_zhcn_conversion/original/char_first.json @@ -0,0 +1,31 @@ +[ + ["莉央", "莉央", "莉音", "莉音"], + ["阿罗娜", "阿洛娜", "彩奈", "彩奈"], + ["圣娅", "圣娅", "圣亚", "聖亞"], + ["葛业", "葛业", "葛业", "葛葉"], + ["黑色西服人", "黑色西服人", "黑色西装人", "黑色西裝人"], + ["玛艾斯托洛", "玛艾斯托洛", "玛艾斯托洛", "瑪艾斯托洛"], + ["戈尔孔特", "戈尔孔特", "戈尔孔特", "戈爾孔特"], + ["贝雅特里谢", "贝雅特里谢", "贝雅特里谢", "貝雅特里謝"], + ["步", "步", "步", "步"], + ["桃香", "桃可", "桃香", "桃香"], + ["香耶", "香耶", "香耶", "香耶"], + ["法兰西斯", "法兰西斯", "法兰西斯", "法蘭西斯"], + ["碧", "碧", "碧", "碧"], + ["琳", "琳", "琳", "琳"], + ["", "", "", ""], + ["", "", "", ""], + ["", "", "", ""], + ["", "", "", ""], + ["", "", "", ""], + ["", "", "", ""], + ["", "", "", ""], + ["", "", "", ""], + ["", "", "", ""], + ["", "", "", ""], + ["", "", "", ""], + ["", "", "", ""], + ["", "", "", ""], + ["", "", "", ""] + +] \ No newline at end of file diff --git a/i18n_zhcn_conversion/original/etc.json b/i18n_zhcn_conversion/original/etc.json new file mode 100644 index 0000000..2c46a60 --- /dev/null +++ b/i18n_zhcn_conversion/original/etc.json @@ -0,0 +1 @@ +[["夏莱", "沙勒", "夏莱", "夏萊"], ["", "什亭之箱", "希迪姆的箱子", "希迪姆的箱子"], ["埃里都", "埃里都", "埃里都", "埃里都"], ["盖玛特利亚", "盖玛特利亚", "盖玛特利亚", "蓋瑪特利亞"]] \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 0000000..2a91e83 --- /dev/null +++ b/main.py @@ -0,0 +1,20 @@ +import subprocess +import os + +curr_dir = os.path.dirname(os.path.realpath(__file__)) +base_cd_cmd = f"cd {curr_dir}" + +subprocess.Popen(f"cd {curr_dir}", shell=True).wait() + + +def call_process(cmds: list): + command = " && ".join([base_cd_cmd] + cmds) + + print(command) + p = subprocess.run(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + + print("stdout", p.stdout.decode("utf")) + print("stderr", p.stderr.decode("utf")) + + +call_process(["cd i18n_zhcn_conversion", "python main.py"]) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..7b80a59 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +requests~=2.31.0 +OpenCC~=1.1.7 \ No newline at end of file