diff --git a/CHANGELOG.md b/CHANGELOG.md index 70d91d1f..89f4fc75 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [unreleased] +## [0.0.20] - 2026-07-23 ### Added @@ -395,7 +395,8 @@ and this project adheres to - ✨(onboarding) add activation code logic for launch #62 - 💄(chat) add code highlighting for LLM responses #67 -[unreleased]: https://github.com/suitenumerique/conversations/compare/v0.0.19...main +[unreleased]: https://github.com/suitenumerique/conversations/compare/v0.0.20...main +[0.0.20]: https://github.com/suitenumerique/conversations/compare/v0.0.20 [0.0.19]: https://github.com/suitenumerique/conversations/releases/v0.0.19 [0.0.18]: https://github.com/suitenumerique/conversations/releases/v0.0.18 [0.0.17]: https://github.com/suitenumerique/conversations/releases/v0.0.17 diff --git a/src/backend/locale/de_DE/LC_MESSAGES/django.po b/src/backend/locale/de_DE/LC_MESSAGES/django.po index aec1dac2..f5677863 100644 --- a/src/backend/locale/de_DE/LC_MESSAGES/django.po +++ b/src/backend/locale/de_DE/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: la-suite-conversations\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-23 14:51+0000\n" -"PO-Revision-Date: 2026-06-24 18:13\n" +"POT-Creation-Date: 2026-07-23 11:24+0000\n" +"PO-Revision-Date: 2026-07-23 13:08\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -129,7 +129,7 @@ msgstr "" msgid "Number of times this code has been used" msgstr "" -#: activation_codes/models.py:65 core/models.py:156 core/models.py:377 +#: activation_codes/models.py:65 core/models.py:156 core/models.py:406 msgid "active" msgstr "" @@ -210,6 +210,18 @@ msgstr "" msgid "Your account has been successfully activated" msgstr "" +#: chat/agent_rag/document_converter/guards.py:61 +msgid "Document expands beyond the allowed size and was rejected." +msgstr "" + +#: chat/agent_rag/document_converter/guards.py:73 +msgid "Document has a suspicious compression ratio and was rejected." +msgstr "" + +#: chat/agent_rag/document_converter/guards.py:98 +msgid "Document has too many pages and was rejected." +msgstr "" + #: chat/agent_rag/document_converter/odt.py:30 #, python-format msgid "Failed to parse ODT document: %(error)s" @@ -243,53 +255,58 @@ msgstr "" msgid "The service is currently unavailable due to excessive load. The team is working to restore the Assistant as quickly as possible." msgstr "" -#: chat/clients/pydantic_ai.py:1000 +#: chat/clients/pydantic_ai.py:1153 msgid "Internal Documentation of the AI Assistant" msgstr "" -#: chat/views/__init__.py:740 +#: chat/views/attachments.py:307 #, python-format msgid "This project already has the maximum of %(cap)d images. Remove one before uploading another." msgstr "" -#: chat/views/__init__.py:756 +#: chat/views/attachments.py:323 #, python-format msgid "This project already has the maximum of %(cap)d files. Remove one before uploading another." msgstr "" -#: core/admin.py:29 +#: chat/views/edit_in_docs.py:35 +#, python-format +msgid "[L'Assistant] New document %(date)s" +msgstr "" + +#: core/admin.py:30 msgid "Personal info" msgstr "" -#: core/admin.py:45 +#: core/admin.py:46 msgid "Permissions" msgstr "" -#: core/admin.py:57 +#: core/admin.py:58 msgid "Important dates" msgstr "" -#: core/admin.py:138 +#: core/admin.py:155 msgid "Self documentation" msgstr "" -#: core/admin.py:141 +#: core/admin.py:158 msgid "Markdown documentation about this service. Exposed to the conversation agent so it can answer questions users ask about the app itself." msgstr "" -#: core/admin.py:149 +#: core/admin.py:166 msgid "Status banner" msgstr "" -#: core/admin.py:152 +#: core/admin.py:169 msgid "Shown to all users at the top of the app. Leave title and content empty to disable." msgstr "" -#: core/admin.py:165 +#: core/admin.py:182 msgid "Assistant" msgstr "" -#: core/admin.py:189 +#: core/admin.py:206 msgid "The MAINTENANCE_MODE environment variable is set: maintenance is forced ON regardless of the value below." msgstr "" @@ -501,39 +518,39 @@ msgstr "" msgid "Maintenance Mode" msgstr "" -#: core/models.py:372 +#: core/models.py:401 msgid "email address" msgstr "" -#: core/models.py:374 +#: core/models.py:403 msgid "email address allowed to bypass the role requirement" msgstr "" -#: core/models.py:379 +#: core/models.py:408 msgid "inactive entries are ignored without being deleted" msgstr "" -#: core/models.py:382 +#: core/models.py:411 msgid "note" msgstr "" -#: core/models.py:384 +#: core/models.py:413 msgid "optional reason for granting this bypass" msgstr "" -#: core/models.py:387 +#: core/models.py:416 msgid "expires on" msgstr "" -#: core/models.py:390 +#: core/models.py:419 msgid "optional date after which this bypass no longer applies" msgstr "" -#: core/models.py:395 +#: core/models.py:424 msgid "access bypass email" msgstr "" -#: core/models.py:396 +#: core/models.py:425 msgid "access bypass emails" msgstr "" diff --git a/src/backend/locale/en_US/LC_MESSAGES/django.po b/src/backend/locale/en_US/LC_MESSAGES/django.po index a953de75..f67eeafe 100644 --- a/src/backend/locale/en_US/LC_MESSAGES/django.po +++ b/src/backend/locale/en_US/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: la-suite-conversations\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-23 14:51+0000\n" -"PO-Revision-Date: 2026-06-24 18:13\n" +"POT-Creation-Date: 2026-07-23 11:24+0000\n" +"PO-Revision-Date: 2026-07-23 13:08\n" "Last-Translator: \n" "Language-Team: English\n" "Language: en_US\n" @@ -129,7 +129,7 @@ msgstr "" msgid "Number of times this code has been used" msgstr "" -#: activation_codes/models.py:65 core/models.py:156 core/models.py:377 +#: activation_codes/models.py:65 core/models.py:156 core/models.py:406 msgid "active" msgstr "" @@ -210,6 +210,18 @@ msgstr "" msgid "Your account has been successfully activated" msgstr "" +#: chat/agent_rag/document_converter/guards.py:61 +msgid "Document expands beyond the allowed size and was rejected." +msgstr "" + +#: chat/agent_rag/document_converter/guards.py:73 +msgid "Document has a suspicious compression ratio and was rejected." +msgstr "" + +#: chat/agent_rag/document_converter/guards.py:98 +msgid "Document has too many pages and was rejected." +msgstr "" + #: chat/agent_rag/document_converter/odt.py:30 #, python-format msgid "Failed to parse ODT document: %(error)s" @@ -243,53 +255,58 @@ msgstr "" msgid "The service is currently unavailable due to excessive load. The team is working to restore the Assistant as quickly as possible." msgstr "" -#: chat/clients/pydantic_ai.py:1000 +#: chat/clients/pydantic_ai.py:1153 msgid "Internal Documentation of the AI Assistant" msgstr "" -#: chat/views/__init__.py:740 +#: chat/views/attachments.py:307 #, python-format msgid "This project already has the maximum of %(cap)d images. Remove one before uploading another." msgstr "" -#: chat/views/__init__.py:756 +#: chat/views/attachments.py:323 #, python-format msgid "This project already has the maximum of %(cap)d files. Remove one before uploading another." msgstr "" -#: core/admin.py:29 +#: chat/views/edit_in_docs.py:35 +#, python-format +msgid "[L'Assistant] New document %(date)s" +msgstr "" + +#: core/admin.py:30 msgid "Personal info" msgstr "" -#: core/admin.py:45 +#: core/admin.py:46 msgid "Permissions" msgstr "" -#: core/admin.py:57 +#: core/admin.py:58 msgid "Important dates" msgstr "" -#: core/admin.py:138 +#: core/admin.py:155 msgid "Self documentation" msgstr "" -#: core/admin.py:141 +#: core/admin.py:158 msgid "Markdown documentation about this service. Exposed to the conversation agent so it can answer questions users ask about the app itself." msgstr "" -#: core/admin.py:149 +#: core/admin.py:166 msgid "Status banner" msgstr "" -#: core/admin.py:152 +#: core/admin.py:169 msgid "Shown to all users at the top of the app. Leave title and content empty to disable." msgstr "" -#: core/admin.py:165 +#: core/admin.py:182 msgid "Assistant" msgstr "" -#: core/admin.py:189 +#: core/admin.py:206 msgid "The MAINTENANCE_MODE environment variable is set: maintenance is forced ON regardless of the value below." msgstr "" @@ -501,39 +518,39 @@ msgstr "" msgid "Maintenance Mode" msgstr "" -#: core/models.py:372 +#: core/models.py:401 msgid "email address" msgstr "" -#: core/models.py:374 +#: core/models.py:403 msgid "email address allowed to bypass the role requirement" msgstr "" -#: core/models.py:379 +#: core/models.py:408 msgid "inactive entries are ignored without being deleted" msgstr "" -#: core/models.py:382 +#: core/models.py:411 msgid "note" msgstr "" -#: core/models.py:384 +#: core/models.py:413 msgid "optional reason for granting this bypass" msgstr "" -#: core/models.py:387 +#: core/models.py:416 msgid "expires on" msgstr "" -#: core/models.py:390 +#: core/models.py:419 msgid "optional date after which this bypass no longer applies" msgstr "" -#: core/models.py:395 +#: core/models.py:424 msgid "access bypass email" msgstr "" -#: core/models.py:396 +#: core/models.py:425 msgid "access bypass emails" msgstr "" diff --git a/src/backend/locale/fr_FR/LC_MESSAGES/django.po b/src/backend/locale/fr_FR/LC_MESSAGES/django.po index 4f8df2ae..9905c310 100644 --- a/src/backend/locale/fr_FR/LC_MESSAGES/django.po +++ b/src/backend/locale/fr_FR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: la-suite-conversations\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-23 14:51+0000\n" -"PO-Revision-Date: 2026-06-24 18:13\n" +"POT-Creation-Date: 2026-07-23 11:24+0000\n" +"PO-Revision-Date: 2026-07-23 13:09\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -129,7 +129,7 @@ msgstr "utilisations actuelles" msgid "Number of times this code has been used" msgstr "Nombre de fois où ce code a été utilisé" -#: activation_codes/models.py:65 core/models.py:156 core/models.py:377 +#: activation_codes/models.py:65 core/models.py:156 core/models.py:406 msgid "active" msgstr "actif" @@ -210,6 +210,18 @@ msgstr "Le code d'activation à valider" msgid "Your account has been successfully activated" msgstr "Votre compte a été activé avec succès" +#: chat/agent_rag/document_converter/guards.py:61 +msgid "Document expands beyond the allowed size and was rejected." +msgstr "Le document dépasse la taille autorisée et a été rejeté." + +#: chat/agent_rag/document_converter/guards.py:73 +msgid "Document has a suspicious compression ratio and was rejected." +msgstr "Le document présente un taux de compression suspect et a été rejeté." + +#: chat/agent_rag/document_converter/guards.py:98 +msgid "Document has too many pages and was rejected." +msgstr "Le document contient trop de pages et a été rejeté." + #: chat/agent_rag/document_converter/odt.py:30 #, python-format msgid "Failed to parse ODT document: %(error)s" @@ -243,53 +255,58 @@ msgstr "Service indisponible" msgid "The service is currently unavailable due to excessive load. The team is working to restore the Assistant as quickly as possible." msgstr "Le service est actuellement indisponible en raison d'une charge excessive. L'équipe travaille à rétablir l'assistant dans les plus brefs délais." -#: chat/clients/pydantic_ai.py:1000 +#: chat/clients/pydantic_ai.py:1153 msgid "Internal Documentation of the AI Assistant" msgstr "Documentation interne de l'Assistant IA" -#: chat/views/__init__.py:740 +#: chat/views/attachments.py:307 #, python-format msgid "This project already has the maximum of %(cap)d images. Remove one before uploading another." msgstr "Ce projet contient déjà le nombre maximal de %(cap)d images. Supprimez-en une avant d'en ajouter une autre." -#: chat/views/__init__.py:756 +#: chat/views/attachments.py:323 #, python-format msgid "This project already has the maximum of %(cap)d files. Remove one before uploading another." msgstr "Ce projet contient déjà le nombre maximal de %(cap)d fichiers. Supprimez-en un avant d'en télécharger un autre." -#: core/admin.py:29 +#: chat/views/edit_in_docs.py:35 +#, python-format +msgid "[L'Assistant] New document %(date)s" +msgstr "[L'Assistant] nouveau document %(date)s" + +#: core/admin.py:30 msgid "Personal info" msgstr "Informations personnelles" -#: core/admin.py:45 +#: core/admin.py:46 msgid "Permissions" msgstr "Permissions" -#: core/admin.py:57 +#: core/admin.py:58 msgid "Important dates" msgstr "Dates importantes" -#: core/admin.py:138 +#: core/admin.py:155 msgid "Self documentation" msgstr "Auto-documentation" -#: core/admin.py:141 +#: core/admin.py:158 msgid "Markdown documentation about this service. Exposed to the conversation agent so it can answer questions users ask about the app itself." msgstr "Documentation de Markdown sur ce service. Exposé à l'agent de conversation afin qu'il puisse répondre aux questions posées par les utilisateurs à propos de l'application elle-même." -#: core/admin.py:149 +#: core/admin.py:166 msgid "Status banner" msgstr "Bannière de statut" -#: core/admin.py:152 +#: core/admin.py:169 msgid "Shown to all users at the top of the app. Leave title and content empty to disable." msgstr "Affiché à tous les utilisateurs en haut de l'application. Laissez le titre et le contenu vides pour désactiver." -#: core/admin.py:165 +#: core/admin.py:182 msgid "Assistant" msgstr "Assistant" -#: core/admin.py:189 +#: core/admin.py:206 msgid "The MAINTENANCE_MODE environment variable is set: maintenance is forced ON regardless of the value below." msgstr "La variable d'environnement MAINTENANCE_MODE est définie : la maintenance est forcée à ON quelle que soit la valeur ci-dessous." @@ -501,39 +518,39 @@ msgstr "Si défini, la maintenance est inactive après cette date." msgid "Maintenance Mode" msgstr "Mode de maintenance" -#: core/models.py:372 +#: core/models.py:401 msgid "email address" msgstr "adresse e-mail" -#: core/models.py:374 +#: core/models.py:403 msgid "email address allowed to bypass the role requirement" msgstr "adresse e-mail autorisée à contourner la condition de rôle" -#: core/models.py:379 +#: core/models.py:408 msgid "inactive entries are ignored without being deleted" msgstr "les entrées inactives sont ignorées sans être supprimées" -#: core/models.py:382 +#: core/models.py:411 msgid "note" msgstr "note" -#: core/models.py:384 +#: core/models.py:413 msgid "optional reason for granting this bypass" msgstr "raison facultative pour accorder ce contournement" -#: core/models.py:387 +#: core/models.py:416 msgid "expires on" msgstr "expire à" -#: core/models.py:390 +#: core/models.py:419 msgid "optional date after which this bypass no longer applies" msgstr "date optionnelle après laquelle ce contournement ne s'applique plus" -#: core/models.py:395 +#: core/models.py:424 msgid "access bypass email" msgstr "adresse e-mail pour contourner le contôle d'accès" -#: core/models.py:396 +#: core/models.py:425 msgid "access bypass emails" msgstr "adresses e-mail pour contourner le contrôle d'accès" diff --git a/src/backend/locale/nl_NL/LC_MESSAGES/django.po b/src/backend/locale/nl_NL/LC_MESSAGES/django.po index 203e333a..5b835a35 100644 --- a/src/backend/locale/nl_NL/LC_MESSAGES/django.po +++ b/src/backend/locale/nl_NL/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: la-suite-conversations\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-23 14:51+0000\n" -"PO-Revision-Date: 2026-06-24 18:13\n" +"POT-Creation-Date: 2026-07-23 11:24+0000\n" +"PO-Revision-Date: 2026-07-23 13:08\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -129,7 +129,7 @@ msgstr "huidig gebruik" msgid "Number of times this code has been used" msgstr "Aantal keren dat deze code is gebruikt" -#: activation_codes/models.py:65 core/models.py:156 core/models.py:377 +#: activation_codes/models.py:65 core/models.py:156 core/models.py:406 msgid "active" msgstr "actief" @@ -210,6 +210,18 @@ msgstr "De activeringscode om te valideren" msgid "Your account has been successfully activated" msgstr "Uw account is succesvol geactiveerd" +#: chat/agent_rag/document_converter/guards.py:61 +msgid "Document expands beyond the allowed size and was rejected." +msgstr "" + +#: chat/agent_rag/document_converter/guards.py:73 +msgid "Document has a suspicious compression ratio and was rejected." +msgstr "" + +#: chat/agent_rag/document_converter/guards.py:98 +msgid "Document has too many pages and was rejected." +msgstr "" + #: chat/agent_rag/document_converter/odt.py:30 #, python-format msgid "Failed to parse ODT document: %(error)s" @@ -243,53 +255,58 @@ msgstr "" msgid "The service is currently unavailable due to excessive load. The team is working to restore the Assistant as quickly as possible." msgstr "" -#: chat/clients/pydantic_ai.py:1000 +#: chat/clients/pydantic_ai.py:1153 msgid "Internal Documentation of the AI Assistant" msgstr "" -#: chat/views/__init__.py:740 +#: chat/views/attachments.py:307 #, python-format msgid "This project already has the maximum of %(cap)d images. Remove one before uploading another." msgstr "" -#: chat/views/__init__.py:756 +#: chat/views/attachments.py:323 #, python-format msgid "This project already has the maximum of %(cap)d files. Remove one before uploading another." msgstr "" -#: core/admin.py:29 +#: chat/views/edit_in_docs.py:35 +#, python-format +msgid "[L'Assistant] New document %(date)s" +msgstr "" + +#: core/admin.py:30 msgid "Personal info" msgstr "Persoonlijke gegevens" -#: core/admin.py:45 +#: core/admin.py:46 msgid "Permissions" msgstr "Machtigingen" -#: core/admin.py:57 +#: core/admin.py:58 msgid "Important dates" msgstr "Belangrijke data" -#: core/admin.py:138 +#: core/admin.py:155 msgid "Self documentation" msgstr "" -#: core/admin.py:141 +#: core/admin.py:158 msgid "Markdown documentation about this service. Exposed to the conversation agent so it can answer questions users ask about the app itself." msgstr "" -#: core/admin.py:149 +#: core/admin.py:166 msgid "Status banner" msgstr "" -#: core/admin.py:152 +#: core/admin.py:169 msgid "Shown to all users at the top of the app. Leave title and content empty to disable." msgstr "" -#: core/admin.py:165 +#: core/admin.py:182 msgid "Assistant" msgstr "" -#: core/admin.py:189 +#: core/admin.py:206 msgid "The MAINTENANCE_MODE environment variable is set: maintenance is forced ON regardless of the value below." msgstr "" @@ -501,39 +518,39 @@ msgstr "" msgid "Maintenance Mode" msgstr "" -#: core/models.py:372 +#: core/models.py:401 msgid "email address" msgstr "" -#: core/models.py:374 +#: core/models.py:403 msgid "email address allowed to bypass the role requirement" msgstr "" -#: core/models.py:379 +#: core/models.py:408 msgid "inactive entries are ignored without being deleted" msgstr "" -#: core/models.py:382 +#: core/models.py:411 msgid "note" msgstr "" -#: core/models.py:384 +#: core/models.py:413 msgid "optional reason for granting this bypass" msgstr "" -#: core/models.py:387 +#: core/models.py:416 msgid "expires on" msgstr "" -#: core/models.py:390 +#: core/models.py:419 msgid "optional date after which this bypass no longer applies" msgstr "" -#: core/models.py:395 +#: core/models.py:424 msgid "access bypass email" msgstr "" -#: core/models.py:396 +#: core/models.py:425 msgid "access bypass emails" msgstr "" diff --git a/src/backend/locale/ru_RU/LC_MESSAGES/django.po b/src/backend/locale/ru_RU/LC_MESSAGES/django.po index 520519f4..cb0ca880 100644 --- a/src/backend/locale/ru_RU/LC_MESSAGES/django.po +++ b/src/backend/locale/ru_RU/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: la-suite-conversations\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-23 14:51+0000\n" -"PO-Revision-Date: 2026-06-24 18:13\n" +"POT-Creation-Date: 2026-07-23 11:24+0000\n" +"PO-Revision-Date: 2026-07-23 13:09\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -129,7 +129,7 @@ msgstr "использовано" msgid "Number of times this code has been used" msgstr "Сколько раз этот код был использован" -#: activation_codes/models.py:65 core/models.py:156 core/models.py:377 +#: activation_codes/models.py:65 core/models.py:156 core/models.py:406 msgid "active" msgstr "активный" @@ -210,6 +210,18 @@ msgstr "Код активации для проверки" msgid "Your account has been successfully activated" msgstr "Ваша учётная запись успешно активирована" +#: chat/agent_rag/document_converter/guards.py:61 +msgid "Document expands beyond the allowed size and was rejected." +msgstr "Документ выходит за рамки допустимого размера и был отклонён." + +#: chat/agent_rag/document_converter/guards.py:73 +msgid "Document has a suspicious compression ratio and was rejected." +msgstr "Документ имеет сомнительный коэффициент сжатия и был отклонён." + +#: chat/agent_rag/document_converter/guards.py:98 +msgid "Document has too many pages and was rejected." +msgstr "Документ содержит слишком много страниц и был отклонён." + #: chat/agent_rag/document_converter/odt.py:30 #, python-format msgid "Failed to parse ODT document: %(error)s" @@ -243,53 +255,58 @@ msgstr "Служба недоступна" msgid "The service is currently unavailable due to excessive load. The team is working to restore the Assistant as quickly as possible." msgstr "В настоящее время сервис недоступен из-за чрезмерной нагрузки. Команда работает над скорейшим восстановлением работы Помощника." -#: chat/clients/pydantic_ai.py:1000 +#: chat/clients/pydantic_ai.py:1153 msgid "Internal Documentation of the AI Assistant" msgstr "Внутренняя документация ИИ помощника" -#: chat/views/__init__.py:740 +#: chat/views/attachments.py:307 #, python-format msgid "This project already has the maximum of %(cap)d images. Remove one before uploading another." msgstr "В этом проекте уже больше %(cap)d изображений. Удалите одно перед загрузкой другого." -#: chat/views/__init__.py:756 +#: chat/views/attachments.py:323 #, python-format msgid "This project already has the maximum of %(cap)d files. Remove one before uploading another." msgstr "В этом проекте уже больше %(cap)d файлов. Удалите один перед загрузкой другого." -#: core/admin.py:29 +#: chat/views/edit_in_docs.py:35 +#, python-format +msgid "[L'Assistant] New document %(date)s" +msgstr "" + +#: core/admin.py:30 msgid "Personal info" msgstr "Личные данные" -#: core/admin.py:45 +#: core/admin.py:46 msgid "Permissions" msgstr "Разрешения" -#: core/admin.py:57 +#: core/admin.py:58 msgid "Important dates" msgstr "Важные даты" -#: core/admin.py:138 +#: core/admin.py:155 msgid "Self documentation" msgstr "Встроенная документация" -#: core/admin.py:141 +#: core/admin.py:158 msgid "Markdown documentation about this service. Exposed to the conversation agent so it can answer questions users ask about the app itself." msgstr "Документация в формате Markdown об этой службе. Введена в состав агента, чтобы он мог ответить на вопросы пользователей о самом приложении." -#: core/admin.py:149 +#: core/admin.py:166 msgid "Status banner" msgstr "Индикатор состояния" -#: core/admin.py:152 +#: core/admin.py:169 msgid "Shown to all users at the top of the app. Leave title and content empty to disable." msgstr "Показывается всем пользователям в верхней части приложения. Для отключения оставьте заголовок и содержимое пустыми." -#: core/admin.py:165 +#: core/admin.py:182 msgid "Assistant" msgstr "Помощник" -#: core/admin.py:189 +#: core/admin.py:206 msgid "The MAINTENANCE_MODE environment variable is set: maintenance is forced ON regardless of the value below." msgstr "Переменная окружения MAINTENANCE_MODE установлена: обслуживание не зависимо от приведенного ниже значения." @@ -501,39 +518,39 @@ msgstr "Если установлено, обслуживание неактив msgid "Maintenance Mode" msgstr "Режим обслуживания" -#: core/models.py:372 +#: core/models.py:401 msgid "email address" msgstr "адрес электронной почты" -#: core/models.py:374 +#: core/models.py:403 msgid "email address allowed to bypass the role requirement" msgstr "адрес электронной почты, которому разрешено обходить требование роли" -#: core/models.py:379 +#: core/models.py:408 msgid "inactive entries are ignored without being deleted" msgstr "неактивные записи игнорируются без их удаления" -#: core/models.py:382 +#: core/models.py:411 msgid "note" msgstr "примечание" -#: core/models.py:384 +#: core/models.py:413 msgid "optional reason for granting this bypass" msgstr "необязательная причина предоставления этого обхода" -#: core/models.py:387 +#: core/models.py:416 msgid "expires on" msgstr "истекает" -#: core/models.py:390 +#: core/models.py:419 msgid "optional date after which this bypass no longer applies" msgstr "необязательная дата, после которой этот обход больше не применяется" -#: core/models.py:395 +#: core/models.py:424 msgid "access bypass email" msgstr "эл. адрес обходного доступа" -#: core/models.py:396 +#: core/models.py:425 msgid "access bypass emails" msgstr "эл. почта для доступа с обходом" diff --git a/src/backend/locale/uk_UA/LC_MESSAGES/django.po b/src/backend/locale/uk_UA/LC_MESSAGES/django.po index 52d8602d..d9c6fc82 100644 --- a/src/backend/locale/uk_UA/LC_MESSAGES/django.po +++ b/src/backend/locale/uk_UA/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: la-suite-conversations\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-06-23 14:51+0000\n" -"PO-Revision-Date: 2026-06-24 18:13\n" +"POT-Creation-Date: 2026-07-23 11:24+0000\n" +"PO-Revision-Date: 2026-07-23 13:08\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -129,7 +129,7 @@ msgstr "використано" msgid "Number of times this code has been used" msgstr "Кількість разів використання цього коду" -#: activation_codes/models.py:65 core/models.py:156 core/models.py:377 +#: activation_codes/models.py:65 core/models.py:156 core/models.py:406 msgid "active" msgstr "активний" @@ -210,6 +210,18 @@ msgstr "Код активації для перевірки" msgid "Your account has been successfully activated" msgstr "Ваш обліковий запис успішно активовано" +#: chat/agent_rag/document_converter/guards.py:61 +msgid "Document expands beyond the allowed size and was rejected." +msgstr "Документ перевищує дозволений ліміт розміру і був відхилений." + +#: chat/agent_rag/document_converter/guards.py:73 +msgid "Document has a suspicious compression ratio and was rejected." +msgstr "Документ має підозрілий коефіцієнт стиснення, тому був відхилений." + +#: chat/agent_rag/document_converter/guards.py:98 +msgid "Document has too many pages and was rejected." +msgstr "Документ має забагато сторінок і був відхилений." + #: chat/agent_rag/document_converter/odt.py:30 #, python-format msgid "Failed to parse ODT document: %(error)s" @@ -243,53 +255,58 @@ msgstr "Служба недоступна" msgid "The service is currently unavailable due to excessive load. The team is working to restore the Assistant as quickly as possible." msgstr "Сервіс наразі недоступний через надмірне навантаження. Команда працює над якомога швидше відновлення роботи Помічника." -#: chat/clients/pydantic_ai.py:1000 +#: chat/clients/pydantic_ai.py:1153 msgid "Internal Documentation of the AI Assistant" msgstr "Внутрішня документація помічника ШІ" -#: chat/views/__init__.py:740 +#: chat/views/attachments.py:307 #, python-format msgid "This project already has the maximum of %(cap)d images. Remove one before uploading another." msgstr "Цей проект вже досяг максимальної кількості у %(cap)d зображень. Видаліть одне, перш ніж завантажувати інше." -#: chat/views/__init__.py:756 +#: chat/views/attachments.py:323 #, python-format msgid "This project already has the maximum of %(cap)d files. Remove one before uploading another." msgstr "Цей проект вже досяг максимальної кількості у %(cap)d файлів. Видаліть один, перш ніж завантажувати інший." -#: core/admin.py:29 +#: chat/views/edit_in_docs.py:35 +#, python-format +msgid "[L'Assistant] New document %(date)s" +msgstr "" + +#: core/admin.py:30 msgid "Personal info" msgstr "Особисті дані" -#: core/admin.py:45 +#: core/admin.py:46 msgid "Permissions" msgstr "Дозволи" -#: core/admin.py:57 +#: core/admin.py:58 msgid "Important dates" msgstr "Важливі дати" -#: core/admin.py:138 +#: core/admin.py:155 msgid "Self documentation" msgstr "Вбудована документація" -#: core/admin.py:141 +#: core/admin.py:158 msgid "Markdown documentation about this service. Exposed to the conversation agent so it can answer questions users ask about the app itself." msgstr "Документація Markdown про цей сервіс. Використовується для розмовного агента, щоб він міг відповісти на питання, які користувачі задають про нього самого." -#: core/admin.py:149 +#: core/admin.py:166 msgid "Status banner" msgstr "Індикатор стану" -#: core/admin.py:152 +#: core/admin.py:169 msgid "Shown to all users at the top of the app. Leave title and content empty to disable." msgstr "Показується всім користувачам зверху додатку. Залиште заголовок та вміст порожнім, щоб вимкнути." -#: core/admin.py:165 +#: core/admin.py:182 msgid "Assistant" msgstr "Помічник" -#: core/admin.py:189 +#: core/admin.py:206 msgid "The MAINTENANCE_MODE environment variable is set: maintenance is forced ON regardless of the value below." msgstr "Змінна середовища MAINTENANCE_MODE встановлена: технічне обслуговування змушене незалежно від значення нижче." @@ -501,39 +518,39 @@ msgstr "Якщо встановлено, обслуговування неакт msgid "Maintenance Mode" msgstr "Режим обслуговування" -#: core/models.py:372 +#: core/models.py:401 msgid "email address" msgstr "електронна адреса" -#: core/models.py:374 +#: core/models.py:403 msgid "email address allowed to bypass the role requirement" msgstr "адреса електронної пошти, якій дозволено обхід вимог ролі" -#: core/models.py:379 +#: core/models.py:408 msgid "inactive entries are ignored without being deleted" msgstr "неактивні записи ігноруються без видалення" -#: core/models.py:382 +#: core/models.py:411 msgid "note" msgstr "нотатка" -#: core/models.py:384 +#: core/models.py:413 msgid "optional reason for granting this bypass" msgstr "необов'язкова причина для надання цього обходу" -#: core/models.py:387 +#: core/models.py:416 msgid "expires on" msgstr "термін дії до" -#: core/models.py:390 +#: core/models.py:419 msgid "optional date after which this bypass no longer applies" msgstr "необов'язкова дата, після якої цей обхід більше не застосовується" -#: core/models.py:395 +#: core/models.py:424 msgid "access bypass email" msgstr "електронна поштова адреса для обходу" -#: core/models.py:396 +#: core/models.py:425 msgid "access bypass emails" msgstr "електронні поштові адреси для обходу" diff --git a/src/backend/pyproject.toml b/src/backend/pyproject.toml index 6b667f8c..bdb4dfe3 100644 --- a/src/backend/pyproject.toml +++ b/src/backend/pyproject.toml @@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta" [project] name = "conversations" -version = "0.0.19" +version = "0.0.20" authors = [{ "name" = "DINUM", "email" = "dev@mail.numerique.gouv.fr" }] classifiers = [ "Development Status :: 5 - Production/Stable", diff --git a/src/backend/uv.lock b/src/backend/uv.lock index 0eb2cd28..0ec5163a 100644 --- a/src/backend/uv.lock +++ b/src/backend/uv.lock @@ -496,7 +496,7 @@ wheels = [ [[package]] name = "conversations" -version = "0.0.19" +version = "0.0.20" source = { editable = "." } dependencies = [ { name = "beautifulsoup4" }, diff --git a/src/frontend/apps/conversations/package.json b/src/frontend/apps/conversations/package.json index 5514c61b..82e340fc 100644 --- a/src/frontend/apps/conversations/package.json +++ b/src/frontend/apps/conversations/package.json @@ -1,6 +1,6 @@ { "name": "app-conversations", - "version": "0.0.19", + "version": "0.0.20", "private": true, "scripts": { "dev": "next dev", diff --git a/src/frontend/apps/conversations/src/i18n/translations.json b/src/frontend/apps/conversations/src/i18n/translations.json index 59d64622..a7d38d09 100644 --- a/src/frontend/apps/conversations/src/i18n/translations.json +++ b/src/frontend/apps/conversations/src/i18n/translations.json @@ -39,6 +39,7 @@ "Bringing this conversation and its documents back. This may take a moment longer than usual.": "Revenir de cette conversation et de ses documents. Cela peut prendre un moment plus long que d'habitude.", "Cancel": "Annuler", "Capabilities": "Capacités", + "Carbon impact": "Empreinte carbone", "Check service status": " Vérifier l'état du service.", "Choose icon and color": "Choisissez l'icône et la couleur", "Close model selector": "Fermer le sélecteur de modèle", @@ -73,16 +74,19 @@ "Destroying all documents in 3...2...1...": "Destruction de l'ensemble des documents dans 3... 2... 1...", "Direct exchange with our team": "Échange direct avec notre équipe", "Discover Assistant": "Découvrez l'Assistant", + "Dismiss": "Masquer", "Document processing is temporarily unavailable. Please try again later.": "Le traitement des documents est temporairement indisponible. Veuillez réessayer dans quelques instants.", "Documentation": "Documentation", "Documents are currently being re-indexed. Please retry in a moment.": "Les documents sont en cours de réindexation. Veuillez réessayer dans quelques instants.", "Due to budget cuts, I will now only provide 10% of answers": "A la suite de restrictions budgétaires, je ne fournirai plus que 10% des réponses", + "Edit in Docs": "Modifier dans Docs", "Enter your message or a question": "Entrez votre message ou une question", "Example: Be concise and maintain a professional tone.": "Exemple: Soyez concis et maintenez un ton professionnel.", "Explore other LaSuite apps": "Explorer les autres applications de LaSuite", "Extracting documents: {{documents}} ...": "Extraction des documents : {{documents}}...", "Failed to activate account. Please try again.": "Échec de l'activation du compte. Veuillez réessayer.", "Failed to copy": "Échec de la copie", + "Failed to open in Docs": "Échec de l'ouverture dans Docs", "Failed to register for notifications. Please try again.": "Échec de l'inscription aux notifications. Veuillez réessayer.", "Failed to replace file": "Impossible de remplacer le fichier", "Failed to send feedback": "Échec de l’envoi du commentaire", @@ -95,6 +99,7 @@ "File already exists": "Le fichier existe déjà", "File type not supported": "Type de fichier non pris en charge", "Files": "Fichiers", + "Files related to this project are being indexed and will be ignored.": "Les fichiers liés à ce projet sont en cours d'indexation et seront ignorés.", "Find recent news about...": "Trouver les dernières actualités concernant...", "General": "Général", "Get help with coding, writing, proofreading, and more. Just ask.": "Obtenez de l'aide pour le codage, l'écriture, la correction d'épreuves, et plus encore. Demandez.", @@ -107,7 +112,9 @@ "I understand": "J’ai compris", "If enabled, this allows us to analyse your exchanges to improve the Assistant. If disabled, all conversations remain confidential and are not used in any way. ": "Si cette option est activée, cela nous permet d'analyser vos conversations afin d'améliorer l'Assistant. Si elle est désactivée, toutes les conversations restent confidentielles et ne sont utilisées d'aucune manière. ", "Image 401": "Image 401", - "Image 403": "Image 403", + "Image analysis is temporarily unavailable.\nYou can continue with text and document attachments - only images are skipped.": "L'analyse d'images est temporairement indisponible.\nVous pouvez continuer avec le texte et les pièces jointes du document - seules les images sont ignorées.", + "Image not analyzed. Try again later.": "Image non analysée. Réessayez plus tard.", + "Image processing unavailable": "Traitement des images indisponible", "Import": "Importer", "Instructions (experimental)": "Instructions (expérimental)", "Invalid activation code. Please check and try again.": "Code d'activation invalide. Veuillez le vérifier et réessayer.", @@ -124,6 +131,8 @@ "Login": "Connexion", "Logo": "Logo", "Logout": "Se déconnecter", + "More actions": "Plus d'actions", + "More info": "En savoir plus", "Need external sources? Enable \"Research on the web\" to let the Assistant look things up online. You can also switch on Smart internet search in your settings.": "Vous avez besoin de sources externes ? Activez \"Recherche sur le Web\" pour permettre à l'Assistant de regarder les choses en ligne. Vous pouvez aussi activer la recherche Internet intelligente dans les paramètres.", "New chat": "Nouvelle conversation", "New feedback": "Nouveaux commentaires", @@ -132,6 +141,7 @@ "No code? ": "Pas de code ? ", "No conversation found": "Aucune conversation trouvée", "Notify me": "Me notifier", + "OK": "OK", "Onboarding": "Premiers pas", "Open": "Ouvrir", "Open help menu": "Ouvrir le menu d'aide", @@ -196,6 +206,7 @@ "Thinking...": "Réflexion...", "This project is at the maximum number of files. Remove one before uploading another.": "Ce projet a atteint le nombre maximal de fichiers. Supprimez-en un avant d'en télécharger un autre.", "This project is at the maximum number of images. Remove one before uploading another.": "Ce projet a atteint le nombre maximal d'images. Supprimez-en une avant d'en télécharger une autre.", + "This request: {{co2}}": "Cette requête : {{co2}}", "To add a file to the conversation, drop it here.": "Pour ajouter un fichier à la conversation, déposez-le ici.", "Too many document requests. Please try again in a few minutes.": "Trop de requêtes ont été effectuées. Veuillez réessayer dans quelques instants.", "Turn on internet search": "Activer la recherche sur internet", @@ -211,6 +222,7 @@ "Uploading files...": "Téléversement des fichiers...", "Use system settings": "Utiliser les paramètres du système", "Use this field to provide any additional context the Assistant may need. This feature is being tested. It may not work as expected.": "Utilisez ce champ pour fournir un contexte supplémentaire dont l'Assistant a besoin. Cette fonctionnalité est en cours de test. Elle peut ne pas fonctionner comme prévu.", + "User": "Utilisateur", "We encountered an internal error. Our team has been alerted.": "Une erreur interne s'est produite. Notre équipe en a été informée.", "We encountered an internal error. Our team has been alerted. Please try again later.": "Une erreur interne s'est produite. Notre équipe a été alertée. Veuillez réessayer plus tard.", "We'll email you at {{email}} when the public beta opens.": "Nous vous enverrons un e-mail à {{email}} lorsque la bêta publique sera ouverte.", @@ -232,6 +244,7 @@ "Your sovereign AI assistant": "Votre assistant IA souverain", "source": "source", "sources": "sources", + "{{number}} project file(s) failed to index and are not searchable.": "{{number}} fichier(s) du projet n'ont pas pu être indexé(s) et ne sont pas pris en compte.", "{{productName}} Logo": "Logo {{productName}}", "😄 April Fools! Alright, let me answer for real...": "😄 Poisson d'avril ! Allez, je réponds pour de vrai..." } @@ -292,7 +305,6 @@ "Home": "Thuis", "If enabled, this allows us to analyse your exchanges to improve the Assistant. If disabled, all conversations remain confidential and are not used in any way. ": "Indien ingeschakeld, kunnen we uw gesprekken analyseren om de Assistent te verbeteren. Indien uitgeschakeld, blijven alle gesprekken vertrouwelijk en worden ze op geen enkele manier gebruikt. ", "Image 401": "Afbeelding 401", - "Image 403": "Afbeelding 403", "Invalid activation code. Please check and try again.": "Ongeldige activeringscode. Controleer en probeer het opnieuw.", "It seems that the page you are looking for does not exist or cannot be displayed correctly.": "Het lijkt erop dat de pagina die u zoekt niet bestaat of niet correct kan worden weergegeven.", "Know more": "Meer weten", @@ -402,6 +414,7 @@ "Bringing this conversation and its documents back. This may take a moment longer than usual.": "Возвращаемся к этому обсуждению и документам, содержащимся в нём. Это может занять немного больше времени, чем обычно.", "Cancel": "Отмена", "Capabilities": "Возможности", + "Carbon impact": "Влияние углерода", "Check service status": "Проверить состояние", "Choose icon and color": "Выберите значок и цвет", "Close model selector": "Закрыть выбор модели", @@ -436,16 +449,19 @@ "Destroying all documents in 3...2...1...": "Уничтожение всех документов через 3...2...1...", "Direct exchange with our team": "Прямое общение с нашей командой", "Discover Assistant": "Познакомьтесь с помощником", + "Dismiss": "Отклонить", "Document processing is temporarily unavailable. Please try again later.": "Обработка документа временно недоступна. Пожалуйста, повторите попытку позже.", "Documentation": "Документация", "Documents are currently being re-indexed. Please retry in a moment.": "Документы переиндексируются. Пожалуйста, повторите попытку позже.", "Due to budget cuts, I will now only provide 10% of answers": "В связи с сокращением бюджета, я теперь буду отвечать только на 10% вопросов", + "Edit in Docs": "Редактировать в Docs", "Enter your message or a question": "Введите сообщение или вопрос", "Example: Be concise and maintain a professional tone.": "Пример: Будьте лаконичны и сохраняйте профессиональный тон.", "Explore other LaSuite apps": "Посмотреть другие приложения LaSuite", "Extracting documents: {{documents}} ...": "Извлечение документов: {{documents}}...", "Failed to activate account. Please try again.": "Не удалось активировать учётную запись. Пожалуйста, попробуйте снова.", "Failed to copy": "Не удалось скопировать", + "Failed to open in Docs": "Не удалось открыть в Docs", "Failed to register for notifications. Please try again.": "Не удалось зарегистрироваться для получения уведомлений. Пожалуйста, попробуйте ещё раз.", "Failed to replace file": "Не удалось заменить файл", "Failed to send feedback": "Не удалось отправить отзыв", @@ -458,6 +474,7 @@ "File already exists": "Файл уже существует", "File type not supported": "Тип файла не поддерживается", "Files": "Файлы", + "Files related to this project are being indexed and will be ignored.": "Файлы, связанные с этим проектом, индексируются и будут проигнорированы.", "Find recent news about...": "Найти последние новости о...", "General": "Основное", "Get help with coding, writing, proofreading, and more. Just ask.": "Получайте помощь в программировании, написании текстов, корректуре и в других задачах. Просто спросите.", @@ -470,7 +487,9 @@ "I understand": "Я понимаю", "If enabled, this allows us to analyse your exchanges to improve the Assistant. If disabled, all conversations remain confidential and are not used in any way. ": "Если этот параметр включён, мы можем анализировать ваши беседы для улучшения интеллекта помощника. Если отключён, то все разговоры остаются конфиденциальными и никак не используются. ", "Image 401": "Изображение 401", - "Image 403": "Изображение 403", + "Image analysis is temporarily unavailable.\nYou can continue with text and document attachments - only images are skipped.": "Анализ изображений временно недоступен.\nВы можете продолжить со вложениями в виде текста и документов, изображения будут недоступны.", + "Image not analyzed. Try again later.": "Изображение не проанализировано. Повторите попытку позже.", + "Image processing unavailable": "Обработка изображения недоступна", "Import": "Импорт", "Instructions (experimental)": "Инструкции (эксперимент)", "Invalid activation code. Please check and try again.": "Неверный код активации. Пожалуйста, проверьте его и повторите попытку.", @@ -487,6 +506,8 @@ "Login": "Войти", "Logo": "Логотип", "Logout": "Выйти", + "More actions": "Другие действия", + "More info": "Подробнее", "Need external sources? Enable \"Research on the web\" to let the Assistant look things up online. You can also switch on Smart internet search in your settings.": "Нужны внешние источники? Включите функцию исследования в Интернете, чтобы помощник мог выполнить поиск онлайн. В настройках можно также включить Умный поиск в Интернете.", "New chat": "Новая беседа", "New feedback": "Новый отзыв", @@ -495,6 +516,7 @@ "No code? ": "Нет кода? ", "No conversation found": "Беседы не найдены", "Notify me": "Уведомите меня", + "OK": "ОК", "Onboarding": "Вводная часть", "Open": "Открыть", "Open help menu": "Открыть меню помощи", @@ -559,6 +581,7 @@ "Thinking...": "Размышление...", "This project is at the maximum number of files. Remove one before uploading another.": "Этот проект достиг предела по количеству файлов. Удалите один перед загрузкой другого.", "This project is at the maximum number of images. Remove one before uploading another.": "Этот проект достиг предела по количеству изображений. Удалите одно перед загрузкой другого.", + "This request: {{co2}}": "Этот запрос: {{co2}}", "To add a file to the conversation, drop it here.": "Чтобы добавить файл в беседу, поместите его сюда.", "Too many document requests. Please try again in a few minutes.": "Слишком много запросов к документу. Пожалуйста, повторите попытку через несколько минут.", "Turn on internet search": "Включите поиск в Интернете", @@ -574,6 +597,7 @@ "Uploading files...": "Выгрузка файлов...", "Use system settings": "Использовать системные настройки", "Use this field to provide any additional context the Assistant may need. This feature is being tested. It may not work as expected.": "Используйте это поле для предоставления любого дополнительного контекста, который может потребоваться помощнику. Эта функция ещё на этапе тестирования. Она может работать не так, как ожидалось.", + "User": "Пользователь", "We encountered an internal error. Our team has been alerted.": "Произошла внутренняя ошибка. Наша команда оповещена.", "We encountered an internal error. Our team has been alerted. Please try again later.": "Произошла внутренняя ошибка. Наша команда оповещена. Пожалуйста, повторите попытку позже.", "We'll email you at {{email}} when the public beta opens.": "Когда станет доступна публичная бета-версия, мы отправим вам электронное письмо на адрес {{email}}.", @@ -595,6 +619,7 @@ "Your sovereign AI assistant": "Ваш надёжный ИИ-помощник", "source": "источник", "sources": "источники", + "{{number}} project file(s) failed to index and are not searchable.": "Не удалось проиндексировать и сделать доступными для поиска {{number}} файл(ов) проекта.", "{{productName}} Logo": "Логотип {{productName}}", "😄 April Fools! Alright, let me answer for real...": "😄 Первоапрельская шутка! Ну ладно, сейчас отвечу..." } @@ -637,6 +662,7 @@ "Bringing this conversation and its documents back. This may take a moment longer than usual.": "Відновлення цього обговорення та документів з неї. Це може зайняти трохи більше часу, ніж зазвичай.", "Cancel": "Скасувати", "Capabilities": "Можливості", + "Carbon impact": "Вплив вуглецю", "Check service status": "Перевірити статус", "Choose icon and color": "Виберіть піктограму і колір", "Close model selector": "Закрити вікно вибору моделі", @@ -671,16 +697,19 @@ "Destroying all documents in 3...2...1...": "Знищення всіх документів через 3...2...1...", "Direct exchange with our team": "Пряме спілкування з нашою командою", "Discover Assistant": "Відкрийте для себе помічника", + "Dismiss": "Відхилити", "Document processing is temporarily unavailable. Please try again later.": "Обробка документів тимчасово недоступна. Будь ласка, спробуйте пізніше.", "Documentation": "Документація", "Documents are currently being re-indexed. Please retry in a moment.": "На цей момент, документи переіндексуються. Будь ласка, спробуйте ще раз.", "Due to budget cuts, I will now only provide 10% of answers": "Через скорочення бюджету, я відповідаю лише на 10% запитань", + "Edit in Docs": "Редагувати у Docs", "Enter your message or a question": "Введіть ваше повідомлення або питання", "Example: Be concise and maintain a professional tone.": "Приклад: Будьте лаконічними та підтримуйте професійний тон.", "Explore other LaSuite apps": "Ознайомтесь з іншими застосунками LaSuite", "Extracting documents: {{documents}} ...": "Видобування документів: {{documents}}...", "Failed to activate account. Please try again.": "Не вдалося активувати обліковий запис. Спробуйте ще раз.", "Failed to copy": "Не вдалось скопіювати", + "Failed to open in Docs": "Не вдалося відкрити у Docs", "Failed to register for notifications. Please try again.": "Не вдалося виконати реєстрацію для повідомлень. Будь ласка, спробуйте ще раз.", "Failed to replace file": "Не вдалося замінити файл", "Failed to send feedback": "Не вдалося надіслати відгук", @@ -693,6 +722,7 @@ "File already exists": "Файл вже існує", "File type not supported": "Тип файлу не підтримується", "Files": "Файли", + "Files related to this project are being indexed and will be ignored.": "Файли, пов'язані з цим проектом, індексуються і будуть проігноровані.", "Find recent news about...": "Знайти останні новини про...", "General": "Загальне", "Get help with coding, writing, proofreading, and more. Just ask.": "Отримуйте допомогу з програмуванням, письмом, коректуванням та багатьма іншими речами. Просто запитуйте.", @@ -705,7 +735,9 @@ "I understand": "Я розумію", "If enabled, this allows us to analyse your exchanges to improve the Assistant. If disabled, all conversations remain confidential and are not used in any way. ": "Якщо увімкнуто, це дозволить нам аналізувати ваші розмови для покращення помічника. Якщо вимкнено, всі розмови залишаються конфіденційними та не використовуються жодним чином. ", "Image 401": "Зображення 401", - "Image 403": "Зображення 403", + "Image analysis is temporarily unavailable.\nYou can continue with text and document attachments - only images are skipped.": "Аналіз зображень тимчасово недоступний.\nВи можете продовжити зі вкладеннями у вигляді тексту та документів, зображення будуть пропущені.", + "Image not analyzed. Try again later.": "Зображення не проаналізовано. Повторіть спробу пізніше.", + "Image processing unavailable": "Обробка зображень недоступна", "Import": "Імпорт", "Instructions (experimental)": "Інструкції (експериментально)", "Invalid activation code. Please check and try again.": "Невірний код активації. Будь ласка, перевірте та повторіть спробу.", @@ -722,6 +754,8 @@ "Login": "Увійти", "Logo": "Логотип", "Logout": "Вийти", + "More actions": "Інші дії", + "More info": "Детальніше", "Need external sources? Enable \"Research on the web\" to let the Assistant look things up online. You can also switch on Smart internet search in your settings.": "Потрібні зовнішні джерела? Увімкніть функцію дослідження в Інтернеті, щоб дозволити помічнику шукати щось онлайн. Ви також можете увімкнути Розумний пошук в Інтернеті в налаштуваннях.", "New chat": "Нова розмова", "New feedback": "Новий відгук", @@ -730,6 +764,7 @@ "No code? ": "Немає коду? ", "No conversation found": "Розмови не знайдено", "Notify me": "Нагадати мені", + "OK": "OK", "Onboarding": "Знайомство", "Open": "Відкрити", "Open help menu": "Відкрити меню довідки", @@ -794,6 +829,7 @@ "Thinking...": "Мислення...", "This project is at the maximum number of files. Remove one before uploading another.": "Цей проект досяг максимальної кількості файлів. Видаліть один файл, перш ніж завантажувати інший.", "This project is at the maximum number of images. Remove one before uploading another.": "Цей проект досяг максимальної кількості зображень. Видаліть одне зображення, перш ніж завантажувати інше.", + "This request: {{co2}}": "Цей запит: {{co2}}", "To add a file to the conversation, drop it here.": "Щоб додати файл до розмови, покладіть його сюди.", "Too many document requests. Please try again in a few minutes.": "Забагато запитів на документи. Будь ласка, спробуйте ще раз за кілька хвилин.", "Turn on internet search": "Увімкніть пошук в Інтернеті", @@ -809,6 +845,7 @@ "Uploading files...": "Вивантаження файлів...", "Use system settings": "Використовувати системні налаштування", "Use this field to provide any additional context the Assistant may need. This feature is being tested. It may not work as expected.": "Використовуйте це поле, щоб надати будь-який додатковий контекст, який може знадобитися Помічнику. Ця функція ще тестується та може працювати не як очікувалося.", + "User": "Користувач", "We encountered an internal error. Our team has been alerted.": "Ми зіткнулися з внутрішньою помилкою. Наша команда була повідомлена.", "We encountered an internal error. Our team has been alerted. Please try again later.": "Ми зіткнулися з внутрішньою помилкою. Наша команда була сповіщена. Будь ласка, спробуйте ще раз пізніше.", "We'll email you at {{email}} when the public beta opens.": "Коли стане доступна публічна бета-версія, ми надішлемо вам листа на адресу {{email}}.", @@ -830,6 +867,7 @@ "Your sovereign AI assistant": "Ваш надійний помічник з ШІ", "source": "джерело", "sources": "джерела", + "{{number}} project file(s) failed to index and are not searchable.": "Не вдалося проіндексувати та зробити доступними для пошуку {{number}} файл(ів) проекту.", "{{productName}} Logo": "Логотип {{productName}}", "😄 April Fools! Alright, let me answer for real...": "😄 Першоквітневий жарт! Гаразд-гаразд, зараз відповім..." } diff --git a/src/frontend/apps/e2e/package.json b/src/frontend/apps/e2e/package.json index 8f219082..a29a815d 100644 --- a/src/frontend/apps/e2e/package.json +++ b/src/frontend/apps/e2e/package.json @@ -1,6 +1,6 @@ { "name": "app-e2e", - "version": "0.0.19", + "version": "0.0.20", "private": true, "scripts": { "lint": "eslint .", diff --git a/src/frontend/package.json b/src/frontend/package.json index eb219d3a..b0f9787d 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -1,6 +1,6 @@ { "name": "conversations", - "version": "0.0.19", + "version": "0.0.20", "private": true, "workspaces": { "packages": [ diff --git a/src/frontend/packages/eslint-config-conversations/package.json b/src/frontend/packages/eslint-config-conversations/package.json index 1e8d762a..d16ec369 100644 --- a/src/frontend/packages/eslint-config-conversations/package.json +++ b/src/frontend/packages/eslint-config-conversations/package.json @@ -1,6 +1,6 @@ { "name": "eslint-config-conversations", - "version": "0.0.19", + "version": "0.0.20", "license": "MIT", "scripts": { "lint": "eslint ." diff --git a/src/frontend/packages/i18n/package.json b/src/frontend/packages/i18n/package.json index cc1091f4..43b50990 100644 --- a/src/frontend/packages/i18n/package.json +++ b/src/frontend/packages/i18n/package.json @@ -1,6 +1,6 @@ { "name": "packages-i18n", - "version": "0.0.19", + "version": "0.0.20", "private": true, "scripts": { "extract-translation": "yarn extract-translation:conversations", diff --git a/src/mail/package.json b/src/mail/package.json index b389c7e2..a7961418 100644 --- a/src/mail/package.json +++ b/src/mail/package.json @@ -22,5 +22,5 @@ "repository": "https://github.com/numerique-gouv/conversations", "author": "DINUM", "license": "MIT", - "version": "0.0.19" + "version": "0.0.20" }