|
import os, sys
|
|
import json
|
|
import gradio as gr
|
|
from assets.i18n.i18n import I18nAuto
|
|
|
|
now_dir = os.getcwd()
|
|
sys.path.append(now_dir)
|
|
|
|
i18n = I18nAuto()
|
|
|
|
config_file = os.path.join(now_dir, "assets", "config.json")
|
|
|
|
|
|
def get_language_settings():
|
|
with open(config_file, "r", encoding="utf8") as file:
|
|
config = json.load(file)
|
|
|
|
if config["lang"]["override"] == False:
|
|
return "Language automatically detected in the system"
|
|
else:
|
|
return config["lang"]["selected_lang"]
|
|
|
|
|
|
def save_lang_settings(selected_language):
|
|
with open(config_file, "r", encoding="utf8") as file:
|
|
config = json.load(file)
|
|
|
|
if selected_language == "Language automatically detected in the system":
|
|
config["lang"]["override"] = False
|
|
else:
|
|
config["lang"]["override"] = True
|
|
config["lang"]["selected_lang"] = selected_language
|
|
|
|
gr.Info("Language have been saved. Restart Applio to apply the changes.")
|
|
|
|
with open(config_file, "w", encoding="utf8") as file:
|
|
json.dump(config, file, indent=2)
|
|
|
|
|
|
def lang_tab():
|
|
with gr.Column():
|
|
selected_language = gr.Dropdown(
|
|
label=i18n("Language"),
|
|
info=i18n(
|
|
"Select the language you want to use. (Requires restarting Applio)"
|
|
),
|
|
value=get_language_settings(),
|
|
choices=["Language automatically detected in the system"]
|
|
+ i18n._get_available_languages(),
|
|
interactive=True,
|
|
)
|
|
|
|
selected_language.change(
|
|
fn=save_lang_settings,
|
|
inputs=[selected_language],
|
|
outputs=[],
|
|
)
|
|
|