how to truncate labelname using authoryear-style?
A possible solution is to define a new specification for printing names.
First of all we create a counter to store the value of how many names (at most should be printed in the label).
\newcounter{maxlabelnames}
\setcounter{maxlabelnames}{2}
Then we define a novel format
\DeclareNameFormat{biblabel}{%
\ifthenelse{\value{listtotal}>\themaxlabelnames}
{\ifthenelse{\value{listcount}=1}
{#1 \bibstring{andothers}}
{}%
}
{
\ifthenelse{\value{listcount}=1}
{#1}
{\ifthenelse{\value{listcount}<\value{listtotal}}
{\multinamedelim #1}
{\addspace\bibstring{and}\addspace#1}%
}%
}%
}
Finally the new format is used in the begentry
hook
\renewbibmacro{begentry}{%
\textbf{\printnames[biblabel]{labelname}~%
\printfield{labelyear}%
\printfield{extrayear}}\\}
With maxlabelnames=2
the output is