Merge remote-tracking branch 'origin/main'
# Conflicts: # .github/workflows/deploy-docs.yml # docs/dev/api/README.md # docs/dev/api/bot/README.md # docs/dev/api/bot/lifespan.md # docs/dev/api/comm/README.md # docs/dev/api/comm/channel.md # docs/dev/api/comm/event.md # docs/dev/api/comm/storage.md # docs/dev/api/config.md # docs/dev/api/core/README.md # docs/dev/api/core/manager.md # docs/dev/api/dev/README.md # docs/dev/api/dev/observer.md # docs/dev/api/dev/plugin.md # docs/dev/api/exception.md # docs/dev/api/log.md # docs/dev/api/message/README.md # docs/dev/api/message/event.md # docs/dev/api/message/matcher.md # docs/dev/api/message/on.md # docs/dev/api/message/rule.md # docs/dev/api/message/session.md # docs/dev/api/mkdoc.md # docs/dev/api/plugin/README.md # docs/dev/api/plugin/load.md # docs/dev/api/plugin/manager.md # docs/dev/api/plugin/model.md # docs/dev/api/utils.md # docs/en/dev/api/README.md # docs/en/dev/api/bot/README.md # docs/en/dev/api/bot/lifespan.md # docs/en/dev/api/comm/README.md # docs/en/dev/api/comm/channel.md # docs/en/dev/api/comm/event.md # docs/en/dev/api/comm/storage.md # docs/en/dev/api/config.md # docs/en/dev/api/core/README.md # docs/en/dev/api/core/manager.md # docs/en/dev/api/dev/README.md # docs/en/dev/api/dev/observer.md # docs/en/dev/api/dev/plugin.md # docs/en/dev/api/exception.md # docs/en/dev/api/log.md # docs/en/dev/api/message/README.md # docs/en/dev/api/message/event.md # docs/en/dev/api/message/matcher.md # docs/en/dev/api/message/on.md # docs/en/dev/api/message/rule.md # docs/en/dev/api/message/session.md # docs/en/dev/api/mkdoc.md # docs/en/dev/api/plugin/README.md # docs/en/dev/api/plugin/load.md # docs/en/dev/api/plugin/manager.md # docs/en/dev/api/plugin/model.md # docs/en/dev/api/utils.md # litedoc/__main__.py # litedoc/docstring/docstring.py # litedoc/output.py # litedoc/style/markdown.py # litedoc/syntax/astparser.py
This commit is contained in:
47
litedoc/translator.py
Normal file
47
litedoc/translator.py
Normal file
@ -0,0 +1,47 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Copyright (C) 2020-2024 LiteyukiStudio. All Rights Reserved
|
||||
|
||||
@Time : 2024/8/29 下午12:02
|
||||
@Author : snowykami
|
||||
@Email : snowykami@outlook.com
|
||||
@File : translator.py
|
||||
@Software: PyCharm
|
||||
"""
|
||||
from typing import Optional
|
||||
|
||||
from translate import Translator # type: ignore
|
||||
|
||||
# 特殊映射语言
|
||||
i18n_lang2googletrans_lang = {
|
||||
"zh-Hans": "zh-cn",
|
||||
"zh-Hant": "zh-tw",
|
||||
"en" : "en",
|
||||
}
|
||||
|
||||
|
||||
def get_google_lang(lang: str) -> str:
|
||||
"""
|
||||
Get google translate language
|
||||
Args:
|
||||
lang: language
|
||||
Returns:
|
||||
google translate language
|
||||
"""
|
||||
return i18n_lang2googletrans_lang.get(lang, lang)
|
||||
|
||||
|
||||
def translate(text: str, lang: str, source_lang: str) -> str:
|
||||
"""
|
||||
Translate text to target language
|
||||
Args:
|
||||
source_lang:
|
||||
text: text
|
||||
lang: target language
|
||||
Returns:
|
||||
translated text
|
||||
"""
|
||||
if lang == source_lang:
|
||||
return text
|
||||
google_lang = get_google_lang(lang)
|
||||
return Translator(to_lang=google_lang, from_lang=source_lang).translate(text)
|
Reference in New Issue
Block a user