BREAKING CHANGE: add support for Chinese(Simplified)

pull/6/head
sean1832 1 year ago
parent 469c47b9a4
commit bfaa87e5b8

@ -7,6 +7,7 @@ import os
from modules import utilities as util
import tkinter as tk
from tkinter import filedialog
from modules import language
user_dir = '.user/'
prompt_dir = f'{user_dir}prompt/'
@ -15,6 +16,8 @@ brain_memo = f'{user_dir}brain-memo.json'
if 'FILTER_ROW_COUNT' not in st.session_state:
st.session_state['FILTER_ROW_COUNT'] = util.read_json_at(brain_memo, 'filter_row_count')
_ = language.set_language()
st.set_page_config(
page_title='Configs'
)
@ -25,10 +28,10 @@ body = st.container()
def save(content, path, page='', json_value: dict = None):
if json_value is None:
json_value = []
save_but = st.button('💾Save')
save_but = st.button(_('💾Save'))
if save_but:
util.write_file(content, path)
st.success(f'✅File saved!')
st.success(_('✅File saved!'))
# write to json file
if page == '💽Brain Memory':
util.update_json(brain_memo, 'delimiter', json_value['delimiter'])
@ -47,7 +50,7 @@ def select_directory():
root.withdraw()
# make sure the dialog is on top of the main window
root.attributes('-topmost', True)
directory = filedialog.askdirectory(initialdir=os.getcwd(), title='Select Note Directory', master=root)
directory = filedialog.askdirectory(initialdir=os.getcwd(), title=_('Select Note Directory'), master=root)
return directory
@ -165,9 +168,9 @@ def filter_data(pages: list, add_filter_button, del_filter_button):
if del_filter_button:
st.session_state['FILTER_ROW_COUNT'] -= 1
if st.session_state['FILTER_ROW_COUNT'] >= 1:
for i in range(st.session_state['FILTER_ROW_COUNT']+1):
for i in range(st.session_state['FILTER_ROW_COUNT'] + 1):
try:
init_info = init_filter_infos[i-1]
init_info = init_filter_infos[i - 1]
init_key = init_info['key']
init_logic = init_info['logic']
init_val = init_info['value']
@ -190,18 +193,18 @@ def filter_data(pages: list, add_filter_button, del_filter_button):
def main():
with st.sidebar:
st.title('Settings')
menu = st.radio('Menu', [
'📝Prompts',
'💽Brain Memory',
'🔑API Keys'
st.title(_('Settings'))
menu = st.radio(_('Menu'), [
_('📝Prompts'),
_('💽Brain Memory'),
_('🔑API Keys')
])
with body:
match menu:
case '📝Prompts':
st.title('📝Prompts')
st.text('Configuration of prompts.')
case _('📝Prompts'):
st.title(_('📝Prompts'))
st.text(_('Configuration of prompts.'))
# read selected file
last_sel_file = util.read_json_at(brain_memo, 'selected_prompt')
@ -215,13 +218,13 @@ def main():
except ValueError:
last_sel_file_index = 0
selected_file = st.selectbox('Prompt File', all_files, last_sel_file_index)
selected_file = st.selectbox(_('Prompt File'), all_files, last_sel_file_index)
col1, col2 = st.columns(2)
with col1:
if st_toggle.st_toggle_switch('New Prompt', label_after=True):
new_file = st.text_input('New Prompt Name', value='new_prompt')
if st.button('Create'):
if st_toggle.st_toggle_switch(_('New Prompt'), label_after=True):
new_file = st.text_input(_('New Prompt Name'), value='new_prompt')
if st.button(_('Create')):
util.write_file('', f'{prompt_dir}{new_file}.txt')
# change select file to new fie
util.update_json(brain_memo, 'selected_prompt', selected_file)
@ -232,48 +235,49 @@ def main():
selected_file == 'question.txt' or \
selected_file == 'summarize.txt'
if not is_core:
if st_toggle.st_toggle_switch('Delete Prompt', label_after=True):
if st.button('❌Delete'):
if st_toggle.st_toggle_switch(_('Delete Prompt'), label_after=True):
if st.button(_('❌Delete')):
util.delete_file(f'{prompt_dir}{selected_file}')
# refresh page
st.experimental_rerun()
selected_path = prompt_dir + selected_file
mod_text = st.text_area('Prompts', value=util.read_file(selected_path), height=500)
mod_text = st.text_area(_('Prompts'), value=util.read_file(selected_path), height=500)
save(mod_text, selected_path)
case '💽Brain Memory':
st.title('💽Brain Memory')
st.text('Modify your brain knowledge base.')
case _('💽Brain Memory'):
st.title(_('💽Brain Memory'))
st.text(_('Modify your brain knowledge base.'))
memory_data = util.read_file(f'{user_dir}input.txt')
col1, col2 = st.columns(2)
with col1:
st.button('🔄Refresh')
st.button(_('🔄Refresh'))
with col2:
if st.button('📁Select Note Directory'):
if st.button(_('📁Select Note Directory')):
note_dir = select_directory()
util.update_json(brain_memo, 'note_dir', note_dir)
note_dir = st.text_input('Note Directory', value=util.read_json_at(brain_memo, 'note_dir'),
placeholder='Select Note Directory', key='note_dir')
note_dir = st.text_input(_('Note Directory'), value=util.read_json_at(brain_memo, 'note_dir'),
placeholder=_('Select Note Directory'), key='note_dir')
col1, col2, col3, col4 = st.columns([1, 2, 2, 2])
with col1:
delimiter_memo = util.read_json_at(brain_memo, 'delimiter')
delimiter = st.text_input('Delimiter', delimiter_memo, placeholder='e.g. +++')
delimiter = st.text_input(_('Delimiter'), delimiter_memo, placeholder='e.g. +++')
with col2:
append_mode = st.checkbox('Append Mode', value=util.read_json_at(brain_memo, 'append_mode'))
force_delimiter = st.checkbox('Force Delimiter', value=util.read_json_at(brain_memo, 'force_mode'))
append_mode = st.checkbox(_('Append Mode'), value=util.read_json_at(brain_memo, 'append_mode'))
force_delimiter = st.checkbox(_('Force Delimiter'),
value=util.read_json_at(brain_memo, 'force_mode'))
with col3:
advanced_mode = st_toggle.st_toggle_switch('Filter Mode',
advanced_mode = st_toggle.st_toggle_switch(_('Filter Mode'),
label_after=True,
default_value=util.read_json_at(brain_memo,
'advanced_mode', False))
with col4:
if advanced_mode:
add_filter_button = st.button('Add Filter')
del_filter_button = st.button('Delete Filter')
add_filter_button = st.button(_('Add Filter'))
del_filter_button = st.button(_('Delete Filter'))
# if note directory is selected
if note_dir != '':
@ -291,8 +295,8 @@ def main():
else:
memory_data = modified_data
mod_text = st.text_area('Raw Memory Inputs', value=memory_data, height=500)
save(mod_text, f'{user_dir}input.txt', '💽Brain Memory', {
mod_text = st.text_area(_('Raw Memory Inputs'), value=memory_data, height=500)
save(mod_text, f'{user_dir}input.txt', _('💽Brain Memory'), {
'delimiter': delimiter,
'append_mode': append_mode,
'force_mode': force_delimiter,
@ -301,10 +305,10 @@ def main():
'filter_row_count': len(filter_info),
})
case '🔑API Keys':
st.title('🔑API Keys')
st.text('Configure your OpenAI API keys.')
mod_text = st.text_input('API Keys', value=util.read_file(f'{user_dir}API-KEYS.txt'))
case _('🔑API Keys'):
st.title(_('🔑API Keys'))
st.text(_('Configure your OpenAI API keys.'))
mod_text = st.text_input(_('API Keys'), value=util.read_file(f'{user_dir}API-KEYS.txt'))
save(mod_text, f'{user_dir}API-KEYS.txt')

Loading…
Cancel
Save