File size: 23,157 Bytes
91ad1b4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68eedf9
 
 
 
 
80c8463
68eedf9
80c8463
68eedf9
80c8463
68eedf9
80c8463
 
 
68eedf9
 
80c8463
68eedf9
80c8463
68eedf9
80c8463
68eedf9
91ad1b4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b4705ce
 
91ad1b4
 
 
a55e716
91ad1b4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4188bd5
 
 
 
 
 
 
 
0e36eca
 
 
4188bd5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91ad1b4
0e36eca
91ad1b4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
429308b
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
# 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
}