[Tex/LaTex] English / German APA reference fails partly – “retrieved from” and “origyear” untranslated

apa-stylebabelbiblatex

I have a problem with my multilingual APA reference. I use LuaTeX, BibLaTeX and biber. I use the BibLaTeX option babel=other to activate language switching. Switching gets done by adding an hyphenation entry at every reference in the BibLaTeX file.

Now here is the problem: Some strings get translated properly but some look very odd. The English entry is completely fine. The German entry also works at least partly because Ed. is properly translated as Hrsg. and S. as p.. But when it comes to Retrieved from and Original work published the German version looks odd. It doesn't even stay with the English version but has strings in bold reading retrieved from and origyear.

Here is an example:

LaTeX file:

\documentclass{article}
\usepackage[ngerman,american]{babel}
\usepackage[style=apa,backend=biber,babel=other]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\usepackage{csquotes}
\bibliography{biblatex.bib} 

\begin{document}
\parencite{Entry1}
\parencite{Entry2}
\printbibliography
\end{document}

biblatex.bib file:

% Encoding: UTF8

@INBOOK{Entry1,
  title = {Liebe},
  booktitle = {Buch der Stimmungen},
  year = {1999},
  origdate = {1950},
  editor = {Peter Schmidt},
  publisher = {Der Verlag},
  location = {Hamburg},
  pages = {118--119},
  URL = {http://somepage.de},
  hyphenation = {ngerman},
}

@INBOOK{Entry2,
  title = {Hatred},
  booktitle = {Books of feelings},
  date = {1998},
  origdate = {1950},
  editor = {Peter Schmidt},
  publisher = {Publishing House},
  location = {New York},
  pages = {117},
  URL = {http://somepage.com},
  hyphenation = {american},
}

Any idea? Help much appreciated!

Best Answer

The bold "labels" tell you that bibstrings are not defined.

The reason that is happening is because the bibstrings for "retrieved from" and "origyear" are not defined in the "standard" language definition files (like ngerman.lbx), but by the APA style in ngerman-apa.lbx. You have mapped american to american-apa.lbx, but you haven't mapped ngerman to ngerman-apa.lbx -- so biblatex is looking for bibstrings in the default file and not finding them.

If you add the line

\DeclareLanguageMapping{ngerman}{ngerman-apa}

you get the strings you need. (I hesitated about this, because I thought I recalled some limitation on the number of such statements you could have; but I can't find that in the documentation, and it seems to work.)