File size: 1,633 Bytes
1a7d583 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
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=[],
)
|