% Assamese language definitions for Polyglossia.
% Part of latexbangla, LPPL 1.3c or later; copyright 2026 Adib Hasan.
% Captions and Gregorian month spellings are based on Babel's Assamese locale
% (babel-as.ini, contributor Navanath Saharia), with table/reference terminology
% adapted for this package.
% This module supplies language data; font selection, activation and scoped
% language changes are handled by Polyglossia, not reimplemented here.

% Use the upstream gloss when available. Otherwise register our fallback with
% Polyglossia's loader; its initialization needs the selected options first.
\file_if_exist:nF {gloss-assamese.ldf}
  {
    \tl_set:Ne \xpg__tmp_default_options_tl
      {numerals=bengali,changecounternumbering=
        \bool_if:NTF \g__latexbangla_convert_counters_bool {true}{false}}
    \RequirePackage{bengalidigits}
    \PolyglossiaSetup{assamese}
      {bcp47=as,bcp47-language=as,bcp47-script=Beng,
       script=Bengali,scripttag=beng,langtag=ASM,
       hyphennames={assamese,nohyphenation},hyphenmins={2,2},
       localnumeral=assamesenumerals,Localnumeral=assamesenumerals}
    \setlanguagealias*{assamese}{as}

    \bool_new:N \l__latexbangla_assamese_native_numerals_bool
    \bool_new:N \l__latexbangla_assamese_global_numbers_bool
    \DeclareKeys[polyglossia/gloss/assamese]
      {
        numerals.choice:,
        numerals/bengali.code = \bool_set_true:N \l__latexbangla_assamese_native_numerals_bool,
        numerals/western.code = \bool_set_false:N \l__latexbangla_assamese_native_numerals_bool,
        numerals.default:n = bengali,
        changecounternumbering.bool_set:N = \l__latexbangla_assamese_global_numbers_bool,
        changecounternumbering.default:n = true
      }
    \InitializeGlossOptions{assamese}{numerals=bengali,changecounternumbering=false}

    \cs_new:Npn \assamesenumber #1
      {
        \bool_if:NTF \l__latexbangla_assamese_native_numerals_bool
          {\bengalidigits{\number#1}} {\number#1}
      }
    \cs_new:Npn \assamesenumerals #1#2 {\assamesenumber{#2}}
    \cs_new_eq:NN \__latexbangla_assamese_original_arabic:n \@arabic
    \cs_new_protected:cpn {assamese@globalnumbers}
      {
        \bool_if:NT \l__latexbangla_assamese_global_numbers_bool
          {\cs_set_eq:NN \@arabic \assamesenumber}
      }
    \cs_new_protected:cpn {noassamese@globalnumbers}
      {\cs_set_eq:NN \@arabic \__latexbangla_assamese_original_arabic:n}

    \cs_new_protected:Npn \captionsassamese
      {
        \def\prefacename{পাতনি}
        \def\refname{প্ৰসংগ}
        \def\abstractname{মূলভাৱ}
        \def\bibname{তথ্যসূত্ৰ}
        \def\chaptername{অধ্যায়}
        \def\appendixname{পৰিশিষ্ট}
        \def\contentsname{সমল}
        \def\listfigurename{চিত্ৰসূচী}
        \def\listtablename{সাৰণীসূচী}
        \def\indexname{বিষয়সূচী}
        \def\figurename{চিত্ৰ}
        \def\tablename{সাৰণী}
        \def\partname{অংশ}
        \def\pagename{পৃষ্ঠা}
        \def\seename{চাওক}
        \def\alsoname{আৰু~চাওক}
        \def\enclname{সংযোজিত}
        \def\ccname{প্ৰতিলিপি}
        \def\headtoname{প্ৰতি}
        \def\proofname{প্ৰমাণ}
        \def\glossaryname{অৰ্থকোষ}
      }
    \cs_new_protected:Npn \dateassamese
      {
        \def\today{\assamesenumber\day\space
          \ifcase\month\or জানুৱাৰী\or ফেব্ৰুৱাৰী\or মাৰ্চ\or এপ্ৰিল\or
          মে’\or জুন\or জুলাই\or আগষ্ট\or ছেপ্তেম্বৰ\or অক্টোবৰ\or
          নৱেম্বৰ\or ডিচেম্বৰ\fi,~\assamesenumber\year}
      }

    % Polyglossia has no public registration API for an external gloss filename.
    \xpg_define_language_commands:n {assamese}
    \seq_gput_right:Nn \g__xpg_langs_loaded_seq {assamese}
  }

% Package-specific reference vocabulary applies with either gloss provider.
\tl_const:Nn \c__latexbangla_assamese_reference_pair_tl {আৰু}
\tl_const:Nn \c__latexbangla_assamese_reference_range_tl {ৰ~পৰা\nobreakspace}
% Written consonant sequence: include Assamese ra/wa and the traditional
% ksha entry. Combining signs are not standalone alphabetic labels.
\clist_const:Nn \c__latexbangla_assamese_alphabet_clist
  {ক,খ,গ,ঘ,ঙ,চ,ছ,জ,ঝ,ঞ,ট,ঠ,ড,ঢ,ণ,ত,থ,দ,ধ,ন,
   প,ফ,ব,ভ,ম,য,ৰ,ল,ৱ,শ,ষ,স,হ,ক্ষ,ড়,ঢ়,য়}
\prop_const_from_keyval:Nn \c__latexbangla_assamese_reference_names_prop
  {
    section=পৰিচ্ছেদ,
    subsection=উপপৰিচ্ছেদ,
    subsubsection=উপউপপৰিচ্ছেদ,
    paragraph=অনুচ্ছেদ,
    subparagraph=উপঅনুচ্ছেদ,
    equation=সমীকৰণ,
    footnote=পাদটীকা,
    item=পদ,
    theorem=উপপাদ্য,
  }
\endinput
