ttettheu's picture
Upload 154 files
7ef50cb verified
raw
history blame
1.63 kB
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=[],
)