% Common bibliography terms; specialized untranslated strings inherit English.
% Part of latexbangla, LPPL 1.3c or later; copyright 2026 Adib Hasan.
\ProvidesFile{latexbangla-bengali.lbx}[2026/10/25 Bengali bibliography support]
\InheritBibliographyExtras{english}
\InheritBibliographyStrings{english}
% Localize terms while restoring each numeric field's supplied script.
% Assamese shares these formats and changes only its words and ordinal suffix.
\ExplSyntaxOn
\DeclareBibliographyExtras{%
  % Use biblatex's day-first range compression instead of English's
  % month-first variant. English's inherited extras save/restore these hooks.
  \protected\def\mkdaterangecomp{\mkdaterangetrunc{long}}%
  \protected\def\mkdaterangecompextra{\mkdaterangetruncextra{long}}%
  \protected\def\mkdaterangeterse{\mkdaterangetrunc{short}}%
  \protected\def\mkdaterangeterseextra{\mkdaterangetruncextra{short}}%
  \clist_map_inline:nn {volume,volumes,number,part,chapter,version,pages,pagetotal,url}
    {\savefieldformat{#1}}%
  \savefieldformat[article]{volume}%
  \savefieldformat[periodical]{volume}%
  \savefieldformat[article]{number}%
  \savefieldformat[periodical]{number}%
  \DeclareFieldFormat{volume}{\bibstring{volume}\addnbspace\__latexbangla_bibliography_digits:n{#1}}%
  \DeclareFieldFormat{volumes}{\__latexbangla_bibliography_digits:n{#1}\addnbspace\bibstring{volumes}}%
  \DeclareFieldFormat{number}{\__latexbangla_bibliography_digits:n{#1}}%
  \DeclareFieldFormat[article,periodical]{volume}{\__latexbangla_bibliography_digits:n{#1}}%
  \DeclareFieldFormat[article,periodical]{number}{\__latexbangla_bibliography_digits:n{#1}}%
  \DeclareFieldFormat{part}{.\__latexbangla_bibliography_digits:n{#1}}%
  \DeclareFieldFormat{chapter}{\bibstring{chapter}\addnbspace\__latexbangla_bibliography_digits:n{#1}}%
  \DeclareFieldFormat{version}{\bibstring{version}\addnbspace\__latexbangla_bibliography_digits:n{#1}}%
  % Let biblatex inspect the original page range before converting its output.
  \DeclareFieldFormat{pages}{\mkpageprefix[bookpagination][\__latexbangla_bibliography_digits:n]{#1}}%
  \DeclareFieldFormat{pagetotal}{\mkpagetotal[bookpagination][\__latexbangla_bibliography_digits:n]{#1}}%
  % Biblatex's default URL label is literal English, not a localized string.
  \DeclareFieldFormat{url}{\bibstring{url}\addcolon\space\url{#1}}%
}
\UndeclareBibliographyExtras{%
  \clist_map_inline:nn {volume,volumes,number,part,chapter,version,pages,pagetotal,url}
    {\restorefieldformat{#1}}%
  \restorefieldformat[article]{volume}%
  \restorefieldformat[periodical]{volume}%
  \restorefieldformat[article]{number}%
  \restorefieldformat[periodical]{number}%
}
\DeclareBibliographyExtras{%
  \protected\def\mkbibordinal#1{\__latexbangla_bibliography_ordinal:nn{bengali}{#1}}%
    \cs_set_protected:Npn \mkbibdatelong #1#2#3
      {
        \iffieldundef{#3}{}{\__latexbangla_biblatex_date_component:nn{0}{#3}
          \iffieldundef{#2}{\iffieldundef{#1}{}{\space}}{\nobreakspace}}
        \iffieldundef{#2}{}{\mkbibmonth{\thefield{#2}}\iffieldundef{#1}{}{\space}}
        \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}
          {\dateeraprintpre{#1}\__latexbangla_biblatex_date_component:nn{0}{#1}}
      }
    \cs_set_protected:Npn \mkbibdateshort #1#2#3
      {
        \iffieldundef{#3}{}{\__latexbangla_biblatex_date_component:nn{2}{#3}
          \iffieldundef{#2}{\iffieldundef{#1}{}{\bibdatesep}}{\bibdatesep}}
        \iffieldundef{#2}{}{\__latexbangla_biblatex_date_component:nn{2}{#2}\iffieldundef{#1}{}{\bibdatesep}}
        \iffieldbibstring{#1}{\bibstring{\thefield{#1}}}
          {\dateeraprintpre{#1}\__latexbangla_biblatex_date_component:nn{4}{#1}}
      }
}
\DeclareBibliographyStrings{
  bibliography = {{\__latexbangla_bibliography_name:}{\__latexbangla_bibliography_name:}},
  references   = {{\__latexbangla_references_name:}{\__latexbangla_references_name:}},
}
\prop_map_inline:Nn \g__latexbangla_bibliography_bengali_prop
  {\DeclareBibliographyStrings{#1={{#2}{#2}}}}
\ExplSyntaxOff
\endinput
