Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/crowdin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
uses: crowdin/github-action@v2
with:
command: "pre-translate"
command_args: "--translate-untranslated-only --method ai --ai-prompt 385372"
command_args: "--translate-untranslated-only --method ai --ai-prompt 387832"
env:
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
CROWDIN_API_TOKEN: ${{ secrets.CROWDIN_API_TOKEN }}
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/storybook.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
name: 📒 Deploy Storybook

on:
push:
branches: ["main"]
# TODO: Uncomment this when we fix storybook build
# push:
# branches: ["main"]
workflow_dispatch:

permissions:
Expand Down
4 changes: 2 additions & 2 deletions locales/ar/about.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
"hero": {
"title": "مستقبل البحوث الإسلامية",
"imageAlt": "حول Usul",
"paragraph1": "أصول هي منصة مدعومة بالذكاء الاصطناعي صُمِّمت لإحداث تطوّر في طريقة إجراء البحوث الإسلامية في القرن الحادي والعشرين، في وقت أصبحت فيه الأبحاث عبر الإنترنت وتقنيات الذكاء الاصطناعي جزءًا أساسيًا من تشكيل عالم الغد.\n\nلكنّ الجمهور يفتقر إلى وسيلة سهلة تُمكّنه من الوصول إلى موقع واحد يجمع مصادر المعرفة الإسلامية على الإنترنت، فضلًا عن المواقع التي تجمع بين أدوات البحث الإسلامي وأحدث تقنيات الذكاء الاصطناعي. إضافةً إلى ذلك، فإن التقدّم في مجال الذكاء الاصطناعي الذي جعل من منصّات مثل ChatGPT وGemini وClaude وغيرها مفيدة جدًا للمعرفة العامة، لا يزال غير قادر على تقديم إجابات موثوقة أو معتمدة في مجال المعرفة الإسلامية—وهو مجال تُعد فيه الموثوقية والمصداقية أمرين جوهريين. ويرجع ذلك في جزء كبير منه إلى النقص في المصادر: فالنماذج العامة دُرّبت على المصادر المتاحة على الإنترنت—الجيد منها والسيئ وما بينهما.",
"paragraph2": "للأسف، معظم المصادر الإسلامية غير متاحة على الإنترنت، وتلك المتاحة تختلط فيها المصادر الكلاسيكية/الأصلية التي يعترف بها العلماء المسلمون كمراجع موثوقة (مثل القرآن، والحديث، وكتب الفقه، والكتب التاريخية، والسجلات القضائية لشخصيات معروفة) مع ملايين الآراء والتحليلات، بل وحتى الروايات غير الصحيحة عن الإسلام. وهذه مشكلة.\n\nأصول تقدّم حلًا لمشكلات الموثوقية والمصداقية وإتاحة الوصول بالذكاء الاصطناعي إلى المصادر الإسلامية على الإنترنت، وهي المشكلات التي كانت —حتى الآن— تعيق قدرة الباحثين على استكشاف الأسئلة المعقّدة المتعلقة بالشريعة الإسلامية والتاريخ وغيرهما. لقد تعاون الباحثون ومهندسو البيانات لإنشاء منصة إلكترونية تتيح عمليات بحث متقدمة في مجموعة مُنتقاة، مغلقة، وموثوقة من المصادر الإسلامية، مدعومة بالذكاء الاصطناعي.",
"paragraph1": "**الرؤية:** أُصول (Usul) هي منصة مدعومة بالذكاء الاصطناعي تهدف إلى تطوير منهجية البحث الإسلامي في القرن الحادي والعشرين، في وقتٍ أصبح فيه البحث الإلكتروني وتقنيات الذكاء الاصطناعي محرّكين أساسيين لعالم الغد.\n\n**المشكلة:** يفتقر الجمهور إلى موقعٍ واحد يوفّر مصادر المعرفة الإسلامية على الإنترنت بشكلٍ سهل وميسّر، فضلًا عن مواقع تجمع بين أدوات البحث الإسلامي وأحدث تقنيات الذكاء الاصطناعي.\n\n**• منصات الذكاء الاصطناعي الرائدة تقدّم إجابات غير موثوقة حول الإسلام.** فالتطورات التي جعلت ChatGPT وGemini وClaude وغيرها مفيدةً في مجالات المعرفة العامة، **لا توفّر بعدُ إجابات موثوقة وذات مصداقية في مجال المعرفة الإسلامية**—حيث تُعدّ الموثوقية والدقة أمرًا بالغ الأهمية.\n\n**• نماذج الذكاء الاصطناعي تفتقر إلى المصادر الإسلامية.** ويرجع التباين بين نماذج الذكاء الاصطناعي الحالية والبحث الإسلامي في جانبٍ كبير منه إلى **نقص المصادر**؛ إذ إن النماذج العامة تم تدريبها على المحتوى المتاح على الإنترنت—بما فيه الجيد والرديء على حدّ سواء.",
"paragraph2": "لسوء الحظ، **معظم المصادر الإسلامية** غير متوفرة على الإنترنت. من أصل *3 ملايين مصدر في المكتبات، وقلة منها متاحة لمن لا يستطيعون الوصول إلى جامعات النخبة والمكتبات المتخصصة، وأقل من 1 في المائة منها قد تم رقميتها. \n **• نماذج الذكاء الاصطناعي تخلط بين الجيد والسيء، و الهلوسة :** و تلك المتاحة **تختلط المصادر الكلاسيكية التي سيعترف بها عالم إسلامي كمصادر ذات حجية** (مثل القرآن الكريم). فالاتهام، والأشغال الليفية، والتسلسل التاريخي، وقضايا المحاكم من شخصيات معترف بها) مع ملايين من الآراء والتحليلات، بل وحتى الروايات الكاذبة عن الإسلام. هذه مشكلة\n**حلنا:** يفضل حل مشاكل **المصداقية، الموثوقية، * و **الوصول إلى المصادر الإلكترونية بواسطة AI** التي - قبل الآن - أعاقت قدرة الباحثين على استكشاف مسائل معقدة تتعلق بالشريعة الإسلامية والتاريخ وغير ذلك. تضافرت جهود الباحثين ومهندسي البيانات لإنشاء منصة على الإنترنت تمكن من إجراء عمليات بحث متقدمة على منحوت، مجموعة موثوقة من المصادر الإسلامية بدعم من منظمة العفو الدولية.",
"tryUsul": "جرب المستخدم",
"seeHowItWorks": "انظر كيف تعمل"
},
Expand Down
4 changes: 4 additions & 0 deletions locales/ar/chat.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
{
"signUpToContinue": {
"title": "قم بالتسجيل للاستمرار في استخدام Usul AI",
"signUp": "تسجيل الدخول"
},
"greeting": {
"hello": "أهلاً بك في Usul AI!",
"welcome": "اكتب سؤالك الأول أدناه"
Expand Down
20 changes: 13 additions & 7 deletions locales/ar/common.json
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,9 @@
},
"about": {
"title": "من نحن",
"about": {
"title": "من نحن",
"description": "ما نقوم به"
"vision": {
"title": "رؤية",
"description": "ماذا نفعل"
},
"team": {
"title": "الفريق",
Expand All @@ -112,11 +112,11 @@
},
"add-text": {
"title": "إضافة نص",
"description": "إضافة رابط أو ملف PDF"
"description": "توفير عنوان URL أو PDF"
},
"report-mistake": {
"title": "الإبلاغ عن خطأ",
"description": "وجدت شيئًا خاطئًا"
"description": "تصحيح خطأ"
},
"feedback": {
"title": "تقديم ملاحظات",
Expand All @@ -135,7 +135,7 @@
"subscribe": "اشترِك",
"copyright": "{year, number, nogroup} مؤسسة سيمورج. جميع الحقوق محفوظة."
},
"lost": "يبدو أنك تائه",
"lost": "404 غير موجود",
"go-back-home": "العودة إلى الرئيسية",
"author-arabic-names": "اسم المؤلف بالعربية",
"author-latin-names": "اسم المؤلف باللاتينية",
Expand Down Expand Up @@ -248,5 +248,11 @@
}
},
"expand-all": "توسيع الكل",
"collapse-all": "طي الكل"
"collapse-all": "طي الكل",
"show-more": "إظهار المزيد",
"show-less": "إظهار أقل",
"maintenance": {
"title": "تحت الصيانة",
"message": "Usul حاليا تحت الصيانة. سوف نعود قريبا."
}
}
12 changes: 11 additions & 1 deletion locales/ar/donate.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"hero": {
"title": "مستقبل المعرفة الإسلامية، بدعم من الذكاء الاصطناعي",
"title": "لماذا تدعم Asul AI.",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix brand spelling (“Asul” → “Usul”).
The product name is “Usul” elsewhere; this looks like a typo.

✏️ Suggested fix
-    "title": "لماذا تدعم Asul AI.",
+    "title": "لماذا تدعم Usul AI.",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"title": "لماذا تدعم Asul AI.",
"title": "لماذا تدعم Usul AI.",
🤖 Prompt for AI Agents
In `@locales/ar/donate.json` at line 3, The "title" value in the Arabic donate
locale has a brand typo ("Asul"); update the JSON value for the "title" key in
locales/ar/donate.json to use the correct product name "Usul" (preserve
surrounding punctuation and casing) so it matches other locales.

"subtitle": "ساعدونا في بناء أكبر مكتبة، وضمان أوسع وصول، وتسهيل أجرأ أبحاث في المعرفة الإسلامية للقرن الحادي والعشرين.",
"description": "بدعمكم، جعلت أصول آلاف النصوص التاريخية أكثر سهولة، ووصلت إلى عشرات الآلاف من المستخدمين حول العالم.",
"donate-widget": {
Expand Down Expand Up @@ -91,6 +91,16 @@
"verify": "تحقق",
"send-code": "أرسل الرمز"
},
"guest-email": {
"title": "أدخل بريدك الإلكتروني",
"description": "سوف نستخدم هذا لإرسال الإيصال.",
"continue": "الاستمرار في الدفع"
},
"sign-in-recurring": {
"title": "قم بتسجيل الدخول لإعداد تبرع متكرر",
"description": "إنشاء حساب أو تسجيل الدخول لتقديم تبرعات شهرية أو سنوية.",
"button": "تسجيل الدخول"
},
"already-donor": {
"title": "هل أنت متبرع بالفعل؟",
"manage": "إدارة تبرعك"
Expand Down
10 changes: 6 additions & 4 deletions locales/ar/entities.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,26 @@
"text": "نص",
"texts": "نصوص",
"x-texts": "{count, plural, zero {}=0 {لا يوجد نصوص} one {# نص} two {# نصوص} few {# نصوص} many {# نصوص} other {# نصوص}}",
"texts-description": "نحن نستضيف أكبر مكتبة رقمية في العالم مؤلفة من قناة آي إسلامية تحتوي على مصادر راجعها علماء مشهورون وتم فحصها للبحث الإسلامي الجاد. أدواتنا المتقدمة تسمح لك باستكشاف المكتبة من قبل المؤلف، مدرسة القانون، نوع الجنس، المنطقة الحديثة. و الإمبراطورية أو العصر التاريخي - بحيث يمكنك أن تجد بالضبط ما تبحث عنه، بمصداقية و دقة. كما تتوفر مجموعات من العلماء لتوجيه وتعميق بحثكم.",
"region": "المنطقة",
"regions": "مناطق",
"x-regions": "{count, plural, zero {}=0 {لا يوجد مناطق} one {# منطقة} two {# مناطق} few {# مناطق} many {# مناطق} other {# مناطق}}",
"regions-description": "استكشف بصريا مجموعتنا الواسعة في الأماكن التي أُنتجت فيها النصوص - سواء في البلدان الحديثة التي كتب فيها المؤلفون أو في المناطق التاريخية المراسلة التي يعيشون فيها. انقر على أي بلد لمعرفة تاريخه وأهميته في إطار التقاليد التاريخية الإسلامية.",
"empire": "الإمبراطورية و العصر",
"empires": "الإمبراطوريات و العصر",
"empires": "الإمبراطوريات و العصور",
"x-empires": "{count, plural, =0 {لا امبراطوريات وعصور} one {# امبراطورية وعصر} other {# امبراطورية وعصر}}",
Comment on lines +11 to +13
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Validate JSON and extract ICU plural categories
set -euo pipefail

# First, check if file exists and is valid JSON
if [ ! -f "locales/ar/entities.json" ]; then
  echo "File not found: locales/ar/entities.json"
  exit 1
fi

jq -e . locales/ar/entities.json >/dev/null 2>&1 && echo "✓ JSON is valid"

# Extract and analyze the x-empires key
python3 <<'PY'
import json, re

with open("locales/ar/entities.json", "r", encoding="utf-8") as f:
    data = json.load(f)

x_empires = data.get("x-empires", "")
print("\n=== x-empires value ===")
print(x_empires)

# Extract plural categories
cats = re.findall(r'\b(zero|one|two|few|many|other|=0|=1|=\d+)\b', x_empires)
print("\n=== Categories found ===")
print(cats)
print("\n=== Unique categories ===")
print(sorted(set(cats)))

# Check pattern in other x-* keys
print("\n=== Other x-* keys in file ===")
for key in sorted(data.keys()):
    if key.startswith("x-"):
        val = data[key]
        if isinstance(val, str) and "{count, plural" in val:
            cats_in_key = re.findall(r'\b(zero|one|two|few|many|other|=0|=1|=\d+)\b', val)
            print(f"{key}: {sorted(set(cats_in_key))}")
PY

Repository: seemorg/usul

Length of output: 893


🌐 Web query:

Arabic ICU plural categories CLDR rules which plural forms needed

💡 Result:

Use all six CLDR/ICU plural categories for Arabic: zero, one, two, few, many, other.

Rule summary:

  • zero → n is 0.
  • one → n is 1.
  • two → n is 2.
  • few → n mod 100 in 3..10.
  • many → n mod 100 in 11..99.
  • other → everything else (including most decimals/fractions and the special ranges CLDR lists).

Sources: [CLDR language plural rules; LDML/CLDR spec]. (unicode.org)

Citations:


Add missing Arabic plural categories to x-empires to match other x-* keys in the file.

The x-empires key currently defines only one and other categories. All other x-* keys in locales/ar/entities.json use the complete CLDR Arabic plural rules: zero, one, two, few, many, and other. Add the missing categories to ensure proper pluralization for counts like 2, 3-10, and 11-99:

"x-empires": "{count, plural, =0 {لا امبراطوريات وعصور} one {# امبراطورية وعصر} two {# امبراطوريتان وعصران} few {# امبراطوريات وعصور} many {# امبراطوريات وعصور} other {# امبراطورية وعصر}}"

(Adjust the Arabic text for two, few, and many as needed for your use case.)

🤖 Prompt for AI Agents
In @locales/ar/entities.json around lines 9 - 11, The x-empires plural entry
only has one and other; update the "x-empires" ICU plural string to include the
full Arabic CLDR categories (zero, one, two, few, many, other) mirroring the
other x-* keys in this file so counts like 0,2,3-10,11+ are handled; add
appropriate Arabic phrases for the two, few, many (and ensure zero matches the
existing "لا امبراطوريات وعصور") while keeping the existing one/other forms.

"location": "موقع",
"locations": "مواقع",
"x-locations": "{count, plural, zero {}=0 {لا يوجد مواقع} one {# موقع} two {# مواقع} few {# مواقع} many {# مواقع} other {# مواقع}}",
"empires-description": "لأول مرة، وقد تم رسم خرائط شاملة للإمبراطوريات والعصور التاريخية للعالم الإسلامي في مكتبة رقمية واحدة - تمتد من صعود النبي محمد في 632 إلى سقوط الإمبراطورية العثمانية في عام 1924. وبالتشاور مع كبار علماء التاريخ الإسلامي، حدد فريقنا البحثي الخلافات الرئيسية، 1 - السلطنات، والأسرة، وغيرها من التشكيلات السياسية التي شكلت الحضارة الإسلامية وإنتاجها للمعرفة. ونحن ندعو هذا الإطار **الإمبراطوريات وعصرة** إلى أن يعكس حقيقة أن التشكيلات السياسية كثيرا ما تمتد عبر فترات متعددة وتتجاوز الحدود الوطنية الحديثة. هذا الإطار يسمح لك باستكشاف كل مؤلف ونص وفكرة في سياقه التاريخي، يكشف كيف تطورت المنح الدراسية الإسلامية عبر الزمان والمكان. ببساطة اختر إمبراطورية أو حقبة لعرض المؤلفين والنصوص المرتبطة بها. * يمتد هذا العمل الإطاري من مشروع طويل الأجل يرأسه الدكتور د. مركز إينتيسار رب, بالاعتماد على كليفورد بوسورث (Cliford Bosworth)، الديناصورات الإسلامية الجديدة، 1996، مع إضافة وتصحيح لآخر المستجدات والترحيب من العديد من العلماء.*",
"author": "المؤلف",
"authors": "المؤلفون",
"x-authors": "{count, plural, zero {}=0 {لا يوجد مؤلف} one {# المؤلف} two {# مؤلفين} few {# مؤلفين} many {# مؤلفين} other {# مؤلفين}}",
"authors-description": "ابحث واستكشف المؤلفين من المكتبة الرقمية الرائدة على مستوى العالم للنصوص الإسلامية المعتمدة على AI. اختر مؤلف لعرض كامل مجموعة أعمالهم على الفور، منظمة حسب نوع الجنس، المنطقة، والإمبراطورية التاريخية أو العصر - حتى يمكنك رؤية **عندما** و **حيث** يكتبون. ويتضمن كل بيان من بيانات المؤلفين سيرة ذاتية علمية وموقعها الرئيسي وأسماء كاملة وشائعة. وسياقاً واضحاً لتأثيرها في الفقه الإسلامي والتاريخ الفكري حيثما توافرت. يمكنك أيضًا استخدام خاصية دردشة الذكاء الاصطناعي لاستكشاف مناورة المؤلف في الوقت الحقيقي. ",
"name": "الاسم",
"names": "الأسماء",
"x-names": "{count, plural, zero {}=0 {لا يوجد أسماء} one {# اسم} two {# أسماء} few {# أسماء} many {# أسماء} other {# أسماء}}",
"genre": "تصنيف",
"genres": "تصانيف",
"x-genres": "{count, plural, zero {}=0 {لا يوجد تصانيف} one {# تصنيف} two {# تصانيف} few {# تصانيف} many {# تصانيف} other {# تصانيف}}",
"genres-description": "وللمرة الأولى، جرى رسم خريطة شاملة للنطاق الكامل للمعارف الإسلامية - عبر الأنماط التاريخية والحديثة. نحن نقدمه لكم في مكتبة واحدة واسعة وحدد باحثونا 13 تخصصا أساسيا بالتشاور مع علماء بارزين من العالم الإسلامي وفي الأكاديمية الأمريكية. ومن القانون واللغة والتاريخ إلى الفلسفة والروحانية والشعر، تبرز المنح الدراسية الإسلامية بوصفها من أغنى التقاليد الفكرية في تاريخ البشرية. تتيح لك منصتنا استكشاف كل مؤلف وكتاب وفكرة في سياقها العلمي المناسب - كشف كيف ترتبط الأعمال بين المجالات والأنواع المختلفة. ببساطة اختيار تخصص لعرض حقوله الفرعية ومجموعة من النصوص. يمكنك أيضًا استخدام دردشة الذكاء الاصطناعي لاستكشاف كل مجموعة من الحقول والفروق الدقيقة في الوقت الحقيقي.",
"x-results": "{count, plural, =0 {لا نتائج} one {# نتيجة} two {# نتيجتان} few {# نتائج قليلة} many {# نتائج كثيرة} other {# نتائج}}",
"century": "القرن",
"centuries": "القرون",
Expand Down
Loading