David's answer using \DeclareListFormat{language}{}
works because biblatex
is quite clever and takes precautions against printing anything if the field/list/name format is empty. Despite these safety measures I'm not very fond of using empty field formats for anything and would try to avoid them if at all possible.
In your case I would suggest not to use the language
field at all. language
is meant to be printed in the bibliography, it is not intended for other internal checks. For language switching biblatex
uses langid
, so that is what you could use here as well. One advantage of langid
is that it is a field and not a list like language
, that makes it easier to handle.
Note that I changed the indentation in the code to make it slightly more readable to me, I also made sure to remove spurious spaces in the process.
\documentclass{ltjsarticle}
\usepackage[backend=biber]{biblatex}
\newbibmacro*{finalnamedelim:japanese}{\multinamedelim}
\renewcommand*{\finalnamedelim}{%
\iffieldundef{langid}
{\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\bibstring{and}\space}
{\usebibmacro*{finalnamedelim:\strfield{langid}}}}
\newbibmacro*{name:given-family:japanese}[4]{%
\usebibmacro{name:delim}{#1#2}%
\usebibmacro{name:hook}{#1#2}%
#1\bibnamedelimc#2}
\DeclareNameFormat{given-family}{%
\iffieldundef{langid}
{\ifgiveninits
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}}
{\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}}
{\usebibmacro*{name:given-family:\strfield{langid}}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}}%
\usebibmacro{name:andothers}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{山田2018,
author = {山田, 太郎 and 鈴木, 花子 and 田中, 次郎},
langid = {japanese},
journal = {ほげ学会論文集},
pages = {8--15},
title = {〇〇について},
volume = {8},
year = {2018},
}
@article{Smith2018,
author = {Smith, John and Schmidt, Hans},
journal = {Int. J. Hoge},
pages = {3-5},
title = {Piyo is Fuga},
volume = {10},
year = {2018},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
山田ら\cite{山田2018}は〇〇について××と言っている。
Smith and Hans \cite{Smith2018}は piyo について fuga と言っている。
\printbibliography
\end{document}

I think it would be much nicer to make the language not a property of the entire entry, but of the name or name list. This is possible using the extended name format, see Bibtex/Biber: how to cite an author using Ethiopian conventions? and Chicago-style citations of CJK documents #2. Of course if the language is a property of only one name in the list, then it would seem odd that this name could change finalnamedelim
. Some thought and work would be needed to get this right for your purposes.
\DeclareListFormat{language}{}
? – David Purton Jul 5 '19 at 4:07