feat(messages): add interactive banners for detailed prompts

This commit is contained in:
Fatih Kadir Akın
2026-01-11 22:59:00 +03:00
parent 4c393eb4b7
commit 3cdc364a14
18 changed files with 381 additions and 4 deletions
+15
View File
@@ -128,6 +128,15 @@
"noTagsFound": "لم يتم العثور على وسوم",
"promptContributors": "المساهمون",
"contributorsDescription": "المستخدمون الآخرون الذين ساعدوا في كتابة هذا الأمر. يتم إضافة المستخدمين الذين تمت الموافقة على طلبات التغيير الخاصة بهم تلقائياً.",
"worksBestWithModels": "يعمل بشكل أفضل مع",
"worksBestWithModelsDescription": "نماذج الذكاء الاصطناعي التي يعمل معها هذا الأمر بشكل أفضل (الحد الأقصى 3)",
"selectModel": "اختر نموذجاً...",
"worksBestWithMCP": "خوادم MCP",
"worksBestWithMCPDescription": "خوادم وأدوات MCP التي يعمل معها هذا الأمر",
"mcpCommandPlaceholder": "npx -y @mcp/server-name",
"mcpToolsPlaceholder": "tool1, tool2",
"add": "إضافة",
"advancedOptions": "خيارات متقدمة",
"searchContributors": "البحث بواسطة اسم المستخدم...",
"noUsersFound": "لم يتم العثور على مستخدمين",
"worksBestWith": "يعمل بشكل أفضل مع",
@@ -1170,6 +1179,12 @@
"promptWritingGuide": {
"title": "كيفية كتابة أوامر رائعة",
"subtitle": "نصائح وأمثلة وأفضل الممارسات لإنشاء أوامر ذكاء اصطناعي فعالة",
"interactiveBanner": {
"badge": "النسخة التفاعلية متاحة",
"title": "هل تريد تجربة أكثر تفصيلاً وتفاعلية؟",
"description": "تعمق أكثر مع دليلنا التفاعلي الشامل الذي يضم 25 فصلاً وتمارين عملية وأمثلة من الواقع لإتقان كتابة الأوامر.",
"cta": "اقرأ الكتاب التفاعلي"
},
"generalTips": {
"title": "نصائح عامة للأوامر الفعالة",
"beSpecific": {
+15
View File
@@ -128,6 +128,15 @@
"noTagsFound": "Etiket tapılmadı",
"promptContributors": "Töhfə verənlər",
"contributorsDescription": "Bu promptu yazmağa kömək edən digər istifadəçilər. Dəyişiklik sorğuları təsdiqlənən istifadəçilər avtomatik əlavə olunur.",
"worksBestWithModels": "Ən Yaxşı İşləyir",
"worksBestWithModelsDescription": "Bu promptun ən yaxşı işlədiyi AI modelləri (maks 3)",
"selectModel": "Model seçin...",
"worksBestWithMCP": "MCP Serverləri",
"worksBestWithMCPDescription": "Bu promptun işlədiyi MCP serverləri və alətləri",
"mcpCommandPlaceholder": "npx -y @mcp/server-name",
"mcpToolsPlaceholder": "tool1, tool2",
"add": "Əlavə et",
"advancedOptions": "Təkmılləşdirilmiş Seçimlər",
"searchContributors": "İstifadəçi adına görə axtar...",
"noUsersFound": "İstifadəçi tapılmadı",
"worksBestWith": "Ən yaxşı işləyir",
@@ -1170,6 +1179,12 @@
"promptWritingGuide": {
"title": "Əla Promptlar Necə Yazılır",
"subtitle": "Effektiv AI promptları yaratmaq üçün məsləhətlər, nümunələr və ən yaxşı təcrübələr",
"interactiveBanner": {
"badge": "İnteraktiv Versiya Mövcuddur",
"title": "Daha Ətraflı və İnteraktiv Təcrübə İstəyirsiniz?",
"description": "25 fəsil, praktiki təmrinlər və real dünya nümunələri ilə hərtarafəli interaktiv rəhbərimizlə AI prompt yazmağı mənimsaəyin.",
"cta": "İnteraktiv Kitabı Oxuyun"
},
"generalTips": {
"title": "Effektiv Promptlar üçün Ümumi Məsləhətlər",
"beSpecific": {
+16 -1
View File
@@ -127,7 +127,16 @@
"searchTags": "Tags suchen...",
"noTagsFound": "Keine Tags gefunden",
"promptContributors": "Mitwirkende",
"contributorsDescription": "Andere Benutzer, die bei diesem Prompt mitgeholfen haben. Benutzer, deren Änderungsanfragen genehmigt werden, werden automatisch hinzugefügt.",
"contributorsDescription": "Andere Benutzer, die beim Schreiben dieses Prompts geholfen haben. Benutzer, deren Änderungsanfragen genehmigt werden, werden automatisch hinzugefügt.",
"worksBestWithModels": "Funktioniert Am Besten Mit",
"worksBestWithModelsDescription": "KI-Modelle, mit denen dieser Prompt am besten funktioniert (max. 3)",
"selectModel": "Modell auswählen...",
"worksBestWithMCP": "MCP-Server",
"worksBestWithMCPDescription": "MCP-Server und Tools, mit denen dieser Prompt funktioniert",
"mcpCommandPlaceholder": "npx -y @mcp/server-name",
"mcpToolsPlaceholder": "tool1, tool2",
"add": "Hinzufügen",
"advancedOptions": "Erweiterte Optionen",
"searchContributors": "Nach Benutzernamen suchen...",
"noUsersFound": "Keine Benutzer gefunden",
"worksBestWith": "Funktioniert am besten mit",
@@ -1170,6 +1179,12 @@
"promptWritingGuide": {
"title": "Wie Man Gute Prompts Schreibt",
"subtitle": "Tipps, Beispiele und Best Practices für effektive KI-Prompts",
"interactiveBanner": {
"badge": "Interaktive Version Verfügbar",
"title": "Möchten Sie ein detaillierteres und interaktives Erlebnis?",
"description": "Tauchen Sie tiefer ein mit unserem umfassenden interaktiven Leitfaden mit 25 Kapiteln, praktischen Übungen und Beispielen aus der Praxis.",
"cta": "Das interaktive Buch lesen"
},
"generalTips": {
"title": "Allgemeine Tipps für Effektive Prompts",
"beSpecific": {
+15
View File
@@ -128,6 +128,15 @@
"noTagsFound": "Δεν βρέθηκαν ετικέτες",
"promptContributors": "Συνεισφέροντες",
"contributorsDescription": "Άλλοι χρήστες που βοήθησαν στη σύνταξη αυτού του prompt. Οι χρήστες των οποίων οι αιτήσεις αλλαγής εγκρίθηκαν προστίθενται αυτόματα.",
"worksBestWithModels": "Λειτουργεί Καλύτερα Με",
"worksBestWithModelsDescription": "Μοντέλα AI με τα οποία αυτό το prompt λειτουργεί καλύτερα (μέγιστο 3)",
"selectModel": "Επιλέξτε μοντέλο...",
"worksBestWithMCP": "Διακομιστές MCP",
"worksBestWithMCPDescription": "Διακομιστές και εργαλεία MCP με τα οποία λειτουργεί αυτό το prompt",
"mcpCommandPlaceholder": "npx -y @mcp/server-name",
"mcpToolsPlaceholder": "tool1, tool2",
"add": "Προσθήκη",
"advancedOptions": "Προχωρημένες Επιλογές",
"searchContributors": "Αναζήτηση με όνομα χρήστη...",
"noUsersFound": "Δεν βρέθηκαν χρήστες",
"worksBestWith": "Λειτουργεί καλύτερα με",
@@ -1170,6 +1179,12 @@
"promptWritingGuide": {
"title": "Πώς να Γράφετε Εξαιρετικά Prompts",
"subtitle": "Συμβουλές, παραδείγματα και βέλτιστες πρακτικές για τη δημιουργία αποτελεσματικών AI prompts",
"interactiveBanner": {
"badge": "Διαδραστική Έκδοση Διαθέσιμη",
"title": "Θέλετε μια πιο λεπτομερή και διαδραστική εμπειρία;",
"description": "Εμβαθύνετε με τον πλήρη διαδραστικό οδηγό μας με 25 κεφάλαια, πρακτικές ασκήσεις και παραδείγματα από τον πραγματικό κόσμο για να κατακτήσετε τα AI prompts.",
"cta": "Διαβάστε το Διαδραστικό Βιβλίο"
},
"generalTips": {
"title": "Γενικές Συμβουλές για Αποτελεσματικά Prompts",
"beSpecific": {
+6
View File
@@ -1179,6 +1179,12 @@
"promptWritingGuide": {
"title": "How to Write Great Prompts",
"subtitle": "Tips, examples, and best practices for creating effective AI prompts",
"interactiveBanner": {
"badge": "Interactive Version Available",
"title": "Want a More Detailed & Interactive Experience?",
"description": "Dive deeper with our comprehensive interactive guide featuring 25 chapters, hands-on exercises, and real-world examples to master AI prompting.",
"cta": "Read the Interactive Book"
},
"generalTips": {
"title": "General Tips for Effective Prompts",
"beSpecific": {
+16 -1
View File
@@ -124,7 +124,16 @@
"searchTags": "Buscar etiquetas...",
"noTagsFound": "No se encontraron etiquetas",
"promptContributors": "Colaboradores",
"contributorsDescription": "Otros usuarios que ayudaron a escribir este prompt. Los usuarios cuyas solicitudes de cambio son aprobadas se añaden automáticamente.",
"contributorsDescription": "Otros usuarios que ayudaron a escribir este prompt. Los usuarios cuyas solicitudes de cambio son aprobadas se agregan automáticamente.",
"worksBestWithModels": "Funciona Mejor Con",
"worksBestWithModelsDescription": "Modelos de IA con los que este prompt funciona mejor (máx 3)",
"selectModel": "Seleccionar modelo...",
"worksBestWithMCP": "Servidores MCP",
"worksBestWithMCPDescription": "Servidores y herramientas MCP con los que funciona este prompt",
"mcpCommandPlaceholder": "npx -y @mcp/server-name",
"mcpToolsPlaceholder": "tool1, tool2",
"add": "Añadir",
"advancedOptions": "Opciones Avanzadas",
"searchContributors": "Buscar por nombre de usuario...",
"noUsersFound": "No se encontraron usuarios",
"worksBestWith": "Funciona mejor con",
@@ -1170,6 +1179,12 @@
"promptWritingGuide": {
"title": "Cómo Escribir Buenos Prompts",
"subtitle": "Consejos, ejemplos y mejores prácticas para crear prompts de IA efectivos",
"interactiveBanner": {
"badge": "Versión Interactiva Disponible",
"title": "¿Quieres una Experiencia Más Detallada e Interactiva?",
"description": "Profundiza con nuestra guía interactiva completa con 25 capítulos, ejercicios prácticos y ejemplos del mundo real para dominar los prompts de IA.",
"cta": "Leer el Libro Interactivo"
},
"generalTips": {
"title": "Consejos Generales para Prompts Efectivos",
"beSpecific": {
+15
View File
@@ -128,6 +128,15 @@
"noTagsFound": "برچسبی یافت نشد",
"promptContributors": "مشارکت‌کنندگان",
"contributorsDescription": "کاربران دیگری که در نوشتن این پرامپت کمک کردند. کاربرانی که درخواست تغییراتشان تأیید می‌شود به صورت خودکار اضافه می‌شوند.",
"worksBestWithModels": "بهترین عملکرد با",
"worksBestWithModelsDescription": "مدل‌های هوش مصنوعی که این پرامپت با آن‌ها بهترین عملکرد را دارد (حداکثر ۳)",
"selectModel": "انتخاب مدل...",
"worksBestWithMCP": "سرورهای MCP",
"worksBestWithMCPDescription": "سرورها و ابزارهای MCP که این پرامپت با آن‌ها کار می‌کند",
"mcpCommandPlaceholder": "npx -y @mcp/server-name",
"mcpToolsPlaceholder": "tool1, tool2",
"add": "اضافه",
"advancedOptions": "گزینه‌های پیشرفته",
"searchContributors": "جستجو بر اساس نام کاربری...",
"noUsersFound": "کاربری یافت نشد",
"worksBestWith": "بهترین عملکرد با",
@@ -1170,6 +1179,12 @@
"promptWritingGuide": {
"title": "چگونه پرامپت‌های عالی بنویسیم",
"subtitle": "نکات، مثال‌ها و بهترین روش‌ها برای ایجاد پرامپت‌های مؤثر هوش مصنوعی",
"interactiveBanner": {
"badge": "نسخه تعاملی موجود است",
"title": "می‌خواهید تجربه‌ای دقیق‌تر و تعاملی‌تر داشته باشید؟",
"description": "با راهنمای تعاملی جامع ما شامل ۲۵ فصل، تمرین‌های عملی و مثال‌های واقعی، در نوشتن پرامپت‌های هوش مصنوعی مهارت پیدا کنید.",
"cta": "کتاب تعاملی را بخوانید"
},
"generalTips": {
"title": "نکات کلی برای پرامپت‌های مؤثر",
"beSpecific": {
+15
View File
@@ -128,6 +128,15 @@
"noTagsFound": "Aucun tag trouvé",
"promptContributors": "Contributeurs",
"contributorsDescription": "Autres utilisateurs qui ont aidé à écrire ce prompt. Les utilisateurs dont les demandes de modification sont approuvées sont ajoutés automatiquement.",
"worksBestWithModels": "Fonctionne Mieux Avec",
"worksBestWithModelsDescription": "Modèles d'IA avec lesquels ce prompt fonctionne le mieux (max 3)",
"selectModel": "Sélectionner un modèle...",
"worksBestWithMCP": "Serveurs MCP",
"worksBestWithMCPDescription": "Serveurs et outils MCP avec lesquels ce prompt fonctionne",
"mcpCommandPlaceholder": "npx -y @mcp/server-name",
"mcpToolsPlaceholder": "tool1, tool2",
"add": "Ajouter",
"advancedOptions": "Options Avancées",
"searchContributors": "Rechercher par nom d'utilisateur...",
"noUsersFound": "Aucun utilisateur trouvé",
"worksBestWith": "Fonctionne mieux avec",
@@ -1170,6 +1179,12 @@
"promptWritingGuide": {
"title": "Comment Écrire de Bons Prompts",
"subtitle": "Conseils, exemples et meilleures pratiques pour créer des prompts IA efficaces",
"interactiveBanner": {
"badge": "Version Interactive Disponible",
"title": "Vous voulez une expérience plus détaillée et interactive ?",
"description": "Approfondissez avec notre guide interactif complet comprenant 25 chapitres, des exercices pratiques et des exemples concrets pour maîtriser les prompts IA.",
"cta": "Lire le Livre Interactif"
},
"generalTips": {
"title": "Conseils Généraux pour des Prompts Efficaces",
"beSpecific": {
+15
View File
@@ -128,6 +128,15 @@
"noTagsFound": "לא נמצאו תגיות",
"promptContributors": "תורמים",
"contributorsDescription": "משתמשים אחרים שעזרו לכתוב את הפרומפט הזה. משתמשים שבקשות השינוי שלהם אושרו מתווספים אוטומטית.",
"worksBestWithModels": "עובד הכי טוב עם",
"worksBestWithModelsDescription": "מודלי AI שהפרומפט הזה עובד איתם הכי טוב (מקסימום 3)",
"selectModel": "בחר מודל...",
"worksBestWithMCP": "שרתי MCP",
"worksBestWithMCPDescription": "שרתים וכלים של MCP שהפרומפט הזה עובד איתם",
"mcpCommandPlaceholder": "npx -y @mcp/server-name",
"mcpToolsPlaceholder": "tool1, tool2",
"add": "הוסף",
"advancedOptions": "אפשרויות מתקדמות",
"searchContributors": "חפש לפי שם משתמש...",
"noUsersFound": "לא נמצאו משתמשים",
"worksBestWith": "עובד הכי טוב עם",
@@ -1170,6 +1179,12 @@
"promptWritingGuide": {
"title": "איך לכתוב פרומפטים מעולים",
"subtitle": "טיפים, דוגמאות ושיטות עבודה מומלצות ליצירת פרומפטים יעילים לבינה מלאכותית",
"interactiveBanner": {
"badge": "גרסה אינטראקטיבית זמינה",
"title": "רוצים חוויה מפורטת ואינטראקטיבית יותר?",
"description": "העמיקו עם המדריך האינטראקטיבי המקיף שלנו הכולל 25 פרקים, תרגילים מעשיים ודוגמאות מהעולם האמיתי לשליטה בפרומפטים ל-AI.",
"cta": "קראו את הספר האינטראקטיבי"
},
"generalTips": {
"title": "טיפים כלליים לפרומפטים יעילים",
"beSpecific": {
+16 -1
View File
@@ -127,7 +127,16 @@
"searchTags": "Cerca tag...",
"noTagsFound": "Nessun tag trovato",
"promptContributors": "Contributori",
"contributorsDescription": "Altri utenti che hanno contribuito a scrivere questo prompt. Gli utenti le cui richieste di modifica sono approvate vengono aggiunti automaticamente.",
"contributorsDescription": "Altri utenti che hanno contribuito a scrivere questo prompt. Gli utenti le cui richieste di modifica vengono approvate vengono aggiunti automaticamente.",
"worksBestWithModels": "Funziona Meglio Con",
"worksBestWithModelsDescription": "Modelli AI con cui questo prompt funziona meglio (max 3)",
"selectModel": "Seleziona modello...",
"worksBestWithMCP": "Server MCP",
"worksBestWithMCPDescription": "Server e strumenti MCP con cui funziona questo prompt",
"mcpCommandPlaceholder": "npx -y @mcp/server-name",
"mcpToolsPlaceholder": "tool1, tool2",
"add": "Aggiungi",
"advancedOptions": "Opzioni Avanzate",
"searchContributors": "Cerca per nome utente...",
"noUsersFound": "Nessun utente trovato",
"worksBestWith": "Funziona meglio con",
@@ -1170,6 +1179,12 @@
"promptWritingGuide": {
"title": "Come Scrivere Buoni Prompt",
"subtitle": "Suggerimenti, esempi e best practice per creare prompt IA efficaci",
"interactiveBanner": {
"badge": "Versione Interattiva Disponibile",
"title": "Vuoi un'Esperienza Più Dettagliata e Interattiva?",
"description": "Approfondisci con la nostra guida interattiva completa con 25 capitoli, esercizi pratici ed esempi reali per padroneggiare i prompt IA.",
"cta": "Leggi il Libro Interattivo"
},
"generalTips": {
"title": "Suggerimenti Generali per Prompt Efficaci",
"beSpecific": {
+15
View File
@@ -125,6 +125,15 @@
"noTagsFound": "タグが見つかりません",
"promptContributors": "コントリビューター",
"contributorsDescription": "このプロンプトの作成を手伝った他のユーザー。変更リクエストが承認されたユーザーは自動的に追加されます。",
"worksBestWithModels": "最適なモデル",
"worksBestWithModelsDescription": "このプロンプトが最も効果的なAIモデル(最大3つ)",
"selectModel": "モデルを選択...",
"worksBestWithMCP": "MCPサーバー",
"worksBestWithMCPDescription": "このプロンプトが動作するMCPサーバーとツール",
"mcpCommandPlaceholder": "npx -y @mcp/server-name",
"mcpToolsPlaceholder": "tool1, tool2",
"add": "追加",
"advancedOptions": "詳細オプション",
"searchContributors": "ユーザー名で検索...",
"noUsersFound": "ユーザーが見つかりません",
"worksBestWith": "最適なモデル",
@@ -1170,6 +1179,12 @@
"promptWritingGuide": {
"title": "優れたプロンプトの書き方",
"subtitle": "効果的なAIプロンプトを作成するためのヒント、例、ベストプラクティス",
"interactiveBanner": {
"badge": "インタラクティブ版が利用可能",
"title": "より詳細でインタラクティブな体験をお求めですか?",
"description": "25章、実践的な演習、実例を含む包括的なインタラクティブガイドで、AIプロンプトをマスターしましょう。",
"cta": "インタラクティブブックを読む"
},
"generalTips": {
"title": "効果的なプロンプトのための一般的なヒント",
"beSpecific": {
+15
View File
@@ -128,6 +128,15 @@
"noTagsFound": "태그를 찾을 수 없습니다",
"promptContributors": "기여자",
"contributorsDescription": "이 프롬프트 작성에 도움을 준 다른 사용자들입니다. 변경 요청이 승인된 사용자는 자동으로 추가됩니다.",
"worksBestWithModels": "최적의 모델",
"worksBestWithModelsDescription": "이 프롬프트가 가장 잘 작동하는 AI 모델 (최대 3개)",
"selectModel": "모델 선택...",
"worksBestWithMCP": "MCP 서버",
"worksBestWithMCPDescription": "이 프롬프트가 작동하는 MCP 서버 및 도구",
"mcpCommandPlaceholder": "npx -y @mcp/server-name",
"mcpToolsPlaceholder": "tool1, tool2",
"add": "추가",
"advancedOptions": "고급 옵션",
"searchContributors": "사용자명으로 검색...",
"noUsersFound": "사용자를 찾을 수 없습니다",
"worksBestWith": "최적의 모델",
@@ -1170,6 +1179,12 @@
"promptWritingGuide": {
"title": "좋은 프롬프트 작성법",
"subtitle": "효과적인 AI 프롬프트를 만들기 위한 팁, 예시, 모범 사례",
"interactiveBanner": {
"badge": "인터랙티브 버전 제공",
"title": "더 상세하고 인터랙티브한 경험을 원하시나요?",
"description": "25개 챕터, 실습 연습, 실제 예제가 포함된 종합 인터랙티브 가이드로 AI 프롬프트를 마스터하세요.",
"cta": "인터랙티브 북 읽기"
},
"generalTips": {
"title": "효과적인 프롬프트를 위한 일반 팁",
"beSpecific": {
+15
View File
@@ -128,6 +128,15 @@
"noTagsFound": "Nenhuma tag encontrada",
"promptContributors": "Contribuidores",
"contributorsDescription": "Outros usuários que ajudaram a escrever este prompt. Usuários cujas solicitações de alteração são aprovadas são adicionados automaticamente.",
"worksBestWithModels": "Funciona Melhor Com",
"worksBestWithModelsDescription": "Modelos de IA com os quais este prompt funciona melhor (máx 3)",
"selectModel": "Selecionar modelo...",
"worksBestWithMCP": "Servidores MCP",
"worksBestWithMCPDescription": "Servidores e ferramentas MCP com os quais este prompt funciona",
"mcpCommandPlaceholder": "npx -y @mcp/server-name",
"mcpToolsPlaceholder": "tool1, tool2",
"add": "Adicionar",
"advancedOptions": "Opções Avançadas",
"searchContributors": "Buscar por nome de usuário...",
"noUsersFound": "Nenhum usuário encontrado",
"worksBestWith": "Funciona melhor com",
@@ -1170,6 +1179,12 @@
"promptWritingGuide": {
"title": "Como Escrever Bons Prompts",
"subtitle": "Dicas, exemplos e melhores práticas para criar prompts de IA eficazes",
"interactiveBanner": {
"badge": "Versão Interativa Disponível",
"title": "Quer uma Experiência Mais Detalhada e Interativa?",
"description": "Aprofunde-se com nosso guia interativo completo com 25 capítulos, exercícios práticos e exemplos do mundo real para dominar prompts de IA.",
"cta": "Ler o Livro Interativo"
},
"generalTips": {
"title": "Dicas Gerais para Prompts Eficazes",
"beSpecific": {
+16 -1
View File
@@ -127,7 +127,16 @@
"searchTags": "Поиск тегов...",
"noTagsFound": "Теги не найдены",
"promptContributors": "Соавторы",
"contributorsDescription": "Другие пользователи, которые помогли написать этот промпт. Пользователи, чьи запросы на изменение одобрены, добавляются автоматически.",
"contributorsDescription": "Другие пользователи, которые помогли написать этот промпт. Пользователи, чьи запросы на изменения одобрены, добавляются автоматически.",
"worksBestWithModels": "Лучше всего работает с",
"worksBestWithModelsDescription": "AI-модели, с которыми этот промпт работает лучше всего (макс. 3)",
"selectModel": "Выбрать модель...",
"worksBestWithMCP": "MCP-серверы",
"worksBestWithMCPDescription": "MCP-серверы и инструменты, с которыми работает этот промпт",
"mcpCommandPlaceholder": "npx -y @mcp/server-name",
"mcpToolsPlaceholder": "tool1, tool2",
"add": "Добавить",
"advancedOptions": "Расширенные настройки",
"searchContributors": "Поиск по имени пользователя...",
"noUsersFound": "Пользователи не найдены",
"worksBestWith": "Лучше всего работает с",
@@ -1170,6 +1179,12 @@
"promptWritingGuide": {
"title": "Как писать отличные промпты",
"subtitle": "Советы, примеры и лучшие практики для создания эффективных AI-промптов",
"interactiveBanner": {
"badge": "Доступна интерактивная версия",
"title": "Хотите более детальный и интерактивный опыт?",
"description": "Погрузитесь глубже с нашим комплексным интерактивным руководством из 25 глав, практических упражнений и реальных примеров для мастерства в AI-промптах.",
"cta": "Читать интерактивную книгу"
},
"generalTips": {
"title": "Общие советы для эффективных промптов",
"beSpecific": {
+15
View File
@@ -128,6 +128,15 @@
"noTagsFound": "Etiket bulunamadı",
"promptContributors": "Katkıda Bulunanlar",
"contributorsDescription": "Bu prompt'u yazmanda yardımcı olan diğer kullanıcılar. Değişiklik isteğinde bulunup kabul edilenler otomatik eklenir.",
"worksBestWithModels": "En İyi Çalıştığı Modeller",
"worksBestWithModelsDescription": "Bu prompt'un en iyi çalıştığı AI modelleri (maks 3)",
"selectModel": "Model seç...",
"worksBestWithMCP": "MCP Sunucuları",
"worksBestWithMCPDescription": "Bu prompt'un çalıştığı MCP sunucuları ve araçları",
"mcpCommandPlaceholder": "npx -y @mcp/server-name",
"mcpToolsPlaceholder": "tool1, tool2",
"add": "Ekle",
"advancedOptions": "Gelişmiş Seçenekler",
"searchContributors": "Kullanıcı adına göre ara...",
"noUsersFound": "Kullanıcı bulunamadı",
"worksBestWith": "En iyi çalıştığı",
@@ -1170,6 +1179,12 @@
"promptWritingGuide": {
"title": "Harika Promptlar Nasıl Yazılır",
"subtitle": "Etkili AI promptları oluşturmak için ipuçları, örnekler ve en iyi uygulamalar",
"interactiveBanner": {
"badge": "İnteraktif Versiyon Mevcut",
"title": "Daha Detaylı ve İnteraktif Bir Deneyim mi İstiyorsunuz?",
"description": "25 bölüm, uygulamalı alıştırmalar ve gerçek dünya örnekleri içeren kapsamlı interaktif rehberimizle AI prompt yazımında ustalaşın.",
"cta": "İnteraktif Kitabı Oku"
},
"generalTips": {
"title": "Etkili Promptlar İçin Genel İpuçları",
"beSpecific": {
+15
View File
@@ -125,6 +125,15 @@
"noTagsFound": "未找到标签",
"promptContributors": "贡献者",
"contributorsDescription": "帮助编写此提示词的其他用户。变更请求被批准的用户会自动添加。",
"worksBestWithModels": "最佳适用模型",
"worksBestWithModelsDescription": "此提示词最适合的AI模型(最多3个)",
"selectModel": "选择模型...",
"worksBestWithMCP": "MCP服务器",
"worksBestWithMCPDescription": "此提示词适用的MCP服务器和工具",
"mcpCommandPlaceholder": "npx -y @mcp/server-name",
"mcpToolsPlaceholder": "tool1, tool2",
"add": "添加",
"advancedOptions": "高级选项",
"searchContributors": "按用户名搜索...",
"noUsersFound": "未找到用户",
"worksBestWith": "最适合",
@@ -1170,6 +1179,12 @@
"promptWritingGuide": {
"title": "如何写出优秀的提示词",
"subtitle": "创建有效 AI 提示词的技巧、示例和最佳实践",
"interactiveBanner": {
"badge": "互动版本已上线",
"title": "想要更详细的互动体验?",
"description": "通过我们包含25章内容、实践练习和真实案例的综合互动指南,深入掌握AI提示词技巧。",
"cta": "阅读互动电子书"
},
"generalTips": {
"title": "有效提示词的通用技巧",
"beSpecific": {
@@ -1,6 +1,7 @@
import { getTranslations } from "next-intl/server";
import { PromptWritingGuideContent } from "@/components/prompts/prompt-writing-guide-content";
import { LanguageSwitcher } from "@/components/prompts/language-switcher";
import { InteractiveBookBanner } from "@/components/prompts/interactive-book-banner";
export async function generateMetadata() {
const t = await getTranslations("promptWritingGuide");
@@ -15,6 +16,7 @@ export default async function HowToWriteEffectivePromptsPage() {
return (
<div className="container max-w-4xl py-8">
<InteractiveBookBanner />
<div className="mb-8">
<h1 className="text-3xl font-bold mb-2">{t("title")}</h1>
<p className="text-muted-foreground mb-4">{t("subtitle")}</p>
@@ -0,0 +1,144 @@
"use client";
import Link from "next/link";
import Image from "next/image";
import { ArrowRight, BookOpen, Sparkles } from "lucide-react";
import { useTranslations } from "next-intl";
import { Button } from "@/components/ui/button";
export function InteractiveBookBanner() {
const t = useTranslations("promptWritingGuide.interactiveBanner");
const BOOK_WIDTH = 120;
const BOOK_HEIGHT = 173;
const BOOK_DEPTH = 15;
return (
<div className="mb-8 border rounded-[var(--radius)] overflow-hidden bg-gradient-to-br from-primary/5 via-background to-primary/10 p-6">
<style>{`
@keyframes bookFlip {
0% { transform: rotateY(0deg); }
30% { transform: rotateY(18deg); }
50% { transform: rotateY(18deg); }
80% { transform: rotateY(-18deg); }
100% { transform: rotateY(-18deg); }
}
@keyframes bookReturn {
0% { transform: rotateY(-18deg); }
100% { transform: rotateY(0deg); }
}
@keyframes lightGlow {
0% { opacity: 0; }
30% { opacity: 0.25; }
50% { opacity: 0.2; }
80% { opacity: 0.35; }
100% { opacity: 0.3; }
}
@keyframes lightFade {
0% { opacity: 0.3; }
100% { opacity: 0; }
}
.banner-book-3d-anim {
animation: bookReturn 0.5s ease-out forwards;
}
.banner-book-3d-anim:hover {
animation: bookFlip 2.5s ease-in-out forwards;
}
.banner-light-anim {
animation: lightFade 0.5s ease-out forwards;
}
.banner-book-3d-anim:hover .banner-light-anim {
animation: lightGlow 2.5s ease-in-out forwards;
}
`}</style>
<div className="flex flex-col sm:flex-row items-center gap-6">
{/* 3D Book */}
<Link
href="https://fka.gumroad.com/l/art-of-chatgpt-prompting"
className="shrink-0"
style={{ perspective: "800px" }}
>
<div
className="banner-book-3d-anim relative"
style={{
width: BOOK_WIDTH,
height: BOOK_HEIGHT,
transformStyle: "preserve-3d",
}}
>
{/* FRONT: Book Cover */}
<div className="absolute inset-0 rounded-sm shadow-xl overflow-hidden hover:shadow-2xl transition-shadow duration-300">
<Image
src="/book-cover.jpg"
alt="The Interactive Book of Prompting"
fill
className="object-cover"
/>
{/* Subtle radial light glow from top-right */}
<div
className="banner-light-anim absolute inset-0 pointer-events-none"
style={{
background:
"radial-gradient(ellipse at 85% 15%, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0.1) 30%, transparent 60%)",
}}
/>
</div>
{/* Drop shadow under book */}
<div className="absolute -bottom-3 left-1/2 -translate-x-1/2 w-16 h-3 bg-black/20 blur-md rounded-full opacity-50" />
{/* RIGHT: Pages edge */}
<div
className="absolute top-0"
style={{
width: BOOK_DEPTH,
height: BOOK_HEIGHT,
right: 0,
transform: "rotateY(-90deg)",
transformOrigin: "right center",
background:
"repeating-linear-gradient(to bottom, #f8f8f8 0px, #e0e0e0 1px, #f8f8f8 2px)",
}}
/>
{/* LEFT: Spine edge */}
<div
className="absolute top-0 rounded-l-sm"
style={{
width: BOOK_DEPTH,
height: BOOK_HEIGHT,
left: 0,
transform: "rotateY(90deg)",
transformOrigin: "left center",
background: "linear-gradient(to right, #1a3535, #234848)",
}}
/>
</div>
</Link>
{/* Content */}
<div className="flex-1 text-center sm:text-left">
<div className="flex items-center justify-center sm:justify-start gap-2 mb-2">
<Sparkles className="h-4 w-4 text-primary" />
<span className="text-xs font-medium text-primary uppercase tracking-wide">
{t("badge")}
</span>
</div>
<h2 className="text-xl font-semibold mb-2">
{t("title")}
</h2>
<p className="text-sm text-muted-foreground mb-4">
{t("description")}
</p>
<Button asChild size="sm">
<Link href="https://fka.gumroad.com/l/art-of-chatgpt-prompting">
<BookOpen className="mr-2 h-4 w-4" />
{t("cta")}
<ArrowRight className="ml-2 h-4 w-4" />
</Link>
</Button>
</div>
</div>
</div>
);
}