in app/app.py [0:0]
def save_new_language(lang_name, system_prompt):
"""Save the new language and system prompt to persistent storage if available, otherwise to local file."""
global LANGUAGES
languages_path, use_persistent = get_persistent_storage_path("languages.json")
local_path = Path(__file__).parent / "languages.json"
if languages_path.exists():
with open(languages_path, "r", encoding="utf-8") as f:
data = json.load(f)
else:
data = {}
data[lang_name] = system_prompt
with open(languages_path, "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
if use_persistent and local_path != languages_path:
try:
with open(local_path, "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
except Exception as e:
print(f"Error updating local backup: {e}")
LANGUAGES.update({lang_name: system_prompt})
return gr.Group(visible=False), gr.HTML("<script>window.location.reload();</script>"), gr.Dropdown(choices=list(LANGUAGES.keys()))