Urdu public pages (#2); hide unconfigured semantic search; safe defaults

- translate reading-path views (poet, category, poem, search, header, login, partials)
  from Persian to Urdu (exact-run dictionary, 262 strings; AI-summary data marker kept)
- semantic search widget only when SemanticSearchAPIRoot is configured
- appsettings defaults: no Ganjoor tracking script, no Ganjoor semantic search,
  API/site roots default to the local Divan stack instead of api.ganjoor.net

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Anas Rashid 2026-10-05 00:18:00 +02:00
parent 9bd445614e
commit 4fd832dbcb
22 changed files with 389 additions and 385 deletions

View File

@ -92,19 +92,19 @@
{ {
<div class="notice"> <div class="notice">
<p> <p>
از آنجا که شما با شبکهٔ داخلی اطلاعات ایران وصل شده‌اید در حال مشاهدهٔ یک نسخهٔ آفلاین از دیوان هستید. آپ دیوان کا آف لائن نسخہ دیکھ رہے ہیں.
</p> </p>
<p> <p>
این یک نسخهٔ آفلاین با اطلاعات قدیمی از سایت دیوان است که برای ایرانیان داخل کشور که اینترنتشان قطع است در دسترس قرار گرفته است. یہ دیوان کا پرانی معلومات والا آف لائن نسخہ ہے.
</p> </p>
<p> <p>
بعضی امکاناتِ نیازمند اینترنت حذف شده و برخی قابلیتها نیز ممکن است به درستی کار نکند. انٹرنیٹ پر منحصر کچھ سہولتیں ہٹا دی گئی ہیں اور کچھ شاید ٹھیک کام نہ کریں.
</p> </p>
<p> <p>
امکانات نام‌نویسی و درج حاشیه نیز در آن غیرفعال است. اگر می‌توانید جایی اطلاعاتی وارد کنید انتظار ذخیرهٔ آن را به طور دائم نداشته باشید. رکنیت اور حاشیہ لکھنے کی سہولت بند ہے؛ یہاں درج کی گئی کوئی بھی چیز محفوظ نہیں رہے گی.
</p> </p>
<p> <p>
نسخهٔ به‌روز دیوان روی اینترنت تا پایان قطعی اینترنت در ایران برای آی.پی‌های خارج از ایران در دسترس است. دیوان کا تازہ نسخہ انٹرنیٹ پر دستیاب ہے.
</p> </p>
</div> </div>
} }
@ -112,10 +112,10 @@ else if (Model.ReadOnlyMode)
{ {
<div class="notice"> <div class="notice">
<p> <p>
دیوان در حال حاضر در وضعیت فقط‌خواندنی است. دیوان اس وقت صرف پڑھنے کے لیے دستیاب ہے.
</p> </p>
<p> <p>
امکانات نام‌نویسی و درج حاشیه نیز در آن غیرفعال است. اگر می‌توانید جایی اطلاعاتی وارد کنید انتظار ذخیرهٔ آن را به طور دائم نداشته باشید. رکنیت اور حاشیہ لکھنے کی سہولت بند ہے؛ یہاں درج کی گئی کوئی بھی چیز محفوظ نہیں رہے گی.
</p> </p>
</div> </div>
} }
@ -193,7 +193,7 @@ else if (Model.ReadOnlyMode)
function createInformationNotification() { function createInformationNotification() {
tinymce.activeEditor.notificationManager.open({ tinymce.activeEditor.notificationManager.open({
text: 'تمنا می‌کنیم که به جای گوشزد کردن خطاهای املایی و تایپی در حاشیه‌ها از دکمهٔ «ویرایش» استفاده کنید و خطا را تصحیح کنید.', text: 'گزارش ہے کہ املا یا ٹائپ کی غلطیاں حاشیوں میں بتانے کے بجائے «ترمیم» کا بٹن استعمال کر کے خود درست کریں.',
type: 'info' type: 'info'
}); });
} }

View File

@ -29,16 +29,16 @@
@* Category Tabs *@ @* Category Tabs *@
<div class="poempretab" id="words"></div> <div class="poempretab" id="words"></div>
<div class="poemtab"> <div class="poemtab">
<div class="poemtablinks"><a href="#pretab">آمار</a></div> <div class="poemtablinks"><a href="#pretab">اعداد و شمار</a></div>
<div class="poemtablinks active"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">واژگان</a></div> <div class="poemtablinks active"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">الفاظ</a></div>
<div class="poemtablinks"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">خوانش‌ها</a></div> <div class="poemtablinks"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">قرأتیں</a></div>
<div class="poemtablinks"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">نامبردگان</a></div> <div class="poemtablinks"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">شخصیات</a></div>
</div> </div>
@* Word Counts Section *@ @* Word Counts Section *@
<div class="related-images-frame poemtabcontent"> <div class="related-images-frame poemtabcontent">
<div class="century cursor-pointer" id="load-word-counts" onclick="loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)"> <div class="century cursor-pointer" id="load-word-counts" onclick="loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">
محاسبهٔ بسامد واژگان الفاظ کی تعداد شمار کریں
</div> </div>
<div id="wordcounts-placeholder"> <div id="wordcounts-placeholder">
@if (Model.CategoryWordsCounts != null) @if (Model.CategoryWordsCounts != null)
@ -51,36 +51,36 @@
@* Recitations Section *@ @* Recitations Section *@
<div class="poempretab" id="recitations"></div> <div class="poempretab" id="recitations"></div>
<div class="poemtab"> <div class="poemtab">
<div class="poemtablinks"><a href="#pretab">آمار</a></div> <div class="poemtablinks"><a href="#pretab">اعداد و شمار</a></div>
<div class="poemtablinks"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">واژگان</a></div> <div class="poemtablinks"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">الفاظ</a></div>
<div class="poemtablinks active"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">خوانش‌ها</a></div> <div class="poemtablinks active"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">قرأتیں</a></div>
<div class="poemtablinks"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">نامبردگان</a></div> <div class="poemtablinks"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">شخصیات</a></div>
</div> </div>
<div class="related-images-frame poemtabcontent"> <div class="related-images-frame poemtabcontent">
@if (Model.CategoryHasRecitations) @if (Model.CategoryHasRecitations)
{ {
<div class="century cursor-pointer" id="load-cat-recitations" onclick="loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)"> <div class="century cursor-pointer" id="load-cat-recitations" onclick="loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">
برای بارگذاری خوانش‌ها کلیک کنید. قرأتیں لوڈ کرنے کے لیے کلک کریں.
</div> </div>
<div id="recitations-section"></div> <div id="recitations-section"></div>
} }
else else
{ {
<p>این بخش هنوز خوانشی ندارد.</p> <p>اس حصے کی ابھی کوئی قرأت نہیں.</p>
} }
</div> </div>
@* Person Graph ("characters in this work") Section *@ @* Person Graph ("characters in this work") Section *@
<div class="poempretab" id="persongraph"></div> <div class="poempretab" id="persongraph"></div>
<div class="poemtab"> <div class="poemtab">
<div class="poemtablinks"><a href="#pretab">آمار</a></div> <div class="poemtablinks"><a href="#pretab">اعداد و شمار</a></div>
<div class="poemtablinks"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">واژگان</a></div> <div class="poemtablinks"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">الفاظ</a></div>
<div class="poemtablinks"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">خوانش‌ها</a></div> <div class="poemtablinks"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">قرأتیں</a></div>
<div class="poemtablinks active"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">نامبردگان</a></div> <div class="poemtablinks active"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">شخصیات</a></div>
</div> </div>
<div class="related-images-frame poemtabcontent"> <div class="related-images-frame poemtabcontent">
<div class="century cursor-pointer" id="load-persongraph" onclick="loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)"> <div class="century cursor-pointer" id="load-persongraph" onclick="loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">
بارگذاری نامبردگانی این بخش اس حصے کی شخصیات لوڈ کریں
</div> </div>
<div id="persongraph-placeholder"></div> <div id="persongraph-placeholder"></div>
</div> </div>
@ -126,7 +126,7 @@
<div class="spacer">&nbsp;</div> <div class="spacer">&nbsp;</div>
<div class="related-images-frame"> <div class="related-images-frame">
<p> <p>
<a role="button" href="/Admin/ModifyPage?id=@Model.DivanPage.Id" class="pagebutton">ویرایش مستقیم</a> <a role="button" href="/Admin/ModifyPage?id=@Model.DivanPage.Id" class="pagebutton">براہِ راست ترمیم</a>
</p> </p>
</div> </div>
} }
@ -172,7 +172,7 @@
// which marker was actually clicked // which marker was actually clicked
var poemDesc = markOrder + '<a class="actionlink" onclick="viewLocation(' + marker.poemGeoTag.Location.Latitude + ', ' + marker.poemGeoTag.Location.Longitude + ')">' + marker.poemGeoTag.Location.Name + '</a> <br> <a href="' + marker.poemGeoTag.Poem.FullUrl + '">' + marker.poemGeoTag.Poem.FullTitle + '</a>'; var poemDesc = markOrder + '<a class="actionlink" onclick="viewLocation(' + marker.poemGeoTag.Location.Latitude + ', ' + marker.poemGeoTag.Location.Longitude + ')">' + marker.poemGeoTag.Location.Name + '</a> <br> <a href="' + marker.poemGeoTag.Poem.FullUrl + '">' + marker.poemGeoTag.Poem.FullTitle + '</a>';
if (marker.poemGeoTag.LunarYear != null) { if (marker.poemGeoTag.LunarYear != null) {
poemDesc += '<br> سال ' + persianizeNumerals(marker.poemGeoTag.LunarYear.toString()) + ' قمری'; poemDesc += '<br> سال ' + persianizeNumerals(marker.poemGeoTag.LunarYear.toString()) + ' ہجری';
} }
popup.setContent(poemDesc); popup.setContent(poemDesc);
popup.setLatLng(marker.getLatLng()); popup.setLatLng(marker.getLatLng());

View File

@ -62,12 +62,12 @@
{ {
<div class="poempretab" id="wordcounts-placeholder-tab-items"></div> <div class="poempretab" id="wordcounts-placeholder-tab-items"></div>
<div class="poemtab"> <div class="poemtab">
<div class="poemtablinks"><a href="#pretab">سخنوران</a></div> <div class="poemtablinks"><a href="#pretab">شعرا</a></div>
<div class="poemtablinks"><a href="#langs-stats-tab-items">زبان‌ها</a></div> <div class="poemtablinks"><a href="#langs-stats-tab-items">زبانیں</a></div>
<div class="poemtablinks"><a href="#formats-stats-tab-items">قالب‌ها</a></div> <div class="poemtablinks"><a href="#formats-stats-tab-items">اصناف</a></div>
<div class="poemtablinks"><a href="#rhyhtms-stats-tab-items">وزن‌ها</a></div> <div class="poemtablinks"><a href="#rhyhtms-stats-tab-items">بحریں</a></div>
<div class="poemtablinks"><a href="#couplets-stats-tab-items">تعداد ابیات</a></div> <div class="poemtablinks"><a href="#couplets-stats-tab-items">اشعار کی تعداد</a></div>
<div class="poemtablinks active"><a href="#wordcounts-placeholder-tab-items">بسامد واژگان</a></div> <div class="poemtablinks active"><a href="#wordcounts-placeholder-tab-items">الفاظ کی تعداد</a></div>
</div> </div>
<div id="wordcounts-placeholder"> <div id="wordcounts-placeholder">
@ -109,7 +109,7 @@
<div class="spacer">&nbsp;</div> <div class="spacer">&nbsp;</div>
<div class="related-images-frame"> <div class="related-images-frame">
<p> <p>
<a role="button" href="/Admin/ModifyPage?id=@Model.DivanPage.Id" class="pagebutton">ویرایش مستقیم</a> <a role="button" href="/Admin/ModifyPage?id=@Model.DivanPage.Id" class="pagebutton">براہِ راست ترمیم</a>
</p> </p>
</div> </div>
} }

View File

