rick commited on
Commit
fab2f8b
·
unverified ·
1 Parent(s): af53ceb

bug fixed now... not done...

Browse files
Files changed (1) hide show
  1. pages/main.py +44 -21
pages/main.py CHANGED
@@ -57,24 +57,17 @@ def load_ui_language(file_path: Optional[str] = "ui_lang_support.json") -> Dict[
57
  print(f"{get_translation('erreur_lecture_fichier')} {e}")
58
  return {}
59
 
60
- # Dictionary to store translations
61
- translations = load_ui_language()
62
 
63
  def get_translation(key: str) -> str:
64
  """
65
  Obtient la traduction pour une clé donnée basée sur la langue d'interface sélectionnée.
66
-
67
- Args:
68
- key (str): La clé de traduction.
69
-
70
- Returns:
71
- str: Le texte traduit.
72
  """
73
- if "interface_language" in st.session_state:
74
- return translations[st.session_state.interface_language][key]
75
- else:
76
- return translations[st.session_state.interface_language_select][key]
77
-
78
 
79
  # OpenAI client configuration with API key
80
  client = OpenAI(api_key=getenv("OPENAI_API_KEY"))
@@ -533,17 +526,23 @@ def on_languages_change() -> None:
533
  ]
534
 
535
 
536
- def init_process_mode() -> Tuple[str, str]:
 
 
 
 
537
  """
538
  Initialise le mode de traitement pour la traduction si nécessaire.
539
 
540
  Returns:
541
  Tuple[str, str]: Un tuple contenant le prompt système et le prompt d'opération.
542
  """
543
- if st.session_state["process_mode"] == "translation":
 
 
544
  system_prompt, operation_prompt = set_translation_mode(
545
- from_lang=st.session_state.language_detected,
546
- dest_lang=st.session_state.target_language
547
  )
548
  return system_prompt, operation_prompt
549
  return "", ""
@@ -573,7 +572,7 @@ def main_page():
573
  if "interface_language_select" not in st.session_state:
574
  st.session_state.interface_language_select = "English" # Langue par défaut
575
 
576
- system_prompt, operation_prompt = init_process_mode()
577
 
578
  # Initialisation de l'historique des messages avec le prompt système
579
  if "messages" not in st.session_state:
@@ -598,12 +597,27 @@ def main_page():
598
 
599
  for cursor_selected_lang in st.session_state.selected_languages:
600
  st.session_state.target_language = cursor_selected_lang["iso-639-1"]
 
 
601
  # Réinitialiser les messages avant de traiter une nouvelle entrée
602
  st.session_state.messages = []
603
  st.session_state.full_response = ""
 
604
  # Initialisation du mode de traitement pour la langue cible actuelle
605
- system_prompt, operation_prompt = init_process_mode()
606
- target_language_name = cursor_selected_lang["language"]
 
 
 
 
 
 
 
 
 
 
 
 
607
  with st.status(f'({target_language_name}) - {get_translation("traduction_en_cours")}', expanded=True) as response_status:
608
  with st.chat_message("assistant", avatar="👻"):
609
  message_placeholder = st.empty()
@@ -735,8 +749,17 @@ def main_page():
735
  for cursor_selected_lang in st.session_state.selected_languages:
736
  st.session_state.target_language = cursor_selected_lang["iso-639-1"]
737
  st.session_state.full_response = ""
 
738
  # Initialisation du mode de traitement pour la langue cible actuelle
739
- system_prompt, operation_prompt = init_process_mode()
 
 
 
 
 
 
 
 
740
  with st.chat_message("assistant", avatar="👻"):
741
  message_placeholder = st.empty()
742
  response_generator = process_message(
 
57
  print(f"{get_translation('erreur_lecture_fichier')} {e}")
58
  return {}
59
 
60
+
 
61
 
62
  def get_translation(key: str) -> str:
63
  """
64
  Obtient la traduction pour une clé donnée basée sur la langue d'interface sélectionnée.
 
 
 
 
 
 
65
  """
66
+ lang = st.session_state.get('interface_language', 'English')
67
+ return translations.get(lang, {}).get(key, key)
68
+
69
+ # Dictionary to store translations
70
+ translations = load_ui_language()
71
 
72
  # OpenAI client configuration with API key
73
  client = OpenAI(api_key=getenv("OPENAI_API_KEY"))
 
526
  ]
527
 
528
 
529
+ def init_process_mode(
530
+ from_lang: str,
531
+ to_lang: str,
532
+ process_mode: Optional[str|list] = "translator"
533
+ ) -> Tuple[str, str]:
534
  """
535
  Initialise le mode de traitement pour la traduction si nécessaire.
536
 
537
  Returns:
538
  Tuple[str, str]: Un tuple contenant le prompt système et le prompt d'opération.
539
  """
540
+ # from (e.g.: st.session_state.language_detected)
541
+ # dest (e.g.: st.session_state.target_language)
542
+ if "translator" in process_mode:
543
  system_prompt, operation_prompt = set_translation_mode(
544
+ from_lang=f"{from_lang}",
545
+ dest_lang=f"{to_lang}"
546
  )
547
  return system_prompt, operation_prompt
548
  return "", ""
 
572
  if "interface_language_select" not in st.session_state:
573
  st.session_state.interface_language_select = "English" # Langue par défaut
574
 
575
+ #system_prompt, operation_prompt = init_process_mode()
576
 
577
  # Initialisation de l'historique des messages avec le prompt système
578
  if "messages" not in st.session_state:
 
597
 
598
  for cursor_selected_lang in st.session_state.selected_languages:
599
  st.session_state.target_language = cursor_selected_lang["iso-639-1"]
600
+ target_language_name = cursor_selected_lang["language"]
601
+
602
  # Réinitialiser les messages avant de traiter une nouvelle entrée
603
  st.session_state.messages = []
604
  st.session_state.full_response = ""
605
+
606
  # Initialisation du mode de traitement pour la langue cible actuelle
607
+ system_prompt, operation_prompt = init_process_mode(from_lang=
608
+ (
609
+ st.session_state.language_detected if "language_detected" in st.session_state.language_detected else convert_language_name_to_iso6391(
610
+ st.session_state.interface_language
611
+ )
612
+ ),
613
+ to_lang=st.session_state.target_language
614
+ )
615
+ # display error with st.error ; if (system_prompt, operation_prompt) is "", "" or None, None, and raise error
616
+ if not system_prompt or not operation_prompt:
617
+ st.error("Erreur : Les prompts système ou d'opération sont vides.")
618
+ raise ValueError("Les prompts système ou d'opération ne peuvent pas être vides.")
619
+
620
+
621
  with st.status(f'({target_language_name}) - {get_translation("traduction_en_cours")}', expanded=True) as response_status:
622
  with st.chat_message("assistant", avatar="👻"):
623
  message_placeholder = st.empty()
 
749
  for cursor_selected_lang in st.session_state.selected_languages:
750
  st.session_state.target_language = cursor_selected_lang["iso-639-1"]
751
  st.session_state.full_response = ""
752
+
753
  # Initialisation du mode de traitement pour la langue cible actuelle
754
+ system_prompt, operation_prompt = init_process_mode(from_lang=
755
+ (
756
+ st.session_state.language_detected if "language_detected" in st.session_state.language_detected else convert_language_name_to_iso6391(
757
+ st.session_state.interface_language
758
+ )
759
+ ),
760
+ to_lang=st.session_state.target_language
761
+ )
762
+
763
  with st.chat_message("assistant", avatar="👻"):
764
  message_placeholder = st.empty()
765
  response_generator = process_message(