mirror of
https://github.com/RVC-Boss/GPT-SoVITS.git
synced 2026-07-22 01:47:57 +08:00
Refactor language resolution into shared helper
This commit is contained in:
parent
be6a4f1e9d
commit
f87b8a668e
@ -124,10 +124,9 @@ from text import cleaned_text_to_sequence
|
||||
from text.cleaner import clean_text
|
||||
|
||||
from tools.assets import css, js, top_html
|
||||
from tools.i18n.i18n import I18nAuto, scan_language_list
|
||||
from tools.i18n.i18n import I18nAuto, resolve_language
|
||||
|
||||
language = os.environ.get("language", "Auto")
|
||||
language = sys.argv[-1] if sys.argv[-1] in scan_language_list() else language
|
||||
language = resolve_language(os.environ.get("language", "Auto"))
|
||||
i18n = I18nAuto(language=language)
|
||||
|
||||
# os.environ['PYTORCH_ENABLE_MPS_FALLBACK'] = '1' # 确保直接启动推理UI时也能够设置。
|
||||
|
||||
13
tests/test_i18n_language.py
Normal file
13
tests/test_i18n_language.py
Normal file
@ -0,0 +1,13 @@
|
||||
from tools.i18n.i18n import resolve_language
|
||||
|
||||
|
||||
def test_resolve_language_prefers_supported_last_cli_locale():
|
||||
assert resolve_language("fr_FR", ["webui.py", "zh_CN"]) == "zh_CN"
|
||||
|
||||
|
||||
def test_resolve_language_keeps_language_for_unknown_last_argument():
|
||||
assert resolve_language("fr_FR", ["webui.py", "--port", "9872"]) == "fr_FR"
|
||||
|
||||
|
||||
def test_resolve_language_keeps_language_for_empty_argv():
|
||||
assert resolve_language("fr_FR", []) == "fr_FR"
|
||||
@ -1,6 +1,7 @@
|
||||
import json
|
||||
import locale
|
||||
import os
|
||||
import sys
|
||||
|
||||
I18N_JSON_DIR: os.PathLike = os.path.join(os.path.dirname(os.path.relpath(__file__)), "locale")
|
||||
|
||||
@ -19,6 +20,14 @@ def scan_language_list():
|
||||
return language_list
|
||||
|
||||
|
||||
def resolve_language(language="Auto", argv=None):
|
||||
if argv is None:
|
||||
argv = sys.argv
|
||||
if argv and argv[-1] in scan_language_list():
|
||||
return argv[-1]
|
||||
return language
|
||||
|
||||
|
||||
class I18nAuto:
|
||||
def __init__(self, language=None):
|
||||
if language in ["Auto", None]:
|
||||
|
||||
4
webui.py
4
webui.py
@ -61,9 +61,9 @@ import subprocess
|
||||
from subprocess import Popen
|
||||
|
||||
from tools.assets import css, js, top_html
|
||||
from tools.i18n.i18n import I18nAuto, scan_language_list
|
||||
from tools.i18n.i18n import I18nAuto, resolve_language
|
||||
|
||||
language = sys.argv[-1] if sys.argv[-1] in scan_language_list() else "Auto"
|
||||
language = resolve_language()
|
||||
os.environ["language"] = language
|
||||
i18n = I18nAuto(language=language)
|
||||
from multiprocessing import cpu_count
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user