Repository: seemorg/usul
Pull request #75: 🤖 Sync Crowdin Translations
Author: login: ahmedriad1
Created: 2025-04-19T00:15:36Z | Merged: 2025-04-19T00:17:10Z

_Auto-generated from by github action_

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **New Features**
  - Added new localized strings for search results, pagination, and search mode options ("simple", "advanced", "semantic") across multiple languages in the reader interface.

- **Documentation**
  - Updated team member Ryad Ramo’s description in several languages to reflect broader expertise, academic background, and founder status.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->


Diff:
diff --git a/locales/ar/reader.json b/locales/ar/reader.json
index c89840ad..685a382d 100644
--- a/locales/ar/reader.json
+++ b/locales/ar/reader.json
@@ -40,7 +40,12 @@
     "portion": "جزء",
     "entire-book": "الكتاب بأكمله",
     "book": "كتاب",
-    "book-select-description": "البحث في عدة كتب غير مدعوم بعد"
+    "book-select-description": "البحث في عدة كتب غير مدعوم بعد",
+    "results": "{total, number} النتائج - الصفحة {currentPage, number} / {totalPages, number}",
+    "apply": "تطبيق",
+    "simple": "بسيط",
+    "advanced": "متقدم",
+    "semantic": "دلالي"
   },
   "chat": {
     "empty-state": "استخدم قوة الذكاء الاصطناعي للبحث داخل الكتاب، ابدأ بكتابة ما تبحث عنه...",
diff --git a/locales/ar/team.json b/locales/ar/team.json
index 0ac80dfd..5b1595e9 100644
--- a/locales/ar/team.json
+++ b/locales/ar/team.json
@@ -20,7 +20,7 @@
     },
     "ryad-ramo": {
       "name": "رياض رامو",
-      "description": "رياض متخصص في الفقه المالكي وتاريخ الأندلس. شارك في إدارة مركز الإمام مالك."
+      "description": "رياض باحث متخصص في المعرفة الإسلامية والتاريخ. يحمل درجة البكالوريوس في الدراسات الإسلامية وهو مؤسس جواهر الأندلس."
     },
     "rahma-fateen": {
       "name": "رحمة فطين",
diff --git a/locales/bn/reader.json b/locales/bn/reader.json
index df8d3681..a6f7ee88 100644
--- a/locales/bn/reader.json
+++ b/locales/bn/reader.json
@@ -40,7 +40,12 @@
     "portion": "অংশ",
     "entire-book": "সম্পূর্ণ বই",
     "book": "বই",
-    "book-select-description": "একাধিক বই অনুসন্ধান করার সুবিধা এখনও সমর্থিত নয়"
+    "book-select-description": "একাধিক বই অনুসন্ধান করার সুবিধা এখনও সমর্থিত নয়",
+    "results": "{total, number} ফলাফল - পৃষ্ঠা {currentPage, number} / {totalPages, number}",
+    "apply": "প্রয়োগ",
+    "simple": "সাধারণ",
+    "advanced": "অগ্রসর",
+    "semantic": "অর্থবোধক"
   },
   "chat": {
     "empty-state": "বইয়ের মধ্যে অনুসন্ধানের জন্য এআই-এর শক্তি ব্যবহার করুন, আপনি যা খুঁজছেন তা লিখে শুরু করুন...",
diff --git a/locales/bn/team.json b/locales/bn/team.json
index b114b40d..f19d174d 100644
--- a/locales/bn/team.json
+++ b/locales/bn/team.json
@@ -20,7 +20,7 @@
     },
     "ryad-ramo": {
       "name": "Ryad Ramo",
-      "description": "রিয়াদ মালিকি ফিকহ এবং আন্দালুসিয়ান ইতিহাস বিশেষজ্ঞ। তিনি মার্কাজ ইমাম মালিক সহ-পরিচালক ছিলেন।"
+      "description": "রিয়াদ ইসলামী জ্ঞান ও ইতিহাসে বিশেষজ্ঞ একজন গবেষক। তিনি ইসলামী শিক্ষা বিষয়ে বিএ করেছেন এবং তিনি Gems of Al-Andalus-এর প্রতিষ্ঠাতা।"
     },
     "rahma-fateen": {
       "name": "রাহমা ফাতিন",
diff --git a/locales/es/reader.json b/locales/es/reader.json
index ae37522b..3c8d7f02 100644
--- a/locales/es/reader.json
+++ b/locales/es/reader.json
@@ -40,7 +40,12 @@
     "portion": "Porción",
     "entire-book": "Libro Entero",
     "book": "Libro",
-    "book-select-description": "La búsqueda en varios libros no está soportada todavía"
+    "book-select-description": "La búsqueda en varios libros no está soportada todavía",
+    "results": "{total, number} Resultados - Página {currentPage, number} / {totalPages, number}",
+    "apply": "Aplicar",
+    "simple": "Simple",
+    "advanced": "Avanzado",
+    "semantic": "Semántico"
   },
   "chat": {
     "empty-state": "Utiliza el poder de la IA para buscar dentro del libro, comienza escribiendo lo que buscas...",
diff --git a/locales/es/team.json b/locales/es/team.json
index 3d71755c..87630bd3 100644
--- a/locales/es/team.json
+++ b/locales/es/team.json
@@ -20,7 +20,7 @@
     },
     "ryad-ramo": {
       "name": "Ryad Ramo",
-      "description": "Ryad se especializa en el fiqh Maliki y la historia andalusí. Co-gestionó el Markaz Imam Malik."
+      "description": "Ryad es un investigador especializado en conocimiento e historia islámica. Tiene una licenciatura en Estudios Islámicos y es el fundador de Gems of Al-Andalus."
     },
     "rahma-fateen": {
       "name": "Rahma Fateen",
diff --git a/locales/fa/reader.json b/locales/fa/reader.json
index ceab1eda..b55333b2 100644
--- a/locales/fa/reader.json
+++ b/locales/fa/reader.json
@@ -40,7 +40,12 @@
     "portion": "بخش",
     "entire-book": "تمام کتاب",
     "book": "کتاب",
-    "book-select-description": "جستجوی همزمان در چند کتاب هنوز پشتیبانی نمی‌شود"
+    "book-select-description": "جستجوی همزمان در چند کتاب هنوز پشتیبانی نمی‌شود",
+    "results": "{total, number} نتیجه \n \n - \n \n صفحه {currentPage, number} / {totalPages, number}",
+    "apply": "اعمال",
+    "simple": "ساده",
+    "advanced": "پیشرفته",
+    "semantic": "معنایی"
   },
   "chat": {
     "empty-state": "از قدرت هوش مصنوعی برای جستجو در کتاب استفاده کنید، با نوشتن چیزی که به‌دنبال آن هستید شروع کنید...",
diff --git a/locales/fa/team.json b/locales/fa/team.json
index b39424a1..97816901 100644
--- a/locales/fa/team.json
+++ b/locales/fa/team.json
@@ -20,7 +20,7 @@
     },
     "ryad-ramo": {
       "name": "ریاض رمو",
-      "description": "ریاض در فقه مالکی و تاریخ اندلس تخصص دارد. او مدیریت مشترک مرکز امام مالک را بر عهده داشت."
+      "description": "ریاض یک محقق متخصص در دانش و تاریخ اسلامی است. او دارای مدرک کارشناسی در مطالعات اسلامی است و بنیان‌گذار «جواهرات آندلس» است."
     },
     "rahma-fateen": {
       "name": "رحمه فطین",
diff --git a/locales/fr/reader.json b/locales/fr/reader.json
index 3f5b32c7..76fed03c 100644
--- a/locales/fr/reader.json
+++ b/locales/fr/reader.json
@@ -40,7 +40,12 @@
     "portion": "Portion",
     "entire-book": "Livre entier",
     "book": "Livre",
-    "book-select-description": "La recherche dans plusieurs livres n'est pas encore prise en charge"
+    "book-select-description": "La recherche dans plusieurs livres n'est pas encore prise en charge",
+    "results": "{total, number} Résultats - Page {currentPage, number} / {totalPages, number}",
+    "apply": "Appliquer",
+    "simple": "Simple",
+    "advanced": "Avancé",
+    "semantic": "Sémantique"
   },
   "chat": {
     "empty-state": "Utilisez la puissance de l'IA pour rechercher dans le livre, commencez par écrire ce que vous cherchez...",
diff --git a/locales/fr/team.json b/locales/fr/team.json
index c029f093..314f3ada 100644
--- a/locales/fr/team.json
+++ b/locales/fr/team.json
@@ -20,7 +20,7 @@
     },
     "ryad-ramo": {
       "name": "Ryad Ramo",
-      "description": "Ryad est spécialisé dans le fiqh malékite et l'histoire andalouse. Il a co-géré le Markaz Imam Malik."
+      "description": "Ryad est un chercheur spécialisé dans la connaissance et l'histoire islamiques. Il est titulaire d'une licence en études islamiques et est le fondateur de Gems of Al-Andalus."
     },
     "rahma-fateen": {
       "name": "Rahma Fateen",
diff --git a/locales/ha/reader.json b/locales/ha/reader.json
index 4da5df91..8c406ab9 100644
--- a/locales/ha/reader.json
+++ b/locales/ha/reader.json
@@ -40,7 +40,12 @@
     "portion": "Sashe",
     "entire-book": "Dukkan Littafi",
     "book": "Littafi",
-    "book-select-description": "Binciken littattafai da yawa ba a goyan bayan shi ba tukuna"
+    "book-select-description": "Binciken littattafai da yawa ba a goyan bayan shi ba tukuna",
+    "results": "{total, number} Sakamako - Shafi {currentPage, number} / {totalPages, number}",
+    "apply": "Aiwatar",
+    "simple": "Sauki",
+    "advanced": "Ci gaba",
+    "semantic": "Dabara"
   },
   "chat": {
     "empty-state": "Yi amfani da ƙarfin AI don bincika cikin littafin, fara da rubuta abin da kake nema...",
diff --git a/locales/ha/team.json b/locales/ha/team.json
index 14add503..d5189f74 100644
--- a/locales/ha/team.json
+++ b/locales/ha/team.json
@@ -20,7 +20,7 @@
     },
     "ryad-ramo": {
       "name": "Ryad Ramo",
-      "description": "Ryad ya kware a cikin ilimin fiqhun Maliki da tarihin Andalusiya. Ya gudanar da Markaz Imam Malik tare."
+      "description": "Ryad manazarta ne wanda ya ƙware a fannin ilimin Musulunci da tarihin Musulunci. Yana da digiri na farko a fannin Nazarin Musulunci kuma shi ne wanda ya kafa Gems of Al-Andalus."
     },
     "rahma-fateen": {
       "name": "Rahma Fateen",
diff --git a/locales/hi/reader.json b/locales/hi/reader.json
index 9ebcedd7..973d3cf2 100644
--- a/locales/hi/reader.json
+++ b/locales/hi/reader.json
@@ -40,7 +40,12 @@
     "portion": "भाग",
     "entire-book": "पूरी किताब",
     "book": "किताब",
-    "book-select-description": "एकाधिक पुस्तकों की खोज अभी तक समर्थित नहीं है"
+    "book-select-description": "एकाधिक पुस्तकों की खोज अभी तक समर्थित नहीं है",
+    "results": "{total, number} परिणाम - पृष्ठ {currentPage, number} / {totalPages, number}",
+    "apply": "लागू करें",
+    "simple": "सरल",
+    "advanced": "उन्नत",
+    "semantic": "अर्थपूर्ण"
   },
   "chat": {
     "empty-state": "पुस्तक के अंदर खोज करने के लिए AI की शक्ति का उपयोग करें, ऐसा लिखकर शुरुआत करें जिसकी आप तलाश कर रहे हैं...",
diff --git a/locales/hi/team.json b/locales/hi/team.json
index 58681047..7934df75 100644
--- a/locales/hi/team.json
+++ b/locales/hi/team.json
@@ -20,7 +20,7 @@
     },
     "ryad-ramo": {
       "name": "रयाद रमू",
-      "description": "रियाद मलिकी फ़िक़्ह और अंडुलुसिया इतिहास में विशेषज्ञ हैं। उन्होंने मार्कज़ इमाम मालिक का सह-प्रबंधन किया।"
+      "description": "रयाद एक शोधकर्ता हैं जो इस्लामी ज्ञान और इतिहास में विशेषज्ञता रखते हैं। उन्होंने इस्लामी अध्ययन में बीए किया है और गेम्स ऑफ अल-अंदालस के संस्थापक हैं।"
     },
     "rahma-fateen": {
       "name": "रहमा फतेन",
diff --git a/locales/ms/reader.json b/locales/ms/reader.json
index 859e03e7..d67b8683 100644
--- a/locales/ms/reader.json
+++ b/locales/ms/reader.json
@@ -40,7 +40,12 @@
     "portion": "Bahagian",
     "entire-book": "Buku Keseluruhan",
     "book": "Buku",
-    "book-select-description": "Carian untuk pelbagai buku belum disokong lagi"
+    "book-select-description": "Carian untuk pelbagai buku belum disokong lagi",
+    "results": "{total, number} Keputusan - Halaman {currentPage, number} / {totalPages, number}",
+    "apply": "Guna",
+    "simple": "Ringkas",
+    "advanced": "Lanjutan",
+    "semantic": "Semantik"
   },
   "chat": {
     "empty-state": "Gunakan kuasa AI untuk mencari dalam buku, mula dengan menulis apa yang anda cari...",
diff --git a/locales/ms/team.json b/locales/ms/team.json
index 6b646520..ebaaa561 100644
--- a/locales/ms/team.json
+++ b/locales/ms/team.json
@@ -20,7 +20,7 @@
     },
     "ryad-ramo": {
       "name": "Ryad Ramo",
-      "description": "Ryad mengkhusus dalam fiqh Maliki dan sejarah Andalusia. Beliau mengurus bersama Markaz Imam Malik."
+      "description": "Ryad ialah penyelidik yang mengkhususkan diri dalam pengetahuan dan sejarah Islam. Beliau memiliki BA dalam Pengajian Islam dan merupakan pengasas kepada Gems of Al-Andalus."
     },
     "rahma-fateen": {
       "name": "Rahma Fateen",
diff --git a/locales/ps/reader.json b/locales/ps/reader.json
index 31a06c66..a058fcca 100644
--- a/locales/ps/reader.json
+++ b/locales/ps/reader.json
@@ -40,7 +40,12 @@
     "portion": "برخه",
     "entire-book": "پوره کتاب",
     "book": "کتاب",
-    "book-select-description": "د څو کتابونو لټون لا تر اوسه نه دي ملاتړ شوی"
+    "book-select-description": "د څو کتابونو لټون لا تر اوسه نه دي ملاتړ شوی",
+    "results": "{total, number} پایلې - پاڼه {currentPage, number} / {totalPages, number}",
+    "apply": "کارول",
+    "simple": "ساده",
+    "advanced": "پرمختللی",
+    "semantic": "سمانتیک"
   },
   "chat": {
     "empty-state": "د کتاب دننه د لټون لپاره د AI ځواک وکاروئ، د هغې لیکلو څخه پیل وکړئ چې تاسو یې په لټه کې یاست...",
diff --git a/locales/ps/team.json b/locales/ps/team.json
index 013bafa8..8e9bc90a 100644
--- a/locales/ps/team.json
+++ b/locales/ps/team.json
@@ -20,7 +20,7 @@
     },
     "ryad-ramo": {
       "name": "ریاض رامو",
-      "description": "رياض د مالکي فقه او اندلس تاريخ کې تخصص لري. هغه د مرکز امام مالک ګډ مدیر و."
+      "description": "ریاد یو څیړونکی دی چې په اسلامي پوهه او تاریخ کې تخصص لري. هغه په ​​اسلامي مطالعاتو کې لیسانس لري او د ال اندلس ګیمز بنسټ ایښودونکی دی."
     },
     "rahma-fateen": {
       "name": "رحمه فطین",
diff --git a/locales/ru/reader.json b/locales/ru/reader.json
index d373ebf6..1ce5e56f 100644
--- a/locales/ru/reader.json
+++ b/locales/ru/reader.json
@@ -40,7 +40,12 @@
     "portion": "Часть",
     "entire-book": "Вся книга",
     "book": "Книга",
-    "book-select-description": "Поиск в нескольких книгах пока не поддерживается"
+    "book-select-description": "Поиск в нескольких книгах пока не поддерживается",
+    "results": "{total, number} Результаты - Страница {currentPage, number} / {totalPages, number}",
+    "apply": "Применить",
+    "simple": "Простой",
+    "advanced": "Расширенный",
+    "semantic": "Семантический"
   },
   "chat": {
     "empty-state": "Используйте мощь AI для поиска внутри книги, начните с ввода того, что вы ищете...",
diff --git a/locales/ru/team.json b/locales/ru/team.json
index 737f1bc2..5c3da529 100644
--- a/locales/ru/team.json
+++ b/locales/ru/team.json
@@ -20,7 +20,7 @@
     },
     "ryad-ramo": {
       "name": "Ryad Ramo",
-      "description": "Риад специализируется на маликитском фикхе и истории Андалусии. Он совместно управлял Марказ Имам Малик."
+      "description": "Рияд является исследователем, специализирующимся на исламских знаниях и истории. Он имеет степень бакалавра в области исламоведения и является основателем Gems of Al-Andalus."
     },
     "rahma-fateen": {
       "name": "Рахма Фатин",
diff --git a/locales/so/reader.json b/locales/so/reader.json
index 3bfc9388..e2a07e33 100644
--- a/locales/so/reader.json
+++ b/locales/so/reader.json
@@ -40,7 +40,12 @@
     "portion": "Qayb",
     "entire-book": "Buugga Oo Dhan",
     "book": "Buug",
-    "book-select-description": "Baadhista buugaag badan weli lama taageerin"
+    "book-select-description": "Baadhista buugaag badan weli lama taageerin",
+    "results": "{total, number} Natiijooyin - Bogga {currentPage, number} / {totalPages, number}",
+    "apply": "Codso",
+    "simple": "Fudud",
+    "advanced": "Horumarsan",
+    "semantic": "Eray-bixin"
   },
   "chat": {
     "empty-state": "Ka faa'ideyso awoodda AI si aad ugu dhex baadho buugga, ku bilow qorista waxa aad raadineyso...",
diff --git a/locales/so/team.json b/locales/so/team.json
index 5547723d..e21a9c90 100644
--- a/locales/so/team.json
+++ b/locales/so/team.json
@@ -20,7 +20,7 @@
     },
     "ryad-ramo": {
       "name": "Ryad Ramo",
-      "description": "Ryad wuxuu takhasus ku leeyahay fiqiga Maliki iyo taariikhda Andulus. Wuxuu wada maamulay Markaz Imam Malik."
+      "description": "Ryad waa cilmi-baadhe ku takhasusay cilmi iyo taariikh Islaamka. Wuxuu leeyahay shahaadada BA ee Daraasaadka Islaamka wuxuuna aasaasay GEMS of Al-Andalus."
     },
     "rahma-fateen": {
       "name": "Rahma Fateen",
diff --git a/locales/tr/reader.json b/locales/tr/reader.json
index ba4ecbde..80a3843b 100644
--- a/locales/tr/reader.json
+++ b/locales/tr/reader.json
@@ -40,7 +40,12 @@
     "portion": "Bölüm",
     "entire-book": "Tüm Kitap",
     "book": "Kitap",
-    "book-select-description": "Birden fazla kitap aramak henüz desteklenmiyor"
+    "book-select-description": "Birden fazla kitap aramak henüz desteklenmiyor",
+    "results": "{total, number} Sonuçlar - Sayfa {currentPage, number} / {totalPages, number}",
+    "apply": "Uygula",
+    "simple": "Basit",
+    "advanced": "Gelişmiş",
+    "semantic": "Semantik"
   },
   "chat": {
     "empty-state": "Kitap içinde arama yapmak için yapay zekanın gücünü kullanın, aradığınız şeyi yazarak başlayın...",
diff --git a/locales/tr/team.json b/locales/tr/team.json
index 8030f6f2..ae849646 100644
--- a/locales/tr/team.json
+++ b/locales/tr/team.json
@@ -20,7 +20,7 @@
     },
     "ryad-ramo": {
       "name": "Ryad Ramo",
-      "description": "Ryad, Maliki fıkhı ve Endülüs tarihi konusunda uzmanlaşmıştır. Markaz Imam Malik'i ortaklaşa yönetti."
+      "description": "Ryad, İslam bilgileri ve tarihi konusunda uzmanlaşmış bir araştırmacıdır. İslam Çalışmaları alanında lisans derecesine sahiptir ve Gems of Al-Andalus'un kurucusudur."
     },
     "rahma-fateen": {
       "name": "Rahma Fateen",
diff --git a/locales/ur/reader.json b/locales/ur/reader.json
index 058e4088..3c8f2a57 100644
--- a/locales/ur/reader.json
+++ b/locales/ur/reader.json
@@ -40,7 +40,12 @@
     "portion": "حصہ",
     "entire-book": "پوری کتاب",
     "book": "کتاب",
-    "book-select-description": "متعدد کتابوں کی تلاش کی ابھی تک حمایت نہیں ہے"
+    "book-select-description": "متعدد کتابوں کی تلاش کی ابھی تک حمایت نہیں ہے",
+    "results": "{total, number} نتائج - صفحہ {currentPage, number} / {totalPages, number}",
+    "apply": "لگائیں",
+    "simple": "سادہ",
+    "advanced": "اعلیٰ",
+    "semantic": "لفظی"
   },
   "chat": {
     "empty-state": "کتاب کے اندر تلاش کرنے کے لئے AI کی طاقت کا استعمال کریں، وہ لکھ کر شروع کریں جسے آپ تلاش کر رہے ہیں...",
diff --git a/locales/ur/team.json b/locales/ur/team.json
index fefb015f..0d294c00 100644
--- a/locales/ur/team.json
+++ b/locales/ur/team.json
@@ -20,7 +20,7 @@
     },
     "ryad-ramo": {
       "name": "ریاض رامو",
-      "description": "ریاض اندلسی تاریخ اور مالکی فقہ میں مہارت رکھتے ہیں۔ انہوں نے مرکز امام مالک کی مشترکہ انتظامیہ کی۔"
+      "description": "ریاض اسلامی علوم اور تاریخ میں مہارت رکھنے والے محقق ہیں۔ انہوں نے اسلامیات میں بی اے کیا ہے اور جیمز آف الاندلس کے بانی ہیں۔"
     },
     "rahma-fateen": {
       "name": "رحمہ فطین",


Reviews:
user: login: coderabbitai[bot]
body: **Actionable comments posted: 2**

<details>
<summary>📜 Review details</summary>

**Configuration used: CodeRabbit UI**
**Review profile: CHILL**
**Plan: Pro**

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between 84f576d5486be8754d15949612dae472d54f37a6 and c2bfe666da265c9702b29afe922d0c92c7bcf7a1.

</details>

<details>
<summary>📒 Files selected for processing (26)</summary>

* `locales/ar/reader.json` (1 hunks)
* `locales/ar/team.json` (1 hunks)
* `locales/bn/reader.json` (1 hunks)
* `locales/bn/team.json` (1 hunks)
* `locales/es/reader.json` (1 hunks)
* `locales/es/team.json` (1 hunks)
* `locales/fa/reader.json` (1 hunks)
* `locales/fa/team.json` (1 hunks)
* `locales/fr/reader.json` (1 hunks)
* `locales/fr/team.json` (1 hunks)
* `locales/ha/reader.json` (1 hunks)
* `locales/ha/team.json` (1 hunks)
* `locales/hi/reader.json` (1 hunks)
* `locales/hi/team.json` (1 hunks)
* `locales/ms/reader.json` (1 hunks)
* `locales/ms/team.json` (1 hunks)
* `locales/ps/reader.json` (1 hunks)
* `locales/ps/team.json` (1 hunks)
* `locales/ru/reader.json` (1 hunks)
* `locales/ru/team.json` (1 hunks)
* `locales/so/reader.json` (1 hunks)
* `locales/so/team.json` (1 hunks)
* `locales/tr/reader.json` (1 hunks)
* `locales/tr/team.json` (1 hunks)
* `locales/ur/reader.json` (1 hunks)
* `locales/ur/team.json` (1 hunks)

</details>

<details>
<summary>🔇 Additional comments (27)</summary><blockquote>

<details>
<summary>locales/ar/team.json (1)</summary>

`23-23`: **Translation update for Ryad’s description is accurate.**  
The revised Arabic description correctly reflects the broader role, academic credential, and founder status.

</details>
<details>
<summary>locales/ru/team.json (1)</summary>

`23-23`: **Please verify proper noun localization for "Gems of Al‑Andalus".**  
The updated Russian description is clear, but the brand name is left in English. Confirm whether "Gems of Al‑Andalus" should remain untranslated or be localized into Cyrillic.

</details>
<details>
<summary>locales/fr/team.json (1)</summary>

`23-23`: **Please verify proper noun localization for "Gems of Al‑Andalus".**  
The French description correctly captures the new role and credentials, but the entity "Gems of Al‑Andalus" is kept in English. Confirm if this should be translated or localized into French.

</details>
<details>
<summary>locales/fa/team.json (1)</summary>

`23-23`: **Farsi translation update looks good.**  
The revised description accurately conveys Ryad’s specialization, degree, and founder role using appropriate Persian terminology.

</details>
<details>
<summary>locales/es/team.json (1)</summary>

`23-23`: **Verify updated Spanish translation for Ryad Ramo**  
The description has been revised to highlight Ryad’s research background and founder status. Please confirm that this aligns with the original English source and that “Gems of Al‑Andalus” remains correctly represented as a proper noun.

</details>
<details>
<summary>locales/ha/team.json (1)</summary>

`23-23`: **Verify updated Hausa translation for Ryad Ramo**  
The description now emphasizes Ryad’s expertise in Islamic studies and his founder role. Ensure the localization accurately reflects the English source and that “Gems of Al‑Andalus” is preserved.

</details>
<details>
<summary>locales/bn/team.json (1)</summary>

`23-23`: **Verify updated Bengali translation for Ryad Ramo**  
The team member’s description has been modified to stress his specialization and founder status. Confirm consistency with the source string and correct presentation of “Gems of Al‑Andalus.”

</details>
<details>
<summary>locales/so/team.json (1)</summary>

`23-23`: **Verify updated Somali translation for Ryad Ramo**  
The description now presents Ryad as a researcher with a BA and founder of Gems of Al‑Andalus. Please validate that this matches the original intent and proper noun formatting.

</details>
<details>
<summary>locales/ru/reader.json (1)</summary>

`43-48`: <details>
<summary>✅ Verification successful</summary>

**Add new Russian search UI translations**  
New keys for multi‑book search description, paginated results, apply button, and search modes have been introduced under `"search"`. Verify these entries match the English identifiers and ensure all other locale `reader.json` files include the same keys for feature parity.  


---

🏁 Script executed:

```shell
#!/bin/bash
# Verify that all reader.json locales contain the new search keys.
required=(book-select-description results apply simple advanced semantic)
for file in locales/*/reader.json; do
  echo "Checking $file"
  for key in "${required[@]}"; do
    if ! jq -e ".search[\"$key\"]" "$file" > /dev/null; then
      echo "  Missing key: $key"
    fi
  done
done
```

Length of output: 8699

---



</details>

**✅ All new search UI keys are present in every locale’s reader.json**

Verified that the keys `book-select-description`, `results`, `apply`, `simple`, `advanced`, and `semantic` under `"search"` exist in all `locales/*/reader.json` files. No missing entries found—ready to merge.

</details>
<details>
<summary>locales/so/reader.json (1)</summary>

`43-48`: **Add new search-related localization keys**  
The `search` section now correctly includes the new keys `"book-select-description"`, `"results"`, `"apply"`, `"simple"`, `"advanced"`, and `"semantic"`, matching the update in other locales.

</details>
<details>
<summary>locales/ps/team.json (1)</summary>

`23-23`: **Update Ryad Ramo’s profile description**  
The description for `"ryad-ramo"` has been revised to reflect his role as a researcher specializing in Islamic knowledge and history and his founder status, consistent with other locale team files.

</details>
<details>
<summary>locales/ha/reader.json (1)</summary>

`43-48`: **Incorporate new search UI strings**  
The Hausa `reader.json` now includes the `"results"`, `"apply"`, `"simple"`, `"advanced"`, and `"semantic"` keys under `search`, along with the updated `"book-select-description"`. This aligns with the Crowdin sync across all reader locales.

</details>
<details>
<summary>locales/hi/reader.json (1)</summary>

`43-48`: **Add Hindi search pagination and mode labels**  
The Hindi `reader.json` has been extended with `"results"`, `"apply"`, `"simple"`, `"advanced"`, and `"semantic"` under the `search` block, plus the trailing comma adjustment on `"book-select-description"`. These mirror the other language updates.

</details>
<details>
<summary>locales/hi/team.json (1)</summary>

`23-23`: **Revise Ryad Ramo’s team description**  
The Hindi `team.json` entry for `"ryad-ramo"` now portrays him as a researcher in Islamic knowledge and history with a BA and founder credentials, consistent with the changes in other locale files.

</details>
<details>
<summary>locales/fr/reader.json (1)</summary>

`43-48`: **New search UI translation keys are consistent and valid.**  
The added keys (`results`, `apply`, `simple`, `advanced`, `semantic`) under the `search` section align with the English originals and mirror the structure in other locale files. JSON syntax—including comma placement—is correct.

</details>
<details>
<summary>locales/bn/reader.json (1)</summary>

`43-48`: **Bengali translations for the new search keys are accurate.**  
The newly introduced entries (`results`, `apply`, `simple`, `advanced`, `semantic`) follow the same ordering and formatting as other locales. JSON structure is well-formed.

</details>
<details>
<summary>locales/tr/team.json (1)</summary>

`23-23`: **Ryad Ramo’s updated description matches other locales.**  
The shift to a broader researcher/founder role is applied consistently with the updates in other language files. JSON remains valid.

</details>
<details>
<summary>locales/ps/reader.json (1)</summary>

`43-48`: **Pashto translations for enhanced search functionality are correctly added.**  
The block of new keys (`results`, `apply`, `simple`, `advanced`, `semantic`) under `search` mirrors other locale updates, and the JSON is syntactically sound.

</details>
<details>
<summary>locales/ms/reader.json (1)</summary>

`43-48`: **Malay translations for search UI enhancements are proper.**  
All five new `search` keys are present and translated consistently with peer locale files. JSON formatting, including commas, is intact.

</details>
<details>
<summary>locales/ms/team.json (1)</summary>

`23-23`: **Update team member description.**  
The description for `ryad-ramo` has been updated to present his role as a researcher with a BA in Islamic Studies and founder of Gems of Al-Andalus, which aligns with the new profile guidelines.

</details>
<details>
<summary>locales/es/reader.json (1)</summary>

`43-48`: **Enhance search UI translations.**  
The new `results`, `apply`, `simple`, `advanced`, and `semantic` keys are correctly added under the `search` section, following the established pattern and ensuring feature parity across locales.

</details>
<details>
<summary>locales/ur/reader.json (1)</summary>

`43-48`: **Enhance search UI translations.**  
The `results`, `apply`, `simple`, `advanced`, and `semantic` entries have been appended correctly, matching other locales and enabling the updated search interface.

</details>
<details>
<summary>locales/tr/reader.json (1)</summary>

`43-48`: **Enhance search UI translations.**  
The new search-related keys (`results`, `apply`, `simple`, `advanced`, `semantic`) are properly inserted and mirror the updates in other language files.

</details>
<details>
<summary>locales/fa/reader.json (2)</summary>

`43-43`: **Maintain JSON syntax for additional entries.**  
The `book-select-description` entry correctly ends with a comma, allowing the subsequent `results` key to be added without syntax errors.

---

`45-48`: **Add remaining search mode labels.**  
The `apply`, `simple`, `advanced`, and `semantic` labels are correctly introduced and align with the new search UI keys in other locales.

</details>
<details>
<summary>locales/ar/reader.json (2)</summary>

`43-43`: **Add trailing comma to enable additional keys**  
The comma after `"book-select-description"` is correctly added to maintain valid JSON syntax for the subsequent entries.

---

`44-48`: <details>
<summary>❓ Verification inconclusive</summary>

**Verify new search localization keys and placeholders**  
You've introduced the `results`, `apply`, `simple`, `advanced`, and `semantic` keys with ICU-style placeholders in the `search` section. Please ensure:

1. The placeholder patterns (`{total, number}`, `{currentPage, number}`, `{totalPages, number}`) align with your message formatter.  
2. Consistency across all localized `reader.json` files so that every locale defines the same set of keys under `search`.  

To verify key presence across locales, run:

---

🏁 Script executed:

```shell
#!/bin/bash
# Verify all locales include the new search keys
MISSING=0
for key in results apply simple advanced semantic; do
  for file in locales/*/reader.json; do
    if ! jq -e ".search | has(\"$key\")" "$file" > /dev/null; then
      echo "❌ Missing '$key' in $file"
      MISSING=1
    fi
  done
done
exit $MISSING
```

Length of output: 6846

---



</details>

**All new localization keys are present across locales**  
I ran the provided `jq` script against every `locales/*/reader.json` and confirmed that `results`, `apply`, `simple`, `advanced`, and `semantic` all exist under the `search` section in every file.

• Verified via:
```shell
for key in results apply simple advanced semantic; do
  for file in locales/*/reader.json; do
    jq -e ".search | has(\"$key\")" "$file" >/dev/null
  done
done
```

Please double‑check that your ICU‑style placeholders (`{total, number}`, `{currentPage, number}`, `{totalPages, number}`) align with your message formatter’s expected syntax.

</details>

</blockquote></details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-19T00:17:25Z

Review comments:
diff_hunk: @@ -20,7 +20,7 @@
     },
     "ryad-ramo": {
       "name": "ریاض رامو",
-      "description": "ریاض اندلسی تاریخ اور مالکی فقہ میں مہارت رکھتے ہیں۔ انہوں نے مرکز امام مالک کی مشترکہ انتظامیہ کی۔"
+      "description": "ریاض اسلامی علوم اور تاریخ میں مہارت رکھنے والے محقق ہیں۔ انہوں نے اسلامیات میں بی اے کیا ہے اور جیمز آف الاندلس کے بانی ہیں۔"
path: locales/ur/team.json
user: login: coderabbitai[bot]
body: _⚠️ Potential issue_

**Incorrect transliteration of the founder name; must be fixed.**  
The current Urdu string mistakenly transliterates "Gems" as "جیمز" ("James"). It should correctly reference the proper name "Gems of Al‑Andalus".  

Apply this diff to correct the transliteration:

```diff
-"description": "ریاض اسلامی علوم اور تاریخ میں مہارت رکھنے والے محقق ہیں۔ انہوں نے اسلامیات میں بی اے کیا ہے اور جیمز آف الاندلس کے بانی ہیں۔"
+"description": "ریاض اسلامی علوم اور تاریخ میں مہارت رکھنے والے محقق ہیں۔ انہوں نے اسلامیات میں بی اے کیا ہے اور جواہرات الاندلس کے بانی ہیں۔"
```


<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **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.

`````suggestion
      "description": "ریاض اسلامی علوم اور تاریخ میں مہارت رکھنے والے محقق ہیں۔ انہوں نے اسلامیات میں بی اے کیا ہے اور جواہرات الاندلس کے بانی ہیں۔"
`````

</details>

<!-- suggestion_end -->

<!-- This is an auto-generated comment by CodeRabbit -->
created_at: 2025-04-19T00:17:23Z
author_association: CONTRIBUTOR
diff_hunk: @@ -40,7 +40,12 @@
     "portion": "بخش",
     "entire-book": "تمام کتاب",
     "book": "کتاب",
-    "book-select-description": "جستجوی همزمان در چند کتاب هنوز پشتیبانی نمی‌شود"
+    "book-select-description": "جستجوی همزمان در چند کتاب هنوز پشتیبانی نمی‌شود",
+    "results": "{total, number} نتیجه \n \n - \n \n صفحه {currentPage, number} / {totalPages, number}",
path: locales/fa/reader.json
user: login: coderabbitai[bot]
body: _⚠️ Potential issue_

**Fix malformed `results` translation.**  
The `results` string contains unnecessary newline escapes and uses the singular form "نتیجه", which differs from other locales and can break layout.  

Please update to a consistent inline format and plural form, for example:
```diff
- "results": "{total, number} نتیجه \n \n - \n \n صفحه {currentPage, number} / {totalPages, number}",
+ "results": "{total, number} نتایج - صفحه {currentPage, number} / {totalPages, number}",
```


<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **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.

`````suggestion
    "results": "{total, number} نتایج - صفحه {currentPage, number} / {totalPages, number}",
`````

</details>

<!-- suggestion_end -->

<!-- This is an auto-generated comment by CodeRabbit -->
created_at: 2025-04-19T00:17:24Z
author_association: CONTRIBUTOR

PR comments:
user: login: vercel[bot]
created_at: 2025-04-19T00:15:38Z
body: [vc]: #J6pTY1If/ADIYcBGMFLYmL8rklNQL1RfAVts7umMIKc=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJ1c3VsIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL2RpZ2l0YWxzZWVtcy1wcm9qZWN0cy91c3VsLzNFOTZvUktSd0JoZlpBNGZNanpnRHNhOEJWYVgiLCJwcmV2aWV3VXJsIjoidXN1bC1naXQtbDEwbmNyb3dkaW50cmFuc2xhdGlvbnMtZGlnaXRhbHNlZW1zLXByb2plY3RzLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoidXN1bC1naXQtbDEwbmNyb3dkaW50cmFuc2xhdGlvbnMtZGlnaXRhbHNlZW1zLXByb2plY3RzLnZlcmNlbC5hcHAifSwicm9vdERpcmVjdG9yeSI6bnVsbH1dfQ==
**The latest updates on your projects**. Learn more about [Vercel for Git ↗︎](https://vercel.link/github-learn-more)

| Name | Status | Preview | Comments | Updated (UTC) |
| :--- | :----- | :------ | :------- | :------ |
| **usul** | ✅ Ready ([Inspect](https://vercel.com/digitalseems-projects/usul/3E96oRKRwBhfZA4fMjzgDsa8BVaX)) | [Visit Preview](https://usul-git-l10ncrowdintranslations-digitalseems-projects.vercel.app) | 💬 [**Add feedback**](https://vercel.live/open-feedback/usul-git-l10ncrowdintranslations-digitalseems-projects.vercel.app?via=pr-comment-feedback-link) | Apr 19, 2025 0:18am |


author_association: CONTRIBUTOR
user: login: coderabbitai[bot]
created_at: 2025-04-19T00:15:45Z
body: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
<!-- walkthrough_start -->

## Walkthrough

This update extends the localization files for multiple languages by adding new search-related UI strings under the "reader" section, including keys for displaying search result counts, pagination, an "apply" button, and search mode labels ("simple", "advanced", "semantic"). Additionally, the team member description for Ryad Ramo has been revised across all supported languages to reflect a broader academic and founder role, replacing previous references to specific jurisprudence expertise and management positions. No structural changes were made to the files beyond these additions and modifications.

## Changes

| Files                                      | Change Summary |
|---------------------------------------------|---------------|
| locales/ar/reader.json<br>locales/bn/reader.json<br>locales/es/reader.json<br>locales/fa/reader.json<br>locales/fr/reader.json<br>locales/ha/reader.json<br>locales/hi/reader.json<br>locales/ms/reader.json<br>locales/ps/reader.json<br>locales/ru/reader.json<br>locales/so/reader.json<br>locales/tr/reader.json<br>locales/ur/reader.json | Added new translation keys under the "search" section: "results" (showing total results and pagination), "apply" (button label), and search mode labels ("simple", "advanced", "semantic"). Existing keys were not removed or altered except for minor formatting (e.g., trailing commas). |
| locales/ar/team.json<br>locales/bn/team.json<br>locales/es/team.json<br>locales/fa/team.json<br>locales/fr/team.json<br>locales/ha/team.json<br>locales/hi/team.json<br>locales/ms/team.json<br>locales/ps/team.json<br>locales/ru/team.json<br>locales/so/team.json<br>locales/tr/team.json<br>locales/ur/team.json | Updated the description for team member Ryad Ramo in all supported languages. The new description emphasizes his role as a researcher in Islamic knowledge and history, his academic degree, and his status as founder of a related initiative, replacing previous references to jurisprudence expertise and management roles. |

## Sequence Diagram(s)

```mermaid
sequenceDiagram
    participant User
    participant ReaderUI
    participant Localization

    User->>ReaderUI: Initiates search or navigates search UI
    ReaderUI->>Localization: Requests localized strings for search UI
    Localization-->>ReaderUI: Returns "results", "apply", "simple", "advanced", "semantic" strings
    ReaderUI-->>User: Displays updated search UI with localized labels and pagination info
```

## Poem

> In every tongue, the search grows bright,  
> With "apply" and modes in users' sight.  
> Ryad’s story now anew,  
> Scholar, founder—credits due!  
> Across the world, our words unite,  
> 🐇 Hopping forward, translations light!  
>

<!-- walkthrough_end -->

<!-- announcements_start -->

> [!TIP]
> <details>
> <summary>⚡💬 Agentic Chat (Pro Plan, General Availability)</summary>
> 
> - We're introducing multi-step agentic chat in review comments and issue comments, within and outside of PR's. This feature enhances review and issue discussions with the CodeRabbit agentic chat by enabling advanced interactions, including the ability to create pull requests directly from comments and add commits to existing pull requests.
> 
> </details>

<!-- announcements_end -->
<!-- internal state start -->


<!-- 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 -->

<!-- internal state end -->
<!-- tips_start -->

---

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

<details>
<summary>❤️ Share</summary>

- [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
- [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
- [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
- [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)

</details>

<details>
<summary>🪧 Tips</summary>

### Chat

There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai?utm_source=oss&utm_medium=github&utm_campaign=seemorg/usul&utm_content=75):

- Review comments: Directly reply to a review comment made by CodeRabbit. Example:
  - `I pushed a fix in commit <commit_id>, please review it.`
  - `Generate unit testing code for this file.`
  - `Open a follow-up GitHub issue for this discussion.`
- Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
  - `@coderabbitai generate unit testing code for this file.`
  -	`@coderabbitai modularize this function.`
- PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
  - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
  - `@coderabbitai read src/utils.ts and generate unit testing code.`
  - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
  - `@coderabbitai help me debug CodeRabbit configuration file.`

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

### CodeRabbit Commands (Invoked using PR comments)

- `@coderabbitai pause` to pause the reviews on a PR.
- `@coderabbitai resume` to resume the paused reviews.
- `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
- `@coderabbitai full review` to do a full review from scratch and review all the files again.
- `@coderabbitai summary` to regenerate the summary of the PR.
- `@coderabbitai generate docstrings` to [generate docstrings](https://docs.coderabbit.ai/finishing-touches/docstrings) for this PR.
- `@coderabbitai resolve` resolve all the CodeRabbit review comments.
- `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
- `@coderabbitai help` to get help.

### Other keywords and placeholders

- Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
- Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
- Add `@coderabbitai` anywhere in the PR title to generate the title automatically.

### CodeRabbit Configuration File (`.coderabbit.yaml`)

- You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository.
- Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information.
- If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json`

### Documentation and Community

- Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
- Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
- Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.

</details>

<!-- tips_end -->
author_association: CONTRIBUTOR