@ -75,9 +75,9 @@
<div id="sticky-audio-player" class="up-sticky-player" style="display:none;"> <div id="sticky-audio-player" class="up-sticky-player" style="display:none;">
<span id="sticky-audio-narrator" class="up-sticky-player__narrator"></span> <span id="sticky-audio-narrator" class="up-sticky-player__narrator"></span>
<div id="sticky-audio-slot" class="up-sticky-player__audio-slot"></div> <div id="sticky-audio-slot" class="up-sticky-player__audio-slot"></div>
<a role="button" id="sticky-scroll-lock" class="cursor-pointer up-sticky-player__lock" onclick="switchPlayerScrollLock()" title="قفل خودکار پیمایش به بیت جاری"><i id="sticky-scroll-lock-icon" class="notranslate material-icons">lock_open</i></a> <a role="button" id="sticky-scroll-lock" class="cursor-pointer up-sticky-player__lock" onclick="switchPlayerScrollLock()" title="موجودہ شعر پر خودکار قفل"><i id="sticky-scroll-lock-icon" class="notranslate material-icons">lock_open</i></a>
<a role="button" class="cursor-pointer up-sticky-player__jump" onclick="scrollToCurrentVerse()" title="رفتن به بیت جاری"><i class="notranslate material-icons">my_location</i></a> <a role="button" class="cursor-pointer up-sticky-player__jump" onclick="scrollToCurrentVerse()" title="موجودہ شعر پر جائیں"><i class="notranslate material-icons">my_location</i></a>
<a role="button" class="cursor-pointer up-sticky-player__close" onclick="closeStickyPlayer()" title="بستن"><i class="notranslate material-icons">close</i></a> <a role="button" class="cursor-pointer up-sticky-player__close" onclick="closeStickyPlayer()" title="بند کریں"><i class="notranslate material-icons">close</i></a>
</div> </div>
} }
@ -92,7 +92,7 @@
<div class="@Model.PoemBlockClass" id="post-@Html.Raw(Model.DivanPage.Id.ToString())"> <div class="@Model.PoemBlockClass" id="post-@Html.Raw(Model.DivanPage.Id.ToString())">
@if (Model.DivanPage.Poem != null && Model.DivanPage.Poem.ClaimedByMultiplePoets) @if (Model.DivanPage.Poem != null && Model.DivanPage.Poem.ClaimedByMultiplePoets)
{ {
<div class="ribbon"><a href="#qpoems">منتسب به چند شاعر</a></div> <div class="ribbon"><a href="#qpoems">کئی شعرا سے منسوب</a></div>
} }
@{ @{
@ -103,10 +103,10 @@
<div class="width-100per"> <div class="width-100per">
<div class="width-100per text-align-center"> <div class="width-100per text-align-center">
<p class="alert-text"> <p class="alert-text">
برای پیشنهاد تصاویر مرتبط با اشعار لازم است ابتدا با نام کاربری خود وارد دیوان شوید. اشعار سے متعلق تصاویر تجویز کرنے کے لیے پہلے دیوان میں داخل ہوں.
</p> </p>
<p class="text-align-center"> <p class="text-align-center">
<a href="/login">ورود به دیوان</a> <a href="/login">دیوان میں داخلہ</a>
</p> </p>
</div> </div>
</div> </div>
@ -120,11 +120,11 @@
<input type="hidden" id="RelatedImageSuggestionModel_DivanUrl" name="RelatedImageSuggestionModel.DivanUrl" value="@Model.DivanPage.FullUrl"> <input type="hidden" id="RelatedImageSuggestionModel_DivanUrl" name="RelatedImageSuggestionModel.DivanUrl" value="@Model.DivanPage.FullUrl">
<input type="hidden" id="RelatedImageSuggestionModel_DivanTitle" name="RelatedImageSuggestionModel.DivanTitle" value="@Model.DivanPage.FullTitle"> <input type="hidden" id="RelatedImageSuggestionModel_DivanTitle" name="RelatedImageSuggestionModel.DivanTitle" value="@Model.DivanPage.FullTitle">
<input type="hidden" id="RelatedImageSuggestionModel_PinterestUrl" name="RelatedImageSuggestionModel.PinterestUrl" value="@Model.PinterestUrl"> <input type="hidden" id="RelatedImageSuggestionModel_PinterestUrl" name="RelatedImageSuggestionModel.PinterestUrl" value="@Model.PinterestUrl">
<input type="submit" name="pinterest_suggest" value="انتخاب شعر" class="pinterest_suggest"> <input type="submit" name="pinterest_suggest" value="شعر منتخب کریں" class="pinterest_suggest">
</form> </form>
@if (Model.PinterestUrl == "manual") @if (Model.PinterestUrl == "manual")
{ {
<span>پیشنهاد آسان از اینستاگرام و پین‌ترست با افزونهٔ فایرفاکس</span> <span>فائرفاکس ایکسٹینشن سے انسٹاگرام اور پنٹرسٹ سے آسان تجویز</span>
} }
</div> </div>
} }
@ -217,24 +217,24 @@
<div id="comments"> <div id="comments">
<div class="poempretab" id="pretab"></div> <div class="poempretab" id="pretab"></div>
<div class="poemtab" id="tab-items"> <div class="poemtab" id="tab-items">
<div class="poemtablinks active"><a href="#pretab">اطّلاعات</a></div> <div class="poemtablinks active"><a href="#pretab">معلومات</a></div>
<div class="poemtablinks"><a href="#words" onclick="javascript:countPoemWords(@Model.DivanPage.Id, @Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id)">واژگان</a></div> <div class="poemtablinks"><a href="#words" onclick="javascript:countPoemWords(@Model.DivanPage.Id, @Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id)">الفاظ</a></div>
<div class="poemtablinks"><a href="#manuscripts">تصاویر</a></div> <div class="poemtablinks"><a href="#manuscripts">تصاویر</a></div>
@if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Normal).Any()) @if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Normal).Any())
{ {
<div class="poemtablinks"><a href="#recitations">خوانش‌ها</a></div> <div class="poemtablinks"><a href="#recitations">قرأتیں</a></div>
} }
@if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Commentary).Any()) @if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Commentary).Any())
{ {
<div class="poemtablinks"><a href="#commentaries">شرح‌های صوتی</a></div> <div class="poemtablinks"><a href="#commentaries">صوتی شرحیں</a></div>
} }
<div class="poemtablinks"><a href="#qpoems">مشق شعر</a></div> <div class="poemtablinks"><a href="#qpoems">مشقِ سخن</a></div>
@if (Model.SectionsWithRelated.Count > 0) @if (Model.SectionsWithRelated.Count > 0)
{ {
<div class="poemtablinks"><a href="#rpoems">هم‌آهنگ‌ها</a></div> <div class="poemtablinks"><a href="#rpoems">ہم آہنگ</a></div>
} }
<div class="poemtablinks"> <div class="poemtablinks">
<a href="#discussions">حاشیه‌ها</a> <a href="#discussions">حاشیے</a>
</div> </div>
</div> </div>
@ -242,7 +242,7 @@
@* ============ INFORMATION TAB ============ *@ @* ============ INFORMATION TAB ============ *@
<div class="related-images-frame poemtabcontent"> <div class="related-images-frame poemtabcontent">
<p> <p>
<small><i class="notranslate pageicons mouse-icon"></i> با انتخاب متن و لمس متن انتخابی می‌توانید آن را در لغتنامهٔ دهخدا جستجو کنید.</small> <small><i class="notranslate pageicons mouse-icon"></i> متن منتخب کر کے اسے چھونے سے آپ اسے اردو لغت میں تلاش کر سکتے ہیں.</small>
</p> </p>
@if (Model.DivanPage.Poem.Sections.Where(s => s.SectionType == RMuseum.Models.Divan.PoemSectionType.WholePoem).Any() || !string.IsNullOrEmpty(Model.DivanPage.Poem.OldTag) || !string.IsNullOrEmpty(Model.DivanPage.Poem.SourceName)) @if (Model.DivanPage.Poem.Sections.Where(s => s.SectionType == RMuseum.Models.Divan.PoemSectionType.WholePoem).Any() || !string.IsNullOrEmpty(Model.DivanPage.Poem.OldTag) || !string.IsNullOrEmpty(Model.DivanPage.Poem.SourceName))
{ {
@ -253,18 +253,18 @@
@if (s.DivanMetre != null) @if (s.DivanMetre != null)
{ {
<tr> <tr>
<td>وزن:</td> <td>بحر:</td>
<td> <td>
<a href="@Html.Raw($"/simi/?v={Uri.EscapeDataString(s.DivanMetre.Rhythm)}&amp;a={Model.DivanPage.PoetOrCat.Poet.Id}")">@s.DivanMetre.Rhythm</a> <a href="@Html.Raw($"/simi/?v={Uri.EscapeDataString(s.DivanMetre.Rhythm)}&amp;a={Model.DivanPage.PoetOrCat.Poet.Id}")">@s.DivanMetre.Rhythm</a>
@if (!string.IsNullOrEmpty(s.RhymeLetters)) @if (!string.IsNullOrEmpty(s.RhymeLetters))
{ {
<a href="@Html.Raw($"/simi/?v={Uri.EscapeDataString(s.DivanMetre.Rhythm)}&amp;g={Uri.EscapeDataString(s.RhymeLetters)}")" role="button" class="cursor-pointer" title="مشابه‌یابی بر اساس وزن و قافیه"> <a href="@Html.Raw($"/simi/?v={Uri.EscapeDataString(s.DivanMetre.Rhythm)}&amp;g={Uri.EscapeDataString(s.RhymeLetters)}")" role="button" class="cursor-pointer" title="بحر اور قافیے کے لحاظ سے ملتی جلتی تخلیقات">
<i class="notranslate noindent-info-button rhyming-poems"></i> <i class="notranslate noindent-info-button rhyming-poems"></i>
</a> </a>
} }
@if (Model.LoggedIn) @if (Model.LoggedIn)
{ {
<a href="/User/Section?poemId=@Model.DivanPage.Id&index=@s.Index#metre" role="button" class="cursor-pointer" title="ویرایش وزن"> <a href="/User/Section?poemId=@Model.DivanPage.Id&index=@s.Index#metre" role="button" class="cursor-pointer" title="بحر میں ترمیم">
<i class="notranslate noindent-info-button edit-poem-button"></i> <i class="notranslate noindent-info-button edit-poem-button"></i>
</a> </a>
} }
@ -274,7 +274,7 @@
@if (s.PoemFormat != null && s.PoemFormat != RMuseum.Models.Divan.DivanPoemFormat.Unknown) @if (s.PoemFormat != null && s.PoemFormat != RMuseum.Models.Divan.DivanPoemFormat.Unknown)
{ {
<tr> <tr>
<td>قالب شعری:</td> <td>صنف:</td>
<td> <td>
<a href="/simi/?a=@Model.DivanPage.PoetOrCat.Poet.Id&amp;f=@((int)s.PoemFormat)"> <a href="/simi/?a=@Model.DivanPage.PoetOrCat.Poet.Id&amp;f=@((int)s.PoemFormat)">
@RMuseum.Services.Implementation.DivanPoemFormatConvertor.GetString((RMuseum.Models.Divan.DivanPoemFormat)s.PoemFormat) @RMuseum.Services.Implementation.DivanPoemFormatConvertor.GetString((RMuseum.Models.Divan.DivanPoemFormat)s.PoemFormat)
@ -286,7 +286,7 @@
@if (!string.IsNullOrEmpty(Model.DivanPage.Poem.OldTag)) @if (!string.IsNullOrEmpty(Model.DivanPage.Poem.OldTag))
{ {
<tr> <tr>
<td>دسته:</td> <td>زمرہ:</td>
<td> <td>
<a href="@Html.Raw($"{Model.DivanPage.Poem.OldTagPageUrl}/")">@Model.DivanPage.Poem.OldTag</a> <a href="@Html.Raw($"{Model.DivanPage.Poem.OldTagPageUrl}/")">@Model.DivanPage.Poem.OldTag</a>
</td> </td>
@ -295,14 +295,14 @@
@if (!string.IsNullOrEmpty(Model.DivanPage.Poem.SourceName)) @if (!string.IsNullOrEmpty(Model.DivanPage.Poem.SourceName))
{ {
<tr> <tr>
<td>منبع اولیه:</td> <td>اصل ماخذ:</td>
<td> <td>
<a href="@Html.Raw($"/sources/{Model.DivanPage.Poem.SourceUrlSlug}/")">@Model.DivanPage.Poem.SourceName</a> <a href="@Html.Raw($"/sources/{Model.DivanPage.Poem.SourceUrlSlug}/")">@Model.DivanPage.Poem.SourceName</a>
</td> </td>
</tr> </tr>
} }
<tr> <tr>
<td>تعداد ابیات:</td> <td>اشعار کی تعداد:</td>
<td> <td>
@Model.DivanPage.Poem.Sections.Where(s => s.SectionType == RMuseum.Models.Divan.PoemSectionType.WholePoem).Sum(s => s.CoupletsCount).ToPersianNumbers() @Model.DivanPage.Poem.Sections.Where(s => s.SectionType == RMuseum.Models.Divan.PoemSectionType.WholePoem).Sum(s => s.CoupletsCount).ToPersianNumbers()
</td> </td>
@ -315,18 +315,18 @@
<p id="track-record"></p> <p id="track-record"></p>
} }
<a onclick="copyPoemText()" role="button" class="pagebutton comments-link" title="رونوشت متن"> <a onclick="copyPoemText()" role="button" class="pagebutton comments-link" title="متن نقل کریں">
رونوشت متن متن نقل کریں
<svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z" /></svg> <svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z" /></svg>
</a> </a>
<a onclick="copyPoemLink()" role="button" class="pagebutton comments-link" title="رونوشت نشانی"> <a onclick="copyPoemLink()" role="button" class="pagebutton comments-link" title="ربط نقل کریں">
رونوشت نشانی ربط نقل کریں
<svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M17 7h-4v2h4c1.65 0 3 1.35 3 3s-1.35 3-3 3h-4v2h4c2.76 0 5-2.24 5-5s-2.24-5-5-5zm-6 8H7c-1.65 0-3-1.35-3-3s1.35-3 3-3h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-2zm-3-4h8v2H8z" /></svg> <svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M17 7h-4v2h4c1.65 0 3 1.35 3 3s-1.35 3-3 3h-4v2h4c2.76 0 5-2.24 5-5s-2.24-5-5-5zm-6 8H7c-1.65 0-3-1.35-3-3s1.35-3 3-3h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-2zm-3-4h8v2H8z" /></svg>
</a> </a>
<a href="/t6e?p=@Model.DivanPage.Id" role="button" class="pagebutton comments-link" target="_blank"> <a href="/t6e?p=@Model.DivanPage.Id" role="button" class="pagebutton comments-link" target="_blank">
نمای مشابه کتابهای چاپی (فقط رایانه) مطبوعہ کتاب جیسا انداز (صرف کمپیوٹر)
<svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M19 8h-1V3H6v5H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zM8 5h8v3H8V5zm8 12v2H8v-4h8v2zm2-2v-2H6v2H4v-4c0-.55.45-1 1-1h14c.55 0 1 .45 1 1v4h-2z" /><circle cx="18" cy="11.5" r="1" /></svg> <svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M19 8h-1V3H6v5H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zM8 5h8v3H8V5zm8 12v2H8v-4h8v2zm2-2v-2H6v2H4v-4c0-.55.45-1 1-1h14c.55 0 1 .45 1 1v4h-2z" /><circle cx="18" cy="11.5" r="1" /></svg>
</a> </a>
@ -342,7 +342,7 @@
@if (poemTaggedPersons.Count > 0) @if (poemTaggedPersons.Count > 0)
{ {
<div class="notice" id="poem-persons" data-nosnippet> <div class="notice" id="poem-persons" data-nosnippet>
<div class="century">نامبردگان</div> <div class="century">شخصیات</div>
<p> <p>
@foreach (var taggedPerson in poemTaggedPersons) @foreach (var taggedPerson in poemTaggedPersons)
{ {
@ -355,11 +355,11 @@
@if (!string.IsNullOrEmpty(Model.DivanPage.Poem.PoemSummary)) @if (!string.IsNullOrEmpty(Model.DivanPage.Poem.PoemSummary))
{ {
<div class="notice" id="summary" data-nosnippet> <div class="notice" id="summary" data-nosnippet>
<div class="century">خلاصه</div> <div class="century">خلاصہ</div>
<p>@Html.Raw(Model.DivanPage.Poem.PoemSummary.Replace("\n", "<br />"))</p> <p>@Html.Raw(Model.DivanPage.Poem.PoemSummary.Replace("\n", "<br />"))</p>
@if (Model.LoggedIn) @if (Model.LoggedIn)
{ {
<a href="/User/Editor?id=@Model.DivanPage.Id#summaries" role="button" class="cursor-pointer" title="ویرایش"> <a href="/User/Editor?id=@Model.DivanPage.Id#summaries" role="button" class="cursor-pointer" title="ترمیم">
<div class="circled-number"> <div class="circled-number">
<i class="notranslate noindent-info-button edit-poem-button"></i> <i class="notranslate noindent-info-button edit-poem-button"></i>
</div> </div>
@ -367,7 +367,7 @@
} }
else else
{ {
<a href="/login" role="button" class="cursor-pointer" title="ویرایش"> <a href="/login" role="button" class="cursor-pointer" title="ترمیم">
<div class="circled-number-diff"> <div class="circled-number-diff">
<i class="notranslate noindent-info-button edit-poem-button"></i> <i class="notranslate noindent-info-button edit-poem-button"></i>
</div> </div>
@ -376,7 +376,7 @@
@if (Model.DivanPage.Poem.PoemSummary != null && Model.DivanPage.Poem.PoemSummary.Contains("هوش مصنوعی:")) @if (Model.DivanPage.Poem.PoemSummary != null && Model.DivanPage.Poem.PoemSummary.Contains("هوش مصنوعی:"))
{ {
<small> <small>
<strong>اخطار:</strong> خلاصه‌های تولید شده توسط هوش مصنوعی در بسیاری از موارد نادرستند. اگر این متن به نظرتان نادرست است می‌توانید آن را <a href="/User/Editor?id=@Model.DivanPage.Id#summaries">ویرایش</a> کنید. <strong>انتباہ:</strong> مصنوعی ذہانت کے بنائے خلاصے اکثر غلط ہوتے ہیں۔ اگر یہ متن غلط لگے تو آپ اسے <a href="/User/Editor?id=@Model.DivanPage.Id#summaries">ترمیم</a> کریں.
</small> </small>
} }
</div> </div>
@ -386,8 +386,8 @@
{ {
<div id="summaries" data-nosnippet> <div id="summaries" data-nosnippet>
<div class="century"> <div class="century">
برگردان به زبان ساده آسان زبان میں
<a onclick="copySummeriesText()" role="button" class="cursor-pointer" title="رونوشت متن"> <a onclick="copySummeriesText()" role="button" class="cursor-pointer" title="متن نقل کریں">
<svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z" /></svg> <svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z" /></svg>
</a> </a>
</div> </div>
@ -425,7 +425,7 @@
<p>@Model.DivanPage.Poem.Verses[verseIndex].CoupletSummary</p> <p>@Model.DivanPage.Poem.Verses[verseIndex].CoupletSummary</p>
@if (Model.LoggedIn) @if (Model.LoggedIn)
{ {
<a href="@($"/User/Editor?id={Model.DivanPage.Id}#summary-{Model.DivanPage.Poem.Verses[verseIndex].VOrder}")" role="button" class="cursor-pointer" title="ویرایش"> <a href="@($"/User/Editor?id={Model.DivanPage.Id}#summary-{Model.DivanPage.Poem.Verses[verseIndex].VOrder}")" role="button" class="cursor-pointer" title="ترمیم">
<div class="circled-number"> <div class="circled-number">
<i class="notranslate noindent-info-button edit-poem-button"></i> <i class="notranslate noindent-info-button edit-poem-button"></i>
</div> </div>
@ -433,7 +433,7 @@
} }
else else
{ {
<a href="/login" role="button" class="cursor-pointer" title="ویرایش"> <a href="/login" role="button" class="cursor-pointer" title="ترمیم">
<div class="circled-number-diff"> <div class="circled-number-diff">
<i class="notranslate noindent-info-button edit-poem-button"></i> <i class="notranslate noindent-info-button edit-poem-button"></i>
</div> </div>
@ -442,7 +442,7 @@
@if(Model.DivanPage.Poem.Verses[verseIndex].CoupletSummary != null && Model.DivanPage.Poem.Verses[verseIndex].CoupletSummary.Contains("هوش مصنوعی:")) @if(Model.DivanPage.Poem.Verses[verseIndex].CoupletSummary != null && Model.DivanPage.Poem.Verses[verseIndex].CoupletSummary.Contains("هوش مصنوعی:"))
{ {
<small> <small>
<strong>اخطار:</strong> برگردان‌های تولید شده توسط هوش مصنوعی در بسیاری از موارد نادرستند. اگر این متن به نظرتان نادرست است می‌توانید آن را <a href="@($"/User/Editor?id={Model.DivanPage.Id}#summary-{Model.DivanPage.Poem.Verses[verseIndex].VOrder}")">ویرایش</a> کنید. <strong>انتباہ:</strong> مصنوعی ذہانت کے بنائے آسان متن اکثر غلط ہوتے ہیں۔ اگر یہ متن غلط لگے تو آپ اسے <a href="@($"/User/Editor?id={Model.DivanPage.Id}#summary-{Model.DivanPage.Poem.Verses[verseIndex].VOrder}")">ترمیم</a> کریں.
</small> </small>
} }
</div> </div>
@ -461,28 +461,28 @@
@* ============ WORD COUNTS TAB ============ *@ @* ============ WORD COUNTS TAB ============ *@
<div class="poempretab" id="words"></div> <div class="poempretab" id="words"></div>
<div class="poemtab"> <div class="poemtab">
<div class="poemtablinks"><a href="#pretab">اطّلاعات</a></div> <div class="poemtablinks"><a href="#pretab">معلومات</a></div>
<div class="poemtablinks active"><a href="#words" onclick="javascript:countPoemWords(@Model.DivanPage.Id, @Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id)">واژگان</a></div> <div class="poemtablinks active"><a href="#words" onclick="javascript:countPoemWords(@Model.DivanPage.Id, @Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id)">الفاظ</a></div>
<div class="poemtablinks"><a href="#manuscripts">تصاویر</a></div> <div class="poemtablinks"><a href="#manuscripts">تصاویر</a></div>
@if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Normal).Any()) @if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Normal).Any())
{ {
<div class="poemtablinks"><a href="#recitations">خوانش‌ها</a></div> <div class="poemtablinks"><a href="#recitations">قرأتیں</a></div>
} }
@if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Commentary).Any()) @if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Commentary).Any())
{ {
<div class="poemtablinks"><a href="#commentaries">شرح‌های صوتی</a></div> <div class="poemtablinks"><a href="#commentaries">صوتی شرحیں</a></div>
} }
<div class="poemtablinks"><a href="#qpoems">مشق شعر</a></div> <div class="poemtablinks"><a href="#qpoems">مشقِ سخن</a></div>
@if (Model.SectionsWithRelated.Count > 0) @if (Model.SectionsWithRelated.Count > 0)
{ {
<div class="poemtablinks"><a href="#rpoems">هم‌آهنگ‌ها</a></div> <div class="poemtablinks"><a href="#rpoems">ہم آہنگ</a></div>
} }
<div class="poemtablinks"><a href="#discussions">حاشیه‌ها</a></div> <div class="poemtablinks"><a href="#discussions">حاشیے</a></div>
</div> </div>
<div class="related-images-frame poemtabcontent"> <div class="related-images-frame poemtabcontent">
<div id="wordcounts-placeholder"> <div id="wordcounts-placeholder">
<a href="javascript:countPoemWords(@Model.DivanPage.Id, @Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id)" id="load-word-counts" class="pagebutton comments-link"> <a href="javascript:countPoemWords(@Model.DivanPage.Id, @Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id)" id="load-word-counts" class="pagebutton comments-link">
محاسبهٔ بسامد واژگان الفاظ کی تعداد شمار کریں
<svg class="noindent-info-button" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><g><rect fill="none" height="24" width="24" /></g><g><g><g><path d="M7.5,4C5.57,4,4,5.57,4,7.5S5.57,11,7.5,11S11,9.43,11,7.5S9.43,4,7.5,4z M7.5,9C6.67,9,6,8.33,6,7.5S6.67,6,7.5,6 S9,6.67,9,7.5S8.33,9,7.5,9z M16.5,13c-1.93,0-3.5,1.57-3.5,3.5s1.57,3.5,3.5,3.5s3.5-1.57,3.5-3.5S18.43,13,16.5,13z M16.5,18 c-0.83,0-1.5-0.67-1.5-1.5s0.67-1.5,1.5-1.5s1.5,0.67,1.5,1.5S17.33,18,16.5,18z M5.41,20L4,18.59L18.59,4L20,5.41L5.41,20z" /></g></g></g></svg> <svg class="noindent-info-button" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><g><rect fill="none" height="24" width="24" /></g><g><g><g><path d="M7.5,4C5.57,4,4,5.57,4,7.5S5.57,11,7.5,11S11,9.43,11,7.5S9.43,4,7.5,4z M7.5,9C6.67,9,6,8.33,6,7.5S6.67,6,7.5,6 S9,6.67,9,7.5S8.33,9,7.5,9z M16.5,13c-1.93,0-3.5,1.57-3.5,3.5s1.57,3.5,3.5,3.5s3.5-1.57,3.5-3.5S18.43,13,16.5,13z M16.5,18 c-0.83,0-1.5-0.67-1.5-1.5s0.67-1.5,1.5-1.5s1.5,0.67,1.5,1.5S17.33,18,16.5,18z M5.41,20L4,18.59L18.59,4L20,5.41L5.41,20z" /></g></g></g></svg>
</a> </a>
</div> </div>
@ -491,23 +491,23 @@
@* ============ MANUSCRIPTS TAB ============ *@ @* ============ MANUSCRIPTS TAB ============ *@
<div class="poempretab" id="manuscripts"></div> <div class="poempretab" id="manuscripts"></div>
<div class="poemtab"> <div class="poemtab">
<div class="poemtablinks"><a href="#pretab">اطّلاعات</a></div> <div class="poemtablinks"><a href="#pretab">معلومات</a></div>
<div class="poemtablinks"><a href="#words" onclick="javascript:countPoemWords(@Model.DivanPage.Id, @Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id)">واژگان</a></div> <div class="poemtablinks"><a href="#words" onclick="javascript:countPoemWords(@Model.DivanPage.Id, @Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id)">الفاظ</a></div>
<div class="poemtablinks active"><a href="#manuscripts">تصاویر</a></div> <div class="poemtablinks active"><a href="#manuscripts">تصاویر</a></div>
@if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Normal).Any()) @if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Normal).Any())
{ {
<div class="poemtablinks"><a href="#recitations">خوانش‌ها</a></div> <div class="poemtablinks"><a href="#recitations">قرأتیں</a></div>
} }
@if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Commentary).Any()) @if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Commentary).Any())
{ {
<div class="poemtablinks"><a href="#commentaries">شرح‌های صوتی</a></div> <div class="poemtablinks"><a href="#commentaries">صوتی شرحیں</a></div>
} }
<div class="poemtablinks"><a href="#qpoems">مشق شعر</a></div> <div class="poemtablinks"><a href="#qpoems">مشقِ سخن</a></div>
@if (Model.SectionsWithRelated.Count > 0) @if (Model.SectionsWithRelated.Count > 0)
{ {
<div class="poemtablinks"><a href="#rpoems">هم‌آهنگ‌ها</a></div> <div class="poemtablinks"><a href="#rpoems">ہم آہنگ</a></div>
} }
<div class="poemtablinks"><a href="#discussions">حاشیه‌ها</a></div> <div class="poemtablinks"><a href="#discussions">حاشیے</a></div>
</div> </div>
<div class="related-images-frame poemtabcontent"> <div class="related-images-frame poemtabcontent">
@if (Model.DivanPage.Poem.Images.Length > 0) @if (Model.DivanPage.Poem.Images.Length > 0)
@ -520,7 +520,7 @@
<div class="related-image-container-main"> <div class="related-image-container-main">
<a target="_blank" href="@Html.Raw(image.TargetPageUrl)"> <a target="_blank" href="@Html.Raw(image.TargetPageUrl)">
<div class="main-image-container"> <div class="main-image-container">
<div class="main-image-ribbon">منبع کاغذی دیوان</div> <div class="main-image-ribbon">دیوان کا مطبوعہ ماخذ</div>
<img src="@Html.Raw(image.ThumbnailImageUrl)" alt="@image.AltText" loading="lazy" class="main-image-source"> <img src="@Html.Raw(image.ThumbnailImageUrl)" alt="@image.AltText" loading="lazy" class="main-image-source">
<div class="related-image-is-text-source"> <div class="related-image-is-text-source">
<div class="width-100per">@image.AltText.ToPersianNumbers()</div> <div class="width-100per">@image.AltText.ToPersianNumbers()</div>
@ -529,7 +529,7 @@
</a> </a>
@if (Model.CanEdit) @if (Model.CanEdit)
{ {
<a onclick="deleteRelatedImage(@((int)image.PoemRelatedImageType), '@image.Id', '@image.AltText')" class="pagebutton comments-link">حذف این ارتباط<i class="notranslate info-buttons delete-icon"></i></a> <a onclick="deleteRelatedImage(@((int)image.PoemRelatedImageType), '@image.Id', '@image.AltText')" class="pagebutton comments-link">یہ ربط ہٹائیں<i class="notranslate info-buttons delete-icon"></i></a>
} }
</div> </div>
</div> </div>
@ -544,17 +544,17 @@
<div class="related-image-is-text-source"><a target="_blank" href="@Html.Raw(image.TargetPageUrl)">@image.AltText.ToPersianNumbers()</a></div> <div class="related-image-is-text-source"><a target="_blank" href="@Html.Raw(image.TargetPageUrl)">@image.AltText.ToPersianNumbers()</a></div>
@if (Model.CanEdit) @if (Model.CanEdit)
{ {
<a onclick="deleteRelatedImage(@((int)image.PoemRelatedImageType), '@image.Id', '@image.AltText')" class="pagebutton comments-link">حذف این ارتباط<i class="notranslate info-buttons delete-icon"></i></a> <a onclick="deleteRelatedImage(@((int)image.PoemRelatedImageType), '@image.Id', '@image.AltText')" class="pagebutton comments-link">یہ ربط ہٹائیں<i class="notranslate info-buttons delete-icon"></i></a>
} }
</div> </div>
} }
</div> </div>
<div id="suggest-images"> <div id="suggest-images">
<p> <p>
<a onclick="wpopen('?pinterest_url=manual'); return false" class="pagebutton comments-link">پیشنهاد تصاویر مرتبط از منابع اینترنتی<i class="notranslate info-buttons photo_camera"></i></a> <a onclick="wpopen('?pinterest_url=manual'); return false" class="pagebutton comments-link">انٹرنیٹ سے متعلقہ تصاویر تجویز کریں<i class="notranslate info-buttons photo_camera"></i></a>
</p> </p>
<p> <p>
راهنمای نحوهٔ پیشنهاد تصاویر مرتبط از گنجینهٔ دیوان<i class="notranslate info-buttons help-button"></i> متعلقہ تصاویر تجویز کرنے کی رہنمائی<i class="notranslate info-buttons help-button"></i>
</p> </p>
</div> </div>
</div> </div>
@ -563,10 +563,10 @@
{ {
<div id="suggest-images"> <div id="suggest-images">
<p> <p>
<a onclick="wpopen('?pinterest_url=manual'); return false" class="pagebutton comments-link">پیشنهاد تصاویر مرتبط از منابع اینترنتی<i class="notranslate info-buttons photo_camera"></i></a> <a onclick="wpopen('?pinterest_url=manual'); return false" class="pagebutton comments-link">انٹرنیٹ سے متعلقہ تصاویر تجویز کریں<i class="notranslate info-buttons photo_camera"></i></a>
</p> </p>
<p> <p>
راهنمای نحوهٔ پیشنهاد تصاویر مرتبط از گنجینهٔ دیوان<i class="notranslate info-buttons help-button"></i> متعلقہ تصاویر تجویز کرنے کی رہنمائی<i class="notranslate info-buttons help-button"></i>
</p> </p>
</div> </div>
} }
@ -577,28 +577,28 @@
{ {
<div class="poempretab" id="recitations"></div> <div class="poempretab" id="recitations"></div>
<div class="poemtab"> <div class="poemtab">
<div class="poemtablinks"><a href="#pretab">اطّلاعات</a></div> <div class="poemtablinks"><a href="#pretab">معلومات</a></div>
<div class="poemtablinks"><a href="#words" onclick="javascript:countPoemWords(@Model.DivanPage.Id, @Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id)">واژگان</a></div> <div class="poemtablinks"><a href="#words" onclick="javascript:countPoemWords(@Model.DivanPage.Id, @Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id)">الفاظ</a></div>
<div class="poemtablinks"><a href="#manuscripts">تصاویر</a></div> <div class="poemtablinks"><a href="#manuscripts">تصاویر</a></div>
<div class="poemtablinks active"><a href="#recitations">خوانش‌ها</a></div> <div class="poemtablinks active"><a href="#recitations">قرأتیں</a></div>
@if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Commentary).Any()) @if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Commentary).Any())
{ {
<div class="poemtablinks"><a href="#commentaries">شرح‌های صوتی</a></div> <div class="poemtablinks"><a href="#commentaries">صوتی شرحیں</a></div>
} }
<div class="poemtablinks"><a href="#qpoems">مشق شعر</a></div> <div class="poemtablinks"><a href="#qpoems">مشقِ سخن</a></div>
@if (Model.SectionsWithRelated.Count > 0) @if (Model.SectionsWithRelated.Count > 0)
{ {
<div class="poemtablinks"><a href="#rpoems">هم‌آهنگ‌ها</a></div> <div class="poemtablinks"><a href="#rpoems">ہم آہنگ</a></div>
} }
<div class="poemtablinks"><a href="#discussions">حاشیه‌ها</a></div> <div class="poemtablinks"><a href="#discussions">حاشیے</a></div>
</div> </div>
<div class="poemtabcontent"> <div class="poemtabcontent">
<partial name="~/Pages/Partials/DivanPage/_AudioPlayerPartial.cshtml" model=@Model.GetRecitationsModel(Model.DivanPage.Poem.Recitations, false, RMuseum.Models.DivanAudio.RecitationType.Normal, Model.CanEdit) /> <partial name="~/Pages/Partials/DivanPage/_AudioPlayerPartial.cshtml" model=@Model.GetRecitationsModel(Model.DivanPage.Poem.Recitations, false, RMuseum.Models.DivanAudio.RecitationType.Normal, Model.CanEdit) />
<a onclick="switchPlayerScrollLock()" role="button" class="pagebutton comments-link"> <a onclick="switchPlayerScrollLock()" role="button" class="pagebutton comments-link">
فعال یا غیرفعال‌سازی قفل متن روی خوانش قرأت پر متن کا قفل شروع یا بند کریں
<svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0zm0 0h24v24H0V0zm0 0h24v24H0V0zm0 0h24v24H0V0z" fill="none" /><path d="M8.9 6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1v2h-4.66l2 2H18v5.56l2 2V10c0-1.1-.9-2-2-2h-1V6c0-2.76-2.24-5-5-5-2.32 0-4.26 1.59-4.82 3.74L8.9 6.46V6zM4.41 4.81L3 6.22l2.04 2.04C4.42 8.6 4 9.25 4 10v10c0 1.1.9 2 2 2h12.78l1 1 1.41-1.41L4.41 4.81zM6 20V10h.78l10 10H6z" /></svg> <svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0zm0 0h24v24H0V0zm0 0h24v24H0V0zm0 0h24v24H0V0z" fill="none" /><path d="M8.9 6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1v2h-4.66l2 2H18v5.56l2 2V10c0-1.1-.9-2-2-2h-1V6c0-2.76-2.24-5-5-5-2.32 0-4.26 1.59-4.82 3.74L8.9 6.46V6zM4.41 4.81L3 6.22l2.04 2.04C4.42 8.6 4 9.25 4 10v10c0 1.1.9 2 2 2h12.78l1 1 1.41-1.41L4.41 4.81zM6 20V10h.78l10 10H6z" /></svg>
</a> </a>
من بخوانم میں پڑھوں
</div> </div>
} }
@ -607,25 +607,25 @@
{ {
<div class="poempretab" id="commentaries"></div> <div class="poempretab" id="commentaries"></div>
<div class="poemtab"> <div class="poemtab">
<div class="poemtablinks"><a href="#pretab">اطّلاعات</a></div> <div class="poemtablinks"><a href="#pretab">معلومات</a></div>
<div class="poemtablinks"><a href="#words" onclick="javascript:countPoemWords(@Model.DivanPage.Id, @Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id)">واژگان</a></div> <div class="poemtablinks"><a href="#words" onclick="javascript:countPoemWords(@Model.DivanPage.Id, @Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id)">الفاظ</a></div>
<div class="poemtablinks"><a href="#manuscripts">تصاویر</a></div> <div class="poemtablinks"><a href="#manuscripts">تصاویر</a></div>
@if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Normal).Any()) @if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Normal).Any())
{ {
<div class="poemtablinks"><a href="#recitations">خوانش‌ها</a></div> <div class="poemtablinks"><a href="#recitations">قرأتیں</a></div>
} }
<div class="poemtablinks active"><a href="#commentaries">شرح‌های صوتی</a></div> <div class="poemtablinks active"><a href="#commentaries">صوتی شرحیں</a></div>
<div class="poemtablinks"><a href="#qpoems">مشق شعر</a></div> <div class="poemtablinks"><a href="#qpoems">مشقِ سخن</a></div>
@if (Model.SectionsWithRelated.Count > 0) @if (Model.SectionsWithRelated.Count > 0)
{ {
<div class="poemtablinks"><a href="#rpoems">هم‌آهنگ‌ها</a></div> <div class="poemtablinks"><a href="#rpoems">ہم آہنگ</a></div>
} }
<div class="poemtablinks"><a href="#discussions">حاشیه‌ها</a></div> <div class="poemtablinks"><a href="#discussions">حاشیے</a></div>
</div> </div>
<div class="poemtabcontent"> <div class="poemtabcontent">
<partial name="~/Pages/Partials/DivanPage/_AudioPlayerPartial.cshtml" model=@Model.GetRecitationsModel(Model.DivanPage.Poem.Recitations, false, RMuseum.Models.DivanAudio.RecitationType.Commentary, Model.CanEdit) /> <partial name="~/Pages/Partials/DivanPage/_AudioPlayerPartial.cshtml" model=@Model.GetRecitationsModel(Model.DivanPage.Poem.Recitations, false, RMuseum.Models.DivanAudio.RecitationType.Commentary, Model.CanEdit) />
<a onclick="switchPlayerScrollLock()" role="button" class="pagebutton comments-link"> <a onclick="switchPlayerScrollLock()" role="button" class="pagebutton comments-link">
فعال یا غیرفعال‌سازی قفل متن روی خوانش قرأت پر متن کا قفل شروع یا بند کریں
<svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0zm0 0h24v24H0V0zm0 0h24v24H0V0zm0 0h24v24H0V0z" fill="none" /><path d="M8.9 6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1v2h-4.66l2 2H18v5.56l2 2V10c0-1.1-.9-2-2-2h-1V6c0-2.76-2.24-5-5-5-2.32 0-4.26 1.59-4.82 3.74L8.9 6.46V6zM4.41 4.81L3 6.22l2.04 2.04C4.42 8.6 4 9.25 4 10v10c0 1.1.9 2 2 2h12.78l1 1 1.41-1.41L4.41 4.81zM6 20V10h.78l10 10H6z" /></svg> <svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0zm0 0h24v24H0V0zm0 0h24v24H0V0zm0 0h24v24H0V0z" fill="none" /><path d="M8.9 6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1v2h-4.66l2 2H18v5.56l2 2V10c0-1.1-.9-2-2-2h-1V6c0-2.76-2.24-5-5-5-2.32 0-4.26 1.59-4.82 3.74L8.9 6.46V6zM4.41 4.81L3 6.22l2.04 2.04C4.42 8.6 4 9.25 4 10v10c0 1.1.9 2 2 2h12.78l1 1 1.41-1.41L4.41 4.81zM6 20V10h.78l10 10H6z" /></svg>
</a> </a>
</div> </div>
@ -634,23 +634,23 @@
@* ============ QUOTED POEMS TAB ============ *@ @* ============ QUOTED POEMS TAB ============ *@
<div class="poempretab" id="qpoems"></div> <div class="poempretab" id="qpoems"></div>
<div class="poemtab"> <div class="poemtab">
<div class="poemtablinks"><a href="#pretab">اطّلاعات</a></div> <div class="poemtablinks"><a href="#pretab">معلومات</a></div>
<div class="poemtablinks"><a href="#words" onclick="javascript:countPoemWords(@Model.DivanPage.Id, @Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id)">واژگان</a></div> <div class="poemtablinks"><a href="#words" onclick="javascript:countPoemWords(@Model.DivanPage.Id, @Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id)">الفاظ</a></div>
<div class="poemtablinks"><a href="#manuscripts">تصاویر</a></div> <div class="poemtablinks"><a href="#manuscripts">تصاویر</a></div>
@if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Normal).Any()) @if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Normal).Any())
{ {
<div class="poemtablinks"><a href="#recitations">خوانش‌ها</a></div> <div class="poemtablinks"><a href="#recitations">قرأتیں</a></div>
} }
@if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Commentary).Any()) @if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Commentary).Any())
{ {
<div class="poemtablinks"><a href="#commentaries">شرح‌های صوتی</a></div> <div class="poemtablinks"><a href="#commentaries">صوتی شرحیں</a></div>
} }
<div class="poemtablinks active"><a href="#qpoems">مشق شعر</a></div> <div class="poemtablinks active"><a href="#qpoems">مشقِ سخن</a></div>
@if (Model.SectionsWithRelated.Count > 0) @if (Model.SectionsWithRelated.Count > 0)
{ {
<div class="poemtablinks"><a href="#rpoems">هم‌آهنگ‌ها</a></div> <div class="poemtablinks"><a href="#rpoems">ہم آہنگ</a></div>
} }
<div class="poemtablinks"><a href="#discussions">حاشیه‌ها</a></div> <div class="poemtablinks"><a href="#discussions">حاشیے</a></div>
</div> </div>
<div class="poemtabcontent"> <div class="poemtabcontent">
@for (int i = 0; i < Math.Min(5, Model.DivanPage.Poem.Top6QuotedPoems.Length); i++) @for (int i = 0; i < Math.Min(5, Model.DivanPage.Poem.Top6QuotedPoems.Length); i++)
@ -662,19 +662,19 @@
{ {
<div id="more-quoted-placeholder"></div> <div id="more-quoted-placeholder"></div>
<div id="load-more-quoted"> <div id="load-more-quoted">
<a role="button" class="pagebutton" id="load-more-quoted" onclick="loadMoreQuotedPoems(@Model.DivanPage.Poem.Id, 5, '@Model.DivanPage.PoetOrCat.Poet.ImageUrl', '@Model.DivanPage.PoetOrCat.Poet.Nickname', @Model.CanEdit.ToString().ToLower())">بیشتر<i class="notranslate info-buttons autorenew"></i></a> <a role="button" class="pagebutton" id="load-more-quoted" onclick="loadMoreQuotedPoems(@Model.DivanPage.Poem.Id, 5, '@Model.DivanPage.PoetOrCat.Poet.ImageUrl', '@Model.DivanPage.PoetOrCat.Poet.Nickname', @Model.CanEdit.ToString().ToLower())">مزید<i class="notranslate info-buttons autorenew"></i></a>
</div> </div>
} }
@if (Model.LoggedIn) @if (Model.LoggedIn)
{ {
<div> <div>
<a href="/User/SuggestQuoted/?p=@Model.DivanPage.Id" class="pagebutton comments-link" target="_blank">پیشنهاد مشق شعر</a> <a href="/User/SuggestQuoted/?p=@Model.DivanPage.Id" class="pagebutton comments-link" target="_blank">مشقِ سخن تجویز کریں</a>
</div> </div>
} }
else else
{ {
<div> <div>
پیشنهاد مشق شعر مشقِ سخن تجویز کریں
</div> </div>
} }
</div> </div>
@ -684,23 +684,23 @@
{ {
<div class="poempretab" id="rpoems"></div> <div class="poempretab" id="rpoems"></div>
<div class="poemtab"> <div class="poemtab">
<div class="poemtablinks"><a href="#pretab">اطّلاعات</a></div> <div class="poemtablinks"><a href="#pretab">معلومات</a></div>
<div class="poemtablinks"><a href="#words" onclick="javascript:countPoemWords(@Model.DivanPage.Id, @Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id)">واژگان</a></div> <div class="poemtablinks"><a href="#words" onclick="javascript:countPoemWords(@Model.DivanPage.Id, @Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id)">الفاظ</a></div>
<div class="poemtablinks"><a href="#manuscripts">تصاویر</a></div> <div class="poemtablinks"><a href="#manuscripts">تصاویر</a></div>
@if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Normal).Any()) @if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Normal).Any())
{ {
<div class="poemtablinks"><a href="#recitations">خوانش‌ها</a></div> <div class="poemtablinks"><a href="#recitations">قرأتیں</a></div>
} }
@if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Commentary).Any()) @if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Commentary).Any())
{ {
<div class="poemtablinks"><a href="#commentaries">شرح‌های صوتی</a></div> <div class="poemtablinks"><a href="#commentaries">صوتی شرحیں</a></div>
} }
<div class="poemtablinks"><a href="#qpoems">مشق شعر</a></div> <div class="poemtablinks"><a href="#qpoems">مشقِ سخن</a></div>
@if (Model.SectionsWithRelated.Count > 0) @if (Model.SectionsWithRelated.Count > 0)
{ {
<div class="poemtablinks active"><a href="#rpoems">هم‌آهنگ‌ها</a></div> <div class="poemtablinks active"><a href="#rpoems">ہم آہنگ</a></div>
} }
<div class="poemtablinks"><a href="#discussions">حاشیه‌ها</a></div> <div class="poemtablinks"><a href="#discussions">حاشیے</a></div>
</div> </div>
<div class="poemtabcontent"> <div class="poemtabcontent">
@foreach (var s in Model.SectionsWithRelated) @foreach (var s in Model.SectionsWithRelated)
@ -722,11 +722,11 @@
{ {
@if (s.Top6RelatedSections[i].PoetMorePoemsLikeThisCount > 20) @if (s.Top6RelatedSections[i].PoetMorePoemsLikeThisCount > 20)
{ {
<a role="button" class="pagebutton" id="@($"load-more-button-{s.Top6RelatedSections[i].PoetId}-{s.Index}")" href="@Html.Raw($"/simi/?v={Uri.EscapeDataString(s.DivanMetre.Rhythm)}&amp;g={Uri.EscapeDataString(s.RhymeLetters)}&amp;a={s.Top6RelatedSections[i].PoetId}")" target="_blank">مشاهدهٔ بیش از @s.Top6RelatedSections[i].PoetMorePoemsLikeThisCount.ToPersianNumbers() مورد هم آهنگ دیگر از @s.Top6RelatedSections[i].PoetName<i class="notranslate info-buttons autorenew"></i></a> <a role="button" class="pagebutton" id="@($"load-more-button-{s.Top6RelatedSections[i].PoetId}-{s.Index}")" href="@Html.Raw($"/simi/?v={Uri.EscapeDataString(s.DivanMetre.Rhythm)}&amp;g={Uri.EscapeDataString(s.RhymeLetters)}&amp;a={s.Top6RelatedSections[i].PoetId}")" target="_blank">مزید دیکھیں: @s.Top6RelatedSections[i].PoetMorePoemsLikeThisCount.ToPersianNumbers() دیگر ہم آہنگ تخلیقات از @s.Top6RelatedSections[i].PoetName<i class="notranslate info-buttons autorenew"></i></a>
} }
else else
{ {
<a role="button" class="pagebutton" id="@($"load-more-button-{s.Top6RelatedSections[i].PoetId}-{s.Index}")" onclick="loadMoreRelatedFromPoet(@s.Top6RelatedSections[i].PoetId, '@s.DivanMetre.Rhythm', '@s.RhymeLetters', '@Model.DivanPage.Poem.FullUrl', '@s.Top6RelatedSections[i].FullUrl', @s.Index)">مشاهدهٔ @s.Top6RelatedSections[i].PoetMorePoemsLikeThisCount.ToPersianNumbers() مورد هم آهنگ دیگر از @s.Top6RelatedSections[i].PoetName<i class="notranslate info-buttons autorenew"></i></a> <a role="button" class="pagebutton" id="@($"load-more-button-{s.Top6RelatedSections[i].PoetId}-{s.Index}")" onclick="loadMoreRelatedFromPoet(@s.Top6RelatedSections[i].PoetId, '@s.DivanMetre.Rhythm', '@s.RhymeLetters', '@Model.DivanPage.Poem.FullUrl', '@s.Top6RelatedSections[i].FullUrl', @s.Index)">دیکھیں @s.Top6RelatedSections[i].PoetMorePoemsLikeThisCount.ToPersianNumbers() دیگر ہم آہنگ تخلیقات از @s.Top6RelatedSections[i].PoetName<i class="notranslate info-buttons autorenew"></i></a>
} }
} }
</div> </div>
@ -741,7 +741,7 @@
{ {
<div id="more-related-placeholder-@s.Index"></div> <div id="more-related-placeholder-@s.Index"></div>
<div id="load-more-related-@s.Index"> <div id="load-more-related-@s.Index">
<a role="button" class="pagebutton" id="load-more-button-@s.Index" onclick="loadMoreRelatedPoems(@Model.DivanPage.Poem.Id, 5, '@s.DivanMetre.Rhythm', '@s.RhymeLetters', '@Model.DivanPage.Poem.FullUrl', @s.Index)">بیشتر<i class="notranslate info-buttons autorenew"></i></a> <a role="button" class="pagebutton" id="load-more-button-@s.Index" onclick="loadMoreRelatedPoems(@Model.DivanPage.Poem.Id, 5, '@s.DivanMetre.Rhythm', '@s.RhymeLetters', '@Model.DivanPage.Poem.FullUrl', @s.Index)">مزید<i class="notranslate info-buttons autorenew"></i></a>
</div> </div>
} }
} }
@ -749,14 +749,14 @@
@if (Model.SectionsWithMetreAndRhymes.Any()) @if (Model.SectionsWithMetreAndRhymes.Any())
{ {
<a href="@Html.Raw($"/simi/?v={Uri.EscapeDataString(Model.SectionsWithMetreAndRhymes.First().DivanMetre.Rhythm)}&amp;g={Uri.EscapeDataString(Model.SectionsWithMetreAndRhymes.First().RhymeLetters)}")" class="pagebutton comments-link"> <a href="@Html.Raw($"/simi/?v={Uri.EscapeDataString(Model.SectionsWithMetreAndRhymes.First().DivanMetre.Rhythm)}&amp;g={Uri.EscapeDataString(Model.SectionsWithMetreAndRhymes.First().RhymeLetters)}")" class="pagebutton comments-link">
مشابه‌یابی بر اساس وزن و قافیه بحر اور قافیے کے لحاظ سے ملتی جلتی تخلیقات
<svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" /></svg> <svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" /></svg>
</a> </a>
@for (int nSectionIndex = 1; nSectionIndex < Model.SectionsWithMetreAndRhymes.Count; nSectionIndex++) @for (int nSectionIndex = 1; nSectionIndex < Model.SectionsWithMetreAndRhymes.Count; nSectionIndex++)
{ {
<a href="@Html.Raw($"/simi/?v={Uri.EscapeDataString(Model.SectionsWithMetreAndRhymes[nSectionIndex].DivanMetre.Rhythm)}&amp;g={Uri.EscapeDataString(Model.SectionsWithMetreAndRhymes[nSectionIndex].RhymeLetters)}")" class="pagebutton comments-link"> <a href="@Html.Raw($"/simi/?v={Uri.EscapeDataString(Model.SectionsWithMetreAndRhymes[nSectionIndex].DivanMetre.Rhythm)}&amp;g={Uri.EscapeDataString(Model.SectionsWithMetreAndRhymes[nSectionIndex].RhymeLetters)}")" class="pagebutton comments-link">
مشابه‌یابی بر اساس وزن و قافیه (وزن @((nSectionIndex + 1).ToPersianNumbers())) بحر اور قافیے کے لحاظ سے ملتی جلتی تخلیقات (بحر @((nSectionIndex + 1).ToPersianNumbers()))
<svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" /></svg> <svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" /></svg>
</a> </a>
} }
@ -768,33 +768,33 @@
@* ============ DISCUSSIONS TAB ============ *@ @* ============ DISCUSSIONS TAB ============ *@
<div class="poempretab" id="discussions"></div> <div class="poempretab" id="discussions"></div>
<div class="poemtab"> <div class="poemtab">
<div class="poemtablinks"><a href="#pretab">اطّلاعات</a></div> <div class="poemtablinks"><a href="#pretab">معلومات</a></div>
<div class="poemtablinks"><a href="#words" onclick="javascript:countPoemWords(@Model.DivanPage.Id, @Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id)">واژگان</a></div> <div class="poemtablinks"><a href="#words" onclick="javascript:countPoemWords(@Model.DivanPage.Id, @Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id)">الفاظ</a></div>
<div class="poemtablinks"><a href="#manuscripts">تصاویر</a></div> <div class="poemtablinks"><a href="#manuscripts">تصاویر</a></div>
@if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Normal).Any()) @if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Normal).Any())
{ {
<div class="poemtablinks"><a href="#recitations">خوانش‌ها</a></div> <div class="poemtablinks"><a href="#recitations">قرأتیں</a></div>
} }
@if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Commentary).Any()) @if (Model.DivanPage.Poem.Recitations.Where(a => a.RecitationType == RMuseum.Models.DivanAudio.RecitationType.Commentary).Any())
{ {
<div class="poemtablinks"><a href="#commentaries">شرح‌های صوتی</a></div> <div class="poemtablinks"><a href="#commentaries">صوتی شرحیں</a></div>
} }
<div class="poemtablinks"><a href="#qpoems">مشق شعر</a></div> <div class="poemtablinks"><a href="#qpoems">مشقِ سخن</a></div>
@if (Model.SectionsWithRelated.Count > 0) @if (Model.SectionsWithRelated.Count > 0)
{ {
<div class="poemtablinks"><a href="#rpoems">هم‌آهنگ‌ها</a></div> <div class="poemtablinks"><a href="#rpoems">ہم آہنگ</a></div>
} }
<div class="poemtablinks active"><a href="#discussions">حاشیه‌ها</a></div> <div class="poemtablinks active"><a href="#discussions">حاشیے</a></div>
</div> </div>
<div class="related-images-frame poemtabcontent"> <div class="related-images-frame poemtabcontent">
<div id="comments-section"> <div id="comments-section">
@if (Model.DivanPage.Poem.Comments.Length > 1) @if (Model.DivanPage.Poem.Comments.Length > 1)
{ {
<p class="comments-sort-toggle"> <p class="comments-sort-toggle">
مرتب‌سازی حاشیه‌ها: حاشیوں کی ترتیب:
<a role="button" class="cursor-pointer" onclick="sortComments(@Model.DivanPage.Id, 'TopRated')">محبوب‌ترین</a> | <a role="button" class="cursor-pointer" onclick="sortComments(@Model.DivanPage.Id, 'TopRated')">مقبول ترین</a> |
<a role="button" class="cursor-pointer" onclick="sortComments(@Model.DivanPage.Id, 'Newest')">جدیدترین</a> | <a role="button" class="cursor-pointer" onclick="sortComments(@Model.DivanPage.Id, 'Newest')">تازہ ترین</a> |
<a role="button" class="cursor-pointer" onclick="sortComments(@Model.DivanPage.Id, 'Oldest')">قدیمی‌ترین</a> <a role="button" class="cursor-pointer" onclick="sortComments(@Model.DivanPage.Id, 'Oldest')">قدیم ترین</a>
</p> </p>
} }
<div id="comments-list-wrapper"> <div id="comments-list-wrapper">
@ -805,7 +805,7 @@
{ {
<form method="post" id="commentform" action="?handler=Comment"> <form method="post" id="commentform" action="?handler=Comment">
<fieldset> <fieldset>
<legend>💬 من حاشیه بگذارم ...</legend> <legend>💬 میں حاشیہ لکھوں ...</legend>
<table class="comment-table"> <table class="comment-table">
<tr> <tr>
<td> <td>
@ -818,36 +818,36 @@
</tr> </tr>
<tr> <tr>
<td> <td>
<button name="postcomment" id="postcomment" class="submitCommentButton width-100per" onclick="return postComment('', '#postcomment');">درج حاشیه</button> <button name="postcomment" id="postcomment" class="submitCommentButton width-100per" onclick="return postComment('', '#postcomment');">حاشیہ لکھیں</button>
</td> </td>
</tr> </tr>
</table> </table>
<div class="notice"> <div class="notice">
<p> <p>
لطفاً توجه داشته باشید که حاشیه‌ها برای ثبت نظرات شما راجع به <strong>همین شعر</strong> در نظر گرفته شده‌اند. در صورتی که در متن ثبت شدهٔ شعر در دیوان تفاوتهایی غیر از موارد قابل ویرایش یافتید، در مورد این شعر نظر یا احساس خاصی دارید یا مطلب خاصی در مورد آن می‌دانید یا دوست دارید دربارهٔ آن از دیگران چیزی بپرسید یک حاشیه برای آن بنویسید. <span class="red-color">لطفاً از درج مطالب غیرمرتبط با متن این شعر خاص خودداری فرمایید</span> و حتی‌الامکان سعی کنید متن حاشیهٔ خود را با حروف فارسی درج کنید (حاشیه‌ها بازبینی خواهند شد و موارد غیرمرتبط و ناقض این نکات حذف می‌شوند). براہِ کرم دھیان رکھیں کہ حاشیے آپ کی رائے کے لیے ہیں: <strong>اسی تخلیق</strong> کے بارے میں۔ اگر متن میں قابلِ ترمیم امور کے علاوہ کوئی فرق ملے، اس تخلیق پر آپ کی کوئی رائے یا معلومات ہو، یا دوسروں سے کچھ پوچھنا ہو تو حاشیہ لکھیں. <span class="red-color">براہِ کرم اس تخلیق سے غیر متعلق باتیں نہ لکھیں</span> اور حتی الامکان اپنا حاشیہ اردو حروف میں لکھیں (حاشیوں کا جائزہ لیا جائے گا اور غیر متعلق یا ان ہدایات کے خلاف حاشیے حذف کر دیے جائیں گے).
</p> </p>
<p> <p>
<span class="red-color">بحثهای مذهبی و اعتقادی و ارجاع توهین‌آمیز نسبت به بزرگان ادیان و همینطور بحثهای قومیتی و توهین به فرهنگها و قومیتها و زبانها و بحثهای مرتبط با سیاست روز از مصادیق حاشیه‌های نامناسب محسوب می‌شوند.</span> لطفاً از هیچ قوم و مذهبی با صفات زننده صحبت نکنید و به خاطر داشته باشید که همهٔ اقوام (حتی اقوام ایرانی) در مقاطعی از تاریخ خود نسبت به اقوام دیگر بدوی محسوب می‌شده‌اند یا با تعدی به خاک همسایگان خود نسبت به آنها ستم روا داشته‌اند. <span class="red-color">مذہبی و اعتقادی مباحث، مذہبی بزرگوں کی توہین، نسلی مباحث، ثقافتوں، قوموں اور زبانوں کی توہین اور روزمرہ سیاست سے متعلق باتیں نامناسب حاشیے شمار ہوتی ہیں.</span> براہِ کرم کسی قوم یا مذہب کے بارے میں ناشائستہ الفاظ استعمال نہ کریں.
</p> </p>
<p> <p>
در خطاب قرار دادن کاربران دیگر -چه به شکل خاص و چه به شکل عمومی- فارغ از این که در حاشیه‌هایشان نظرات معقولی را عنوان کرده‌اند یا خیر، رعایت احترام را بفرمایید. بی‌احترامی به دیگر کاربران (و البته شخصیتهای دیگر از جمله هنرمندان و ...) از مصادیق حاشیه‌های نامناسب محسوب می‌شود و فارغ از ارزش محتوایی، حاشیهٔ فرد خاطی به محض دریافت گزارش تخلف حذف خواهد شد. دوسرے صارفین سے مخاطب ہوتے ہوئے احترام ملحوظ رکھیں۔ دوسرے صارفین یا شخصیات کی بے ادبی نامناسب حاشیہ شمار ہوتی ہے اور اطلاع ملتے ہی ایسا حاشیہ حذف کر دیا جائے گا.
</p> </p>
<p> <p>
<span class="red-color">تذکر مهم: </span>از آنجا که دیوان فاقد نیروی انسانی کافی برای رسیدگی به حجم بالایی از تخلف در حاشیه‌ها می‌باشد در صورت تکرار موارد عنوان شده توسط یک کاربر در حاشیه‌های متعدد، حساب کاربر متخلف بدون اخطار قبلی حذف خواهد شد. <span class="red-color">ضمناً</span> فحاشی یا هر اقدامی که نشان دهد کاربر تلاش داشته با انجام آن عامدانه خرابکاری کند یا مشکلی برای سایت ایجاد کند حتی اگر فقط یک بار اتفاق بیفتد منجر به حذف حساب کاربر متخلف بدون اخطار قبلی خواهد شد. <span class="red-color">اہم تنبیہ: </span>چونکہ دیوان کے پاس بڑی تعداد میں خلاف ورزیوں سے نمٹنے کے وسائل نہیں، اس لیے بار بار خلاف ورزی کرنے والے صارف کا اکاؤنٹ بغیر پیشگی انتباہ کے حذف کر دیا جائے گا. <span class="red-color">نیز</span> گالی گلوچ یا جان بوجھ کر تخریب کی کوئی بھی کوشش، خواہ ایک ہی بار ہو، اکاؤنٹ کے بغیر انتباہ حذف ہونے کا سبب بنے گی.
</p> </p>
<p> <p>
<span class="green-color">لطفاً در صورتی که تفاوتها را با استناد به نسخه‌های چاپی یا خطی گزارش می‌کنید این مسئله را با ذکر منبع مطرح نمایید. اشتباهات تایپی و غلطهای املایی را <a href="/User/Editor?id=@Model.DivanPage.Id">ویرایش</a> و تصحیح کنید.</span> <span class="green-color">اگر آپ مطبوعہ یا قلمی نسخوں کی بنیاد پر فرق بتا رہے ہیں تو ماخذ کا حوالہ دیں۔ ٹائپ اور املا کی غلطیوں کو <a href="/User/Editor?id=@Model.DivanPage.Id">ترمیم</a> اور درست کریں.</span>
</p> </p>
<p> <p>
<span class="red-color">لطفاً از درج اطلاعات خصوصی مانند تلفن همراه و مانند آن در حاشیه‌ خودداری کنید. </span> انتشار چنین اطلاعاتی به صورت عمومی ممکن است باعث سوء استفادهٔ کلاهبرداران شود. <span class="red-color">براہِ کرم حاشیے میں موبائل نمبر جیسی نجی معلومات درج نہ کریں. </span> ایسی معلومات کی عام اشاعت دھوکے بازوں کے غلط استعمال کا سبب بن سکتی ہے.
</p> </p>
</div> </div>
</fieldset> </fieldset>
</form> </form>
<div id="id02" class="modal"> <div id="id02" class="modal">
<span onclick="document.getElementById('id02').style.display='none'" class="close" title="بستن">&times;</span> <span onclick="document.getElementById('id02').style.display='none'" class="close" title="بند کریں">&times;</span>
<form class="modal-content animate" method="post" id="editcommentform" action="?handler=EditComment"> <form class="modal-content animate" method="post" id="editcommentform" action="?handler=EditComment">
<table class="comment-table"> <table class="comment-table">
<tr> <tr>
@ -859,7 +859,7 @@
</tr> </tr>
<tr> <tr>
<td> <td>
<button name="editcomment" id="editcomment" class="submitCommentButton width-100per" onclick="return editComment();">ویرایش حاشیه</button> <button name="editcomment" id="editcomment" class="submitCommentButton width-100per" onclick="return editComment();">حاشیے میں ترمیم</button>
</td> </td>
</tr> </tr>
</table> </table>
@ -867,7 +867,7 @@
</div> </div>
<div id="id03" class="modal"> <div id="id03" class="modal">
<span onclick="document.getElementById('id03').style.display='none'" class="close" title="بستن">&times;</span> <span onclick="document.getElementById('id03').style.display='none'" class="close" title="بند کریں">&times;</span>
<form class="modal-content animate" method="post" id="replycommentform" action="?handler=Reply"> <form class="modal-content animate" method="post" id="replycommentform" action="?handler=Reply">
<table class="comment-table"> <table class="comment-table">
<tr> <tr>
@ -880,12 +880,12 @@
</tr> </tr>
<tr> <tr>
<td> <td>
<button name="replycomment" id="replycomment" class="submitCommentButton width-100per" onclick="return postReplyComment();">درج پاسخ به حاشیه</button> <button name="replycomment" id="replycomment" class="submitCommentButton width-100per" onclick="return postReplyComment();">حاشیے کا جواب لکھیں</button>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<p>در پاسخ به:</p> <p>جواب میں::</p>
<div id="refComment"></div> <div id="refComment"></div>
</td> </td>
</tr> </tr>
@ -897,7 +897,7 @@
{ {
<div class="notice" id="commentform"> <div class="notice" id="commentform">
<p> <p>
برای حاشیه‌گذاری باید در دیوان <a href="/signup" target="_blank">نام‌نویسی</a> کنید و با نام کاربری خود از طریق آیکون 👤 گوشهٔ پایین سمت چپ صفحات به آن وارد شوید. حاشیہ لکھنے کے لیے دیوان میں <a href="/signup" target="_blank">رکنیت</a> کریں اور اپنے صارف نام سے آئیکن 👤 (صفحے کے نیچے بائیں کونے میں) کے ذریعے داخل ہوں.
</p> </p>
</div> </div>
} }
@ -938,7 +938,7 @@
oms.addListener('click', function (marker) { oms.addListener('click', function (marker) {
var poemDesc = '<a class="actionlink" onclick="viewLocation(marker.poemGeoTag.Location.Latitude, marker.poemGeoTag.Location.Longitude)">' + marker.poemGeoTag.Location.Name + '</a>'; var poemDesc = '<a class="actionlink" onclick="viewLocation(marker.poemGeoTag.Location.Latitude, marker.poemGeoTag.Location.Longitude)">' + marker.poemGeoTag.Location.Name + '</a>';
if (marker.poemGeoTag.LunarYear != null) { if (marker.poemGeoTag.LunarYear != null) {
poemDesc += '<br> سال ' + persianizeNumerals(marker.poemGeoTag.LunarYear.toString()) + ' قمری'; poemDesc += '<br> سال ' + persianizeNumerals(marker.poemGeoTag.LunarYear.toString()) + ' ہجری';
} }
popup.setContent(poemDesc); popup.setContent(poemDesc);
popup.setLatLng(marker.getLatLng()); popup.setLatLng(marker.getLatLng());

View File

@ -48,49 +48,49 @@
@* Poet Tabs *@ @* Poet Tabs *@
<div class="poempretab" id="stats"></div> <div class="poempretab" id="stats"></div>
<div class="poemtab"> <div class="poemtab">
<div class="poemtablinks active"><a href="#pretab">آمار</a></div> <div class="poemtablinks active"><a href="#pretab">اعداد و شمار</a></div>
<div class="poemtablinks"><a href="#quoteds">مشق شعر</a></div> <div class="poemtablinks"><a href="#quoteds">مشقِ سخن</a></div>
<div class="poemtablinks"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">واژگان</a></div> <div class="poemtablinks"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">الفاظ</a></div>
<div class="poemtablinks"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">خوانش‌ها</a></div> <div class="poemtablinks"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">قرأتیں</a></div>
<div class="poemtablinks"><a href="#photos">تصاویر چهره</a></div> <div class="poemtablinks"><a href="#photos">تصاویر</a></div>
<div class="poemtablinks"><a href="#papersources">منابع کاغذی</a></div> <div class="poemtablinks"><a href="#papersources">مطبوعہ مآخذ</a></div>
<div class="poemtablinks"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">نامبردگان</a></div> <div class="poemtablinks"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">شخصیات</a></div>
</div> </div>
@* Stats Section *@ @* Stats Section *@
<div class="related-images-frame poemtabcontent"> <div class="related-images-frame poemtabcontent">
<p>آمار و اطلاعات مربوط به @Model.DivanPage.PoetOrCat.Poet.Nickname</p> <p>اعداد و شمار اور معلومات: @Model.DivanPage.PoetOrCat.Poet.Nickname</p>
</div> </div>
@* Quoted Poems Section *@ @* Quoted Poems Section *@
<div class="poempretab" id="quoteds"></div> <div class="poempretab" id="quoteds"></div>
<div class="poemtab"> <div class="poemtab">
<div class="poemtablinks"><a href="#pretab">آمار</a></div> <div class="poemtablinks"><a href="#pretab">اعداد و شمار</a></div>
<div class="poemtablinks active"><a href="#quoteds">مشق شعر</a></div> <div class="poemtablinks active"><a href="#quoteds">مشقِ سخن</a></div>
<div class="poemtablinks"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">واژگان</a></div> <div class="poemtablinks"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">الفاظ</a></div>
<div class="poemtablinks"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">خوانش‌ها</a></div> <div class="poemtablinks"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">قرأتیں</a></div>
<div class="poemtablinks"><a href="#photos">تصاویر چهره</a></div> <div class="poemtablinks"><a href="#photos">تصاویر</a></div>
<div class="poemtablinks"><a href="#papersources">منابع کاغذی</a></div> <div class="poemtablinks"><a href="#papersources">مطبوعہ مآخذ</a></div>
<div class="poemtablinks"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">نامبردگان</a></div> <div class="poemtablinks"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">شخصیات</a></div>
</div> </div>
<div class="related-images-frame poemtabcontent"> <div class="related-images-frame poemtabcontent">
<p>مشق‌های شعر از @Model.DivanPage.PoetOrCat.Poet.Nickname</p> <p>مشقِ سخن از @Model.DivanPage.PoetOrCat.Poet.Nickname</p>
</div> </div>
@* Word Counts Section *@ @* Word Counts Section *@
<div class="poempretab" id="words"></div> <div class="poempretab" id="words"></div>
<div class="poemtab"> <div class="poemtab">
<div class="poemtablinks"><a href="#pretab">آمار</a></div> <div class="poemtablinks"><a href="#pretab">اعداد و شمار</a></div>
<div class="poemtablinks"><a href="#quoteds">مشق شعر</a></div> <div class="poemtablinks"><a href="#quoteds">مشقِ سخن</a></div>
<div class="poemtablinks active"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">واژگان</a></div> <div class="poemtablinks active"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">الفاظ</a></div>
<div class="poemtablinks"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">خوانش‌ها</a></div> <div class="poemtablinks"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">قرأتیں</a></div>
<div class="poemtablinks"><a href="#photos">تصاویر چهره</a></div> <div class="poemtablinks"><a href="#photos">تصاویر</a></div>
<div class="poemtablinks"><a href="#papersources">منابع کاغذی</a></div> <div class="poemtablinks"><a href="#papersources">مطبوعہ مآخذ</a></div>
<div class="poemtablinks"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">نامبردگان</a></div> <div class="poemtablinks"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">شخصیات</a></div>
</div> </div>
<div class="related-images-frame poemtabcontent"> <div class="related-images-frame poemtabcontent">
<div class="century cursor-pointer" id="load-word-counts" onclick="loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)"> <div class="century cursor-pointer" id="load-word-counts" onclick="loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">
محاسبهٔ بسامد واژگان الفاظ کی تعداد شمار کریں
</div> </div>
<div id="wordcounts-placeholder"> <div id="wordcounts-placeholder">
@if (Model.CategoryWordsCounts != null) @if (Model.CategoryWordsCounts != null)
@ -103,38 +103,38 @@
@* Recitations Section *@ @* Recitations Section *@
<div class="poempretab" id="recitations"></div> <div class="poempretab" id="recitations"></div>
<div class="poemtab"> <div class="poemtab">
<div class="poemtablinks"><a href="#pretab">آمار</a></div> <div class="poemtablinks"><a href="#pretab">اعداد و شمار</a></div>
<div class="poemtablinks"><a href="#quoteds">مشق شعر</a></div> <div class="poemtablinks"><a href="#quoteds">مشقِ سخن</a></div>
<div class="poemtablinks"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">واژگان</a></div> <div class="poemtablinks"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">الفاظ</a></div>
<div class="poemtablinks active"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">خوانش‌ها</a></div> <div class="poemtablinks active"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">قرأتیں</a></div>
<div class="poemtablinks"><a href="#photos">تصاویر چهره</a></div> <div class="poemtablinks"><a href="#photos">تصاویر</a></div>
<div class="poemtablinks"><a href="#papersources">منابع کاغذی</a></div> <div class="poemtablinks"><a href="#papersources">مطبوعہ مآخذ</a></div>
<div class="poemtablinks"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">نامبردگان</a></div> <div class="poemtablinks"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">شخصیات</a></div>
</div> </div>
<div class="related-images-frame poemtabcontent"> <div class="related-images-frame poemtabcontent">
@if (Model.CategoryHasRecitations) @if (Model.CategoryHasRecitations)
{ {
<div class="century cursor-pointer" id="load-cat-recitations" onclick="loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)"> <div class="century cursor-pointer" id="load-cat-recitations" onclick="loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">
برای بارگذاری خوانش‌ها کلیک کنید. قرأتیں لوڈ کرنے کے لیے کلک کریں.
</div> </div>
<div id="recitations-section"></div> <div id="recitations-section"></div>
} }
else else
{ {
<p>این بخش هنوز خوانشی ندارد.</p> <p>اس حصے کی ابھی کوئی قرأت نہیں.</p>
} }
</div> </div>
@* Photos Section *@ @* Photos Section *@
<div class="poempretab" id="photos"></div> <div class="poempretab" id="photos"></div>
<div class="poemtab"> <div class="poemtab">
<div class="poemtablinks"><a href="#pretab">آمار</a></div> <div class="poemtablinks"><a href="#pretab">اعداد و شمار</a></div>
<div class="poemtablinks"><a href="#quoteds">مشق شعر</a></div> <div class="poemtablinks"><a href="#quoteds">مشقِ سخن</a></div>
<div class="poemtablinks"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">واژگان</a></div> <div class="poemtablinks"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">الفاظ</a></div>
<div class="poemtablinks"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">خوانش‌ها</a></div> <div class="poemtablinks"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">قرأتیں</a></div>
<div class="poemtablinks active"><a href="#photos">تصاویر چهره</a></div> <div class="poemtablinks active"><a href="#photos">تصاویر</a></div>
<div class="poemtablinks"><a href="#papersources">منابع کاغذی</a></div> <div class="poemtablinks"><a href="#papersources">مطبوعہ مآخذ</a></div>
<div class="poemtablinks"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">نامبردگان</a></div> <div class="poemtablinks"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">شخصیات</a></div>
</div> </div>
<div class="poemtabcontent"> <div class="poemtabcontent">
<div class="related-images-frame"> <div class="related-images-frame">
@ -154,7 +154,7 @@
@Html.Raw(Model.Photo.Description) @Html.Raw(Model.Photo.Description)
</div> </div>
} }
<a href="/photos?p=@Model.DivanPage.PoetOrCat.Cat.UrlSlug" role="button" class="pagebutton comments-link">مشاهده و پیشنهاد تصاویر چهره برای @Model.DivanPage.PoetOrCat.Poet.Nickname</a> <a href="/photos?p=@Model.DivanPage.PoetOrCat.Cat.UrlSlug" role="button" class="pagebutton comments-link">تصاویر دیکھیں اور تجویز کریں: @Model.DivanPage.PoetOrCat.Poet.Nickname</a>
</div> </div>
</div> </div>
@ -163,13 +163,13 @@
{ {
<div class="poempretab" id="papersources"></div> <div class="poempretab" id="papersources"></div>
<div class="poemtab"> <div class="poemtab">
<div class="poemtablinks"><a href="#pretab">آمار</a></div> <div class="poemtablinks"><a href="#pretab">اعداد و شمار</a></div>
<div class="poemtablinks"><a href="#quoteds">مشق شعر</a></div> <div class="poemtablinks"><a href="#quoteds">مشقِ سخن</a></div>
<div class="poemtablinks"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">واژگان</a></div> <div class="poemtablinks"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">الفاظ</a></div>
<div class="poemtablinks"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">خوانش‌ها</a></div> <div class="poemtablinks"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">قرأتیں</a></div>
<div class="poemtablinks"><a href="#photos">تصاویر چهره</a></div> <div class="poemtablinks"><a href="#photos">تصاویر</a></div>
<div class="poemtablinks active"><a href="#papersources">منابع کاغذی</a></div> <div class="poemtablinks active"><a href="#papersources">مطبوعہ مآخذ</a></div>
<div class="poemtablinks"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">نامبردگان</a></div> <div class="poemtablinks"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">شخصیات</a></div>
</div> </div>
<div class="poemtabcontent related-images-frame"> <div class="poemtabcontent related-images-frame">
<div class="related-images"> <div class="related-images">
@ -187,7 +187,7 @@
@if (Model.CanEdit) @if (Model.CanEdit)
{ {
<div> <div>
<a onclick="markAsTextOriginal(@book.NaskbanBookId, @Model.DivanPage.PoetOrCat.Cat.Id, '@book.BookFullTitle', '@Model.DivanPage.PoetOrCat.Cat.Title')" class="pagebutton" role="button">منبع کاغذی شود</a> <a onclick="markAsTextOriginal(@book.NaskbanBookId, @Model.DivanPage.PoetOrCat.Cat.Id, '@book.BookFullTitle', '@Model.DivanPage.PoetOrCat.Cat.Title')" class="pagebutton" role="button">مطبوعہ ماخذ بنے</a>
</div> </div>
} }
</div> </div>
@ -195,7 +195,7 @@
} }
else else
{ {
<p>برای این بخش هنوز منبع کاغذی خاصی مشخص نشده است.</p> <p>اس حصے کا ابھی کوئی مطبوعہ ماخذ متعین نہیں.</p>
} }
</div> </div>
</div> </div>
@ -204,17 +204,17 @@
@* Person Graph ("characters in this work") Section *@ @* Person Graph ("characters in this work") Section *@
<div class="poempretab" id="persongraph"></div> <div class="poempretab" id="persongraph"></div>
<div class="poemtab"> <div class="poemtab">
<div class="poemtablinks"><a href="#pretab">آمار</a></div> <div class="poemtablinks"><a href="#pretab">اعداد و شمار</a></div>
<div class="poemtablinks"><a href="#quoteds">مشق شعر</a></div> <div class="poemtablinks"><a href="#quoteds">مشقِ سخن</a></div>
<div class="poemtablinks"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">واژگان</a></div> <div class="poemtablinks"><a href="#words" onclick="javascript:loadWordCounts(@Model.DivanPage.PoetOrCat.Cat.Id, @Model.DivanPage.PoetOrCat.Poet.Id, false)">الفاظ</a></div>
<div class="poemtablinks"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">خوانش‌ها</a></div> <div class="poemtablinks"><a href="#recitations" onclick="javascript:loadCatRecitations(@Model.DivanPage.PoetOrCat.Cat.Id)">قرأتیں</a></div>
<div class="poemtablinks"><a href="#photos">تصاویر چهره</a></div> <div class="poemtablinks"><a href="#photos">تصاویر</a></div>
<div class="poemtablinks"><a href="#papersources">منابع کاغذی</a></div> <div class="poemtablinks"><a href="#papersources">مطبوعہ مآخذ</a></div>
<div class="poemtablinks active"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">نامبردگان</a></div> <div class="poemtablinks active"><a href="#persongraph" onclick="javascript:loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">شخصیات</a></div>
</div> </div>
<div class="related-images-frame poemtabcontent"> <div class="related-images-frame poemtabcontent">
<div class="century cursor-pointer" id="load-persongraph" onclick="loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)"> <div class="century cursor-pointer" id="load-persongraph" onclick="loadPersonGraph(@Model.DivanPage.PoetOrCat.Cat.Id)">
بارگذاری نامبردگانی این بخش اس حصے کی شخصیات لوڈ کریں
</div> </div>
<div id="persongraph-placeholder"></div> <div id="persongraph-placeholder"></div>
</div> </div>
@ -257,7 +257,7 @@
<div class="spacer">&nbsp;</div> <div class="spacer">&nbsp;</div>
<div class="related-images-frame"> <div class="related-images-frame">
<p> <p>
<a role="button" href="/Admin/ModifyPage?id=@Model.DivanPage.Id" class="pagebutton">ویرایش مستقیم</a> <a role="button" href="/Admin/ModifyPage?id=@Model.DivanPage.Id" class="pagebutton">براہِ راست ترمیم</a>
</p> </p>
</div> </div>
} }
@ -303,7 +303,7 @@
// which marker was actually clicked // which marker was actually clicked
var poemDesc = markOrder + '<a class="actionlink" onclick="viewLocation(' + marker.poemGeoTag.Location.Latitude + ', ' + marker.poemGeoTag.Location.Longitude + ')">' + marker.poemGeoTag.Location.Name + '</a> <br> <a href="' + marker.poemGeoTag.Poem.FullUrl + '">' + marker.poemGeoTag.Poem.FullTitle + '</a>'; var poemDesc = markOrder + '<a class="actionlink" onclick="viewLocation(' + marker.poemGeoTag.Location.Latitude + ', ' + marker.poemGeoTag.Location.Longitude + ')">' + marker.poemGeoTag.Location.Name + '</a> <br> <a href="' + marker.poemGeoTag.Poem.FullUrl + '">' + marker.poemGeoTag.Poem.FullTitle + '</a>';
if (marker.poemGeoTag.LunarYear != null) { if (marker.poemGeoTag.LunarYear != null) {
poemDesc += '<br> سال ' + persianizeNumerals(marker.poemGeoTag.LunarYear.toString()) + ' قمری'; poemDesc += '<br> سال ' + persianizeNumerals(marker.poemGeoTag.LunarYear.toString()) + ' ہجری';
} }
popup.setContent(poemDesc); popup.setContent(poemDesc);
popup.setLatLng(marker.getLatLng()); popup.setLatLng(marker.getLatLng());

View File

@ -7,8 +7,8 @@
var recitaion = Model.Recitations[nRecitationIndex]; var recitaion = Model.Recitations[nRecitationIndex];
<div class="@Model.CSSClass(nRecitationIndex)" id="@recitaion.Id"> <div class="@Model.CSSClass(nRecitationIndex)" id="@recitaion.Id">
<audio id="audio-@recitaion.Id" preload="none" controls> <audio id="audio-@recitaion.Id" preload="none" controls>
<source src="@recitaion.Mp3Url" title="@($"{recitaion.AudioTitle} به خوانش {recitaion.AudioArtist}")" data-track-number="@(nRecitationIndex + 1)"> <source src="@recitaion.Mp3Url" title="@($"{recitaion.AudioTitle} قرأت {recitaion.AudioArtist}")" data-track-number="@(nRecitationIndex + 1)">
مرورگر شما از پخش صدای HTML 5 پشتیبانی نمی‌کند. آپ کا براؤزر آڈیو HTML 5 چلانے کی سہولت نہیں رکھتا.
</audio> </audio>
@if (nRecitationIndex != (Model.Recitations.Length - 1)) @if (nRecitationIndex != (Model.Recitations.Length - 1))
{ {
@ -34,25 +34,25 @@
@if(!Model.CategoryMode) @if(!Model.CategoryMode)
{ {
<div class="audio-partial-action-box"> <div class="audio-partial-action-box">
<a role="button" title="پخش" class="cursor-pointer recitation-button" onclick="document.getElementById('audio-@recitaion.Id').play()"><i class="notranslate recitation-icons recitation-play"></i></a> <a role="button" title="چلائیں" class="cursor-pointer recitation-button" onclick="document.getElementById('audio-@recitaion.Id').play()"><i class="notranslate recitation-icons recitation-play"></i></a>
<a role="button" title="دریافت خوانش" class="cursor-pointer recitation-button" href="@($"/AudioClip/?a={recitaion.Id}")" onclick="wpopen(this.href); return false"><i class="notranslate recitation-icons recitation-download"></i></a> <a role="button" title="قرأت ڈاؤن لوڈ کریں" class="cursor-pointer recitation-button" href="@($"/AudioClip/?a={recitaion.Id}")" onclick="wpopen(this.href); return false"><i class="notranslate recitation-icons recitation-download"></i></a>
<a role="button" title="گزارش خطا" class="cursor-pointer recitation-button" href="@($"/ReportRecitation/?a={recitaion.Id}")" onclick="wpopen(this.href); return false"><i class="notranslate recitation-icons recitation-report"></i></a> <a role="button" title="غلطی کی اطلاع" class="cursor-pointer recitation-button" href="@($"/ReportRecitation/?a={recitaion.Id}")" onclick="wpopen(this.href); return false"><i class="notranslate recitation-icons recitation-report"></i></a>
@if (Model.LoggedIn) @if (Model.LoggedIn)
{ {
<a role="button" title="رأی به خوانش" class="cursor-pointer recitation-button" onclick="switchRecitationVote(@recitaion.Id)"><i class="notranslate recitation-icons @(recitaion.UpVotedByUser ? "recitation-vote" : "recitation-novote")" id="@($"recitaion-{recitaion.Id}")"></i></a> <a role="button" title="قرأت کو ووٹ دیں" class="cursor-pointer recitation-button" onclick="switchRecitationVote(@recitaion.Id)"><i class="notranslate recitation-icons @(recitaion.UpVotedByUser ? "recitation-vote" : "recitation-novote")" id="@($"recitaion-{recitaion.Id}")"></i></a>
} }
<a role="button" title="اطلاعات رتبه‌بندی" class="cursor-pointer recitation-button" href="@($"/RecitationsOrder/?p={recitaion.PoemId}#a{recitaion.Id}")" onclick="wpopen(this.href); return false"><i class="notranslate recitation-icons recitation-score"></i></a> <a role="button" title="درجہ بندی کی معلومات" class="cursor-pointer recitation-button" href="@($"/RecitationsOrder/?p={recitaion.PoemId}#a{recitaion.Id}")" onclick="wpopen(this.href); return false"><i class="notranslate recitation-icons recitation-score"></i></a>
@if (recitaion.AudioArtistUrl.IndexOf("http") == 0) @if (recitaion.AudioArtistUrl.IndexOf("http") == 0)
{ {
<a role="button" title="@recitaion.AudioArtist" class="cursor-pointer recitation-button" href="@Html.Raw(recitaion.AudioArtistUrl)" target="_blank"><i class="notranslate recitation-icons recitation-website"></i></a> <a role="button" title="@recitaion.AudioArtist" class="cursor-pointer recitation-button" href="@Html.Raw(recitaion.AudioArtistUrl)" target="_blank"><i class="notranslate recitation-icons recitation-website"></i></a>
} }
<a role="button" title="پیوند ثابت" class="cursor-pointer recitation-button" href="@($"{recitaion.PoemFullUrl}?allaudio=1#{recitaion.Id}")" onclick="navigator.clipboard.writeText('@($"https://ganjoor.net{recitaion.PoemFullUrl}?allaudio=1#{recitaion.Id}")'); alert('نشانی در حافظه رونوشت شد.');"><i class="notranslate recitation-icons copylink-icon"></i></a> <a role="button" title="مستقل ربط" class="cursor-pointer recitation-button" href="@($"{recitaion.PoemFullUrl}?allaudio=1#{recitaion.Id}")" onclick="navigator.clipboard.writeText('@($"https://ganjoor.net{recitaion.PoemFullUrl}?allaudio=1#{recitaion.Id}")'); alert('ربط نقل ہو گیا.');"><i class="notranslate recitation-icons copylink-icon"></i></a>
</div> </div>
@if (recitaion.Mistakes.Length > 0) @if (recitaion.Mistakes.Length > 0)
{ {
<div class="recitaion-mistakes"> <div class="recitaion-mistakes">
<div class="recitaion-mistakes-header"> <div class="recitaion-mistakes-header">
اشکالات خوانش قرأت کی خامیاں
</div> </div>
@foreach (var mistake in recitaion.Mistakes) @foreach (var mistake in recitaion.Mistakes)
{ {
@ -66,8 +66,8 @@
</p> </p>
@if(Model.IsAdmin) @if(Model.IsAdmin)
{ {
<a role="button" title="حذف خطا" onclick="deleteMistake(@mistake.Id)"><i class="notranslate pageicons">delete</i></a> <a role="button" title="غلطی ہٹائیں" onclick="deleteMistake(@mistake.Id)"><i class="notranslate pageicons">delete</i></a>
<a role="button" title="ویرایش خطا" onclick="editMistakeReason(@mistake.Id, '@mistake.Mistake.Replace("\r\n", "<br>")')"><i class="notranslate pageicons">edit</i></a> <a role="button" title="غلطی میں ترمیم" onclick="editMistakeReason(@mistake.Id, '@mistake.Mistake.Replace("\r\n", "<br>")')"><i class="notranslate pageicons">edit</i></a>
} }
</div> </div>
} }
@ -97,7 +97,7 @@
@if (!Model.ShowAllRecitaions && nRecitationIndex == 4 && Model.Recitations.Length > 5) @if (!Model.ShowAllRecitaions && nRecitationIndex == 4 && Model.Recitations.Length > 5)
{ {
<a role="button" class="pagebutton load-all-recitations" onclick="showAllRecitations()">همهٔ خوانش‌ها<i class="notranslate info-buttons">autorenew</i></a> <a role="button" class="pagebutton load-all-recitations" onclick="showAllRecitations()">تمام قرأتیں<i class="notranslate info-buttons">autorenew</i></a>
} }
} }
<script> <script>

View File

@ -6,7 +6,7 @@
<table class="bnum-partial-table"> <table class="bnum-partial-table">
<tr> <tr>
<td>شماره:</td> <td>نمبر:</td>
<td> <td>
@((Model.CoupletIndex + 1).ToPersianNumbers()) @((Model.CoupletIndex + 1).ToPersianNumbers())
</td> </td>
@ -14,7 +14,7 @@
@foreach (var number in Model.Numbers) @foreach (var number in Model.Numbers)
{ {
<tr> <tr>
<td>شماره در @number.NumberingName:</td> <td>نمبر در @number.NumberingName:</td>
<td>@number.Number.ToPersianNumbers() از @number.TotalLines.ToPersianNumbers()</td> <td>@number.Number.ToPersianNumbers() از @number.TotalLines.ToPersianNumbers()</td>
</tr> </tr>
@if (number.SameTypeNumber != number.Number) @if (number.SameTypeNumber != number.Number)
@ -22,13 +22,13 @@
@if (number.IsPoemVerse) @if (number.IsPoemVerse)
{ {
<tr> <tr>
<td colspan="2">بیت @number.SameTypeNumber.ToPersianNumbers() از @number.TotalCouplets.ToPersianNumbers()</td> <td colspan="2">شعر @number.SameTypeNumber.ToPersianNumbers() از @number.TotalCouplets.ToPersianNumbers()</td>
</tr> </tr>
} }
else else
{ {
<tr> <tr>
<td colspan="2">پاراگراف @number.SameTypeNumber.ToPersianNumbers() از @number.TotalParagraphs.ToPersianNumbers()</td> <td colspan="2">پیراگراف @number.SameTypeNumber.ToPersianNumbers() از @number.TotalParagraphs.ToPersianNumbers()</td>
</tr> </tr>
} }
} }
@ -38,27 +38,27 @@
<div class="bnum-partial-action-box"> <div class="bnum-partial-action-box">
@if (Model.LoggedIn) @if (Model.LoggedIn)
{ {
<a role="button" id="editcouplet-@Model.CoupletIndex" class="cursor-pointer" onclick="editCouplet(@Model.PoemId, @Model.CoupletIndex, 'tr')" title="ویرایش از اینجا"><i class="notranslate material-icons color-white">edit</i></a> <a role="button" id="editcouplet-@Model.CoupletIndex" class="cursor-pointer" onclick="editCouplet(@Model.PoemId, @Model.CoupletIndex, 'tr')" title="یہاں سے ترمیم"><i class="notranslate material-icons color-white">edit</i></a>
<a role="button" id="editcoupletsummary-@Model.CoupletIndex" class="cursor-pointer" onclick="editCouplet(@Model.PoemId, @Model.CoupletIndex, 'summary')" title="نوشتن معنی به زبان ساده"><i class="notranslate material-icons color-white">edit_note</i></a> <a role="button" id="editcoupletsummary-@Model.CoupletIndex" class="cursor-pointer" onclick="editCouplet(@Model.PoemId, @Model.CoupletIndex, 'summary')" title="آسان زبان میں مطلب لکھیں"><i class="notranslate material-icons color-white">edit_note</i></a>
<a role="button" id="bookmark-@Model.CoupletIndex" class="cursor-pointer" onclick="switchBookmark(@Model.PoemId, @Model.CoupletIndex, '-@Model.CoupletIndex')" title="@Model.BookmarkingText"><i class="notranslate material-icons color-white" id="bookmark-icon-@Model.CoupletIndex">@Model.BookmarkingIcon</i></a> <a role="button" id="bookmark-@Model.CoupletIndex" class="cursor-pointer" onclick="switchBookmark(@Model.PoemId, @Model.CoupletIndex, '-@Model.CoupletIndex')" title="@Model.BookmarkingText"><i class="notranslate material-icons color-white" id="bookmark-icon-@Model.CoupletIndex">@Model.BookmarkingIcon</i></a>
} }
@if (Model.SectionsWithMetreAndRhymes.Any()) @if (Model.SectionsWithMetreAndRhymes.Any())
{ {
<text> <text>
<a role="button" title="موارد هم آهنگ" class="cursor-pointer" href="@Html.Raw($"/simi/?v={Uri.EscapeDataString(Model.SectionsWithMetreAndRhymes.First().DivanMetre.Rhythm)}&amp;g={Uri.EscapeDataString(Model.SectionsWithMetreAndRhymes.First().RhymeLetters)}")"><i class="notranslate material-icons color-white">search</i></a> <a role="button" title="ہم آہنگ تخلیقات" class="cursor-pointer" href="@Html.Raw($"/simi/?v={Uri.EscapeDataString(Model.SectionsWithMetreAndRhymes.First().DivanMetre.Rhythm)}&amp;g={Uri.EscapeDataString(Model.SectionsWithMetreAndRhymes.First().RhymeLetters)}")"><i class="notranslate material-icons color-white">search</i></a>
</text> </text>
@for (int nSectionIndex = 1; nSectionIndex < Model.SectionsWithMetreAndRhymes.Count; nSectionIndex++) @for (int nSectionIndex = 1; nSectionIndex < Model.SectionsWithMetreAndRhymes.Count; nSectionIndex++)
{ {
<text> <text>
<a role="button" title="موارد هم آهنگ (وزن یا قافیهٔ @((nSectionIndex + 1).ToPersianNumbers()))" class="cursor-pointer" href="@Html.Raw($"/simi/?v={Uri.EscapeDataString(Model.SectionsWithMetreAndRhymes[nSectionIndex].DivanMetre.Rhythm)}&amp;g={Uri.EscapeDataString(Model.SectionsWithMetreAndRhymes[nSectionIndex].RhymeLetters)}")"><i class="notranslate material-icons color-white">search</i></a> <a role="button" title="ہم آہنگ تخلیقات (وزن یا قافیہ @((nSectionIndex + 1).ToPersianNumbers()))" class="cursor-pointer" href="@Html.Raw($"/simi/?v={Uri.EscapeDataString(Model.SectionsWithMetreAndRhymes[nSectionIndex].DivanMetre.Rhythm)}&amp;g={Uri.EscapeDataString(Model.SectionsWithMetreAndRhymes[nSectionIndex].RhymeLetters)}")"><i class="notranslate material-icons color-white">search</i></a>
</text> </text>
} }
} }
<a role="button" id="share-@Model.CoupletIndex" class="cursor-pointer" onclick="webShareCouplet(@Model.CoupletIndex)" title="همرسانی"><i class="notranslate material-icons color-white">share</i></a> <a role="button" id="share-@Model.CoupletIndex" class="cursor-pointer" onclick="webShareCouplet(@Model.CoupletIndex)" title="شیئر"><i class="notranslate material-icons color-white">share</i></a>
<a role="button" title="رونوشت نشانی" class="cursor-pointer" id="copylink-@Model.CoupletIndex" onclick="copyCoupletUrl(@Model.CoupletIndex)"><i class="notranslate material-icons color-white">link</i></a> <a role="button" title="ربط نقل کریں" class="cursor-pointer" id="copylink-@Model.CoupletIndex" onclick="copyCoupletUrl(@Model.CoupletIndex)"><i class="notranslate material-icons color-white">link</i></a>
<a role="button" title="رونوشت متن" class="cursor-pointer" id="copytext-@Model.CoupletIndex" onclick="copyCoupletText(@Model.CoupletIndex)"><i class="notranslate material-icons color-white">content_copy</i></a> <a role="button" title="متن نقل کریں" class="cursor-pointer" id="copytext-@Model.CoupletIndex" onclick="copyCoupletText(@Model.CoupletIndex)"><i class="notranslate material-icons color-white">content_copy</i></a>
</div> </div>
@foreach (var verse in Model.Verses.Where(v => !string.IsNullOrEmpty(v.CoupletSummary)).ToList()) @foreach (var verse in Model.Verses.Where(v => !string.IsNullOrEmpty(v.CoupletSummary)).ToList())
@ -68,7 +68,7 @@
<p>@verse.CoupletSummary</p> <p>@verse.CoupletSummary</p>
@if (Model.LoggedIn) @if (Model.LoggedIn)
{ {
<a href="@($"/User/Editor?id={Model.PoemId}#summary-{verse.VOrder}")" role="button" class="cursor-pointer" title="ویرایش"> <a href="@($"/User/Editor?id={Model.PoemId}#summary-{verse.VOrder}")" role="button" class="cursor-pointer" title="ترمیم">
<div class="circled-number"> <div class="circled-number">
<i class="notranslate material-icons color-white">edit_note</i> <i class="notranslate material-icons color-white">edit_note</i>
</div> </div>
@ -80,7 +80,7 @@
<div id="play-block-@Model.CoupletIndex" class="width-100per"> <div id="play-block-@Model.CoupletIndex" class="width-100per">
<select id="narrators-@Model.CoupletIndex" class="bnum-partial-narrators"></select> <select id="narrators-@Model.CoupletIndex" class="bnum-partial-narrators"></select>
<a role="button" id="listen-@Model.CoupletIndex" class="bnum-partial-narrate-btn" onclick="playCouplet(@Model.CoupletIndex)">از اینجا بخواند</a> <a role="button" id="listen-@Model.CoupletIndex" class="bnum-partial-narrate-btn" onclick="playCouplet(@Model.CoupletIndex)">یہاں سے پڑھیں</a>
</div> </div>
<script> <script>
fillnarrations('@Model.CoupletIndex'); fillnarrations('@Model.CoupletIndex');
@ -96,13 +96,13 @@
{ {
<tr> <tr>
<td> <td>
وزن: بحر:
</td> </td>
<td> <td>
<a href="@Html.Raw($"/simi/?v={Uri.EscapeDataString(s.DivanMetre.Rhythm)}")">@s.DivanMetre.Rhythm</a> <a href="@Html.Raw($"/simi/?v={Uri.EscapeDataString(s.DivanMetre.Rhythm)}")">@s.DivanMetre.Rhythm</a>
@if (Model.LoggedIn) @if (Model.LoggedIn)
{ {
<a href="/User/Section?poemId=@Model.PoemId&index=@s.Index#metre" role="button" class="cursor-pointer" title="ویرایش وزن"> <a href="/User/Section?poemId=@Model.PoemId&index=@s.Index#metre" role="button" class="cursor-pointer" title="بحر میں ترمیم">
<i class="notranslate noindent-info-button edit-poem-button"></i> <i class="notranslate noindent-info-button edit-poem-button"></i>
</a> </a>
} }
@ -124,7 +124,7 @@
var verseSameSound = RMuseum.Services.Implementation.LanguageUtils.SameSoundLetters(verseTextSearchable); var verseSameSound = RMuseum.Services.Implementation.LanguageUtils.SameSoundLetters(verseTextSearchable);
<div class="century"> <div class="century">
شمار نویسه‌های همصدای مصرع @((v + 1).ToPersianNumbers()) (از @verseSameSound.Replace(" ", "").Length.ToPersianNumbers() نویسه) مصرعے کے ہم آواز حروف کی تعداد @((v + 1).ToPersianNumbers()) (از @verseSameSound.Replace(" ", "").Length.ToPersianNumbers() حرف)
</div> </div>
<div id="letters-stat-sourceStringContainer-samev-@verse.Id" class="notice">@verseSameSound</div> <div id="letters-stat-sourceStringContainer-samev-@verse.Id" class="notice">@verseSameSound</div>
<div id="letters-stat-resultTableContainer-samev-@verse.Id" class="charContainer"></div> <div id="letters-stat-resultTableContainer-samev-@verse.Id" class="charContainer"></div>
@ -154,7 +154,7 @@
function createInformationNotification() { function createInformationNotification() {
tinymce.activeEditor.notificationManager.open({ tinymce.activeEditor.notificationManager.open({
text: 'تمنا می‌کنیم که به جای گوشزد کردن خطاهای املایی و تایپی در حاشیه‌ها از دکمهٔ «ویرایش» استفاده کنید و خطا را تصحیح کنید.', text: 'گزارش ہے کہ املا یا ٹائپ کی غلطیاں حاشیوں میں بتانے کے بجائے «ترمیم» کا بٹن استعمال کر کے خود درست کریں.',
type: 'info' type: 'info'
}); });
} }
@ -192,7 +192,7 @@
</script> </script>
<form method="post" id="commentform-@Model.CoupletIndex" action="?handler=Comment"> <form method="post" id="commentform-@Model.CoupletIndex" action="?handler=Comment">
<fieldset> <fieldset>
<legend>💬 دربارهٔ این خط حاشیه بگذارید ...</legend> <legend>💬 اس سطر پر حاشیہ لکھیں ...</legend>
<table style="max-width:100%; width:100%; margin:0"> <table style="max-width:100%; width:100%; margin:0">
<tr> <tr>
<td> <td>
@ -205,7 +205,7 @@
</tr> </tr>
<tr> <tr>
<td> <td>
<button name="postcomment-@Model.CoupletIndex" id="postcomment-@Model.CoupletIndex" class="submitCommentButton" onclick="return postComment('@Model.CoupletIndex', '#postcomment-@Model.CoupletIndex');" style="width:100%">درج حاشیه</button> <button name="postcomment-@Model.CoupletIndex" id="postcomment-@Model.CoupletIndex" class="submitCommentButton" onclick="return postComment('@Model.CoupletIndex', '#postcomment-@Model.CoupletIndex');" style="width:100%">حاشیہ لکھیں</button>
</td> </td>
</tr> </tr>
</table> </table>
@ -216,7 +216,7 @@
else else
{ {
<p> <p>
در صورت نام‌نویسی و ورود به دیوان می‌توانید برای این بیت/مصرع/پاراگراف حاشیه بنویسید. دیوان میں رکنیت اور داخلے کے بعد آپ اس شعر/مصرع/پیراگراف پر حاشیہ لکھ سکتے ہیں.
</p> </p>
} }

View File

@ -6,22 +6,22 @@
@if (Model.WordCounts.Length > 0) @if (Model.WordCounts.Length > 0)
{ {
<h2> <h2>
بسامد واژگان الفاظ کی تعداد
</h2> </h2>
<div id="wordcounts-section"> <div id="wordcounts-section">
<p> <p>
در متن @Model.ThisPart @RMuseum.Services.Implementation.LanguageUtils.FormatMoney(Model.TotalWordCount) واژه را شمرده‌ایم (در تعریفمان از <i>واژه</i> ایرادات جدی وجود دارد، اینجا را ببینید). شمار واژگان یاد شده به شکل غیرتکراری برابر با @RMuseum.Services.Implementation.LanguageUtils.FormatMoney(Model.UniqueWordCount) واژه است. متن میں @Model.ThisPart @RMuseum.Services.Implementation.LanguageUtils.FormatMoney(Model.TotalWordCount) الفاظ شمار کیے ہیں (ہماری تعریفِ <i>لفظ</i> میں سنجیدہ خامیاں ہیں، یہاں دیکھیں)۔ غیر مکرر الفاظ کی تعداد @RMuseum.Services.Implementation.LanguageUtils.FormatMoney(Model.UniqueWordCount) الفاظ ہے.
</p> </p>
@if (Model.RemStopWords) @if (Model.RemStopWords)
{ {
<p id="remStopWords">جهت مشاهدهٔ آمار با حروف ربط و دیگر واژگان کم‌تأثیر پربسامد <a href="javascript:reloadWordCounts(@Model.CatId, @Model.PoetId, false)">اینجا</a> کلیک کنید.</p> <p id="remStopWords">حروفِ ربط اور دیگر عام الفاظ سمیت اعداد دیکھنے کے لیے <a href="javascript:reloadWordCounts(@Model.CatId, @Model.PoetId, false)">یہاں</a> کلک کریں.</p>
} }
else else
{ {
<p id="remStopWords">جهت مشاهدهٔ آمار بدون حروف ربط و دیگر واژگان کم‌تأثیر پربسامد <a href="javascript:reloadWordCounts(@Model.CatId, @Model.PoetId, true)">اینجا</a> کلیک کنید.</p> <p id="remStopWords">حروفِ ربط اور دیگر عام الفاظ کے بغیر اعداد دیکھنے کے لیے <a href="javascript:reloadWordCounts(@Model.CatId, @Model.PoetId, true)">یہاں</a> کلک کریں.</p>
} }
<div class="clear-both"> <div class="clear-both">
<input type="text" id="wordcountterm" placeholder="جستجوی واژه" value="" onkeyup="onSearchWordCounts(@Model.CatId, @Model.PoetId, @Model.TotalWordCount)"> <input type="text" id="wordcountterm" placeholder="لفظ تلاش کریں" value="" onkeyup="onSearchWordCounts(@Model.CatId, @Model.PoetId, @Model.TotalWordCount)">
</div> </div>
<div id="wordcounts-table"> <div id="wordcounts-table">
<partial name="_CategoryWordsCountTablePartial.cshtml" model="Model.TableModel" /> <partial name="_CategoryWordsCountTablePartial.cshtml" model="Model.TableModel" />

View File

@ -9,10 +9,10 @@
<table class="stats" id="words-stats"> <table class="stats" id="words-stats">
<thead> <thead>
<tr class="h"> <tr class="h">
<td class="c1">ردیف</td> <td class="c1">نمبر</td>
<td class="c2">واژه</td> <td class="c2">لفظ</td>
<td class="c3">شمار</td> <td class="c3">تعداد</td>
<td class="c4">درصد از کل</td> <td class="c4">فیصد کل میں سے</td>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>

View File

@ -7,7 +7,7 @@
@if (Model.Comment == null) @if (Model.Comment == null)
{ {
<div class="item" id="comment-error" data-sanitizer-remaining-text="@Model.SanitizerRemainingText"> <div class="item" id="comment-error" data-sanitizer-remaining-text="@Model.SanitizerRemainingText">
<p style="color:red">خطا</p> <p style="color:red">غلطی</p>
@Model.Error @Model.Error
</div> </div>
} }
@ -21,16 +21,16 @@ else
@if (Model.Comment.UserId != null) @if (Model.Comment.UserId != null)
{ {
<div class="comment-author"><a href="/hashieha/?userid=@Model.Comment.UserId">@(string.IsNullOrEmpty(Model.Comment.AuthorName) ? "#" : Model.Comment.AuthorName)</a> <small>در @Html.Raw($"{Model.Comment.CommentDate.ToFriendlyPersianDateTextify()}")</small> @Model.Wrote:</div> <div class="comment-author"><a href="/hashieha/?userid=@Model.Comment.UserId">@(string.IsNullOrEmpty(Model.Comment.AuthorName) ? "#" : Model.Comment.AuthorName)</a> <small>میں @Html.Raw($"{Model.Comment.CommentDate.ToFriendlyPersianDateTextify()}")</small> @Model.Wrote:</div>
} }
else else
{ {
<div class="comment-author">@(string.IsNullOrEmpty(Model.Comment.AuthorName) ? "ناشناس" : Model.Comment.AuthorName) <small>در @Html.Raw($"{Model.Comment.CommentDate.ToFriendlyPersianDateTextify()}")</small> @Model.Wrote:</div> <div class="comment-author">@(string.IsNullOrEmpty(Model.Comment.AuthorName) ? "نامعلوم" : Model.Comment.AuthorName) <small>میں @Html.Raw($"{Model.Comment.CommentDate.ToFriendlyPersianDateTextify()}")</small> @Model.Wrote:</div>
} }
@if (Model.Comment.CoupletIndex != -1) @if (Model.Comment.CoupletIndex != -1)
{ {
<div class="commentquote">دربارهٔ <a href="@($"#bn{Model.Comment.CoupletIndex + 1}")">@Model.Comment.CoupletSummary</a></div> <div class="commentquote">بارے میں <a href="@($"#bn{Model.Comment.CoupletIndex + 1}")">@Model.Comment.CoupletSummary</a></div>
} }
<blockquote id="comment-text-@Model.Comment.Id@Model.DivSuffix" class="comment-body"> <blockquote id="comment-text-@Model.Comment.Id@Model.DivSuffix" class="comment-body">
@ -39,22 +39,22 @@ else
<p class="comment-actions"> <p class="comment-actions">
@if (Model.Comment.MyComment) @if (Model.Comment.MyComment)
{ {
<a role="button" title="حذف حاشیه" onclick="deleteMyComment(@Model.Comment.Id, '@Model.Comment.CoupletIndex')"><i class="notranslate pageicons">delete</i></a> <a role="button" title="حاشیہ حذف کریں" onclick="deleteMyComment(@Model.Comment.Id, '@Model.Comment.CoupletIndex')"><i class="notranslate pageicons">delete</i></a>
<a role="button" title="ویرایش حاشیه" onclick="editMyComment(@Model.Comment.Id, '@Model.Comment.CoupletIndex')"><i class="notranslate pageicons">edit</i></a> <a role="button" title="حاشیے میں ترمیم" onclick="editMyComment(@Model.Comment.Id, '@Model.Comment.CoupletIndex')"><i class="notranslate pageicons">edit</i></a>
} }
<a role="button" title="پاسخگویی به این حاشیه" onclick="replyComment(@Model.Comment.Id, @(Model.LoggedIn ? "true" : "false"), '@Model.DivSuffix')"><i class="notranslate pageicons">reply</i></a> <a role="button" title="اس حاشیے کا جواب دیں" onclick="replyComment(@Model.Comment.Id, @(Model.LoggedIn ? "true" : "false"), '@Model.DivSuffix')"><i class="notranslate pageicons">reply</i></a>
@if (!Model.Comment.MyComment) @if (!Model.Comment.MyComment)
{ {
<a role="button" title="پسندیدن" id="like-btn-@Model.Comment.Id@Model.DivSuffix" class="cursor-pointer@(Model.Comment.CurrentUserRatingValue == 1 ? " green-color" : "")" onclick="rateComment(@Model.Comment.Id, 1, @(Model.LoggedIn ? "true" : "false"), '@Model.DivSuffix')"><i class="notranslate pageicons">thumb_up</i></a> <a role="button" title="پسند" id="like-btn-@Model.Comment.Id@Model.DivSuffix" class="cursor-pointer@(Model.Comment.CurrentUserRatingValue == 1 ? " green-color" : "")" onclick="rateComment(@Model.Comment.Id, 1, @(Model.LoggedIn ? "true" : "false"), '@Model.DivSuffix')"><i class="notranslate pageicons">thumb_up</i></a>
} }
<small id="like-count-@Model.Comment.Id@Model.DivSuffix">@Model.Comment.LikeCount.ToPersianNumbers()</small> <small id="like-count-@Model.Comment.Id@Model.DivSuffix">@Model.Comment.LikeCount.ToPersianNumbers()</small>
@if (!Model.Comment.MyComment) @if (!Model.Comment.MyComment)
{ {
<a role="button" title="نپسندیدن" id="dislike-btn-@Model.Comment.Id@Model.DivSuffix" class="cursor-pointer@(Model.Comment.CurrentUserRatingValue == -1 ? " red-color" : "")" onclick="rateComment(@Model.Comment.Id, -1, @(Model.LoggedIn ? "true" : "false"), '@Model.DivSuffix')"><i class="notranslate pageicons">thumb_down</i></a> <a role="button" title="ناپسند" id="dislike-btn-@Model.Comment.Id@Model.DivSuffix" class="cursor-pointer@(Model.Comment.CurrentUserRatingValue == -1 ? " red-color" : "")" onclick="rateComment(@Model.Comment.Id, -1, @(Model.LoggedIn ? "true" : "false"), '@Model.DivSuffix')"><i class="notranslate pageicons">thumb_down</i></a>
} }
<small id="dislike-count-@Model.Comment.Id@Model.DivSuffix">@Model.Comment.DislikeCount.ToPersianNumbers()</small> <small id="dislike-count-@Model.Comment.Id@Model.DivSuffix">@Model.Comment.DislikeCount.ToPersianNumbers()</small>
<a href="/ReportComment/?CommentId=@Model.Comment.Id" title="گزارش حاشیهٔ نامناسب" onclick="wpopen(this.href); return false"><i class="notranslate pageicons">flag</i></a> <a href="/ReportComment/?CommentId=@Model.Comment.Id" title="نامناسب حاشیے کی اطلاع دیں" onclick="wpopen(this.href); return false"><i class="notranslate pageicons">flag</i></a>
<a role="button" onclick="copyCommentUrl(@Model.Comment.Id)"><i class="notranslate pageicons">link</i></a> <a role="button" onclick="copyCommentUrl(@Model.Comment.Id)"><i class="notranslate pageicons">link</i></a>
@if (Model.LoggedIn) @if (Model.LoggedIn)
{ {

View File

@ -8,17 +8,17 @@
{ {
case 0: case 0:
<p> <p>
تا به حال حاشیه‌ای برای این شعر نوشته نشده است. <a href="#commentform" class="comments-link" title="من حاشیه بگذارم ...">💬 من حاشیه بگذارم ...</a> اس شعر پر ابھی کوئی حاشیہ نہیں لکھا گیا. <a href="#commentform" class="comments-link" title="میں حاشیہ لکھوں ...">💬 میں حاشیہ لکھوں ...</a>
</p> </p>
break; break;
case 1: case 1:
<p> <p>
تا به حال یک حاشیه برای این شعر نوشته شده است. <a href="#commentform" class="comments-link" title="من حاشیه بگذارم ...">💬 من حاشیه بگذارم ...</a> اس شعر پر اب تک ایک حاشیہ لکھا گیا ہے. <a href="#commentform" class="comments-link" title="میں حاشیہ لکھوں ...">💬 میں حاشیہ لکھوں ...</a>
</p> </p>
break; break;
default: default:
<p> <p>
تا به حال @Html.Raw(Model.Comments.Length.ToPersianNumbers()) حاشیه برای این شعر نوشته شده است. <a href="#commentform" class="comments-link" title="من حاشیه بگذارم ...">💬 من حاشیه بگذارم ...</a> اب تک @Html.Raw(Model.Comments.Length.ToPersianNumbers()) حاشیے اس شعر پر لکھے گئے ہیں. <a href="#commentform" class="comments-link" title="میں حاشیہ لکھوں ...">💬 میں حاشیہ لکھوں ...</a>
</p> </p>
break; break;
} }

View File

@ -10,44 +10,44 @@
@if (Model.LoggedIn) @if (Model.LoggedIn)
{ {
<a href="/User/Editor?id=@Model.DivanPage.Id" role="button" class="cursor-pointer" title="ویرایش"> <a href="/User/Editor?id=@Model.DivanPage.Id" role="button" class="cursor-pointer" title="ترمیم">
<div class="circled-number"> <div class="circled-number">
<svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M14.06 9.02l.92.92L5.92 19H5v-.92l9.06-9.06M17.66 3c-.25 0-.51.1-.7.29l-1.83 1.83 3.75 3.75 1.83-1.83c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.2-.2-.45-.29-.71-.29zm-3.6 3.19L3 17.25V21h3.75L17.81 9.94l-3.75-3.75z" /></svg> <svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M14.06 9.02l.92.92L5.92 19H5v-.92l9.06-9.06M17.66 3c-.25 0-.51.1-.7.29l-1.83 1.83 3.75 3.75 1.83-1.83c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.2-.2-.45-.29-.71-.29zm-3.6 3.19L3 17.25V21h3.75L17.81 9.94l-3.75-3.75z" /></svg>
</div> </div>
</a> </a>
<a href="/User/Editor?id=@Model.DivanPage.Id#summaries" role="button" class="cursor-pointer" title="ویرایش یا درج خلاصه"> <a href="/User/Editor?id=@Model.DivanPage.Id#summaries" role="button" class="cursor-pointer" title="خلاصہ لکھیں یا ترمیم کریں">
<div class="circled-number"> <div class="circled-number">
<svg class="noindent-info-button" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><rect fill="none" height="24" width="24" /><path d="M3,10h11v2H3V10z M3,8h11V6H3V8z M3,16h7v-2H3V16z M18.01,12.87l0.71-0.71c0.39-0.39,1.02-0.39,1.41,0l0.71,0.71 c0.39,0.39,0.39,1.02,0,1.41l-0.71,0.71L18.01,12.87z M17.3,13.58l-5.3,5.3V21h2.12l5.3-5.3L17.3,13.58z" /></svg> <svg class="noindent-info-button" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><rect fill="none" height="24" width="24" /><path d="M3,10h11v2H3V10z M3,8h11V6H3V8z M3,16h7v-2H3V16z M18.01,12.87l0.71-0.71c0.39-0.39,1.02-0.39,1.41,0l0.71,0.71 c0.39,0.39,0.39,1.02,0,1.41l-0.71,0.71L18.01,12.87z M17.3,13.58l-5.3,5.3V21h2.12l5.3-5.3L17.3,13.58z" /></svg>
</div> </div>
</a> </a>
<a onclick="switchBookmark(@Model.DivanPage.Id, 0, '')" role="button" class="cursor-pointer" title="نشان کردن"> <a onclick="switchBookmark(@Model.DivanPage.Id, 0, '')" role="button" class="cursor-pointer" title="نشان لگائیں">
<div class="circled-number" id="bookmark"> <div class="circled-number" id="bookmark">
<i class="notranslate noindent-info-button" id="bookmark-icon">star_border</i> <i class="notranslate noindent-info-button" id="bookmark-icon">star_border</i>
</div> </div>
</a> </a>
} }
<a onclick="btshmr(@Model.DivanPage.Id)" role="button" class="cursor-pointer" title="شماره‌گذاری"> <a onclick="btshmr(@Model.DivanPage.Id)" role="button" class="cursor-pointer" title="شمار بندی">
<div class="circled-number"> <div class="circled-number">
<svg id="bnum-button" class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M18 17h2v.5h-1v1h1v.5h-2v1h3v-4h-3v1zm1-9h1V4h-2v1h1v3zm-1 3h1.8L18 13.1v.9h3v-1h-1.8l1.8-2.1V10h-3v1zM2 5h14v2H2V5zm0 12h14v2H2v-2zm0-6h14v2H2v-2z" /></svg> <svg id="bnum-button" class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M18 17h2v.5h-1v1h1v.5h-2v1h3v-4h-3v1zm1-9h1V4h-2v1h1v3zm-1 3h1.8L18 13.1v.9h3v-1h-1.8l1.8-2.1V10h-3v1zM2 5h14v2H2V5zm0 12h14v2H2v-2zm0-6h14v2H2v-2z" /></svg>
</div> </div>
</a> </a>
<a onclick="copyPoemLink()" role="button" class="cursor-pointer" title="رونوشت نشانی"> <a onclick="copyPoemLink()" role="button" class="cursor-pointer" title="ربط نقل کریں">
<div class="circled-number"> <div class="circled-number">
<svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M17 7h-4v2h4c1.65 0 3 1.35 3 3s-1.35 3-3 3h-4v2h4c2.76 0 5-2.24 5-5s-2.24-5-5-5zm-6 8H7c-1.65 0-3-1.35-3-3s1.35-3 3-3h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-2zm-3-4h8v2H8z" /></svg> <svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M17 7h-4v2h4c1.65 0 3 1.35 3 3s-1.35 3-3 3h-4v2h4c2.76 0 5-2.24 5-5s-2.24-5-5-5zm-6 8H7c-1.65 0-3-1.35-3-3s1.35-3 3-3h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-2zm-3-4h8v2H8z" /></svg>
</div> </div>
</a> </a>
<a onclick="copyPoemText()" role="button" class="cursor-pointer" title="رونوشت متن"> <a onclick="copyPoemText()" role="button" class="cursor-pointer" title="متن نقل کریں">
<div class="circled-number"> <div class="circled-number">
<svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z" /></svg> <svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z" /></svg>
</div> </div>
</a> </a>
<a onclick="webSharePoem()" role="button" class="cursor-pointer" id="share_span" title="همرسانی"> <a onclick="webSharePoem()" role="button" class="cursor-pointer" id="share_span" title="شیئر">
<div class="circled-number"> <div class="circled-number">
<svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92c0-1.61-1.31-2.92-2.92-2.92zM18 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM6 13c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm12 7.02c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z" /></svg> <svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92c0-1.61-1.31-2.92-2.92-2.92zM18 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM6 13c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm12 7.02c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z" /></svg>
</div> </div>
@ -58,7 +58,7 @@
{ {
@if (Model.DivanPage.HtmlText != null && Model.DivanPage.HtmlText.Contains("divan-bio-text")) @if (Model.DivanPage.HtmlText != null && Model.DivanPage.HtmlText.Contains("divan-bio-text"))
{ {
<a href="#after-bio" role="button" class="cursor-pointer" title="لغزش به محتوا"> <a href="#after-bio" role="button" class="cursor-pointer" title="متن پر جائیں">
<div class="circled-number"> <div class="circled-number">
<i class="notranslate noindent-info-button menu-icon"></i> <i class="notranslate noindent-info-button menu-icon"></i>
</div> </div>
@ -67,7 +67,7 @@
@if (Model.LoggedIn) @if (Model.LoggedIn)
{ {
<a href="/User/CatEditor?id=@Model.DivanPage.Id" role="button" class="cursor-pointer" title="ویرایش"> <a href="/User/CatEditor?id=@Model.DivanPage.Id" role="button" class="cursor-pointer" title="ترمیم">
<div class="circled-number"> <div class="circled-number">
<svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M14.06 9.02l.92.92L5.92 19H5v-.92l9.06-9.06M17.66 3c-.25 0-.51.1-.7.29l-1.83 1.83 3.75 3.75 1.83-1.83c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.2-.2-.45-.29-.71-.29zm-3.6 3.19L3 17.25V21h3.75L17.81 9.94l-3.75-3.75z" /></svg> <svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M14.06 9.02l.92.92L5.92 19H5v-.92l9.06-9.06M17.66 3c-.25 0-.51.1-.7.29l-1.83 1.83 3.75 3.75 1.83-1.83c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.2-.2-.45-.29-.71-.29zm-3.6 3.19L3 17.25V21h3.75L17.81 9.94l-3.75-3.75z" /></svg>
</div> </div>
@ -77,7 +77,7 @@
@if (!string.IsNullOrEmpty(Model.PreviousUrl)) @if (!string.IsNullOrEmpty(Model.PreviousUrl))
{ {
<a href="@Html.Raw(Model.PreviousUrl)" role="button" class="cursor-pointer" title="قبلی"> <a href="@Html.Raw(Model.PreviousUrl)" role="button" class="cursor-pointer" title="پچھلا">
<div class="circled-number"> <div class="circled-number">
<svg class="noindent-info-button" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><g><rect fill="none" height="24" width="24" /></g><g><path d="M22,12c0-5.52-4.48-10-10-10C6.48,2,2,6.48,2,12s4.48,10,10,10C17.52,22,22,17.52,22,12z M4,12c0-4.42,3.58-8,8-8 c4.42,0,8,3.58,8,8s-3.58,8-8,8C7.58,20,4,16.42,4,12z M16,12l-4,4l-1.41-1.41L12.17,13H8v-2h4.17l-1.59-1.59L12,8L16,12z" /></g></svg> <svg class="noindent-info-button" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><g><rect fill="none" height="24" width="24" /></g><g><path d="M22,12c0-5.52-4.48-10-10-10C6.48,2,2,6.48,2,12s4.48,10,10,10C17.52,22,22,17.52,22,12z M4,12c0-4.42,3.58-8,8-8 c4.42,0,8,3.58,8,8s-3.58,8-8,8C7.58,20,4,16.42,4,12z M16,12l-4,4l-1.41-1.41L12.17,13H8v-2h4.17l-1.59-1.59L12,8L16,12z" /></g></svg>
</div> </div>
@ -86,7 +86,7 @@
@if (!string.IsNullOrEmpty(Model.NextUrl)) @if (!string.IsNullOrEmpty(Model.NextUrl))
{ {
<a href="@Html.Raw(Model.NextUrl)" role="button" class="cursor-pointer" title="بعدی"> <a href="@Html.Raw(Model.NextUrl)" role="button" class="cursor-pointer" title="اگلا">
<div class="circled-number"> <div class="circled-number">
<svg class="noindent-info-button" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><g><rect fill="none" height="24" width="24" /></g><g><path d="M2,12c0,5.52,4.48,10,10,10c5.52,0,10-4.48,10-10S17.52,2,12,2C6.48,2,2,6.48,2,12z M20,12c0,4.42-3.58,8-8,8 c-4.42,0-8-3.58-8-8s3.58-8,8-8C16.42,4,20,7.58,20,12z M8,12l4-4l1.41,1.41L11.83,11H16v2h-4.17l1.59,1.59L12,16L8,12z" /></g></svg> <svg class="noindent-info-button" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><g><rect fill="none" height="24" width="24" /></g><g><path d="M2,12c0,5.52,4.48,10,10,10c5.52,0,10-4.48,10-10S17.52,2,12,2C6.48,2,2,6.48,2,12z M20,12c0,4.42-3.58,8-8,8 c-4.42,0-8-3.58-8-8s3.58-8,8-8C16.42,4,20,7.58,20,12z M8,12l4-4l1.41,1.41L11.83,11H16v2h-4.17l1.59,1.59L12,16L8,12z" /></g></svg>
</div> </div>
@ -97,7 +97,7 @@
@if (Model.DivanPage.Poem != null) @if (Model.DivanPage.Poem != null)
{ {
<div class="clear-both margin-15px" id="fake-inline-div"> <div class="clear-both margin-15px" id="fake-inline-div">
<input type="search" name="fake-inline-search" id="fake-inline-search" class="text-align-center" placeholder="جستجو در متن" size="20" value="" oninput="displayMainInlineSearch()"> <input type="search" name="fake-inline-search" id="fake-inline-search" class="text-align-center" placeholder="متن میں تلاش" size="20" value="" oninput="displayMainInlineSearch()">
</div> </div>
} }

View File

@ -2,24 +2,24 @@
@if (Model.Graph == null || Model.Graph.Nodes == null || Model.Graph.Nodes.Count == 0) @if (Model.Graph == null || Model.Graph.Nodes == null || Model.Graph.Nodes.Count == 0)
{ {
<p>برای این بخش هنوز نامبرده‌ای برچسب‌گذاری نشده است.</p> <p>اس حصے میں ابھی کسی شخصیت کی نشاندہی نہیں ہوئی.</p>
} }
else else
{ {
<div id="pg-cat-section"> <div id="pg-cat-section">
<p class="up-hint"><small> <p class="up-hint"><small>
روی هر گره کلیک کنید تا فقط ارتباط‌های همان شخص برجسته شود (کلیک دوباره برای بازگشت)؛ برای جابه‌جایی یک گره آن را بکشید (برای رها کردنش دوبار کلیک کنید). کسی گرہ پر کلک کریں تاکہ صرف اسی شخص کے روابط نمایاں ہوں (واپسی کے لیے دوبارہ کلک کریں)؛ گرہ کو کھینچ کر منتقل کریں (چھوڑنے کے لیے دو بار کلک کریں)۔
برای پیمایش نمودار آن را با ماوس بکشید و با غلتک ماوس بزرگ/کوچک کنید. خاکے کو ماؤس سے کھینچیں اور ماؤس کے پہیے سے بڑا/چھوٹا کریں.
@if (Model.HasSecondaryNodes) @if (Model.HasSecondaryNodes)
{ {
<text> گره‌های نقطه‌چین/کم‌رنگ، خویشاوندان یا وابستگانی هستند که در متن این بخش نامشان نیامده، اما برای آشنایی بیشتر با داستان نشان داده شده‌اند.</text> <text> نقطہ دار گرہیں/ہلکی، وہ رشتہ دار یا متعلقین ہیں جن کا نام اس حصے کے متن میں نہیں آیا لیکن پس منظر کے لیے دکھائے گئے ہیں.</text>
} }
</small></p> </small></p>
<div style="margin-bottom:10px;"> <div style="margin-bottom:10px;">
<input type="text" id="pg-cat-search" placeholder="جستجوی نام نامبرده..." style="width:240px;" /> <input type="text" id="pg-cat-search" placeholder="شخصیت کا نام تلاش کریں..." style="width:240px;" />
<a role="button" id="pg-cat-reset" class="up-btn up-btn--ghost up-btn--sm">نمایش همه</a> <a role="button" id="pg-cat-reset" class="up-btn up-btn--ghost up-btn--sm">سب دکھائیں</a>
<a role="button" href="javascript:void(0)" onclick="PeopleExplorer.open()" class="up-btn up-btn--ghost up-btn--sm">نمایش شبکهٔ کامل نامبردگان</a> <a role="button" href="javascript:void(0)" onclick="PeopleExplorer.open()" class="up-btn up-btn--ghost up-btn--sm">تمام شخصیات کا مکمل جال دکھائیں</a>
</div> </div>
<div id="pg-cat-legend" class="pg-legend"></div> <div id="pg-cat-legend" class="pg-legend"></div>
@ -34,10 +34,10 @@ else
<table class="up-table"> <table class="up-table">
<thead> <thead>
<tr> <tr>
<th>شخص اول</th> <th>پہلا شخص</th>
<th>نوع ارتباط</th> <th>رشتے کی نوعیت</th>
<th>شخص دوم</th> <th>دوسرا شخص</th>
<th>یادداشت</th> <th>نوٹ</th>
</tr> </tr>
</thead> </thead>
<tbody id="pg-cat-table-body"></tbody> <tbody id="pg-cat-table-body"></tbody>

View File

@ -7,7 +7,7 @@
<div class="@Model.BlockClass"> <div class="@Model.BlockClass">
@if(Model.DivanQuotedPoemViewModel.ClaimedByBothPoets) @if(Model.DivanQuotedPoemViewModel.ClaimedByBothPoets)
{ {
<div class="ribbon">منتسب به هر دو سخنور</div> <div class="ribbon">دونوں شعرا سے منسوب</div>
} }
@if (Model.DivanQuotedPoemViewModel.IsPriorToRelated) @if (Model.DivanQuotedPoemViewModel.IsPriorToRelated)
@ -19,7 +19,7 @@
<p> <p>
<a href="#bn@(Model.DivanQuotedPoemViewModel.CoupletIndex + 1)"> <a href="#bn@(Model.DivanQuotedPoemViewModel.CoupletIndex + 1)">
<strong> <strong>
همین شعر » بیت @((Model.DivanQuotedPoemViewModel.CoupletIndex + 1).ToPersianNumbers()) یہی تخلیق » شعر @((Model.DivanQuotedPoemViewModel.CoupletIndex + 1).ToPersianNumbers())
</strong> </strong>
</a> </a>
</p> </p>
@ -70,7 +70,7 @@
else if (Model.DivanQuotedPoemViewModel.RelatedCoupletIndex != null) else if (Model.DivanQuotedPoemViewModel.RelatedCoupletIndex != null)
{ {
<a href="@Html.Raw(Model.DivanQuotedPoemViewModel.CachedRelatedPoemFullUrl)#bn@(Model.DivanQuotedPoemViewModel.RelatedCoupletIndex + 1)"> <a href="@Html.Raw(Model.DivanQuotedPoemViewModel.CachedRelatedPoemFullUrl)#bn@(Model.DivanQuotedPoemViewModel.RelatedCoupletIndex + 1)">
@(Model.DivanQuotedPoemViewModel.CachedRelatedPoemFullTitle + " » بیت " + ((Model.DivanQuotedPoemViewModel.RelatedCoupletIndex + 1).ToPersianNumbers())) @(Model.DivanQuotedPoemViewModel.CachedRelatedPoemFullTitle + " » شعر " + ((Model.DivanQuotedPoemViewModel.RelatedCoupletIndex + 1).ToPersianNumbers()))
</a> </a>
} }
else else
@ -127,7 +127,7 @@
else if (Model.DivanQuotedPoemViewModel.RelatedCoupletIndex != null) else if (Model.DivanQuotedPoemViewModel.RelatedCoupletIndex != null)
{ {
<a href="@Html.Raw(Model.DivanQuotedPoemViewModel.CachedRelatedPoemFullUrl)#bn@(Model.DivanQuotedPoemViewModel.RelatedCoupletIndex + 1)"> <a href="@Html.Raw(Model.DivanQuotedPoemViewModel.CachedRelatedPoemFullUrl)#bn@(Model.DivanQuotedPoemViewModel.RelatedCoupletIndex + 1)">
@(Model.DivanQuotedPoemViewModel.CachedRelatedPoemFullTitle + " » بیت " + ((Model.DivanQuotedPoemViewModel.RelatedCoupletIndex + 1).ToPersianNumbers())) @(Model.DivanQuotedPoemViewModel.CachedRelatedPoemFullTitle + " » شعر " + ((Model.DivanQuotedPoemViewModel.RelatedCoupletIndex + 1).ToPersianNumbers()))
</a> </a>
} }
else else
@ -169,7 +169,7 @@
<p> <p>
<a href="#bn@(Model.DivanQuotedPoemViewModel.CoupletIndex + 1)"> <a href="#bn@(Model.DivanQuotedPoemViewModel.CoupletIndex + 1)">
<strong> <strong>
همین شعر » بیت @((Model.DivanQuotedPoemViewModel.CoupletIndex + 1).ToPersianNumbers()) یہی تخلیق » شعر @((Model.DivanQuotedPoemViewModel.CoupletIndex + 1).ToPersianNumbers())
</strong> </strong>
</a> </a>
</p> </p>
@ -204,13 +204,13 @@
@if (Model.DivanQuotedPoemViewModel.ChosenForMainList && Model.DivanQuotedPoemViewModel.SamePoemsQuotedCount > 1) @if (Model.DivanQuotedPoemViewModel.ChosenForMainList && Model.DivanQuotedPoemViewModel.SamePoemsQuotedCount > 1)
{ {
<a role="button" class="pagebutton" id="@($"load-more-quoted-button-{Model.DivanQuotedPoemViewModel.Id}")" onclick="loadMoreQuotedForRelatedPoem('@Model.DivanQuotedPoemViewModel.Id', @Model.DivanQuotedPoemViewModel.PoemId, @Model.DivanQuotedPoemViewModel.RelatedPoemId, '@Model.PoetImageUrl', '@Model.PoetNickName', @Model.CanEdit.ToString().ToLower())">مشاهدهٔ @((Model.DivanQuotedPoemViewModel.SamePoemsQuotedCount - 1).ToPersianNumbers()) نقل قول دیگر در همین شعر<i class="notranslate info-buttons autorenew"></i></a> <a role="button" class="pagebutton" id="@($"load-more-quoted-button-{Model.DivanQuotedPoemViewModel.Id}")" onclick="loadMoreQuotedForRelatedPoem('@Model.DivanQuotedPoemViewModel.Id', @Model.DivanQuotedPoemViewModel.PoemId, @Model.DivanQuotedPoemViewModel.RelatedPoemId, '@Model.PoetImageUrl', '@Model.PoetNickName', @Model.CanEdit.ToString().ToLower())">دیکھیں @((Model.DivanQuotedPoemViewModel.SamePoemsQuotedCount - 1).ToPersianNumbers()) اسی تخلیق میں دیگر اقتباس<i class="notranslate info-buttons autorenew"></i></a>
} }
@if (Model.DivanQuotedPoemViewModel.ClaimedByBothPoets) @if (Model.DivanQuotedPoemViewModel.ClaimedByBothPoets)
{ {
<div class="century-alt"> <div class="century-alt">
<a href="/faq?id=7">چطور یک شعر می‌تواند به چند شاعر منتسب باشد؟</a> <a href="/faq?id=7">ایک شعر کئی شعرا سے کیسے منسوب ہو سکتا ہے؟</a>
</div> </div>
} }
@ -226,7 +226,7 @@
@if (Model.CanEdit) @if (Model.CanEdit)
{ {
<a href="/Admin/EditQuoted/?p=@Model.DivanQuotedPoemViewModel.PoemId&id=@Model.DivanQuotedPoemViewModel.Id" class="pagebutton comments-link">ویرایش</a> <a href="/Admin/EditQuoted/?p=@Model.DivanQuotedPoemViewModel.PoemId&id=@Model.DivanQuotedPoemViewModel.Id" class="pagebutton comments-link">ترمیم</a>
} }
</div> </div>

View File

@ -21,11 +21,11 @@
{ {
@if (Model.RelatedSections[i].PoetMorePoemsLikeThisCount > 20) @if (Model.RelatedSections[i].PoetMorePoemsLikeThisCount > 20)
{ {
<a role="button" class="pagebutton" id="@($"load-more-button-{Model.RelatedSections[i].PoetId}-{Model.SectionIndex}")" href="@Html.Raw($"/simi/?v={Uri.EscapeDataString(Model.Rhythm)}&amp;g={Uri.EscapeDataString(Model.RhymeLetters)}&amp;a={Model.RelatedSections[i].PoetId}")" target="_blank">مشاهدهٔ بیش از @Model.RelatedSections[i].PoetMorePoemsLikeThisCount.ToPersianNumbers() مورد هم آهنگ دیگر از @Model.RelatedSections[i].PoetName<i class="notranslate info-buttons autorenew"></i></a> <a role="button" class="pagebutton" id="@($"load-more-button-{Model.RelatedSections[i].PoetId}-{Model.SectionIndex}")" href="@Html.Raw($"/simi/?v={Uri.EscapeDataString(Model.Rhythm)}&amp;g={Uri.EscapeDataString(Model.RhymeLetters)}&amp;a={Model.RelatedSections[i].PoetId}")" target="_blank">مزید دیکھیں: @Model.RelatedSections[i].PoetMorePoemsLikeThisCount.ToPersianNumbers() دیگر ہم آہنگ تخلیقات از @Model.RelatedSections[i].PoetName<i class="notranslate info-buttons autorenew"></i></a>
} }
else else
{ {
<a role="button" class="pagebutton" id="@($"load-more-button-{Model.RelatedSections[i].PoetId}-{Model.SectionIndex}")" onclick="loadMoreRelatedFromPoet(@Model.RelatedSections[i].PoetId, '@Model.Rhythm', '@Model.RhymeLetters', '@Model.PoemFullUrl', '@Model.RelatedSections[i].FullUrl', @Model.SectionIndex)">مشاهدهٔ @Model.RelatedSections[i].PoetMorePoemsLikeThisCount.ToPersianNumbers() مورد هم آهنگ دیگر از @Model.RelatedSections[i].PoetName<i class="notranslate info-buttons">autorenew</i></a> <a role="button" class="pagebutton" id="@($"load-more-button-{Model.RelatedSections[i].PoetId}-{Model.SectionIndex}")" onclick="loadMoreRelatedFromPoet(@Model.RelatedSections[i].PoetId, '@Model.Rhythm', '@Model.RhymeLetters', '@Model.PoemFullUrl', '@Model.RelatedSections[i].FullUrl', @Model.SectionIndex)">دیکھیں @Model.RelatedSections[i].PoetMorePoemsLikeThisCount.ToPersianNumbers() دیگر ہم آہنگ تخلیقات از @Model.RelatedSections[i].PoetName<i class="notranslate info-buttons">autorenew</i></a>
} }
} }
@ -39,6 +39,6 @@
@if (Model.RelatedSections.Length == 21) @if (Model.RelatedSections.Length == 21)
{ {
<div id="load-more-related"> <div id="load-more-related">
<a role="button" class="pagebutton" id="load-more-button" onclick="loadMoreRelatedPoems(@Model.PoemId, @(Model.Skip + 20), '@Model.Rhythm', '@Model.RhymeLetters', '@Model.PoemFullUrl', @Model.SectionIndex)">بیشتر<i class="notranslate info-buttons">autorenew</i></a> <a role="button" class="pagebutton" id="load-more-button" onclick="loadMoreRelatedPoems(@Model.PoemId, @(Model.Skip + 20), '@Model.Rhythm', '@Model.RhymeLetters', '@Model.PoemFullUrl', @Model.SectionIndex)">مزید<i class="notranslate info-buttons">autorenew</i></a>
</div> </div>
} }

View File

@ -16,7 +16,7 @@ else
</div> </div>
<a id="expand-toggle-btn" href="javascript:toggleExpandableContent()" class="pagebutton comments-link"> <a id="expand-toggle-btn" href="javascript:toggleExpandableContent()" class="pagebutton comments-link">
نمایش فهرست کامل مکمل فہرست دکھائیں
</a> </a>
<script> <script>
@ -33,12 +33,12 @@ else
// Collapse // Collapse
expandableDiv.style.height = collapsedHeight + "px"; expandableDiv.style.height = collapsedHeight + "px";
blurOverlay.style.opacity = "1"; // Show blur blurOverlay.style.opacity = "1"; // Show blur
toggleButton.textContent = "نمایش فهرست کامل"; toggleButton.textContent = "مکمل فہرست دکھائیں";
} else { } else {
// Expand to full height // Expand to full height
expandableDiv.style.height = (expandableDiv.scrollHeight + 170 ) + "px"; expandableDiv.style.height = (expandableDiv.scrollHeight + 170 ) + "px";
blurOverlay.style.opacity = "0"; // Remove blur blurOverlay.style.opacity = "0"; // Remove blur
toggleButton.textContent = "جمع کردن فهرست"; toggleButton.textContent = "فہرست سمیٹیں";
} }
isExpanded = !isExpanded; isExpanded = !isExpanded;
} }

View File

@ -3,7 +3,7 @@
@using DNTPersianUtils.Core @using DNTPersianUtils.Core
<p> <p>
«@Model.Term» در مجموع @RMuseum.Services.Implementation.LanguageUtils.FormatMoney(Model.TotalCount) بار در @Model.SectionName ظاهر شده است. «@Model.Term» مجموعی طور پر @RMuseum.Services.Implementation.LanguageUtils.FormatMoney(Model.TotalCount) بار @Model.SectionName آیا ہے.
</p> </p>
@ -12,10 +12,10 @@
<table class="stats" id="words-stats"> <table class="stats" id="words-stats">
<thead> <thead>
<tr class="h"> <tr class="h">
<td class="c1">ردیف</td> <td class="c1">نمبر</td>
<td class="c2">بخش</td> <td class="c2">حصہ</td>
<td class="c3">شمار</td> <td class="c3">تعداد</td>
<td class="c4">درصد از کل واژگان بخش</td> <td class="c4">فیصد حصے کے کل الفاظ میں سے</td>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -58,7 +58,7 @@
</tbody> </tbody>
</table> </table>
<p> <p>
<small><strong>نکته:</strong> ستون چهارم درصد شمار این واژه به نسبت کل واژگان خود آن بخش را نشان می‌دهد و نه کل فهرست و از این جهت جمع این ستون عددی بی‌معنی است.</small> <small><strong>نکتہ:</strong> چوتھا کالم اس لفظ کا فیصد اسی حصے کے کل الفاظ کے لحاظ سے دکھاتا ہے، پوری فہرست کے نہیں؛ اس لیے اس کالم کا مجموعہ بے معنی ہے.</small>
</p> </p>
} }

View File

@ -53,21 +53,21 @@ else
@if (Model.Poems == null) @if (Model.Poems == null)
{ {
<div class="poem"> <div class="poem">
<h2>شعری با مشخصات مورد نظر شما پیدا نشد.</h2> <h2>مطلوبہ شعر نہیں ملا.</h2>
<p> <p>
<strong>توصیه‌هایی برای دستیابی به نتیجهٔ مطلوبتر در جستجو:</strong> <strong>بہتر نتائج کے لیے تجاویز:</strong>
</p> </p>
<p> <p>
الف) <strong>به جای جستجوی متن کامل یک بیت بهتر است حروف کلیدی آن را وارد کنید.</strong> از آنجا که اشعار به صورتهای مختلف در نسخه‌های متفاوت نقل شده‌اند ممکن است چیزی که شما در ذهن دارید با چیزی که در پایگاه ما ثبت شده متفاوت باشد. به عنوان نمونه مصرع «کشتی شکستگانیم ای باد شرطه برخیز» از حافظ در بعضی از نسخه‌ها به صورت «کشتی نشستگانیم ای باد شرطه برخیز» ضبط شده و شما با تایپ صورت صورت دوم آن را در دیوان نخواهید یافت. بهتر است برای یافتن این شعر کلماتی مانند کشتی و شرطه را جستجو کنیم. الف) <strong>پورا شعر لکھنے کے بجائے اس کے کلیدی الفاظ تلاش کریں.</strong> اشعار مختلف نسخوں میں مختلف صورتوں میں نقل ہوئے ہیں، اس لیے آپ کے ذہن میں موجود صورت ہمارے متن سے مختلف ہو سکتی ہے۔ مثلاً غالب کا مصرع «ہزاروں خواہشیں ایسی کہ ہر خواہش پہ دم نکلے» تلاش کرنے کے لیے «خواہشیں» اور «دم» جیسے الفاظ تلاش کرنا بہتر ہے.
</p> </p>
<p> <p>
ب) کلماتی را که ممکن است به صورت جدا یا سر هم نوشته شوند در گام اول به صورت جدا امتحان کنید (<strong>می شود</strong> و نه <del>میشود</del> یا <del>می‌شود</del>). ب) جو الفاظ الگ یا ملا کر لکھے جا سکتے ہیں، انہیں پہلے الگ الگ آزمائیں (<strong>جا سکتا</strong> نہ کہ <del>جاسکتا</del> یا <del>جا سکتا</del>).
</p> </p>
<p> <p>
ج) در صورتی که نام سخنور را می‌دانید بهتر است از طریق لیست بازشوی جلوی جعبهٔ جستجو نام او را انتخاب کنید. این توصیه برای زمانی مناسب است که جستجوی عبارت مورد نظر شما باعث می‌شود آثار سخنورانی که مورد نظر شما نیستند در صدر نتایج قرار گیرد و به این وسیله شما می‌خواهید به فهرست محدودتری از نتایج دست پیدا کنید. ج) اگر آپ شاعر کا نام جانتے ہیں تو تلاش کے خانے کے ساتھ والی فہرست سے اسے منتخب کریں؛ اس طرح دوسرے شعرا کے نتائج کم ہو جائیں گے.
</p> </p>
<p> <p>
د) در صورتی که با فنون اولیهٔ جستجو آشنا نیستید یا <strong>معمولاً جستجوهایتان به نتیجهٔ مطلوب نمی‌رسد</strong> بد نیست نگاهی به <a href="http://hrmoh.ir/1385/04/18/howto-search-better/" title="توصیه هایی برای جستجوی بهتر در اینترنت">این نوشته</a> بیندازید. د) اگر آپ تلاش کی بنیادی تکنیکوں سے واقف نہیں یا <strong>عموماً مطلوبہ نتائج نہیں ملتے</strong> تو <a href="http://hrmoh.ir/1385/04/18/howto-search-better/" title="انٹرنیٹ پر بہتر تلاش کی تجاویز">یہ تحریر</a> دیکھ لیں.
</p> </p>
</div> </div>
} }
@ -83,7 +83,7 @@ else
browser HTML-decodes the attribute before handing it to the JS engine. browser HTML-decodes the attribute before handing it to the JS engine.
Passing it through a data-* attribute keeps it as inert text. *@ Passing it through a data-* attribute keeps it as inert text. *@
<a href="javascript:void(0)" data-search-query="@Model.Query" data-poet-id="@Model.PoetId" data-cat-id="@Model.CatId" onclick="loadWordCountsByCat(this.dataset.searchQuery, this.dataset.poetId, this.dataset.catId, false); return false;" id="load-word-counts" class="pagebutton comments-link"> <a href="javascript:void(0)" data-search-query="@Model.Query" data-poet-id="@Model.PoetId" data-cat-id="@Model.CatId" onclick="loadWordCountsByCat(this.dataset.searchQuery, this.dataset.poetId, this.dataset.catId, false); return false;" id="load-word-counts" class="pagebutton comments-link">
مشاهدهٔ بسامد واژگان «@Model.QueryDin» به تفکیک بخش الفاظ کی تعداد دیکھیں «@Model.QueryDin» حصوں کے لحاظ سے
</a> </a>
<div id="wordcounts-placeholder"> <div id="wordcounts-placeholder">
@ -113,7 +113,7 @@ else
<div class="poet"> <div class="poet">
<img src="@($"{DivanRazor.APIRoot.InternetUrl}{poem.Category.Poet.ImageUrl}")" alt="@($"{poem.Category.Poet.Nickname}")" /> <img src="@($"{DivanRazor.APIRoot.InternetUrl}{poem.Category.Poet.ImageUrl}")" alt="@($"{poem.Category.Poet.Nickname}")" />
<a role="button" onclick="deletePoetFromSearch(@poem.Category.Poet.Id, '@(poem.Category.Poet.Nickname)')" class="actionlink" title="حذف @($"{poem.Category.Poet.Nickname}") از نتایج"><i class="notranslate noindent-info-button close-button"></i></a> <a role="button" onclick="deletePoetFromSearch(@poem.Category.Poet.Id, '@(poem.Category.Poet.Nickname)')" class="actionlink" title="ہٹائیں @($"{poem.Category.Poet.Nickname}") نتائج سے"><i class="notranslate noindent-info-button close-button"></i></a>
</div> </div>
@ -130,9 +130,9 @@ else
@Html.Raw(Model.PagingToolsHtml) @Html.Raw(Model.PagingToolsHtml)
<div class="spacer">&nbsp;</div> <div class="spacer">&nbsp;</div>
<div> <div>
تعداد کل نتایج: @Model.PaginationMetadata.totalCount.ToPersianNumbers() قطعه کل نتائج: @Model.PaginationMetadata.totalCount.ToPersianNumbers() تخلیق
<div> <div>
<small>در هر قطعه ممکن است عبارت چند بار تکرار شده باشد. برای دستیابی به آمار با احتساب تکرارها بسامد واژگان را ببینید.</small> <small>ایک تخلیق میں عبارت کئی بار آ سکتی ہے؛ تکرار سمیت شمار کے لیے الفاظ کی تعداد دیکھیں.</small>
</div> </div>
</div> </div>
} }
@ -142,7 +142,7 @@ else
<div class="sitem"> <div class="sitem">
@* See the matching comment above for why this is a data-* attribute, not a javascript: href. *@ @* See the matching comment above for why this is a data-* attribute, not a javascript: href. *@
<a href="javascript:void(0)" data-search-query="@Model.Query" data-poet-id="@Model.PoetId" data-cat-id="@Model.CatId" onclick="loadWordCountsByCat(this.dataset.searchQuery, this.dataset.poetId, this.dataset.catId, false); return false;" id="load-word-counts" class="pagebutton comments-link"> <a href="javascript:void(0)" data-search-query="@Model.Query" data-poet-id="@Model.PoetId" data-cat-id="@Model.CatId" onclick="loadWordCountsByCat(this.dataset.searchQuery, this.dataset.poetId, this.dataset.catId, false); return false;" id="load-word-counts" class="pagebutton comments-link">
مشاهدهٔ بسامد واژگان «@Model.QueryDin» به تفکیک بخش الفاظ کی تعداد دیکھیں «@Model.QueryDin» حصوں کے لحاظ سے
</a> </a>
<div id="wordcounts-placeholder"> <div id="wordcounts-placeholder">

View File

@ -6,7 +6,7 @@
<div class="clear-both"> <div class="clear-both">
<div class="float-right display-inline-flex width-76px"> <div class="float-right display-inline-flex width-76px">
<a onclick="switchSticky()" role="button" class="cursor-pointer" title="چسبانی"> <a onclick="switchSticky()" role="button" class="cursor-pointer" title="چسپاں">
<div class="noborder-btn color-white"> <div class="noborder-btn color-white">
<svg id="pin_button" class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px"><g><rect fill="none" height="24" width="24" /></g><g><path d="M14,4v5c0,1.12,0.37,2.16,1,3H9c0.65-0.86,1-1.9,1-3V4H14 M17,2H7C6.45,2,6,2.45,6,3c0,0.55,0.45,1,1,1c0,0,0,0,0,0l1,0v5 c0,1.66-1.34,3-3,3v2h5.97v7l1,1l1-1v-7H19v-2c0,0,0,0,0,0c-1.66,0-3-1.34-3-3V4l1,0c0,0,0,0,0,0c0.55,0,1-0.45,1-1 C18,2.45,17.55,2,17,2L17,2z" /></g></svg> <svg id="pin_button" class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px"><g><rect fill="none" height="24" width="24" /></g><g><path d="M14,4v5c0,1.12,0.37,2.16,1,3H9c0.65-0.86,1-1.9,1-3V4H14 M17,2H7C6.45,2,6,2.45,6,3c0,0.55,0.45,1,1,1c0,0,0,0,0,0l1,0v5 c0,1.66-1.34,3-3,3v2h5.97v7l1,1l1-1v-7H19v-2c0,0,0,0,0,0c-1.66,0-3-1.34-3-3V4l1,0c0,0,0,0,0,0c0.55,0,1-0.45,1-1 C18,2.45,17.55,2,17,2L17,2z" /></g></svg>
</div> </div>
@ -14,7 +14,7 @@
@if (Model.DivanPage != null && ((Model.DivanPage.PoetOrCat != null && Model.DivanPage.SecondPoet == null) || (Model.DivanPage.Id == DivanPageModel.DivanSlashVaznPageId))) @if (Model.DivanPage != null && ((Model.DivanPage.PoetOrCat != null && Model.DivanPage.SecondPoet == null) || (Model.DivanPage.Id == DivanPageModel.DivanSlashVaznPageId)))
{ {
<a href="#pretab" role="button" class="cursor-pointer" title="اطلاعات"> <a href="#pretab" role="button" class="cursor-pointer" title="معلومات">
<div class="noborder-btn color-white"> <div class="noborder-btn color-white">
<svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" /></svg> <svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" /></svg>
</div> </div>
@ -22,7 +22,7 @@
} }
else else
{ {
<a onclick="document.getElementById('navbarhelp').style.display='block'" role="button" class="cursor-pointer" title="راهنما"> <a onclick="document.getElementById('navbarhelp').style.display='block'" role="button" class="cursor-pointer" title="رہنمائی">
<div class="noborder-btn color-white"> <div class="noborder-btn color-white">
<svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z" /></svg> <svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z" /></svg>
</div> </div>
@ -35,22 +35,22 @@
@if (Model.LoggedIn) @if (Model.LoggedIn)
{ {
<a href="/User" role="button" class="cursor-pointer" title="پیشخان کاربر"> <a href="/User" role="button" class="cursor-pointer" title="صارف پینل">
<div class="circled-number"> <div class="circled-number">
<svg class="noindent-info-button" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><g><path d="M0,0h24v24H0V0z" fill="none" /></g><g><g><path d="M4,18v-0.65c0-0.34,0.16-0.66,0.41-0.81C6.1,15.53,8.03,15,10,15c0.03,0,0.05,0,0.08,0.01c0.1-0.7,0.3-1.37,0.59-1.98 C10.45,13.01,10.23,13,10,13c-2.42,0-4.68,0.67-6.61,1.82C2.51,15.34,2,16.32,2,17.35V20h9.26c-0.42-0.6-0.75-1.28-0.97-2H4z" /><path d="M10,12c2.21,0,4-1.79,4-4s-1.79-4-4-4C7.79,4,6,5.79,6,8S7.79,12,10,12z M10,6c1.1,0,2,0.9,2,2s-0.9,2-2,2 c-1.1,0-2-0.9-2-2S8.9,6,10,6z" /><path d="M20.75,16c0-0.22-0.03-0.42-0.06-0.63l1.14-1.01l-1-1.73l-1.45,0.49c-0.32-0.27-0.68-0.48-1.08-0.63L18,11h-2l-0.3,1.49 c-0.4,0.15-0.76,0.36-1.08,0.63l-1.45-0.49l-1,1.73l1.14,1.01c-0.03,0.21-0.06,0.41-0.06,0.63s0.03,0.42,0.06,0.63l-1.14,1.01 l1,1.73l1.45-0.49c0.32,0.27,0.68,0.48,1.08,0.63L16,21h2l0.3-1.49c0.4-0.15,0.76-0.36,1.08-0.63l1.45,0.49l1-1.73l-1.14-1.01 C20.72,16.42,20.75,16.22,20.75,16z M17,18c-1.1,0-2-0.9-2-2s0.9-2,2-2s2,0.9,2,2S18.1,18,17,18z" /></g></g></svg> <svg class="noindent-info-button" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><g><path d="M0,0h24v24H0V0z" fill="none" /></g><g><g><path d="M4,18v-0.65c0-0.34,0.16-0.66,0.41-0.81C6.1,15.53,8.03,15,10,15c0.03,0,0.05,0,0.08,0.01c0.1-0.7,0.3-1.37,0.59-1.98 C10.45,13.01,10.23,13,10,13c-2.42,0-4.68,0.67-6.61,1.82C2.51,15.34,2,16.32,2,17.35V20h9.26c-0.42-0.6-0.75-1.28-0.97-2H4z" /><path d="M10,12c2.21,0,4-1.79,4-4s-1.79-4-4-4C7.79,4,6,5.79,6,8S7.79,12,10,12z M10,6c1.1,0,2,0.9,2,2s-0.9,2-2,2 c-1.1,0-2-0.9-2-2S8.9,6,10,6z" /><path d="M20.75,16c0-0.22-0.03-0.42-0.06-0.63l1.14-1.01l-1-1.73l-1.45,0.49c-0.32-0.27-0.68-0.48-1.08-0.63L18,11h-2l-0.3,1.49 c-0.4,0.15-0.76,0.36-1.08,0.63l-1.45-0.49l-1,1.73l1.14,1.01c-0.03,0.21-0.06,0.41-0.06,0.63s0.03,0.42,0.06,0.63l-1.14,1.01 l1,1.73l1.45-0.49c0.32,0.27,0.68,0.48,1.08,0.63L16,21h2l0.3-1.49c0.4-0.15,0.76-0.36,1.08-0.63l1.45,0.49l1-1.73l-1.14-1.01 C20.72,16.42,20.75,16.22,20.75,16z M17,18c-1.1,0-2-0.9-2-2s0.9-2,2-2s2,0.9,2,2S18.1,18,17,18z" /></g></g></svg>
</div> </div>
</a> </a>
<a href="/User/MyBookmarks" role="button" class="cursor-pointer" title="نشان‌شده‌های من"> <a href="/User/MyBookmarks" role="button" class="cursor-pointer" title="میرے نشان زدہ">
<div class="circled-number"> <div class="circled-number">
<svg class="noindent-info-button" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><rect fill="none" height="24" width="24" /><path d="m11 8.89.94 3.11h2.82l-2.27 1.62.93 3.01L11 14.79l-2.42 1.84.93-3.01L7.24 12h2.82L11 8.89zM8.58 10H1l6.17 4.41L4.83 22 11 17.31 17.18 22l-2.35-7.59L21 10h-7.58L11 2l-2.42 8zm12.78 12-1.86-6.01L23.68 13h-3.44l-3.08 2.2 1.46 4.72L21.36 22zM17 8l-1.82-6-1.04 3.45.77 2.55H17z" /></svg> <svg class="noindent-info-button" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><rect fill="none" height="24" width="24" /><path d="m11 8.89.94 3.11h2.82l-2.27 1.62.93 3.01L11 14.79l-2.42 1.84.93-3.01L7.24 12h2.82L11 8.89zM8.58 10H1l6.17 4.41L4.83 22 11 17.31 17.18 22l-2.35-7.59L21 10h-7.58L11 2l-2.42 8zm12.78 12-1.86-6.01L23.68 13h-3.44l-3.08 2.2 1.46 4.72L21.36 22zM17 8l-1.82-6-1.04 3.45.77 2.55H17z" /></svg>
</div> </div>
</a> </a>
<a href="/User/Notifications" role="button" class="cursor-pointer" title="اعلان‌های من"> <a href="/User/Notifications" role="button" class="cursor-pointer" title="میری اطلاعات">
<div class="circled-number"> <div class="circled-number">
<i class="notranslate noindent-info-button notifications-icon"><span id="notification-badge" class="display-none"></span></i> <i class="notranslate noindent-info-button notifications-icon"><span id="notification-badge" class="display-none"></span></i>
</div> </div>
</a> </a>
<a href="/User/History" role="button" class="cursor-pointer" title="ادامهٔ مطالعه"> <a href="/User/History" role="button" class="cursor-pointer" title="مطالعہ جاری رکھیں">
<div class="circled-number"> <div class="circled-number">
<svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.25 2.52.77-1.28-3.52-2.09V8z" /></svg> <svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.25 2.52.77-1.28-3.52-2.09V8z" /></svg>
</div> </div>
@ -65,20 +65,20 @@
else else
{ {
<a onclick="document.getElementById('id01').style.display='block'" role="button" class="cursor-pointer pagebutton" style="display:inline-table;border: 3px solid black"> <a onclick="document.getElementById('id01').style.display='block'" role="button" class="cursor-pointer pagebutton" style="display:inline-table;border: 3px solid black">
ورود کاربر / نام‌نویسی داخلہ / رکنیت
<svg class="noindent-info-button" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><g><rect fill="none" height="24" width="24" /></g><g><g><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM7.35 18.5C8.66 17.56 10.26 17 12 17s3.34.56 4.65 1.5c-1.31.94-2.91 1.5-4.65 1.5s-3.34-.56-4.65-1.5zm10.79-1.38C16.45 15.8 14.32 15 12 15s-4.45.8-6.14 2.12C4.7 15.73 4 13.95 4 12c0-4.42 3.58-8 8-8s8 3.58 8 8c0 1.95-.7 3.73-1.86 5.12z" /><path d="M12 6c-1.93 0-3.5 1.57-3.5 3.5S10.07 13 12 13s3.5-1.57 3.5-3.5S13.93 6 12 6zm0 5c-.83 0-1.5-.67-1.5-1.5S11.17 8 12 8s1.5.67 1.5 1.5S12.83 11 12 11z" /></g></g></svg> <svg class="noindent-info-button" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><g><rect fill="none" height="24" width="24" /></g><g><g><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM7.35 18.5C8.66 17.56 10.26 17 12 17s3.34.56 4.65 1.5c-1.31.94-2.91 1.5-4.65 1.5s-3.34-.56-4.65-1.5zm10.79-1.38C16.45 15.8 14.32 15 12 15s-4.45.8-6.14 2.12C4.7 15.73 4 13.95 4 12c0-4.42 3.58-8 8-8s8 3.58 8 8c0 1.95-.7 3.73-1.86 5.12z" /><path d="M12 6c-1.93 0-3.5 1.57-3.5 3.5S10.07 13 12 13s3.5-1.57 3.5-3.5S13.93 6 12 6zm0 5c-.83 0-1.5-.67-1.5-1.5S11.17 8 12 8s1.5.67 1.5 1.5S12.83 11 12 11z" /></g></g></svg>
</a> </a>
} }
<div class="float-left display-inline-flex width-76px"> <div class="float-left display-inline-flex width-76px">
<a href="#footer" role="button" class="cursor-pointer" title="پایین صفحه"> <a href="#footer" role="button" class="cursor-pointer" title="صفحے کے نیچے">
<div class="noborder-btn"> <div class="noborder-btn">
<svg class="noindent-info-button" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><g><rect fill="none" height="24" width="24" /><path d="M12,4c4.41,0,8,3.59,8,8s-3.59,8-8,8s-8-3.59-8-8S7.59,4,12,4 M12,2C6.48,2,2,6.48,2,12c0,5.52,4.48,10,10,10 c5.52,0,10-4.48,10-10C22,6.48,17.52,2,12,2L12,2z M13,12l0-4h-2l0,4H8l4,4l4-4H13z" /></g></svg> <svg class="noindent-info-button" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><g><rect fill="none" height="24" width="24" /><path d="M12,4c4.41,0,8,3.59,8,8s-3.59,8-8,8s-8-3.59-8-8S7.59,4,12,4 M12,2C6.48,2,2,6.48,2,12c0,5.52,4.48,10,10,10 c5.52,0,10-4.48,10-10C22,6.48,17.52,2,12,2L12,2z M13,12l0-4h-2l0,4H8l4,4l4-4H13z" /></g></svg>
</div> </div>
</a> </a>
<a href="#" role="button" class="cursor-pointer" title="بالای صفحه"> <a href="#" role="button" class="cursor-pointer" title="صفحے کے اوپر">
<div class="noborder-btn"> <div class="noborder-btn">
<svg class="noindent-info-button" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><g><rect fill="none" height="24" width="24" /><path d="M12,20c-4.41,0-8-3.59-8-8s3.59-8,8-8s8,3.59,8,8S16.41,20,12,20 M12,22c5.52,0,10-4.48,10-10c0-5.52-4.48-10-10-10 C6.48,2,2,6.48,2,12C2,17.52,6.48,22,12,22L12,22z M11,12l0,4h2l0-4h3l-4-4l-4,4H11z" /></g></svg> <svg class="noindent-info-button" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><g><rect fill="none" height="24" width="24" /><path d="M12,20c-4.41,0-8-3.59-8-8s3.59-8,8-8s8,3.59,8,8S16.41,20,12,20 M12,22c5.52,0,10-4.48,10-10c0-5.52-4.48-10-10-10 C6.48,2,2,6.48,2,12C2,17.52,6.48,22,12,22L12,22z M11,12l0,4h2l0-4h3l-4-4l-4,4H11z" /></g></svg>
</div> </div>
@ -91,7 +91,7 @@
@if (Model.DivanPage != null && Model.DivanPage.Poem != null) @if (Model.DivanPage != null && Model.DivanPage.Poem != null)
{ {
<div class="clear-both margin-15px" id="main-inline-div" style="display:none"> <div class="clear-both margin-15px" id="main-inline-div" style="display:none">
<input type="search" name="inline-search" id="inline-search" class="text-align-center" placeholder="جستجو در متن" size="20" value="" onkeyup="inlineHighlight()"> <input type="search" name="inline-search" id="inline-search" class="text-align-center" placeholder="متن میں تلاش" size="20" value="" onkeyup="inlineHighlight()">
<a onclick="inlineUnHighlight()" role="button" class="cursor-pointer"> <a onclick="inlineUnHighlight()" role="button" class="cursor-pointer">
<svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z" /></svg> <svg class="noindent-info-button" height="24px" viewBox="0 0 24 24" width="24px" fill="#5f6368"><path d="M0 0h24v24H0V0z" fill="none" /><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z" /></svg>
</a> </a>
@ -119,7 +119,7 @@ else
<!-- The Modal --> <!-- The Modal -->
<div id="id01" class="modal"> <div id="id01" class="modal">
<span onclick="document.getElementById('id01').style.display='none'" <span onclick="document.getElementById('id01').style.display='none'"
class="close" title="بستن">&times;</span> class="close" title="بند کریں">&times;</span>
<!-- Modal Content --> <!-- Modal Content -->
<form class="modal-content animate" method="post" action="?handler=Login"> <form class="modal-content animate" method="post" action="?handler=Login">
@ -131,29 +131,29 @@ else
<tr> <tr>
<td colspan="2"> <td colspan="2">
<h2> <h2>
ورود به دیوان دیوان میں داخلہ
</h2> </h2>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<span class="inputlabel">پست الکترونیکی: </span> <span class="inputlabel">ای میل: </span>
</td> </td>
<td> <td>
<input type="email" style="text-align:left;direction:ltr;width:100%" placeholder="پست الکترونیکی" asp-for="LoginViewModel.Username"> <input type="email" style="text-align:left;direction:ltr;width:100%" placeholder="ای میل" asp-for="LoginViewModel.Username">
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<span class="inputlabel">گذرواژه: </span> <span class="inputlabel">پاس ورڈ: </span>
</td> </td>
<td> <td>
<input type="password" id="password" style="text-align:left;direction:ltr;width:100%" placeholder="گذرواژه" asp-for="LoginViewModel.Password"> <input type="password" id="password" style="text-align:left;direction:ltr;width:100%" placeholder="پاس ورڈ" asp-for="LoginViewModel.Password">
</td> </td>
</tr> </tr>
<tr> <tr>
<td></td> <td></td>
<td><input type="submit" name="submit" style="width:100%;cursor:pointer" id="submit" value="ورود"></td> <td><input type="submit" name="submit" style="width:100%;cursor:pointer" id="submit" value="داخل ہوں"></td>
</tr> </tr>
<tr> <tr>
<td></td> <td></td>
@ -161,15 +161,15 @@ else
<table style="width:100%; margin:0"> <table style="width:100%; margin:0">
<tr> <tr>
<td> <td>
<input type="button" onclick="location.href='/signup'" class="cancelbtn" style="width:100%;text-align:center;cursor:pointer" value="نام‌نویسی"> <input type="button" onclick="location.href='/signup'" class="cancelbtn" style="width:100%;text-align:center;cursor:pointer" value="رکنیت">
</td> </td>
<td> <td>
<input type="button" onclick="location.href='/resetpassword'" class="cancelbtn" style="width:100%;text-align:center;cursor:pointer" value="فراموشی گذرواژه"> <input type="button" onclick="location.href='/resetpassword'" class="cancelbtn" style="width:100%;text-align:center;cursor:pointer" value="پاس ورڈ بھول گئے">
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="2"> <td colspan="2">
<input type="button" onclick="document.getElementById('id01').style.display='none'" style="width: 100%; text-align: center; cursor: pointer" value="انصراف"> <input type="button" onclick="document.getElementById('id01').style.display='none'" style="width: 100%; text-align: center; cursor: pointer" value="منسوخ">
</td> </td>
</tr> </tr>
</table> </table>
@ -178,7 +178,7 @@ else
<tr> <tr>
<td colspan="2"> <td colspan="2">
<p> <p>
اگر پیش‌تر در گنجینه یا پیشخان خوانشگران دیوان نام‌نویسی کرده‌اید می‌توانید با همان اطلاعات کاربری به دیوان وارد شوید. اگر آپ پہلے سے دیوان کے رکن ہیں تو انہی معلومات سے داخل ہو سکتے ہیں.
</p> </p>
</td> </td>
</tr> </tr>
@ -192,7 +192,7 @@ else
<div id="navbarhelp" class="modal"> <div id="navbarhelp" class="modal">
<span onclick="document.getElementById('navbarhelp').style.display='none'" <span onclick="document.getElementById('navbarhelp').style.display='none'"
class="close red-color" title="بستن">&times;</span> class="close red-color" title="بند کریں">&times;</span>
<!-- Modal Content --> <!-- Modal Content -->
<div class="modal-content animate"> <div class="modal-content animate">
@ -204,7 +204,7 @@ else
</div> </div>
</td> </td>
<td> <td>
غیرفعال و فعال کردن دوبارهٔ حالت چسبانی نوار ابزار به بالای صفحات ٹول بار کو صفحے کے اوپر چسپاں رکھنا بند یا شروع کریں
</td> </td>
</tr> </tr>
<tr> <tr>
@ -214,7 +214,7 @@ else
</div> </div>
</td> </td>
<td> <td>
راهنمای نوار ابزار ٹول بار کی رہنمائی
</td> </td>
</tr> </tr>
<tr> <tr>
@ -224,7 +224,7 @@ else
</div> </div>
</td> </td>
<td> <td>
پیشخان کاربر صارف پینل
</td> </td>
</tr> </tr>
<tr> <tr>
@ -234,7 +234,7 @@ else
</div> </div>
</td> </td>
<td> <td>
اشعار و ابیات نشان‌شدهٔ کاربر صارف کے نشان زدہ اشعار
</td> </td>
</tr> </tr>
<tr> <tr>
@ -244,7 +244,7 @@ else
</div> </div>
</td> </td>
<td> <td>
اعلان‌های کاربر صارف کی اطلاعات
</td> </td>
</tr> </tr>
<tr> <tr>
@ -254,7 +254,7 @@ else
</div> </div>
</td> </td>
<td> <td>
ادامهٔ مطالعه (تاریخچه) مطالعہ جاری رکھیں (تاریخچہ)
</td> </td>
</tr> </tr>
<tr> <tr>
@ -264,7 +264,7 @@ else
</div> </div>
</td> </td>
<td> <td>
خروج از حساب کاربری دیوان دیوان کے اکاؤنٹ سے خروج
</td> </td>
</tr> </tr>
<tr> <tr>
@ -274,7 +274,7 @@ else
</div> </div>
</td> </td>
<td> <td>
لغزش به پایین صفحه صفحے کے نیچے جائیں
</td> </td>
</tr> </tr>
<tr> <tr>
@ -284,7 +284,7 @@ else
</div> </div>
</td> </td>
<td> <td>
لغزش به بالای صفحه صفحے کے اوپر جائیں
</td> </td>
</tr> </tr>
<tr> <tr>
@ -294,7 +294,7 @@ else
</div> </div>
</td> </td>
<td> <td>
لغزش به بخش اطلاعات شعر شعر کی معلومات پر جائیں
</td> </td>
</tr> </tr>
<tr> <tr>
@ -304,7 +304,7 @@ else
</div> </div>
</td> </td>
<td> <td>
فعال یا غیرفعال کردن لغزش خودکار به خط مرتبط با محل فعلی خوانش قرأت کے ساتھ متعلقہ سطر تک خودکار منتقلی شروع یا بند کریں
</td> </td>
</tr> </tr>
<tr> <tr>
@ -314,7 +314,7 @@ else
</div> </div>
</td> </td>
<td> <td>
فعال یا غیرفعال کردن شماره‌گذاری خطوط سطروں کی شمار بندی شروع یا بند کریں
</td> </td>
</tr> </tr>
<tr> <tr>
@ -324,7 +324,7 @@ else
</div> </div>
</td> </td>
<td> <td>
کپی نشانی شعر جاری در دیوان اس شعر کا ربط نقل کریں
</td> </td>
</tr> </tr>
<tr> <tr>
@ -334,7 +334,7 @@ else
</div> </div>
</td> </td>
<td> <td>
کپی متن شعر جاری در دیوان اس شعر کا متن نقل کریں
</td> </td>
</tr> </tr>
<tr> <tr>
@ -344,7 +344,7 @@ else
</div> </div>
</td> </td>
<td> <td>
همرسانی متن شعر جاری در دیوان اس شعر کا متن شیئر کریں
</td> </td>
</tr> </tr>
<tr> <tr>
@ -354,7 +354,7 @@ else
</div> </div>
</td> </td>
<td> <td>
نشان کردن شعر جاری اس شعر پر نشان لگائیں
</td> </td>
</tr> </tr>
<tr> <tr>
@ -364,7 +364,7 @@ else
</div> </div>
</td> </td>
<td> <td>
ویرایش شعر جاری اس شعر میں ترمیم کریں
</td> </td>
</tr> </tr>
<tr> <tr>
@ -374,7 +374,7 @@ else
</div> </div>
</td> </td>
<td> <td>
ویرایش خلاصه یا برگردان نثر سادهٔ ابیات شعر جاری اس شعر کے خلاصے یا آسان نثر میں ترمیم کریں
</td> </td>
</tr> </tr>
<tr> <tr>
@ -384,7 +384,7 @@ else
</div> </div>
</td> </td>
<td> <td>
شعر یا بخش قبلی پچھلا شعر یا حصہ
</td> </td>
</tr> </tr>
<tr> <tr>
@ -394,7 +394,7 @@ else
</div> </div>
</td> </td>
<td> <td>
شعر یا بخش بعدی اگلا شعر یا حصہ
</td> </td>
</tr> </tr>
</table> </table>
@ -407,7 +407,7 @@ else
{ {
<div id="bookmark-note-dialog" class="modal"> <div id="bookmark-note-dialog" class="modal">
<span onclick="document.getElementById('bookmark-note-dialog').style.display='none'" <span onclick="document.getElementById('bookmark-note-dialog').style.display='none'"
class="close" title="بستن">&times;</span> class="close" title="بند کریں">&times;</span>
<form class="modal-content animate" method="post" id="editnoteform"> <form class="modal-content animate" method="post" id="editnoteform">
<table class="max-width-100per width-100per"> <table class="max-width-100per width-100per">
<tr> <tr>
@ -418,17 +418,17 @@ else
</tr> </tr>
<tr> <tr>
<td> <td>
<button name="editnote" id="editnote" class="editor-button background-green margin-top-5px" onclick="return savePrivateNote();">ذخیرهٔ یادداشت برای نشان‌شده</button> <button name="editnote" id="editnote" class="editor-button background-green margin-top-5px" onclick="return savePrivateNote();">نشان کے لیے نوٹ محفوظ کریں</button>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<a role="button" class="editor-button background-gray margin-top-5px" onclick="document.getElementById('bookmark-note-dialog').style.display='none'">بدون یادداشت</a> <a role="button" class="editor-button background-gray margin-top-5px" onclick="document.getElementById('bookmark-note-dialog').style.display='none'">بغیر نوٹ</a>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
یادداشتهایی که روی نشان‌شده‌ها می‌نویسید خصوصی هستند، در پیشخان کاربر بخش نشان‌شده‌های من قابل مشاهده‌اند و با حذف نشان بدون هیچ اخطاری پاک می‌شوند. نشان زدہ اشعار پر آپ کے نوٹ نجی ہیں، صارف پینل میں «میرے نشان زدہ» میں نظر آتے ہیں اور نشان ہٹانے پر بغیر انتباہ کے حذف ہو جاتے ہیں.
</td> </td>
</tr> </tr>
</table> </table>

View File

@ -58,7 +58,11 @@
<script src="/js/vaabd.js?version=10"></script> <script src="/js/vaabd.js?version=10"></script>
<partial name="_SemanticSearchWidgetPartial" /> @* divan: semantic search is an optional external service; hide the widget unless configured *@
@if (!string.IsNullOrEmpty(DivanRazor.APIRoot.SemanticSearchUrl))
{
<partial name="_SemanticSearchWidgetPartial" />
}
@await RenderSectionAsync("Scripts", required: false) @await RenderSectionAsync("Scripts", required: false)
</body> </body>

View File

@ -3,7 +3,7 @@
<h1><a href="/" title="دیوان"><img src="/image/gdapk.png" alt="دیوان" /></a></h1> <h1><a href="/" title="دیوان"><img src="/image/gdapk.png" alt="دیوان" /></a></h1>
<div class="actionbox"> <div class="actionbox">
<form action="/search" method="get" id="searchform"> <form action="/search" method="get" id="searchform">
<input type="text" name="s" id="s" class="inputText" value="@Model.SearchQuery" placeholder="جستجو" /> <input type="text" name="s" id="s" class="inputText" value="@Model.SearchQuery" placeholder="تلاش" />
@if (Model.ShowExactSearchHiddenField) @if (Model.ShowExactSearchHiddenField)
{ {
<input type="hidden" name="es" id="es" value="1" /> <input type="hidden" name="es" id="es" value="1" />
@ -12,11 +12,11 @@
@{ @{
if (Model.SelectedPoetId != 0) if (Model.SelectedPoetId != 0)
{ {
<option value="0">در آثار همهٔ سخنوران</option> <option value="0">تمام شعرا کے کلام میں</option>
} }
else else
{ {
<option value="0" selected>در آثار همهٔ سخنوران</option> <option value="0" selected>تمام شعرا کے کلام میں</option>
} }
if (Model.Poets != null) if (Model.Poets != null)
@ -43,11 +43,11 @@
if (effectiveSelectedCatId == 0) if (effectiveSelectedCatId == 0)
{ {
<option value="0" selected>در همهٔ بخشها</option> <option value="0" selected>تمام حصوں میں</option>
} }
else else
{ {
<option value="0">در همهٔ بخشها</option> <option value="0">تمام حصوں میں</option>
} }
foreach (var gran in Model.CurrentCategory.Ancestors) foreach (var gran in Model.CurrentCategory.Ancestors)
@ -86,7 +86,7 @@
</select> </select>
} }
<input type="submit" value="بیاب" /> <input type="submit" value="تلاش کریں" />
</form> </form>
</div><!-- .actionbox --> </div><!-- .actionbox -->
</div><!-- #hdr2 --> </div><!-- #hdr2 -->

View File

@ -7,11 +7,11 @@
} }
}, },
"AllowedHosts": "*", "AllowedHosts": "*",
"TrackingScript": "<script src='https://cdn.kntr.ir/tracker.js'></script><script>kntrTracking.startTracking(\"2\", \"loggedon\");</script>", "TrackingScript": "",
"APIRoot": "https://api.ganjoor.net", "APIRoot": "http://localhost:5100",
"GlobalAPIRoot": "https://api.ganjoor.net", "GlobalAPIRoot": "http://localhost:5100",
"SemanticSearchAPIRoot": "https://ganjgah.ir", "SemanticSearchAPIRoot": "",
"SiteUrl": "http://localhost:33081", "SiteUrl": "http://localhost:5200",
"MockSpotify": "False", "MockSpotify": "False",
"Spotify": { "Spotify": {
"client_id": "", "client_id": "",