下列的维基百科我曾尝试在 overleaf 中制作多语言版本的文档。但是似乎行不通。它不是打印主要语言的版本,而是一次打印所有语言。最小示例:
\documentclass[a4paper,11pt]{article} % Default font size and paper size
\usepackage[german, french, english]{babel} % multi-language support
\selectlanguage{english}
\usepackage[utf8]{inputenc} % for unicode input characters
\usepackage[T1]{fontenc}
\begin{document}
\babeltags{de = german, fr = french}
\textbf{Hello \textde{Hallo}}
\end{document}
代码结果为:
是我遗漏了什么还是 Overleaf 坏了?如何正确制作多语言文档?
答案1
维基百科文章相当具有误导性。\textde
只是 的简写\foreignlanguage{german}
。 它不涉及任何条件渲染。
进行翻译的正确解决方案:
\documentclass[a4paper,11pt]{article} % Default font size and paper size
\usepackage[german, french, english]{babel} % multi-language support
\usepackage{iflang}
\newcommand{\lang}{english} % Control output language
\newcommand{\translation}[2]{\IfLanguageName{#1}{#2}{}}
\newcommand{\en}[1]{\translation{english}{#1}}
\newcommand{\ger}[1]{\translation{german}{#1}}
\usepackage[utf8]{inputenc} % for unicode input characters
\usepackage[T1]{fontenc}
\begin{document}
\expandafter\selectlanguage\expandafter{\lang}
Hello
\en{tank}
\ger{Panzerkampfwagen}
\end{document}