# translations/uk.py COMMON = { # A 'initial_instruction': "Щоб розпочати новий семантичний аналіз, завантажте новий текстовий файл (.txt)", 'analysis_complete': "Аналіз завершено та збережено. Щоб виконати новий аналіз, завантажте інший файл.", 'current_analysis_message': "Показ аналізу файлу: {}. Щоб виконати новий аналіз, завантажте інший файл.", 'upload_prompt': "Прикріпіть файл, щоб розпочати аналіз", 'analysis_completed': "Аналіз завершено", 'analysis_section': "Семантичний аналіз", 'analyze_document': 'Аналізувати документ', 'analysis_saved_success': 'Аналіз успішно збережено', 'analysis_save_error': 'Помилка збереження аналізу', 'analyze_button': "Аналізувати текст", 'analyzing_doc': "Аналіз документа", 'activities_message': "Повідомлення діяльності", 'activities_placeholder': "Заповнювач діяльності", 'analysis_placeholder': "Заповнювач аналізу", 'analyze_button': "Аналізувати", 'analysis_types_chart': "Аналіз типової діаграми", 'analysis_from': "Аналіз проведено", # C 'chat_title': "Чат аналізу", 'export_button': "Експортувати поточний аналіз", 'export_success': "Аналіз і чат успішно експортовано.", 'export_error': "Виникла проблема при експорті аналізу та чату.", 'get_text': "Отримати текст.", 'hello': "Привіт", # L 'logout': "Завершити сеанс.", 'loading_data': "Завантаження даних", 'load_selected_file': 'Завантажити вибраний файл', # N 'no_analysis': "Немає доступного аналізу. Використовуйте чат для виконання аналізу.", 'nothing_to_export': "Немає аналізу або чату для експорту.", 'results_title': "Результати аналізу", 'select_language': "Вибір мови", 'student_activities': "Діяльність студента", # T 'total_analyses': "Загальний аналіз", # W 'welcome': "Ласкаво просимо до AIdeaText" } TABS = { 'current_situation_tab': "Поточна ситуація", 'morpho_tab': "Морфосинтаксичний аналіз", 'semantic_live_tab': "Семантика в реальному часі", 'semantic_tab': "Семантичний аналіз", 'discourse_live_tab': "Дискурс в реальному часі", 'discourse_tab': "Аналіз дискурсу", 'activities_tab': "Мої активності", 'feedback_tab': "Форма відгуку" } CURRENT_SITUATION = { 'title': "Моя поточна ситуація", 'input_prompt': "Напишіть або вставте ваш текст тут:", 'first_analyze_button': "Аналізувати моє письмо", 'processing': "Аналіз...", 'analysis_error': "Помилка аналізу тексту", 'help': "Ми проаналізуємо ваш текст, щоб дізнатися його поточний стан", # Radio buttons для типу тексту 'text_type_header': "Тип тексту", 'text_type_help': "Виберіть тип тексту для налаштування критеріїв оцінювання", # Метрики 'vocabulary_label': "Словниковий запас", 'vocabulary_help': "Багатство і різноманітність словникового запасу", 'structure_label': "Структура", 'structure_help': "Організація та складність речень", 'cohesion_label': "Когезія", 'cohesion_help': "Зв'язок і плавність між ідеями", 'clarity_label': "Ясність", 'clarity_help': "Легкість розуміння тексту", # Стани метрик 'metric_improvement': "⚠️ Потребує покращення", 'metric_acceptable': "📈 Прийнятно", 'metric_optimal': "✅ Оптимально", 'metric_target': "Ціль: {:.2f}", # Помилки 'error_interface': "Виникла помилка при завантаженні інтерфейсу", 'error_results': "Помилка при відображенні результатів", 'error_chart': "Помилка при відображенні діаграми" } MORPHOSYNTACTIC = { # A 'arc_diagram': "Синтаксичний аналіз: Діаграма дуг", # B 'tab_text_baseline': "Введіть першу версію вашого тексту", 'tab_iterations': "Створіть нові версії вашого першого тексту", # Tab 1 baseline text 'btn_new_morpho_analysis': "Новий морфосинтаксичний аналіз", 'btn_analyze_baseline': "Аналізувати першу версію вашого тексту", 'input_baseline_text': "Введіть перший текст для аналізу", 'warn_enter_text': "Введіть перший текст для аналізу", 'error_processing_baseline': "Помилка обробки початкового тексту", 'arc_diagram_baseline_label': "Діаграма дуг початкового тексту", 'baseline_diagram_not_available': "Діаграма дуг початкового тексту недоступна", # Tab 2 Text Iteration 'info_first_analyze_base': "Перевірте наявність початкового тексту", 'iteration_text_subheader': "Нова версія початкового тексту", 'input_iteration_text': "Введіть нову версію початкового тексту та порівняйте дуги обох текстів", 'btn_analyze_iteration': "Аналізувати зміни", 'warn_enter_iteration_text': "Введіть нову версію початкового тексту та порівняйте дуги обох текстів", 'iteration_saved': "Зміни успішно збережено", 'error_iteration': "Помилка обробки нових змін" } SEMANTIC = { # C 'chat_title': "Чат семантичного аналізу", 'chat_placeholder': "Задайте запитання або використайте команду (/summary, /entities, /sentiment, /topics, /concept_graph, /entity_graph, /topic_graph)", 'clear_chat': "Очистити чат", 'conceptual_relations': "Концептуальні відношення", # D 'delete_file': "Видалити файл", # E 'error_message': "Виникла проблема при збереженні семантичного аналізу. Будь ласка, спробуйте ще раз.", # F 'file_uploader': "Або завантажте текстовий файл", 'file_upload_success': "Файл успішно завантажено та збережено", 'file_upload_error': 'Помилка завантаження файлу', 'file_section': "Файли", 'file_loaded_success': "Файл успішно завантажено", 'file_load_error': "Помилка завантаження файлу", 'file_upload_error': "Помилка завантаження та збереження файлу", 'file_deleted_success': 'Файл успішно видалено', 'file_delete_error': 'Помилка видалення файлу', # G 'graph_title': "Візуалізація семантичного аналізу", # I 'identified_entities': "Ідентифіковані сутності", # K 'key_concepts': "Ключові концепції", # N 'no_analysis': "Немає доступного аналізу. Будь ласка, завантажте або виберіть файл.", 'no_results': "Немає доступних результатів. Будь ласка, спочатку виконайте аналіз.", 'no_file': "Будь ласка, завантажте файл, щоб розпочати аналіз.", 'no_file_selected': "Будь ласка, виберіть архів, щоб розпочати аналіз.", # S 'semantic_title': "Семантичний аналіз", 'semantic_initial_message': "Це чат-бот загального призначення, але він має специфічну функцію для візуального аналізу тексту: він генерує граф з основними сутностями тексту. Щоб створити його, введіть текстовий файл у форматі txt, pdf, doc, docx або odt і натисніть кнопку 'аналізувати файл'. Після створення графу ви можете взаємодіяти з чатом на основі документа.", 'send_button': "Надіслати", 'select_saved_file': "Вибрати збережений файл", 'success_message': "Семантичний аналіз успішно збережено.", 'semantic_analyze_button': 'Семантичний аналіз', 'semantic_export_button': 'Експорт семантичного аналізу', 'semantic_new_button': 'Новий семантичний аналіз', 'semantic_file_uploader': 'Завантажте текстовий файл для семантичного аналізу', # T 'text_input_label': "Введіть текст для аналізу (макс. 5,000 слів):", 'text_input_placeholder': "Метою цієї програми є покращення ваших навичок письма...", 'title': "AIdeaText - Семантичний аналіз", # U 'upload_file': "Завантажити файл", # W 'warning_message': "Будь ласка, введіть текст або завантажте файл для аналізу." } DISCOURSE = { 'file1_label': "Документ-шаблон", 'file2_label': "Документ для порівняння", 'discourse_title': "AIdeaText - Аналіз дискурсу", 'file_uploader1': "Завантажте текстовий файл 1 (Шаблон)", 'file_uploader2': "Завантажте текстовий файл 2 (Порівняння)", 'discourse_analyze_button': "Порівняйте тексти", 'discourse_initial_message': "Це чат-бот загального призначення, але він має специфічну функцію для візуального аналізу тексту: він генерує два графи з основними сутностями кожного файлу для порівняння обох текстів. Щоб створити його, спочатку введіть один файл, а потім інший у форматі txt, pdf, doc, docx або odt і натисніть кнопку 'аналізувати файл'. Після створення графу ви можете взаємодіяти з чатом на основі документа.", 'analyze_button': "Аналізувати тексти", 'comparison': "Порівняння семантичних відношень", 'success_message': "Аналіз дискурсу успішно збережено.", 'error_message': "Виникла проблема при збереженні аналізу дискурсу. Будь ласка, спробуйте ще раз.", 'warning_message': "Будь ласка, завантажте обидва файли для аналізу.", 'no_results': "Немає доступних результатів. Будь ласка, спочатку виконайте аналіз.", 'key_concepts': "Ключові концепції", 'graph_not_available': "Граф недоступний.", 'concepts_not_available': "Ключові концепції недоступні.", 'comparison_not_available': "Порівняння недоступне.", 'warning_message': "Будь ласка, введіть текст або завантажте файл для аналізу.", 'morphosyntax_history': "Історія морфосинтаксису", 'analysis_of': "Аналіз" } ACTIVITIES = { # Оновлені мітки 'current_situation_activities': "Записи функції: Моя поточна ситуація", 'morpho_activities': "Записи моїх морфосинтаксичних аналізів", 'semantic_activities': "Записи моїх семантичних аналізів", 'discourse_activities': "Записи моїх порівняльних аналізів текстів", 'chat_activities': "Записи моїх розмов з віртуальним наставником", # Інші існуючі ключі 'current_situation_tab': "Моя поточна ситуація", 'morpho_tab': "Морфосинтаксичний аналіз", 'semantic_tab': "Семантичний аналіз", 'discourse_tab': "Порівняльний аналіз текстів", 'activities_tab': "Запис моїх активностей", 'feedback_tab': "Форма зворотного зв'язку", # Інші ключі словника ACTIVITIES 'analysis_types_chart_title': "Типи виконаних аналізів", 'analysis_types_chart_x': "Тип аналізу", 'analysis_types_chart_y': "Кількість", 'analysis_from': "Аналіз від", 'assistant': "Асистент", 'activities_summary': "Підсумок активностей та прогресу", 'chat_history_expander': "Історія чату", 'chat_from': "Чат від", 'combined_graph': "Комбінований графік", 'conceptual_relations_graph': "Графік концептуальних відносин", 'conversation': "Розмова", 'discourse_analyses_expander': "Історія порівняльних аналізів текстів", 'discourse_analyses': "Порівняльні аналізи текстів", 'discourse_history': "Історія порівняльних аналізів текстів", 'document': "Документ", 'data_load_error': "Помилка завантаження даних студента", 'graph_display_error': "Не вдалося відобразити графік", 'graph_doc1': "Графік документа 1", 'graph_doc2': "Графік документа 2", 'key_concepts': "Ключові концепції", 'loading_data': "Завантаження даних студента...", 'morphological_analysis': "Морфологічний аналіз", 'morphosyntax_analyses_expander': "Історія морфосинтаксичних аналізів", 'morphosyntax_history': "Історія морфосинтаксичного аналізу", 'no_arc_diagram': "Для цього аналізу не знайдено дугової діаграми.", 'no_chat_history': "Розмов з віртуальним наставником не знайдено.", 'no_data_warning': "Для цього студента не знайдено даних аналізу.", 'progress_of': "Прогрес", 'semantic_analyses': "Семантичні аналізи", 'semantic_analyses_expander': "Історія семантичних аналізів", 'semantic_history': "Історія семантичного аналізу", 'show_debug_data': "Показати дані налагодження", 'student_debug_data': "Дані студента (для налагодження):", 'summary_title': "Підсумок активностей", 'title': "Запис моїх активностей", 'timestamp': "Часова мітка", 'total_analyses': "Загальна кількість виконаних аналізів:", 'try_analysis': "Спробуйте спочатку виконати деякі аналізи тексту.", 'user': "Користувач", # Спеціальні переклади для розділу активностей 'diagnosis_tab': "Діагностика", 'recommendations_tab': "Рекомендації", 'key_metrics': "Ключові метрики", 'details': "Деталі", 'analyzed_text': "Проаналізований текст", 'analysis_date': "Дата", 'academic_article': "Академічна стаття", 'student_essay': "Студентське есе", 'general_communication': "Загальна комунікація", 'no_diagnosis': "Немає даних діагностики", 'no_recommendations': "Немає доступних рекомендацій", 'error_current_situation': "Помилка відображення аналізу поточної ситуації", 'no_current_situation': "Не зареєстровано аналізів поточної ситуації", 'no_morpho_analyses': "Не зареєстровано морфосинтаксичних аналізів", 'error_morpho': "Помилка відображення морфосинтаксичного аналізу", 'no_semantic_analyses': "Не зареєстровано семантичних аналізів", 'error_semantic': "Помилка відображення семантичного аналізу", 'no_discourse_analyses': "Не зареєстровано порівняльних аналізів текстів", 'error_discourse': "Помилка відображення порівняльного аналізу текстів", 'no_chat_history': "Немає записів розмов з віртуальним наставником", 'error_chat': "Помилка відображення записів розмов", 'error_loading_activities': "Помилка завантаження активностей", 'chat_date': "Дата розмови", 'invalid_chat_format': "Недійсний формат чату", 'comparison_results': "Результати порівняння", 'concepts_text_1': "Концепції Тексту 1", 'concepts_text_2': "Концепції Тексту 2", 'no_visualization': "Немає доступної порівняльної візуалізації", 'no_graph': "Немає доступної візуалізації", 'error_loading_graph': "Помилка завантаження графіка", 'syntactic_diagrams': "Синтаксичні діаграми" } FEEDBACK = { 'email': "Електронна пошта", 'feedback': "Відгук", 'feedback_title': "Форма відгуку", 'feedback_error': "Виникла проблема з відправленням форми. Будь ласка, спробуйте ще раз.", 'feedback_success': "Дякуємо за ваш відгук", 'complete_all_fields': "Будь ласка, заповніть усі поля", 'name': "Ім'я", 'submit': "Надіслати" } CHATBOT_TRANSLATIONS = { 'chat_title': "Асистент AIdeaText", 'input_placeholder': "Які-небудь запитання?", 'initial_message': "Привіт! Я ваш асистент. Чим я можу допомогти?", 'expand_chat': "Відкрити асистента", 'clear_chat': "Очистити чат", 'processing': "Обробка...", 'error_message': "Вибачте, сталася помилка" } TEXT_TYPES = { 'описовий': [ 'Що ви описуєте?', 'Які його основні характеристики?', 'Як воно виглядає, звучить, пахне або відчувається?', 'Що робить його унікальним або особливим?' ], 'розповідний': [ 'Хто головний герой?', 'Де і коли відбувається історія?', 'Яка подія запускає дію?', 'Що відбувається далі?', 'Як закінчується історія?' ], 'експозиційний': [ 'Яка основна тема?', 'Які важливі аспекти ви хочете пояснити?', 'Чи можете ви надати приклади або дані для підтримки вашого пояснення?', 'Як ця тема пов\'язана з іншими концепціями?' ], 'аргументативний': [ 'Яка ваша основна теза або аргумент?', 'Які ваші аргументи підтримки?', 'Які у вас є докази для підтвердження ваших аргументів?', 'Які контраргументи і як ви їх спростовуєте?', 'Який ваш висновок?' ], 'інструктивний': [ 'Яке завдання або процес ви пояснюєте?', 'Які матеріали або інструменти необхідні?', 'Які кроки слід виконати?', 'Чи є важливі застереження або поради, які слід згадати?' ], 'пітч': [ 'Що?', 'Для чого?', 'Для кого?', 'Як?' ] } # Конфігурація мовної моделі для української мови NLP_MODEL = 'uk_core_news_sm' # Ця лінія є вирішальною: TRANSLATIONS = { 'COMMON': COMMON, 'TABS': TABS, 'MORPHOSYNTACTIC': MORPHOSYNTACTIC, 'SEMANTIC': SEMANTIC, 'DISCOURSE': DISCOURSE, 'ACTIVITIES': ACTIVITIES, 'FEEDBACK': FEEDBACK, 'TEXT_TYPES': TEXT_TYPES, 'CURRENT_SITUATION': CURRENT_SITUATION, 'NLP_MODEL': NLP_MODEL }