I cannot figure out how babel works for truely multilingual texts. Need at least the following, of which so far German, English, Russian and Greek seem to work, while Korean, Chinese and Arabic do not. I am running XeLaTeX.
\documentclass[a4paper, twoside, ngerman]{book}
\usepackage{fontspec}
\setromanfont{CMU Serif}
\setsansfont{CMU Sans Serif}
\setmonofont{CMU Typewriter Text}
\newfontfamily\arabicfont[Script=Arabic]{Arial Unicode MS}
\newcommand\textarabic[1]{{\arabicfont #1}}
\newfontfamily\koreanfont{UnGungseo}
\newcommand\textkorean[1]{{\koreanfont #1}}
\newfontfamily\chinesefont{FandolSong}
\newcommand\textchinese[1]{{\chinesefont #1}}
\usepackage[bidi=default]{babel}
\babelprovide[main, import=de]{ngerman}
\babelprovide[import]{russian}
\babelprovide[import]{korean}
\babelprovide[import]{chinese-traditional}
\babelprovide[import]{arabic}
\babelprovide[import]{greek}
\begin{document}
deutsch \foreignlanguage{russian}{Видео урок по живописи маслом} deutsch \textkorean{미술부화실} deutsch
\textchinese{墨子} deutsch deutsch \foreignlanguage{greek}{πόλεις} deutsch \textarabic{أبو علي الحسن بن الهيثم} deutsch
\end{document}
babelset up and switch the fonts with\babelfont. You may also want\babeltags. See the manual for details. Also, if there is anldffile, which is loaded as class or package option, use it, except if for some reason you don't like it. As you are with XeTeX, considerbidi=bidi-linstead of `bidi=default', but this depends largely on the document contents. – Javier Bezos Oct 25 '19 at 16:43