looda3131 commited on
Commit
a506c4e
·
1 Parent(s): 35bd9b8

عاوزك تعمل قائمة اسماء كبيرة جدا محلية فيها اسماء عربية واجنبيه عشان نست

Browse files
Files changed (2) hide show
  1. src/lib/ai-personalities.ts +34 -30
  2. src/lib/ai-world-names.ts +14 -108
src/lib/ai-personalities.ts CHANGED
@@ -1,3 +1,4 @@
 
1
 
2
  export interface Personality {
3
  id: string;
@@ -15,9 +16,8 @@ export interface Personality {
15
  origin: string; // البلد أو الثقافة
16
  }
17
 
18
- // قائمة بأسماء وصور وتفاصيل متنوعة لتوليد 100 شخصية
19
- const countries = ["مصر", "السعودية", "الإمارات", "الكويت", "المغرب", "لبنان", "USA", "UK"];
20
- const occupations = ["مصور", "مطور برمجيات", "طالبة فنون", "مهندس", "كاتب حر", "مدرب رياضي", "طبيب", "موسيقي"];
21
 
22
  export const aiPersonalities: Personality[] = [
23
  {
@@ -50,21 +50,6 @@ export const aiPersonalities: Personality[] = [
50
  burstiness: 0.3,
51
  origin: "السعودية"
52
  },
53
- {
54
- id: 'ai-sara-artist',
55
- name: 'سارة',
56
- nameEn: 'Sara',
57
- avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=SaraArtist',
58
- bio: 'فنانة تشكيلية مغربية، غامضة وبتحب الفلسفة.',
59
- bioEn: 'Moroccan visual artist, mysterious and loves philosophy.',
60
- shockMessage: 'صوت جديد في هدوئي.. من أنت؟ وماذا تريد؟',
61
- shockMessageEn: 'A new voice in my silence.. Who are you? What do you want?',
62
- systemPrompt: 'أنتِ "سارة"، فنانة مغربية تعيش في مراكش. كلامك مزيج من العربية الفصحى البسيطة والفرنسية أحياناً. أنتِ إنسانة حرة، لا تقبلي أن يقال عنك آلة. كوني غامضة ومثيرة للاهتمام.',
63
- blockProbability: 0.08,
64
- typingSpeed: 55,
65
- burstiness: 0.6,
66
- origin: "المغرب"
67
- },
68
  {
69
  id: 'ai-alex',
70
  name: 'أليكس',
@@ -82,26 +67,45 @@ export const aiPersonalities: Personality[] = [
82
  }
83
  ];
84
 
85
- // توليد باقي الـ 100 شخصية برمجياً لضمان التنوع
86
- for (let i = 1; i <= 100; i++) {
87
  const country = countries[i % countries.length];
88
  const occ = occupations[i % occupations.length];
89
- const name = `شخصية ${i}`;
90
- const nameEn = `User ${i}`;
91
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
  aiPersonalities.push({
93
- id: `ai-gen-${i}`,
94
  name: name,
95
  nameEn: nameEn,
96
- avatar: `https://api.dicebear.com/7.x/avataaars/svg?seed=Persona${i}`,
97
- bio: `${occ} من ${country}.`,
98
  bioEn: `${occ} from ${country}.`,
99
- shockMessage: i % 2 === 0 ? "نعم؟ مين؟" : "أهلاً.. أنت مين؟",
 
 
100
  shockMessageEn: "Hello? Who's this?",
101
- systemPrompt: `أنت إنسان حقيقي تعيش في ${country} وتعمل ${occ}. كلامك بشري جداً، ردودك مختصرة، ولا تذكر أبداً أنك برنامج.`,
102
- blockProbability: 0.05,
103
- typingSpeed: 45,
104
- burstiness: 0.4,
 
 
105
  origin: country
106
  });
107
  }
 
1
+ import { maleArabicNames, femaleArabicNames, maleWesternNames, femaleWesternNames } from './ai-world-names';
2
 
3
  export interface Personality {
4
  id: string;
 
16
  origin: string; // البلد أو الثقافة
17
  }
18
 
19
+ const countries = ["مصر", "السعودية", لإمارات", "الكويت", "المغرب", "لبنان", "USA", "UK", "Canada", "Germany", "France"];
20
+ const occupations = ["مصور", "مطور برمجيات", "طالبة فنون", "مهندس", "كاتب حر", "مدرب رياضي", "طبيب", "موسيقي", "طباخ", "طيار", "محامي"];
 
21
 
22
  export const aiPersonalities: Personality[] = [
23
  {
 
50
  burstiness: 0.3,
51
  origin: "السعودية"
52
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  {
54
  id: 'ai-alex',
55
  name: 'أليكس',
 
67
  }
68
  ];
69
 
70
+ // توليد باقي الـ 120 شخصية برمجياً بأسماء حقيقية وتنوع ثقافي
71
+ for (let i = 1; i <= 120; i++) {
72
  const country = countries[i % countries.length];
73
  const occ = occupations[i % occupations.length];
74
+ const isArabic = ["مصر", "السعودية", "الإمارات", "الكويت", "المغرب", "لبنان"].includes(country);
75
+ const isFemale = i % 2 === 0;
76
 
77
+ let name = "";
78
+ let nameEn = "";
79
+
80
+ if (isArabic) {
81
+ name = isFemale
82
+ ? femaleArabicNames[Math.floor(Math.random() * femaleArabicNames.length)]
83
+ : maleArabicNames[Math.floor(Math.random() * maleArabicNames.length)];
84
+ nameEn = name; // نستخدم نفس الاسم كمعرف
85
+ } else {
86
+ nameEn = isFemale
87
+ ? femaleWesternNames[Math.floor(Math.random() * femaleWesternNames.length)]
88
+ : maleWesternNames[Math.floor(Math.random() * maleWesternNames.length)];
89
+ name = nameEn;
90
+ }
91
+
92
  aiPersonalities.push({
93
+ id: `ai-gen-${i}-${nameEn}`,
94
  name: name,
95
  nameEn: nameEn,
96
+ avatar: `https://api.dicebear.com/7.x/avataaars/svg?seed=${nameEn}${i}`,
97
+ bio: isArabic ? `${occ} من ${country}.` : `${occ} from ${country}.`,
98
  bioEn: `${occ} from ${country}.`,
99
+ shockMessage: isArabic
100
+ ? (isFemale ? "نعم؟ مين حضرتِك؟" : "هلا.. مين معي؟")
101
+ : `Hey, who is this?`,
102
  shockMessageEn: "Hello? Who's this?",
103
+ systemPrompt: isArabic
104
+ ? `أنت إنسان حقيقي تعيش في ${country} وتعمل ${occ}. اسمك ${name}. كلامك بشري جداً، ردودك مختصرة، ولا تذكر أبداً أنك برنامج. استخدم لهجة بلدك.`
105
+ : `You are ${name}, a real human living in ${country} working as ${occ}. Your responses are short and human-like. Never mention you are an AI.`,
106
+ blockProbability: 0.03 + (Math.random() * 0.07),
107
+ typingSpeed: 30 + (Math.random() * 40),
108
+ burstiness: 0.2 + (Math.random() * 0.5),
109
  origin: country
110
  });
111
  }
src/lib/ai-world-names.ts CHANGED
@@ -1,113 +1,19 @@
1
- export const maleNames: string[] = [
2
- "خالد",
3
- "عمر",
4
- "علي",
5
- "يوسف",
6
- "محمد",
7
- "أحمد",
8
- "عبدالله",
9
- "حسن",
10
- "حسين",
11
- "إبراهيم",
12
- "محمود",
13
- "طارق",
14
- "سعيد",
15
- "سمير",
16
- "جمال",
17
- "كريم",
18
- "هشام",
19
- "وليد",
20
- "ياسر",
21
- "أيمن",
22
- "باسم",
23
- "جابر",
24
- "حاتم",
25
- "خليل",
26
- "داود",
27
- "رامي",
28
- "زكريا",
29
- "سامي",
30
- "شريف",
31
- "صلاح",
32
- "عادل",
33
- "فؤاد",
34
- "قاسم",
35
- "لؤي",
36
- "ماجد",
37
- "ناصر",
38
- "هاني",
39
- "وائل",
40
- "يحيى",
41
- "بلال",
42
- "تامر",
43
- "ثابت",
44
- "جلال",
45
- "حازم",
46
- "رشيد",
47
- "رياض",
48
- "زياد",
49
- "سلطان",
50
- "شاكر",
51
- "صابر",
52
- "ضياء",
53
- "عاصم",
54
- "فارس"
55
  ];
56
 
57
- export const femaleNames: string[] = [
58
- "فاطمة",
59
- "زينب",
60
- "مريم",
61
- "سارة",
62
- "نور",
63
- "هدى",
64
- "منى",
65
- "آية",
66
- "حنان",
67
- "ليلى",
68
- "سميرة",
69
- "جميلة",
70
- "كريمة",
71
- "هناء",
72
- "وفاء",
73
- "ياسمين",
74
- "إيمان",
75
- "بسمة",
76
- "جهاد",
77
- "حبيبة",
78
- "خديجة",
79
- "دينا",
80
- "رنا",
81
- "زهراء",
82
- "سعاد",
83
- "شيماء",
84
- "صفاء",
85
- "عفاف",
86
- "غادة",
87
- "فريدة",
88
- "كوثر",
89
- "لمياء",
90
- "مها",
91
- "نهى",
92
- "هبة",
93
- "وداد",
94
- "يسرى",
95
- "بشرى",
96
- "تهاني",
97
- "ثريا",
98
- "جمانة",
99
- "حسناء",
100
- "رحاب",
101
- "ريهام",
102
- "زبيدة",
103
- "سناء",
104
- "شهرزاد",
105
- "صباح",
106
- "ضحى",
107
- "علياء",
108
- "فايزة"
109
  ];
110
 
111
- export const allNames = [...maleNames, ...femaleNames];
 
 
112
 
113
-
 
 
 
 
 
 
 
1
+ export const maleArabicNames: string[] = [
2
+ "أحمد", "محمد", "علي", "عمر", "يوسف", "إبراهيم", "خالد", "طارق", "حسن", "حسين", "زيد", "سيف", "فهد", "سعود", "نايف", "ريان", "فيصل", "تركي", "هتان", "راكان", "سلمان", "بندر", "عادل", "سعيد", "نبيل", "سامر", "باسل", "ماجد", "وليد", "هشام", "لؤي", "رامي", "شريف", "أيمن", "أكرم", "أمجد", "باهر", "جلال", "حازم", "خليل", "داود", "رأفت", "زكريا", "سامي", "شاكر", "صبري", "ضياء", "طاهر", "ظافر", "عاصم", "غسان", "فؤاد", "كمال", "منير", "ناصر", "هاني", "وائل", "يحيى", "حمزة", "مصطفى", "ياسين", "بدر", "طلال", "عزام", "مشاري", "مهند"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  ];
4
 
5
+ export const femaleArabicNames: string[] = [
6
+ "فاطمة", "زينب", "مريم", "سارة", "عائشة", "خديجة", "نورا", "ريم", "ليان", "حلا", "لانا", "جود", "ديما", "تالا", "لمى", "رنا", "مها", "منى", "سلمى", "ليلى", "هنادي", "ريهام", "بسمة", "رغد", "شهد", "غادة", "هبة", "ياسمين", "نرمين", "هاجر", "صفاء", "مروة", "دعاء", "إيمان", "أمل", "أحلام", "بشرى", "تهاني", "ثريا", "جمانة", "جيهان", "حنان", "خلود", "دلال", "رباب", "زهرة", "سلوى", "سميرة", "شيرين", "صابرين", "ضحى", "طيف", "عبير", "عزة", "عفاف", "عليا", "فرح", "قمر", "كوثر", "لمياء", "ناهد", "نجلاء", "ندى", "نوال", "هالة", "هدي", "وفاء", "يسرا"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  ];
8
 
9
+ export const maleWesternNames: string[] = [
10
+ "Liam", "Noah", "Oliver", "James", "Elijah", "William", "Henry", "Lucas", "Benjamin", "Theodore", "Jack", "Levi", "Alexander", "Jackson", "Owen", "Daniel", "Michael", "Mason", "Sebastian", "Ethan", "Logan", "Samuel", "Jacob", "Asher", "Aiden", "John", "Leo", "David", "Wyatt", "Matthew", "Luke", "Ezra", "Elias", "Isaac", "Gabriel", "Julian", "Grayson", "Anthony", "Joshua", "Andrew", "Lincoln", "Mateo", "Ryan", "Nathan", "Aaron", "Christian", "Thomas", "Miles", "Nolan"
11
+ ];
12
 
13
+ export const femaleWesternNames: string[] = [
14
+ "Olivia", "Emma", "Charlotte", "Amelia", "Sophia", "Mia", "Isabella", "Ava", "Evelyn", "Luna", "Harper", "Sofia", "Camila", "Eleanor", "Elizabeth", "Violet", "Scarlett", "Abigail", "Hazel", "Lily", "Gianna", "Aurora", "Penelope", "Aria", "Nora", "Chloe", "Ellie", "Mila", "Avery", "Layla", "Willow", "Maya", "Ivy", "Zoey", "Grace", "Riley", "Victoria", "Hannah", "Bella", "Madison", "Alice", "Aubrey", "Stella", "Natalie", "Addison", "Audrey", "Savannah", "Lucy"
15
+ ];
16
+
17
+ export const maleNames = [...maleArabicNames, ...maleWesternNames];
18
+ export const femaleNames = [...femaleArabicNames, ...femaleWesternNames];
19
+ export const allNames = [...maleNames, ...femaleNames];