Skip to content

Commit 6943763

Browse files
committed
frontend/new: fix AI generate for ipynb-sagews and tweak +New page
1 parent 3029ff4 commit 6943763

25 files changed

+331
-94
lines changed

src/packages/frontend/codemirror/extensions/ai-formula.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Button, Descriptions, Divider, Input, Modal, Space } from "antd";
22
import { debounce } from "lodash";
3+
import { useIntl } from "react-intl";
34

45
import { useLanguageModelSetting } from "@cocalc/frontend/account/useLanguageModelSetting";
56
import {
@@ -22,13 +23,14 @@ import {
2223
import AIAvatar from "@cocalc/frontend/components/ai-avatar";
2324
import { LLMModelName } from "@cocalc/frontend/components/llm-name";
2425
import LLMSelector from "@cocalc/frontend/frame-editors/llm/llm-selector";
26+
import { dialogs } from "@cocalc/frontend/i18n";
2527
import { show_react_modal } from "@cocalc/frontend/misc";
2628
import { LLMCostEstimation } from "@cocalc/frontend/misc/llm-cost-estimation";
2729
import track from "@cocalc/frontend/user-tracking";
2830
import { webapp_client } from "@cocalc/frontend/webapp-client";
2931
import { isFreeModel } from "@cocalc/util/db-schema/llm-utils";
30-
import { unreachable } from "@cocalc/util/misc";
3132
import { Locale } from "@cocalc/util/i18n";
33+
import { unreachable } from "@cocalc/util/misc";
3234

3335
type Mode = "tex" | "md";
3436

@@ -65,6 +67,7 @@ interface Props extends Opts {
6567
}
6668

6769
function AiGenFormula({ mode, text = "", project_id, locale, cb }: Props) {
70+
const intl = useIntl();
6871
const { setLocale } = useLocalizationCtx();
6972
const is_cocalc_com = useTypedRedux("customize", "is_cocalc_com");
7073
const [model, setModel] = useLanguageModelSetting(project_id);
@@ -260,7 +263,7 @@ function AiGenFormula({ mode, text = "", project_id, locale, cb }: Props) {
260263
</Title>
261264
{enabled ? (
262265
<>
263-
Select language model:{" "}
266+
{intl.formatMessage(dialogs.select_llm)}:{" "}
264267
<LLMSelector
265268
project_id={project_id}
266269
model={model}

src/packages/frontend/i18n/common.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1332,6 +1332,10 @@ export const jupyter = {
13321332
};
13331333

13341334
export const dialogs = defineMessages({
1335+
select_llm: {
1336+
id: "ai-generator.select_llm",
1337+
defaultMessage: "Select language model",
1338+
},
13351339
project_start_warning_title: {
13361340
id: "project-start-warning.title",
13371341
defaultMessage: "Start this project?",

src/packages/frontend/i18n/trans/ar_EG.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
"accountaccount.account_preferences.subtitle": "قم بضبط تفضيلات الحساب أدناه. <A>قم بزيارة إعدادات حسابك لمزيد من المعلومات...</A>",
3434
"ai-generate-document.loading_kernels.error_message": "غير قادر على تحميل نوى Jupyter. تأكد من تشغيل المشروع وتثبيت Jupyter.",
3535
"ai-generate-document.modal.title": "إنشاء مستند {docName} باستخدام الذكاء الاصطناعي",
36+
"ai-generator.select_llm": "اختر نموذج اللغة",
3637
"app.fullscreen-button.tooltip": "وضع الشاشة الكاملة، يركز على المستند أو الصفحة الحالية.",
3738
"chat.chat-indicator.tooltip": "إخفاء أو إظهار محادثة المستندات",
3839
"chat.input.placeholder": "اكتب رسالة جديدة ({have_llm, select, true {الدردشة مع الذكاء الاصطناعي أو } other {}}إخطار زميل بكتابة @)...",
@@ -781,9 +782,17 @@
781782
"project.new.new-file-page.upload.description": "يمكنك إسقاط ملف أو أكثر هنا أو في قائمة ملفات المستكشف. اطلع على <A>التوثيق</A> لمزيد من الطرق لإضافة ملفاتك إلى مشروعك.",
782783
"project.new.new-file-page.upload.title": "تحميل الملفات إلى مشروعك",
783784
"project.open_file.what": "افتح الملف \"{path}\"",
785+
"project.page.ai-generate-document.content.label": "قدم وصفًا مفصلًا لوثيقة {docName} التي تريد إنشاؤها:",
786+
"project.page.ai-generate-document.content.placeholder": "وصف المحتوى...",
784787
"project.page.ai-generate-document.create_document.what": "إنشاء مستند {docName} \"{path}\"",
788+
"project.page.ai-generate-document.create.label": "إنشاء {docName} باستخدام",
785789
"project.page.ai-generate-document.info.title": "مولد",
786790
"project.page.ai-generate-document.info.tooltip": "افتح مولد الذكاء الاصطناعي لإنشاء مستند تلقائيًا",
791+
"project.page.ai-generate-document.preview.footer": "انقر على \"حفظ\" لتخزين معاينة المحتوى في ملف جديد بالاسم المحدد. يمكنك بعد ذلك تحرير وتشغيل المستند الحسابي كالمعتاد. انقر على \"تجاهل\" لتجاهل النتيجة والعودة إلى الخطوة السابقة.",
792+
"project.page.ai-generate-document.preview.header": "هذا معاينة للمحتوى المُنشأ.",
793+
"project.page.ai-generate-document.preview.info": "سيتم إرسال مطالبة لإنشاء المستند إلى نموذج اللغة {llm}. سترى معاينة للمحتوى الجديد، الذي ستتمكن بعد ذلك من حفظه في ملف جديد والبدء في العمل عليه. بشكل عام، يجب أن يساعدك المستند الذي تم إنشاؤه حديثًا في البدء في تحقيق هدفك.",
794+
"project.page.ai-generate-document.preview.save_message": "لقد انتهى من توليد المحتوى. يمكنك إما <B>حفظ الملف</B> بالاسم المعطى، أو تجاهل المعاينة والعودة إلى الخطوة السابقة.",
795+
"project.page.ai-generate-document.preview.saving": "{saving, select, true {يتم حفظ الملف...} other {يرجى الانتظار حتى يتم الانتهاء من التوليد...}}",
787796
"project.page.file-tab.search_file.label": "بحث",
788797
"project.page.file-tab.upgrades.flyoutTitle": "ترقيات المشروع",
789798
"project.page.flyout.log.title": "الملفات الأخيرة",

src/packages/frontend/i18n/trans/de_DE.json

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@
3232
"account.terminal-settings.label-row.label": "Terminalfarbschema",
3333
"accountaccount.account_preferences.subtitle": "Passen Sie die Kontoeinstellungen unten an. <A>Besuchen Sie Ihre Kontokonfiguration für mehr...</A>",
3434
"ai-generate-document.loading_kernels.error_message": "Jupyter-Kernel können nicht geladen werden. Stellen Sie sicher, dass das Projekt läuft und Jupyter installiert ist.",
35-
"ai-generate-document.modal.title": "Erzeugen Sie ein {docName} Dokument mit KI",
35+
"ai-generate-document.modal.title": "Erzeuge ein {docName} Dokument mit KI",
36+
"ai-generator.select_llm": "Sprachmodell auswählen",
3637
"app.fullscreen-button.tooltip": "Vollbildmodus, fokussiert auf das aktuelle Dokument oder die aktuelle Seite",
3738
"chat.chat-indicator.tooltip": "Dokument-Chat ausblenden oder anzeigen",
3839
"chat.input.placeholder": "Schreib eine neue Nachricht ({have_llm, select, true {sprich mit einer KI oder } other {}}kontaktiere eine/n Mitarbeiter/in durch Erwähnen mit einem @)...",
@@ -781,9 +782,17 @@
781782
"project.new.new-file-page.upload.description": "Sie können eine oder mehrere Dateien hier oder in der Explorer-Dateiliste ablegen. Siehe <A>Dokumentation</A> für weitere Möglichkeiten, Ihre Dateien in Ihr Projekt zu bekommen.",
782783
"project.new.new-file-page.upload.title": "Dateien in Ihr Projekt hochladen",
783784
"project.open_file.what": "öffne die Datei \"{path}\"",
785+
"project.page.ai-generate-document.content.label": "Geben Sie eine detaillierte Beschreibung des {docName}-Dokuments, das Sie erstellen möchten:",
786+
"project.page.ai-generate-document.content.placeholder": "Inhalt beschreiben...",
784787
"project.page.ai-generate-document.create_document.what": "erstelle das {docName} Dokument \"{path}\"",
788+
"project.page.ai-generate-document.create.label": "Erstelle {docName} mit",
785789
"project.page.ai-generate-document.info.title": "Generator",
786790
"project.page.ai-generate-document.info.tooltip": "Öffnen Sie den AI-Generator, um automatisch ein Dokument zu erstellen.",
791+
"project.page.ai-generate-document.preview.footer": "Klicken Sie auf \"Speichern\", um die Vorschau des Inhalts in einer neuen Datei mit dem angegebenen Dateinamen zu speichern. Sie können dann das Rechendokument wie gewohnt bearbeiten und ausführen. Klicken Sie auf \"Verwerfen\", um das Ergebnis zu ignorieren und zum vorherigen Schritt zurückzukehren.",
792+
"project.page.ai-generate-document.preview.header": "Dies ist eine Vorschau des generierten Inhalts.",
793+
"project.page.ai-generate-document.preview.info": "Eine Aufforderung zur Erstellung des Dokuments wird an das {llm} Sprachmodell gesendet. Sie sehen eine Vorschau des neuen Inhalts, die Sie dann in einer neuen Datei speichern und daran arbeiten können. Insgesamt sollte das neu erstellte Dokument Ihnen helfen, Ihr Ziel zu erreichen.",
794+
"project.page.ai-generate-document.preview.save_message": "Es hat die Inhalte fertiggestellt. Sie können entweder die Datei mit dem angegebenen Dateinamen <B>speichern</B> oder die Vorschau verwerfen und zum vorherigen Schritt zurückkehren.",
795+
"project.page.ai-generate-document.preview.saving": "{saving, select, true {Die Datei wird gespeichert...} other {Bitte warten Sie, bis vollständig generiert...}}",
787796
"project.page.file-tab.search_file.label": "Suche",
788797
"project.page.file-tab.upgrades.flyoutTitle": "Projekt-Upgrades",
789798
"project.page.flyout.log.title": "Kürzlich bearbeitete Dateien",

src/packages/frontend/i18n/trans/es_ES.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
"accountaccount.account_preferences.subtitle": "Ajusta las preferencias de tu cuenta a continuación. <A>Visita la configuración de tu cuenta para más...</A>",
3434
"ai-generate-document.loading_kernels.error_message": "No se pueden cargar los núcleos de Jupyter. Asegúrese de que el proyecto esté en ejecución y Jupyter esté instalado.",
3535
"ai-generate-document.modal.title": "Generar un documento {docName} usando IA",
36+
"ai-generator.select_llm": "Seleccionar modelo de idioma",
3637
"app.fullscreen-button.tooltip": "Modo de pantalla completa, centrado en el documento o página actual.",
3738
"chat.chat-indicator.tooltip": "Ocultar o Mostrar Chat del Documento",
3839
"chat.input.placeholder": "Escribe un nuevo mensaje ({have_llm, select, true {chatea con AI o } other {}}notifica a un colaborador escribiendo @)...",
@@ -781,9 +782,17 @@
781782
"project.new.new-file-page.upload.description": "Puedes soltar uno o más archivos aquí o en la lista de archivos del Explorador. Consulta la <A>documentación</A> para más formas de añadir tus archivos a tu proyecto.",
782783
"project.new.new-file-page.upload.title": "Subir archivos a tu proyecto",
783784
"project.open_file.what": "abre el archivo \"{path}\"",
785+
"project.page.ai-generate-document.content.label": "Proporcione una descripción detallada del documento {docName} que desea crear:",
786+
"project.page.ai-generate-document.content.placeholder": "Describir el contenido...",
784787
"project.page.ai-generate-document.create_document.what": "crear el documento {docName} \"{path}\"",
788+
"project.page.ai-generate-document.create.label": "Crear {docName} usando",
785789
"project.page.ai-generate-document.info.title": "Generador",
786790
"project.page.ai-generate-document.info.tooltip": "Abre el Generador de IA para crear un documento automáticamente.",
791+
"project.page.ai-generate-document.preview.footer": "Haz clic en \"guardar\" para almacenar la vista previa del contenido en un nuevo archivo con el nombre de archivo dado. Luego puedes editar y ejecutar el documento computacional como de costumbre. Haz clic en \"descartar\" para ignorar el resultado y volver al paso anterior.",
792+
"project.page.ai-generate-document.preview.header": "Esta es una vista previa del contenido generado.",
793+
"project.page.ai-generate-document.preview.info": "Se enviará un aviso al modelo de lenguaje {llm} para generar el documento. Verás una vista previa del nuevo contenido, que luego podrás guardar en un nuevo archivo y comenzar a trabajar en él. En general, el documento recién creado debería ayudarte a comenzar a lograr tu objetivo.",
794+
"project.page.ai-generate-document.preview.save_message": "Terminó de generar el contenido. Puedes <B>guardar el archivo</B> con el nombre de archivo dado, o descartar la vista previa y volver al paso anterior.",
795+
"project.page.ai-generate-document.preview.saving": "{saving, select, true {El archivo se está guardando...} other {Por favor, espera hasta que se genere completamente...}}",
787796
"project.page.file-tab.search_file.label": "Buscar",
788797
"project.page.file-tab.upgrades.flyoutTitle": "Mejoras del Proyecto",
789798
"project.page.flyout.log.title": "Archivos Recientes",

src/packages/frontend/i18n/trans/fr_FR.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
"accountaccount.account_preferences.subtitle": "Ajustez les préférences de compte ci-dessous. <A>Visitez la configuration de votre compte pour plus...</A>",
3434
"ai-generate-document.loading_kernels.error_message": "Impossible de charger les noyaux Jupyter. Assurez-vous que le projet est en cours d'exécution et que Jupyter est installé.",
3535
"ai-generate-document.modal.title": "Générer un document {docName} en utilisant l'IA",
36+
"ai-generator.select_llm": "Sélectionner le modèle de langue",
3637
"app.fullscreen-button.tooltip": "Mode plein écran, concentré sur le document ou la page actuelle.",
3738
"chat.chat-indicator.tooltip": "Masquer ou Afficher le Chat du Document",
3839
"chat.input.placeholder": "Tapez un nouveau message ({have_llm, select, true {discutez avec l'IA ou } other {}}notifiez un collaborateur en tapant @)...",
@@ -781,9 +782,17 @@
781782
"project.new.new-file-page.upload.description": "Vous pouvez déposer un ou plusieurs fichiers ici ou dans la liste des fichiers de l'Explorateur. Voir <A>documentation</A> pour plus de moyens d'ajouter vos fichiers à votre projet.",
782783
"project.new.new-file-page.upload.title": "Télécharger des fichiers dans votre projet",
783784
"project.open_file.what": "ouvrir le fichier \"{path}\"",
785+
"project.page.ai-generate-document.content.label": "Fournissez une description détaillée du document {docName} que vous souhaitez créer :",
786+
"project.page.ai-generate-document.content.placeholder": "Décrire le contenu...",
784787
"project.page.ai-generate-document.create_document.what": "créer le document {docName} \"{path}\"",
788+
"project.page.ai-generate-document.create.label": "Créer {docName} en utilisant",
785789
"project.page.ai-generate-document.info.title": "Générateur",
786790
"project.page.ai-generate-document.info.tooltip": "Ouvrez le Générateur d'IA pour créer automatiquement un document",
791+
"project.page.ai-generate-document.preview.footer": "Cliquez sur \"enregistrer\" pour stocker l'aperçu du contenu dans un nouveau fichier avec le nom de fichier donné. Vous pouvez ensuite éditer et exécuter le document de calcul comme d'habitude. Cliquez sur \"ignorer\" pour ignorer le résultat et revenir à l'étape précédente.",
792+
"project.page.ai-generate-document.preview.header": "Ceci est un aperçu du contenu généré.",
793+
"project.page.ai-generate-document.preview.info": "Une invite pour générer le document sera envoyée au modèle de langue {llm}. Vous verrez un aperçu du nouveau contenu, que vous pourrez ensuite enregistrer dans un nouveau fichier et commencer à travailler dessus. Dans l'ensemble, le document nouvellement créé devrait vous aider à commencer à atteindre votre objectif.",
794+
"project.page.ai-generate-document.preview.save_message": "Il a fini de générer le contenu. Vous pouvez soit <B>enregistrer le fichier</B> avec le nom donné, soit annuler l'aperçu et revenir à l'étape précédente.",
795+
"project.page.ai-generate-document.preview.saving": "{saving, select, true {Le fichier est en cours de sauvegarde...} other {Veuillez attendre jusqu'à ce que ce soit entièrement généré...}}",
787796
"project.page.file-tab.search_file.label": "Trouver",
788797
"project.page.file-tab.upgrades.flyoutTitle": "Mises à niveau du projet",
789798
"project.page.flyout.log.title": "Fichiers récents",

src/packages/frontend/i18n/trans/he_IL.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
"accountaccount.account_preferences.subtitle": "התאם את הגדרות החשבון למטה. <A>בקר בהגדרות החשבון שלך למידע נוסף...</A>",
3434
"ai-generate-document.loading_kernels.error_message": "לא ניתן לטעון את הליבות של Jupyter. ודא שהפרויקט פועל ו-Jupyter מותקן.",
3535
"ai-generate-document.modal.title": "צור מסמך {docName} באמצעות AI",
36+
"ai-generator.select_llm": "בחר מודל שפה",
3637
"app.fullscreen-button.tooltip": "מצב מסך מלא, ממוקד במסמך או בעמוד הנוכחי",
3738
"chat.chat-indicator.tooltip": "הסתר או הצג צ'אט מסמך",
3839
"chat.input.placeholder": "הקלד הודעה חדשה ({have_llm, select, true {שוחח עם AI או } other {}}הודע לשתף פעולה על ידי הקלדת @)...",
@@ -781,9 +782,17 @@
781782
"project.new.new-file-page.upload.description": "ניתן לשחרר קובץ אחד או יותר כאן או ברשימת הקבצים ב-Explorer. ראה <A>תיעוד</A> לעוד דרכים להעלות את הקבצים שלך לפרויקט שלך.",
782783
"project.new.new-file-page.upload.title": "העלאת קבצים לפרויקט שלך",
783784
"project.open_file.what": "פתח את הקובץ \"{path}\"",
785+
"project.page.ai-generate-document.content.label": "ספק תיאור מפורט של המסמך {docName} שברצונך ליצור",
786+
"project.page.ai-generate-document.content.placeholder": "תאר את התוכן...",
784787
"project.page.ai-generate-document.create_document.what": "צור את המסמך {docName} \"{path}\"",
788+
"project.page.ai-generate-document.create.label": "צור {docName} באמצעות",
785789
"project.page.ai-generate-document.info.title": "גנרטור",
786790
"project.page.ai-generate-document.info.tooltip": "פתח את מחולל ה-AI ליצירת מסמך באופן אוטומטי",
791+
"project.page.ai-generate-document.preview.footer": "לחץ על \"שמור\" כדי לאחסן את התצוגה המקדימה של התוכן בקובץ חדש עם שם הקובץ הנתון. לאחר מכן תוכל לערוך ולהפעיל את המסמך החישובי כרגיל. לחץ על \"התעלם\" כדי להתעלם מהתוצאה ולחזור לשלב הקודם.",
792+
"project.page.ai-generate-document.preview.header": "זהו תצוגה מקדימה של התוכן שנוצר",
793+
"project.page.ai-generate-document.preview.info": "תתבקש מהמודל השפתי {llm} ליצור את המסמך. תראה תצוגה מקדימה של התוכן החדש, שתוכל לשמור בקובץ חדש ולהתחיל לעבוד עליו. בסך הכל, המסמך החדש שנוצר אמור לעזור לך להתחיל להשיג את מטרתך.",
794+
"project.page.ai-generate-document.preview.save_message": "זה סיים לייצר את התוכן. תוכל או <B>לשמור את הקובץ</B> עם שם הקובץ שניתן, או לבטל את התצוגה המקדימה ולחזור לשלב הקודם.",
795+
"project.page.ai-generate-document.preview.saving": "{saving, select, true {הקובץ נשמר...} other {אנא המתן עד להשלמה מלאה...}}",
787796
"project.page.file-tab.search_file.label": "מצא",
788797
"project.page.file-tab.upgrades.flyoutTitle": "שדרוגי פרויקט",
789798
"project.page.flyout.log.title": "קבצים אחרונים",

0 commit comments

Comments
 (0)