From 18ca89bcddf0f82f4424cc3c6a34b4dc474b25a4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 7 Jul 2026 11:54:54 +0200 Subject: [PATCH] i18n - docs translations (#22617) Created by Github action Review in cubic Co-authored-by: github-actions --- packages/twenty-docs/docs.json | 144 +++++++++ .../tutorials/document-generator/ai-agent.mdx | 80 +++++ .../document-generator/building-the-ui.mdx | 294 +++++++++++++++++ .../document-generator/data-model.mdx | 133 ++++++++ .../generating-documents.mdx | 238 ++++++++++++++ .../document-generator/http-routes.mdx | 147 +++++++++ .../tutorials/document-generator/overview.mdx | 63 ++++ .../document-generator/publishing.mdx | 137 ++++++++ packages/twenty-docs/l/ar/navigation.json | 3 + .../tutorials/document-generator/ai-agent.mdx | 81 +++++ .../document-generator/building-the-ui.mdx | 305 ++++++++++++++++++ .../document-generator/data-model.mdx | 135 ++++++++ .../generating-documents.mdx | 239 ++++++++++++++ .../document-generator/http-routes.mdx | 148 +++++++++ .../tutorials/document-generator/overview.mdx | 66 ++++ .../document-generator/publishing.mdx | 137 ++++++++ packages/twenty-docs/l/cs/navigation.json | 3 + .../tutorials/document-generator/ai-agent.mdx | 81 +++++ .../document-generator/building-the-ui.mdx | 304 +++++++++++++++++ .../document-generator/data-model.mdx | 135 ++++++++ .../generating-documents.mdx | 237 ++++++++++++++ .../document-generator/http-routes.mdx | 148 +++++++++ .../tutorials/document-generator/overview.mdx | 67 ++++ .../document-generator/publishing.mdx | 137 ++++++++ packages/twenty-docs/l/de/navigation.json | 3 + .../tutorials/document-generator/ai-agent.mdx | 81 +++++ .../document-generator/building-the-ui.mdx | 304 +++++++++++++++++ .../document-generator/data-model.mdx | 135 ++++++++ .../generating-documents.mdx | 239 ++++++++++++++ .../document-generator/http-routes.mdx | 148 +++++++++ .../tutorials/document-generator/overview.mdx | 67 ++++ .../document-generator/publishing.mdx | 137 ++++++++ packages/twenty-docs/l/es/navigation.json | 3 + .../tutorials/document-generator/ai-agent.mdx | 80 +++++ .../document-generator/building-the-ui.mdx | 304 +++++++++++++++++ .../document-generator/data-model.mdx | 135 ++++++++ .../generating-documents.mdx | 239 ++++++++++++++ .../document-generator/http-routes.mdx | 148 +++++++++ .../tutorials/document-generator/overview.mdx | 70 ++++ .../document-generator/publishing.mdx | 137 ++++++++ packages/twenty-docs/l/fr/navigation.json | 3 + .../tutorials/document-generator/ai-agent.mdx | 81 +++++ .../document-generator/building-the-ui.mdx | 305 ++++++++++++++++++ .../document-generator/data-model.mdx | 135 ++++++++ .../generating-documents.mdx | 239 ++++++++++++++ .../document-generator/http-routes.mdx | 148 +++++++++ .../tutorials/document-generator/overview.mdx | 66 ++++ .../document-generator/publishing.mdx | 136 ++++++++ packages/twenty-docs/l/it/navigation.json | 3 + .../tutorials/document-generator/ai-agent.mdx | 79 +++++ .../document-generator/building-the-ui.mdx | 299 +++++++++++++++++ .../document-generator/data-model.mdx | 134 ++++++++ .../generating-documents.mdx | 233 +++++++++++++ .../document-generator/http-routes.mdx | 141 ++++++++ .../tutorials/document-generator/overview.mdx | 63 ++++ .../document-generator/publishing.mdx | 136 ++++++++ packages/twenty-docs/l/ja/navigation.json | 3 + .../tutorials/document-generator/ai-agent.mdx | 72 +++++ .../document-generator/building-the-ui.mdx | 275 ++++++++++++++++ .../document-generator/data-model.mdx | 134 ++++++++ .../generating-documents.mdx | 210 ++++++++++++ .../document-generator/http-routes.mdx | 135 ++++++++ .../tutorials/document-generator/overview.mdx | 61 ++++ .../document-generator/publishing.mdx | 125 +++++++ packages/twenty-docs/l/ko/navigation.json | 3 + .../tutorials/document-generator/ai-agent.mdx | 81 +++++ .../document-generator/building-the-ui.mdx | 305 ++++++++++++++++++ .../document-generator/data-model.mdx | 135 ++++++++ .../generating-documents.mdx | 239 ++++++++++++++ .../document-generator/http-routes.mdx | 147 +++++++++ .../tutorials/document-generator/overview.mdx | 70 ++++ .../document-generator/publishing.mdx | 137 ++++++++ packages/twenty-docs/l/pt/navigation.json | 3 + .../tutorials/document-generator/ai-agent.mdx | 81 +++++ .../document-generator/building-the-ui.mdx | 304 +++++++++++++++++ .../document-generator/data-model.mdx | 135 ++++++++ .../generating-documents.mdx | 238 ++++++++++++++ .../document-generator/http-routes.mdx | 147 +++++++++ .../tutorials/document-generator/overview.mdx | 70 ++++ .../document-generator/publishing.mdx | 136 ++++++++ packages/twenty-docs/l/ro/navigation.json | 3 + .../tutorials/document-generator/ai-agent.mdx | 70 ++++ .../document-generator/building-the-ui.mdx | 277 ++++++++++++++++ .../document-generator/data-model.mdx | 132 ++++++++ .../generating-documents.mdx | 208 ++++++++++++ .../document-generator/http-routes.mdx | 135 ++++++++ .../tutorials/document-generator/overview.mdx | 61 ++++ .../document-generator/publishing.mdx | 126 ++++++++ packages/twenty-docs/l/tr/navigation.json | 3 + .../tutorials/document-generator/ai-agent.mdx | 81 +++++ .../document-generator/building-the-ui.mdx | 293 +++++++++++++++++ .../document-generator/data-model.mdx | 132 ++++++++ .../generating-documents.mdx | 238 ++++++++++++++ .../document-generator/http-routes.mdx | 147 +++++++++ .../tutorials/document-generator/overview.mdx | 63 ++++ .../document-generator/publishing.mdx | 136 ++++++++ packages/twenty-docs/l/zh/navigation.json | 3 + 97 files changed, 13247 insertions(+) create mode 100644 packages/twenty-docs/l/ar/developers/extend/apps/tutorials/document-generator/ai-agent.mdx create mode 100644 packages/twenty-docs/l/ar/developers/extend/apps/tutorials/document-generator/building-the-ui.mdx create mode 100644 packages/twenty-docs/l/ar/developers/extend/apps/tutorials/document-generator/data-model.mdx create mode 100644 packages/twenty-docs/l/ar/developers/extend/apps/tutorials/document-generator/generating-documents.mdx create mode 100644 packages/twenty-docs/l/ar/developers/extend/apps/tutorials/document-generator/http-routes.mdx create mode 100644 packages/twenty-docs/l/ar/developers/extend/apps/tutorials/document-generator/overview.mdx create mode 100644 packages/twenty-docs/l/ar/developers/extend/apps/tutorials/document-generator/publishing.mdx create mode 100644 packages/twenty-docs/l/cs/developers/extend/apps/tutorials/document-generator/ai-agent.mdx create mode 100644 packages/twenty-docs/l/cs/developers/extend/apps/tutorials/document-generator/building-the-ui.mdx create mode 100644 packages/twenty-docs/l/cs/developers/extend/apps/tutorials/document-generator/data-model.mdx create mode 100644 packages/twenty-docs/l/cs/developers/extend/apps/tutorials/document-generator/generating-documents.mdx create mode 100644 packages/twenty-docs/l/cs/developers/extend/apps/tutorials/document-generator/http-routes.mdx create mode 100644 packages/twenty-docs/l/cs/developers/extend/apps/tutorials/document-generator/overview.mdx create mode 100644 packages/twenty-docs/l/cs/developers/extend/apps/tutorials/document-generator/publishing.mdx create mode 100644 packages/twenty-docs/l/de/developers/extend/apps/tutorials/document-generator/ai-agent.mdx create mode 100644 packages/twenty-docs/l/de/developers/extend/apps/tutorials/document-generator/building-the-ui.mdx create mode 100644 packages/twenty-docs/l/de/developers/extend/apps/tutorials/document-generator/data-model.mdx create mode 100644 packages/twenty-docs/l/de/developers/extend/apps/tutorials/document-generator/generating-documents.mdx create mode 100644 packages/twenty-docs/l/de/developers/extend/apps/tutorials/document-generator/http-routes.mdx create mode 100644 packages/twenty-docs/l/de/developers/extend/apps/tutorials/document-generator/overview.mdx create mode 100644 packages/twenty-docs/l/de/developers/extend/apps/tutorials/document-generator/publishing.mdx create mode 100644 packages/twenty-docs/l/es/developers/extend/apps/tutorials/document-generator/ai-agent.mdx create mode 100644 packages/twenty-docs/l/es/developers/extend/apps/tutorials/document-generator/building-the-ui.mdx create mode 100644 packages/twenty-docs/l/es/developers/extend/apps/tutorials/document-generator/data-model.mdx create mode 100644 packages/twenty-docs/l/es/developers/extend/apps/tutorials/document-generator/generating-documents.mdx create mode 100644 packages/twenty-docs/l/es/developers/extend/apps/tutorials/document-generator/http-routes.mdx create mode 100644 packages/twenty-docs/l/es/developers/extend/apps/tutorials/document-generator/overview.mdx create mode 100644 packages/twenty-docs/l/es/developers/extend/apps/tutorials/document-generator/publishing.mdx create mode 100644 packages/twenty-docs/l/fr/developers/extend/apps/tutorials/document-generator/ai-agent.mdx create mode 100644 packages/twenty-docs/l/fr/developers/extend/apps/tutorials/document-generator/building-the-ui.mdx create mode 100644 packages/twenty-docs/l/fr/developers/extend/apps/tutorials/document-generator/data-model.mdx create mode 100644 packages/twenty-docs/l/fr/developers/extend/apps/tutorials/document-generator/generating-documents.mdx create mode 100644 packages/twenty-docs/l/fr/developers/extend/apps/tutorials/document-generator/http-routes.mdx create mode 100644 packages/twenty-docs/l/fr/developers/extend/apps/tutorials/document-generator/overview.mdx create mode 100644 packages/twenty-docs/l/fr/developers/extend/apps/tutorials/document-generator/publishing.mdx create mode 100644 packages/twenty-docs/l/it/developers/extend/apps/tutorials/document-generator/ai-agent.mdx create mode 100644 packages/twenty-docs/l/it/developers/extend/apps/tutorials/document-generator/building-the-ui.mdx create mode 100644 packages/twenty-docs/l/it/developers/extend/apps/tutorials/document-generator/data-model.mdx create mode 100644 packages/twenty-docs/l/it/developers/extend/apps/tutorials/document-generator/generating-documents.mdx create mode 100644 packages/twenty-docs/l/it/developers/extend/apps/tutorials/document-generator/http-routes.mdx create mode 100644 packages/twenty-docs/l/it/developers/extend/apps/tutorials/document-generator/overview.mdx create mode 100644 packages/twenty-docs/l/it/developers/extend/apps/tutorials/document-generator/publishing.mdx create mode 100644 packages/twenty-docs/l/ja/developers/extend/apps/tutorials/document-generator/ai-agent.mdx create mode 100644 packages/twenty-docs/l/ja/developers/extend/apps/tutorials/document-generator/building-the-ui.mdx create mode 100644 packages/twenty-docs/l/ja/developers/extend/apps/tutorials/document-generator/data-model.mdx create mode 100644 packages/twenty-docs/l/ja/developers/extend/apps/tutorials/document-generator/generating-documents.mdx create mode 100644 packages/twenty-docs/l/ja/developers/extend/apps/tutorials/document-generator/http-routes.mdx create mode 100644 packages/twenty-docs/l/ja/developers/extend/apps/tutorials/document-generator/overview.mdx create mode 100644 packages/twenty-docs/l/ja/developers/extend/apps/tutorials/document-generator/publishing.mdx create mode 100644 packages/twenty-docs/l/ko/developers/extend/apps/tutorials/document-generator/ai-agent.mdx create mode 100644 packages/twenty-docs/l/ko/developers/extend/apps/tutorials/document-generator/building-the-ui.mdx create mode 100644 packages/twenty-docs/l/ko/developers/extend/apps/tutorials/document-generator/data-model.mdx create mode 100644 packages/twenty-docs/l/ko/developers/extend/apps/tutorials/document-generator/generating-documents.mdx create mode 100644 packages/twenty-docs/l/ko/developers/extend/apps/tutorials/document-generator/http-routes.mdx create mode 100644 packages/twenty-docs/l/ko/developers/extend/apps/tutorials/document-generator/overview.mdx create mode 100644 packages/twenty-docs/l/ko/developers/extend/apps/tutorials/document-generator/publishing.mdx create mode 100644 packages/twenty-docs/l/pt/developers/extend/apps/tutorials/document-generator/ai-agent.mdx create mode 100644 packages/twenty-docs/l/pt/developers/extend/apps/tutorials/document-generator/building-the-ui.mdx create mode 100644 packages/twenty-docs/l/pt/developers/extend/apps/tutorials/document-generator/data-model.mdx create mode 100644 packages/twenty-docs/l/pt/developers/extend/apps/tutorials/document-generator/generating-documents.mdx create mode 100644 packages/twenty-docs/l/pt/developers/extend/apps/tutorials/document-generator/http-routes.mdx create mode 100644 packages/twenty-docs/l/pt/developers/extend/apps/tutorials/document-generator/overview.mdx create mode 100644 packages/twenty-docs/l/pt/developers/extend/apps/tutorials/document-generator/publishing.mdx create mode 100644 packages/twenty-docs/l/ro/developers/extend/apps/tutorials/document-generator/ai-agent.mdx create mode 100644 packages/twenty-docs/l/ro/developers/extend/apps/tutorials/document-generator/building-the-ui.mdx create mode 100644 packages/twenty-docs/l/ro/developers/extend/apps/tutorials/document-generator/data-model.mdx create mode 100644 packages/twenty-docs/l/ro/developers/extend/apps/tutorials/document-generator/generating-documents.mdx create mode 100644 packages/twenty-docs/l/ro/developers/extend/apps/tutorials/document-generator/http-routes.mdx create mode 100644 packages/twenty-docs/l/ro/developers/extend/apps/tutorials/document-generator/overview.mdx create mode 100644 packages/twenty-docs/l/ro/developers/extend/apps/tutorials/document-generator/publishing.mdx create mode 100644 packages/twenty-docs/l/tr/developers/extend/apps/tutorials/document-generator/ai-agent.mdx create mode 100644 packages/twenty-docs/l/tr/developers/extend/apps/tutorials/document-generator/building-the-ui.mdx create mode 100644 packages/twenty-docs/l/tr/developers/extend/apps/tutorials/document-generator/data-model.mdx create mode 100644 packages/twenty-docs/l/tr/developers/extend/apps/tutorials/document-generator/generating-documents.mdx create mode 100644 packages/twenty-docs/l/tr/developers/extend/apps/tutorials/document-generator/http-routes.mdx create mode 100644 packages/twenty-docs/l/tr/developers/extend/apps/tutorials/document-generator/overview.mdx create mode 100644 packages/twenty-docs/l/tr/developers/extend/apps/tutorials/document-generator/publishing.mdx create mode 100644 packages/twenty-docs/l/zh/developers/extend/apps/tutorials/document-generator/ai-agent.mdx create mode 100644 packages/twenty-docs/l/zh/developers/extend/apps/tutorials/document-generator/building-the-ui.mdx create mode 100644 packages/twenty-docs/l/zh/developers/extend/apps/tutorials/document-generator/data-model.mdx create mode 100644 packages/twenty-docs/l/zh/developers/extend/apps/tutorials/document-generator/generating-documents.mdx create mode 100644 packages/twenty-docs/l/zh/developers/extend/apps/tutorials/document-generator/http-routes.mdx create mode 100644 packages/twenty-docs/l/zh/developers/extend/apps/tutorials/document-generator/overview.mdx create mode 100644 packages/twenty-docs/l/zh/developers/extend/apps/tutorials/document-generator/publishing.mdx diff --git a/packages/twenty-docs/docs.json b/packages/twenty-docs/docs.json index 86191838ef..37c6846d39 100644 --- a/packages/twenty-docs/docs.json +++ b/packages/twenty-docs/docs.json @@ -837,6 +837,18 @@ "l/fr/developers/extend/apps/getting-started/troubleshooting" ] }, + { + "group": "Tutoriel", + "pages": [ + "l/fr/developers/extend/apps/tutorials/document-generator/overview", + "l/fr/developers/extend/apps/tutorials/document-generator/data-model", + "l/fr/developers/extend/apps/tutorials/document-generator/generating-documents", + "l/fr/developers/extend/apps/tutorials/document-generator/http-routes", + "l/fr/developers/extend/apps/tutorials/document-generator/building-the-ui", + "l/fr/developers/extend/apps/tutorials/document-generator/ai-agent", + "l/fr/developers/extend/apps/tutorials/document-generator/publishing" + ] + }, { "group": "Configuration", "pages": [ @@ -1277,6 +1289,18 @@ "l/ar/developers/extend/apps/getting-started/troubleshooting" ] }, + { + "group": "البرنامج التعليمي", + "pages": [ + "l/ar/developers/extend/apps/tutorials/document-generator/overview", + "l/ar/developers/extend/apps/tutorials/document-generator/data-model", + "l/ar/developers/extend/apps/tutorials/document-generator/generating-documents", + "l/ar/developers/extend/apps/tutorials/document-generator/http-routes", + "l/ar/developers/extend/apps/tutorials/document-generator/building-the-ui", + "l/ar/developers/extend/apps/tutorials/document-generator/ai-agent", + "l/ar/developers/extend/apps/tutorials/document-generator/publishing" + ] + }, { "group": "التهيئة", "pages": [ @@ -1717,6 +1741,18 @@ "l/cs/developers/extend/apps/getting-started/troubleshooting" ] }, + { + "group": "Návod", + "pages": [ + "l/cs/developers/extend/apps/tutorials/document-generator/overview", + "l/cs/developers/extend/apps/tutorials/document-generator/data-model", + "l/cs/developers/extend/apps/tutorials/document-generator/generating-documents", + "l/cs/developers/extend/apps/tutorials/document-generator/http-routes", + "l/cs/developers/extend/apps/tutorials/document-generator/building-the-ui", + "l/cs/developers/extend/apps/tutorials/document-generator/ai-agent", + "l/cs/developers/extend/apps/tutorials/document-generator/publishing" + ] + }, { "group": "Konfigurace", "pages": [ @@ -2157,6 +2193,18 @@ "l/de/developers/extend/apps/getting-started/troubleshooting" ] }, + { + "group": "Tutorial", + "pages": [ + "l/de/developers/extend/apps/tutorials/document-generator/overview", + "l/de/developers/extend/apps/tutorials/document-generator/data-model", + "l/de/developers/extend/apps/tutorials/document-generator/generating-documents", + "l/de/developers/extend/apps/tutorials/document-generator/http-routes", + "l/de/developers/extend/apps/tutorials/document-generator/building-the-ui", + "l/de/developers/extend/apps/tutorials/document-generator/ai-agent", + "l/de/developers/extend/apps/tutorials/document-generator/publishing" + ] + }, { "group": "Konfiguration", "pages": [ @@ -2597,6 +2645,18 @@ "l/es/developers/extend/apps/getting-started/troubleshooting" ] }, + { + "group": "Tutorial", + "pages": [ + "l/es/developers/extend/apps/tutorials/document-generator/overview", + "l/es/developers/extend/apps/tutorials/document-generator/data-model", + "l/es/developers/extend/apps/tutorials/document-generator/generating-documents", + "l/es/developers/extend/apps/tutorials/document-generator/http-routes", + "l/es/developers/extend/apps/tutorials/document-generator/building-the-ui", + "l/es/developers/extend/apps/tutorials/document-generator/ai-agent", + "l/es/developers/extend/apps/tutorials/document-generator/publishing" + ] + }, { "group": "Configuración", "pages": [ @@ -3037,6 +3097,18 @@ "l/it/developers/extend/apps/getting-started/troubleshooting" ] }, + { + "group": "Tutorial", + "pages": [ + "l/it/developers/extend/apps/tutorials/document-generator/overview", + "l/it/developers/extend/apps/tutorials/document-generator/data-model", + "l/it/developers/extend/apps/tutorials/document-generator/generating-documents", + "l/it/developers/extend/apps/tutorials/document-generator/http-routes", + "l/it/developers/extend/apps/tutorials/document-generator/building-the-ui", + "l/it/developers/extend/apps/tutorials/document-generator/ai-agent", + "l/it/developers/extend/apps/tutorials/document-generator/publishing" + ] + }, { "group": "Configurazione", "pages": [ @@ -3477,6 +3549,18 @@ "l/ja/developers/extend/apps/getting-started/troubleshooting" ] }, + { + "group": "チュートリアル", + "pages": [ + "l/ja/developers/extend/apps/tutorials/document-generator/overview", + "l/ja/developers/extend/apps/tutorials/document-generator/data-model", + "l/ja/developers/extend/apps/tutorials/document-generator/generating-documents", + "l/ja/developers/extend/apps/tutorials/document-generator/http-routes", + "l/ja/developers/extend/apps/tutorials/document-generator/building-the-ui", + "l/ja/developers/extend/apps/tutorials/document-generator/ai-agent", + "l/ja/developers/extend/apps/tutorials/document-generator/publishing" + ] + }, { "group": "設定", "pages": [ @@ -3917,6 +4001,18 @@ "l/ko/developers/extend/apps/getting-started/troubleshooting" ] }, + { + "group": "튜토리얼", + "pages": [ + "l/ko/developers/extend/apps/tutorials/document-generator/overview", + "l/ko/developers/extend/apps/tutorials/document-generator/data-model", + "l/ko/developers/extend/apps/tutorials/document-generator/generating-documents", + "l/ko/developers/extend/apps/tutorials/document-generator/http-routes", + "l/ko/developers/extend/apps/tutorials/document-generator/building-the-ui", + "l/ko/developers/extend/apps/tutorials/document-generator/ai-agent", + "l/ko/developers/extend/apps/tutorials/document-generator/publishing" + ] + }, { "group": "설정", "pages": [ @@ -4357,6 +4453,18 @@ "l/pt/developers/extend/apps/getting-started/troubleshooting" ] }, + { + "group": "Tutorial", + "pages": [ + "l/pt/developers/extend/apps/tutorials/document-generator/overview", + "l/pt/developers/extend/apps/tutorials/document-generator/data-model", + "l/pt/developers/extend/apps/tutorials/document-generator/generating-documents", + "l/pt/developers/extend/apps/tutorials/document-generator/http-routes", + "l/pt/developers/extend/apps/tutorials/document-generator/building-the-ui", + "l/pt/developers/extend/apps/tutorials/document-generator/ai-agent", + "l/pt/developers/extend/apps/tutorials/document-generator/publishing" + ] + }, { "group": "Configuração", "pages": [ @@ -4797,6 +4905,18 @@ "l/ro/developers/extend/apps/getting-started/troubleshooting" ] }, + { + "group": "Tutorial", + "pages": [ + "l/ro/developers/extend/apps/tutorials/document-generator/overview", + "l/ro/developers/extend/apps/tutorials/document-generator/data-model", + "l/ro/developers/extend/apps/tutorials/document-generator/generating-documents", + "l/ro/developers/extend/apps/tutorials/document-generator/http-routes", + "l/ro/developers/extend/apps/tutorials/document-generator/building-the-ui", + "l/ro/developers/extend/apps/tutorials/document-generator/ai-agent", + "l/ro/developers/extend/apps/tutorials/document-generator/publishing" + ] + }, { "group": "Configurare", "pages": [ @@ -5671,6 +5791,18 @@ "l/tr/developers/extend/apps/getting-started/troubleshooting" ] }, + { + "group": "Öğretici", + "pages": [ + "l/tr/developers/extend/apps/tutorials/document-generator/overview", + "l/tr/developers/extend/apps/tutorials/document-generator/data-model", + "l/tr/developers/extend/apps/tutorials/document-generator/generating-documents", + "l/tr/developers/extend/apps/tutorials/document-generator/http-routes", + "l/tr/developers/extend/apps/tutorials/document-generator/building-the-ui", + "l/tr/developers/extend/apps/tutorials/document-generator/ai-agent", + "l/tr/developers/extend/apps/tutorials/document-generator/publishing" + ] + }, { "group": "Yapılandırma", "pages": [ @@ -6111,6 +6243,18 @@ "l/zh/developers/extend/apps/getting-started/troubleshooting" ] }, + { + "group": "教程", + "pages": [ + "l/zh/developers/extend/apps/tutorials/document-generator/overview", + "l/zh/developers/extend/apps/tutorials/document-generator/data-model", + "l/zh/developers/extend/apps/tutorials/document-generator/generating-documents", + "l/zh/developers/extend/apps/tutorials/document-generator/http-routes", + "l/zh/developers/extend/apps/tutorials/document-generator/building-the-ui", + "l/zh/developers/extend/apps/tutorials/document-generator/ai-agent", + "l/zh/developers/extend/apps/tutorials/document-generator/publishing" + ] + }, { "group": "配置", "pages": [ diff --git a/packages/twenty-docs/l/ar/developers/extend/apps/tutorials/document-generator/ai-agent.mdx b/packages/twenty-docs/l/ar/developers/extend/apps/tutorials/document-generator/ai-agent.mdx new file mode 100644 index 0000000000..a9c7a9d36d --- /dev/null +++ b/packages/twenty-docs/l/ar/developers/extend/apps/tutorials/document-generator/ai-agent.mdx @@ -0,0 +1,80 @@ +--- +title: 5. An AI agent +icon: robot +description: السماح لوكيل بتوليد مستندات من محادثة، باستخدام أداتك. +--- + +لأن `وثيقة توليد الطاقة` مكشوفة كـ **أداة**، يمكن لوكيل الذكاء الاصطناعي أن يطلق عليها. +دعونا نضيف وكيلا ومهارة حتى يمكن للمستخدمين أن يقولوا فقط *"إنشاء اقتراح لـ +Jeffery Griffin"*. + +## المهارة + +A [skill](/l/ar/developers/extend/apps/logic/skills-and-agents) قابل لإعادة الاستخدام- المعرفة التي تربطها بالوكلاء. علمنا النموذج كيفية استخدام + الأداة. + +```ts filename="src/skills/document-drafting.skill.ts" +import { defineSkill } from 'twenty-sdk/define'; + +export default defineSkill({ + universalIdentifier: DOCUMENT_SKILL_UNIVERSAL_IDENTIFIER, + name: 'document-drafting', + label: 'Document drafting', + icon: 'IconFileText', + content: [ + 'To generate a document, call the `generate-document` tool with:', + '- `templateId`: the id of the document template to use.', + '- `recordId`: the id of the Person or Company the document is for.', + '', + 'If the user names a template or person instead of an id, find the record first,', + 'then pass its id. Make sure the template target matches the record type.', + ].join('\n'), +}); +``` + +## الوكيل + +[agent](/l/ar/developers/extend/apps/logic/skills-and-agents) يزوج موجه مع نموذج +. تعيين 'استمارة الاستجابة' بشكل صريح لتجنب تحذير البناء. + +```ts filename="src/agents/document-assistant.agent.ts" +import { defineAgent } from 'twenty-sdk/define'; + +export default defineAgent({ + universalIdentifier: DOCUMENT_AGENT_UNIVERSAL_IDENTIFIER, + name: 'document-assistant', + label: 'Document Assistant', + description: 'Generates documents from your templates and CRM records.', + icon: 'IconFileText', + responseFormat: { type: 'text' }, + prompt: [ + 'You are the Document Assistant for a CRM.', + 'You help users generate personalized documents from reusable templates', + 'and the data already in their CRM. Use the generate-document tool, and', + 'always confirm what you created.', + ].join(' '), +}); +``` + + +ولا يمكن للوكيل الاتصال بالأداة إلا إذا كان دوره يسمح بذلك. لقد قمنا بالفعل بتعيين +'cancessAllTools: true' و 'canBeAssignedToAgents: true' على دور التطبيق في +[الفصل 2](/l/ar/developers/extend/apps/tutorials/document-generator/generating-documents#grant-it-access). + + +## جرب ذلك + +افتح محادثة مع **مساعد مستندات** واطلب منها إعداد وثيقة لشخص +في إدارة علاقات العملاء الخاصة بك. يجد السجل، يستدعي `generate-document`، ويُرجِع +المستند الذي أنشأه — الذي يظهر الآن في عرض **Documents** لديك، +تمامًا مثل مسارات قائمة الأوامر وسير العمل. + +هذه هي ثمرة كشف المنطق كأداة: **دالة واحدة، والعديد من نقاط الدخول** — +قائمة الأوامر، وHTTP، وخطوة سير العمل، والآن اللغة الطبيعية. + +**بعد هذه الخطوة:** التطبيق كامل الميزة ومفيد حقا. حان الوقت +لإطلاقه. + + + إضافة بيانات التعريف للسوق والنشر. + diff --git a/packages/twenty-docs/l/ar/developers/extend/apps/tutorials/document-generator/building-the-ui.mdx b/packages/twenty-docs/l/ar/developers/extend/apps/tutorials/document-generator/building-the-ui.mdx new file mode 100644 index 0000000000..28eeb08ad9 --- /dev/null +++ b/packages/twenty-docs/l/ar/developers/extend/apps/tutorials/document-generator/building-the-ui.mdx @@ -0,0 +1,294 @@ +--- +title: 4. بناء واجهة المستخدم +icon: table-columns +description: المشاهدة، الملاحة الجانبية، الأوامر، والمكونات الأمامية. +--- + +الآن يمكن الوصول إلى الكائنات فقط من خلال الإعدادات. لنمنح التطبيق حضورًا حقيقيًا في واجهة المستخدم: عروض قائمة، وعناصر في الشريط الجانبي، وأمر **Generate document** بنقرة واحدة، ومكوّن واجهة أمامية في صفحة السجل لِـ**preview** مستند، وعلامة تبويب **editor** نصيّة منسّقة (rich-text) أصلية للقوالب. + +## وجهات النظر والملاحة + +A [view](/l/ar/developers/extend/apps/layout/views) هي قائمة محفوظة لكائن معين. +ويضع [عنصر قائمة التنقل](/l/ar/developers/extend/apps/layout/navigation-menu-items) +هذا العرض في الشريط الجانبي. + +```ts filename="src/views/documents.view.ts" +import { defineView, ViewKey } from 'twenty-sdk/define'; + +export default defineView({ + universalIdentifier: DOCUMENTS_VIEW_UNIVERSAL_IDENTIFIER, + name: 'All documents', + objectUniversalIdentifier: DOCUMENT_OBJECT_UNIVERSAL_IDENTIFIER, + icon: 'IconFile', + key: ViewKey.INDEX, + position: 0, + fields: [ + { universalIdentifier: DOCUMENTS_VIEW_NAME_FIELD_UNIVERSAL_IDENTIFIER, + fieldMetadataUniversalIdentifier: DOCUMENT_NAME_FIELD_UNIVERSAL_IDENTIFIER, + position: 0, isVisible: true, size: 280 }, + { universalIdentifier: DOCUMENTS_VIEW_STATUS_FIELD_UNIVERSAL_IDENTIFIER, + fieldMetadataUniversalIdentifier: DOCUMENT_STATUS_FIELD_UNIVERSAL_IDENTIFIER, + position: 1, isVisible: true, size: 120 }, + { universalIdentifier: DOCUMENTS_VIEW_TEMPLATE_FIELD_UNIVERSAL_IDENTIFIER, + fieldMetadataUniversalIdentifier: DOCUMENT_TEMPLATE_FIELD_UNIVERSAL_IDENTIFIER, + position: 2, isVisible: true, size: 200 }, + ], +}); +``` + +```ts filename="src/navigation-menu-items/documents.navigation-menu-item.ts" +import { defineNavigationMenuItem, NavigationMenuItemType } from 'twenty-sdk/define'; + +export default defineNavigationMenuItem({ + universalIdentifier: DOCUMENTS_NAVIGATION_MENU_ITEM_UNIVERSAL_IDENTIFIER, + name: 'Documents', + icon: 'IconFile', + color: 'green', + position: 1, + type: NavigationMenuItemType.VIEW, + viewUniversalIdentifier: DOCUMENTS_VIEW_UNIVERSAL_IDENTIFIER, +}); +``` + +أضف نفس زوج للنماذج. ويظهر كلاهما الآن في الشريط الجانبي: + + + المستندات المعروضة مع مستند تم إنشاؤه + + +## مكون أمامي + +[مكون أمامي](/l/ar/developers/extend/apps/layout/front-components) هو مكون React +مربع رملي داخل عشرين. يقرأ السجل المحدد، يحمّل قوالب الشخص +عبر `CoreApiClient`، و POSTs إلى المسار من الفصل +الأخير. + +```tsx filename="src/front-components/generate-document-form.front-component.tsx" +import { useEffect, useState } from 'react'; +import { CoreApiClient } from 'twenty-client-sdk/core'; +import { defineFrontComponent } from 'twenty-sdk/define'; +import { enqueueSnackbar, useSelectedRecordIds } from 'twenty-sdk/front-component'; + +const GenerateDocumentForm = () => { + const selectedRecordIds = useSelectedRecordIds(); + const recordId = selectedRecordIds.length === 1 ? selectedRecordIds[0] : null; + const [templates, setTemplates] = useState<{ id: string; name: string }[]>([]); + const [templateId, setTemplateId] = useState(''); + + useEffect(() => { + new CoreApiClient() + .query({ documentTemplates: { + __args: { filter: { target: { eq: 'PERSON' } }, first: 100 }, + edges: { node: { id: true, name: true } } } }) + .then(({ documentTemplates }) => { + const list = documentTemplates?.edges?.map((e) => e.node) ?? []; + setTemplates(list); + if (list[0]) setTemplateId(list[0].id); + }); + }, []); + + const generate = async () => { + const apiBaseUrl = process.env.TWENTY_API_URL; + const token = process.env.TWENTY_APP_ACCESS_TOKEN ?? process.env.TWENTY_API_KEY; + const res = await fetch(`${apiBaseUrl}/s/documents/generate`, { + method: 'POST', + headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${token}` }, + body: JSON.stringify({ templateId, recordId }), + }).then((r) => r.json()); + await enqueueSnackbar({ + message: res.success ? 'Document generated.' : 'Generation failed.', + variant: res.success ? 'success' : 'error', + }); + }; + + // ...render a of templates and a Generate button +}; + +export default defineFrontComponent({ + universalIdentifier: GENERATE_DOCUMENT_FORM_FRONT_COMPONENT_UNIVERSAL_IDENTIFIER, + name: 'generate-document-form', + component: GenerateDocumentForm, +}); +``` + + +Styl s inline CSS proměnnými (`var(--t-color-blue)`), ne hodnoty importované z +`twenty-ui`. SDK mocniny, které balí během sestavení, takže importy +téma na úrovni modulů by byly `nedefinované`. Podívejte se na +[plnou komponentu](https://github.com/twentyhq/twenty/blob/main/packages/twenty-apps/examples/document-generator/src/front-components/generate-document-form.front-component.tsx). + + +## Příkaz k otevření + +[položka příkazu](/l/cs/developers/extend/apps/layout/command-menu-items) s +`availabilityType: 'RECORD_SELECTION'` se zobrazí při výběru osoby, a +otevře komponentu v postranním panelu. + +```ts filename="src/command-menu-items/generate-document.command-menu-item.ts" +import { defineCommandMenuItem, STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS } from 'twenty-sdk/define'; + +export default defineCommandMenuItem({ + universalIdentifier: GENERATE_DOCUMENT_COMMAND_UNIVERSAL_IDENTIFIER, + label: 'Generate document', + availabilityType: 'RECORD_SELECTION', + availabilityObjectUniversalIdentifier: + STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS.person.universalIdentifier, + frontComponentUniversalIdentifier: + GENERATE_DOCUMENT_FORM_FRONT_COMPONENT_UNIVERSAL_IDENTIFIER, +}); +``` + +## Vyzkoušejte celý tok + +Otevřete **People**, zaškrtněte osobu a stiskněte ⌘K / Ctrl K. +"Generovat doklad" se zobrazí, označeno vaší aplikací: + + + Příkazové menu s generováním dokumentu + + +Spusťte - komponenta se otevře v postranním panelu. Vyberte si šablonu, klikněte na +**Generovat**, a nový záznam země v **dokumentech**. + + + Generovat boční panel dokumentu + + +Každý vygenerovaný dokument zaznamenává vaši aplikaci jako autora: + + + Generovaný záznam dokladu + + +## Náhled dokumentu na jeho stránce s záznamem + +Přední komponenta není pouze pro menu příkazů — jeden můžete připojit jako \*\*kartu na stránce +záznamu \*\*. Přidejme kartu \*Náhled \* k záznamu dokumentu, která vykreslí +Markdown tělo jako leštěnou, vytisknutelnou stránku. + +Komponenta čte aktuální id záznamu z kontextového kontextu, načte +dokument a vykreslí jej. Přední komponenty běží v **sandboxu**, který povoluje pouze +bílou listinu HTML tagů — syrovou injekci HTML (`dangerouslySetInnerHTML`) a +`\