\pushoverloadmode \unprotect

\newconditional\c_strc_registers_traditional \settrue\c_strc_registers_traditional

\permanent\protected\def\startregisterentry#1% todo: level
  {\typo_injectors_check_register
   \begingroup
   \dostarttagged\t!registerentry\empty
   \global\setconstant\c_strc_registers_page_state\zerocount
   \ifconditional\c_strc_registers_traditional
     \hangindent\d_strc_registers_hangindent
     \hangafter \c_strc_registers_hangafter
   \else
     \namedregisterparameter\currentnestedregister\c!left\relax
   \fi
   \typo_injectors_mark_register}

\permanent\protected\def\stopregisterentry
  {\ifconditional\c_strc_registers_traditional
     \endgraf
   \else
     \namedregisterparameter\currentnestedregister\c!right\relax
   \fi
   \global\setconstant\c_strc_registers_page_state\zerocount
   \dostoptagged
   \endgroup}


\permanent\protected\def\usenestedregisterstyleandcolor#1#2% will change
  {\useregisterstyleandcolor#1#2%
   % how about style
   \ifconditional\c_strc_registers_text_interaction
     \ifempty\currentcolorparameter \else
       \resetinteractionparameter\c!color
       \resetinteractionparameter\c!contrastcolor
     \fi
   \fi}

\permanent\protected\def\startregisterentries#1% depth
  {\ifconditional\c_strc_registers_traditional
     \endgraf
   \fi
   \begingroup
   \c_strc_register_level\ifnum#1>\c_strc_registers_maxlevel\c_strc_registers_maxlevel\else#1\fi\relax
   \dostarttagged\t!registerentries\empty
   \pushmacro\currentregister % bah
   \edef\currentregister{\currentregister:\number\c_strc_register_level}%
   \let\currentnestedregister\currentregister
   \usenestedregisterstyleandcolor\c!textstyle\c!textcolor
   \ifnum\c_strc_register_level>\plusone
     \advance\leftskip\d_strc_registers_distance\relax
   \fi
   \d_strc_registers_hangindent\registerparameter\c!distance\relax
   \c_strc_registers_hangafter \plusone
   \ifconditional\c_strc_registers_traditional
     \blank[\v!samepage]%
   \fi
   \popmacro\currentregister}

\def\c!textalternative{textalternative}

\appendtoks
    \doifelse{\registerparameter\c!textalternative}\v!horizontal
      \setfalse\settrue\c_strc_registers_traditional
\to \everysetupregister

\protect \popoverloadmode

\starttext

\mainlanguage[es]
\enableexperiments[fonts.compact]
\setupbodyfont[dejavu] % computer-modern-unicode]
\setuphead[chapter]
  [alternative=middle]
\defineregister[Russian]
\setupregister[Russian]
  [expansion=yes,
   balance=no,
   n=2,
   command=\Words,
   pagenumber=no,
   language=ru]

\def\Ruso[#1]%
  {\begingroup
   \getdummyparameters
     [word=,
      category=,
      meaning=,
      #1]%
   \setregisterentry
     [Russian]
     [keys={\dummyparameter{word}},
      entries:1={\dummyparameter{word}},
      entries:2={\dummyparameter{category}},
      entries:3={\dummyparameter{meaning}}]%
   \endgroup}

\setupregister
  [Russian]
  [textalternative=horizontal,
   distance=0pt]

\setupregister
  [Russian][2]
  [distance=0pt,
   textstyle=bold,
   left={, }]

\setupregister
  [Russian][3]
  [distance=0pt,
   textstyle=italic,
   left={, }]


\starttext

\Ruso
    [word=исчисление,
     category=n. neutr.,
     meaning=cálculo]
\Ruso
    [word=вероятность,
     category=n. fem.,
     meaning=probabilidad]
\Ruso
    [word=обозначать,
     category=v.,
     meaning=denotar]
\Ruso
    [word=область,
     category=n. fem,
     meaning={región, área}]
\Ruso
    [word=событие,
     category=n. neutr.,
     meaning=evento]
\Ruso
    [word=определение,
     category=n. neutr.,
     meaning=definición]
\Ruso
    [word=знание,
     category=n. neutr,,
     meaning=conocimiento]
\Ruso
    [word=бесконечно,
     category=adv.,
     meaning=infinitamente]
\Ruso
    [word=сборник,
     category=n. masc.,
     meaning={colección, compilación, compendio}]
\Ruso
    [word=неравенство,
     category=n. neutr.,
     meaning=desigualdad]

\starttitle[title=Ruso-español]
    \placeRussian
\stoptitle

\stoptext
